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
Serban Iorga
d80d2a5039
Cosmetics ( #2124 )
...
* Cosmetics
* Address PR comment
2024-04-10 10:28:37 +02:00
Serban Iorga
06e0204694
Remove some expect() statements ( #2123 )
...
* Return error on save_message()
Prevent unexpected failures.
* Remove RefCell
* Fix spellcheck
* CI fixes
2024-04-10 10:28:37 +02:00
Serban Iorga
201dfddc54
Propagate message receival confirmation errors ( #2116 )
...
* Propagate message receival confirmation errors
* spellcheck
2024-04-10 10:28:37 +02:00
Serban Iorga
56d4013878
Propagate message verification errors ( #2114 )
...
* Propagate message verification errors
* Replace parse_finalized_storage_proof() with storage_proof_checker()
* small fixes
* fix comment
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
c17f625770
Add more logs to relayer and message pallets ( #2082 )
...
* add more logs
* unused import
* fmt
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
dc61bcdc01
Fixed off-by-one when confirming rewards in messages pallet ( #2075 )
...
* fixed off-by-one when confirming rewards in messages pallet
* Update modules/messages/src/inbound_lane.rs
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
Serban Iorga
b8f4086095
Define RangeInclusiveExt ( #2037 )
...
* Define RangeInclusiveExt
* Use RangeInclusiveExt
* Add docs
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
9e48162df2
refund extra weight in receive_messages_delivery_proof call ( #2031 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
ceea1a10f7
Reject delivery transactions with at least one obsolete message ( #2021 )
...
* reject delivery transactions with at least one obsolete message
* clippy
* allow empty delivery transactions with rewards confirmations BUT only when there's no room left in the unrewarded relayers vector
* clippy
* allow empty delivery transactions if no message slots in unrewarded relayers vector
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
Svyatoslav Nikolsky
f659ebed7a
fail with InsufficientDispatchWeight if dispatch_weight doesn't cover weight of all bundled messages ( #2018 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
eccbdff851
remove invalid weight, returned by send_message ( #1984 )
2024-04-10 10:28:37 +02:00
Branislav Kontur
ce89a2edca
Removed deprecated #[pallet::generate_store(pub(super) trait Store)] according to latest Cumulus ( #1964 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
26330d9a25
get rid of ChainWithMessages::WeightInfo, because we can't have exact weights for "external chains" ( #1899 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
9e30130054
Refund extra proof bytes in message delivery transaction ( #1864 )
...
* refund extra proof bytes in message delivery transaction
* Update modules/messages/src/lib.rs
Co-authored-by: Adrian Catangiu <adrian@parity.io >
* more tests
---------
Co-authored-by: Adrian Catangiu <adrian@parity.io >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
d8764450c9
MaxValues for OutboundLanes map ( #1871 )
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
795a049937
Message delivery transaction is not free!!! ( #1859 )
...
* message delivery transaction is not free!!!
* test pays_fee
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
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
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
9e92564c69
refund_pay_dispatch_fee removed ( #1695 )
2024-04-10 10:28:37 +02:00
Branislav Kontur
02ef3a1a25
Added generic DispatchLevelResult to the MessageDispatchResult ( #1670 )
...
* Added generic DispatchLevelResult to the MessageDispatchResult
* Removed unnecessery `Clone + Decode + sp_std::fmt::Debug + Eq` + clippy
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
1688b493cd
Remove dispatch_result field ( #1660 )
...
* remove dispatch_result field
* fix benchmarks
2024-04-10 10:28:37 +02:00
Branislav Kontur
b3ab4a1b6a
Added event MessagesReceived for better visibility on receiving side ( #1655 )
...
* Added event `MessagesReceived` for better visibility on receiving side
* Fixes/comments from PR
* Final cleanup
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
eabfea6229
Prune messages from on-idle callback ( #1650 )
...
* prune messages from on-idle callback
* no more secondary lanes at deployments
* clippy
* Update modules/messages/src/lib.rs
Co-authored-by: Adrian Catangiu <adrian@parity.io >
* sub -> add
* more tests + check that message is sent using one of ActiveOutboundLanes
* ensure spent_weight is correct
Co-authored-by: Adrian Catangiu <adrian@parity.io >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
8e660dd74e
Remove callbacks from the messages pallet ( #1649 )
...
* remove callbacks
* clippy
* fmt
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
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
Branislav Kontur
87c3a57942
Removed unused AccountId from trait MessagesBridge ( #1600 )
2024-04-10 10:28:37 +02:00
Branislav Kontur
75d61ff708
LaneMessageVerifier - removed unused Submitter ( #1589 )
...
* LaneMessageVerifier - removed unused Submitter
* fmt
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
Serban Iorga
5cc874e7b8
relayers pallet - small changes ( #1547 )
...
Signed-off-by: Serban Iorga <serban@parity.io >
Signed-off-by: Serban Iorga <serban@parity.io >
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
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
ceefd1b05d
remove account derivation functions ( #1498 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
4929493f83
backport named events PR ( #1489 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
7d97e576d0
Remove without_storage_info for messages pallet ( #1487 )
...
* draft: remove without_storage_info for messages pallet
* some cleanup
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
19c73ce0b7
Signed extension for rejecting obsolete messages pallet transactions ( #1446 )
...
* BridgeRejectObsoleteMessages
* add obsolete confirmations verification to the BridgeRejectObsoleteMessages
* move tests where they belong
2024-04-10 10:28:37 +02:00