Commit Graph

16417 Commits

Author SHA1 Message Date
Branislav Kontur 6c4728f1cc Rococo/Wococo bridge hub relay integration (#1565)
* [BridgeHub] Added bridge-hub-rococo/wococo clients with bridge-hub-rococo-runtime

* [BridgeHub] Add init-bridge stuff for bridge-hub-rococo/wococo

* [BridgeHub] Add init-bridge stuff for bridge-hub-rococo/wococo

* [BridgeHub] Fixed Call-encoding for init-bridge rococo runtime wrapper

* Final index update to runtime calls

* [BridgeHub] Add init-bridge stuff for bridge-hub-rococo/wococo (otherside)

* Added runtime best_finalized functions + relay-headers init

* Renaming and change BridgeHubRococo/Wococo to Rococo/Wococo config

* [BridgeHub] Add relay-parachains (Rococo/Wococo)

* Missing stuff for adding xcm messaging to BridgeHub

* extracted parachain IDs to the primitives

* fix compilation

* Fixes

* Init setup for Rococo->Wococo messaging support

* Removed unused AccountId from `trait MessagesBridge`

* Removed unused trait SenderOrigin

* Small fixes

* Cleaning after master-merge

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes:
- align WeightToFee with BridgeHubRococo runtime
- MAX_HEADER_SIZE
- updated TODOs

* Added relay_messages cfg for BridgeHubWococo -> BridgeHubRococo

Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 3c76889948 rename ChainWithMessages -> UnderlyingChainProvider (#1639) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 6dcecf4425 Reintroduce header chain trait (#1622)
* reintroduce header chain trait

* renive BridgedChainWithMessages::maximal_extrinsic_size
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 3e00c5c022 Statemine primitives (#1625)
* Statemine primitives

* ref issue in TODO

* fix TODO
2024-04-10 10:28:37 +02:00
Branislav Kontur 2c0b6b73e0 Bump xcm v3 + substrate
* Bumping substrate/polkadot/cumulus

* Update Cargo.lock

* Fixes

* Fixes for mmr

* Bump clap

* Fix for millau - added CompatibilityMode

* Fixes for rialto-parachain

* Align everywhere branch='master' and just use overrides from main Cargo.toml
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky a979340e49 refactor transaction sign scheme (#1621) 2024-04-10 10:28:37 +02:00
Serban Iorga 01538bc5fa Finality loop: get block justification and authorities change by consensus engine ID (#1619)
* SignedBlock: get justification by consensus engine id

* Define ConsensusLogReader

Making the check for authority changes more generic

* cod review changes
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky f58e076ca2 fixes for nightly clippy (#1618) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 9592b55fea fix parameter to match used value GRANDPA benchmarks (#1616) 2024-04-10 10:28:37 +02:00
Serban Iorga 4f796ce803 Define SubstrateBeefy RPC client (#1615) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 9bf36be259 remove xcm-copy module (#1614) 2024-04-10 10:28:37 +02:00
Serban Iorga a372fd6394 Fix parachains_loop::tests::minimal_working_case 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky e97bb57564 weights v1.5: iteration 2 (#1613) 2024-04-10 10:28:37 +02:00
Branislav Kontur 829b23c7cf Removed unused trait SenderOrigin (#1611) 2024-04-10 10:28:37 +02:00
Serban Iorga 597ea49664 Finality loop - cosmetic changes (#1609)
* Move some logic to RestartableFinalityProofsStream

* Move some logic to `Transaction`

* Avoid unnecessary split_off
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky a3dc2d2748 Bump Substrate/Polkadot/Cumulus refs (aka Weights v1.5) (#1597)
* update Substrate + Polkadot + Cumulus refs

* Origin -> RuntimeOrigin

* weights v1.5

* update refs once again + `cargo test -p pallet-bridge-grandpa` works

* started work on `cargo test -p pallet-bridge-messages`

* cargo test -p pallet-bridge-relayers

* cargo test -p pallet-bridge-parachains

* cargo test -p millau-runtime

* cargo test -p bridge-runtime-common

* cargo test -p rialto-runtime

* cargo test -p rialto-parachain-runtime

* cargo test -p millau-bridge-node

* cargo test -p rialto-bridge-node

* cargo test -p rialto-parachain-collator

* cargo test -p messages-relay

* cargo test -p parachains-relay

* cargo test -p substrate-relay

* cargo test --all

* cargo check -p millau-runtime --locked --features runtime-benchmarks

* fix remaining test

* fmt

* try to allow clippy failure temporarily

* Revert "try to allow clippy failure temporarily"

This reverts commit d1b6593580f07e0dbeecb7ab0aa92cee98888ed3.

* use min_by

* Revert "use min_by"

This reverts commit 33042f49ed37e8dd0505370289e17f03bf1a56ee.

* Revert "Revert "use min_by""

This reverts commit 1d2204f0b14dc81e5650bb574dedb5fa78c7097d.

* trigger CI

* Revert "trigger CI"

This reverts commit 259d91b5606743bba9d043c69f07eac6c8700ef5.

* new day, new clippy warning

* more clippy issues
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 9e1847d12a Fix new nightly clippy issues (#1604)
* clipy

* revert some fixes that newest clippy reports as issues, but older does not
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 6c26aae035 increase max header size of Rialto and Millau (512 -> 1024) (#1603) 2024-04-10 10:28:37 +02:00
Branislav Kontur 87c3a57942 Removed unused AccountId from trait MessagesBridge (#1600) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky be2a13c747 Remove without_storage_info from parachains pallet (#1596)
* remove without_storage_info from pallet-bridge-parachains

* fix benchmarks
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky f38852f661 Remove pallet::without_storage_info from bridge GRANDPA pallet (#1478)
* remove pallet::without_storage_info from bridge GRANDPA pallet

* StoredBridgedHeader

* spelling

* fix benchmarks

* MAX_BRIDGED_AUTHORITIES: 256 -> 2048

* Update modules/grandpa/src/storage_types.rs

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

* Update modules/grandpa/src/storage_types.rs

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

* moved max authorities + header size to chain primitives

* removed unused code

* new -> try_new

* fix benchmarks compilation

Co-authored-by: Adrian Catangiu <adrian@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 6f9bda5db0 MillauWeight -> BridgeWeight (#1593) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 4f4200b0eb Use proper account types (#1591)
* use proper account types

* Update primitives/messages/src/source_chain.rs

Co-authored-by: Branislav Kontur <bkontur@gmail.com>

Co-authored-by: Branislav Kontur <bkontur@gmail.com>
2024-04-10 10:28:37 +02:00
Branislav Kontur 75d61ff708 LaneMessageVerifier - removed unused Submitter (#1589)
* LaneMessageVerifier - removed unused Submitter

* fmt
2024-04-10 10:28:37 +02:00
Branislav Kontur d64815cdef Cleaning deps + satisfy `cargo build --release --all-targets --all-fe… (#1587)
* Cleaning deps + satisfy `cargo build --release --all-targets --all-features`

* PR fixes
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 43afa02372 Read extrinsic dispatch result for mined transaction (#1582)
* read extrinsic dispatch result for mined transaction

* commit for the history

* Revert "commit for the history"

This reverts commit 99341b04750639db296172cc1432bd70e458ef4b.

* Revert "read extrinsic dispatch result for mined transaction"

This reverts commit 662b776cbf992be9f1637e52f023b782e8c441d1.

* check for successfult transaction in finality relay

* check for successful transaction in parachains relay

* TrackedTransactionStatus ->TrackedTransactionStatus<HeaderId>

* check for successful transaction in messages relay

* fix compilation

* message_lane_loop_is_able_to_recover_from_unsuccessful_transaction

* fixed too-complex-type clippy error

* aaand compilation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 1abd5cb60d restart relay loop when proof genration fails (#1585) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 5ff36549f1 remove unnecessary consts (#1586) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 0f79d1e86e fail if transaction submit has failed (#1584) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky e534e90193 use transaction tracker in messages relay (#1581) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 86be60ad40 use transaction tracker in parachains relay (#1575)
* use transaction tracker in parachains relay

* actually return tx tracker from target client implementation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 6ab6a876a1 fix spelling (#1580) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 415f28fac8 Do not wait for tx status forever (#1578)
* do not wait for tx status forever

* more logging
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 70d6e91f20 TransactionInvalidationTracker (#1544)
* TransactionInvalidationTracker

* TransacitonInvalidationTracker -> TransactionTracker

* change sign_transaction method

* clippy and spelling

* removed comment

* more transactiontracker tests

* stalls_when_transaction_tracker_returns_error

* remove test code

* remove "impl TransactionTracker for ()"

* enum TrackedTransactionStatus

* test TransactionTracker in on_transaction_status

* do_wait
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 58fe2749d2 Expand docs on ParasPalletName (#1571)
* expand docs on ParasPalletName

* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 653ff6ef0d Add events to the bridge parachains pallet (#1568)
* add events to the bridge parachains pallet

* clippy + spellcheck

* fix compilation

* untracked is not a word?
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 95c30c780c update Substrate/Polkadot/Cumulus refs (#1562)
* update Substrate/Polkadot/Cumulus refs

* finality-grandpa 0.16

* fix miillau-runtime compilation

* fix rialto runtime compilation

* fixed rialto-parachain runtime compilation

* backport GRANDPA test fixes

* helper instead of removed record_all_keys

* substrate-relay is compiling

* millau-bridge-node at least compiles

* rialto-bridge-node at least compiles

* rialto-parachain-collator compiles

* fixings tests (wip)

* fmt

* fixed BEEFY alert

* clippy

* removed unused dep

* -extra var

* move Leaf to mod mmr

* fix benchmarks
2024-04-10 10:28:37 +02:00
Serban Iorga ad38cdb873 Follow-up on #1068 (#1567)
* BestParaHead small changes

Signed-off-by: Serban Iorga <serban@parity.io>

* Renamings

Signed-off-by: Serban Iorga <serban@parity.io>

* Use ParaInfo in parachains loop

Signed-off-by: Serban Iorga <serban@parity.io>

* Define StorageMapKeyProvider

Signed-off-by: Serban Iorga <serban@parity.io>

* CR fixes

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Branislav Kontur 1c94fbeafc Get paraId from configured SOURCE_PARACHAIN_PARA_ID (#1564) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky f35b4f4897 Extract unsigned tx from the SignParam structure (#1561)
* change sign_transaction method

* clippy

* rustup update && clippy

* remove redudnant clone
2024-04-10 10:28:37 +02:00
Branislav Kontur effe0f11c8 Unnecessery clones + removed unused Enum value (#1557)
* Unnecessary clone

* Removed unused Enum value

* Client - ConnectionParams wrapped with Arc + removed unnecessery clone

* Client - ConnectionParams wrapped with Arc + removed unnecessery clone
2024-04-10 10:28:37 +02:00
Branislav Kontur 793321fcfc Reexport paste from sp-runtime in bp-runtime to aviod including paste dependency everywhere (#1556)
* Reexport paste from `sp-runtime` in `bp-runtime` to aviod including `paste` dependency everywhere

* Add import `bp_runtime` to macro calls: decl_bridge_finality_runtime_apis/decl_bridge_messages_runtime_apis
2024-04-10 10:28:37 +02:00
Serban Iorga f3a151feeb Split decl_bridge_runtime_apis!() (#1553)
Signed-off-by: Serban Iorga <serban@parity.io>

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Branislav Kontur 7ad5b0fe56 Bump codec version 3.0.0 -> 3.1.5 + unify parity-scale-codec vs codec (#1552) 2024-04-10 10:28:37 +02:00
Serban Iorga 682fafdf56 Follow-up on #1536 (#1549)
* Make RelayStrategy::final_decision() sync

Signed-off-by: Serban Iorga <serban@parity.io>

* Move logic from RelayStrategy to RelayReference

Signed-off-by: Serban Iorga <serban@parity.io>

* Rename RelayStrategy::final_decision()

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Branislav Kontur 260dad5110 Bko cosmetics (#1550)
* Bump log version to 0.4.17

* Removed unnecesseray dependency + rename BridgeGrandpaMillauCall to BridgeGrandpaCall
2024-04-10 10:28:37 +02:00
Serban Iorga 59c168e89b Declare declare_bridge_chain_runtime_apis! macro
Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Serban Iorga 5cc874e7b8 relayers pallet - small changes (#1547)
Signed-off-by: Serban Iorga <serban@parity.io>

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Serban Iorga e0b42dfae7 Follow-up on #1518 (#1546)
* Adjustments for the xcm messages sending logic

Signed-off-by: Serban Iorga <serban@parity.io>

* Deduplicate XCM destination

Signed-off-by: Serban Iorga <serban@parity.io>

* [send_message] small changes

Signed-off-by: Serban Iorga <serban@parity.io>

* Define CustomNetworkId

Right now we use some associations between Rialto, RialtoParachain and
Millau chains and chains defined in the NetworkId enum. But if we are
not carreful we might do mistakes like:
In Millau:
pub const ThisNetwork: NetworkId = Kusama;
pub const RialtoNetwork: NetworkId = Polkadot;
In Rialto:
pub const ThisNetwork: NetworkId = Kusama;
pub const MillauNetwork: NetworkId = Polkadot;

We're introducing CustomNetworkId to have a centralized mapping between
NetworkId chains and our custom chains.

Signed-off-by: Serban Iorga <serban@parity.io>

* Revert "Deduplicate XCM destination"

This reverts commit 3a0a950e1d7484e3ecac45f5c00b152f0485cd11.

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Serban Iorga 050b12f3aa Call To*InboundLaneApi::message_details() with batched messages (#1545)
* generated_message_details() -> Simplifications

- avoid using a HashMap for `messages_to_refine`. It seems that a vec is
  enough
- minimize the number of conversions between `OutboundMessageDetails` and
  `MessageDetails`
- use references where possible in order to minimize the number of
  intermediary Vecs
- simplify `make_message_details_map()` logic, reduce its scope and rename
  it to `validate_out_msgs_details()`

Signed-off-by: Serban Iorga <serban@parity.io>

* Define typed_state_call()

Signed-off-by: Serban Iorga <serban@parity.io>

* Call To*InboundLaneApi::message_details() with single messages

Signed-off-by: Serban Iorga <serban@parity.io>

* Call To*InboundLaneApi::message_details() with batched messages

Signed-off-by: Serban Iorga <serban@parity.io>

* validate_out_msgs_details() -> change check

* Define split_msgs_to_refine()

Signed-off-by: Serban Iorga <serban@parity.io>

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00