Serban Iorga
48cae06a77
Add equivocation detector crate and implement clients ( #2348 ) ( #2353 )
...
* Split FinalitySyncPipeline and SourceClient
* Move some logic to finality_base
* Add empty equivocation detection clients
* Add equivocation reporting logic to the source client
* Use convenience trait for SubstrateFinalitySyncPipeline
* Define JustificationVerificationContext for GRANDPA
* Equivocation source client: finality_verification_context()
* Equivocation source client: synced_headers_finality_info()
* reuse HeaderFinalityInfo
* Define EquivocationsFinder
* Fix spellcheck
* Address review comments
* Avoid equivocations lookup errors
2024-04-10 10:28:37 +02:00
Serban Iorga
9bfad80664
Add basic equivocation detection pipeline schema ( #2338 ) ( #2341 )
...
* Move finality Engine to finality_base folder
* Define SubstrateFinalityPipeline
Extract basic parts of SubstrateFinalitySyncPipeline into
SubstrateFinalityPipeline
* Add equivocation detection pipeline
* Fix comment
2024-04-10 10:28:37 +02:00
Serban Iorga
bccd6e893e
Grandpa: Store the authority set changes ( #2336 ) ( #2337 )
...
* Grandpa: Store the authority set changes
2024-04-10 10:28:37 +02:00
Serban Iorga
7807b9de93
GRANDPA module: store accepted justifications ( #2298 ) ( #2301 )
...
Store accepted justifications in events.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
4d42bb22f3
Update dependecies ( #2277 ) ( #2281 )
...
* cargo update -p parachain-info
* flush
* it compiles
* clippy
* temporary add more logging to cargo deny
* Revert "temporary add more logging to cargo deny"
This reverts commit 20daa88bca6d9a01dbe933579b1d57ae5c3a7bd8.
* list installed Rust binaries before running cargo deny
* changed prev commit
* once again
* try cargo update?
* post-update fixes (nothing important)
2024-04-10 10:28:37 +02:00
Serban Iorga
f6d374b69a
Define generate_grandpa_key_ownership_proof() ( #2247 ) ( #2248 )
2024-04-10 10:28:37 +02:00
Branislav Kontur
320aea743b
Nits for subtree ( #2241 )
...
* Updated version according to Cumulus
* Renaming
* Cargo.lock
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
eec97df358
temporarily remove balance guard ( #2121 )
2024-04-10 10:28:37 +02:00
dependabot[bot]
e08efd9104
Bump tokio from 1.27.0 to 1.28.0
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.27.0 to 1.28.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.27.0...tokio-1.28.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
dependabot[bot]
cffc8e3a7b
Bump scale-info from 2.5.0 to 2.6.0
...
Bumps [scale-info](https://github.com/paritytech/scale-info ) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/paritytech/scale-info/releases )
- [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md )
- [Commits](https://github.com/paritytech/scale-info/commits )
---
updated-dependencies:
- dependency-name: scale-info
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
Serban Iorga
70cf01d47a
[relay-substrate-client] Bump jsonrpsee ( #2066 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
8b262ea60b
submit lane unblock transactions from relay ( #2030 )
...
* submit lane unblock transactions from relay
* moved body of select_nonces_to_deliver to the separate select_race_action
* extracted latest_confirmed_nonce_at_source method
* return Option<RaceAction> from select_race_action
* make required_source_header_at_target async
* remove extra argument from required_source_header_at_target
* small fixes in tests
* Revert "return Option<RaceAction> from select_race_action"
This reverts commit 9f13dbfae39a5a45564550e8c89b10a524a68729.
* implement required_source_header_at_target using what-if approach
* fix compilation
* fmt
* clippy
* moved some code to the can_submit_transaction_with
2024-04-10 10:28:37 +02:00
dependabot[bot]
1659b4b447
Bump scale-info from 2.4.0 to 2.5.0
...
Bumps [scale-info](https://github.com/paritytech/scale-info ) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/paritytech/scale-info/releases )
- [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md )
- [Commits](https://github.com/paritytech/scale-info/compare/v2.4.0...v2.5.0 )
---
updated-dependencies:
- dependency-name: scale-info
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
dependabot[bot]
e61f2a69dd
Bump futures from 0.3.27 to 0.3.28
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.27 to 0.3.28.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.27...0.3.28 )
---
updated-dependencies:
- dependency-name: futures
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
dependabot[bot]
1089cf4af2
Bump tokio from 1.26.0 to 1.27.0
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.26.0...tokio-1.27.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
Adrian Catangiu
e55d4dd6e0
bump substrate+polkadot refs and fix builds ( #1989 )
...
* bump refs and fix build
* more fixes
* Fix rialto-parachain node
* Update dependencies for tools/runtime-codegen
* Regenerate rialto-parachain indirect runtime
* Fix register_parachain
* Fix clippy
* Undo clippy allow
---------
Co-authored-by: Serban Iorga <serban@parity.io >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
9b57f2181c
Kusama <> Polkadot relay prototype ( #1982 )
...
* moved bridge declarations to dedicated folder
* Kusama <> Polkadot bridges declaration
* support for Kusama <> Polkadot bridge in CLI
* update dictionary
2024-04-10 10:28:37 +02:00
dependabot[bot]
fe050f6f50
Bump thiserror from 1.0.39 to 1.0.40
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.39 to 1.0.40.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.39...1.0.40 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
dependabot[bot]
89e8c6fddf
Bump futures from 0.3.26 to 0.3.27
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.26 to 0.3.27.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.26...0.3.27 )
---
updated-dependencies:
- dependency-name: futures
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
f4ca16b98d
Actually clone client data by reference when cloning the client ( #1941 )
...
* actually clone client data by reference when clonning the client
* spelling
* clippy
2024-04-10 10:28:37 +02:00
dependabot[bot]
7266e48464
Bump tokio from 1.25.0 to 1.26.0
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.25.0 to 1.26.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.25.0...tokio-1.26.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
dependabot[bot]
b513989871
Bump thiserror from 1.0.38 to 1.0.39
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.38 to 1.0.39.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.38...1.0.39 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
754160798a
Improve some relay errors readability ( #1930 )
...
* improve some relay errors readability
* clippy
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
7be2cb1cdd
fix master compilation ( #1920 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
e7f5560951
Fix multiple parachain headers submission for single message delivery ( #1916 )
...
* switch off parachains relay when we don't need to relay parachains (temp solution)
* parachains relay now only works with single parachain
* fix usages of parachains relay
* revert hacky fix
* fixes
* fixed Westmint parachain ID
* fixed metrics
* fixed compilation
* fmt
* clippy
* call -> typed_state_call
2024-04-10 10:28:37 +02:00
Serban Iorga
f5fee288b9
Relayers pallet: extend payment source id ( #1907 )
...
* Add Chain::ID const
* Relayers pallet: extend payment source id
* Addressed code review comments
* Fix benchmarks
* Fix dashboards
* Renamings
* Fix compilation
2024-04-10 10:28:37 +02:00
dependabot[bot]
93a4d89735
Bump jsonrpsee from 0.15.1 to 0.16.2
...
Bumps [jsonrpsee](https://github.com/paritytech/jsonrpsee ) from 0.15.1 to 0.16.2.
- [Release notes](https://github.com/paritytech/jsonrpsee/releases )
- [Changelog](https://github.com/paritytech/jsonrpsee/blob/master/CHANGELOG.md )
- [Commits](https://github.com/paritytech/jsonrpsee/compare/v0.15.1...v0.16.2 )
---
updated-dependencies:
- dependency-name: jsonrpsee
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
dependabot[bot]
9c7ea5ef7e
Bump rand from 0.7.3 to 0.8.5
...
Bumps [rand](https://github.com/rust-random/rand ) from 0.7.3 to 0.8.5.
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/0.7.3...0.8.5 )
---
updated-dependencies:
- dependency-name: rand
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
26330d9a25
get rid of ChainWithMessages::WeightInfo, because we can't have exact weights for "external chains" ( #1899 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
bb078b8226
use complex transactions on RBH/WBH bridge hubs ( #1893 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
c6c39be967
ChainWithGrandpa in primitives ( #1885 )
...
* ChainWithGrandpa in primitives
* clippy ++ spelling
* fix benchmarks comppilation
2024-04-10 10:28:37 +02:00
dependabot[bot]
6900160c31
Bump futures from 0.3.25 to 0.3.26
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.25...0.3.26 )
---
updated-dependencies:
- dependency-name: futures
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
606768bc6a
Use specific error for case when para head is missing from the bridge pallet ( #1829 )
...
* use specific error for case when para head is missing from the bridge pallet
* fix match to support both error types
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
4689dfaf2c
Do not read parachain heads from ancient relay headers ( #1827 )
...
* do not read parachain heads from ancient relay headers
* revert test change
2024-04-10 10:28:37 +02:00
dependabot[bot]
207c09e7e1
Bump tokio from 1.24.2 to 1.25.0
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.24.2 to 1.25.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/commits/tokio-1.25.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
dependabot[bot]
7963cf65c9
Bump tokio from 1.24.1 to 1.24.2
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.24.1 to 1.24.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/commits )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
d7b131646c
Relayer reward metric ( #1742 )
...
* use StorageDoubleMapKeyProvider in RelayerRewards
* add metrics
* clippy
* fixed alerts that have caused missing dashboards
* fix metric name
* fix metric name again
* add new metrics to the RialtoParachain <> Millau maintenance dashboard
* remove obsolete dashboard
2024-04-10 10:28:37 +02:00
Branislav Kontur
3c4cce9eef
cargo machete removed unused deps (#1761 )
2024-04-10 10:28:37 +02:00
Serban Iorga
b4c338f77d
Set R/WococoBridgeHub bundle runtime version ( #1756 )
...
* Define SimpleRuntimeVersion
* Set R/WococoBridgeHub bundle runtime version
2024-04-10 10:28:37 +02:00
Serban Iorga
444dbe7173
Use indirect runtime calls for RialtoParachain ( #1753 )
...
* Use indirect runtime calls for RialtoParachain
* Code review fixes
2024-04-10 10:28:37 +02:00
Serban Iorga
63a538a9bb
Deduplicate pallet call structs used for indirect runtime calls ( #1744 )
...
* Small changes
* Define generic bridge pallets call structs
* polkadot-core SignedExtension simplifications
- we don't seem to need to pass the Call as a generic param
- we can use codec(skip) instead of implementing Encode and Decode
* Split BridgeHubRococo and BridgeHubWococo calls
* code review fixes
2024-04-10 10:28:37 +02:00
Serban Iorga
41daa32acb
Simplify read_client_state() ( #1739 )
2024-04-10 10:28:37 +02:00
Serban Iorga
e47f1e42e0
Replace BATCH_CALL_SUPPORTED ( #1733 )
...
* Simplify submit_and_watch_signed_extrinsic
The way submit_and_watch_signed_extrinsic is used now, we can always
derive the SignParam from other params. If in the future we need more
customization possibilities, we can define a new method.
* Simplify submit_signed_extrinsic
* Send maybe_batch_tx as a parameter
Send `maybe_batch_tx` as a parameter to `submit_proof()`. This way we
can deduplicate the logic that submits the extrinsic for
`messages_source and `messages_target` and we can simplify the logic in
the race loop a bit.
* Define BatchProofTransaction
Deduplicate BatchConfirmationTransaction and BatchDeliveryTransaction by
replacing both of them with BatchProofTransaction
* Define ChainWithUtilityPallet and BatchCallBuilderConstructor
- Define `ChainWithUtilityPallet` in order to be able to associate the
batching functionality with chains
- Defining `BatchCallBuilderConstructor` in order to have a more reliable
way of checking whether an end of a messages pipeline supports batching
or no. `BatchCallBuilderConstructor::new_builder()` returns an
`Option<BatchCallBuilder>`.This is a bit safer because each time a caller
tries to start creating a batch call, it will call `new_builder()` and
will be required to handle the returned `Option`. Before we only had a
bool `BATCH_CALL_SUPPORTED` the caller could have forgetten to check.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
be27bd5e97
Batch transactions in complex relays ( #1669 )
...
* batch transactions in message relay: API prototype
* get rid of Box<dyn BatchTransaction> and actually submit it
* test batch transactions
* message_lane_loop_works_with_batch_transactions
* removed logger
* BatchConfirmationTransaction + BatchDeliveryTransaction
* more prototyping
* fmt
* continue with batch calls
* impl BatchCallBuilder for ()
* BatchDeliveryTransaction impl
* BundledBatchCallBuilder
* proper impl of BundledBatchCallBuilder + use it in RialtoParachain -> Millau
* impl prove_header in OnDemandHeadersRelay
* impl OnDemandParachainsRelay::prove_header (needs extensive tests)
* added a couple of TODOs
* return Result<Option<BatchTx>> when asking for more headers
* prove headers when reauire_* is called && return proper headers from required_header_id
* split parachains::prove_header and test select_headers_to_prove
* more traces and leave TODOs
* use finality stream in SubstrateFinalitySource::prove_block_finality
* prove parachain head at block, selected by headers relay
* const ANCIENT_BLOCK_THRESHOLD
* TODO -> proof
* clippy and spelling
* BatchCallBuilder::build_batch_call() returns Result
* read first proof from two streams
* FailedToFindFinalityProof -> FinalityProofNotFound
* changed select_headers_to_prove to version from PR review
2024-04-10 10:28:37 +02:00
Serban Iorga
bde1629f86
Remove SOURCE_PARACHAIN_PARA_ID ( #1716 )
...
* Remove SOURCE_PARACHAIN_PARA_ID
Remove SubstrateParachainsPipeline::SOURCE_PARACHAIN_PARA_ID
* Avoid duplicate ChainBase and ParachainBase implementations
* Replace ChainShadow with UnderlyingChainProvider
2024-04-10 10:28:37 +02:00
Serban Iorga
ba75e63fcd
Remove WeightToFee ( #1713 )
...
* Remove WeightToFee
* Remove leftover
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
d63a75697c
Only store header state root (pallet-bridge-parachains) ( #1701 )
...
* store block number ++ state root in parachains pallet
* fixed parachains finality APIs
* (test commit)
* removed test code
* deduplicated code a bit
* removed commented code
* spelling
* Update modules/parachains/src/lib.rs
Co-authored-by: Adrian Catangiu <adrian@parity.io >
* Update modules/parachains/src/lib.rs
Co-authored-by: Adrian Catangiu <adrian@parity.io >
* Update modules/parachains/src/mock.rs
Co-authored-by: Adrian Catangiu <adrian@parity.io >
* added comment
Co-authored-by: Adrian Catangiu <adrian@parity.io >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
c03d99cd09
fix clippy ( #1664 )
2024-04-10 10:28:37 +02:00
Branislav Kontur
786db04bbc
Fixes fo ro/wo bridge ( #1661 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
8c845602cf
Remove message fee + message send calls ( #1642 )
...
* remove message fee
* it is compiling!
* fixes + fmt
* more cleanup
* more cleanup
* restore MessageDeliveryAndDispatchPayment since we'll need relayer rewards
* started rational relayer removal
* more removal
* removed estimate fee subcommand
* remove DispatchFeePayment
* more removals
* removed conversion rates && some metrics
* - unneeded associated type
* - OutboundMessageFee
* fix benchmarks compilation
* fmt
* test + fix benchmarks
* fix send message
* clippy
2024-04-10 10:28:37 +02:00