Svyatoslav Nikolsky
8b262ea60b
submit lane unblock transactions from relay ( #2030 )
...
* submit lane unblock transactions from relay
* moved body of select_nonces_to_deliver to the separate select_race_action
* extracted latest_confirmed_nonce_at_source method
* return Option<RaceAction> from select_race_action
* make required_source_header_at_target async
* remove extra argument from required_source_header_at_target
* small fixes in tests
* Revert "return Option<RaceAction> from select_race_action"
This reverts commit 9f13dbfae39a5a45564550e8c89b10a524a68729.
* implement required_source_header_at_target using what-if approach
* fix compilation
* fmt
* clippy
* moved some code to the can_submit_transaction_with
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
9b57f2181c
Kusama <> Polkadot relay prototype ( #1982 )
...
* moved bridge declarations to dedicated folder
* Kusama <> Polkadot bridges declaration
* support for Kusama <> Polkadot bridge in CLI
* update dictionary
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
e7f5560951
Fix multiple parachain headers submission for single message delivery ( #1916 )
...
* switch off parachains relay when we don't need to relay parachains (temp solution)
* parachains relay now only works with single parachain
* fix usages of parachains relay
* revert hacky fix
* fixes
* fixed Westmint parachain ID
* fixed metrics
* fixed compilation
* fmt
* clippy
* call -> typed_state_call
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
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
bb078b8226
use complex transactions on RBH/WBH bridge hubs ( #1893 )
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
d7b131646c
Relayer reward metric ( #1742 )
...
* use StorageDoubleMapKeyProvider in RelayerRewards
* add metrics
* clippy
* fixed alerts that have caused missing dashboards
* fix metric name
* fix metric name again
* add new metrics to the RialtoParachain <> Millau maintenance dashboard
* remove obsolete dashboard
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
Serban Iorga
e47f1e42e0
Replace BATCH_CALL_SUPPORTED ( #1733 )
...
* Simplify submit_and_watch_signed_extrinsic
The way submit_and_watch_signed_extrinsic is used now, we can always
derive the SignParam from other params. If in the future we need more
customization possibilities, we can define a new method.
* Simplify submit_signed_extrinsic
* Send maybe_batch_tx as a parameter
Send `maybe_batch_tx` as a parameter to `submit_proof()`. This way we
can deduplicate the logic that submits the extrinsic for
`messages_source and `messages_target` and we can simplify the logic in
the race loop a bit.
* Define BatchProofTransaction
Deduplicate BatchConfirmationTransaction and BatchDeliveryTransaction by
replacing both of them with BatchProofTransaction
* Define ChainWithUtilityPallet and BatchCallBuilderConstructor
- Define `ChainWithUtilityPallet` in order to be able to associate the
batching functionality with chains
- Defining `BatchCallBuilderConstructor` in order to have a more reliable
way of checking whether an end of a messages pipeline supports batching
or no. `BatchCallBuilderConstructor::new_builder()` returns an
`Option<BatchCallBuilder>`.This is a bit safer because each time a caller
tries to start creating a batch call, it will call `new_builder()` and
will be required to handle the returned `Option`. Before we only had a
bool `BATCH_CALL_SUPPORTED` the caller could have forgetten to check.
2024-04-10 10:28:37 +02:00
Serban Iorga
bde1629f86
Remove SOURCE_PARACHAIN_PARA_ID ( #1716 )
...
* Remove SOURCE_PARACHAIN_PARA_ID
Remove SubstrateParachainsPipeline::SOURCE_PARACHAIN_PARA_ID
* Avoid duplicate ChainBase and ParachainBase implementations
* Replace ChainShadow with UnderlyingChainProvider
2024-04-10 10:28:37 +02:00
Serban Iorga
ba75e63fcd
Remove WeightToFee ( #1713 )
...
* Remove WeightToFee
* Remove leftover
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
a979340e49
refactor transaction sign scheme ( #1621 )
2024-04-10 10:28:37 +02:00
Serban Iorga
01538bc5fa
Finality loop: get block justification and authorities change by consensus engine ID ( #1619 )
...
* SignedBlock: get justification by consensus engine id
* Define ConsensusLogReader
Making the check for authority changes more generic
* cod review changes
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
5ff36549f1
remove unnecessary consts ( #1586 )
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
Svyatoslav Nikolsky
f35b4f4897
Extract unsigned tx from the SignParam structure ( #1561 )
...
* change sign_transaction method
* clippy
* rustup update && clippy
* remove redudnant clone
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
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
542ebb5654
Complex RialtoParachain <> Millau relay ( #1405 )
...
* complex parachain relay
* fix spelling
2024-04-10 10:28:37 +02:00
Adrian Catangiu
14b27a0209
Update Substrate/Polkadot/Cumulus references ( #1364 )
...
cumulus: b468d0c33e
polkadot: 827792ca833396c82c726eda0bc2ad32ecddba73
substrate: 666f39b8a22108f57732215de006518738034ba2
bump serde_json to 1.0.79
sync changes from https://github.com/paritytech/substrate/pull/11022
fixed clippy warnings
Signed-off-by: acatangiu <adrian@parity.io >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
133934df7c
fix parse_transaction on Rialto+Millau ( #1360 )
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
f95456d4ea
replace From<>InboundLaneApi with direct storage reads ( #1348 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
efa3e97210
Encode and estimate Rococo/Wococo/Kusama/Polkadot messages ( #1322 )
...
* encode and estimate Rococo/Wococo/Kusama/Polkadot messages
* allow send-message for non-bundled chains
* weight -> dispatch-weight
* fmt
* fix spelling
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
fe34a526bb
Relay balance metrics ( #1291 )
...
* relay balance metrics
* convert balance to "main" tokens in balance metrics
* add balances widgets to maintenance dashboard
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
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
bb249eff15
verify that GRANDPA pallet is not initialized before submitting initialization transaction ( #1267 )
...
* verify that GRANDPA pallet is not initialized before submitting initialization transaction
* spelling
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
c21217a282
read latest_generated_nonce directly from storage ( #1260 )
2024-04-10 10:28:37 +02:00
fewensa
3aff81a707
Change submit transaction spec_version and transaction_version query from chain ( #1248 )
...
* The `spec_version` and `transaction_version` query from chain
* fix compile
* Lint
* Custom spec_version and transaction_version
* runtime version params struct opt
* runtime version cli
* cli params
* Add missing types defined
* fix compile
* debug cli
* clippy
* clippy
* Query spec_version and transaction_version same times
* Fix vars
* Wrap option
* Wrap option
* Try fix ci
* Change follow suggestions
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
4cdd959057
Refactor message relay helpers ( #1234 )
...
* refactor message relay helpers
* single standalone_metrics function
* fixed tests
* clippy + fmt
* removed commented code
* add calls tracing
* fix spelling
* cargo fmt
* -commented code
* fix build again
* post-merge build fix
* clippy + fmt
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
e675b13042
Refactor finality relay helpers ( #1220 )
...
* refactor finality relay helper definitions
* add missing doc
* removed commented code
* fmt
* disable rustfmt for macro
* move best_finalized method const to relay chain def
2024-04-10 10:28:37 +02:00
David
f3eefc9df9
Upgrade jsonrpsee to v0.3 ( #1051 )
...
* Upgrade `jsonrpsee` to v0.3
* whitespace
* fmt
Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com >
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
7369ff9d70
Move some associated types from relay_substrate_client::Chain to bp_runtime::Chain ( #1087 )
...
* move some associated types from relay_substrate_client::Chain to bp_runtime::Chain
* dummy commit
* Revert "dummy commit"
This reverts commit 81bc64aa092df115a7c68e7bb7ca5e83ec31fd20.
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
1df7076c4f
Transactions resubmitter ( #1083 )
...
* resubmit transactions: start
* resubmit transactions: continue
* enable resubmitter in deployments
* clippy
* spellcheck
* Update relays/client-substrate/src/chain.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* fix compilation
* fix compilation
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
03a54df398
Fix delivery transaction estimation used by rational relayer ( #1109 )
...
* fix delivery transaction estimation in greedy relayer
* fixed typo
* improve logging
* improve logging
* fmt
* fix compilation
* fmt
* Update relays/lib-substrate-relay/src/messages_target.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* review
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Antonio Dropulic
5c71f0e996
Refactor substrate messages source and substrate messages target ( #1105 )
...
* Remove redundant generic parameters from SubstrateMessagesSource
* Remove redundant generic parameters from SubstrateMessagesTarget
* use uniform alias naming
* use aliases instead of fully quallified syntax
* pr feedback
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
864c830618
Emit mortal transactions from relay ( #1073 )
...
* mortal relay transactions
* sign block hash for mortal transactions
* TransactionEraOf
* add explanation
* enable mortal transactions for Westend -> Millau headers relay
* clippy
* spellcheck
2024-04-10 10:28:37 +02:00
Tomasz Waszczyk
f86d101d7c
Fix full spellcheck ( #1076 )
...
* fix(spellcheck): test of fixing
* fix(hunspell): improved many typos etc.
* fix(hunspell): all errors solved
* fix(hunspell): extended scope of files - the build should fail
* Return error code.
* Fix spelling, sort dictionary.
* fix(hunspell): added fix to gitlabs check
* fix(typo): one typo and test of verification on github
* fix(typo): one typo
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
db0216dabb
estimate transaction fee ( #1015 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
09df16612b
Messages relayer operating mode ( #995 )
...
* introduce relayer mode enum
* removed MaximalReward mode
* TODO
* Saturating -> SaturatingAdd
* ref issue in TODOs
* Update relays/messages/src/message_race_delivery.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
4a47452c20
Move ChainWithBalances::NativeBalance -> Chain::Balance ( #990 )
...
* move ChainWithBalances::NativeBalance -> Chain::Balance
* dummy commit
* Revert "dummy commit"
This reverts commit c00642153d260685a91d4fffbc424d225741fceb.
2024-04-10 10:28:37 +02:00
Niklas Adolfsson
f857771ce8
Update jsonrpsee to 0.2.0-alpha.5 ( #914 )
...
* update jsonrpsee to 0.2.0-alpha.5
* cargo fmt
2024-04-10 10:28:37 +02:00
Hernando Castano
c6ae74725b
Bump Substrate ( #871 )
...
* Bump Substrate
* Change usage of "Module" to "Pallet"
Related Substrate PR: https://github.com/paritytech/substrate/pull/8372
* Add `OnSetCode` config param
Related Substrate PR: https://github.com/paritytech/substrate/pull/8496
* Update Aura Slot duration time type
Related Substrate PR: https://github.com/paritytech/substrate/pull/8386
* Add `OnSetCode` to mock runtimes
* Add support for multiple justifications
Related Substrate PR: https://github.com/paritytech/substrate/pull/7640
* Use updated justification type in more places
* Make GenesisConfig type non-optional
Related Substrate PR: https://github.com/paritytech/substrate/pull/8275
* Update service to use updated telemetry
Related Substrate PR: https://github.com/paritytech/substrate/pull/8143
* Appease Clippy
2024-04-10 10:28:37 +02:00