Svyatoslav Nikolsky
74b0eca59c
added UpdatedBestFinalizedHeader event to pallet-bridge-grandpa ( #1967 )
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
Serban Iorga
9b44db0fbe
Some error improvements ( #1956 )
...
* Use `HeaderChainError` in parachains module
* Use MessageProofError instead of 'static str in some places
* Avoid implementing Into<'static str> for some errors
We avoid deriving `Debug` for the structs that we use in the runtime and
we derive `RuntimeDebug` instead in order to avoid bloating th eruntime
with static strs. But implementing `Into<'static str>` does the same. So
in some places it makes sense to replace `Into<'static str>` with `Debug`.
* Move the messages error definition
Move the messages error definition outside of `mod target`
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
3a145e5844
get rid of obsolete weight functions ( #1926 )
2024-04-10 10:28:37 +02:00
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
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
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
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
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
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
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
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
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
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
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
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
58fe2749d2
Expand docs on ParasPalletName ( #1571 )
...
* expand docs on ParasPalletName
* fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
653ff6ef0d
Add events to the bridge parachains pallet ( #1568 )
...
* add events to the bridge parachains pallet
* clippy + spellcheck
* fix compilation
* untracked is not a word?
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
ad38cdb873
Follow-up on #1068 ( #1567 )
...
* BestParaHead small changes
Signed-off-by: Serban Iorga <serban@parity.io >
* Renamings
Signed-off-by: Serban Iorga <serban@parity.io >
* Use ParaInfo in parachains loop
Signed-off-by: Serban Iorga <serban@parity.io >
* Define StorageMapKeyProvider
Signed-off-by: Serban Iorga <serban@parity.io >
* CR fixes
Signed-off-by: Serban Iorga <serban@parity.io >
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
Svyatoslav Nikolsky
176d87cdd8
refund relayer if parachain head has not been updated ( #1528 )
2024-04-10 10:28:37 +02:00
Serban Iorga
cd36d1e15f
Define StorageDoubleMapKeyProvider
...
Signed-off-by: Serban Iorga <serban@parity.io >
2024-04-10 10:28:37 +02:00
Serban Iorga
69809f8be4
Deduplicate parachains validation
...
Deduplicate the logic that validates the updated parachain heads.
Signed-off-by: Serban Iorga <serban@parity.io >
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
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
60edd0c436
[parachains pallet] implement genesis_build
...
Signed-off-by: Serban Iorga <serban@parity.io >
2024-04-10 10:28:37 +02:00
Serban Iorga
66754581ac
[parachains pallet] add unit test
...
Add unit test in order to check that the submit_parachain_heads() call
returns an error when the pallet is halted.
Signed-off-by: Serban Iorga <serban@parity.io >
2024-04-10 10:28:37 +02:00
Serban Iorga
2a4174db18
Add owner calls to the parachains pallet
...
Signed-off-by: Serban Iorga <serban@parity.io >
2024-04-10 10:28:37 +02:00