Svyatoslav Nikolsky
4e4e9a8e4e
on-demand headers relay ( #833 )
...
* on-demand headers relay
* bool::then
* move file
* atomic submit_signed_extrinsic
* remove cli options from future
* test on-demand relay
* TODOs
* fixed initialization call for Westend -> Millau
* Update relays/client-substrate/src/client.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* removed on_demand_headers_relay.rs
* on_demand_headers_relay traces
* fix compilation
* fmt
* docs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
51fc83941b
Rococo (mocky)Runtime and Client ( #841 )
...
* Implement fake rococo runtime.
* Generate correct storage key.
* cargo fmt --all
* Move client-rococo.
* Satisfy clippy.
* Apply suggestions from code review
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Address review comments.
* Clippy again.
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
70e9db4aad
Initialize logger properly. ( #843 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
a17c7eb80c
Changed how relay loops are started ( #840 )
...
* slightly changed relay loop initialization
* git mv
* clippy
* more clippy
* loop_run -> run_loop
* review and clippy
* clippy
2024-04-10 10:28:37 +02:00
Hernando Castano
8d122b03f1
Rename Finality Verifier and Call Dispatch Pallets ( #838 )
...
* Rename `pallet-finality-verifier` to `pallet-bridge-grandpa`
* Missed some CamelCase ones
* Update logging target in GRANDPA pallet
* Rename `pallet-bridge-call-dispatch` to `pallet-bridge-dispatch`
* Rename the dispatch pallet folder
* Update logging target in Dispatch pallet
* Missed a couple
* Format the repo
* Stop listing individual pallets in Compose logs
* Use correct pallet name in module doc comments
* Add `pallet-bridge-dispatch` to README project layout
* Sort crate names in TOML files
* Rename `pallet-bridge-grandpa` runtime Call alias
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
acb872fbb0
Flatten back the structure ( #837 )
...
* Remove chains.
* Move relay clients.
* Flatten generic.
* Fix fmt.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
647eb80165
Westend->Millau headers relay in deployments ( #831 )
...
* reorganize monitoring
* Westend->Millau bridge
* support multiple bridges
* initialize Westend -> Millau bridge byMillau.George
* fix intersecting ports
* ignore dashboards
* single bridged network
* deal with multple --env-file args
* fix chain name
* use images from docker hub
* update show_help
* updated comment
* mount whole dashboards directory
* removed unneeded network
* reverted reverse-proxy changes
* prometheus -> targets
* separate Grafana.Dockerfile with builtin /etc/grafana
* Revert "separate Grafana.Dockerfile with builtin /etc/grafana"
This reverts commit 53e04c4556f882d19e3af0fac581a926b8e0c167.
* read dashboards from /etc/grafana/dashboards
* stop comment
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
4105575794
Rename pallet-message-lane into pallet-bridge-messages ( #834 )
...
* use runtime:: prefix for message-lane pallet traces
* renamed message-lane (module and primitives) folder into messages
* replace "message lane" with "messages" where appropriate
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
c95b1eb970
relay_loop().await from main relay function ( #829 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
4cd6d128ea
updat jsonrpsee ( #828 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
d749bc3a96
Sync Westend to Millau ( #824 )
...
* make finality verifier pallet instantiable
* add second instance of finality verifier pallet to the Millau runtime
* add Westend -> Millau headers relay
* use wss to connect to public westend nodes
* initialize with best_finalized_block
* typo
* Revert "initialize with best_finalized_block"
This reverts commit 954ed2832372d67618abc1a06d47e66faa93f674.
* pass VoterSet by ref
* new bridge initialization code
* loop upper bound
* Polkadot -> Westend
* fixed tests compilation
* default-features
* assert
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
d9bec5f387
Reorganize relay code to make it easy to add new networks. ( #813 )
...
* Nest some crates.
* Alter command execution to make it easier to add new bridges.
* Rename sub-dirs.
* cargo fmt --all
* Address clippy.
* Update relays/substrate/src/rialto_millau/cli.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
53cdf66071
More tests for finality relay ( #816 )
...
* more tests for finality relay
* clippy
* remove env_logger dep
* fmt
* more clippy
* removed prune_unjustified_headers
* review
2024-04-10 10:28:37 +02:00
Hernando Castano
d8852fd197
Clean Finality Verifier Pallet ( #804 )
...
* Remove unused Config types from `pallet-finality-verifier`
* Remove unused AncestryChecker trait
* Remove ancestry proof parameter from relayer calls
* Update docs to reflect current state of pallet
* Remove mock ancestry checker
* Remove unused error
* Write headers outside of function used for authority set changes
* Move justification verification into helper function
* Add documentation suggestions
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Clean up module level documentation a bit
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
84cd93f936
Add Westend & Rococo primitives ( #808 )
...
* Move chain primitives to a sub-folder.
* Update workspace members.
* Extract core parts of polkadot.
* cargo fmt --all
* Remove TODO.
* cargo fmt --all
* Fix crate names.
* Add to the latest API.
* cargo fmt --all
* Add nested lock files to ignore (generated during cargo fmt)
* Fix compilation.
* cargo fmt --all
* Fix ignore pattern.
* Address review comments.
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
8f11732bb9
Uniform git dependencies (Backport of substrate#2589) ( #805 )
...
* Make Substrate deps uniform
* Rest of the deps.
* Fix broken merge.
* Revert substrate.
* Fix tests
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
324e083cba
Changed delivery and dispatch fee computation methods ( #795 )
...
* removed weight <-> fee mess
* updated documentation
Co-authored-by: Hernando Castano <castano.ha@gmail.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
f87053c1cb
Relay Millau && Rialto headers using (future) finality verifier API ( #761 )
...
* finality proofs relay
* SyncHeader::is_mandatory
* empty ancestry proof
* logs
* fixed submit condition
* fixed wrong split index
* tick comment
* recent_finality_proofs
* basic finality loop tests
* removed obsolete files
* rename files in substrate relay
* fmt
* clippy
* fixed TODOs
* clippy
* stop syncing if target node is out of sync
* more clippy
* more clippy
* Update relays/finality-relay/src/finality_loop.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/finality-relay/src/finality_loop.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/finality-relay/src/finality_loop.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* docs
* moved doc
* typo
* Update relays/finality-relay/src/finality_loop_tests.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/finality-relay/src/finality_loop_tests.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* header_and_finality_proof_by_number -> header_and_finality_proof
* VecDeque isn't required (because of make_contiguous)
* fixed wrong expect
* Update relays/finality-relay/src/finality_loop.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/substrate/src/rialto_headers_to_millau.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update relays/substrate/src/rialto_headers_to_millau.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* RialtoSyncHeader
* Update relays/finality-relay/src/finality_loop.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update relays/finality-relay/src/finality_loop.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* removed wrong comment
* Update relays/finality-relay/src/finality_loop.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* fix used runtime methods names
* fix for new jsonrpsee
* fix comment
* initialize finality verifier pallet
* fmt
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
a2b8bb191b
Migrate to jsonrpsee v2 ( #787 )
...
* POC jsonrpsee v2
* POC update ws client
* connect to eth nodes using ws
* fix for subscriptions
* reverted unncecessary changes
* reference jsonrpsee from crates.io
* fixed eth port in deployments
* fmt
* order deps
* remove unnecessary comment
* clone is no longer required for subscriptions
* treat RpcError::Internal as connection error
* resubscribe on terminate
* Update deployments/bridges/poa-rialto/entrypoints/poa-exchange-tx-generator-entrypoint.sh
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
da41afd105
Add Bridge calls encoding to relay CLI ( #780 )
...
* Bridge calls.
* Allow encoding messages for both Rialto and Millua.
* Add docs.
* Display full extrinsics in debug.
* cargo fmt --all
* Use info instead of debug,.
* Clarify units.
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
077e2cc11b
Derive bridged accounts ( #781 )
...
* Add derivation support.
* Add custom decoder for Accounts.
* cargo fmt --all
* Fix warn.
* Fix articles.
Co-authored-by: Hernando Castano <castano.ha@gmail.com >
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
3764cda726
Add few CLI helpers ( #764 )
...
* Adding call encoding.
* Add message payload encoding.
* Nicer output.
* Add fee estimation.
* cargo fmt --all
* Split message payload encoding into separate command.
* Use HexBytes.
* cargo fmt --all
* Fix compilation.
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
c9a8ac0b32
Bump serde_json from 1.0.63 to 1.0.64 ( #777 )
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
7602d910d4
Disable cache in CI builds. ( #772 )
...
* Disable cache.
* Fix tests.
* Fix clippy?
* cargo fmt --all
2024-04-10 10:28:37 +02:00
Andreas Doerr
de5ac085a1
Bump Substrate and Deps ( #770 )
...
* Bump Substrate and Deps
* silence clippy
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
19f021e34c
Add default for some options. ( #763 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
1b2e6cdeb0
Generate large messages ( #700 )
...
* generate large messages
* consider headers sync lag when computing number of rewards in confirmation
* more fixes
* fix logs
* fix warnings
* do not wait until tx that has delivered nonces will be finalized before submitting other tx
* tests for maximal weight/size
* cleanup
* cleanup
* clippy
* compilation
* args for dispatch weight and remark size
* ExplicitOrMaximal
* clippy
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
b806fb7756
Fix formatting. ( #738 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
90113303f1
Fix updated clippy grumbles ( #733 )
...
* Revert "Pin Rust Nightly to 2020-12-17 (#652 )"
This reverts commit e54e6f7e3d34c28d698e637f9099162b3c1917e9.
* fix clippy
* clippy again
* more clippy in test code
* and new cargo fmt
* another try
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
470b51d2a9
Rework relay CLI a bit ( #734 )
...
* Change CLI UX.
* De-duplicate main.
* De-duplicate send message.
* Add more docs and extract functions.
* Fix scripts.
* cargo fmt --all
* Add missing 'u'.
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
2493ce93b3
Bump env_logger from 0.8.2 to 0.8.3 ( #725 )
...
Bumps [env_logger](https://github.com/env-logger-rs/env_logger ) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases )
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.8.2...v0.8.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
7aa51f8d30
Update to latest substrate ( #723 )
...
* Bump substrate deps.
* Bump scale.
* Bump ethabi.
* Remove inherent from aura.
* Migrate to construct_runtime
* cargo fmt --all
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
c4b931ba29
Keep multiple latest confirmed nonces at source in messages relay ( #719 )
...
* keep multiple latest confirmed nonces at source in messages relay
* post-merge fix
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
010748e409
Fix max extrinsic weight in relay + logging ( #717 )
...
* fix max weight in relay + logging
* removed duplicate info
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
2f457775bb
Account proof size in weight formula ( #679 )
...
* fix broken message lane benchmarks
* proof-size related benchmarks
* impl Size for proof parameters
* include proof weight into weight formula
* left TODO
* fixed proof size
* WeightInfoExt::receive_messages_proof_weight
* charge for extra message bytes delivery in send_message
* removed default impl of WeightsInfoExt
* moved weight formulas to WeightInfoExt
* receive_messages_proof_outbound_lane_state_overhead is included twice in weight
* typo
* typo
* fixed TODO
* more asserts
* started wotk on message-lane documentation
* expected_extra_storage_proof_size() is actually expected in delivery confirmation tx
* update README.md
* ensure_able_to_receive_confirmation
* test rialto message lane weights
* removed TODO
* removed unnecessary trait requirements
* fixed arguments
* fix compilation
* decreased basic delivery tx weight
* fmt
* clippy
* Update modules/message-lane/src/benchmarking.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* structs
* Update primitives/millau/src/lib.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* removed readme.md
* removed obsolete trait bounds
* Revert "removed readme.md"
This reverts commit 50b7376a41687a94c27bf77565434be153f87ca1.
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Update bin/runtime-common/src/messages.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* PreComputedSize
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
dependabot-preview[bot]
2f44aecd97
Bump serde_json from 1.0.61 to 1.0.62 ( #708 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.61 to 1.0.62.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.61...v1.0.62 )
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
8953967d92
pause relays(s) when node is syncing ( #605 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
adb58d8fb0
Bump log from 0.4.13 to 0.4.14 ( #692 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
acee5580ca
decode call after spec_version check ( #663 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
44bf84269a
Extract common part of relay loops ( #660 )
...
* extract common parts of relay loops: begin
* merge client impls
* backoff in exchange loop
* reconnect without clone
2024-04-10 10:28:37 +02:00
Andreas Doerr
926520292e
Prevent potential signature reuse ( #667 )
...
* patch audit findings #42
* extend msg signature for substrate relay
* signature verification test
* make proof dependet on call_dispatch crate
* silence clippy
* revert deny exception
* address code review
* since it's not really a proof, call it digest
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
38c1bf89b4
Update weight related parameters in relay ( #662 )
...
* update weight-related parameters in relay
* asserts + docs
Co-authored-by: Hernando Castano <castano.ha@gmail.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
fd7f2a45d8
Fixed messages count check ( #659 )
...
* fixed messages count check
* explicit check of `messages_count` in the receive_messages_proof
* change messages_count to be u32
* Update modules/message-lane/src/lib.rs
Co-authored-by: Hernando Castano <HCastano@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]
507edb950c
Bump log from 0.4.11 to 0.4.13 ( #657 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
d630b6f751
Bump futures from 0.3.9 to 0.3.12 ( #655 )
2024-04-10 10:28:37 +02:00
dependabot-preview[bot]
b94ac80a55
Bump async-std from 1.8.0 to 1.9.0 ( #654 )
2024-04-10 10:28:37 +02:00
Hernando Castano
c6df9924e4
Move justification code to primitives crate ( #640 )
...
* Move justification module to header-chain primitives crate
* Get justification module compiling in new location
* Get justification module tests compiling
* Use justification code from `header-chain` crate
Mostly compiles, having issues with std/test feature flags across crates.
* Move some code around
* Move justification tests to integration testing crate
* Add `test-utils` crate
* Remove tests and test-helper module from justification code
* Use `test-utils` in Substrate bridge pallet tests
* Remove `sp-keyring` related code from `pallet-substrate-bridge`
* Remove `helpers` module from `pallet-substrate-bridge`
* Add some documentation
* Add more documentation
* Fix typo
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
0f7a096d55
Do not refetch completion data instantly ( #649 )
...
* do not refetch completion data instantly
* clippy
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
f3ea6a8d3d
Reward delivery confirmation transaction submitter (aka confirmation relayer) ( #599 )
...
* reward confirmation relayer
* Update modules/message-lane/src/instant_payments.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* added some constants
* pallet_balances
* removed comment
* fix typo
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
2cfd2e72b7
fix log level ( #644 )
2024-04-10 10:28:37 +02:00