Commit Graph

247 Commits

Author SHA1 Message Date
Branislav Kontur 320aea743b Nits for subtree (#2241)
* Updated version according to Cumulus

* Renaming

* Cargo.lock
2024-04-10 10:28:37 +02:00
Adrian Catangiu ac725ec93f backport cumulus changes to polkadot-staging (#2167)
* backport cumulus changes

* bump substrate & polkadot and make it build

* fix runtimes

* bump substrate, polkadot & cumulus

* fix build: remove ump leftovers

* fix tests: disable runtime version check in tests

* fix build: use sp_version::runtime_version macro

Signed-off-by: acatangiu <adrian@parity.io>
2024-04-10 10:28:37 +02:00
Branislav Kontur 4330d0491c Bump polkadot/substrate (#2134)
* Bump polkadot/substrate

* Fix millau network service

* Fix polkadot_node_core_pvf_worker

* Fix sc-network

* Fix parachain rpc stuff

* Check `integrity-test` for `bridge-runtime-common`

* Backport fix from cumulus https://github.com/paritytech/cumulus/pull/2585/files#diff-5a942d80670b5ef31bb18b5acacab93ff30512d7cd21c19d7da364f76f6bb5c3 because of https://gitlab.parity.io/parity/mirrors/cumulus/-/jobs/2842938

* TODO

* Bump cumulus
2024-04-10 10:28:37 +02:00
Branislav Kontur 7188765244 BHK/P alignments (#2115)
* Constants

* Unused import?

* Cargo.lock

* Unused deps

* TODO: fix doc or reimport?

* Try to aviod redefine para_id constant for `RefundableParachainId`

* Checked and removed TODOs
2024-04-10 10:28:37 +02:00
Branislav Kontur d9757f09c1 Add MessagesPalletInstance for integrity tests (#2107) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 49d11e9ce5 Add weight of refund extension post_dispatch to the weights of messages pallet (#2089)
* add weight of refund extension post_dispatch to the weights of messages pallet

* fixed tests and removed TODO

* verify runtime overhead weight in integrity tests

* add integrity tests to rialto-parachain runtime

* refactor weights a bit

* refund ext is disabled for Rialto <> Millau bridge

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

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

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

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

* Update modules/relayers/src/weights_ext.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 b03c584e31 Add millau specific messages weights (#2097)
* refactor weights a bit

* post cherry-pick fixes

* do not run spellcheck on new weight files

* fix
2024-04-10 10:28:37 +02:00
dependabot[bot] cffc8e3a7b Bump scale-info from 2.5.0 to 2.6.0
Bumps [scale-info](https://github.com/paritytech/scale-info) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/paritytech/scale-info/releases)
- [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paritytech/scale-info/commits)

---
updated-dependencies:
- dependency-name: scale-info
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 1f738f1389 Benchmarks for new relayers pallet calls (#2040)
* slash relayer balance for invalid transactions

* require some gap before unstake is possible

* more clippy

* log priority boost

* add issue ref to TODO

* fix typo

* is_message_delivery_call -> is_receive_messages_proof_call

* moved is_receive_messages_proof_call above

* only slash relayers for priority transactions

* benchmarks for new relayers pallet calls

* generated weights

* regenerated weights afer master merge

* actually use weights
2024-04-10 10:28:37 +02:00
Branislav Kontur db53d68e9b Removed relayer_account: &AccountId from MessageDispatch (#2080)
* SourceBridgeHubChain/TargetBridgeHubChain replaced with RelayerAccountChain

* Fix

* Removed `relayer_account: &AccountId` from `MessageDispatch`
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 53e1b7e264 Slash relayers for invalid transactions (#2025)
* slash relayer balance for invalid transactions

* require some gap before unstake is possible

* more clippy

* log priority boost

* add issue ref to TODO

* fix typo

* is_message_delivery_call -> is_receive_messages_proof_call

* moved is_receive_messages_proof_call above

* only slash relayers for priority transactions

* Update primitives/relayers/src/registration.rs

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

* Update primitives/relayers/src/registration.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>

* Update modules/relayers/src/lib.rs

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

* Update primitives/relayers/src/registration.rs

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

* benificiary -> beneficiary

---------

Co-authored-by: Adrian Catangiu <adrian@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 512d43fabe Revert dispatch-results (#2048)
* Revert "Reintroduce msg dispatch status reporting (#2027)"

This reverts commit 38bb051e3d778ee2f5e9451f89cf479a71fd68f8.

* post-revert fix
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky f7380490c0 Boost message delivery transaction priority (#2023)
* reject delivery transactions with at least one obsolete message

* clippy

* boost priority of message delivery transactions: transaction with more messages has larger priority than the transaction with less messages

* apply review suggestion

* CallInfo::bundled_messages

* validate_does_not_boost_priority_of_message_delivery_transactons_with_too_many_messages

* clippy
2024-04-10 10:28:37 +02:00
Serban Iorga 3b968a2aba Reintroduce msg dispatch status reporting (#2027)
* Use an actual Result inside MessageDispatchResult

We need this in order to distinguish between Ok and Err

* Revert #1660

* Fixes + simplifications

* Implement review suggestions
2024-04-10 10:28:37 +02:00
dependabot[bot] 1659b4b447 Bump scale-info from 2.4.0 to 2.5.0
Bumps [scale-info](https://github.com/paritytech/scale-info) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/paritytech/scale-info/releases)
- [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paritytech/scale-info/compare/v2.4.0...v2.5.0)

---
updated-dependencies:
- dependency-name: scale-info
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 10:28:37 +02:00
dependabot[bot] cf00c67579 Bump hex-literal from 0.3.4 to 0.4.0
Bumps [hex-literal](https://github.com/RustCrypto/utils) from 0.3.4 to 0.4.0.
- [Release notes](https://github.com/RustCrypto/utils/releases)
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.3.4...hex-literal-v0.4.0)

---
updated-dependencies:
- dependency-name: hex-literal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky fd3ebdf138 MaxRequests -> MaxFreeMandatoryHeadersPerBlock in pallet-bridge-grandpa (#1997)
* MaxRequests -> MaxFreeMandatoryHeadersPerBlock in pallet-bridge-grandpa

* fix comment

* fix comment

* fix comment
2024-04-10 10:28:37 +02:00
Adrian Catangiu e55d4dd6e0 bump substrate+polkadot refs and fix builds (#1989)
* bump refs and fix build

* more fixes

* Fix rialto-parachain node

* Update dependencies for tools/runtime-codegen

* Regenerate rialto-parachain indirect runtime

* Fix register_parachain

* Fix clippy

* Undo clippy allow

---------

Co-authored-by: Serban Iorga <serban@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 830afff353 Added receive_single_message_proof_with_dispatch benchmark (#1990)
* added receive_single_message_proof_with_dispatch benchmark

* clippy
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky a75c28d5b2 Remove deprecated code from bridge-runtime-common (#1983)
* removed FromBridgedChainMessageDispatch in favor of XcmBlobMessageDispatch

* use HaulBlobExporter/HaulBlobExporterAdapter instead of XcmBridge/XcmBridgeAdapter

* tests for sending/dispatching messages

* use new schema in testnet bridges + some cleanup

* clippy

* spelling + added TODO

* cleanup some checks

* benchmarks compilation

* all is XCM

* updated README.md

* ref issue from TODO
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 74b0eca59c added UpdatedBestFinalizedHeader event to pallet-bridge-grandpa (#1967) 2024-04-10 10:28:37 +02:00
Branislav Kontur 874ab44e00 Bump substrate/polkadot/cumulus (#1962)
* Bump substrate/polkadot/cumulus

* sp_finality_grandpa - >sp_consensus_grandpa

* sp_beefy -> sp_consensus_beefy

* pallet_randomness_collective_flip -> pallet_insecure_randomness_collective_flip

* fix

* Cumulus parachain stuff

* Cumulus parachain stuff one more

* Millau/Rialto runtimes

* Removed pallet_insecure_randomness_collective_flip

* Millau node

* Removed session historial

* TMP: just try disable all fetches

* Docs in gitlab.yml
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ddbeab70a6 Verify with-parachain message benchmarks on CI (#1923)
* verify with-parachain message benchmarks on CI

* trigger CI

* Revert "trigger CI"

This reverts commit 188cd01563bc8b3537d042c6c8d5181b7cfcdac8.
2024-04-10 10:28:37 +02:00
Serban Iorga ba155f990f Refund messages confirmation tx (#1904)
* Refund messages confirmation tx

* Fixes
2024-04-10 10:28:37 +02:00
Serban Iorga f5fee288b9 Relayers pallet: extend payment source id (#1907)
* Add Chain::ID const

* Relayers pallet: extend payment source id

* Addressed code review comments

* Fix benchmarks

* Fix dashboards

* Renamings

* Fix compilation
2024-04-10 10:28:37 +02:00
Serban Iorga 623bd85a5e RefundRelayerForMessagesFromParachain improvements (#1895)
* RefundRelayerForMessagesFromParachain changes

- some renamings and cosmetics
- removing the GI generic param since we can get it from the parachains
  config
- merging (Parachains Instance, Parachain Id) and (Messages Instance,
  Messages lane Id) generic params
- removing unnecessay derives
- renaming for the `TransactionFeeCalculation` and defining
  `ActualFeeRefund` concrete implementation
- adding support for multiple RefundRelayerForMessagesFromParachain
  (by adding a `StaticStrProvider` generic param)

* Revert to using RuntimeDebug
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 914213d0af Fix clippy issues (#1884)
* fix clippy issues

* fix?

* fix?

* forget about extra_unused_type_parameters lint for now
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 a5a3f8065f fixed TODOs for weights v2 (#1860) 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
Svyatoslav Nikolsky c8c606dd66 Functions to benchmark messages pallet with linked to parachain (#1817)
* functions to benchmark messages pallet with linked to parachain

* unused imports

* fmt
2024-04-10 10:28:37 +02:00
dependabot[bot] 5e62f3040d Bump env_logger from 0.8.4 to 0.10.0
Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.8.4 to 0.10.0.
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.8.4...v0.10.0)

---
updated-dependencies:
- dependency-name: env_logger
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky ec9cd8ddb0 Remove chain-specific dependencies from crates that will be used in Cumulus (#1783)
* leave-modules.sh

* remove bp-rialto dependency from bp-relayers

* update leave-modules.sh

* fix Cargo.toml of pallet-bridge-relayers

* update leave-modules.sh

* remove bp-rialto and millau-runtime frombridge-runtime-common Cargo.toml

* update leave-modules.sh

* remove chain dependencies from bridge-runtime-common crate

* fix tests

* cleanup script

* rename script

* kind of success message

* remove leave-modules.sh

* use TargetHeaderChainAdapter and SourceHeaderChainAdapter in our testnets

* update script
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 74fb0a536d Default impl for some methods in messages benchmarking pallet config (#1777)
* default impl for some methods in messages benchmarking pallet config

* typo
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 add2914a5c Define method for checking message lane weights (#1766)
* Define method for checking message lane weights

* Docs for public function

* Renamings
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky cca75ee841 fixed receive_delivery_proof_for_two_messages_by_two_relayers (#1764) 2024-04-10 10:28:37 +02:00
Branislav Kontur 3c4cce9eef cargo machete removed unused deps (#1761) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 03425b33ae Use TypedLaneId instead of LaneId (#1738)
* TypedLaneId -> LaneId

* fix benchmarks compilation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 7d55a0ffe2 fix parachains benchmarks (#1717) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky d63a75697c Only store header state root (pallet-bridge-parachains) (#1701)
* store block number ++ state root in parachains pallet

* fixed parachains finality APIs

* (test commit)

* removed test code

* deduplicated code a bit

* removed commented code

* spelling

* Update modules/parachains/src/lib.rs

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

* Update modules/parachains/src/lib.rs

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

* Update modules/parachains/src/mock.rs

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

* added comment

Co-authored-by: Adrian Catangiu <adrian@parity.io>
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 2c5e2f09eb New relayer rewards scheme integration (#1652)
* relayer rewards integration: initial commit

* added refund-relayer-extension to the millau runtime

* spelling

* spelling again

* new -> Default
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 aeeb53343e DeliveryConfirmationPayments trait for paying relayer rewards at the source chain (#1653)
* DeliveryConfirmationPayments

* ref proper PR in TODO
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
Svyatoslav Nikolsky b94bd8d46b fixed benchmarks of relayers pallet (#1700) 2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 3eb24d4515 removed MintReward and added PayLaneRewardFromAccount (#1693)
* removed MintReward and added PayLaneRewardFromAccount

* clippy

* added issue ref to TODO
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky 9e92564c69 refund_pay_dispatch_fee removed (#1695) 2024-04-10 10:28:37 +02:00