Commit Graph

45 Commits

Author SHA1 Message Date
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
Tomasz Drwięga e69e94d4f9 Enable offchain indexing for Rialto/Millau nodes (#1239)
* Enable off-chain indexing for Rialto & Millau nodes

* cargo fmt --all

* cargo +nightly fmt --all

* fmt is weird.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky bbf8b51f9c Unify metric names (#1209)
* unify metric names

* refactor standalone metrics

* headers sync metrics

* post-merge fix

* fix compilation

* fmt

* fix dashboards

* fix local dashboards

* update Rococo/Wococo runtime version

* remove commented code

* fixed grumbles

* fmt

* fixed widget names
2024-04-10 10:28:37 +02:00
fewensa 19201175e6 Custom relay strategy (#1198)
* Add relayer strategy

* Add default relayer strategy

* default relayer strategy

* expose relayer strategy

* fix compile

* fix compile

* docs

* Rename Relayer to Relay, keep RelayerDecide

* split `DefaultRelayerStrategy` into `AltruisticRelayerStrategy` and `RationalRelayerStrategy`

* Remove relayer mode

* Remove unused import

* Rename `RelayerStrategy` to `RelayStrategy`

* Add missing docs

* clippy

* clippy

* clippy

* clippy

* Revert `relayer_mode` and add `MixStrategy`

* Add `EnforcementStrategy`

* fix bug and simplify relay strategy

* Update message_lane_loop.rs

* Update messages_target.rs

* clippy

* clippy

* clippy

* clippy

* clippy

* clippy

* clippy

* fix test

* fix test

* test

test

test

fix test
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 1ef41a59be Message transactions mortality (#1191)
* transactions mortality in message and complex relays

* logging + enable in test deployments

* spellcheck

* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky e23266c7e6 Bump dependencies (#1180)
* substrate: d0f6c1c60da22e04dd25c2eca46ebfe6f1571af0
polkadot: dd4b2e6a34a08a01b876d14641e99e7011be3463
cumulus: 9379cd6c18

* fmt

* fixed lost refs

* spelling

* benckhmarks

* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 6396239e18 cargo +nightly fmt --all (#1192) 2024-04-10 10:28:37 +02:00
Vladislav 5842968273 Unify error enums in substrate and ethereum clients with thiserror (#1094)
* Unify error enums in substrate and ethereum clients with `thiserror`

Related to https://github.com/paritytech/parity-bridges-common/issues/857

* Add license pre-amble

* rustfmt

* Fix spelling
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky a635048b8a Register-parachain subcommand of substrate-relay (#1170)
* register parachain relay subcommand

* revert cargo patch

* added basic test

* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 75a1baac03 fix clippy warning (#1163) 2024-04-10 10:28:37 +02:00
hacpy bd70de8b8b Match substrate's fmt (#1148)
* Alter gitlab.

* Use substrate's rustfmt.toml

* cargo +nightly fmt --all

* Fix spellcheck.

* cargo +nightly fmt --all

* format.

* Fix spellcheck and fmt

* fmt?

* Fix spellcheck

Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 084da4343d Box large arguments of GRANDPA pallet (#1154)
* box large arguments

* benchmarks

* fix
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 2db84b74cc Polkadot <> Kusama relayers (#1122)
* relay headers between Kusama and Polkadot

* relay messages between Kusama and Polkadot

* complex Kusama <> Polkadot relayer

* expose relayer_fund_account_id from messages pallet

* create relayers fund accounts on Kusama/Polkadot + some more fixes

* fmt

* fix compilation

* compilation + clippy

* compilation

* MAXIMAL_BALANCE_DECREASE_PER_DAY for K<>P header relays

* fmt

* deduplicate tests

* Update modules/messages/src/lib.rs

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* extract storage_parameter_key function

* other grumbles

* fix

* fmt

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 79143f6ec6 Add parachain pallets to rialto runtime (#1053)
* use BABE to author blocks on Rialto (previously: Aura)

* removed extra script

* use bp_rialto::Moment

* fix tests

* Babe should control session end

* add parachain pallets to Rialto runtime

* add parachain pallets to rialto runtime + add parachains inherent data provider to node

* remove script again

* fmt

* allow unlicensed crates

* spellcheck

* fix compilation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 7369ff9d70 Move some associated types from relay_substrate_client::Chain to bp_runtime::Chain (#1087)
* move some associated types from relay_substrate_client::Chain to bp_runtime::Chain

* dummy commit

* Revert "dummy commit"

This reverts commit 81bc64aa092df115a7c68e7bb7ca5e83ec31fd20.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 1df7076c4f Transactions resubmitter (#1083)
* resubmit transactions: start

* resubmit transactions: continue

* enable resubmitter in deployments

* clippy

* spellcheck

* Update relays/client-substrate/src/chain.rs

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* fix compilation

* fix compilation

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 03a54df398 Fix delivery transaction estimation used by rational relayer (#1109)
* fix delivery transaction estimation in greedy relayer

* fixed typo

* improve logging

* improve logging

* fmt

* fix compilation

* fmt

* Update relays/lib-substrate-relay/src/messages_target.rs

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* review

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
Antonio Dropulic 5c71f0e996 Refactor substrate messages source and substrate messages target (#1105)
* Remove redundant generic parameters from SubstrateMessagesSource

* Remove redundant generic parameters from SubstrateMessagesTarget

* use uniform alias naming

* use aliases instead of fully quallified syntax

* pr feedback
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky b5240f3f18 fix compilation (#1107) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 864c830618 Emit mortal transactions from relay (#1073)
* mortal relay transactions

* sign block hash for mortal transactions

* TransactionEraOf

* add explanation

* enable mortal transactions for Westend -> Millau headers relay

* clippy

* spellcheck
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 3ef4574594 Stored conversion rate updater (#1005)
* update conversion rate: initial commit

* Rialto=Polkadot && Millau=Kusama + actually update conversion rates

* update deployment scripts and readme

* allow non-zero difference between stored and real rates

* dummy commit

* Revert "dummy commit"

This reverts commit a438198180a8385feeaaca60c9d2da0950465215.

* clippy

* #[allow(clippy::float_cmp)] in conversion rate update

* dummy

* Revert "dummy"

This reverts commit 90cd6e47cda56f655e94dbef76138e6cc58d664a.

* spell

* shared_value_ref() -> get()

* Revert "shared_value_ref() -> get()"

This reverts commit 20aa30de6a59b2099cfba3e9676e71200b7bb468.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky fc9363619a [BREAKING] Migrate messages pallet to frame v2 (#1088)
* get rid of frame_support::traits::Instance usage in messaging

* migrate messages pallet to frame v2

* fix benchmarks

* remove dummy event + add Parameter to metadata

* review

* typo
2024-04-10 10:28:37 +02:00
fewensa 8cb2633437 Common crate for substrate-relay (#1082)
* lib-substrate-relay

* pass to build

* remove unused file

* clippy && tests

* Changed follow suggestions

* License

* Make changes follow suggested

* docs

* fix fmt
2024-04-10 10:28:37 +02:00
Tomasz Waszczyk f86d101d7c Fix full spellcheck (#1076)
* fix(spellcheck): test of fixing

* fix(hunspell): improved many typos etc.

* fix(hunspell): all errors solved

* fix(hunspell): extended scope of files - the build should fail

* Return error code.

* Fix spelling, sort dictionary.

* fix(hunspell): added fix to gitlabs check

* fix(typo): one typo and test of verification on github

* fix(typo): one typo

Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 88ee6bd6a0 Pay dispatch fee at target chain cli option (#1043)
* dispatch-fee-payment=at-target-chain cli option

* generate at-target-chain messages

* Update relays/bin-substrate/src/cli/send_message.rs

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky a428420866 Cli option for greedy relayer + run no-losses relayer by default (#1042)
* cli option for greedy relayer + run no-losses relayer by default

* trigger build

* Revert "trigger build"

This reverts commit f77ae3a634b909bb4dc915941a4c1011a86019f0.

* NoLosses -> Rational
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 166b5309e6 give real value to Rialto and Millau tokens (#1038) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky fd39d3519e Use real conversion rate in greedy relayer strategy (#1035)
* use real conversion rate in greedy relayer strategy

* only accept positive, normal numbers in FloatJsonValueMetric
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 084c2e6c64 fixed metrics prefix (#1037) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ecd20d9d24 Shared reference to conversion rate metric value (#1034)
* shared conversion rate metric value

* clippy
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky db0216dabb estimate transaction fee (#1015) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 165730a2c2 Rococo <> Wococo messages relay (#1030)
* MessagesInstance -> BridgedMessagesInstance

* Chain::ID -> Bridge::THIS_CHAIN_ID+Bridge::BRIDGED_CHAIN_ID

* FromBridgedChainEncodedMessageCall<B> -> FromBridgedChainEncodedMessageCall<DecodedCall>

* impl Parameter for ()

* copypaste storage_map_final_key to avoid different runtime references/dummy runtimes

* moved dummy runtime from primitives to relay client

* Rococo <> Wococo messages relays

* send R<>W messages using relay

* fmt

* return Result from get_dispatch_info

* fix benchmarks compilation

* clippy
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 09df16612b Messages relayer operating mode (#995)
* introduce relayer mode enum

* removed MaximalReward mode

* TODO

* Saturating -> SaturatingAdd

* ref issue in TODOs

* Update relays/messages/src/message_race_delivery.rs

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky f321b07606 Rococo <> Wococo relayer balance guard (#998)
* relayer balance guards in Rococo <> Wococo

* removed printlns

* update constant

* update constant

* start balance guard for Wococo -> Rococo

* Update relays/bin-substrate/src/chains/wococo_headers_to_rococo.rs

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

* Update relays/bin-substrate/src/chains/wococo_headers_to_rococo.rs

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ec8412b6d0 rename messages_dispatch_weight -> message_details (#996)
Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ea82ad67cf removed stray file (#969) 2024-04-10 10:28:37 +02:00
fewensa 51bba378ca Correct type error (#968) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky bfaa6a4309 Start finality relay spec-version guards for Rococo <> Wococo finality relays (#965)
* start finality relay guards

* comment
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ff7f8ad098 pass source and target chain ids to account_ownership_proof (#963) 2024-04-10 10:28:37 +02:00
fewensa 4ccf7a2f5a Move pallet-bridge-dispatch types to primitives (#948)
* message dispatch support multiple instances

* Move pallet-bridge-dispatch types to primitives

* remove pallet-bridge-dispatch dependency

* Update cargo.lock (remove pallet-bridge-dispatch in substrate-relay)

* remove extra dependencies
2024-04-10 10:28:37 +02:00
Hernando Castano 7dc564a067 Add Wococo<>Rococo Header Relayer (#925)
* Add Wococo primitives crate

* Add more Wococo boilerplate code

* Add CLI support for initializing the Wococo<>Rococo bridge

* Add support for relaying headers between Rococo and Wococo

* Fix test

* RustFmt

* Fix compilation issues related to enum naming

* Bump Rococo `spec_version`

* Remove stray Westend references
2024-04-10 10:28:37 +02:00
Hernando Castano 76625ed180 Remove Westend<>Rococo header sync (#940)
* Remove scripts for Westend<>Rococo header sync

* Remove Westend<>Rococo header sync code

* Remove Westend<>Rococo init bridge CLI option

* Modify Westend mock call to be placeholder

* Fix call encoding test
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 49e04b7b26 Update Kusama/Polkadot metrics (#910) 2024-04-10 10:28:37 +02:00
Hernando Castano b8e021c22c Prettify test output when encoding doesn't match (#907) 2024-04-10 10:28:37 +02:00
Tomasz Drwięga e9b8827c83 CLI: naming clean-up. (#897)
* Small naming clean up.

* Small naming clean up.

* Add Rococo module to CLI

Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
Co-authored-by: Hernando Castano <hernando@hcastano.com>
2024-04-10 10:28:37 +02:00