Svyatoslav Nikolsky
be27bd5e97
Batch transactions in complex relays ( #1669 )
...
* batch transactions in message relay: API prototype
* get rid of Box<dyn BatchTransaction> and actually submit it
* test batch transactions
* message_lane_loop_works_with_batch_transactions
* removed logger
* BatchConfirmationTransaction + BatchDeliveryTransaction
* more prototyping
* fmt
* continue with batch calls
* impl BatchCallBuilder for ()
* BatchDeliveryTransaction impl
* BundledBatchCallBuilder
* proper impl of BundledBatchCallBuilder + use it in RialtoParachain -> Millau
* impl prove_header in OnDemandHeadersRelay
* impl OnDemandParachainsRelay::prove_header (needs extensive tests)
* added a couple of TODOs
* return Result<Option<BatchTx>> when asking for more headers
* prove headers when reauire_* is called && return proper headers from required_header_id
* split parachains::prove_header and test select_headers_to_prove
* more traces and leave TODOs
* use finality stream in SubstrateFinalitySource::prove_block_finality
* prove parachain head at block, selected by headers relay
* const ANCIENT_BLOCK_THRESHOLD
* TODO -> proof
* clippy and spelling
* BatchCallBuilder::build_batch_call() returns Result
* read first proof from two streams
* FailedToFindFinalityProof -> FinalityProofNotFound
* changed select_headers_to_prove to version from PR review
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
Serban Iorga
e85b3fd998
Fix bridge hub rococo/wococo weights ( #1712 )
...
* Fix bridge hub rococo/wococo weights
* Remove SS58Prefix
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
7ab985718a
added version guards to RBH<>WBH GRANDPA finality (and complex) relay ( #1697 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
9c8f8a90e7
removed ESTIMATE_MESSAGE_FEE_METHOD ( #1696 )
2024-04-10 10:28:37 +02:00
Branislav Kontur
9cea69349f
dry-run mode for init bridge command (#1690 )
...
* `dry-run` mode for init bridge command
* fix clippy
2024-04-10 10:28:37 +02:00
Serban Iorga
7b74940539
Add RococoBridgeHub <> WococoBridgeHub full 2 way bridge ( #1663 )
...
* Add RococoBridgeHub <> WococoBridgeHub full 2 way bridge
* Use StorageMapKeyProvider instead of account_info_storage_key()
Avoid duplicating storage_map_final_key()
* clippy + leftovers
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
9da22df16b
Complex parachain <> parachain relay ( #1637 )
...
* complex parachain <> parachain relay
* spelling
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
Branislav Kontur
6c4728f1cc
Rococo/Wococo bridge hub relay integration ( #1565 )
...
* [BridgeHub] Added bridge-hub-rococo/wococo clients with bridge-hub-rococo-runtime
* [BridgeHub] Add init-bridge stuff for bridge-hub-rococo/wococo
* [BridgeHub] Add init-bridge stuff for bridge-hub-rococo/wococo
* [BridgeHub] Fixed Call-encoding for init-bridge rococo runtime wrapper
* Final index update to runtime calls
* [BridgeHub] Add init-bridge stuff for bridge-hub-rococo/wococo (otherside)
* Added runtime best_finalized functions + relay-headers init
* Renaming and change BridgeHubRococo/Wococo to Rococo/Wococo config
* [BridgeHub] Add relay-parachains (Rococo/Wococo)
* Missing stuff for adding xcm messaging to BridgeHub
* extracted parachain IDs to the primitives
* fix compilation
* Fixes
* Init setup for Rococo->Wococo messaging support
* Removed unused AccountId from `trait MessagesBridge`
* Removed unused trait SenderOrigin
* Small fixes
* Cleaning after master-merge
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes:
- align WeightToFee with BridgeHubRococo runtime
- MAX_HEADER_SIZE
- updated TODOs
* Added relay_messages cfg for BridgeHubWococo -> BridgeHubRococo
Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
3e00c5c022
Statemine primitives ( #1625 )
...
* Statemine primitives
* ref issue in TODO
* fix TODO
2024-04-10 10:28:37 +02:00
Branislav Kontur
2c0b6b73e0
Bump xcm v3 + substrate
...
* Bumping substrate/polkadot/cumulus
* Update Cargo.lock
* Fixes
* Fixes for mmr
* Bump clap
* Fix for millau - added CompatibilityMode
* Fixes for rialto-parachain
* Align everywhere branch='master' and just use overrides from main Cargo.toml
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
a979340e49
refactor transaction sign scheme ( #1621 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
f58e076ca2
fixes for nightly clippy ( #1618 )
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
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
5ff36549f1
remove unnecessary consts ( #1586 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
70d6e91f20
TransactionInvalidationTracker ( #1544 )
...
* TransactionInvalidationTracker
* TransacitonInvalidationTracker -> TransactionTracker
* change sign_transaction method
* clippy and spelling
* removed comment
* more transactiontracker tests
* stalls_when_transaction_tracker_returns_error
* remove test code
* remove "impl TransactionTracker for ()"
* enum TrackedTransactionStatus
* test TransactionTracker in on_transaction_status
* do_wait
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
Branislav Kontur
1c94fbeafc
Get paraId from configured SOURCE_PARACHAIN_PARA_ID ( #1564 )
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
Branislav Kontur
793321fcfc
Reexport paste from sp-runtime in bp-runtime to aviod including paste dependency everywhere ( #1556 )
...
* Reexport paste from `sp-runtime` in `bp-runtime` to aviod including `paste` dependency everywhere
* Add import `bp_runtime` to macro calls: decl_bridge_finality_runtime_apis/decl_bridge_messages_runtime_apis
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
Serban Iorga
e0b42dfae7
Follow-up on #1518 ( #1546 )
...
* Adjustments for the xcm messages sending logic
Signed-off-by: Serban Iorga <serban@parity.io >
* Deduplicate XCM destination
Signed-off-by: Serban Iorga <serban@parity.io >
* [send_message] small changes
Signed-off-by: Serban Iorga <serban@parity.io >
* Define CustomNetworkId
Right now we use some associations between Rialto, RialtoParachain and
Millau chains and chains defined in the NetworkId enum. But if we are
not carreful we might do mistakes like:
In Millau:
pub const ThisNetwork: NetworkId = Kusama;
pub const RialtoNetwork: NetworkId = Polkadot;
In Rialto:
pub const ThisNetwork: NetworkId = Kusama;
pub const MillauNetwork: NetworkId = Polkadot;
We're introducing CustomNetworkId to have a centralized mapping between
NetworkId chains and our custom chains.
Signed-off-by: Serban Iorga <serban@parity.io >
* Revert "Deduplicate XCM destination"
This reverts commit 3a0a950e1d7484e3ecac45f5c00b152f0485cd11.
Signed-off-by: Serban Iorga <serban@parity.io >
2024-04-10 10:28:37 +02:00
Serban Iorga
1723c1e004
[Complex Relayers] Deduplicate l2r and r2l logic ( #1535 )
...
* [Complex Relayers] Deduplicate l2r and r2l logic
Signed-off-by: Serban Iorga <serban@parity.io >
* Renamings
2024-04-10 10:28:37 +02:00
Serban Iorga
77af92b17b
Follow-up on #1419 ( #1531 )
...
* Parachains source cosmetic changes
- Make `ParaHashAtSource` more generic
- Modify `on_chain_parachain_header` to return `HeaderId`
- Shortening variable names
Signed-off-by: Serban Iorga <serban@parity.io >
* Change ParachainsSource::max_head_id type
Change ParachainsSource::max_head_id to Arc<Mutex<NoopOption>>
Signed-off-by: Serban Iorga <serban@parity.io >
* code review changes
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
Serban Iorga
dc38e3d079
Define HeaderIdProvider trait
...
Define HeaderIdProvider trait
Signed-off-by: Serban Iorga <serban@parity.io >
2024-04-10 10:28:37 +02:00
Serban Iorga
a2dcb1b4ad
Move bridge definitions
...
Move bridge definitions to their specific folder.
Signed-off-by: Serban Iorga <serban@parity.io >
2024-04-10 10:28:37 +02:00
Serban Iorga
e1fd877b80
CLI refactoring
...
* [CLI] Make bridge definitions more complete
* [CLI] Refactor relay_headers_and_messages
Signed-off-by: Serban Iorga <serban@parity.io >
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
d327b25724
Change account names to something meaningful ( #1497 )
...
* change testnets account "names" to something meaningful
* fixes
* fix doc
* fmt
* account names as consts
* fmt
* spelling
2024-04-10 10:28:37 +02:00
Serban Iorga
f89eeb920a
[CLI] remove select_full_bridge!() macro
...
Signed-off-by: Serban Iorga <serban@parity.io >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
88e95388bb
Remove obsolete bridges ( #1491 )
...
* remove Rococo<>Wococo bridge mentions
* remove Kusama <> Polkadot bridge mentions
* fmt
* remove unneeded mocked runtimes && trait impls for obsolete bridges
* remove unused deps
2024-04-10 10:28:37 +02:00
Serban Iorga
46c0400f26
[CLI] Remove some macros
...
Refactor the implementations for the following CLI methods in order to
avoid using macros:
- init_bridge
- relay_headers
- relay_parachains
Signed-off-by: Serban Iorga <serban@parity.io >
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
852f629d78
Sync Westmint to Millau ( #1482 )
...
* sync Westmint to Millau
* "Westend parachains at Millau" dashboard
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
418942826d
Separate signers for different complex relay layers ( #1465 )
...
* separate accounts for different complex relay layers
* fix clippy issue
* cleanup + expose relay accounts balance metrics
* expose messages pallet owner balance metric
* use new metrics in maintenance dashboard
* tests + use separate accounts to sign RialtoHeaders -> Millau transactions in RialtoParachain<>Millau bridge
* clippy + fmt + spellcheck
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
9988a7ac99
actually use RialtoParachainMessagesToMillauUpdateConversionRateCallBuilder ( #1456 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
2f9d8e33e0
Add missing parts to rialto parachain bridge (part 1) ( #1454 )
...
* add proper parameter names to bridge declaration
* associate RialtoParachain token with DOT
* RialtoParachain<>Millau message pallet owners
* fix compilation
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
ee5b692f72
fix another clippy warning ( #1448 )
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
1a8066472a
allow(clippy::too_many_arguments) for on-demand relays startup ( #1414 )
...
* allow(clippy::too_many_arguments) for on-demand relays startup
* add TODO
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
7a92b40eab
Fix clippy warnings + try to enable proper (no-warning) clippy on CI ( #1410 )
...
* fix clippy warnings
* try to reenable proper clippy on CI
* fix clippy error
* more Eqs
* ignore clippy::derive-partial-eq-without-eq - clippy seems to be broken now :/
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
Svyatoslav Nikolsky
5f2f61ced5
messages bridge between RialtoParachain and Millau ( #1218 )
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
03c2f06a27
Parachains finality relay ( #1199 )
2024-04-10 10:28:37 +02:00
Sergei Shulepov
afb6fb6e5a
Generalize error text ( #1388 )
...
* Generalize error text
Right now, each time there is an error while executing `substrate-relay`
it will be reported as:
ERROR bridge Failed to start relay: <Actual cause of error>
This is the case even if the invoked command did not have anything to do
with starting a relayer. Thus this removes this text. Now something like
this would be written:
ERROR bridge <Actual cause of error>
* Use substrate-relay prefix
2024-04-10 10:28:37 +02:00
Svyatoslav Nikolsky
d582061dff
Remove support for encoded-call messaging from relay and runtime integration code ( #1376 )
...
* remove support for encoded-call messaging
* continue cleanup
* continue cleanup
* continue cleanup
* more cleanpup
* more cleanup
* fmt
* continue cleanup
* spellcheck
* rename
* fix benchmarks
* mention encoded-calls-messaging tag
* fixing deployments
* fix messages generation
* fmt
2024-04-10 10:28:37 +02:00