Commit Graph

175 Commits

Author SHA1 Message Date
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 1723c1e004 [Complex Relayers] Deduplicate l2r and r2l logic (#1535)
* [Complex Relayers] Deduplicate l2r and r2l logic

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

* Renamings
2024-04-10 10:28:37 +02:00
Serban Iorga 77af92b17b Follow-up on #1419 (#1531)
* Parachains source cosmetic changes

- Make `ParaHashAtSource` more generic
- Modify `on_chain_parachain_header` to return `HeaderId`
- Shortening variable names

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

* Change ParachainsSource::max_head_id type

Change ParachainsSource::max_head_id to Arc<Mutex<NoopOption>>

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

* code review changes
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 dc38e3d079 Define HeaderIdProvider trait
Define HeaderIdProvider trait

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Serban Iorga a2dcb1b4ad Move bridge definitions
Move bridge definitions to their specific folder.

Signed-off-by: Serban Iorga <serban@parity.io>
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
Serban Iorga f89eeb920a [CLI] remove select_full_bridge!() macro
Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 88e95388bb Remove obsolete bridges (#1491)
* remove Rococo<>Wococo bridge mentions

* remove Kusama <> Polkadot bridge mentions

* fmt

* remove unneeded mocked runtimes && trait impls for obsolete bridges

* remove unused deps
2024-04-10 10:28:37 +02:00
Serban Iorga 46c0400f26 [CLI] Remove some macros
Refactor the implementations for the following CLI methods in order to
avoid using macros:
- init_bridge
- relay_headers
- relay_parachains

Signed-off-by: Serban Iorga <serban@parity.io>
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 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 9988a7ac99 actually use RialtoParachainMessagesToMillauUpdateConversionRateCallBuilder (#1456) 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 ee5b692f72 fix another clippy warning (#1448) 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 1a8066472a allow(clippy::too_many_arguments) for on-demand relays startup (#1414)
* allow(clippy::too_many_arguments) for on-demand relays startup

* add TODO
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
Sergei Shulepov afb6fb6e5a Generalize error text (#1388)
* Generalize error text

Right now, each time there is an error while executing `substrate-relay`
it will be reported as:

    ERROR bridge Failed to start relay: <Actual cause of error>

This is the case even if the invoked command did not have anything to do
with starting a relayer. Thus this removes this text. Now something like
this would be written:

    ERROR bridge <Actual cause of error>

* Use substrate-relay prefix
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
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
Svyatoslav Nikolsky b3c8852bcf FinalityEngine in substrate relay (#1374)
* introduce FinalityEngine in relay code

* add FinalityEngine to relay

* spelling

* fix test compilation

* Update relays/lib-substrate-relay/src/finality/source.rs

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

Co-authored-by: Adrian Catangiu <adrian@parity.io>
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 ba2b0b086c Mortal conversion rate updater transactions (#1257)
* merge all similar update_conversion_rate functions

* stall timeout in conversion rate update loop

* fmt

* fix
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 2bf5b23262 edition = "2021" (#1346) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 9b4d44bcfa Increase rate from metric when estimating fee (#1340)
* ignore errors when dumping logs and container is missing

* fixed typo

* print correct payload length

* increase conversion rate a bit when estimating fee (to avoid message rejects when rate update tx is active)

* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky e822bbf8ab fixed mess with conversion rates (#1338) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky dd7404f249 fix conversion rate override in token swap (#1336) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky cfdb9fe7f6 Override conversion rate when computing message fee (#1261)
* override conversion rate when message is sent

* spelling + fmt

* add --conversion-rate-override cli option

* try to read conversion rate from cmd output

* fix output

* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 0ef401ae53 Revert "Revert "override conversion rate in estimate-message-fee RPC (#1189)" (#1275)" (#1333)
This reverts commit ffd25db46c5855bcef6710b53d5ca3325ce54e56.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky bc1dcb7548 fix clippy issues (#1332) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky e656e0089e Reinitialize bridge relay subcommand (#1331)
* reinitialize bridge subcommand

* PolkadotToKusama in reinit-bridge
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 60f82cf459 removed extra *_RUNTIME_VERSION consts from relay code (#1330) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 36443f3d54 use mortal transactions in transaction resubmitter (#1326) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky efa3e97210 Encode and estimate Rococo/Wococo/Kusama/Polkadot messages (#1322)
* encode and estimate Rococo/Wococo/Kusama/Polkadot messages

* allow send-message for non-bundled chains

* weight -> dispatch-weight

* fmt

* fix spelling
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 214febc46a expose fee multiplier metrics in messages relay (#1312) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky d4e692e429 increase relay balance guard limits for Polkadot<>Kusama bridge (#1308) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 145bce5f25 Fix mandatory headers scanning in on-demand relay (#1306)
* more logging in on-demand headerss

* remove `maximal_headers_difference` concept from on-demand-relay

* another leftover from previous on-demand version

* removed extra log

* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky e190c35c95 fix session length of Rococo and Wococo (#1304) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky c0f6509d40 Fix ss58 prefixes of Polkadot, Kusama and Westend used by relay (#1298)
* fix ss58 prefixes of Polkadot, Kusama and Westend

* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ea2d6f898d Bump Substrate/Polkadot/Cumulus refs (#1295)
Substrate: 31d90c202d6df9ce3837ee55587b604619a912ba
Polkadot: 60df3c55c711c2872872d6220f98b2611340e051
Cumulus: a9630551c2
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky fe34a526bb Relay balance metrics (#1291)
* relay balance metrics

* convert balance to "main" tokens in balance metrics

* add balances widgets to maintenance dashboard
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky a9334bb609 support version mode cli options in send-message subcommand (#1284) 2024-04-10 10:28:37 +02:00