Commit Graph

113 Commits

Author SHA1 Message Date
Svyatoslav Nikolsky aa466a485d Fix benchmarks (#1919)
* fixed benchmarks broken by rejecting storage proofs with excessive trie nodes and justifications with extra prevotes

* update weights

* fmt

* accidental paste

* revert changes to millau runtime (separate PR)

* revert comment change
2024-04-10 10:28:37 +02:00
Serban Iorga e7debc4b09 Fix init-bridge (#1900) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 498a3e83d0 Weight+size limits for bridge GRANDPA pallet calls (#1882)
* weight+size limits for bridge GRANDPA pallet calls

* continue

* fixed all tests

* some changes to refund computations

* post_dispatch_refunds_relayer_in_all_finality_batch_with_extra_weight

* - dup code

* do not return Pays::No if call is above weight/size limits

* relayer_pays_tx_fee_when_submitting_huge_mandatory_header and relayer_pays_tx_fee_when_submitting_justification_with_long_ancestry_votes

* clippy

* fmt

* clippy

* small change in docs

* fixed GRANDPA-limits constants for Polkadot-like chains

* clippy

* clippy + spelling

* Update primitives/polkadot-core/src/lib.rs

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

* Update bin/runtime-common/src/refund_relayer_extension.rs

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

* reverted unnecessary change

* GrandpaJustification::max_reasonable_size

---------

Co-authored-by: Adrian Catangiu <adrian@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 1d6e8a9a26 optimize justification before submit (#1887)
* optimize justification before submit

* fmt

* spelling

* clippy

* fmt again

* aaand compilation

* clippy
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky c6c39be967 ChainWithGrandpa in primitives (#1885)
* ChainWithGrandpa in primitives

* clippy ++ spelling

* fix benchmarks comppilation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 25c17feb23 Reject storage proofs with unused nodes: begin (#1878)
* reject storage proofs with unused nodes: begin

* fix ignores_parachain_head_if_it_is_missing_from_storage_proof

* message_proof_is_rejected_if_it_has_duplicate_trie_nodes && message_proof_is_rejected_if_it_has_unused_trie_nodes

* proof_with_duplicate_items_is_rejected and proof_with_unused_items_is_rejected

* clippy

* fix benchmarks compilation

* impl From<Error> for &'static str

* fix review comments

* added comment
2024-04-10 10:28:37 +02:00
Serban Iorga c9c6d566d0 RefundRelayerForMessagesFromParachain improvements (#1879)
* RefundRelayerForMessagesFromParachain improvements

* Address code review comments
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 4982d1c2e5 MaxValues for maps in parachain maps (#1868)
* MaxValues for maps in parachain maps

* fix compilation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky bae329c66e "refund" proof size in GRANDPa pallet (#1863)
* "refund" proof size in GRANDPa pallet

* clippy

* extra_proof_size_bytes_works

* use saturated_into

* fix review comments
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky e75d872aa7 MaxValues limit for storage maps in the pallet-bridge-grandpa (#1861)
* MaxValues limit for storage maps in the pallet-bridge-grandpa

* remove use from the future PR
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky cd12d1438e Fix HeadersToKeep and MaxBridgedAuthorities in Millau benchmarks (#1851)
* fix `HeadersToKeep` and `MaxBridgedAuthorities` in Millau benchmarks

* typo

* impl review suggestion
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky a091b8405e Update Substrate/Polkadot/Cumulus dependencies + weights v2 (#1850)
* cargo update

* weights v2

* clippy

* no spellcheck for weights.rs

* fix proof_size component in MAXIMUM_BLOCK_WEIGHT  constants

* "fix" proof_size in select_delivery_transaction_limits_works

* spellcheck
2024-04-10 10:28:37 +02:00
Serban Iorga 5d875d05d3 Use named parameters for indirect calls (#1823) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 4cdb85247e add try-runtime feature to pallets (#1779) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky c36ba5a562 Added crate-level docs for the parachains pallet (#1772)
* crate-level docs for the parachains pallet

* fix typos
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 763ab922fa added/updated pallet level docs to grandpa and messages pallets (#1771) 2024-04-10 10:28:37 +02:00
Branislav Kontur 5fdc89d651 Bump xcm-v3 + substrate (#1767)
* Bump xcm-v3 + substrate

* More fixes

* Added `#[pallet::call_index`

* Fixes for MMR (TODO:plese check)

* More call indexes

* Cumulus bump

* Fixes for mmr

* Fixes for weights

* Fixes for xcm

* MMR fixes + cargo fmt

* Fix some rpc errors (bump jsonrpsee version)

* Fix cumulus stuff

* Fixes cumulus

* clippy

* more clipy

* Fix test + unused deps

* PR fixes

* cargo update (bump xcm-v3)

Co-authored-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Serban Iorga 63a538a9bb Deduplicate pallet call structs used for indirect runtime calls (#1744)
* Small changes

* Define generic bridge pallets call structs

* polkadot-core SignedExtension simplifications

- we don't seem to need to pass the Call as a generic param
- we can use codec(skip) instead of implementing Encode and Decode

* Split BridgeHubRococo and BridgeHubWococo calls

* code review fixes
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky df1aed01c4 Updated db weights and some experiments (#1732)
* updated weights

* also fix off-by-one in benchmarks
2024-04-10 10:28:37 +02:00
Branislav Kontur 52542b11d4 Check origin? (#1718)
* Check origin?

* Removed ensure_signed

* clippy
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 161d861d9b Signed extension to refund relayer at the target chain (#1657)
* add utlity pallet to the Millau runtime

* RefundRelayerForMessagesDeliveryFromParachain prototype

* done with RefundRelayerForMessagesDeliveryFromParachain::post_dispatch

* parse calls

* check batch for obsolete headers/messages

* fmt

* shorten generic arg names + add parachain id generic arg

* check lane_id

* impl all state read functions

* fix typos from review

* renamed extension + reference issue from TODO

* tests for pre-dispaytch

* renamed extension source file

* tests for post-dispatch

* abstract fee calculation

* clippy

* actually fix clippy

* Update bin/runtime-common/src/refund_relayer_extension.rs

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

* Update bin/runtime-common/src/refund_relayer_extension.rs

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

* Update bin/runtime-common/src/refund_relayer_extension.rs

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

* Update bin/runtime-common/src/refund_relayer_extension.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
Svyatoslav Nikolsky 7014046485 only store header state root (pallet-bridge-grandpa) (#1699) 2024-04-10 10:28:37 +02:00
Binston Sukhael Cardoza 3a8cb23103 Replace const parameters types (#1691)
* Replace const parameters

* fmt

* missed out Maxlocks
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 8c845602cf Remove message fee + message send calls (#1642)
* remove message fee

* it is compiling!

* fixes + fmt

* more cleanup

* more cleanup

* restore MessageDeliveryAndDispatchPayment since we'll need relayer rewards

* started rational relayer removal

* more removal

* removed estimate fee subcommand

* remove DispatchFeePayment

* more removals

* removed conversion rates && some metrics

* - unneeded associated type

* - OutboundMessageFee

* fix benchmarks compilation

* fmt

* test + fix benchmarks

* fix send message

* clippy
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 9592b55fea fix parameter to match used value GRANDPA benchmarks (#1616) 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
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 6c26aae035 increase max header size of Rialto and Millau (512 -> 1024) (#1603) 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
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 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
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 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
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
Svyatoslav Nikolsky 00f1225b19 Fix and update benchmarks (#1494)
* decrease parameters range in grandpa benchmarks

* fix messages benchmarks

* update all weights

* dealing with failed test (WiP)

* Revert "dealing with failed test (WiP)"

This reverts commit 0379d24bcf0692da5813968d83e0cbc918ac4691.

* proper tests fix
2024-04-10 10:28:37 +02:00
Serban Iorga ec76490ddb Test pallet owner calls using macro
Define macro that generates tests for set_owner() and set_operating_mode()
in order to avoid duplicate code.

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Serban Iorga 6b67d6b262 Define const LOG_TARGET for bridge pallets
Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Serban Iorga f8ff3c9142 Unify the operating mode for bridge pallets (#1483)
Unify the operating mode for bridge pallets

- define the OperationMode trait and BasicOperatingMode enum
- use the OperationMode trait in all the bridge pallets
- use BasicOperatingMode instead of IsHalted for the Grandpa pallet
- use BasicOperatingMode as part of MessagesOperatingMode

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Serban Iorga ff342fafa9 Avoid duplicate function definitions
Avoid duplicate function definitions for:
- ensure_owner_or_root()
- ensure_not_halted()
- set_owner()
- set_operating_mode() / set_operational()

Signed-off-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky a97dedb50f Store both block number and hash in best finalized storage value (#1475)
* store both block number and hash in BestFinalized

* also fix relay code

* spelling
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 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 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 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