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]
e48d943b31
Bump async-std from 1.5.0 to 1.6.0 ( #107 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
6ea9a28d90
Bump async-trait from 0.1.30 to 0.1.31 ( #106 )
2024-04-10 10:28:37 +02:00
Hernando Castano
0e7666e63b
RPC Module for Relays ( #80 )
...
* Test defining an RPC API
* Add wrapper clients for the RPC API
* Implement most Ethereum RPCs
Does not include RPCs that require the bridge contract.
* Implement a few of the Substrate RPCs
Still missing proper error handling, as well as decoding responses from the
Substrate node.
* Make error handling more ergonomic
* Implement Substrate RPCs that use `state_call`
* Implement rest of Substrate RPCs
* Implement `eth_call` RPC
This can be used to implement higher level requests like fetching Substrate headers
from an Ethereum node.
* Build some of the higher level Ethereum RPCs
Uses the new Ethereum RPC interface to do so
* Build some of the higher level Substrate RPCs
* Remove old Ethereum RPC methods
* Remove old Substrate RPC methods
* Add some documentation to Substrate RPCs
* Fix typo in enum construction
* Revert commits `0f0435d` to `ca75502`
This range of commits was mainly trying to integrate the new RPC interface into the existing
codebase, however this turned out to be a little out of scope for the current PR. Instead this work
will be incorporated into a PR which aims to close #72 .
* Add documentation to RPCs
* Rename functions in RPC API to conform to snake_case
* Check that header contains a number and hash
* Put doc comments on trait instead of impl methods
* Remove expect() calls
* Replace runtime API enums with consts
* Accept Bytes when submitting extrinsic
Let's us avoid using a runtime specific Extrinsic.
* Add strictly typed arguments to RPC API
Missing two methods right now, which require a `serde::Deserialize`
implemenation before they can be changed.
* Add `chain_getBlock` Substrate RPC
* Use typed arguments for `eth_estimateGas` and `eth_call`
* Silence dead code warnings
* Add check for logs bloom
* Remove unused variables
* Add documentation to RPC error enums
2024-04-10 10:28:37 +02:00
Hernando Castano
792226c9fd
Use CallRequest type from rust-web3 crate ( #101 )
...
* Use `CallRequest` type from rust-web3 crate
* Change CallRequest's `to` field to be optional
Required due to changes in upstream `rust-web3` crate.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
e16dd14e20
Mute warnings from Substrate <-> Substrate runtime module and relay ( #104 )
...
* mute warnings from sub2sub module+relay
* cargo fmt --all
2024-04-10 10:28:37 +02:00
Hernando Castano
5bcae00f19
Bump rust-web3 to latest v0.11 ( #100 )
...
* Bump rust-web3 to latest master
* Use tagged release from crates.io
* Add check for `logs_bloom`
Since this is required by the runtime we want to enforce that an
incoming header has this.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
7a3468a919
removed unused files ( #99 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
f42905186d
fix error processing ( #97 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
7ddff25912
Bump clap from 2.33.0 to 2.33.1 ( #94 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
04c091a050
Bump ethereum-types from 0.9.1 to 0.9.2 ( #95 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
9765c53a15
Bump derive_more from 0.99.5 to 0.99.7 ( #93 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
c9e81e48b5
Process finality proofs in solidity PoA -> Substrate contract ( #69 )
...
* solidity contract
* continue
* upd
* cargo update
* fixes
* ehtereum_headers -> headers
* extracted some common stuff
* ethereum_sync.rs -> sync.rs
* make sync generic
* continue extracting
* continue
* add eth-contract argument
* continue
* some fixes
* contract v2
* continue
* more fixes
* more fixes
* deal with duplicated params
* removed multiple call_rpc variants
* bail_on_error!()
* fn submit_ethereum_transaction
* more fixes
* cargo fmt --all
* fix
* bail_on_arg_error!()
* fix
* fix
* remove async_extra stuff
* start work on finality builtin
remove async_extra stuff
continue
continue
local testnet (Alice + Bob) for node
* added TODO
* substrate-bridge.json -> substrate-bridge-abi.json
* get rid of substrate transactions hashes
* get rid of ethereum transactions hashes
* extracted contract bytecode to separate file
* cargo fmt --all
* avoid duplicate import in contracts
* removed Default::default()
* swapped configurations for sub2eth && eth2sub
* fix compilation
* do not double gas limit when submitting Substrate headers
* fix finality storage
* at least 1 validator required
* shift_session_manager_works
* cargo fmt --all
* solidity contract removed
* consts
* extracted solc compilation details to separate file
* removed (obsolete in future Vec<u8> justification)
* fixed cli option description
* fix typos
* fix grumble
* extracted constants
* log decoded header
* new substrate version + actually verify justification
* intermediate cargo fmt --all
* comments
* disable completion data resubmission
* increased timeouts + _MS -> Duration
* forget completion data after submission
* builtin tests
* headers tests
* cargo fmt --all
* update contract
* Update relays/ethereum/src/ethereum_sync_loop.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update relays/ethereum/src/ethereum_sync_loop.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* added docs
* OwnedFutureOutput
* more docs fixes
* cargo fmt --all
* encode headers
* consts + docs
* aliases again
* cargo fmt --all
* Update relays/ethereum/src/ethereum_sync_loop.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update relays/ethereum/src/ethereum_sync_loop.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Use Duration::from_secs() instead of from_millis()
* grumbles
* Update relays/ethereum/src/headers.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/headers.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* incomplete_headers_are_still_incomplete_after_advance
* add hex-encoded headers to substrate_header_without_signal_parsed
* cargo fmt --all
* Update relays/ethereum/src/sync_loop.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/headers.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/headers.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/headers.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/headers.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/headers.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/headers.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/ethereum/src/headers.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* added comments on Extra and Completion
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
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
dependabot-preview[bot]
5a463ff3ca
Bump linked-hash-map from 0.5.2 to 0.5.3 ( #88 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
4f119c0fd9
Bump serde_json from 1.0.52 to 1.0.53 ( #87 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
16d49f6417
Bump finality-grandpa from 0.12.1 to 0.12.2 ( #86 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
c2bd5fbbf3
Bump finality-grandpa from 0.11.2 to 0.12.1 ( #82 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
96af3e9a49
Bump ethabi-derive from 11.0.0 to 12.0.0 ( #81 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
3d15ac7c90
Solidity contract that accepts unverified substrate headers ( #65 )
...
* solidity contract
* continue
* upd
* cargo update
* fixes
* ehtereum_headers -> headers
* extracted some common stuff
* ethereum_sync.rs -> sync.rs
* make sync generic
* continue extracting
* continue
* add eth-contract argument
* continue
* some fixes
* contract v2
* continue
* more fixes
* more fixes
* deal with duplicated params
* removed multiple call_rpc variants
* bail_on_error!()
* fn submit_ethereum_transaction
* more fixes
* cargo fmt --all
* fix
* bail_on_arg_error!()
* fix
* fix
* remove async_extra stuff
* substrate-bridge.json -> substrate-bridge-abi.json
* get rid of substrate transactions hashes
* get rid of ethereum transactions hashes
* extracted contract bytecode to separate file
* cargo fmt --all
* avoid duplicate import in contracts
* removed Default::default()
* swapped configurations for sub2eth && eth2sub
* fix compilation
* do not double gas limit when submitting Substrate headers
* cargo fmt --all
* solidity contract removed
* consts
* extracted solc compilation details to separate file
* removed (obsolete in future Vec<u8> justification)
* fixed cli option description
* fix typos
* fix grumble
* extracted constants
* log decoded header
* cargo fmt --all
* comment
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
dependabot-preview[bot]
28bb7238f6
Bump parking_lot from 0.10.0 to 0.10.2 ( #63 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
d631178e41
Make relay generic over source/target chains ( #58 )
...
* renamed to-be-generic files
* make everything required generic over source/target chains
* some more fixes
* cargo fmt --all
* trait functions -> trait constants
* cargo --fmt --all
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
Svyatoslav Nikolsky
1da78b8ab4
fixed time format string ( #54 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
c0881f5582
Bump serde_json from 1.0.50 to 1.0.51 ( #53 )
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]
5fff153419
Bump derive_more from 0.99.3 to 0.99.5 ( #49 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
04c5b16561
Bump serde_json from 1.0.48 to 1.0.50 ( #48 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
ddff294795
remove duplicate licenses ( #47 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
3da4e56702
Bump time from 0.1.42 to 0.2.9 ( #44 )
...
* Bump time from 0.1.42 to 0.2.9
Bumps [time](https://github.com/time-rs/time ) from 0.1.42 to 0.2.9.
- [Release notes](https://github.com/time-rs/time/releases )
- [Changelog](https://github.com/time-rs/time/blob/master/CHANGELOG.md )
- [Commits](https://github.com/time-rs/time/commits/v0.2.9 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
* Update to new API.
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Tomasz Drwięga <tomusdrw@gmail.com >
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]
57daabb813
Bump ansi_term from 0.9.0 to 0.12.1 ( #43 )
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
dependabot-preview[bot]
65fb02b216
Bump parking_lot from 0.9.0 to 0.10.0 ( #40 )
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
Svyatoslav Nikolsky
d904a282c8
Reward submitters only when submitted block is finalized ( #34 )
...
* reward submitters on finalization
* fix grumble
* make submitter part of ImportContext
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
dependabot-preview[bot]
8767d443c0
Bump jsonrpsee from de7cbf2 to a0bea41 ( #28 )
...
* Bump jsonrpsee from `de7cbf2` to `a0bea41`
Bumps [jsonrpsee](https://github.com/paritytech/jsonrpsee ) from `de7cbf2` to `a0bea41`.
- [Release notes](https://github.com/paritytech/jsonrpsee/releases )
- [Commits](https://github.com/paritytech/jsonrpsee/compare/de7cbf2b7528802b6c1079de837db1d4f24561a6...a0bea41c4f37125fa742ec48b12e11cf55c592b5 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
* Fix imports.
* Update client code.
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
24dc3beaf5
Bump ctrlc from 3.1.3 to 3.1.4 ( #30 )
...
Bumps [ctrlc](https://github.com/Detegr/rust-ctrlc ) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/Detegr/rust-ctrlc/releases )
- [Commits](https://github.com/Detegr/rust-ctrlc/commits/3.1.4 )
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]
4b20a78dae
Bump derive_more from 0.99.2 to 0.99.3 ( #29 )
...
Bumps [derive_more](https://github.com/JelteF/derive_more ) from 0.99.2 to 0.99.3.
- [Release notes](https://github.com/JelteF/derive_more/releases )
- [Changelog](https://github.com/JelteF/derive_more/blob/master/CHANGELOG.md )
- [Commits](https://github.com/JelteF/derive_more/compare/v0.99.2...v0.99.3 )
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