Commit Graph

516 Commits

Author SHA1 Message Date
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 6ab6a876a1 fix spelling (#1580) 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
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 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
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 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 7969459d07 Change Runtime APIs best_finalized() signature
Change Runtime APIs best_finalized() signature to return Option<HeaderId>

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Serban Iorga f13211344b Small cosmetic changes
Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky c131a5e3c8 Send messages using xcm pallet (#1518)
* send messages using xcm pallet

* XcmBridge && XcmBridgeAdapter + (untested) config in RialtoParachain

* impl encode_send_xcm for the rest

* remove duplicate code

* some fixes

* cleanup

* some more tests

* cleanup

* cleanup

* send Rialto -> Millau messages using bridge-messages pallet

* fmt

* some clippy fixes

* more clippy
2024-04-10 10:28:37 +02:00
Serban Iorga 5d9bd1d0b5 Reduce the number of macros used for SignedExtensions
Reduce the number of macros used for SignedExtensions

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 7590abd1a3 Introduce bridge relayers pallet (#1513)
* introduce relayers pallet

* add MessageDeliveryAndDispatchPaymentAdapter

* plug in pallet into test runtimes

* tests prototype

* tests for the relayers pallet

* tests for payment adapter

* mint_reward_payment_procedure_actually_mints_tokens

* benchmarks

* remove irrelevant todo

* remove redundant clone
2024-04-10 10:28:37 +02:00
Serban Iorga 1e0c2a6e02 Follow-up on #1487 (#1511)
* Remove unused trait implementations

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

* Define encoded_size_hint_u32()

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

* Define TransactionEstimationParams trait

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

* Rework TransactionEstimation

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

* Docs + Renamings

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 2b03f4e9e9 More relay processes in rialtoParachain<>Millau bridge (#1500)
* more relay processes in rialtoParachain<>Millau bridge

* fix dashboards

* fix dump-logs
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ea1f46ff45 Add another condition to the reject-obsolete-parachain-heads extension (#1505)
* add another condition to the reject-obsolete-parachain-heads extension

* add tracing to obsolete-tx-extensions

* fix tests

* extension_rejects_header_from_new_relay_block_with_same_hash

* fmt

* fix benchmarks
2024-04-10 10:28:37 +02:00
Dan Shields e9d7adf8fd rm substrate.dev homepage (#1506)
new docs page
2024-04-10 10:28:37 +02:00
Serban Iorga e1fd877b80 CLI refactoring
* [CLI] Make bridge definitions more complete

* [CLI] Refactor relay_headers_and_messages

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ceefd1b05d remove account derivation functions (#1498) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky d327b25724 Change account names to something meaningful (#1497)
* change testnets account "names" to something meaningful

* fixes

* fix doc

* fmt

* account names as consts

* fmt

* spelling
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 7d97e576d0 Remove without_storage_info for messages pallet (#1487)
* draft: remove without_storage_info for messages pallet

* some cleanup
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 852f629d78 Sync Westmint to Millau (#1482)
* sync Westmint to Millau

* "Westend parachains at Millau" dashboard
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 31a2be845c Fix on-different-forks metrics during initialization (#1468)
* fix on-different-forks metrics during initialization

* "initialize" parachain finality pallet in on-demand parachains relay

* decrease converstion rate requests count

* more error logging

* fix compilation

* clippy
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 418942826d Separate signers for different complex relay layers (#1465)
* separate accounts for different complex relay layers

* fix clippy issue

* cleanup + expose relay accounts balance metrics

* expose messages pallet owner balance metric

* use new metrics in maintenance dashboard

* tests + use separate accounts to sign RialtoHeaders -> Millau transactions in RialtoParachain<>Millau bridge

* clippy + fmt + spellcheck
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 4bbef37a12 use Millau //Iden for RialtoParachain -> Millau transactions (#1460) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 2f9d8e33e0 Add missing parts to rialto parachain bridge (part 1) (#1454)
* add proper parameter names to bridge declaration

* associate RialtoParachain token with DOT

* RialtoParachain<>Millau message pallet owners

* fix compilation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 4d36321e77 Fix deployments again (#1452)
* Revert "try to fix nonces collisions (#1450)"

This reverts commit 5a91ddf4cca0b81f9b04fe7a362298c3863851fa.

* Revert "Revert "try to fix nonces collisions (#1450)""

This reverts commit e6350e839b97946541c1468235575c4bad4c75c1.

* added some accounts to RialtoParachain
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 19c73ce0b7 Signed extension for rejecting obsolete messages pallet transactions (#1446)
* BridgeRejectObsoleteMessages

* add obsolete confirmations verification to the BridgeRejectObsoleteMessages

* move tests where they belong
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 53780cfd1a remove duplicate parachain heads exension (#1444)
* remove duplicate parachain heads exension

* fix benchmarks compilation

* actually fix it
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky db2bc11476 CheckBridgedBlockNumber -> BridgeRejectObsoleteGrandpaHeader (#1442) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 5e2e5906e8 remove unused RialtoParachainGrandpaInstance (#1441) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky b870fe74f8 Parachains pallet benchmarks (#1436)
* added parachains pallet benchmarks

* deduplicate insertion of bridged header

* pruning weight

* fixes

* fix compilation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 5340ee5ab5 Added tracked parachains filter (#1432)
* added trackerd parachains filter + changed some docs

* fix compilation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky f0d05de080 Get dispatch weight from the target chain (when DispatchFeePayment::AtTargetChain is used) (#1430)
* reintroduce From<SourceChain>InboundLaneApi

* impl From<Chain>InboundLaneApi for testnet runtimes

* use inboundlaneapi in relay

* remove unused OutboundXcmWeigher

* spelling

* added the only test to messages pallet

* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 188f16beb0 Fix XCM instruction weight in RialtoParachain to match Millau weight (#1418)
* fix XCM instruction weight in RialtoParachain to match Millau weight

* fix spelling
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 7a92b40eab Fix clippy warnings + try to enable proper (no-warning) clippy on CI (#1410)
* fix clippy warnings

* try to reenable proper clippy on CI

* fix clippy error

* more Eqs

* ignore clippy::derive-partial-eq-without-eq - clippy seems to be broken now :/
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 542ebb5654 Complex RialtoParachain <> Millau relay (#1405)
* complex parachain relay

* fix spelling
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 5f2f61ced5 messages bridge between RialtoParachain and Millau (#1218) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 03c2f06a27 Parachains finality relay (#1199) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky f64357e7e8 CheckBridgedBlockNumber signed extension to reject duplicate header-submit transactions (#1352)
* CheckBridgedBlockNumber signed extension to reject duplicate header submit transactions

* fix depends_on
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 748c265c47 Xcm in Rialto<>Millau bridge (#1379)
* add XCM pallet to Millau runtime

* some progress

* messages are delivered (no fee)

* temp

* flush

* flush

* some progress

* progress

* Trap(42) is dispatched successfully

* fix spelling

* no more manual sending

* parametrize weight credit for tests

* actually charge fees

* enable send-using-messages-pallet to keep our test deployments alive + send valid XCM sometimes

* fix benchmarks build

* fix tests
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky d582061dff Remove support for encoded-call messaging from relay and runtime integration code (#1376)
* remove support for encoded-call messaging

* continue cleanup

* continue cleanup

* continue cleanup

* more cleanpup

* more cleanup

* fmt

* continue cleanup

* spellcheck

* rename

* fix benchmarks

* mention encoded-calls-messaging tag

* fixing deployments

* fix messages generation

* fmt
2024-04-10 10:28:37 +02:00
Adrian Catangiu dc96aeea35 Update Substrate/Polkadot refs for latest BEEFY + xcm-v3 capability (#1381)
* Update Substrate/Polkadot xcm-v3-capable references

Branches below are based on gav-xcm-v3 + cherry-picked BEEFY commits.

polkadot: 'locked-for-gav-xcm-v3-and-bridges#6e00638f0a2d07ba3bb1c7430a539c15b5a79b74'
substrate: 'sv-locked-for-gav-xcm-v3-and-bridges#a42bef088f173f54aba152ca63eb301ba44dd339'

Signed-off-by: acatangiu <adrian@parity.io>

* millau: reduce beefy min block delta to 2

* bump substrate, polkadot refs to include beefy fixes

* grafana: fix beefy dashboards
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky c538a39816 Switch to gav-xcm-v3 branch to be able to test bridges + XCMv3 integration (#1378)
* switch to gav-xcm-v3 branch (wip)

* add comment

* play with CI

* keep playing with CI

* play with CI

* trigger CI

* Revert "trigger CI"

This reverts commit fc35ac648fe6a3ea8e710a2e07dfee7d8762c6c4.
2024-04-10 10:28:37 +02:00
Adrian Catangiu 14b27a0209 Update Substrate/Polkadot/Cumulus references (#1364)
cumulus: b468d0c33e
polkadot: 827792ca833396c82c726eda0bc2ad32ecddba73
substrate: 666f39b8a22108f57732215de006518738034ba2

bump serde_json to 1.0.79

sync changes from https://github.com/paritytech/substrate/pull/11022

fixed clippy warnings

Signed-off-by: acatangiu <adrian@parity.io>
2024-04-10 10:28:37 +02:00
Adrian Catangiu d04b018630 Few typos and clippy fixes (#1362)
* fix typos

* clippy fixes
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 65c2c0ccce Update Substrate/Polkadot/Cumulus references (#1353)
* cumulus: 4e95228291
polkadot: 975e780ae0d988dc033f400ba822d14b326ee5b9
substrate: 89fcb3e4f62d221d4e161a437768e77d6265889e

* fix refs

* sync changes from https://github.com/paritytech/polkadot/pull/3828

* sync changes from https://github.com/paritytech/polkadot/pull/4387

* sync changes from https://github.com/paritytech/polkadot/pull/3940

* sync with changes from https://github.com/paritytech/polkadot/pull/4493

* sync with changes from https://github.com/paritytech/polkadot/pull/4958

* sync with changes from https://github.com/paritytech/polkadot/pull/3889

* sync with changes from https://github.com/paritytech/polkadot/pull/5033

* sync with changes from https://github.com/paritytech/polkadot/pull/5065

* compilation fixes

* fixed prometheus endpoint startup (it now requires to be spawned within tokio context)
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ed2a3082ef Support dedicated lanes for pallets (#962)
* pass call origin to the message verifier

* is_outbound_lane_enabled -> is_message_accepted

* trait SenderOrigin

* only accept messages from token swap pallet to token swap lane

* tests for edge cases of pay_delivery_and_dispatch_fee

* fixed origin verification

* fmt

* fix benchmarks compilation

* fix TODO with None account and non-zero message fee (already covered by tests)

* revert cargo fmt changes temporarily
2024-04-10 10:28:37 +02:00