Commit Graph

238 Commits

Author SHA1 Message Date
Branislav Kontur a7d2568df4 Remove Woococo related stuff (#2692)
* Remove Woococo related stuff

* More removes

* Compilation

* Added equvocation for Ro/We

* We need chain-westend primitives
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 7a8c87a450 Drop Rialto <> Millau bridges (#2663) (#2694)
* drop Rialto <> Millau bridges

* clippy
2024-04-10 10:28:37 +02:00
Serban Iorga 1c2b6b21da Start version guards for the ED loop (#2678) 2024-04-10 10:28:37 +02:00
Branislav Kontur 564cb492f9 BHR/BHWE spec_version according to the polkadot-sdk (#2668) 2024-04-10 10:28:37 +02:00
Branislav Kontur a3e6ce4f94 Add Rococo<>Westend bridge support/relay (#2647)
* Added Rococo<>Westend primitives

* Latest fashion

* WIP

* Temporary hack for AssetHubWestend to Millau

* typo

* tool/runtime-codegen tweaks

* Rococo<>Westend relay part

* zepter

* Unify `Parachain` vs `Parachains`
2024-04-10 10:28:37 +02:00
Branislav Kontur f539157da2 Backport from polkadot-sdk with actual master (#2633)
* Backport from `polkadot-sdk`

* lingua stuff

* Fixes

* Fix

* Features?

* Fix - v5 -> v6

* zepter format features

* try zepter with CI

* Fix imports

* Fix

* Fix

* Fix

* Revert zepther pipeline
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 0bbd2b20a2 Merge bulletin chain changes into polkadot staging (#2574)
* polkadot-staging for v1.0.0

* Add polkadot bulletin chain primitives (#2542)

* add polkadot bulletin chain primitives

* also impl ChainWithMessages

* clippy

* instead of requiring sp_std::vec::Vec import when using runtime API generation macro, let's use full type path directly in macro (#2551)

* Polkadot Bulletin Chain client (#2552)

* relay-polkadot-bulletin-client

* generate Polkadot Bulletin Chain Runtime

* Add relays that will be used in Polkadot Bulletin <> Polkadot.BH bridge (#2556)

* added Polkadot.BH <> Polkadot Bulletin chain relays

* uncommented ED stuff

* complex PolkadotBulletin <> Polkadot.BH relay

* removed TODO

* spelling

* prepare refund extension infra to add refund extension for messages from standalone chain (#2558)

* prepare refund extension infra to add refund extension for messages from standalone chain

* spelling

* apply adapter to fix compilation

* clippy

* added POLKADOT_BULLETIN_CHAIN_ID constant

* RefundBridgedGrandpaMessages to refund transaction costs for messages coming to/from bridged standalone/relay chain (#2566)

* RefundBridgedGrandpaMessages to refund transaction costs for messages coming to/from bridged standalone/relay chain

* clippy

* fix compilation

* fix codec dependency (#2567)

* Support message relay limits override (#2570)

* support message relay limits overrides for bridges

* spelling

* export EXTRA_STORAGE_PROOF_SIZE for Polkadot Bulletin (#2572)
2024-04-10 10:28:37 +02:00
Serban Iorga 2c26640ac3 polkadot-staging branch: Use polkadot-sdk dependencies (#2524)
* Use polkadot-sdk dependencies

* Fix ring-proof ref

* Fix Beefy

* Fix imports

* Simple runtimes fixes

* Fix substrate-relay

* Add ParaAssignmentProvider for Rialto

* Rialto chain_spec fix

* Fix Rialto build

* Fix Rialto pvf workers

* Allow rialto-parachain deprecated features warnings
2024-04-10 10:28:37 +02:00
Serban Iorga 1bbc77fee1 Start the equivocation detection loop from the complex relayer (#2507) (#2512)
* Impl SubstrateEquivocationDetectionPipeline for Millau

* Impl SubstrateEquivocationDetectionPipeline for Rialto

* Make BridgeHubSignedExtension more generic

* Define generate_report_equivocation_call_builder!() macro

* Impl SubstrateEquivocationDetectionPipeline for Rococo

* Impl SubstrateEquivocationDetectionPipeline for Wococo

* Impl SubstrateEquivocationDetectionPipeline for Kusama

* Impl SubstrateEquivocationDetectionPipeline for Polkadot

* Complex relayer simplification

- remove `signer` and `transactions_mortality` and add `tx_params`
- change the order of some fields

* Add equivocation detection CLI traits

* Complex relayer: start equivocation detectin loop

* Update runtimes regeneration script

* Equivocation loop: Fix infinite loop

* Revert "Complex relayer: start equivocation detectin loop"

This reverts commit b518ef85679d73654f9f0e2add38cd3839552057.

* Add subcommand for starting the equivocation detection loop

* Fixes

* Initialize empty metrics for the equivocations detector loop
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky cc3bbc690b Manually update deps in polkadot staging (#2371)
* Bump clap from 4.3.19 to 4.3.21

Bumps [clap](https://github.com/clap-rs/clap) from 4.3.19 to 4.3.21.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.3.19...v4.3.21)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump tokio from 1.29.1 to 1.31.0

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.29.1 to 1.31.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.29.1...tokio-1.31.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump sysinfo from 0.29.7 to 0.29.8

Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo) from 0.29.7 to 0.29.8.
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/GuillaumeGomez/sysinfo/commits)

---
updated-dependencies:
- dependency-name: sysinfo
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump async-trait from 0.1.72 to 0.1.73

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.72 to 0.1.73.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.72...0.1.73)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump log from 0.4.19 to 0.4.20

Bumps [log](https://github.com/rust-lang/log) from 0.4.19 to 0.4.20.
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.19...0.4.20)

---
updated-dependencies:
- dependency-name: log
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump anyhow from 1.0.72 to 1.0.75

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.72 to 1.0.75.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.72...1.0.75)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump tempfile from 3.7.1 to 3.8.0

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.7.1 to 3.8.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.7.1...v3.8.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump clap from 4.3.21 to 4.3.23

Bumps [clap](https://github.com/clap-rs/clap) from 4.3.21 to 4.3.23.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.3.21...v4.3.23)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump tokio from 1.31.0 to 1.32.0

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.31.0 to 1.32.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.31.0...tokio-1.32.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump serde_json from 1.0.104 to 1.0.105

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.104 to 1.0.105.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.104...v1.0.105)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump thiserror from 1.0.44 to 1.0.47

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.44 to 1.0.47.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.44...1.0.47)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump rustls-webpki from 0.101.1 to 0.101.4

Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.101.1 to 0.101.4.
- [Release notes](https://github.com/rustls/webpki/releases)
- [Commits](https://github.com/rustls/webpki/compare/v/0.101.1...v/0.101.4)

---
updated-dependencies:
- dependency-name: rustls-webpki
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump rustls-webpki from 0.100.1 to 0.100.2 in /tools/runtime-codegen

Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.100.1 to 0.100.2.
- [Release notes](https://github.com/rustls/webpki/releases)
- [Commits](https://github.com/rustls/webpki/compare/v/0.100.1...v/0.100.2)

---
updated-dependencies:
- dependency-name: rustls-webpki
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix clippy (#2335)

* fix clippy

* fix clippy issues

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
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
Svyatoslav Nikolsky 57550eb867 More backports from Cumulus subtree to polkadot-staging (#2283)
* more backports from Cumulus subtree

* spelling

* fmt

* trigger CI

* Revert "trigger CI"

This reverts commit b009d732aa26d006a7f2b48878ee864c338c49d5.

* Revert "Revert "trigger CI""

This reverts commit 715606a75948124962b14dbb260cf3aed01bc665.

* Revert "Revert "Revert "trigger CI"""

This reverts commit dc0d2233da86fd12a77216008e59bd38fcbb2fac.
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
Branislav Kontur b3d6fe7cba Updated BHR/W version + codegen (#2148) 2024-04-10 10:28:37 +02:00
Branislav Kontur f25a5f0409 Support for kusama-polkadot relaying (#2128) 2024-04-10 10:28:37 +02:00
Branislav Kontur 7188765244 BHK/P alignments (#2115)
* Constants

* Unused import?

* Cargo.lock

* Unused deps

* TODO: fix doc or reimport?

* Try to aviod redefine para_id constant for `RefundableParachainId`

* Checked and removed TODOs
2024-04-10 10:28:37 +02:00
Serban Iorga 9dfa496d15 Use generated runtimes for BHR/BHW (#2106)
* Use generated runtimes for BHR/BHW

* Deduplicate BHR/BHW runtimes

* Add script for regenerating runtimes
2024-04-10 10:28:37 +02:00
Serban Iorga de918f8f3c Fix sized messages (Follow-up on #2064) (#2103)
* Use wasm execution on millau and rialto

It's safer like this since here are some errors that aren't caught when
using native execution

* Revert "Revert "Fix max-size messages at test chains (#2064)" (#2077)"

This reverts commit 62f749e124fbcf074cdc9840690bb9049d4b3b99.

* Adjustments
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 1f8b4d989e Revert "Fix max-size messages at test chains (#2064)" (#2077)
This reverts commit f904623c65fbad542a878133c612b1f8782f47d1.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 65b2196c6b Fix max-size messages at test chains (#2064)
* fix max-size messages submit for test chains

* impl review suggestions
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 0a30f9114a bump BridgeHubRococo/BridgeHubWococo versions (#2000) 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 a75c28d5b2 Remove deprecated code from bridge-runtime-common (#1983)
* removed FromBridgedChainMessageDispatch in favor of XcmBlobMessageDispatch

* use HaulBlobExporter/HaulBlobExporterAdapter instead of XcmBridge/XcmBridgeAdapter

* tests for sending/dispatching messages

* use new schema in testnet bridges + some cleanup

* clippy

* spelling + added TODO

* cleanup some checks

* benchmarks compilation

* all is XCM

* updated README.md

* ref issue from TODO
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
Serban Iorga 80db23d4e0 Update BHR and BHW spec version (#1922)
* Update BHR and BHW spec version

* Remove docs in verify-pallets-build.sh

* Remove only docs/dockerhub-*
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
Svyatoslav Nikolsky f31b5d8634 fix nightly clippy issues (#1915) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 5f2ff7e06e Wrap confirmation and finality transactions into batch_all in Millau -> RialtoParachain bridge (#1898)
* wrap confirmation and finality transactions into batch_all in RialtoParachain<>Millau

* review comments
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
Serban Iorga b2832575f6 Add tool for auto generating runtime code from metadata (#1812)
* Create CLI tool for generating indirect runtimes code

* Use the generated runtime for rialto parachain

* Avoid autogenerated files when executing cargo spellcheck

* Fix clippy warning
2024-04-10 10:28:37 +02:00
Serban Iorga 1ce1924815 Change some macro names (#1837)
Change the names of the macros used for generating indirect runtime
calls

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 947a0a695b Use GitLab env vars to get git commit (#1831)
* use GitLab env vars to get git commit

* compile_error to test it

* Revert "compile_error to test it"

This reverts commit 67d4782298d3cdfbe1a28231042bba6444316e8a.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 63308ac22b bump bridge hub versions (#1830) 2024-04-10 10:28:37 +02:00
Serban Iorga 5d875d05d3 Use named parameters for indirect calls (#1823) 2024-04-10 10:28:37 +02:00
Serban Iorga dd433a71d4 Update bundled runtime version for bridge hub r/wococo (#1814) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ec9cd8ddb0 Remove chain-specific dependencies from crates that will be used in Cumulus (#1783)
* leave-modules.sh

* remove bp-rialto dependency from bp-relayers

* update leave-modules.sh

* fix Cargo.toml of pallet-bridge-relayers

* update leave-modules.sh

* remove bp-rialto and millau-runtime frombridge-runtime-common Cargo.toml

* update leave-modules.sh

* remove chain dependencies from bridge-runtime-common crate

* fix tests

* cleanup script

* rename script

* kind of success message

* remove leave-modules.sh

* use TargetHeaderChainAdapter and SourceHeaderChainAdapter in our testnets

* update script
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
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
Svyatoslav Nikolsky 70eb076ab2 Expose relay version metric (#1750)
* expose relay version metric

* spelling

* and clippy

* clippy

* typo

* use version directly and determine git commit

* typos and leftovers
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 4a10ccb118 Remove CliChain::KeyPair (#1741) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 03425b33ae Use TypedLaneId instead of LaneId (#1738)
* TypedLaneId -> LaneId

* fix benchmarks compilation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 15e7d828ea Expose metrics of on-demand relay chain headers sync from with-parachain complex relays (#1737)
* expose metrics of on-demand relay chain headers sync from with-parachain complex relays

* spelling

* remove renundant arg
2024-04-10 10:28:37 +02:00
Serban Iorga 9495e1cfcb Handle SIGTERM for the docker containers + relay (#1735)
* Handle SIGTERM for some docker containers

* Implement SIGTERM handling for the relay
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 b51da6451d remove messages pallet owner relay argument (#1728) 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