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
Serban Iorga
1e0c2a6e02
Follow-up on #1487 ( #1511 )
...
* Remove unused trait implementations
Signed-off-by: Serban Iorga <serban@parity.io >
* Define encoded_size_hint_u32()
Signed-off-by: Serban Iorga <serban@parity.io >
* Define TransactionEstimationParams trait
Signed-off-by: Serban Iorga <serban@parity.io >
* Rework TransactionEstimation
Signed-off-by: Serban Iorga <serban@parity.io >
* Docs + Renamings
Signed-off-by: Serban Iorga <serban@parity.io >
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
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
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
Svyatoslav Nikolsky
b870fe74f8
Parachains pallet benchmarks ( #1436 )
...
* added parachains pallet benchmarks
* deduplicate insertion of bridged header
* pruning weight
* fixes
* fix compilation
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
f0d05de080
Get dispatch weight from the target chain (when DispatchFeePayment::AtTargetChain is used) ( #1430 )
...
* reintroduce From<SourceChain>InboundLaneApi
* impl From<Chain>InboundLaneApi for testnet runtimes
* use inboundlaneapi in relay
* remove unused OutboundXcmWeigher
* spelling
* added the only test to messages pallet
* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
748c265c47
Xcm in Rialto<>Millau bridge ( #1379 )
...
* add XCM pallet to Millau runtime
* some progress
* messages are delivered (no fee)
* temp
* flush
* flush
* some progress
* progress
* Trap(42) is dispatched successfully
* fix spelling
* no more manual sending
* parametrize weight credit for tests
* actually charge fees
* enable send-using-messages-pallet to keep our test deployments alive + send valid XCM sometimes
* fix benchmarks build
* fix tests
2024-04-10 10:28:37 +02:00
echo
f2a8ca1d3e
Small opt when prune messages ( #1389 )
...
* Small opt when prune messages
* Fix typing error
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
8859a313cc
Revert "add api data() for inbound_lane ( #1373 )" ( #1375 )
...
This reverts commit 9e3cb0c7615a8f06bd32b2f0fcc99a8cc481cd80.
2024-04-10 10:28:37 +02:00
xiaoch05
6a4144e8f2
add api data() for inbound_lane ( #1373 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
eb1e48edba
pub use WeightInfo in Grandpa + Messsages pallets ( #1370 )
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
ed2a3082ef
Support dedicated lanes for pallets ( #962 )
...
* pass call origin to the message verifier
* is_outbound_lane_enabled -> is_message_accepted
* trait SenderOrigin
* only accept messages from token swap pallet to token swap lane
* tests for edge cases of pay_delivery_and_dispatch_fee
* fixed origin verification
* fmt
* fix benchmarks compilation
* fix TODO with None account and non-zero message fee (already covered by tests)
* revert cargo fmt changes temporarily
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
f95456d4ea
replace From<>InboundLaneApi with direct storage reads ( #1348 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
a39c567274
Endow relayer account at target chain in message benchmarks ( #1310 )
...
* endow relayer account at target chain in message benchmarks
* pick another line
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
43d2e4967b
fix benchmarks before using it in Polkadot/Kusama/Rococo runtimes ( #1309 )
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
25008a5166
when messages pallet is halted, relay shall not submit messages delivery/confirmation transactions ( #1289 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
1d99ad3619
replace latest_confirmed_nonce runtime APIs with direct storage reads ( #1282 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
fd816b60e3
move "common" code of messages pallet benchmarks helpers to the common library ( #1281 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
a7fa7a491f
removed extra messages benchmarks ( #1279 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
00f68e7722
Move benchmarks from Rialto to Millau ( #1277 )
...
* move brnchmarks from Rialto to Millau
* fix limits test
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
a88207876c
Replace InboundLaneApi::latest_received_nonce with direct storage read ( #1269 )
...
* remove inbound_latest_received_nonce
* Update relays/lib-substrate-relay/src/messages_target.rs
Co-authored-by: Adrian Catangiu <adrian@parity.io >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
988f6b1664
remove OutboundLaneApi::latest_received_nonce ( #1262 )
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
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
4b525f4fe1
Token swap pallet benchmarks ( #1174 )
...
* token swap benchmarks
* spellcheck
2024-04-10 10:28:37 +02:00
bear
f2092515a0
Move calculation relayer reward into MessageDeliveryAndDispatchPayment ( #1153 )
...
* Refactor logic
* Thanks svyatonik help, it compile
* Fix failed unit test
* Remove compile warning
* Rename
* Return result in pay_relayers_rewards
* Fix runtime compile issue
* Use MessageNonce
* Fix review issue
* Missing u64 replacement
* Revert return type changes
* Fix merge issue
* Remove useless clone
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
70f87e826c
Add rialto-parachain runtime and node ( #1142 )
...
* Substrate: 63b32fbaa2764c0a8ee76b70cdfa0fcb59b7181f
Polkadot: 7229ab87acf5bc5d4d10655ad1a9819a1e317442
Cumulus: d5284b0e78
* rialto parachain runtime
* fixed tests
* add node + bump refs (not compiling yet):
Substrate: 630422d6108cbaaca893ab213dde69f3bdaa1f6b
Polkadot: 7229ab87acf5bc5d4d10655ad1a9819a1e317442
Cumulus: 5af2990cfd
GrandpaBridgeGadget: c152c45ac331eb8ab40d956ab1d008d181810ef4
* fix compilation (collator is not working)
* more fixes
* fmt
* spellcheck
* fix warnings
* fix compilation
* fmt
* trigger CI
* trigger CI
* Revert "trigger CI"
This reverts commit a31f53cec47909817b31a48f3c9f1abd9321f72c.
* benchmarks
* fix benchmarks
* fix again
* Revert "Revert "trigger CI""
This reverts commit 1dea8b42ac8bca830dea982fd2613eb89d607a6c.
* Revert "Revert "Revert "trigger CI"""
This reverts commit 8fb74fa5eba483b7f6a3ce3e25a60757aef4c6bc.
* try fix
* lost lock file
* spellcheck
* try to disable sccache for cargo check
* Revert "Revert "Revert "Revert "trigger CI""""
This reverts commit f157461482d4c1d19156715c4b1ee2acb169531b.
* try to disable again
* disable sccache for test
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
5dbf6ba78c
Relay subcommand that performs token RLT <> MLAU token swap ( #1141 )
...
* token swap relay
* token swap subcommand fixes
* fmt
* removed debug traces
* removed commented code
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
bear
417903f9e7
Add OnMessageAccepted callback ( #1134 )
...
* Add `OnMessageAccepted` config type
* Update actual weight
* Add unit test
* Update weight
* Remove old comment & update wrong test data
* Make ci happy
* Add lane_id param
* update test case
* Make log info more readable
* Use saturating_sub
* Update docs
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
24bd2d6c51
Integrate token swap pallet into Millau runtime ( #1099 )
...
* integrate token swap pallet into Millau runtime
* set OnDeliveryConfirmed callback in Millau runtime
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
6e3b083ab3
Fix spelling ( #1118 )
...
* I'm just trying to do my job
* spelling
2024-04-10 10:28:37 +02:00
Tomasz Drwięga
2101ed9cc5
Remove fund account checks from upgrade. ( #1111 )
2024-04-10 10:28:37 +02:00
bear
e20163c4ea
Rename param and update comment ( #1108 )
...
* Rename param in `confirm_delivery`
* Fix typo
* Update comment
* Fix review issue
2024-04-10 10:28:37 +02:00
bear
ccfc1082f8
Remove unnessary deps ( #1101 )
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
Hector Bulgarini
b1db3df199
Bridge/This Chain Ids should be exposed as constants on pallet level. ( #1085 )
...
* Adding BridgedChainId constant to message pallet
* Addressing PR feedback
2024-04-10 10:28:37 +02:00