dependabot-preview[bot]
f017b635a8
Bump hex-literal from 0.2.1 to 0.3.0 ( #223 )
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
bebb5e6035
Rialto test network setup ( #163 )
...
* Dockerfile for OpenEth.
* Add relayer dockerfile.
* Add docker-compose.
* Working on the relay.
* Bump a bunch of deps.
* Change relay branch.
* Running a 3-validators poa network.
* Add bridge nodes.
* Conditional compilation of bridge configs.
* Fix genesis hash.
* Disable features build.
* Disable empty steps.
* Work on sub2eth
* Add some logs.
* More logs.
* Fix compilation.
* Add chain-id parameter to relay.
* Unify bridge-hash.
* Update the hash.
* Ditch sub2eth for now.
* Add some docs & proxy configuration.
* Fixes.
* Fix remaining issues.
* Increase health timeout.
* Make sure to install curl for health monitoring.
* Fix kovan.
* Fix build.
* Create if does not exist.
* Fix benches.
* Revert CLI params requirements.
* cargo fmt --all
* Apply suggestions from code review
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Add some docs.
* Update BRIDGE_HASH to master
* Duplicate compose file.
* Rename testpoa to Rialto.
* Fix borked merge.
* Fix entrypoints to take arguments.
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
00bd13f8cd
Exchange pallet benchmarks ( #158 )
...
* exchange benchmarks: framework
* updated comment about tx size
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
ebdfffc4b1
Fixed best_ethereum_block() call parameters encoding ( #188 )
...
* fixed best_ethereum_block() params encoding
* updated versions
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
a7208c05e0
Relay PoA lock-funds transactions proofs ( #177 )
...
* relay exchange transaction(s)
* fixed Ethereum::get_block_by_hash
* added exchange trace
* fixed method name
* update for new web3
* svyatonik/rust-web3 -> tomusdrw/rust-web3
* if let Some() -> .expect()
* extracted loops in separate functions
* use yaml references (TIL)
* get eth header with transactions
* cargo fmt --all
* Update primitives/ethereum-poa/src/lib.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/ethereum_exchange.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/rpc_errors.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/exchange.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* removed comment
* Update relays/ethereum/src/ethereum_exchange.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/ethereum_exchange.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* module-level comments
* updated readme
* use web3 from crates.io
* added missing fields info in error description
* cargo fmt --all
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Hernando Castano
3236aa8000
Update Substrate to rc4 ( #175 )
...
* Bump Substrate to rc4
* Add BaseCallFilter type
* Add DenyUnsafe to SystemApi extension
* Use new ServiceBuilder build functions
* Add BaseCallFilter to test runtimes
* Remove old comments
* Add `rev` and `git` fields back
Turns out that if you don't have these future release candidates will
be used if available. For instance, once `rc5` is released a fresh pull
would use that instead of `rc4` which is what we want.
* Use tag release instead of specific commit
Will make scripted updates easier in the future
* Add short script to update between `rc` versions
* Update scripts/update_rc.sh
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Hernando Castano
002e18a47c
Benchmark Ethereum Pallet ( #149 )
...
* Add skeleton for worst case import_unsigned_header
* Fix a typo
* Add benchmark test for best case unsigned header import
* Add finality verification to worst case bench
* Move `insert_header()` from mock to test_utils
Allows the benchmarking code to use this without having to pull it in from the mock.
* Add a rough bench to test a finalizing a "long" chain
* Try to use complexity parameter for finality bench
* Improve long finality bench
* Remove stray dot file
* Remove old "worst" case bench
* Scribble some ideas down for pruning bench
* Prune headers during benchmarking
* Clean up some comments
* Make finality bench work for entire range of complexity parameter
* Place initialization code into a function
* Add bench for block finalization with caching
* First attempt at bench with receipts
* Try and trigger validator set change
* Perform a validator set change during benchmarking
* Move `validators_change_receipt()` to shared location
Allows unit tests and benchmarks to access the same helper function
and const
* Extract a test receipt root into a constant
* Clean up description of pruning bench
* Fix cache and pruning tests
* Remove unecessary `build_custom_header` usage
* Get rid of warnings
* Remove code duplication comment
I don't think its entirely worth it to split out so few lines of code.
The benches aren't particularly hard to read anyways.
* Increase the range of the complexity parameter
* Use dynamic number of receipts while benchmarking
As part of this change we have removed the hardcoded TEST_RECEIPT_ROOT
and instead chose to calculate the receipt root on the fly. This will
make tests and benches less fragile.
* Prune a dynamic number of headers
2024-04-10 10:28:37 +02:00
Denis S. Soldatov aka General-Beck
e9a67d334c
Add cargo deny ( #166 )
...
* Add cargo deny
* deny - master
* Copy deny.toml to .
* cargo deny check
* upload artifacts
* install cargo deny
* typo
* up install cargo deny
* update archive
* typo
* path's
* allow failure cargo deny
* allew failure log
* cargo deny init
* add deny.toml and compare with embark actions
* fix options
* Fix cargo deny.
* Remove cargo audit (same as deny)
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
b5bdbeb518
Sign PoA transactions from wasm env ( #155 )
...
* sign PoA transactions from wasm env
* cargo fmt --all
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
201740f149
Create accounts from DepositInto::deposit_into() ( #157 )
...
* use deposit_creating in DepositInto
* Update modules/currency-exchange/src/lib.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update primitives/currency-exchange/src/lib.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
e39ca0dc16
Runtime benchmarks: start ( #136 )
...
* runtime benchmarks: start
* merge tests + benchmarks infrastructure
* fix compilation
* Fix compilation issues with runtime-benchmark feature flag
Mainly involved pulling in correct dependencies and adding some functions
which were called but didn't yet exist.
* Fix broken compilation for tests
* Move header signing methods into trait
* Move signing related test helpers to own module
* Remove comment about feature flag
* Add constants to tests
* Add top level comment for testing utilities
Co-authored-by: Hernando Castano <castano.ha@gmail.com >
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
d812d58801
Bump structopt from 0.3.14 to 0.3.15 ( #148 )
...
Bumps [structopt](https://github.com/TeXitoi/structopt ) from 0.3.14 to 0.3.15.
- [Release notes](https://github.com/TeXitoi/structopt/releases )
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.14...v0.3.15 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
c005fdd79c
Bump serde from 1.0.112 to 1.0.114 ( #144 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.112 to 1.0.114.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.112...v1.0.114 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
a0c8206684
Move pruning strategy to runtime level ( #128 )
...
* move pruning strategy to runtim level
* cargo fmt --all
* Update modules/ethereum/src/lib.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* finalize_headers -> finalize_and_prune_headers
* PruningStrategy::default()
* fn import_of_non_best_block_may_finalize_blocks()
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
7513775676
Bump serde from 1.0.111 to 1.0.112 ( #133 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
b701c2be8d
Update Substrate to latest master (rc3) ( #129 )
...
* Substrate 606c56d2e2f69f68f3947551224be6a3515dff60
* update jsonrpsee
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
643075f7fa
Finality votes cache ( #116 )
...
* removeInMemoryStorage + extract Kovan stuff to runtime
* removed comment from the future
* remove redundant conversions
* remove redundant `u8 as usize`
* remove redundant `u8 as usize`
* Update modules/ethereum/src/mock.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* use hex-literal in kovan config
* cargo fmt --all
* extracted insert_header
* cargo fmt --all
* finality cache
* cargo fmt --all
* cargo fmt --all
* impl Default for FinalityVotes
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
Co-authored-by: Hernando Castano <castano.ha@gmail.com >
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
e0510a5507
Bump jsonrpc-core from 14.1.0 to 14.2.0 ( #124 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
7294ea44e1
Claim funds on Substrate chain by providing proof of funds locking on PoA chain ( #91 )
...
* ethereum exchange module
* continue
* continue
* added tests for exchange module
* moved
* remove println
* move again
* fixes
* removed redundant deps
* cargo fmt
* fund_locks_transaction_decode_works
* cargo fmt --all
* fix error processing
* added some tracing to bridge modules
* more tests
* more tests
* cargo fmt --all
* kovan.rs -> exchange.rs
* Update bin/node/runtime/src/exchange.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* added assumption doc
* Airdrop -> DepositInto
* AsIs -> Identity
* OnTransactionSubmitted
* Transfers::Key = Id
* typo
* Update bin/node/runtime/src/exchange.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* block+tx+proof -> proof { block, tx, proof }
* cargo fmt --all
* docs
* check <-> verify
* parse hex
* extracted exchange primitives to separate crate
* added docs to runtime::exchange module
* Update bin/node/runtime/src/exchange.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* typo
* Update modules/currency-exchange/Cargo.toml
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* add docs to currency-exchange module
* change tests names
* cargo fmt --all
* Update bin/node/runtime/src/exchange.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update bin/node/runtime/src/exchange.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update bin/node/runtime/src/exchange.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update bin/node/runtime/src/exchange.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update bin/node/runtime/src/exchange.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* fixed verify_transaction_finalized for siblings of finalized blocks
* cargo fmt --all
* added double spend note
* cargo fmt --all
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
a7e7c895f6
Bump substrate version ( #120 )
...
* bump substrate
* cargo fmt --all
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
a6a86c21bb
Use runtime storage in PoA -> Substrate module tests ( #103 )
...
* removeInMemoryStorage + extract Kovan stuff to runtime
* removed comment from the future
* remove redundant conversions
* remove redundant `u8 as usize`
* remove redundant `u8 as usize`
* Update modules/ethereum/src/mock.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* use hex-literal in kovan config
* cargo fmt --all
* extracted insert_header
* cargo fmt --all
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
7fb99cd575
Bump serde from 1.0.110 to 1.0.111 ( #114 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
9496303aff
Bump futures from 0.3.4 to 0.3.5 ( #89 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
13fbc6ea5c
Bump serde from 1.0.106 to 1.0.110 ( #90 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
50d6ed186f
Migrate to new substrate ( #79 )
...
* new substrate version + actually verify justification
* cargo update + fix remaining stuff
* add weight=0 comments
* cargo fmt --all
* fix hash types
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
4bbef4d45a
Bump structopt from 0.3.13 to 0.3.14 ( #77 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
04c9da81da
local testnet for substrate node ( #70 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
37b8bc51aa
Bump jsonrpc-core from 14.0.5 to 14.1.0 ( #68 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
8a8a868b97
Bump structopt from 0.3.12 to 0.3.13 ( #64 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
c6c46462ab
Sync ethereum headers using unsigned (substrate) transactions ( #45 )
...
* reward submitters on finalization
* PoA -> Substrate: unsigned_import_header API
* fix grumble
* make submitter part of ImportContext
* verify using next validators set + tests
* fix nostd compilation
* add sub-tx-mode argument
* support sub-tx-mode
* impl ValidateUnsigned for Runtime
* do not submit too much transactions to the pool
* cargo fmt
* fix bad merge
* revert license fix
* Update modules/ethereum/src/lib.rs
Co-Authored-By: Hernando Castano <HCastano@users.noreply.github.com >
* Update modules/ethereum/src/verification.rs
Co-Authored-By: Hernando Castano <HCastano@users.noreply.github.com >
* updated comment
* validate receipts before accepting unsigned tx to pool
* cargo fmt
* fix comment
* fix grumbles
* Update modules/ethereum/src/verification.rs
Co-Authored-By: Hernando Castano <HCastano@users.noreply.github.com >
* cargo fmt --all
* struct ChangeToEnact
* updated doc
* fix doc
* add docs to the code method
* simplify fn ancestry
* finish incomplete docs
* Update modules/ethereum/src/lib.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update modules/ethereum/src/lib.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* return err from unsigned_import_header
* get header once
* Update relays/ethereum/src/ethereum_sync.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* fix
* UnsignedTooFarInTheFuture -> Custom(err.code())
* updated ImportContext::last_signal_block
* cargo fmt --all
* rename runtime calls
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
b055027161
Add missing RPC required for relay ( #57 )
...
* add missing RPC required for relay
* cargo fmt --all
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
709be9e58d
Bump serde from 1.0.105 to 1.0.106 ( #52 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
bf4851976d
Bump serde from 1.0.104 to 1.0.105 ( #41 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
c36d12e3b5
Bump structopt from 0.3.11 to 0.3.12 ( #42 )
2024-04-10 10:28:37 +02:00
Hernando Castano
e5f998d7d9
Run RustFmt as part of the CI ( #37 )
...
* Run RustFmt as part of the CI
* Format repo
* Run RustFmt before the default Travis build step
Apparently if you override `script` you also need to make
sure to `build` and `test` the code yourself.
* Format repo
2024-04-10 10:28:37 +02:00
Hernando Castano
8232bdfe30
Get Ethereum Relay to Compile ( #21 )
...
* Update dependencies
Upgrades Substrate based dependencies from v2.0.0 -> v2.0.0-alpha.1
and uses the `jsonrpsee`'s new feature flags. The actual code hasn't
been updated though, so this won't compile.
* Use `RawClient`s from `jsonrpsee`
* Update to use jsonrpsee's new API
* Hook up Ethereum Bridge Runtime, Relay, and Node Runtime
* Bump `parity-crypto` from v0.4 to v0.6
Fixes error when trying to compile tests. This was caused by
`parity-crypto` v0.4's use of `parity-secp256k1` over `secp256k1'.
Using the Parity fork meant multiple version of the same underlying
C library were being pulled in. `parity-crypto` v0.6 moved away from
this, only relying on `secp256k1` thus fixing the issue.
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
392582f3d5
Bump vergen from 3.0.4 to 3.1.0 ( #32 )
...
Bumps [vergen](https://github.com/rustyhorde/vergen ) from 3.0.4 to 3.1.0.
- [Release notes](https://github.com/rustyhorde/vergen/releases )
- [Commits](https://github.com/rustyhorde/vergen/commits/v3.1.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
91b6248f96
Add license headers ( #27 )
...
* Add the scripts.
* Add license preamble.
* Change existing license headers.
2024-04-10 10:28:37 +02:00
Hernando Castano
40b4f78bd8
Add a Node ( #22 )
...
* Copy node-template over from Substrate repo
Got the template at rev=6e6d06c33911
* Use dependencies from crates.io + stop renaming on import
* Remove template pallet
* Stop using crates.io dependencies
Instead they're going to be pinned at v2.0.0-alpha.2
at commit `2afecf81ee19b8a6edb364b419190ea47c4a4a31`
until something stable comes along.
* Remove LICENSE
* Change references of `node-template` to `bridge-node`
* Remove README
* Fix some missed node-template references
* Add WASM toolchain to CI
* Be more specific about nightly version to use
* Maybe don't tie to a specific nightly
* Use composite accounts
* Update to use lazy reaping
* Only use Development chain config
2024-04-10 10:28:37 +02:00