Commit Graph

130 Commits

Author SHA1 Message Date
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
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 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 ee5b692f72 fix another clippy warning (#1448) 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
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 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 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 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 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
Svyatoslav Nikolsky c4837d2368 do not start spec_version guard when version mode is set to auto (#1278) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky eb5a3eecd2 Revert "override conversion rate in estimate-message-fee RPC (#1189)" (#1275)
This reverts commit ad4299f6c91ce4c50cb6fbc739a0c788e2920956.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 741484214e override conversion rate in estimate-message-fee RPC (#1189) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 22b1e456ab move storage keys computation to primitivs (#1254) 2024-04-10 10:28:37 +02:00
fewensa 3aff81a707 Change submit transaction spec_version and transaction_version query from chain (#1248)
* The `spec_version` and `transaction_version` query from chain

* fix compile

* Lint

* Custom spec_version and transaction_version

* runtime version params struct opt

* runtime version cli

* cli params

* Add missing types defined

* fix compile

* debug cli

* clippy

* clippy

* Query spec_version and transaction_version same times

* Fix vars

* Wrap option

* Wrap option

* Try fix ci

* Change follow suggestions
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 4cdd959057 Refactor message relay helpers (#1234)
* refactor message relay helpers

* single standalone_metrics function

* fixed tests

* clippy + fmt

* removed commented code

* add calls tracing

* fix spelling

* cargo fmt

* -commented code

* fix build again

* post-merge build fix

* clippy + fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky e675b13042 Refactor finality relay helpers (#1220)
* refactor finality relay helper definitions

* add missing doc

* removed commented code

* fmt

* disable rustfmt for macro

* move best_finalized method const to relay chain def
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky f84590817b Update Rococo/Wococo version + prepare relay for Rococo<>Wococo bridge (#1241)
* update Rococo version + create relayers fund account

* start finality relay guards when complex relay is started
2024-04-10 10:28:37 +02:00