Commit Graph

16499 Commits

Author SHA1 Message Date
dependabot[bot] 341efe2b6a Bump backoff from 0.2.1 to 0.4.0
Bumps [backoff](https://github.com/ihrwein/backoff) from 0.2.1 to 0.4.0.
- [Release notes](https://github.com/ihrwein/backoff/releases)
- [Commits](https://github.com/ihrwein/backoff/compare/v0.2.1...v0.4.0)

---
updated-dependencies:
- dependency-name: backoff
  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] 76a84c6366 Bump strum from 0.21.0 to 0.24.1
Bumps [strum](https://github.com/Peternator7/strum) from 0.21.0 to 0.24.1.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  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
dependabot[bot] c706071383 Bump clap from 4.1.0 to 4.1.1
Bumps [clap](https://github.com/clap-rs/clap) from 4.1.0 to 4.1.1.
- [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/clap_complete-v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: clap
  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 1b608e4b9f No wildcard patterns in Cargo.toml (#1789)
* dependabot doesn't support wildcard patterns in cargo.toml and we want dependabot

* spelling for "fresh" crates

* and fmt

* spelling again
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
Serban Iorga 9465ef6071 Expose EXTRA_STORAGE_PROOF_SIZE in bp-bridge-hub-cumulus (#1788)
We need this for the integrity tests in cumulus.
2024-04-10 10:28:37 +02:00
Branislav Kontur 51fc5f6708 Removed unecesserry test + substrate/polkadot (#1787)
* just update polkadot version

* Removed unecesserry test + substrate/polkadot
2024-04-10 10:28:37 +02:00
Serban Iorga 2ff3a7aa38 Add integrity check for signed extensions (#1780)
* Add integrity check for signed extensions

* Remove unneeded type specification
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 4cdb85247e add try-runtime feature to pallets (#1779) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 74fb0a536d Default impl for some methods in messages benchmarking pallet config (#1777)
* default impl for some methods in messages benchmarking pallet config

* typo
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
Svyatoslav Nikolsky b06cd924e9 Crate-level documentation on finality relays and relayers pallet (#1773)
* started crate-level documentation on relays and relayers pallet

* fixes in finality and parachain finality relay docs

* fix links

* grammar fixes
2024-04-10 10:28:37 +02:00
Serban Iorga 8a4f984a7a Define separate signed extension for BHR/BHW (#1776)
- Make signed extensions for indirect runtimes more extensible
- Define separate signed extension for BHR/BHW
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 8494162d2a update Substrate/Polkadot/Cumulus deps to master (#1775) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky c36ba5a562 Added crate-level docs for the parachains pallet (#1772)
* crate-level docs for the parachains pallet

* fix typos
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 763ab922fa added/updated pallet level docs to grandpa and messages pallets (#1771) 2024-04-10 10:28:37 +02:00
Adrian Catangiu acadd44288 docs: add Security Policy doc (#1770)
Signed-off-by: acatangiu <adrian@parity.io>
2024-04-10 10:28:37 +02:00
Branislav Kontur 5fdc89d651 Bump xcm-v3 + substrate (#1767)
* Bump xcm-v3 + substrate

* More fixes

* Added `#[pallet::call_index`

* Fixes for MMR (TODO:plese check)

* More call indexes

* Cumulus bump

* Fixes for mmr

* Fixes for weights

* Fixes for xcm

* MMR fixes + cargo fmt

* Fix some rpc errors (bump jsonrpsee version)

* Fix cumulus stuff

* Fixes cumulus

* clippy

* more clipy

* Fix test + unused deps

* PR fixes

* cargo update (bump xcm-v3)

Co-authored-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Serban Iorga add2914a5c Define method for checking message lane weights (#1766)
* Define method for checking message lane weights

* Docs for public function

* Renamings
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky c81afc3e93 increase MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX and MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX for RBH/WBH (#1765)
* increase MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX and MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX for RBH/WBH

* moved MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX and MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX to cumulus bridge primitives

* typo
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky cca75ee841 fixed receive_delivery_proof_for_two_messages_by_two_relayers (#1764) 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 b63287da20 Remove sp-version dependency from bin-substrate (#1758) 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
Svyatoslav Nikolsky e0e84b734b fix nightly clippy again (#1752) 2024-04-10 10:28:37 +02:00
Serban Iorga c387f7a4b9 Remove TODO (#1749) 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
Svyatoslav Nikolsky a21617082e fix nightly clippy (#1746) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 7821e66bcd Update project level docs (#1734)
* updated project level document

* updated high level overview document

* GRANDPA finality relay sequence diagram

* Parachains Finality Relay Sequence Diagram

* Messages Relay Sequence Diagram

* Complex Relayer Sequence Diagram

* small fix

* Polkadot <> Kusama bridge flowchart

* remove obsolete files

* started polkadot-kusama-bridge-overview.md

* continue polkadot-kusama-bridge-overview.md

* couple more sections in polkadot-kusama-bridge-overview.md

* continue polkadot-kusama-bridge-overview.md

* renew deployments readme

* fixed review suggestions

* Update docs/high-level-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* removed obsolete section

* Update docs/high-level-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Update docs/high-level-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Update docs/high-level-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Update docs/high-level-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* typo

* Update docs/polkadot-kusama-bridge-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Update docs/high-level-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Update docs/high-level-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Update docs/high-level-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Update docs/high-level-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Update docs/polkadot-kusama-bridge-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Update docs/polkadot-kusama-bridge-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Update docs/polkadot-kusama-bridge-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Update docs/polkadot-kusama-bridge-overview.md

Co-authored-by: Adrian Catangiu <adrian@parity.io>

Co-authored-by: Adrian Catangiu <adrian@parity.io>
2024-04-10 10:28:37 +02:00
Serban Iorga 64f03aaa0b Improve relayer initialization behaviour (#1743)
Wait until the initialization transaction is finalized/lost.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky f82372e818 Make debug display of LaneId compatible with its previous version (#1740)
* make {:?} of LaneId compatible with its previous version

* fmt

* apply review suggestions
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
Serban Iorga 41daa32acb Simplify read_client_state() (#1739) 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 df1aed01c4 Updated db weights and some experiments (#1732)
* updated weights

* also fix off-by-one in benchmarks
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 1b9b134f30 Do not require new headers if lane is empty (#1725)
* do not require new headers if lane is empty

* handle edge case (need proof-of-delivery-confirmations to be able to submit delivery tx) in required_source_header_at_target

* clippy
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 7964152b49 more traces + remove signer override (#1727) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 3906131d53 remove BatchDeliveryTransaction::new and BatchConfirmationTransaction::new to avoid expects (#1726) 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
Svyatoslav Nikolsky a732a04ed4 fix pallet names at bridge hubs (#1722) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky dc989fa674 tests (#1720) 2024-04-10 10:28:37 +02:00
Branislav Kontur 52542b11d4 Check origin? (#1718)
* Check origin?

* Removed ensure_signed

* clippy
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