From 996e1995cc8338456a323359db1d68cf7ad2e868 Mon Sep 17 00:00:00 2001 From: Alain Brenzikofer Date: Tue, 20 Feb 2024 09:24:17 +0100 Subject: [PATCH 01/17] upgrade encointer to 1.6.0 --- Cargo.toml | 21 +++ system-parachains/encointer/Cargo.toml | 140 +++++++++--------- system-parachains/encointer/src/lib.rs | 5 - .../src/weights/cumulus_pallet_xcmp_queue.rs | 12 -- 4 files changed, 87 insertions(+), 91 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 01efeb50b9..e16ed53c7d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,3 +41,24 @@ opt-level = 3 inherits = "release" lto = true codegen-units = 1 + +[patch.crates-io] +encointer-balances-tx-payment = { path = "../pallets/balances-tx-payment" } +encointer-balances-tx-payment-rpc = { path = "../pallets/balances-tx-payment/rpc" } +encointer-balances-tx-payment-rpc-runtime-api = { path = "../pallets/balances-tx-payment/rpc/runtime-api" } +encointer-ceremonies-assignment = { path = "../pallets/ceremonies/assignment" } +encointer-primitives = { path = "../pallets/primitives" } +pallet-encointer-balances = { path = "../pallets/balances" } +pallet-encointer-bazaar = { path = "../pallets/bazaar" } +pallet-encointer-bazaar-rpc = { path = "../pallets/bazaar/rpc" } +pallet-encointer-bazaar-rpc-runtime-api = { path = "../pallets/bazaar/rpc/runtime-api" } +pallet-encointer-ceremonies = { path = "../pallets/ceremonies" } +pallet-encointer-ceremonies-rpc = { path = "../pallets/ceremonies/rpc" } +pallet-encointer-ceremonies-rpc-runtime-api = { path = "../pallets/ceremonies/rpc/runtime-api" } +pallet-encointer-communities = { path = "../pallets/communities" } +pallet-encointer-communities-rpc = { path = "../pallets/communities/rpc" } +pallet-encointer-communities-rpc-runtime-api = { path = "../pallets/communities/rpc/runtime-api" } +pallet-encointer-democracy = { path = "../pallets/democracy" } +pallet-encointer-faucet = { path = "../pallets/faucet" } +pallet-encointer-reputation-commitments = { path = "../pallets/reputation-commitments" } +pallet-encointer-scheduler = { path = "../pallets/scheduler" } diff --git a/system-parachains/encointer/Cargo.toml b/system-parachains/encointer/Cargo.toml index 52f7b22fee..68a64cc98f 100644 --- a/system-parachains/encointer/Cargo.toml +++ b/system-parachains/encointer/Cargo.toml @@ -20,89 +20,85 @@ scale-info = { version = "2.10.0", default-features = false, features = [ smallvec = "1.13.1" # encointer deps -encointer-balances-tx-payment = { default-features = false, version = "3.0.2" } -encointer-balances-tx-payment-rpc-runtime-api = { default-features = false, version = "3.0.2" } -encointer-primitives = { default-features = false, version = "3.0.2" } -pallet-encointer-balances = { default-features = false, version = "3.0.2" } -pallet-encointer-bazaar = { default-features = false, version = "3.0.3" } -pallet-encointer-bazaar-rpc-runtime-api = { default-features = false, version = "3.0.2" } -pallet-encointer-ceremonies = { default-features = false, version = "3.0.4" } -pallet-encointer-ceremonies-rpc-runtime-api = { default-features = false, version = "3.0.2" } -pallet-encointer-communities = { default-features = false, version = "3.0.3" } -pallet-encointer-communities-rpc-runtime-api = { default-features = false, version = "3.0.2" } -pallet-encointer-faucet = { default-features = false, version = "3.0.3" } -pallet-encointer-reputation-commitments = { default-features = false, version = "3.0.2" } -pallet-encointer-scheduler = { default-features = false, version = "3.0.3" } +encointer-balances-tx-payment = { default-features = false, version = "5.0.0" } +encointer-balances-tx-payment-rpc-runtime-api = { default-features = false, version = "5.0.0" } +encointer-primitives = { default-features = false, version = "5.0.0" } +pallet-encointer-balances = { default-features = false, version = "5.0.0" } +pallet-encointer-bazaar = { default-features = false, version = "5.0.0" } +pallet-encointer-bazaar-rpc-runtime-api = { default-features = false, version = "5.0.0" } +pallet-encointer-ceremonies = { default-features = false, version = "5.0.0" } +pallet-encointer-ceremonies-rpc-runtime-api = { default-features = false, version = "5.0.0" } +pallet-encointer-communities = { default-features = false, version = "5.0.0" } +pallet-encointer-communities-rpc-runtime-api = { default-features = false, version = "5.0.0" } +pallet-encointer-faucet = { default-features = false, version = "5.0.0" } +pallet-encointer-reputation-commitments = { default-features = false, version = "5.0.0" } +pallet-encointer-scheduler = { default-features = false, version = "5.0.0" } # Substrate -frame-benchmarking = { default-features = false, optional = true, version = "25.0.0" } -frame-executive = { default-features = false, version = "25.0.0" } -frame-support = { default-features = false, version = "25.0.0" } -frame-system = { default-features = false, version = "25.0.0" } -frame-system-benchmarking = { default-features = false, optional = true, version = "25.0.0" } -frame-system-rpc-runtime-api = { default-features = false, version = "23.0.0" } -frame-try-runtime = { default-features = false, optional = true, version = "0.31.0" } -pallet-asset-tx-payment = { default-features = false, version = "25.0.0" } -pallet-aura = { default-features = false, version = "24.0.0" } -pallet-balances = { default-features = false, version = "25.0.0" } -pallet-collective = { default-features = false, version = "25.0.0" } -pallet-insecure-randomness-collective-flip = { default-features = false, version = "13.0.0" } -pallet-membership = { default-features = false, version = "25.0.0" } -pallet-proxy = { default-features = false, version = "25.0.0" } -pallet-scheduler = { default-features = false, version = "26.0.0" } -pallet-timestamp = { default-features = false, version = "24.0.0" } -pallet-transaction-payment = { default-features = false, version = "25.0.0" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, version = "25.0.0" } -pallet-treasury = { default-features = false, version = "24.0.0" } -pallet-utility = { default-features = false, version = "25.0.0" } -sp-api = { default-features = false, version = "23.0.0" } -sp-block-builder = { default-features = false, version = "23.0.0" } -sp-consensus-aura = { default-features = false, version = "0.29.0" } -sp-core = { default-features = false, version = "25.0.0" } -sp-inherents = { default-features = false, version = "23.0.0" } -sp-offchain = { default-features = false, version = "23.0.0" } -sp-runtime = { default-features = false, version = "28.0.0" } -sp-session = { default-features = false, version = "24.0.0" } -sp-std = { default-features = false, version = "12.0.0" } -sp-transaction-pool = { default-features = false, version = "23.0.0" } -sp-version = { default-features = false, version = "26.0.0" } -sp-genesis-builder = { default-features = false , version = "0.4.0" } +frame-benchmarking = { default-features = false, optional = true, version = "28.0.0" } +frame-executive = { default-features = false, version = "28.0.0" } +frame-support = { default-features = false, version = "28.0.0" } +frame-system = { default-features = false, version = "28.0.0" } +frame-system-benchmarking = { default-features = false, optional = true, version = "28.0.0" } +frame-system-rpc-runtime-api = { default-features = false, version = "26.0.0" } +frame-try-runtime = { default-features = false, optional = true, version = "0.34.0" } +pallet-asset-tx-payment = { default-features = false, version = "28.0.0" } +pallet-aura = { default-features = false, version = "27.0.0" } +pallet-balances = { default-features = false, version = "28.0.0" } +pallet-collective = { default-features = false, version = "28.0.0" } +pallet-insecure-randomness-collective-flip = { default-features = false, version = "16.0.0" } +pallet-membership = { default-features = false, version = "28.0.0" } +pallet-proxy = { default-features = false, version = "28.0.0" } +pallet-scheduler = { default-features = false, version = "29.0.0" } +pallet-timestamp = { default-features = false, version = "27.0.0" } +pallet-transaction-payment = { default-features = false, version = "28.0.0" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, version = "28.0.0" } +pallet-treasury = { default-features = false, version = "28.0.0" } +pallet-utility = { default-features = false, version = "28.0.0" } +sp-api = { default-features = false, version = "26.0.0" } +sp-block-builder = { default-features = false, version = "26.0.0" } +sp-consensus-aura = { default-features = false, version = "0.32.0" } +sp-core = { default-features = false, version = "28.0.0" } +sp-inherents = { default-features = false, version = "26.0.0" } +sp-offchain = { default-features = false, version = "26.0.0" } +sp-runtime = { default-features = false, version = "31.0.0" } +sp-session = { default-features = false, version = "27.0.0" } +sp-std = { default-features = false, version = "14.0.0" } +sp-transaction-pool = { default-features = false, version = "26.0.0" } +sp-version = { default-features = false, version = "29.0.0" } +sp-genesis-builder = { default-features = false , version = "0.7.0" } # Polkadot dependencies -pallet-xcm = { default-features = false, version = "4.0.0" } -polkadot-parachain-primitives = { default-features = false, version = "3.0.0" } -polkadot-runtime-common = { default-features = false, version = "4.0.0" } -xcm = { package = "staging-xcm", default-features = false, version = "4.0.0" } -xcm-builder = { package = "staging-xcm-builder", default-features = false, version = "4.0.0" } -xcm-executor = { package = "staging-xcm-executor", default-features = false, version = "4.0.2" } +pallet-xcm = { default-features = false, version = "7.0.0" } +polkadot-parachain-primitives = { default-features = false, version = "6.0.0" } +polkadot-runtime-common = { default-features = false, version = "7.0.0" } +xcm = { package = "staging-xcm", default-features = false, version = "7.0.0" } +xcm-builder = { package = "staging-xcm-builder", default-features = false, version = "7.0.0" } +xcm-executor = { package = "staging-xcm-executor", default-features = false, version = "7.0.0" } # Cumulus dependencies -cumulus-pallet-aura-ext = { default-features = false, version = "0.4.0" } -cumulus-pallet-dmp-queue = { default-features = false, version = "0.4.0" } +cumulus-pallet-aura-ext = { default-features = false, version = "0.7.0" } +cumulus-pallet-dmp-queue = { default-features = false, version = "0.7.0" } cumulus-pallet-parachain-system = { default-features = false, features = [ "parameterized-consensus-hook", -], version = "0.4.0" } -cumulus-pallet-xcm = { default-features = false, version = "0.4.0" } -cumulus-pallet-xcmp-queue = { default-features = false, version = "0.4.0" } -cumulus-primitives-core = { default-features = false, version = "0.4.0" } -cumulus-primitives-timestamp = { default-features = false, version = "0.4.0" } -cumulus-primitives-utility = { default-features = false, version = "0.4.0" } -parachain-info = { package = "staging-parachain-info", default-features = false, version = "0.4.0" } -parachains-common = { default-features = false, version = "4.0.0" } +], version = "0.7.0" } +cumulus-pallet-xcm = { default-features = false, version = "0.7.0" } +cumulus-pallet-xcmp-queue = { default-features = false, version = "0.7.0" } +cumulus-primitives-core = { default-features = false, version = "0.7.0" } +cumulus-primitives-timestamp = { default-features = false, version = "0.7.0" } +cumulus-primitives-utility = { default-features = false, version = "0.7.0" } +parachain-info = { package = "staging-parachain-info", default-features = false, version = "0.7.0" } +parachains-common = { default-features = false, version = "7.0.0" } +system-parachains-constants = { path = "../constants", default-features = false } + +# Used for runtime benchmarking -# TODO: Encointer pallets does not have compatible `polkadot-sdk` versions, -# so we need to copy all the stuff from `system-parachains-constants` and `kusama-runtime-constants`. -#system-parachains-constants = { path = "../constants", default-features = false } -#kusama-runtime-constants = { path = "../../relay/kusama/constants", default-features = false} -polkadot-core-primitives = { default-features = false, version = "4.0.0"} -polkadot-primitives = { default-features = false , version = "4.0.0" } [build-dependencies] -substrate-wasm-builder = { optional = true, version = "14.0.0" } +substrate-wasm-builder = { optional = true, version = "17.0.0" } [dev-dependencies] -system-parachains-constants = { path = "../constants" } -kusama-runtime-constants = { path = "../../relay/kusama/constants" } +kusama-runtime-constants = { path = "../../relay/kusama/constants", default-features = false} [features] default = ["std"] @@ -153,7 +149,6 @@ std = [ "frame-system-rpc-runtime-api/std", "frame-system/std", "frame-try-runtime/std", -# "kusama-runtime-constants/std", "log/std", "pallet-asset-tx-payment/std", "pallet-aura/std", @@ -180,8 +175,6 @@ std = [ "pallet-xcm/std", "parachain-info/std", "parachains-common/std", - "polkadot-core-primitives/std", - "polkadot-primitives/std", "scale-info/std", "sp-api/std", "sp-block-builder/std", @@ -195,7 +188,6 @@ std = [ "sp-std/std", "sp-transaction-pool/std", "sp-version/std", -# "system-parachains-constants/std", "substrate-wasm-builder", "xcm-builder/std", "xcm-executor/std", diff --git a/system-parachains/encointer/src/lib.rs b/system-parachains/encointer/src/lib.rs index eb04d4753d..7b1cc1a92f 100644 --- a/system-parachains/encointer/src/lib.rs +++ b/system-parachains/encointer/src/lib.rs @@ -417,7 +417,6 @@ impl cumulus_pallet_parachain_system::Config for Runtime { type RuntimeEvent = RuntimeEvent; type OnSystemEvent = (); type SelfParaId = parachain_info::Pallet; - type DmpMessageHandler = DmpQueue; type ReservedDmpWeight = ReservedDmpWeight; type OutboundXcmpMessageSource = XcmpQueue; type XcmpMessageHandler = XcmpQueue; @@ -455,10 +454,8 @@ pub type PriceForSiblingParachainDelivery = polkadot_runtime_common::xcm_sender: impl cumulus_pallet_xcmp_queue::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; type ChannelInfo = ParachainSystem; type VersionWrapper = PolkadotXcm; - type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EitherOfDiverse< EnsureRoot, EnsureXcm>, @@ -471,8 +468,6 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { // TODO: remove dmp with 1.3.0 (https://github.com/polkadot-fellows/runtimes/issues/186) impl cumulus_pallet_dmp_queue::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; - type ExecuteOverweightOrigin = EnsureRoot; } parameter_types! { diff --git a/system-parachains/encointer/src/weights/cumulus_pallet_xcmp_queue.rs b/system-parachains/encointer/src/weights/cumulus_pallet_xcmp_queue.rs index f10766cb91..95c03085b6 100644 --- a/system-parachains/encointer/src/weights/cumulus_pallet_xcmp_queue.rs +++ b/system-parachains/encointer/src/weights/cumulus_pallet_xcmp_queue.rs @@ -44,16 +44,4 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: XcmpQueue QueueConfig (r:1 w:1) - /// Proof Skipped: XcmpQueue QueueConfig (max_values: Some(1), max_size: None, mode: Measured) - fn set_config_with_weight() -> Weight { - // Proof Size summary in bytes: - // Measured: `42` - // Estimated: `1527` - // Minimum execution time: 4_285_000 picoseconds. - Weight::from_parts(4_439_000, 0) - .saturating_add(Weight::from_parts(0, 1527)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } } From 437115e766f49b884aa1b5633dc83893b4a76fd1 Mon Sep 17 00:00:00 2001 From: Alain Brenzikofer Date: Tue, 20 Feb 2024 11:38:35 +0100 Subject: [PATCH 02/17] fix novelties --- Cargo.lock | 7178 +++++------------ Cargo.toml | 20 - .../asset-hubs/asset-hub-kusama/src/lib.rs | 2 +- system-parachains/encointer/Cargo.toml | 10 +- system-parachains/encointer/src/lib.rs | 49 +- .../src/weights/cumulus_pallet_dmp_queue.rs | 131 + .../cumulus_pallet_parachain_system.rs | 80 + .../src/weights/cumulus_pallet_xcmp_queue.rs | 131 +- .../encointer/src/weights/frame_system.rs | 95 +- .../encointer/src/weights/mod.rs | 3 + .../src/weights/pallet_message_queue.rs | 179 + system-parachains/encointer/src/xcm_config.rs | 2 - 12 files changed, 2423 insertions(+), 5457 deletions(-) create mode 100644 system-parachains/encointer/src/weights/cumulus_pallet_dmp_queue.rs create mode 100644 system-parachains/encointer/src/weights/cumulus_pallet_parachain_system.rs create mode 100644 system-parachains/encointer/src/weights/pallet_message_queue.rs diff --git a/Cargo.lock b/Cargo.lock index 121a932fc7..baa1472778 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -197,20 +197,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "aquamarine" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df752953c49ce90719c7bf1fc587bc8227aed04732ea0c0f85e5397d7fdbd1a1" -dependencies = [ - "include_dir", - "itertools 0.10.5", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "aquamarine" version = "0.4.0" @@ -218,7 +204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "074b80d14d0240b6ce94d68f059a2d26a5d77280ae142662365a21ef6e2594ef" dependencies = [ "include_dir", - "itertools 0.10.5", + "itertools", "proc-macro-error", "proc-macro2", "quote", @@ -260,7 +246,7 @@ dependencies = [ "ark-std", "derivative", "hashbrown 0.13.2", - "itertools 0.10.5", + "itertools", "num-traits", "zeroize", ] @@ -277,7 +263,7 @@ dependencies = [ "ark-std", "derivative", "digest 0.10.7", - "itertools 0.10.5", + "itertools", "num-bigint", "num-traits", "paste", @@ -437,19 +423,19 @@ dependencies = [ "asset-hub-kusama-runtime", "asset-test-utils", "emulated-chains", - "frame-support 28.0.0", + "frame-support", "integration-tests-common", "pallet-asset-conversion", - "pallet-assets 29.0.0", - "pallet-balances 28.0.0", - "pallet-message-queue 31.0.0", - "pallet-xcm 7.0.0", - "parachains-common 7.0.0", + "pallet-assets", + "pallet-balances", + "pallet-message-queue", + "pallet-xcm", + "parachains-common", "parity-scale-codec", - "sp-runtime 31.0.1", + "sp-runtime", "staging-kusama-runtime", - "staging-xcm 7.0.0", - "staging-xcm-executor 7.0.3", + "staging-xcm", + "staging-xcm-executor", "system-parachains-constants", "xcm-emulator", ] @@ -464,76 +450,76 @@ dependencies = [ "bp-asset-hub-polkadot", "bp-bridge-hub-kusama", "bp-bridge-hub-polkadot", - "cumulus-pallet-aura-ext 0.7.0", - "cumulus-pallet-dmp-queue 0.7.0", - "cumulus-pallet-parachain-system 0.7.0", + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", - "cumulus-pallet-xcm 0.7.0", - "cumulus-pallet-xcmp-queue 0.7.0", - "cumulus-primitives-core 0.7.0", - "cumulus-primitives-utility 0.7.3", - "frame-benchmarking 28.0.0", - "frame-executive 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "frame-system-benchmarking 28.0.0", - "frame-system-rpc-runtime-api 26.0.0", - "frame-try-runtime 0.34.0", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-utility", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex-literal", "kusama-runtime-constants", "log", "pallet-asset-conversion", "pallet-asset-conversion-tx-payment", - "pallet-assets 29.0.0", - "pallet-aura 27.0.0", - "pallet-authorship 28.0.0", - "pallet-balances 28.0.0", - "pallet-collator-selection 9.0.0", - "pallet-message-queue 31.0.0", + "pallet-assets", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", + "pallet-message-queue", "pallet-multisig", "pallet-nft-fractionalization", "pallet-nfts", "pallet-nfts-runtime-api", - "pallet-proxy 28.0.0", - "pallet-session 28.0.0", + "pallet-proxy", + "pallet-session", "pallet-state-trie-migration", - "pallet-timestamp 27.0.0", - "pallet-transaction-payment 28.0.0", - "pallet-transaction-payment-rpc-runtime-api 28.0.0", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", "pallet-uniques", - "pallet-utility 28.0.0", - "pallet-xcm 7.0.0", - "pallet-xcm-benchmarks 7.0.3", + "pallet-utility", + "pallet-xcm", + "pallet-xcm-benchmarks", "pallet-xcm-bridge-hub-router", - "parachains-common 7.0.0", + "parachains-common", "parachains-runtimes-test-utils", "parity-scale-codec", - "polkadot-core-primitives 7.0.0", - "polkadot-parachain-primitives 6.0.0", - "polkadot-runtime-common 7.0.0", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-runtime-common", "polkadot-runtime-constants", "primitive-types", "scale-info", - "sp-api 26.0.0", - "sp-block-builder 26.0.0", - "sp-consensus-aura 0.32.0", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-offchain 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", - "sp-transaction-pool 26.0.0", - "sp-version 29.0.0", - "sp-weights 27.0.0", - "staging-parachain-info 0.7.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", - "substrate-wasm-builder 17.0.0", + "sp-transaction-pool", + "sp-version", + "sp-weights", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", "system-parachains-constants", ] @@ -544,18 +530,18 @@ dependencies = [ "asset-hub-polkadot-runtime", "asset-test-utils", "emulated-chains", - "frame-support 28.0.0", + "frame-support", "integration-tests-common", - "pallet-assets 29.0.0", - "pallet-balances 28.0.0", - "pallet-message-queue 31.0.0", - "pallet-xcm 7.0.0", - "parachains-common 7.0.0", + "pallet-assets", + "pallet-balances", + "pallet-message-queue", + "pallet-xcm", + "parachains-common", "parity-scale-codec", "polkadot-runtime", - "sp-runtime 31.0.1", - "staging-xcm 7.0.0", - "staging-xcm-executor 7.0.3", + "sp-runtime", + "staging-xcm", + "staging-xcm-executor", "system-parachains-constants", "xcm-emulator", ] @@ -570,72 +556,72 @@ dependencies = [ "bp-asset-hub-polkadot", "bp-bridge-hub-kusama", "bp-bridge-hub-polkadot", - "cumulus-pallet-aura-ext 0.7.0", - "cumulus-pallet-dmp-queue 0.7.0", - "cumulus-pallet-parachain-system 0.7.0", + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", - "cumulus-pallet-xcm 0.7.0", - "cumulus-pallet-xcmp-queue 0.7.0", - "cumulus-primitives-core 0.7.0", - "cumulus-primitives-utility 0.7.3", - "frame-benchmarking 28.0.0", - "frame-executive 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "frame-system-benchmarking 28.0.0", - "frame-system-rpc-runtime-api 26.0.0", - "frame-try-runtime 0.34.0", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-utility", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex-literal", "kusama-runtime-constants", "log", - "pallet-asset-tx-payment 28.0.0", - "pallet-assets 29.0.0", - "pallet-aura 27.0.0", - "pallet-authorship 28.0.0", - "pallet-balances 28.0.0", - "pallet-collator-selection 9.0.0", - "pallet-message-queue 31.0.0", + "pallet-asset-tx-payment", + "pallet-assets", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", + "pallet-message-queue", "pallet-multisig", "pallet-nfts", "pallet-nfts-runtime-api", - "pallet-proxy 28.0.0", - "pallet-session 28.0.0", - "pallet-timestamp 27.0.0", - "pallet-transaction-payment 28.0.0", - "pallet-transaction-payment-rpc-runtime-api 28.0.0", + "pallet-proxy", + "pallet-session", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", "pallet-uniques", - "pallet-utility 28.0.0", - "pallet-xcm 7.0.0", - "pallet-xcm-benchmarks 7.0.3", + "pallet-utility", + "pallet-xcm", + "pallet-xcm-benchmarks", "pallet-xcm-bridge-hub-router", - "parachains-common 7.0.0", + "parachains-common", "parachains-runtimes-test-utils", "parity-scale-codec", - "polkadot-core-primitives 7.0.0", - "polkadot-parachain-primitives 6.0.0", - "polkadot-runtime-common 7.0.0", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-runtime-common", "polkadot-runtime-constants", "scale-info", - "sp-api 26.0.0", - "sp-block-builder 26.0.0", - "sp-consensus-aura 0.32.0", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-offchain 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", - "sp-transaction-pool 26.0.0", - "sp-version 29.0.0", - "sp-weights 27.0.0", - "staging-parachain-info 0.7.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", - "substrate-wasm-builder 17.0.0", + "sp-transaction-pool", + "sp-version", + "sp-weights", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", "system-parachains-constants", ] @@ -646,33 +632,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcb8a236738d24ef9006c6d775540a433a9d5573d41fa96b49aa305673c3e535" dependencies = [ "assets-common", - "cumulus-pallet-parachain-system 0.7.0", - "cumulus-pallet-xcmp-queue 0.7.0", - "cumulus-primitives-core 0.7.0", - "cumulus-primitives-parachain-inherent 0.7.0", - "cumulus-test-relay-sproof-builder 0.7.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "pallet-assets 29.0.0", - "pallet-balances 28.0.0", - "pallet-collator-selection 9.0.0", - "pallet-session 28.0.0", - "pallet-xcm 7.0.0", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "cumulus-test-relay-sproof-builder", + "frame-support", + "frame-system", + "pallet-assets", + "pallet-balances", + "pallet-collator-selection", + "pallet-session", + "pallet-xcm", "pallet-xcm-bridge-hub-router", - "parachains-common 7.0.0", + "parachains-common", "parachains-runtimes-test-utils", "parity-scale-codec", - "polkadot-parachain-primitives 6.0.0", - "sp-consensus-aura 0.32.0", + "polkadot-parachain-primitives", + "sp-consensus-aura", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "staging-parachain-info 0.7.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", - "substrate-wasm-builder 17.0.0", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", ] [[package]] @@ -681,23 +667,23 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7d2d5b75d36daec8ffad11f121f581cc3aec2b7b117d8ab68f6e3ac914a5569" dependencies = [ - "cumulus-primitives-core 0.7.0", - "frame-support 28.0.0", + "cumulus-primitives-core", + "frame-support", "impl-trait-for-tuples", "log", "pallet-asset-conversion", - "pallet-asset-tx-payment 28.0.0", - "pallet-xcm 7.0.0", - "parachains-common 7.0.0", + "pallet-asset-tx-payment", + "pallet-xcm", + "parachains-common", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", "sp-std 14.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", - "substrate-wasm-builder 17.0.0", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", ] [[package]] @@ -774,17 +760,6 @@ dependencies = [ "pin-project-lite 0.2.13", ] -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -864,27 +839,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" -dependencies = [ - "bitflags 1.3.2", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "peeking_take_while", - "prettyplease 0.2.16", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn 2.0.48", -] - [[package]] name = "bip39" version = "2.0.0" @@ -961,30 +915,6 @@ dependencies = [ "constant_time_eq", ] -[[package]] -name = "blake2s_simd" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" -dependencies = [ - "arrayref", - "arrayvec 0.7.4", - "constant_time_eq", -] - -[[package]] -name = "blake3" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" -dependencies = [ - "arrayref", - "arrayvec 0.7.4", - "cc", - "cfg-if", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.7.3" @@ -1036,37 +966,28 @@ dependencies = [ "serde", ] -[[package]] -name = "bounded-vec" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68534a48cbf63a4b1323c433cf21238c9ec23711e0df13b08c33e5c2082663ce" -dependencies = [ - "thiserror", -] - [[package]] name = "bp-asset-hub-kusama" version = "1.0.0" dependencies = [ - "bp-xcm-bridge-hub-router 0.6.0", - "frame-support 28.0.0", + "bp-xcm-bridge-hub-router", + "frame-support", "parity-scale-codec", "scale-info", "sp-std 14.0.0", - "staging-xcm 7.0.0", + "staging-xcm", ] [[package]] name = "bp-asset-hub-polkadot" version = "1.0.0" dependencies = [ - "bp-xcm-bridge-hub-router 0.6.0", - "frame-support 28.0.0", + "bp-xcm-bridge-hub-router", + "frame-support", "parity-scale-codec", "scale-info", "sp-std 14.0.0", - "staging-xcm 7.0.0", + "staging-xcm", ] [[package]] @@ -1078,10 +999,10 @@ dependencies = [ "bp-messages", "bp-polkadot-core", "bp-runtime", - "frame-support 28.0.0", - "frame-system 28.0.0", - "polkadot-primitives 7.0.0", - "sp-api 26.0.0", + "frame-support", + "frame-system", + "polkadot-primitives", + "sp-api", "sp-std 14.0.0", ] @@ -1092,11 +1013,11 @@ dependencies = [ "bp-bridge-hub-cumulus", "bp-messages", "bp-runtime", - "frame-support 28.0.0", + "frame-support", "kusama-runtime-constants", "polkadot-runtime-constants", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", "sp-std 14.0.0", ] @@ -1107,11 +1028,11 @@ dependencies = [ "bp-bridge-hub-cumulus", "bp-messages", "bp-runtime", - "frame-support 28.0.0", + "frame-support", "kusama-runtime-constants", "polkadot-runtime-constants", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", "sp-std 14.0.0", ] @@ -1123,13 +1044,13 @@ checksum = "13815b42c75e06a6f6b19521a824cb6bf1624654b041ae0b4abeb279df0e2588" dependencies = [ "bp-runtime", "finality-grandpa", - "frame-support 28.0.0", + "frame-support", "parity-scale-codec", "scale-info", "serde", - "sp-consensus-grandpa 13.0.0", + "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -1142,8 +1063,8 @@ dependencies = [ "bp-header-chain", "bp-polkadot-core", "bp-runtime", - "frame-support 28.0.0", - "sp-api 26.0.0", + "frame-support", + "sp-api", "sp-std 14.0.0", ] @@ -1155,7 +1076,7 @@ checksum = "220c494acdb350a79a7268f4a73d7a6b6cd3f2138f301856a6f6c4a5c09ef926" dependencies = [ "bp-header-chain", "bp-runtime", - "frame-support 28.0.0", + "frame-support", "parity-scale-codec", "scale-info", "serde", @@ -1172,12 +1093,12 @@ dependencies = [ "bp-header-chain", "bp-polkadot-core", "bp-runtime", - "frame-support 28.0.0", + "frame-support", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -1190,8 +1111,8 @@ dependencies = [ "bp-header-chain", "bp-polkadot-core", "bp-runtime", - "frame-support 28.0.0", - "sp-api 26.0.0", + "frame-support", + "sp-api", "sp-std 14.0.0", ] @@ -1203,14 +1124,14 @@ checksum = "80145cd18bd06347b5571a767112163e1da41e8b10a90bf9d2d982bf0ba5fcb7" dependencies = [ "bp-messages", "bp-runtime", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "parity-scale-codec", "parity-util-mem", "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -1222,10 +1143,10 @@ checksum = "cf10c05632fad95ba4c6c3d1b2f3a3109bde6aa8f295098351a6e5b1270ba201" dependencies = [ "bp-messages", "bp-runtime", - "frame-support 28.0.0", + "frame-support", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -1235,8 +1156,8 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fad9aefbc3e6cb63e0ac82a4dae9f1404416b41fb45931a4b43946cfa23c814" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "hash-db", "impl-trait-for-tuples", "log", @@ -1245,11 +1166,11 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-io", + "sp-runtime", + "sp-state-machine", "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-trie", "trie-db", ] @@ -1266,12 +1187,12 @@ dependencies = [ "ed25519-dalek", "finality-grandpa", "parity-scale-codec", - "sp-application-crypto 30.0.0", - "sp-consensus-grandpa 13.0.0", + "sp-application-crypto", + "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-trie", ] [[package]] @@ -1283,18 +1204,6 @@ dependencies = [ "sp-std 14.0.0", ] -[[package]] -name = "bp-xcm-bridge-hub-router" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be3b4fafc31f17da1b4ea403c4118e4f4f1d9a5a696729b374551d582e48633b" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-runtime 28.0.0", -] - [[package]] name = "bp-xcm-bridge-hub-router" version = "0.6.0" @@ -1304,7 +1213,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -1325,71 +1234,71 @@ dependencies = [ "bp-runtime", "bridge-hub-test-utils", "bridge-runtime-common", - "cumulus-pallet-aura-ext 0.7.0", - "cumulus-pallet-dmp-queue 0.7.0", - "cumulus-pallet-parachain-system 0.7.0", + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", - "cumulus-pallet-xcm 0.7.0", - "cumulus-pallet-xcmp-queue 0.7.0", - "cumulus-primitives-core 0.7.0", - "cumulus-primitives-utility 0.7.3", - "frame-benchmarking 28.0.0", - "frame-executive 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "frame-system-benchmarking 28.0.0", - "frame-system-rpc-runtime-api 26.0.0", - "frame-try-runtime 0.34.0", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-utility", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex-literal", "kusama-runtime-constants", "log", - "pallet-aura 27.0.0", - "pallet-authorship 28.0.0", - "pallet-balances 28.0.0", + "pallet-aura", + "pallet-authorship", + "pallet-balances", "pallet-bridge-grandpa", "pallet-bridge-messages", "pallet-bridge-parachains", "pallet-bridge-relayers", - "pallet-collator-selection 9.0.0", - "pallet-message-queue 31.0.0", + "pallet-collator-selection", + "pallet-message-queue", "pallet-multisig", - "pallet-session 28.0.0", - "pallet-timestamp 27.0.0", - "pallet-transaction-payment 28.0.0", - "pallet-transaction-payment-rpc-runtime-api 28.0.0", - "pallet-utility 28.0.0", - "pallet-xcm 7.0.0", - "pallet-xcm-benchmarks 7.0.3", + "pallet-session", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-utility", + "pallet-xcm", + "pallet-xcm-benchmarks", "pallet-xcm-bridge-hub", - "parachains-common 7.0.0", + "parachains-common", "parity-scale-codec", - "polkadot-core-primitives 7.0.0", - "polkadot-parachain-primitives 6.0.0", - "polkadot-runtime-common 7.0.0", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-runtime-common", "polkadot-runtime-constants", "scale-info", "serde", - "sp-api 26.0.0", - "sp-block-builder 26.0.0", - "sp-consensus-aura 0.32.0", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-keyring 31.0.0", - "sp-offchain 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-offchain", + "sp-runtime", + "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", - "sp-transaction-pool 26.0.0", - "sp-version 29.0.0", - "staging-parachain-info 0.7.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", + "sp-transaction-pool", + "sp-version", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", "static_assertions", - "substrate-wasm-builder 17.0.0", + "substrate-wasm-builder", "system-parachains-constants", ] @@ -1411,71 +1320,71 @@ dependencies = [ "bp-runtime", "bridge-hub-test-utils", "bridge-runtime-common", - "cumulus-pallet-aura-ext 0.7.0", - "cumulus-pallet-dmp-queue 0.7.0", - "cumulus-pallet-parachain-system 0.7.0", + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", - "cumulus-pallet-xcm 0.7.0", - "cumulus-pallet-xcmp-queue 0.7.0", - "cumulus-primitives-core 0.7.0", - "cumulus-primitives-utility 0.7.3", - "frame-benchmarking 28.0.0", - "frame-executive 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "frame-system-benchmarking 28.0.0", - "frame-system-rpc-runtime-api 26.0.0", - "frame-try-runtime 0.34.0", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-utility", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex-literal", "kusama-runtime-constants", "log", - "pallet-aura 27.0.0", - "pallet-authorship 28.0.0", - "pallet-balances 28.0.0", + "pallet-aura", + "pallet-authorship", + "pallet-balances", "pallet-bridge-grandpa", "pallet-bridge-messages", "pallet-bridge-parachains", "pallet-bridge-relayers", - "pallet-collator-selection 9.0.0", - "pallet-message-queue 31.0.0", + "pallet-collator-selection", + "pallet-message-queue", "pallet-multisig", - "pallet-session 28.0.0", - "pallet-timestamp 27.0.0", - "pallet-transaction-payment 28.0.0", - "pallet-transaction-payment-rpc-runtime-api 28.0.0", - "pallet-utility 28.0.0", - "pallet-xcm 7.0.0", - "pallet-xcm-benchmarks 7.0.3", + "pallet-session", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-utility", + "pallet-xcm", + "pallet-xcm-benchmarks", "pallet-xcm-bridge-hub", - "parachains-common 7.0.0", + "parachains-common", "parity-scale-codec", - "polkadot-core-primitives 7.0.0", - "polkadot-parachain-primitives 6.0.0", - "polkadot-runtime-common 7.0.0", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-runtime-common", "polkadot-runtime-constants", "scale-info", "serde", - "sp-api 26.0.0", - "sp-block-builder 26.0.0", - "sp-consensus-aura 0.32.0", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-keyring 31.0.0", - "sp-offchain 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-offchain", + "sp-runtime", + "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", - "sp-transaction-pool 26.0.0", - "sp-version 29.0.0", - "staging-parachain-info 0.7.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", + "sp-transaction-pool", + "sp-version", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", "static_assertions", - "substrate-wasm-builder 17.0.0", + "substrate-wasm-builder", "system-parachains-constants", ] @@ -1494,37 +1403,37 @@ dependencies = [ "bp-runtime", "bp-test-utils", "bridge-runtime-common", - "cumulus-pallet-parachain-system 0.7.0", - "cumulus-pallet-xcmp-queue 0.7.0", - "frame-benchmarking 28.0.0", - "frame-executive 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcmp-queue", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", - "pallet-balances 28.0.0", + "pallet-balances", "pallet-bridge-grandpa", "pallet-bridge-messages", "pallet-bridge-parachains", "pallet-bridge-relayers", - "pallet-collator-selection 9.0.0", - "pallet-session 28.0.0", - "pallet-utility 28.0.0", - "pallet-xcm 7.0.0", - "pallet-xcm-benchmarks 7.0.3", - "parachains-common 7.0.0", + "pallet-collator-selection", + "pallet-session", + "pallet-utility", + "pallet-xcm", + "pallet-xcm-benchmarks", + "parachains-common", "parachains-runtimes-test-utils", "parity-scale-codec", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-keyring 31.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-keyring", + "sp-runtime", "sp-std 14.0.0", "sp-tracing 16.0.0", - "staging-parachain-info 0.7.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", ] [[package]] @@ -1540,27 +1449,27 @@ dependencies = [ "bp-relayers", "bp-runtime", "bp-xcm-bridge-hub", - "bp-xcm-bridge-hub-router 0.6.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "bp-xcm-bridge-hub-router", + "frame-support", + "frame-system", "hash-db", "log", "pallet-bridge-grandpa", "pallet-bridge-messages", "pallet-bridge-parachains", "pallet-bridge-relayers", - "pallet-transaction-payment 28.0.0", - "pallet-utility 28.0.0", + "pallet-transaction-payment", + "pallet-utility", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "sp-trie 29.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", + "sp-trie", + "staging-xcm", + "staging-xcm-builder", "static_assertions", ] @@ -1634,17 +1543,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "c2-chacha" version = "0.3.3" @@ -1697,15 +1595,6 @@ dependencies = [ "libc", ] -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - [[package]] name = "cfg-expr" version = "0.15.5" @@ -1721,12 +1610,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - [[package]] name = "chacha" version = "0.3.0" @@ -1771,30 +1654,30 @@ dependencies = [ "bridge-hub-polkadot-runtime", "clap", "collectives-polkadot-runtime", - "cumulus-primitives-core 0.7.0", + "cumulus-primitives-core", "encointer-kusama-runtime", "glutton-kusama-runtime", "hex-literal", "kusama-runtime-constants", "pallet-im-online", - "pallet-staking 28.0.0", - "parachains-common 7.0.0", - "polkadot-primitives 7.0.0", + "pallet-staking", + "parachains-common", + "polkadot-primitives", "polkadot-runtime", "polkadot-runtime-constants", - "polkadot-runtime-parachains 7.0.0", - "sc-chain-spec 27.0.0", + "polkadot-runtime-parachains", + "sc-chain-spec", "sc-consensus-grandpa", "serde", "serde_json", - "sp-authority-discovery 26.0.0", - "sp-consensus-babe 0.32.0", + "sp-authority-discovery", + "sp-consensus-babe", "sp-consensus-beefy", "sp-core 25.0.0", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "staging-kusama-runtime", - "staging-xcm 7.0.0", + "staging-xcm", ] [[package]] @@ -1811,19 +1694,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "cid" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" -dependencies = [ - "core2", - "multibase", - "multihash", - "serde", - "unsigned-varint", -] - [[package]] name = "cipher" version = "0.2.5" @@ -1853,17 +1723,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "clang-sys" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" -dependencies = [ - "glob", - "libc", - "libloading", -] - [[package]] name = "clap" version = "4.4.18" @@ -1904,18 +1763,6 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" -[[package]] -name = "coarsetime" -version = "0.1.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71367d3385c716342014ad17e3d19f7788ae514885a1f4c24f500260fb365e1a" -dependencies = [ - "libc", - "once_cell", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - [[package]] name = "codespan-reporting" version = "0.11.1" @@ -1930,72 +1777,72 @@ dependencies = [ name = "collectives-polkadot-runtime" version = "1.0.0" dependencies = [ - "cumulus-pallet-aura-ext 0.7.0", - "cumulus-pallet-dmp-queue 0.7.0", - "cumulus-pallet-parachain-system 0.7.0", + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", - "cumulus-pallet-xcm 0.7.0", - "cumulus-pallet-xcmp-queue 0.7.0", - "cumulus-primitives-core 0.7.0", - "cumulus-primitives-utility 0.7.3", - "frame-benchmarking 28.0.0", - "frame-executive 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "frame-system-benchmarking 28.0.0", - "frame-system-rpc-runtime-api 26.0.0", - "frame-try-runtime 0.34.0", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-utility", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex-literal", "log", "pallet-alliance", - "pallet-asset-rate 7.0.0", - "pallet-aura 27.0.0", - "pallet-authorship 28.0.0", - "pallet-balances 28.0.0", - "pallet-collator-selection 9.0.0", - "pallet-collective 28.0.0", + "pallet-asset-rate", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", + "pallet-collective", "pallet-core-fellowship", - "pallet-message-queue 31.0.0", + "pallet-message-queue", "pallet-multisig", "pallet-preimage", - "pallet-proxy 28.0.0", + "pallet-proxy", "pallet-ranked-collective", "pallet-referenda", "pallet-salary", - "pallet-scheduler 29.0.0", - "pallet-session 28.0.0", - "pallet-timestamp 27.0.0", - "pallet-transaction-payment 28.0.0", - "pallet-transaction-payment-rpc-runtime-api 28.0.0", - "pallet-treasury 27.0.0", - "pallet-utility 28.0.0", - "pallet-xcm 7.0.0", - "parachains-common 7.0.0", - "parity-scale-codec", - "polkadot-core-primitives 7.0.0", - "polkadot-parachain-primitives 6.0.0", - "polkadot-runtime-common 7.0.0", + "pallet-scheduler", + "pallet-session", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-xcm", + "parachains-common", + "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-runtime-common", "polkadot-runtime-constants", "scale-info", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", - "sp-block-builder 26.0.0", - "sp-consensus-aura 0.32.0", + "sp-api", + "sp-arithmetic", + "sp-block-builder", + "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-offchain 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", + "sp-genesis-builder", + "sp-inherents", + "sp-offchain", + "sp-runtime", + "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", - "sp-transaction-pool 26.0.0", - "sp-version 29.0.0", - "staging-parachain-info 0.7.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", - "substrate-wasm-builder 17.0.0", + "sp-transaction-pool", + "sp-version", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", "system-parachains-constants", ] @@ -2211,7 +2058,7 @@ dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "itertools 0.10.5", + "itertools", "log", "smallvec", "wasmparser", @@ -2261,15 +2108,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-queue" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" version = "0.8.19" @@ -2344,111 +2182,42 @@ dependencies = [ "cipher 0.4.4", ] -[[package]] -name = "cumulus-pallet-aura-ext" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071cdddd31e2b0d47a74249675de828857f61eb5f6afa36cfcf63ea6ee2b60f2" -dependencies = [ - "cumulus-pallet-parachain-system 0.4.1", - "frame-support 25.0.0", - "frame-system 25.0.0", - "pallet-aura 24.0.0", - "pallet-timestamp 24.0.0", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 27.0.0", - "sp-consensus-aura 0.29.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "cumulus-pallet-aura-ext" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8100a3283be2c46905345141e9a063f092949c6630a1fb70993b04c97f309e55" dependencies = [ - "cumulus-pallet-parachain-system 0.7.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "pallet-aura 27.0.0", - "pallet-timestamp 27.0.0", + "cumulus-pallet-parachain-system", + "frame-support", + "frame-system", + "pallet-aura", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", - "sp-consensus-aura 0.32.0", - "sp-runtime 31.0.1", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "cumulus-pallet-dmp-queue" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1cb9d43cdfeedea19b4f6b8386e5b6264a97938b29f5c711a84e9dc7105ff7" -dependencies = [ - "cumulus-primitives-core 0.4.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "staging-xcm 4.0.0", -] - [[package]] name = "cumulus-pallet-dmp-queue" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f461956a4a85c053657fe64e73852940c8a52e7d8fc20ccb4f91688e73f0820b" dependencies = [ - "cumulus-primitives-core 0.7.0", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "cumulus-primitives-core", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "staging-xcm 7.0.0", -] - -[[package]] -name = "cumulus-pallet-parachain-system" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d20d2280051998fcf113f04d25d4b39f27b449570b6350fdfb7e92541cb0aae7" -dependencies = [ - "bytes", - "cumulus-pallet-parachain-system-proc-macro 0.4.0", - "cumulus-primitives-core 0.4.0", - "cumulus-primitives-parachain-inherent 0.4.0", - "environmental", - "frame-support 25.0.0", - "frame-system 25.0.0", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "polkadot-parachain-primitives 3.0.0", - "polkadot-runtime-parachains 4.0.0", - "scale-info", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-inherents 23.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", - "sp-std 12.0.0", - "sp-trie 26.0.0", - "sp-version 26.0.0", - "staging-xcm 4.0.0", - "trie-db", + "staging-xcm", ] [[package]] @@ -2458,46 +2227,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a1a0e6800ea92447eab2c9170cc77d21987fd0e61ed79a6e1318f7b127b3e2c" dependencies = [ "bytes", - "cumulus-pallet-parachain-system-proc-macro 0.6.0", - "cumulus-primitives-core 0.7.0", - "cumulus-primitives-parachain-inherent 0.7.0", + "cumulus-pallet-parachain-system-proc-macro", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", "cumulus-primitives-proof-size-hostfunction", "environmental", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", - "pallet-message-queue 31.0.0", + "pallet-message-queue", "parity-scale-codec", - "polkadot-parachain-primitives 6.0.0", - "polkadot-runtime-parachains 7.0.0", + "polkadot-parachain-primitives", + "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-std 14.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", - "staging-xcm 7.0.0", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std 14.0.0", + "sp-trie", + "sp-version", + "staging-xcm", "trie-db", ] -[[package]] -name = "cumulus-pallet-parachain-system-proc-macro" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84baea20d10325b2501b6fa06d4a7902a43d6a6c62c71b5309e75c3ad8ae1441" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" @@ -2516,72 +2273,30 @@ version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b90c6389bd56472581a2b9510c97e6fe869fe6c73c58d3d533ee3c74b92cce14" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "pallet-session 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-session", "parity-scale-codec", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "cumulus-pallet-xcm" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff03e14a0f5847bdee67a673ee945d3acd5c1d7238d46993208dcbfb774e27f" -dependencies = [ - "cumulus-primitives-core 0.4.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "parity-scale-codec", - "scale-info", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "staging-xcm 4.0.0", -] - [[package]] name = "cumulus-pallet-xcm" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9e5e8dd3f9c98620e32cbb1783725a3e75a3147cb351b43de37663824311cd9" dependencies = [ - "cumulus-primitives-core 0.7.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "cumulus-primitives-core", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "staging-xcm 7.0.0", -] - -[[package]] -name = "cumulus-pallet-xcmp-queue" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6af9816dd6564149729ba133c2c984c88fb15c4a2cb66f57be06b9147744e51" -dependencies = [ - "bp-xcm-bridge-hub-router 0.3.0", - "cumulus-primitives-core 0.4.0", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "polkadot-runtime-common 4.0.0", - "polkadot-runtime-parachains 4.0.0", - "rand_chacha 0.3.1", - "scale-info", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "staging-xcm 4.0.0", - "staging-xcm-executor 4.0.2", + "staging-xcm", ] [[package]] @@ -2591,41 +2306,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439cdba45813623e7f45374f160f3356d27fb1aaca2536dd7f60ef2a7e9b30cd" dependencies = [ "bounded-collections", - "bp-xcm-bridge-hub-router 0.6.0", - "cumulus-primitives-core 0.7.0", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "bp-xcm-bridge-hub-router", + "cumulus-primitives-core", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-message-queue 31.0.0", + "pallet-message-queue", "parity-scale-codec", - "polkadot-runtime-common 7.0.0", - "polkadot-runtime-parachains 7.0.0", + "polkadot-runtime-common", + "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "staging-xcm 7.0.0", - "staging-xcm-executor 7.0.3", -] - -[[package]] -name = "cumulus-primitives-core" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d40f62add2352287be4cb58b0017a91f61d953e2c6d2777c20d93185558196e1" -dependencies = [ - "parity-scale-codec", - "polkadot-core-primitives 4.0.0", - "polkadot-parachain-primitives 3.0.0", - "polkadot-primitives 4.0.0", - "scale-info", - "sp-api 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-trie 26.0.0", - "staging-xcm 4.0.0", + "staging-xcm", + "staging-xcm-executor", ] [[package]] @@ -2635,39 +2332,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "036b64697b5fd04c8039ccf15b9891104c496afb6c418c2cea1234d4898d0a28" dependencies = [ "parity-scale-codec", - "polkadot-core-primitives 7.0.0", - "polkadot-parachain-primitives 6.0.0", - "polkadot-primitives 7.0.0", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-primitives", "scale-info", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", "sp-std 14.0.0", - "sp-trie 29.0.0", - "staging-xcm 7.0.0", -] - -[[package]] -name = "cumulus-primitives-parachain-inherent" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0b1e0e6dcf393dbf05b31122a8c4739acf407a96ec8fd707886f36ee95c355" -dependencies = [ - "async-trait", - "cumulus-primitives-core 0.4.0", - "cumulus-relay-chain-interface", - "cumulus-test-relay-sproof-builder 0.4.0", - "parity-scale-codec", - "sc-client-api 25.0.0", - "scale-info", - "sp-api 23.0.0", - "sp-core 25.0.0", - "sp-inherents 23.0.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", - "sp-std 12.0.0", - "sp-storage 17.0.0", - "sp-trie 26.0.0", - "tracing", + "sp-trie", + "staging-xcm", ] [[package]] @@ -2677,13 +2350,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cb6fe06744fed6e84682c48816181ad63652003570c2135c425481440fcd2f2" dependencies = [ "async-trait", - "cumulus-primitives-core 0.7.0", + "cumulus-primitives-core", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-inherents 26.0.0", + "sp-inherents", "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-trie", ] [[package]] @@ -2694,42 +2367,21 @@ checksum = "a132e17ac2c79436bc5004b0d56cb35ca65b966434f14e5ff8a9bc1afcfca5a4" dependencies = [ "sp-externalities 0.25.0", "sp-runtime-interface 24.0.0", - "sp-trie 29.0.0", + "sp-trie", ] [[package]] name = "cumulus-primitives-timestamp" -version = "0.4.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771ef4a34f7bcd4e8782f73d8dbd0df031b1c1c82e54b06af69f88df2cddc316" +checksum = "f6d1d900bd9e76607a4a0734cbb2b004d86177d2d6938b5d25eb812c6c1b7500" dependencies = [ - "cumulus-primitives-core 0.4.0", + "cumulus-primitives-core", "futures", "parity-scale-codec", - "sp-inherents 23.0.0", - "sp-std 12.0.0", - "sp-timestamp 23.0.0", -] - -[[package]] -name = "cumulus-primitives-utility" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d0ad7498cb748684f0f309ee037e9a29a91fb3ec5b5276b5fc723c3716bdd8a" -dependencies = [ - "cumulus-primitives-core 0.4.0", - "frame-support 25.0.0", - "log", - "pallet-xcm-benchmarks 4.0.1", - "parity-scale-codec", - "polkadot-runtime-common 4.0.0", - "polkadot-runtime-parachains 4.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "staging-xcm 4.0.0", - "staging-xcm-builder 4.0.1", - "staging-xcm-executor 4.0.2", + "sp-inherents", + "sp-std 14.0.0", + "sp-timestamp", ] [[package]] @@ -2738,53 +2390,19 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2ece52eeb7e87faea0d374356571ebc13f279df3bf79a1dc8a0db6c49d6ba23" dependencies = [ - "cumulus-primitives-core 0.7.0", - "frame-support 28.0.0", + "cumulus-primitives-core", + "frame-support", "log", - "pallet-xcm-benchmarks 7.0.3", + "pallet-xcm-benchmarks", "parity-scale-codec", - "polkadot-runtime-common 7.0.0", - "polkadot-runtime-parachains 7.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", -] - -[[package]] -name = "cumulus-relay-chain-interface" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af081ef8885042e7ae96e9d1cf32ec6f0616fe4cb78f0325ed7c5accded687fb" -dependencies = [ - "async-trait", - "cumulus-primitives-core 0.4.0", - "futures", - "jsonrpsee-core", - "parity-scale-codec", - "polkadot-overseer", - "sc-client-api 25.0.0", - "sp-api 23.0.0", - "sp-blockchain 25.0.0", - "sp-state-machine 0.32.0", - "thiserror", -] - -[[package]] -name = "cumulus-test-relay-sproof-builder" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b921a9cb6758faa1c739f135fd87aa1e10a4e86a1c1db3119b396a62287cf2" -dependencies = [ - "cumulus-primitives-core 0.4.0", - "parity-scale-codec", - "polkadot-primitives 4.0.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", - "sp-std 12.0.0", - "sp-trie 26.0.0", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", ] [[package]] @@ -2793,13 +2411,13 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ec12490a40b00427119fd1e12a6d1fe0652d2df3e992dea1bc4f331effed12" dependencies = [ - "cumulus-primitives-core 0.7.0", + "cumulus-primitives-core", "parity-scale-codec", - "polkadot-primitives 7.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "polkadot-primitives", + "sp-runtime", + "sp-state-machine", "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-trie", ] [[package]] @@ -3030,15 +2648,6 @@ dependencies = [ "subtle 2.5.0", ] -[[package]] -name = "directories" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" -dependencies = [ - "dirs-sys", -] - [[package]] name = "directories-next" version = "2.0.0" @@ -3049,18 +2658,6 @@ dependencies = [ "dirs-sys-next", ] -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -3236,25 +2833,25 @@ dependencies = [ "bridge-hub-kusama-runtime", "bridge-hub-polkadot-runtime", "collectives-polkadot-runtime", - "cumulus-primitives-core 0.7.0", - "frame-support 28.0.0", + "cumulus-primitives-core", + "frame-support", "integration-tests-common", "kusama-runtime-constants", "pallet-im-online", - "pallet-staking 28.0.0", - "parachains-common 7.0.0", + "pallet-staking", + "parachains-common", "penpal-runtime", - "polkadot-parachain-primitives 6.0.0", - "polkadot-primitives 7.0.0", + "polkadot-parachain-primitives", + "polkadot-primitives", "polkadot-runtime", "polkadot-runtime-constants", - "polkadot-runtime-parachains 7.0.0", - "sp-authority-discovery 26.0.0", - "sp-consensus-babe 0.32.0", + "polkadot-runtime-parachains", + "sp-authority-discovery", + "sp-consensus-babe", "sp-consensus-beefy", - "sp-consensus-grandpa 13.0.0", + "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "staging-kusama-runtime", "xcm-emulator", ] @@ -3267,75 +2864,75 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encointer-balances-tx-payment" -version = "3.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "574a256785661fe0353b6664a896b03eaac804e01de3b7146a1e68bea23823c6" +checksum = "407d7faa8fd1d242602012e6b6d51a8edc99321ac5a20425efa64c7ec432f868" dependencies = [ "encointer-primitives", - "frame-support 25.0.0", - "frame-system 25.0.0", + "frame-support", + "frame-system", "log", - "pallet-asset-tx-payment 25.0.0", + "pallet-asset-tx-payment", "pallet-encointer-balances", "pallet-encointer-ceremonies", - "pallet-transaction-payment 25.0.0", - "sp-runtime 28.0.0", + "pallet-transaction-payment", + "sp-runtime", ] [[package]] name = "encointer-balances-tx-payment-rpc-runtime-api" -version = "3.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cc19094858c453d1622fee74cd5ac4aeafc5afcc1695c442361528604f3a3cd" +checksum = "4eb7b235a2ecbec5b913ee30c4372a9bb01c27cbca1368662ad9629df788a1be" dependencies = [ "encointer-primitives", - "frame-support 25.0.0", + "frame-support", "parity-scale-codec", "scale-info", - "sp-api 23.0.0", - "sp-std 12.0.0", + "sp-api", + "sp-std 14.0.0", ] [[package]] name = "encointer-ceremonies-assignment" -version = "3.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0e915dfb90455b04de86863d5e8c28727b88a5e79035d1592f5340befc2d31a" +checksum = "3f5e534e5d624f17a34ae5c6cf61ddbfd68b6a2d3900d855760ebb551f9d4fdd" dependencies = [ "encointer-primitives", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime", + "sp-std 14.0.0", ] [[package]] name = "encointer-kusama-runtime" version = "1.0.0" dependencies = [ - "cumulus-pallet-aura-ext 0.4.0", - "cumulus-pallet-dmp-queue 0.4.0", - "cumulus-pallet-parachain-system 0.4.1", - "cumulus-pallet-xcm 0.4.0", - "cumulus-pallet-xcmp-queue 0.4.0", - "cumulus-primitives-core 0.4.0", + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", "cumulus-primitives-timestamp", - "cumulus-primitives-utility 0.4.1", + "cumulus-primitives-utility", "encointer-balances-tx-payment", "encointer-balances-tx-payment-rpc-runtime-api", "encointer-primitives", - "frame-benchmarking 25.0.0", - "frame-executive 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "frame-system-benchmarking 25.0.0", - "frame-system-rpc-runtime-api 23.0.0", - "frame-try-runtime 0.31.0", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex-literal", "kusama-runtime-constants", "log", - "pallet-asset-tx-payment 25.0.0", - "pallet-aura 24.0.0", - "pallet-balances 25.0.0", - "pallet-collective 25.0.0", + "pallet-asset-tx-payment", + "pallet-aura", + "pallet-balances", + "pallet-collective", "pallet-encointer-balances", "pallet-encointer-bazaar", "pallet-encointer-bazaar-rpc-runtime-api", @@ -3347,75 +2944,76 @@ dependencies = [ "pallet-encointer-reputation-commitments", "pallet-encointer-scheduler", "pallet-insecure-randomness-collective-flip", - "pallet-membership 25.0.0", - "pallet-proxy 25.0.0", - "pallet-scheduler 26.0.0", - "pallet-timestamp 24.0.0", - "pallet-transaction-payment 25.0.0", - "pallet-transaction-payment-rpc-runtime-api 25.0.0", - "pallet-treasury 24.0.0", - "pallet-utility 25.0.0", - "pallet-xcm 4.0.0", - "parachains-common 4.0.0", - "parity-scale-codec", - "polkadot-core-primitives 4.0.0", - "polkadot-parachain-primitives 3.0.0", - "polkadot-primitives 4.0.0", - "polkadot-runtime-common 4.0.0", + "pallet-membership", + "pallet-message-queue", + "pallet-proxy", + "pallet-scheduler", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-xcm", + "parachains-common", + "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-primitives", + "polkadot-runtime-common", "scale-info", "smallvec", - "sp-api 23.0.0", - "sp-block-builder 23.0.0", - "sp-consensus-aura 0.29.0", - "sp-core 25.0.0", - "sp-genesis-builder 0.4.0", - "sp-inherents 23.0.0", - "sp-offchain 23.0.0", - "sp-runtime 28.0.0", - "sp-session 24.0.0", - "sp-std 12.0.0", - "sp-transaction-pool 23.0.0", - "sp-version 26.0.0", - "staging-parachain-info 0.4.0", - "staging-xcm 4.0.0", - "staging-xcm-builder 4.0.1", - "staging-xcm-executor 4.0.2", - "substrate-wasm-builder 14.0.0", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-core 28.0.0", + "sp-genesis-builder", + "sp-inherents", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-std 14.0.0", + "sp-transaction-pool", + "sp-version", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", "system-parachains-constants", ] [[package]] name = "encointer-meetup-validation" -version = "3.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bef78af8c5897da00bb93d7d77573ad7d4e6169f3daac2a36ba450760611c94" +checksum = "01d27e886abe0f6fb716dcf7ee0b4e91ae624d96dce6e87c1d5bada9a4bf76d3" dependencies = [ "encointer-primitives", "parity-scale-codec", "scale-info", "serde", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime", + "sp-std 14.0.0", ] [[package]] name = "encointer-primitives" -version = "3.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306cf10a0e74f42080c064fdc1d827b5c3fd6e0c40ee5f4e36bb2f5ee76c51dc" +checksum = "9db298e46082c2f9692d6e8d5365fde266ac09ed18dd1c72c109281acad1b2fb" dependencies = [ "bs58 0.4.0", "crc", "ep-core", - "frame-support 25.0.0", + "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0", + "sp-io", + "sp-runtime", + "sp-std 14.0.0", "substrate-geohash", ] @@ -3483,19 +3081,19 @@ checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] name = "ep-core" -version = "3.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfa4c3869cba69547a6cf0b80faf892822cee70027f86439ea7d145286fc6ba" +checksum = "84eac7952f21e9d5a28e5e3074a2ed1e7d26bbc08da770e43ec538ba2ee0d124" dependencies = [ "array-bytes 6.2.2", "impl-serde", "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-arithmetic", + "sp-core 28.0.0", + "sp-runtime", + "sp-std 14.0.0", "substrate-fixed", ] @@ -3569,27 +3167,6 @@ dependencies = [ "pin-project-lite 0.2.13", ] -[[package]] -name = "exit-future" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" -dependencies = [ - "futures", -] - -[[package]] -name = "expander" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a718c0675c555c5f976fff4ea9e2c150fa06cefa201cadef87cfbf9324075881" -dependencies = [ - "blake3", - "fs-err", - "proc-macro2", - "quote", -] - [[package]] name = "expander" version = "2.0.0" @@ -3621,40 +3198,6 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" -[[package]] -name = "fatality" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad875162843b0d046276327afe0136e9ed3a23d5a754210fb6f1f33610d39ab" -dependencies = [ - "fatality-proc-macro", - "thiserror", -] - -[[package]] -name = "fatality-proc-macro" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5aa1e3ae159e592ad222dc90c5acbad632b527779ba88486abe92782ab268bd" -dependencies = [ - "expander 0.0.4", - "indexmap 1.9.3", - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", - "thiserror", -] - -[[package]] -name = "fdlimit" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b" -dependencies = [ - "libc", -] - [[package]] name = "ff" version = "0.13.0" @@ -3753,15 +3296,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "fork-tree" -version = "11.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2d0a4310dcf0e5cce78e35e60dc2fda80ef61c8f8fc382e685dfc24fcf5db9" -dependencies = [ - "parity-scale-codec", -] - [[package]] name = "fork-tree" version = "12.0.0" @@ -3786,70 +3320,32 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" -[[package]] -name = "frame-benchmarking" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dd4946d63eab00d899f08a7e74e965cc6785c2298efaea6a2752905f4810407" -dependencies = [ - "frame-support 25.0.0", - "frame-support-procedural 20.0.0", - "frame-system 25.0.0", - "linregress", - "log", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "sp-api 23.0.0", - "sp-application-crypto 27.0.0", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-runtime-interface 21.0.0", - "sp-std 12.0.0", - "sp-storage 17.0.0", - "static_assertions", -] - [[package]] name = "frame-benchmarking" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b16f7f853f64ec6fbc981b3e224cc3400752662da140ec62c160b5b859bab68" dependencies = [ - "frame-support 28.0.0", - "frame-support-procedural 23.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-support-procedural", + "frame-system", "linregress", "log", "parity-scale-codec", "paste", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-runtime-interface 24.0.0", "sp-std 14.0.0", "sp-storage 19.0.0", "static_assertions", ] -[[package]] -name = "frame-election-provider-solution-type" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03911cf3675af64252a6de7b4f383eafa80d5ea5830184e7a0739aeb0b95272d" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "frame-election-provider-solution-type" version = "13.0.0" @@ -3862,76 +3358,39 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "frame-election-provider-support" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebad507fb038db2f7ce982d30bd9828a59785c9a4780348d59cd6cceaee80d1a" -dependencies = [ - "frame-election-provider-solution-type 12.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-npos-elections 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "frame-election-provider-support" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c596d956c4eedaffbe2fd6f75562e63e3e60001222bc6f8cc45fa77f3ea51791" dependencies = [ - "frame-election-provider-solution-type 13.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-election-provider-solution-type", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-npos-elections 26.0.0", - "sp-runtime 31.0.1", + "sp-npos-elections", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "frame-executive" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dda2c20ea3267ee20c9a5482f320236510c4ade6aec1dd930cb57dc5651c64f" -dependencies = [ - "frame-support 25.0.0", - "frame-system 25.0.0", - "frame-try-runtime 0.31.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-tracing 14.0.0", -] - [[package]] name = "frame-executive" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a5247e367912fe95f813e96542921ab4edf671860fd557625b55f40155abf90" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", - "frame-try-runtime 0.34.0", + "frame-support", + "frame-system", + "frame-try-runtime", "log", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "sp-tracing 16.0.0", ] @@ -3961,69 +3420,28 @@ dependencies = [ "parity-scale-codec", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-io", + "sp-runtime", + "sp-state-machine", "spinners", "substrate-rpc-client", "tokio", "tokio-retry", ] -[[package]] -name = "frame-support" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "023504bbdd0e8d1ebe3d9d289b009337cdb9a24c5e74615ffd7b188aa1664c2d" -dependencies = [ - "aquamarine 0.3.2", - "bitflags 1.3.2", - "docify", - "environmental", - "frame-metadata", - "frame-support-procedural 20.0.0", - "impl-trait-for-tuples", - "k256", - "log", - "macro_magic", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "serde_json", - "smallvec", - "sp-api 23.0.0", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-core-hashing-proc-macro 13.0.0", - "sp-debug-derive 12.0.0", - "sp-genesis-builder 0.4.0", - "sp-inherents 23.0.0", - "sp-io 27.0.0", - "sp-metadata-ir 0.4.0", - "sp-runtime 28.0.0", - "sp-staking 23.0.0", - "sp-state-machine 0.32.0", - "sp-std 12.0.0", - "sp-tracing 14.0.0", - "sp-weights 24.0.0", - "static_assertions", - "tt-call", -] - [[package]] name = "frame-support" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48b00bb3e82c465a435b08827e7abe5144345bc1a998848bdd7ce72fa203bb5" dependencies = [ - "aquamarine 0.4.0", + "aquamarine", "array-bytes 6.2.2", "bitflags 1.3.2", "docify", "environmental", "frame-metadata", - "frame-support-procedural 23.0.0", + "frame-support-procedural", "impl-trait-for-tuples", "k256", "log", @@ -4034,45 +3452,25 @@ dependencies = [ "serde", "serde_json", "smallvec", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-core 28.0.0", - "sp-core-hashing-proc-macro 15.0.0", + "sp-core-hashing-proc-macro", "sp-debug-derive 14.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-metadata-ir 0.6.0", - "sp-runtime 31.0.1", - "sp-staking 26.0.0", - "sp-state-machine 0.35.0", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-metadata-ir", + "sp-runtime", + "sp-staking", + "sp-state-machine", "sp-std 14.0.0", "sp-tracing 16.0.0", - "sp-weights 27.0.0", + "sp-weights", "static_assertions", "tt-call", ] -[[package]] -name = "frame-support-procedural" -version = "20.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6bc383298353ff2790ac1a301262c21ac196dbc26ef67a2213c46524a06dd1" -dependencies = [ - "Inflector", - "cfg-expr", - "derive-syn-parse", - "expander 2.0.0", - "frame-support-procedural-tools 9.0.0", - "itertools 0.10.5", - "macro_magic", - "proc-macro-warning", - "proc-macro2", - "quote", - "sp-core-hashing 13.0.0", - "syn 2.0.48", -] - [[package]] name = "frame-support-procedural" version = "23.0.0" @@ -4082,9 +3480,9 @@ dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse", - "expander 2.0.0", - "frame-support-procedural-tools 10.0.0", - "itertools 0.10.5", + "expander", + "frame-support-procedural-tools", + "itertools", "macro_magic", "proc-macro-warning", "proc-macro2", @@ -4093,43 +3491,19 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "frame-support-procedural-tools" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3ac1266522a8c9a2d2d26d205ec3028b88582d5f3cd5cbc75d0ec8271d197b7" -dependencies = [ - "frame-support-procedural-tools-derive 10.0.0", - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "frame-support-procedural-tools" version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3363df38464c47a73eb521a4f648bfcc7537a82d70347ef8af3f73b6d019e910" dependencies = [ - "frame-support-procedural-tools-derive 11.0.0", + "frame-support-procedural-tools-derive", "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 2.0.48", ] -[[package]] -name = "frame-support-procedural-tools-derive" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c078db2242ea7265faa486004e7fd8daaf1a577cfcac0070ce55d926922883" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" @@ -4141,26 +3515,6 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "frame-system" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57e316407c45a5093c833966a906301aa0dcbd05048061cd9cde2548d017bfd9" -dependencies = [ - "cfg-if", - "frame-support 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-version 26.0.0", - "sp-weights 24.0.0", -] - [[package]] name = "frame-system" version = "28.0.0" @@ -4169,33 +3523,17 @@ checksum = "983b3215c8d97775b90dc1db88f858c46401682bd2fb8572bdd102ff8c2ca2a6" dependencies = [ "cfg-if", "docify", - "frame-support 28.0.0", + "frame-support", "log", "parity-scale-codec", "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "sp-version 29.0.0", - "sp-weights 27.0.0", -] - -[[package]] -name = "frame-system-benchmarking" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b1388055d29a7a1c4d41b1623d3fcbc9d7f31d17abe04500b270b26901d926" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-version", + "sp-weights", ] [[package]] @@ -4204,26 +3542,16 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f78a2fe203b01b596156b2514e0b890b4a628dbdb50925316e755aa623b6fe53" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "frame-system-rpc-runtime-api" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17572a34fd866ad6cab6977a2c30b38645e0a499b3486de00ae9103f7002d6d3" -dependencies = [ - "parity-scale-codec", - "sp-api 23.0.0", -] - [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" @@ -4231,20 +3559,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d183819ea7df1d89acd61fe423ae6bec24a29d87db5c18182339a751c0837a" dependencies = [ "parity-scale-codec", - "sp-api 26.0.0", -] - -[[package]] -name = "frame-try-runtime" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f082e770275f9b46ddf46b09bc7a993f84db691c39d9e4d038ac07443cb17a18" -dependencies = [ - "frame-support 25.0.0", - "parity-scale-codec", - "sp-api 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-api", ] [[package]] @@ -4253,10 +3568,10 @@ version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5b3dab79d14d2e8f6329d7e5cb49f2bdb81b9ef3019b1c405d94defa137a353" dependencies = [ - "frame-support 28.0.0", + "frame-support", "parity-scale-codec", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", "sp-std 14.0.0", ] @@ -4269,16 +3584,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "funty" version = "2.0.0" @@ -4490,12 +3795,6 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - [[package]] name = "globset" version = "0.4.14" @@ -4513,39 +3812,39 @@ dependencies = [ name = "glutton-kusama-runtime" version = "1.0.0" dependencies = [ - "cumulus-pallet-parachain-system 0.7.0", - "cumulus-pallet-xcm 0.7.0", - "cumulus-primitives-core 0.7.0", - "frame-benchmarking 28.0.0", - "frame-executive 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "frame-system-benchmarking 28.0.0", - "frame-system-rpc-runtime-api 26.0.0", - "frame-try-runtime 0.34.0", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcm", + "cumulus-primitives-core", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "pallet-glutton", - "pallet-message-queue 31.0.0", + "pallet-message-queue", "pallet-sudo", - "parachains-common 7.0.0", + "parachains-common", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-block-builder 26.0.0", + "sp-api", + "sp-block-builder", "sp-core 28.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-offchain 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", + "sp-genesis-builder", + "sp-inherents", + "sp-offchain", + "sp-runtime", + "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", - "sp-transaction-pool 26.0.0", - "sp-version 29.0.0", - "staging-parachain-info 0.7.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", - "substrate-wasm-builder 17.0.0", + "sp-transaction-pool", + "sp-version", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", "system-parachains-constants", ] @@ -4637,15 +3936,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.3.3" @@ -4755,12 +4045,6 @@ dependencies = [ "pin-project-lite 0.2.13", ] -[[package]] -name = "http-range-header" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" - [[package]] name = "httparse" version = "1.8.0" @@ -5013,12 +4297,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "integer-encoding" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" - [[package]] name = "integer-sqrt" version = "0.1.5" @@ -5035,29 +4313,29 @@ dependencies = [ "asset-test-utils", "bp-messages", "bridge-runtime-common", - "cumulus-pallet-dmp-queue 0.7.0", - "cumulus-pallet-parachain-system 0.7.0", - "cumulus-pallet-xcmp-queue 0.7.0", - "cumulus-primitives-core 0.7.0", - "frame-support 28.0.0", - "pallet-assets 29.0.0", - "pallet-balances 28.0.0", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "frame-support", + "pallet-assets", + "pallet-balances", "pallet-bridge-messages", "pallet-im-online", - "pallet-message-queue 31.0.0", - "pallet-xcm 7.0.0", - "parachains-common 7.0.0", + "pallet-message-queue", + "pallet-xcm", + "parachains-common", "parity-scale-codec", "paste", - "polkadot-primitives 7.0.0", - "polkadot-runtime-parachains 7.0.0", - "sp-authority-discovery 26.0.0", - "sp-consensus-babe 0.32.0", + "polkadot-primitives", + "polkadot-runtime-parachains", + "sp-authority-discovery", + "sp-consensus-babe", "sp-consensus-beefy", - "sp-consensus-grandpa 13.0.0", + "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "staging-xcm 7.0.0", + "sp-runtime", + "staging-xcm", "xcm-emulator", ] @@ -5067,7 +4345,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi", "libc", "windows-sys 0.48.0", ] @@ -5102,7 +4380,7 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi", "rustix 0.38.28", "windows-sys 0.48.0", ] @@ -5116,15 +4394,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.10" @@ -5325,14 +4594,14 @@ checksum = "c33070833c9ee02266356de0c43f723152bd38bd96ddf52c82b3af10c9138b28" name = "kusama-runtime-constants" version = "1.0.0" dependencies = [ - "frame-support 28.0.0", - "polkadot-primitives 7.0.0", - "polkadot-runtime-common 7.0.0", + "frame-support", + "polkadot-primitives", + "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", - "staging-xcm-builder 7.0.3", + "sp-runtime", + "sp-weights", + "staging-xcm-builder", ] [[package]] @@ -5344,58 +4613,18 @@ dependencies = [ "smallvec", ] -[[package]] -name = "kvdb-memorydb" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" -dependencies = [ - "kvdb", - "parking_lot 0.12.1", -] - -[[package]] -name = "kvdb-rocksdb" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" -dependencies = [ - "kvdb", - "num_cpus", - "parking_lot 0.12.1", - "regex", - "rocksdb", - "smallvec", -] - [[package]] name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" -[[package]] -name = "libloading" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "libm" version = "0.2.8" @@ -5806,21 +5035,6 @@ dependencies = [ "redox_syscall 0.4.1", ] -[[package]] -name = "librocksdb-sys" -version = "0.11.0+8.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" -dependencies = [ - "bindgen", - "bzip2-sys", - "cc", - "glob", - "libc", - "libz-sys", - "tikv-jemalloc-sys", -] - [[package]] name = "libsecp256k1" version = "0.7.1" @@ -5980,26 +5194,6 @@ dependencies = [ "linked-hash-map", ] -[[package]] -name = "lz4" -version = "1.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" -dependencies = [ - "libc", - "lz4-sys", -] - -[[package]] -name = "lz4-sys" -version = "1.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "mach" version = "0.3.2" @@ -6160,17 +5354,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "mick-jaeger" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69672161530e8aeca1d1400fbf3f1a1747ff60ea604265a4e906c2442df20532" -dependencies = [ - "futures", - "rand 0.8.5", - "thrift", -] - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -6285,14 +5468,8 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" dependencies = [ - "blake2b_simd", - "blake2s_simd", - "blake3", "core2", - "digest 0.10.7", "multihash-derive", - "sha2 0.10.8", - "sha3", "unsigned-varint", ] @@ -6357,21 +5534,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "names" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d66043b25d4a6cccb23619d10c19c25304b355a7dccd4a8e11423dd2382146" -dependencies = [ - "rand 0.8.5", -] - -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" - [[package]] name = "netlink-packet-core" version = "0.4.2" @@ -6538,7 +5700,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi", "libc", ] @@ -6602,54 +5764,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "orchestra" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5edee0c1917703f8a28cd229cf6a5c91a7ee34be139ced16509ac5b53b9d0c51" -dependencies = [ - "async-trait", - "dyn-clonable", - "futures", - "futures-timer", - "orchestra-proc-macro", - "pin-project", - "prioritized-metered-channel 0.6.1", - "thiserror", - "tracing", -] - -[[package]] -name = "orchestra-proc-macro" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f60e64a3808b5bb2786b9da09fc70714952aabcdd0eeba6f1718e3dbc34ad5b" -dependencies = [ - "expander 2.0.0", - "indexmap 2.1.0", - "itertools 0.11.0", - "petgraph", - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ordered-float" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7" -dependencies = [ - "num-traits", -] - [[package]] name = "pallet-alliance" version = "27.0.0" @@ -6657,18 +5771,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40fbbd9263e776fbb907283928363c82857a97b3c78120ce15a9ea06ece6570a" dependencies = [ "array-bytes 6.2.2", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-collective 28.0.0", + "pallet-collective", "pallet-identity", "parity-scale-codec", "scale-info", "sp-core 28.0.0", "sp-core-hashing 15.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -6678,16 +5792,16 @@ version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa2139677a59351fbd8513ddd92be4a7443d7d92f8f6897b2bbc78f55d1c6b8a" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -6697,267 +5811,140 @@ version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95388ffba6e39a34d9e95db0d7f776f36225fac387f3edbcc33856aa2df7913a" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "pallet-asset-conversion", - "pallet-transaction-payment 28.0.0", + "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-asset-rate" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740aebbcfefe8528f56ff8a339f810520a28df3ec159d016ef719aaa9f131af4" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-asset-rate" version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e6f4917bc6c9ed6864813bbb828e94c63e1878a21af89d25dd0ff7da742f53e" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-asset-tx-payment" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028e30633114612160fc4e7add46504790abb3780db79eae1efae98c034dca0b" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "pallet-transaction-payment 25.0.0", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-asset-tx-payment" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e967664d86219ca9f7d33504e8d914225cdb92e9e793d35edaab1fd2574f162f" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "pallet-transaction-payment 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-transaction-payment", "parity-scale-codec", "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-assets" -version = "26.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b91035c82dc9e64eaf52f3f6a39f4674bcb56333553882d6ff5d12500a9182" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-assets" version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aca79db2bc70c269170893604d8a56d0f32d52c75a23a3d887b6b4df132366b7" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-aura" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04fbef67cf62445b7fd8e68241e6b71d9fb8c77abb3d52259eebf525a4cd5586" -dependencies = [ - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "pallet-timestamp 24.0.0", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 27.0.0", - "sp-consensus-aura 0.29.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-aura" version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10c6ecf016520a6883df14b2f1d469d98166377eba4b299af7b76eee0130e3a6" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "log", - "pallet-timestamp 27.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", - "sp-consensus-aura 0.32.0", - "sp-runtime 31.0.1", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-authority-discovery" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda272a66bbf1602579efcede67606ac43cda6d462ad551c527d8cadc871813d" -dependencies = [ - "frame-support 25.0.0", - "frame-system 25.0.0", - "pallet-session 25.0.0", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 27.0.0", - "sp-authority-discovery 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-authority-discovery" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9224b0a0bb4fa721d51f56947c73d4189710691b4cb40e7f7a8abf59795759a" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", - "pallet-session 28.0.0", + "frame-support", + "frame-system", + "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", - "sp-authority-discovery 26.0.0", - "sp-runtime 31.0.1", + "sp-application-crypto", + "sp-authority-discovery", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-authorship" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d38eab59f7d15fe43c81fc3cd92f4c1f895ca6d0efb74fc2a6d6d7d3d34d413" -dependencies = [ - "frame-support 25.0.0", - "frame-system 25.0.0", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-authorship" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "817b0420f9c14bd9bfbaf9e2f769a7e8124ab4fe3da0d07c80485c0901947ab8" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-babe" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b12430ca4b79b27231acb1ff3f99d33d6503fbeba40bfc8380e42d59b6d52b0" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "pallet-authorship 25.0.0", - "pallet-session 25.0.0", - "pallet-timestamp 24.0.0", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 27.0.0", - "sp-consensus-babe 0.29.0", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-session 24.0.0", - "sp-staking 23.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-babe" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ba445228a941062d7c4d6295810a359df7757d6182c36ddb824f8c3bf350380" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-authorship 28.0.0", - "pallet-session 28.0.0", - "pallet-timestamp 27.0.0", + "pallet-authorship", + "pallet-session", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", - "sp-consensus-babe 0.32.0", + "sp-application-crypto", + "sp-consensus-babe", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", - "sp-staking 26.0.0", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", "sp-std 14.0.0", ] @@ -6967,52 +5954,36 @@ version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0d7b6922a6bed960591efb49da6637312c034337faf4c85d8b35f2e2c611a" dependencies = [ - "aquamarine 0.4.0", + "aquamarine", "docify", - "frame-benchmarking 28.0.0", - "frame-election-provider-support 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", "log", - "pallet-balances 28.0.0", + "pallet-balances", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "sp-tracing 16.0.0", ] -[[package]] -name = "pallet-balances" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de2915b425ae77d63ba25c194780599b7be25307454a138cfb316c16d001e68" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-balances" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8406b5616e468d80972b6365f3cd8211d0dbf4d107b379fac85fddcfdf0b5562" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -7022,18 +5993,18 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03f71d32d9681e9d78102dad00377629cac24b4bf43f6371c0dc7e5b25981eb4" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "log", - "pallet-authorship 28.0.0", - "pallet-session 28.0.0", + "pallet-authorship", + "pallet-session", "parity-scale-codec", "scale-info", "serde", "sp-consensus-beefy", - "sp-runtime 31.0.1", - "sp-session 27.0.0", - "sp-staking 26.0.0", + "sp-runtime", + "sp-session", + "sp-staking", "sp-std 14.0.0", ] @@ -7045,21 +6016,21 @@ checksum = "d8b8eaa5c053d9cbf20faa397f21b80b9b5bafbe428890b0171fd1bba16f52ce" dependencies = [ "array-bytes 6.2.2", "binary-merkle-tree", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "log", "pallet-beefy", "pallet-mmr", - "pallet-session 28.0.0", + "pallet-session", "parity-scale-codec", "scale-info", "serde", - "sp-api 26.0.0", + "sp-api", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-io", + "sp-runtime", + "sp-state-machine", "sp-std 14.0.0", ] @@ -7069,16 +6040,16 @@ version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5d421e3228bc4e8170d817d657aa87761b77ee4675a9e16328e1ca070cb4c41" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-treasury 27.0.0", + "pallet-treasury", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -7092,16 +6063,16 @@ dependencies = [ "bp-runtime", "bp-test-utils", "finality-grandpa", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-consensus-grandpa 13.0.0", - "sp-runtime 31.0.1", + "sp-consensus-grandpa", + "sp-runtime", "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-trie", ] [[package]] @@ -7112,14 +6083,14 @@ checksum = "ca7058e4135266d55f71251996857832656eaa392a0b526f396ff06666921cc6" dependencies = [ "bp-messages", "bp-runtime", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "num-traits", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -7133,16 +6104,16 @@ dependencies = [ "bp-parachains", "bp-polkadot-core", "bp-runtime", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-bridge-grandpa", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-trie", ] [[package]] @@ -7154,15 +6125,15 @@ dependencies = [ "bp-messages", "bp-relayers", "bp-runtime", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-bridge-messages", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", - "sp-runtime 31.0.1", + "sp-arithmetic", + "sp-runtime", "sp-std 14.0.0", ] @@ -7173,14 +6144,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904983f117ff92ee24b251f2a883ff01b6f8e9063649877f3892ecbb516e3cbd" dependencies = [ "bitvec", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -7190,93 +6161,55 @@ version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb62c44d3ab8dcbf106b22acc138eaea6e51563d16a8d4a246303f2e20eeb9e5" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-bounties", - "pallet-treasury 27.0.0", + "pallet-treasury", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-collator-selection" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66c093c8867dbdb540da33076566605320b2eda78da5062d3d954f05862db18d" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "pallet-authorship 25.0.0", - "pallet-session 25.0.0", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sp-runtime 28.0.0", - "sp-staking 23.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-collator-selection" version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4199122c135e161d2e2f4cbc9339c54a11ac4b11e0beb67e53b49a3c90d566b" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-authorship 28.0.0", - "pallet-session 28.0.0", + "pallet-authorship", + "pallet-session", "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-runtime 31.0.1", - "sp-staking 26.0.0", + "sp-runtime", + "sp-staking", "sp-std 14.0.0", ] -[[package]] -name = "pallet-collective" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dddb120b5ee520146617a8c49b4d4c980ba9188918d43085539bf78815e7ec1d" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-collective" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ed22cf9d91c120695063cfa95ae0ffabcadefdf2581657ddb5fd68555b3a2e0" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -7287,14 +6220,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a189b5fb4a473edc7b2d52109fe10d0017b9b56f7c0324018b5970125db3ce3" dependencies = [ "assert_matches", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", "serde", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -7304,16 +6237,16 @@ version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8b59821d4508572c7b7cf9f044b1c87b7aa857acca1af2ec712d901a0002649" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -7323,95 +6256,56 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b687c8a22b37f9b8444a29959f9cd0cf0be2f8efb8cd9bf91860d5dbafdab8b3" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-election-provider-multi-phase" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "481178ef558a9409d9c12fc01279b517e3a0a7797664e89761447dba3a182ce6" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-election-provider-support 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "pallet-election-provider-support-benchmarking 24.0.0", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-npos-elections 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "strum", -] - [[package]] name = "pallet-election-provider-multi-phase" version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc5e1f80bb4ce08b27f5a8a733d5c2d72d083a7d48afa4bdbb1ef3594a31e353" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-election-provider-support 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", "log", - "pallet-election-provider-support-benchmarking 27.0.0", + "pallet-election-provider-support-benchmarking", "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-npos-elections 26.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-npos-elections", + "sp-runtime", "sp-std 14.0.0", "strum", ] [[package]] name = "pallet-election-provider-support-benchmarking" -version = "24.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5ab6413ec88b64acf849a202795c67940dc3bcc846ce03bd0893b90e2119ecf" +checksum = "193a8592c5fd534d56d07b2abe14e830d23947fb66f31867083e4f3ef80c8caa" dependencies = [ - "frame-benchmarking 25.0.0", - "frame-election-provider-support 25.0.0", - "frame-system 25.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-system", "parity-scale-codec", - "sp-npos-elections 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - -[[package]] -name = "pallet-election-provider-support-benchmarking" -version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193a8592c5fd534d56d07b2abe14e830d23947fb66f31867083e4f3ef80c8caa" -dependencies = [ - "frame-benchmarking 28.0.0", - "frame-election-provider-support 28.0.0", - "frame-system 28.0.0", - "parity-scale-codec", - "sp-npos-elections 26.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0", + "sp-npos-elections", + "sp-runtime", + "sp-std 14.0.0", ] [[package]] @@ -7420,221 +6314,204 @@ version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dd2f70c57cbb3dcde39f141721dd34a8c852e0caaf61ae6b0bbd23138b6e1d3" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-npos-elections 26.0.0", - "sp-runtime 31.0.1", - "sp-staking 26.0.0", + "sp-io", + "sp-npos-elections", + "sp-runtime", + "sp-staking", "sp-std 14.0.0", ] [[package]] name = "pallet-encointer-balances" -version = "3.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a2ea2b74c36582daf64b632064b3525da8aa2cdced57581272264ebd811a7a" +checksum = "3abd8385b727858b9eac996991bb6bc2967ee51a5f1bdfd178455f073b1985c5" dependencies = [ "approx", "encointer-primitives", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-asset-tx-payment 25.0.0", - "pallet-transaction-payment 25.0.0", + "pallet-asset-tx-payment", + "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime", + "sp-std 14.0.0", ] [[package]] name = "pallet-encointer-bazaar" -version = "3.0.3" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2f5797985a0a1d94338ab69659e62fb3b9435f070db39a0e610fd1757cf77fd" +checksum = "59c2f8fd0131a9e1c997e9f634c04e40af131a1c62c75ecd22d4f2fe25d6d1c0" dependencies = [ "encointer-primitives", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-encointer-communities", "parity-scale-codec", "scale-info", - "sp-core 25.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0", + "sp-std 14.0.0", ] [[package]] name = "pallet-encointer-bazaar-rpc-runtime-api" -version = "3.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6471fa29e940363ff8090bb620ad82564286f955bfaa33a15147190438542aa6" +checksum = "1ca4fe43766549ed1261113039bbe44bc4b429fdd32db2848213e1918587134d" dependencies = [ "encointer-primitives", - "frame-support 25.0.0", - "sp-api 23.0.0", - "sp-std 12.0.0", + "frame-support", + "parity-scale-codec", + "sp-api", + "sp-std 14.0.0", ] [[package]] name = "pallet-encointer-ceremonies" -version = "3.0.4" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3712bb0ba1f1645cf1744d56c2fcb237a1b82319709db7d383a2d219449a5383" +checksum = "c4638e64ecc2823182d42fb3e26f280c4f5c7c15a03e76de5a4471509268ef7e" dependencies = [ "encointer-ceremonies-assignment", "encointer-meetup-validation", "encointer-primitives", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-encointer-balances", "pallet-encointer-communities", "pallet-encointer-scheduler", - "pallet-timestamp 24.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 27.0.0", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-application-crypto", + "sp-core 28.0.0", + "sp-io", + "sp-runtime", + "sp-std 14.0.0", ] [[package]] name = "pallet-encointer-ceremonies-rpc-runtime-api" -version = "3.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af85c19a7b83a255348a95ee0b691810088320c36319eb4446eb527f0e854a04" +checksum = "9649454f58e1ce8019d33b733ef82098d8830d3e629d13a73e25013246e59ce2" dependencies = [ "encointer-primitives", - "frame-support 25.0.0", - "sp-api 23.0.0", - "sp-std 12.0.0", + "frame-support", + "parity-scale-codec", + "sp-api", + "sp-std 14.0.0", ] [[package]] name = "pallet-encointer-communities" -version = "3.0.3" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88164fe398f45a0af98c74115e27c2c19cbdb218da7a1ba2269c12e92574779c" +checksum = "f07f8f9108f2527999c88a935e3e8a4dff693dc41fe03ae537e0654f06d1e76b" dependencies = [ "encointer-primitives", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-encointer-balances", "pallet-encointer-scheduler", "parity-scale-codec", "scale-info", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-io", + "sp-runtime", + "sp-std 14.0.0", ] [[package]] name = "pallet-encointer-communities-rpc-runtime-api" -version = "3.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1808d7908167315f12204db923a35f4af851e7c53b73351ed7d1b9e53a8c948d" +checksum = "49b6fc07a3baa660dd2522b00c8ca9959fd56145852c84700c83472c0328c061" dependencies = [ "encointer-primitives", - "sp-api 23.0.0", - "sp-std 12.0.0", + "parity-scale-codec", + "sp-api", + "sp-std 14.0.0", ] [[package]] name = "pallet-encointer-faucet" -version = "3.0.3" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "749e2e516dd7d0c5901920c866f8ae0c6d76665df07e5acd5fbccc5938bb9193" +checksum = "12f315745473e6572629cf27cf41f29994b945116b516b2fb6503ab7bb784f05" dependencies = [ "approx", "encointer-primitives", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-encointer-communities", "pallet-encointer-reputation-commitments", - "pallet-treasury 24.0.0", + "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0", + "sp-runtime", + "sp-std 14.0.0", ] [[package]] name = "pallet-encointer-reputation-commitments" -version = "3.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27da548ae6f6070797c3270160cc0c76d4ddc20575d63e5a615d6f28d99c7cb5" +checksum = "4f89a194a51ec7326ac10908ea4a8840270a9bc0c3a12ae80cea46995f49c73d" dependencies = [ "approx", "encointer-primitives", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-encointer-ceremonies", "pallet-encointer-communities", "pallet-encointer-scheduler", - "pallet-timestamp 24.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0", + "sp-runtime", + "sp-std 14.0.0", ] [[package]] name = "pallet-encointer-scheduler" -version = "3.0.3" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a90e9127e0ed2392545ea4178b82f25ac987cb1228e6d90c77875d559a7a1578" +checksum = "7d5804270f9ad33a67317bd52be71eca756d7307026ba399b096e1f3e330be4c" dependencies = [ "encointer-primitives", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", - "pallet-timestamp 24.0.0", - "parity-scale-codec", - "scale-info", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - -[[package]] -name = "pallet-fast-unstake" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05634a197738c999a3032393916182fedccce13cb063fc330ee9bf810cd53b49" -dependencies = [ - "docify", - "frame-benchmarking 25.0.0", - "frame-election-provider-support 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-staking 23.0.0", - "sp-std 12.0.0", + "sp-runtime", + "sp-std 14.0.0", ] [[package]] @@ -7644,16 +6521,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd6e0b51b82075b046792cdde2d4a2f6c9301f3deba44c26d30ab152060b9028" dependencies = [ "docify", - "frame-benchmarking 28.0.0", - "frame-election-provider-support 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-staking 26.0.0", + "sp-io", + "sp-runtime", + "sp-staking", "sp-std 14.0.0", ] @@ -7664,15 +6541,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8140a1a715bb76151ac58bb6617e7a506ec3a89f842c3f6904179cbf6940b987" dependencies = [ "blake2 0.10.6", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -7682,21 +6559,21 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "935e91fa8936381aff2b88d8a7dad38ac30a1c8d2310340d73ce1c07b5ae72ce" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-authorship 28.0.0", - "pallet-session 28.0.0", + "pallet-authorship", + "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", - "sp-consensus-grandpa 13.0.0", + "sp-application-crypto", + "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", - "sp-staking 26.0.0", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", "sp-std 14.0.0", ] @@ -7707,14 +6584,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3259bb87d50529027fa40267c3662dc80c683f253f121f391c032b019c88fcb" dependencies = [ "enumflags2", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -7724,18 +6601,18 @@ version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4be3f0165158828e4e77fae106a93bc1f48cc751755bdb012edb3ac0ef1d246" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-authorship 28.0.0", + "pallet-authorship", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-staking 26.0.0", + "sp-io", + "sp-runtime", + "sp-staking", "sp-std 14.0.0", ] @@ -7745,49 +6622,31 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ead239524e40e55d172f024ff6795998068a2ba1c0950e74c4db7f347cfa91e" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-keyring 31.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-keyring", + "sp-runtime", "sp-std 14.0.0", ] [[package]] name = "pallet-insecure-randomness-collective-flip" -version = "13.0.0" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df4d7fab2948940925d4c0076ec542b2c67b37a5332449f102241993d31a8b41" +checksum = "9e3812708354757694bf127a89ab043ce80b2016a3b4d1eda2f762fbc4da9904" dependencies = [ - "frame-support 25.0.0", - "frame-system 25.0.0", + "frame-support", + "frame-system", "parity-scale-codec", "safe-mix", "scale-info", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - -[[package]] -name = "pallet-membership" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e1504034588eb733f8ce98b77757e9a7390662313aa133ef1e3b9fbb94359c7" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime", + "sp-std 14.0.0", ] [[package]] @@ -7796,38 +6655,18 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bc2dfdff5a7e5b21355b34245312ba2ea687444d9003960e7b876e1df518dab" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-message-queue" -version = "28.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0776bf51d03bd746159063fa1357234feb85114273d40ef3aa3efba65d091eb4" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-weights 24.0.0", -] - [[package]] name = "pallet-message-queue" version = "31.0.0" @@ -7835,18 +6674,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab6302efb264a65fd175f3082b72004df125f646a3c68b72fd08e657a468c0d6" dependencies = [ "environmental", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "sp-weights 27.0.0", + "sp-weights", ] [[package]] @@ -7855,16 +6694,16 @@ version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba6565b91d1d585047648793feece7c2c70080b37e1f55ab3a4fb50b4c1bec86" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-mmr-primitives", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -7874,14 +6713,14 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14dbcdea9d3d7963aab57078a5bd6f3596186bfcf181d666db6ea2bfdc0184ec" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -7891,15 +6730,15 @@ version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948a03e2f5d2202a4bb8f7d701a2f29f557c50582bf6f8ccd7824863092012f" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-assets 29.0.0", + "pallet-assets", "pallet-nfts", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -7910,15 +6749,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71368a2a22a266fac11104f41334fc82e2b94c3f26a70b13eca98cdecf2e106f" dependencies = [ "enumflags2", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -7930,7 +6769,7 @@ checksum = "e342996c6bcb1e6a3258b18b1aebf4d77d9c2dd011863393478329e7e8d67128" dependencies = [ "pallet-nfts", "parity-scale-codec", - "sp-api 26.0.0", + "sp-api", "sp-std 14.0.0", ] @@ -7940,14 +6779,14 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86c541b2785051ebe1ae378be4b086055fbb8b13ee18fd949dfcf68dbd1c3325" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -7957,16 +6796,16 @@ version = "25.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5989ca1100694371c9951118d58e84e93b60c1919006e9d4ad0f7537952c388" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "log", - "pallet-balances 28.0.0", + "pallet-balances", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-staking 26.0.0", + "sp-io", + "sp-runtime", + "sp-staking", "sp-std 14.0.0", "sp-tracing 16.0.0", ] @@ -7977,18 +6816,18 @@ version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d01847415cd33a92c65e8d13cb0041a32b2f2523c84d9d944287ae5c0d920c82" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-election-provider-support 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", "pallet-bags-list", "pallet-nomination-pools", - "pallet-staking 28.0.0", + "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-runtime-interface 24.0.0", - "sp-staking 26.0.0", + "sp-staking", "sp-std 14.0.0", ] @@ -8000,7 +6839,7 @@ checksum = "a64b17d862b833ca07a375646ecc80e164e5618c3aed4e5631816aa7288bf9b1" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", - "sp-api 26.0.0", + "sp-api", "sp-std 14.0.0", ] @@ -8010,15 +6849,15 @@ version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de7b17230f58ff6b1ec2a70b3c639c49f585841dacf63f30c78db6387a833e0b" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "log", - "pallet-balances 28.0.0", + "pallet-balances", "parity-scale-codec", "scale-info", "serde", - "sp-runtime 31.0.1", - "sp-staking 26.0.0", + "sp-runtime", + "sp-staking", "sp-std 14.0.0", ] @@ -8028,22 +6867,22 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "060483993358293d041e5173635082c68c7783a800c0874e8df87c324232f0d1" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-election-provider-support 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", "log", - "pallet-babe 28.0.0", - "pallet-balances 28.0.0", + "pallet-babe", + "pallet-balances", "pallet-grandpa", "pallet-im-online", "pallet-offences", - "pallet-session 28.0.0", - "pallet-staking 28.0.0", + "pallet-session", + "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", - "sp-staking 26.0.0", + "sp-runtime", + "sp-staking", "sp-std 14.0.0", ] @@ -8053,47 +6892,31 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce688c68f117b1916a844579aa5a945d786059b119a1cc80ace370afd1e50da4" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-proxy" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbc0b550f5cbbad51f9daf795cc7046d40bbff256dae8d6072fd710ab40fd3a" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "parity-scale-codec", - "scale-info", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-proxy" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3162924576a70509136eb4d8513497fb640a8b3ea753883fe29bd454c511485" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -8103,16 +6926,16 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86c6d11592a6ba9039bd3486dba15f0cb045889b2746f4619f5ec78188fdd151" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -8122,13 +6945,13 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8649310b8f00e3b2983331cdb7173d1e66e5eeb3a3d21479e7a65386244f883" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -8139,16 +6962,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c6645c0c09ff8484c6c7ac1546d908202ed555b18169ea956955e4e2d77b210" dependencies = [ "assert_matches", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 23.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-arithmetic", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -8158,37 +6981,19 @@ version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d6ad8b06d101931f335ea32f7c0e91bd1241c7b74d856cccf0b4fad8ab7177c" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-scheduler" -version = "26.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3508a51d359c6640577feead9dc00667f38cec385baad77b636c61ff746ffe24" -dependencies = [ - "docify", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-weights 24.0.0", -] - [[package]] name = "pallet-scheduler" version = "29.0.0" @@ -8196,39 +7001,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc26a27b77170c18261af7be04a6569e3d0d58788255b9f283ccd089aac37887" dependencies = [ "docify", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "sp-weights 27.0.0", -] - -[[package]] -name = "pallet-session" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "768a6fb5333efc2bd2a3538c1d6ffa4178398660d4e3be89f2eb82d4e9088ae6" -dependencies = [ - "frame-support 25.0.0", - "frame-system 25.0.0", - "impl-trait-for-tuples", - "log", - "pallet-timestamp 24.0.0", - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-session 24.0.0", - "sp-staking 23.0.0", - "sp-state-machine 0.32.0", - "sp-std 12.0.0", - "sp-trie 26.0.0", + "sp-weights", ] [[package]] @@ -8237,21 +7019,21 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e23ca2bfcffb5194de952050557bdd1fe9bce18b2bc81e8f8c01c8a3c3c3e5d8" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", - "pallet-timestamp 27.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", - "sp-staking 26.0.0", - "sp-state-machine 0.35.0", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-state-machine", "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-trie", ] [[package]] @@ -8260,15 +7042,15 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc660786028d46e03fb0a419d6a15df3fa556db7ce74efebf5a35037b32b4bc4" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "pallet-session 28.0.0", - "pallet-staking 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-session", + "pallet-staking", "parity-scale-codec", "rand 0.8.5", - "sp-runtime 31.0.1", - "sp-session 27.0.0", + "sp-runtime", + "sp-session", "sp-std 14.0.0", ] @@ -8278,64 +7060,40 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33c19c1f5a410c0b03dc1e3245ffc0269e6c9085e6f6a64ee023f7515b6f8d9b" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "rand_chacha 0.2.2", "scale-info", - "sp-arithmetic 23.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-arithmetic", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-staking" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bed335abd32d357dd9750dae7fb87b01dfd8fe69faadcb94a6e0e0a43057d923" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-election-provider-support 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "pallet-authorship 25.0.0", - "pallet-session 25.0.0", - "parity-scale-codec", - "rand_chacha 0.2.2", - "scale-info", - "serde", - "sp-application-crypto 27.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-staking 23.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-staking" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8883bbca2bd6ee41f81382418372ce44fd771ac53591ce9be4018ea43f8c5eda" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-election-provider-support 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", "log", - "pallet-authorship 28.0.0", - "pallet-session 28.0.0", + "pallet-authorship", + "pallet-session", "parity-scale-codec", "rand_chacha 0.2.2", "scale-info", "serde", - "sp-application-crypto 30.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-staking 26.0.0", + "sp-application-crypto", + "sp-io", + "sp-runtime", + "sp-staking", "sp-std 14.0.0", ] @@ -8351,16 +7109,6 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "pallet-staking-reward-fn" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45b6f832653badb5f70bdfecc1ded64b02b8159b27f18515af03f8b80f1b023b" -dependencies = [ - "log", - "sp-arithmetic 20.0.0", -] - [[package]] name = "pallet-staking-reward-fn" version = "19.0.0" @@ -8368,7 +7116,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e23336e4da87101633f95f9932946564c926ca7f87499654b38923b1579c605e" dependencies = [ "log", - "sp-arithmetic 23.0.0", + "sp-arithmetic", ] [[package]] @@ -8378,8 +7126,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e27156b772eccb539cb1a1ea1b1b6e98d9c6589e18b913a30f67913fcf67fe7e" dependencies = [ "parity-scale-codec", - "sp-api 26.0.0", - "sp-staking 26.0.0", + "sp-api", + "sp-staking", ] [[package]] @@ -8388,15 +7136,15 @@ version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a48713905a318b0307e523fd3d3ca4b197ce74b2520203ded0d02e8a6c6bbd7" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -8407,37 +7155,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "053dae9119d2d828af80e8ac98f497dc27155d6b5d42264dab8fae40f2314c41" dependencies = [ "docify", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-timestamp" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b25ec8749cf3f481b5e5199be701bac0dea835851b83fc7c455192762711858d" -dependencies = [ - "docify", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-inherents 23.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-storage 17.0.0", - "sp-timestamp 23.0.0", -] - [[package]] name = "pallet-timestamp" version = "27.0.0" @@ -8445,18 +7172,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "688b89bdd377609b592bd094b304ebca33f4767fe72935465e2fd7db0e797968" dependencies = [ "docify", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-inherents", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "sp-storage 19.0.0", - "sp-timestamp 26.0.0", + "sp-timestamp", ] [[package]] @@ -8465,98 +7192,48 @@ version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "facf64cab7f7a4762c57e5827597b2ca073755de4c9716444cf0847db34836df" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-treasury 27.0.0", + "pallet-treasury", "parity-scale-codec", "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-transaction-payment" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ef7ceaac786e41613731e3bc48284f1aa3ec260934abda2daed949de6e5ada" -dependencies = [ - "frame-support 25.0.0", - "frame-system 25.0.0", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-transaction-payment" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18b4ca7a1af9b1f091900a354a96319c7614d7a32106ba86cb7f0b6f90239065" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-transaction-payment-rpc-runtime-api" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07d87fdc4028155367c6ea98143054a6c00b38bfd77ec08681e289e429e35505" -dependencies = [ - "pallet-transaction-payment 25.0.0", - "parity-scale-codec", - "sp-api 23.0.0", - "sp-runtime 28.0.0", - "sp-weights 24.0.0", -] - [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acdfd7c882439b8198c99ece57b5bf785965545a6fa6d0bb7b56b264df1e437a" dependencies = [ - "pallet-transaction-payment 28.0.0", - "parity-scale-codec", - "sp-api 26.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", -] - -[[package]] -name = "pallet-treasury" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd462af11574485864023849e0622916b611dbc88111192fb39b1e6d7e666ba" -dependencies = [ - "docify", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "impl-trait-for-tuples", - "pallet-balances 25.0.0", + "pallet-transaction-payment", "parity-scale-codec", - "scale-info", - "serde", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-api", + "sp-runtime", + "sp-weights", ] [[package]] @@ -8566,16 +7243,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75cb7498228e1a150fa09ce64acafe7105ff39b75dae1c266ba58b7e3eb225e" dependencies = [ "docify", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", - "pallet-balances 28.0.0", + "pallet-balances", "parity-scale-codec", "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -8585,79 +7262,46 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf5e6bf708cc4d7efe8d66a8bb80da4875724edbcf1f624bd34b6937c0af452" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-utility" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85a8a6941da32837e4297e0d8abe0a5c94f348a119cccbf27b0f99ee01246c0e" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-utility" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384c1d740c019410f6b40586cc387726c2e3c417c0e3e6f7e4774cd46bc6c1d0" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-vesting" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd29411ef24eb6a856adf1bc33b37ead4835a25dafb1c4c8c95b13fa5247748f" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "pallet-vesting" version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55f3ac517a10c14beee86a737b9ea5d592af9ab21cc5354474bc5f7019210358" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -8667,38 +7311,16 @@ version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de259e3329422bf3eb10b7e966f4b1c5caadcb29cd2d45af3a000cb2d184e60d" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "pallet-xcm" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04d5e5404d9dadb39390949aadc2c641c16ce4cb0f47ed7a7ff584ab914c2984" -dependencies = [ - "bounded-collections", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "staging-xcm 4.0.0", - "staging-xcm-executor 4.0.2", -] - [[package]] name = "pallet-xcm" version = "7.0.0" @@ -8706,41 +7328,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cee3520e03ac679125e8dcaa00ce4afeeb106a9623e79b5acf970d72af7f5d02" dependencies = [ "bounded-collections", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-balances 28.0.0", + "pallet-balances", "parity-scale-codec", "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", -] - -[[package]] -name = "pallet-xcm-benchmarks" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7f50852380d3272accbf4532dc2e46cdc7f66f5452600bfd7d33fc208a5ff1e" -dependencies = [ - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "staging-xcm 4.0.0", - "staging-xcm-builder 4.0.1", - "staging-xcm-executor 4.0.2", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", ] [[package]] @@ -8749,18 +7351,18 @@ version = "7.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "890bbad7a5752c8d4c3681457bac4e87fafc79cd9dd5b1a94e6f237f93a795a3" dependencies = [ - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", ] [[package]] @@ -8773,18 +7375,18 @@ dependencies = [ "bp-runtime", "bp-xcm-bridge-hub", "bridge-runtime-common", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "log", "pallet-bridge-messages", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", ] [[package]] @@ -8793,53 +7395,18 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21f10cb76e759fbb672f132d72d9c4f75895ce3c9c9f50d68cd902bc88b043fc" dependencies = [ - "bp-xcm-bridge-hub-router 0.6.0", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "bp-xcm-bridge-hub-router", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", -] - -[[package]] -name = "parachains-common" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7ab598917585ae55b892dbfb6fa5073eb40454c47504a0d0db2634505538632" -dependencies = [ - "cumulus-primitives-core 0.4.0", - "cumulus-primitives-utility 0.4.1", - "frame-support 25.0.0", - "frame-system 25.0.0", - "log", - "num-traits", - "pallet-asset-tx-payment 25.0.0", - "pallet-assets 26.0.0", - "pallet-authorship 25.0.0", - "pallet-balances 25.0.0", - "pallet-collator-selection 6.0.0", - "parity-scale-codec", - "polkadot-core-primitives 4.0.0", - "polkadot-primitives 4.0.0", - "rococo-runtime-constants 4.0.0", - "scale-info", - "smallvec", - "sp-consensus-aura 0.29.0", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "staging-parachain-info 0.4.0", - "staging-xcm 4.0.0", - "staging-xcm-builder 4.0.1", - "substrate-wasm-builder 14.0.0", - "westend-runtime-constants 4.0.0", + "staging-xcm", + "staging-xcm-builder", ] [[package]] @@ -8848,36 +7415,36 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ceadd4f51620023871ece5eeda64734acd17d84d49b45473d335e900a012fdde" dependencies = [ - "cumulus-primitives-core 0.7.0", - "cumulus-primitives-utility 0.7.3", - "frame-support 28.0.0", - "frame-system 28.0.0", + "cumulus-primitives-core", + "cumulus-primitives-utility", + "frame-support", + "frame-system", "log", "num-traits", - "pallet-asset-tx-payment 28.0.0", - "pallet-assets 29.0.0", - "pallet-authorship 28.0.0", - "pallet-balances 28.0.0", - "pallet-collator-selection 9.0.0", - "pallet-message-queue 31.0.0", - "pallet-xcm 7.0.0", - "parity-scale-codec", - "polkadot-core-primitives 7.0.0", - "polkadot-primitives 7.0.0", - "rococo-runtime-constants 7.0.0", + "pallet-asset-tx-payment", + "pallet-assets", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", + "pallet-message-queue", + "pallet-xcm", + "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-primitives", + "rococo-runtime-constants", "scale-info", "smallvec", - "sp-consensus-aura 0.32.0", + "sp-consensus-aura", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "staging-parachain-info 0.7.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", - "substrate-wasm-builder 17.0.0", - "westend-runtime-constants 7.0.0", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", + "westend-runtime-constants", ] [[package]] @@ -8886,59 +7453,38 @@ version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef11e21280cf0825bdb5563f242a06dc78fb3765d2b9d5f6210fc15442abfe4a" dependencies = [ - "cumulus-pallet-parachain-system 0.7.0", - "cumulus-pallet-xcmp-queue 0.7.0", - "cumulus-primitives-core 0.7.0", - "cumulus-primitives-parachain-inherent 0.7.0", - "cumulus-test-relay-sproof-builder 0.7.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "pallet-assets 29.0.0", - "pallet-balances 28.0.0", - "pallet-collator-selection 9.0.0", - "pallet-session 28.0.0", - "pallet-xcm 7.0.0", - "parachains-common 7.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 6.0.0", - "sp-consensus-aura 0.32.0", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "cumulus-test-relay-sproof-builder", + "frame-support", + "frame-system", + "pallet-assets", + "pallet-balances", + "pallet-collator-selection", + "pallet-session", + "pallet-xcm", + "parachains-common", + "parity-scale-codec", + "polkadot-parachain-primitives", + "sp-consensus-aura", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "sp-tracing 16.0.0", - "staging-parachain-info 0.7.0", - "staging-xcm 7.0.0", - "staging-xcm-executor 7.0.3", - "substrate-wasm-builder 17.0.0", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-executor", + "substrate-wasm-builder", ] [[package]] -name = "parity-db" -version = "0.4.13" +name = "parity-scale-codec" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "592a28a24b09c9dc20ac8afaa6839abc417c720afe42c12e1e4a9d6aa2508d2e" -dependencies = [ - "blake2 0.10.6", - "crc32fast", - "fs2", - "hex", - "libc", - "log", - "lz4", - "memmap2", - "parking_lot 0.12.1", - "rand 0.8.5", - "siphasher", - "snap", - "winapi", -] - -[[package]] -name = "parity-scale-codec" -version = "3.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -9086,12 +7632,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - [[package]] name = "pem" version = "1.1.1" @@ -9108,61 +7648,61 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73556f5783be7b2045e55625ae72da8c9ca255bbd9c14184c8c18b76ef6f81e2" dependencies = [ "assets-common", - "cumulus-pallet-aura-ext 0.7.0", - "cumulus-pallet-dmp-queue 0.7.0", - "cumulus-pallet-parachain-system 0.7.0", + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", - "cumulus-pallet-xcm 0.7.0", - "cumulus-pallet-xcmp-queue 0.7.0", - "cumulus-primitives-core 0.7.0", - "cumulus-primitives-utility 0.7.3", - "frame-benchmarking 28.0.0", - "frame-executive 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", - "frame-system-benchmarking 28.0.0", - "frame-system-rpc-runtime-api 26.0.0", - "frame-try-runtime 0.34.0", - "log", - "pallet-asset-tx-payment 28.0.0", - "pallet-assets 29.0.0", - "pallet-aura 27.0.0", - "pallet-authorship 28.0.0", - "pallet-balances 28.0.0", - "pallet-collator-selection 9.0.0", - "pallet-message-queue 31.0.0", - "pallet-session 28.0.0", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-utility", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "log", + "pallet-asset-tx-payment", + "pallet-assets", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", + "pallet-message-queue", + "pallet-session", "pallet-sudo", - "pallet-timestamp 27.0.0", - "pallet-transaction-payment 28.0.0", - "pallet-transaction-payment-rpc-runtime-api 28.0.0", - "pallet-xcm 7.0.0", - "parachains-common 7.0.0", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-xcm", + "parachains-common", "parity-scale-codec", - "polkadot-parachain-primitives 6.0.0", - "polkadot-primitives 7.0.0", - "polkadot-runtime-common 7.0.0", + "polkadot-parachain-primitives", + "polkadot-primitives", + "polkadot-runtime-common", "scale-info", "smallvec", "snowbridge-rococo-common", - "sp-api 26.0.0", - "sp-block-builder 26.0.0", - "sp-consensus-aura 0.32.0", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", "sp-core 28.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-offchain 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", + "sp-genesis-builder", + "sp-inherents", + "sp-offchain", + "sp-runtime", + "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", - "sp-transaction-pool 26.0.0", - "sp-version 29.0.0", - "staging-parachain-info 0.7.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", - "substrate-wasm-builder 17.0.0", + "sp-transaction-pool", + "sp-version", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", ] [[package]] @@ -9241,19 +7781,6 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" -[[package]] -name = "polkadot-core-primitives" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b08d1d6ca24e1b13f8069e015cfab794344212dd7436aadd61de8086a82664ef" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "polkadot-core-primitives" version = "7.0.0" @@ -9263,164 +7790,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "polkadot-node-jaeger" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cfe6d4769181dce55b1b8fc53f0bd85bb4aa20473702fbce95a94abafa19379" -dependencies = [ - "lazy_static", - "log", - "mick-jaeger", - "parity-scale-codec", - "parking_lot 0.12.1", - "polkadot-node-primitives", - "polkadot-primitives 4.0.0", - "sc-network 0.31.0", - "sp-core 25.0.0", - "thiserror", - "tokio", -] - -[[package]] -name = "polkadot-node-metrics" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51a586fc3ef87c685588a650c18882b4cf069d8adc0d7d9bd2670749cb4e82b" -dependencies = [ - "bs58 0.5.0", - "futures", - "futures-timer", - "log", - "parity-scale-codec", - "polkadot-primitives 4.0.0", - "prioritized-metered-channel 0.5.1", - "sc-cli", - "sc-service", - "sc-tracing", - "substrate-prometheus-endpoint 0.16.0", - "tracing-gum", -] - -[[package]] -name = "polkadot-node-network-protocol" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6de513655bf71400299cda1ccaebfa612fd3965e7ce5a9120b4ff37bfc80931" -dependencies = [ - "async-channel", - "async-trait", - "bitvec", - "derive_more", - "fatality", - "futures", - "hex", - "parity-scale-codec", - "polkadot-node-jaeger", - "polkadot-node-primitives", - "polkadot-primitives 4.0.0", - "rand 0.8.5", - "sc-authority-discovery", - "sc-network 0.31.0", - "strum", - "thiserror", - "tracing-gum", -] - -[[package]] -name = "polkadot-node-primitives" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e82ee5edac871310bd1ce16a035ad2fc901d6ddd69ea0bbabc7f0a70a02770a" -dependencies = [ - "bounded-vec", - "futures", - "parity-scale-codec", - "polkadot-parachain-primitives 3.0.0", - "polkadot-primitives 4.0.0", - "schnorrkel 0.9.1", - "serde", - "sp-application-crypto 27.0.0", - "sp-consensus-babe 0.29.0", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "sp-maybe-compressed-blob 9.0.0", - "sp-runtime 28.0.0", - "thiserror", - "zstd 0.12.4", -] - -[[package]] -name = "polkadot-node-subsystem-types" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1013b3bac6e9b76bbd71433c3eba36b5c0fa9306bfc473ec02e3a104e156d2" -dependencies = [ - "async-trait", - "derive_more", - "futures", - "orchestra", - "polkadot-node-jaeger", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-primitives 4.0.0", - "polkadot-statement-table", - "sc-client-api 25.0.0", - "sc-network 0.31.0", - "sc-transaction-pool-api 25.0.0", - "smallvec", - "sp-api 23.0.0", - "sp-authority-discovery 23.0.0", - "sp-consensus-babe 0.29.0", - "substrate-prometheus-endpoint 0.16.0", - "thiserror", -] - -[[package]] -name = "polkadot-overseer" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2f547e981cbd72357ba30952193844d30de5063e9d304c117c9b941f12b5f84" -dependencies = [ - "async-trait", - "futures", - "futures-timer", - "orchestra", - "parking_lot 0.12.1", - "polkadot-node-metrics", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-node-subsystem-types", - "polkadot-primitives 4.0.0", - "sc-client-api 25.0.0", - "sp-api 23.0.0", - "sp-core 25.0.0", - "tikv-jemalloc-ctl", - "tracing-gum", -] - -[[package]] -name = "polkadot-parachain-primitives" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42265630c0c48e25d7ee5a9f4bdcafd003be65c0a44deeb6541620ca169fa519" -dependencies = [ - "bounded-collections", - "derive_more", - "frame-support 25.0.0", - "parity-scale-codec", - "polkadot-core-primitives 4.0.0", - "scale-info", - "serde", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "polkadot-parachain-primitives" version = "6.0.0" @@ -9430,40 +7803,13 @@ dependencies = [ "bounded-collections", "derive_more", "parity-scale-codec", - "polkadot-core-primitives 7.0.0", + "polkadot-core-primitives", "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", - "sp-weights 27.0.0", -] - -[[package]] -name = "polkadot-primitives" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee4508ff6b035edc08c54bb61238500179963f6f1eb8266dce6a5625509124bc" -dependencies = [ - "bitvec", - "hex-literal", - "parity-scale-codec", - "polkadot-core-primitives 4.0.0", - "polkadot-parachain-primitives 3.0.0", - "scale-info", - "serde", - "sp-api 23.0.0", - "sp-application-crypto 27.0.0", - "sp-arithmetic 20.0.0", - "sp-authority-discovery 23.0.0", - "sp-consensus-slots 0.29.0", - "sp-core 25.0.0", - "sp-inherents 23.0.0", - "sp-io 27.0.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", - "sp-staking 23.0.0", - "sp-std 12.0.0", + "sp-weights", ] [[package]] @@ -9475,21 +7821,21 @@ dependencies = [ "bitvec", "hex-literal", "parity-scale-codec", - "polkadot-core-primitives 7.0.0", - "polkadot-parachain-primitives 6.0.0", + "polkadot-core-primitives", + "polkadot-parachain-primitives", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", - "sp-authority-discovery 26.0.0", - "sp-consensus-slots 0.32.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-authority-discovery", + "sp-consensus-slots", "sp-core 28.0.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "sp-staking 26.0.0", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-staking", "sp-std 14.0.0", ] @@ -9499,40 +7845,40 @@ version = "1.0.0" dependencies = [ "binary-merkle-tree", "bitvec", - "frame-benchmarking 28.0.0", - "frame-election-provider-support 28.0.0", - "frame-executive 28.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-executive", "frame-remote-externalities", - "frame-support 28.0.0", - "frame-system 28.0.0", - "frame-system-benchmarking 28.0.0", - "frame-system-rpc-runtime-api 26.0.0", - "frame-try-runtime 0.34.0", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex-literal", "log", - "pallet-asset-rate 7.0.0", - "pallet-authority-discovery 28.0.0", - "pallet-authorship 28.0.0", - "pallet-babe 28.0.0", + "pallet-asset-rate", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", "pallet-bags-list", - "pallet-balances 28.0.0", + "pallet-balances", "pallet-beefy", "pallet-beefy-mmr", "pallet-bounties", "pallet-child-bounties", - "pallet-collective 28.0.0", + "pallet-collective", "pallet-conviction-voting", "pallet-democracy", - "pallet-election-provider-multi-phase 27.0.0", - "pallet-election-provider-support-benchmarking 27.0.0", + "pallet-election-provider-multi-phase", + "pallet-election-provider-support-benchmarking", "pallet-elections-phragmen", - "pallet-fast-unstake 27.0.0", + "pallet-fast-unstake", "pallet-grandpa", "pallet-identity", "pallet-im-online", "pallet-indices", - "pallet-membership 28.0.0", - "pallet-message-queue 31.0.0", + "pallet-membership", + "pallet-message-queue", "pallet-mmr", "pallet-multisig", "pallet-nomination-pools", @@ -9541,121 +7887,70 @@ dependencies = [ "pallet-offences", "pallet-offences-benchmarking", "pallet-preimage", - "pallet-proxy 28.0.0", + "pallet-proxy", "pallet-referenda", - "pallet-scheduler 29.0.0", - "pallet-session 28.0.0", + "pallet-scheduler", + "pallet-session", "pallet-session-benchmarking", - "pallet-staking 28.0.0", + "pallet-staking", "pallet-staking-reward-curve", - "pallet-staking-reward-fn 19.0.0", + "pallet-staking-reward-fn", "pallet-staking-runtime-api", - "pallet-timestamp 27.0.0", + "pallet-timestamp", "pallet-tips", - "pallet-transaction-payment 28.0.0", - "pallet-transaction-payment-rpc-runtime-api 28.0.0", - "pallet-treasury 27.0.0", - "pallet-utility 28.0.0", - "pallet-vesting 28.0.0", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", "pallet-whitelist", - "pallet-xcm 7.0.0", - "pallet-xcm-benchmarks 7.0.3", + "pallet-xcm", + "pallet-xcm-benchmarks", "parity-scale-codec", - "polkadot-primitives 7.0.0", - "polkadot-runtime-common 7.0.0", + "polkadot-primitives", + "polkadot-runtime-common", "polkadot-runtime-constants", - "polkadot-runtime-parachains 7.0.0", + "polkadot-runtime-parachains", "rustc-hex", "scale-info", "separator", "serde", "serde_derive", "serde_json", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", - "sp-authority-discovery 26.0.0", - "sp-block-builder 26.0.0", - "sp-consensus-babe 0.32.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", "sp-consensus-beefy", "sp-core 28.0.0", "sp-debug-derive 14.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-keyring 31.0.0", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", "sp-mmr-primitives", - "sp-npos-elections 26.0.0", - "sp-offchain 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", - "sp-staking 26.0.0", + "sp-npos-elections", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", - "sp-transaction-pool 26.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", + "sp-transaction-pool", + "sp-trie", + "sp-version", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", "static_assertions", - "substrate-wasm-builder 17.0.0", + "substrate-wasm-builder", "tiny-keccak", "tokio", ] -[[package]] -name = "polkadot-runtime-common" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a788f8ed8b33262c33f72d78e3416c5991e40d333178ae43000a92181ee44bca" -dependencies = [ - "bitvec", - "frame-benchmarking 25.0.0", - "frame-election-provider-support 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "impl-trait-for-tuples", - "libsecp256k1", - "log", - "pallet-asset-rate 4.0.0", - "pallet-authorship 25.0.0", - "pallet-babe 25.0.0", - "pallet-balances 25.0.0", - "pallet-election-provider-multi-phase 24.0.0", - "pallet-fast-unstake 24.0.0", - "pallet-session 25.0.0", - "pallet-staking 25.0.0", - "pallet-staking-reward-fn 16.0.0", - "pallet-timestamp 24.0.0", - "pallet-transaction-payment 25.0.0", - "pallet-treasury 24.0.0", - "pallet-vesting 25.0.0", - "pallet-xcm-benchmarks 4.0.1", - "parity-scale-codec", - "polkadot-primitives 4.0.0", - "polkadot-runtime-parachains 4.0.0", - "rustc-hex", - "scale-info", - "serde", - "serde_derive", - "slot-range-helper 4.0.0", - "sp-api 23.0.0", - "sp-core 25.0.0", - "sp-inherents 23.0.0", - "sp-io 27.0.0", - "sp-npos-elections 23.0.0", - "sp-runtime 28.0.0", - "sp-session 24.0.0", - "sp-staking 23.0.0", - "sp-std 12.0.0", - "staging-xcm 4.0.0", - "staging-xcm-builder 4.0.1", - "staging-xcm-executor 4.0.2", - "static_assertions", -] - [[package]] name = "polkadot-runtime-common" version = "7.0.0" @@ -9663,49 +7958,49 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4641a850b7415a42e56bd262aba243ed77a9280cb2b825a427c425bdc8961d70" dependencies = [ "bitvec", - "frame-benchmarking 28.0.0", - "frame-election-provider-support 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", "impl-trait-for-tuples", "libsecp256k1", "log", - "pallet-asset-rate 7.0.0", - "pallet-authorship 28.0.0", - "pallet-babe 28.0.0", - "pallet-balances 28.0.0", + "pallet-asset-rate", + "pallet-authorship", + "pallet-babe", + "pallet-balances", "pallet-broker", - "pallet-election-provider-multi-phase 27.0.0", - "pallet-fast-unstake 27.0.0", + "pallet-election-provider-multi-phase", + "pallet-fast-unstake", "pallet-identity", - "pallet-session 28.0.0", - "pallet-staking 28.0.0", - "pallet-staking-reward-fn 19.0.0", - "pallet-timestamp 27.0.0", - "pallet-transaction-payment 28.0.0", - "pallet-treasury 27.0.0", - "pallet-vesting 28.0.0", - "pallet-xcm-benchmarks 7.0.3", - "parity-scale-codec", - "polkadot-primitives 7.0.0", - "polkadot-runtime-parachains 7.0.0", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-fn", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-treasury", + "pallet-vesting", + "pallet-xcm-benchmarks", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-parachains", "rustc-hex", "scale-info", "serde", "serde_derive", - "slot-range-helper 7.0.0", - "sp-api 26.0.0", + "slot-range-helper", + "sp-api", "sp-core 28.0.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-npos-elections 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", - "sp-staking 26.0.0", - "sp-std 14.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", + "sp-inherents", + "sp-io", + "sp-npos-elections", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std 14.0.0", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", "static_assertions", ] @@ -9713,28 +8008,14 @@ dependencies = [ name = "polkadot-runtime-constants" version = "1.0.0" dependencies = [ - "frame-support 28.0.0", - "polkadot-primitives 7.0.0", - "polkadot-runtime-common 7.0.0", + "frame-support", + "polkadot-primitives", + "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", - "staging-xcm-builder 7.0.3", -] - -[[package]] -name = "polkadot-runtime-metrics" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe45b01d9d621174c9c0eef0871aeead5986393838206fe58df3ae414bcb8d2" -dependencies = [ - "bs58 0.5.0", - "frame-benchmarking 25.0.0", - "parity-scale-codec", - "polkadot-primitives 4.0.0", - "sp-std 12.0.0", - "sp-tracing 14.0.0", + "sp-runtime", + "sp-weights", + "staging-xcm-builder", ] [[package]] @@ -9744,61 +8025,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ac3c6ee03f38556274b26049c51c5c7095abfd4ebfd11cd492918a4344f2851" dependencies = [ "bs58 0.5.0", - "frame-benchmarking 28.0.0", + "frame-benchmarking", "parity-scale-codec", - "polkadot-primitives 7.0.0", + "polkadot-primitives", "sp-std 14.0.0", "sp-tracing 16.0.0", ] -[[package]] -name = "polkadot-runtime-parachains" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936dbae8a7a88dba07da726d779126716e05364d8475ced1c313f32755050a02" -dependencies = [ - "bitflags 1.3.2", - "bitvec", - "derive_more", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "impl-trait-for-tuples", - "log", - "pallet-authority-discovery 25.0.0", - "pallet-authorship 25.0.0", - "pallet-babe 25.0.0", - "pallet-balances 25.0.0", - "pallet-message-queue 28.0.0", - "pallet-session 25.0.0", - "pallet-staking 25.0.0", - "pallet-timestamp 24.0.0", - "pallet-vesting 25.0.0", - "parity-scale-codec", - "polkadot-core-primitives 4.0.0", - "polkadot-parachain-primitives 3.0.0", - "polkadot-primitives 4.0.0", - "polkadot-runtime-metrics 4.0.0", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rustc-hex", - "scale-info", - "serde", - "sp-api 23.0.0", - "sp-application-crypto 27.0.0", - "sp-core 25.0.0", - "sp-inherents 23.0.0", - "sp-io 27.0.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", - "sp-session 24.0.0", - "sp-staking 23.0.0", - "sp-std 12.0.0", - "staging-xcm 4.0.0", - "staging-xcm-executor 4.0.2", - "static_assertions", -] - [[package]] name = "polkadot-runtime-parachains" version = "7.0.0" @@ -9808,59 +8041,48 @@ dependencies = [ "bitflags 1.3.2", "bitvec", "derive_more", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", - "pallet-authority-discovery 28.0.0", - "pallet-authorship 28.0.0", - "pallet-babe 28.0.0", - "pallet-balances 28.0.0", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", "pallet-broker", - "pallet-message-queue 31.0.0", - "pallet-session 28.0.0", - "pallet-staking 28.0.0", - "pallet-timestamp 27.0.0", - "pallet-vesting 28.0.0", - "parity-scale-codec", - "polkadot-core-primitives 7.0.0", - "polkadot-parachain-primitives 6.0.0", - "polkadot-primitives 7.0.0", - "polkadot-runtime-metrics 7.0.0", + "pallet-message-queue", + "pallet-session", + "pallet-staking", + "pallet-timestamp", + "pallet-vesting", + "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-primitives", + "polkadot-runtime-metrics", "rand 0.8.5", "rand_chacha 0.3.1", "rustc-hex", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", "sp-core 28.0.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", - "sp-staking 26.0.0", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-session", + "sp-staking", "sp-std 14.0.0", "sp-tracing 16.0.0", - "staging-xcm 7.0.0", - "staging-xcm-executor 7.0.3", + "staging-xcm", + "staging-xcm-executor", "static_assertions", ] -[[package]] -name = "polkadot-statement-table" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22b2a11cb8871f7e30a8f5e455c92d19a186065644ee00f9acda550ff89dacce" -dependencies = [ - "parity-scale-codec", - "polkadot-primitives 4.0.0", - "sp-core 25.0.0", -] - [[package]] name = "polling" version = "3.3.1" @@ -9924,7 +8146,7 @@ checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" dependencies = [ "difflib", "float-cmp", - "itertools 0.10.5", + "itertools", "normalize-line-endings", "predicates-core", "regex", @@ -9956,16 +8178,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "prettyplease" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" -dependencies = [ - "proc-macro2", - "syn 2.0.48", -] - [[package]] name = "primitive-types" version = "0.12.2" @@ -9981,38 +8193,6 @@ dependencies = [ "uint", ] -[[package]] -name = "prioritized-metered-channel" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e99f0c89bd88f393aab44a4ab949351f7bc7e7e1179d11ecbfe50cbe4c47e342" -dependencies = [ - "coarsetime", - "crossbeam-queue", - "derive_more", - "futures", - "futures-timer", - "nanorand", - "thiserror", - "tracing", -] - -[[package]] -name = "prioritized-metered-channel" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a172e6cc603231f2cf004232eabcecccc0da53ba576ab286ef7baa0cfc7927ad" -dependencies = [ - "coarsetime", - "crossbeam-queue", - "derive_more", - "futures", - "futures-timer", - "nanorand", - "thiserror", - "tracing", -] - [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -10140,12 +8320,12 @@ checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", "heck", - "itertools 0.10.5", + "itertools", "lazy_static", "log", "multimap", "petgraph", - "prettyplease 0.1.25", + "prettyplease", "prost", "prost-types", "regex", @@ -10161,7 +8341,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools", "proc-macro2", "quote", "syn 1.0.109", @@ -10338,15 +8518,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rand_pcg" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" -dependencies = [ - "rand_core 0.6.4", -] - [[package]] name = "rawpointer" version = "0.2.1" @@ -10549,58 +8720,21 @@ dependencies = [ "rustc-hex", ] -[[package]] -name = "rocksdb" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" -dependencies = [ - "libc", - "librocksdb-sys", -] - -[[package]] -name = "rococo-runtime-constants" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "272eaa4f1b4b5357d89d1f8f504cb5ee81a105bf7e5c295f053c6e521f2a199b" -dependencies = [ - "frame-support 25.0.0", - "polkadot-primitives 4.0.0", - "polkadot-runtime-common 4.0.0", - "smallvec", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-weights 24.0.0", - "staging-xcm 4.0.0", -] - [[package]] name = "rococo-runtime-constants" version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b5b507493a19b5061eb2860c394847261216c7ea7f8f62ba2cb02e55c27d611" dependencies = [ - "frame-support 28.0.0", - "polkadot-primitives 7.0.0", - "polkadot-runtime-common 7.0.0", + "frame-support", + "polkadot-primitives", + "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", -] - -[[package]] -name = "rpassword" -version = "7.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" -dependencies = [ - "libc", - "rtoolbox", - "windows-sys 0.48.0", + "sp-runtime", + "sp-weights", + "staging-xcm", + "staging-xcm-builder", ] [[package]] @@ -10618,16 +8752,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "rtoolbox" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "rustc-demangle" version = "0.1.23" @@ -10805,18 +8929,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "sc-allocator" -version = "20.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b4c5976a9cff7fcf24c946276a62ea7837862b6f3bf9f8011f08faf4f08474" -dependencies = [ - "log", - "sp-core 25.0.0", - "sp-wasm-interface 18.0.0", - "thiserror", -] - [[package]] name = "sc-allocator" version = "23.0.0" @@ -10829,51 +8941,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "sc-authority-discovery" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb7e0e8a4ea5304b65d49c0085a458ed2e43394f95457689875d3e0c6e118dee" -dependencies = [ - "async-trait", - "futures", - "futures-timer", - "ip_network", - "libp2p", - "log", - "multihash", - "parity-scale-codec", - "prost", - "prost-build", - "rand 0.8.5", - "sc-client-api 25.0.0", - "sc-network 0.31.0", - "sp-api 23.0.0", - "sp-authority-discovery 23.0.0", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", - "substrate-prometheus-endpoint 0.16.0", - "thiserror", -] - -[[package]] -name = "sc-block-builder" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d3999b9b758c09a6c1155e481b683ee87712f071cc5a0679f9ee4906a14a404" -dependencies = [ - "parity-scale-codec", - "sc-client-api 25.0.0", - "sp-api 23.0.0", - "sp-block-builder 23.0.0", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-inherents 23.0.0", - "sp-runtime 28.0.0", -] - [[package]] name = "sc-block-builder" version = "0.33.0" @@ -10881,33 +8948,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "656b85de8aad8dd758f2e5f250f300e4711f294f238c9299064fbd624cb263f7" dependencies = [ "parity-scale-codec", - "sp-api 26.0.0", - "sp-block-builder 26.0.0", - "sp-blockchain 28.0.0", + "sp-api", + "sp-block-builder", + "sp-blockchain", "sp-core 28.0.0", - "sp-inherents 26.0.0", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", -] - -[[package]] -name = "sc-chain-spec" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7e711ea9870d3fb8e2a3ea5b601a9e20c63d0d2f457f40146407721e246a77" -dependencies = [ - "memmap2", - "sc-chain-spec-derive 10.0.0", - "sc-client-api 25.0.0", - "sc-executor 0.29.0", - "sc-network 0.31.0", - "sc-telemetry 12.0.0", - "serde", - "serde_json", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", + "sp-inherents", + "sp-runtime", + "sp-trie", ] [[package]] @@ -10921,31 +8968,19 @@ dependencies = [ "log", "memmap2", "parity-scale-codec", - "sc-chain-spec-derive 11.0.0", - "sc-client-api 28.0.0", - "sc-executor 0.32.0", - "sc-network 0.34.0", - "sc-telemetry 15.0.0", + "sc-chain-spec-derive", + "sc-client-api", + "sc-executor", + "sc-network", + "sc-telemetry", "serde", "serde_json", - "sp-blockchain 28.0.0", + "sp-blockchain", "sp-core 28.0.0", - "sp-genesis-builder 0.7.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", -] - -[[package]] -name = "sc-chain-spec-derive" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f25158f791eb48715da9322375598b541cadd1f193674e8a4d77c79ffa3d95d" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.48", + "sp-genesis-builder", + "sp-io", + "sp-runtime", + "sp-state-machine", ] [[package]] @@ -10960,75 +8995,6 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "sc-cli" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22c61058223f80c1f961b03f7737529609a3283eef91129e971a1966101c18ea" -dependencies = [ - "array-bytes 6.2.2", - "chrono", - "clap", - "fdlimit", - "futures", - "libp2p-identity", - "log", - "names", - "parity-scale-codec", - "rand 0.8.5", - "regex", - "rpassword", - "sc-client-api 25.0.0", - "sc-client-db", - "sc-keystore", - "sc-mixnet 0.1.0", - "sc-network 0.31.0", - "sc-service", - "sc-telemetry 12.0.0", - "sc-tracing", - "sc-utils 11.0.0", - "serde", - "serde_json", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-keyring 28.0.0", - "sp-keystore 0.31.0", - "sp-panic-handler 12.0.0", - "sp-runtime 28.0.0", - "sp-version 26.0.0", - "thiserror", - "tiny-bip39", - "tokio", -] - -[[package]] -name = "sc-client-api" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d32101f415f4d7ddbe8b5de1c1387a78d6dce070e26407ec605fe9f3fc9e23" -dependencies = [ - "fnv", - "futures", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-executor 0.29.0", - "sc-transaction-pool-api 25.0.0", - "sc-utils 11.0.0", - "sp-api 23.0.0", - "sp-blockchain 25.0.0", - "sp-consensus 0.29.0", - "sp-core 25.0.0", - "sp-database 9.0.0", - "sp-externalities 0.23.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", - "sp-statement-store 7.0.0", - "sp-storage 17.0.0", - "sp-trie 26.0.0", - "substrate-prometheus-endpoint 0.16.0", -] - [[package]] name = "sc-client-api" version = "28.0.0" @@ -11040,74 +9006,21 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.1", - "sc-executor 0.32.0", - "sc-transaction-pool-api 28.0.0", - "sc-utils 14.0.0", - "sp-api 26.0.0", - "sp-blockchain 28.0.0", - "sp-consensus 0.32.0", + "sc-executor", + "sc-transaction-pool-api", + "sc-utils", + "sp-api", + "sp-blockchain", + "sp-consensus", "sp-core 28.0.0", - "sp-database 10.0.0", + "sp-database", "sp-externalities 0.25.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-statement-store 10.0.0", + "sp-runtime", + "sp-state-machine", + "sp-statement-store", "sp-storage 19.0.0", - "sp-trie 29.0.0", - "substrate-prometheus-endpoint 0.17.0", -] - -[[package]] -name = "sc-client-db" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4ced79f609a44782874d856cf39d256838957195ef34f4fb8ced90bf4b725d0" -dependencies = [ - "hash-db", - "kvdb", - "kvdb-memorydb", - "kvdb-rocksdb", - "linked-hash-map", - "log", - "parity-db", - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-client-api 25.0.0", - "sc-state-db", - "schnellru", - "sp-arithmetic 20.0.0", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-database 9.0.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", - "sp-trie 26.0.0", -] - -[[package]] -name = "sc-consensus" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86e4100cc8fb3876708e1ec5a7c63af3baa75febd5051beb9ddd1e4835fdfc27" -dependencies = [ - "async-trait", - "futures", - "futures-timer", - "libp2p-identity", - "log", - "mockall", - "parking_lot 0.12.1", - "sc-client-api 25.0.0", - "sc-utils 11.0.0", - "serde", - "sp-api 23.0.0", - "sp-blockchain 25.0.0", - "sp-consensus 0.29.0", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", - "substrate-prometheus-endpoint 0.16.0", - "thiserror", + "sp-trie", + "substrate-prometheus-endpoint", ] [[package]] @@ -11123,16 +9036,16 @@ dependencies = [ "log", "mockall", "parking_lot 0.12.1", - "sc-client-api 28.0.0", - "sc-utils 14.0.0", + "sc-client-api", + "sc-utils", "serde", - "sp-api 26.0.0", - "sp-blockchain 28.0.0", - "sp-consensus 0.32.0", + "sp-api", + "sp-blockchain", + "sp-consensus", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "substrate-prometheus-endpoint 0.17.0", + "sp-runtime", + "sp-state-machine", + "substrate-prometheus-endpoint", "thiserror", ] @@ -11147,61 +9060,38 @@ dependencies = [ "async-trait", "dyn-clone", "finality-grandpa", - "fork-tree 12.0.0", + "fork-tree", "futures", "futures-timer", "log", "parity-scale-codec", "parking_lot 0.12.1", "rand 0.8.5", - "sc-block-builder 0.33.0", - "sc-chain-spec 27.0.0", - "sc-client-api 28.0.0", - "sc-consensus 0.33.0", - "sc-network 0.34.0", - "sc-network-common 0.33.0", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-common", "sc-network-gossip", - "sc-network-sync 0.33.0", - "sc-telemetry 15.0.0", - "sc-transaction-pool-api 28.0.0", - "sc-utils 14.0.0", + "sc-network-sync", + "sc-telemetry", + "sc-transaction-pool-api", + "sc-utils", "serde_json", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", - "sp-blockchain 28.0.0", - "sp-consensus 0.32.0", - "sp-consensus-grandpa 13.0.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "substrate-prometheus-endpoint 0.17.0", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", "thiserror", ] -[[package]] -name = "sc-executor" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225f2ad733bc7234a6638d5203624194824b2f78ab631bc911223f536a66b9c8" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-executor-common 0.26.0", - "sc-executor-wasmtime 0.26.0", - "schnellru", - "sp-api 23.0.0", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-io 27.0.0", - "sp-panic-handler 12.0.0", - "sp-runtime-interface 21.0.0", - "sp-trie 26.0.0", - "sp-version 26.0.0", - "sp-wasm-interface 18.0.0", - "tracing", -] - [[package]] name = "sc-executor" version = "0.32.0" @@ -11210,66 +9100,34 @@ checksum = "3129f8af1f8aa5b05829ffec942feff61163054a536704ba48fdcc2276f6042a" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", - "sc-executor-common 0.29.0", - "sc-executor-wasmtime 0.29.0", + "sc-executor-common", + "sc-executor-wasmtime", "schnellru", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io 30.0.0", - "sp-panic-handler 13.0.0", + "sp-io", + "sp-panic-handler", "sp-runtime-interface 24.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", + "sp-trie", + "sp-version", "sp-wasm-interface 20.0.0", "tracing", ] -[[package]] -name = "sc-executor-common" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "169c1cfe81ba0e0d44ab4ada1600e30b6a9de588c792db73e32a854a6e3e1a87" -dependencies = [ - "sc-allocator 20.0.0", - "sp-maybe-compressed-blob 9.0.0", - "sp-wasm-interface 18.0.0", - "thiserror", - "wasm-instrument", -] - [[package]] name = "sc-executor-common" version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0285a4a14c0d2c1d04380ff83cddd79181ded510c605d36804cb9c6eb3bbf2ae" dependencies = [ - "sc-allocator 23.0.0", - "sp-maybe-compressed-blob 11.0.0", + "sc-allocator", + "sp-maybe-compressed-blob", "sp-wasm-interface 20.0.0", "thiserror", "wasm-instrument", ] -[[package]] -name = "sc-executor-wasmtime" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9167d733e928c528273be63b905ec750cfda85d740453071463da69f7d633bc" -dependencies = [ - "anyhow", - "cfg-if", - "libc", - "log", - "parking_lot 0.12.1", - "rustix 0.36.17", - "sc-allocator 20.0.0", - "sc-executor-common 0.26.0", - "sp-runtime-interface 21.0.0", - "sp-wasm-interface 18.0.0", - "wasmtime", -] - [[package]] name = "sc-executor-wasmtime" version = "0.29.0" @@ -11282,74 +9140,13 @@ dependencies = [ "log", "parking_lot 0.12.1", "rustix 0.36.17", - "sc-allocator 23.0.0", - "sc-executor-common 0.29.0", + "sc-allocator", + "sc-executor-common", "sp-runtime-interface 24.0.0", "sp-wasm-interface 20.0.0", "wasmtime", ] -[[package]] -name = "sc-informant" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7189a0b95fe5d79895a107c6c057bc9351cd9c867552200815199cde25bcdb9d" -dependencies = [ - "ansi_term", - "futures", - "futures-timer", - "log", - "sc-client-api 25.0.0", - "sc-network 0.31.0", - "sc-network-common 0.30.0", - "sp-blockchain 25.0.0", - "sp-runtime 28.0.0", -] - -[[package]] -name = "sc-keystore" -version = "22.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abecdf9778fccc254c0b5e227ea8b90fd59247044a30ad293a068b180427d244" -dependencies = [ - "array-bytes 6.2.2", - "parking_lot 0.12.1", - "serde_json", - "sp-application-crypto 27.0.0", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "thiserror", -] - -[[package]] -name = "sc-mixnet" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53ea71ec60601c18d6adcaf7a62698fc2e886c16dc8fdf8d61b3b76244dea38" -dependencies = [ - "array-bytes 4.2.0", - "arrayvec 0.7.4", - "blake2 0.10.6", - "futures", - "futures-timer", - "libp2p-identity", - "log", - "mixnet", - "multiaddr", - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-client-api 25.0.0", - "sc-network 0.31.0", - "sc-transaction-pool-api 25.0.0", - "sp-api 23.0.0", - "sp-consensus 0.29.0", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "sp-mixnet 0.1.0", - "sp-runtime 28.0.0", - "thiserror", -] - [[package]] name = "sc-mixnet" version = "0.4.0" @@ -11368,58 +9165,16 @@ dependencies = [ "multiaddr", "parity-scale-codec", "parking_lot 0.12.1", - "sc-client-api 28.0.0", - "sc-network 0.34.0", - "sc-transaction-pool-api 28.0.0", - "sp-api 26.0.0", - "sp-consensus 0.32.0", + "sc-client-api", + "sc-network", + "sc-transaction-pool-api", + "sp-api", + "sp-consensus", "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-mixnet 0.4.0", - "sp-runtime 31.0.1", - "thiserror", -] - -[[package]] -name = "sc-network" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01f519592a971199c486d412dbf38ba54096857080bf4b9d29c9ffabcfee3745" -dependencies = [ - "array-bytes 6.2.2", - "async-channel", - "async-trait", - "asynchronous-codec", - "bytes", - "either", - "fnv", - "futures", - "futures-timer", - "ip_network", - "libp2p", - "linked_hash_set", - "log", - "mockall", - "parity-scale-codec", - "parking_lot 0.12.1", - "partial_sort", - "pin-project", - "rand 0.8.5", - "sc-client-api 25.0.0", - "sc-network-common 0.30.0", - "sc-utils 11.0.0", - "serde", - "serde_json", - "smallvec", - "sp-arithmetic 20.0.0", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "substrate-prometheus-endpoint 0.16.0", + "sp-keystore", + "sp-mixnet", + "sp-runtime", "thiserror", - "unsigned-varint", - "wasm-timer", - "zeroize", ] [[package]] @@ -11447,17 +9202,17 @@ dependencies = [ "partial_sort", "pin-project", "rand 0.8.5", - "sc-client-api 28.0.0", - "sc-network-common 0.33.0", - "sc-utils 14.0.0", + "sc-client-api", + "sc-network-common", + "sc-utils", "serde", "serde_json", "smallvec", - "sp-arithmetic 23.0.0", - "sp-blockchain 28.0.0", + "sp-arithmetic", + "sp-blockchain", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "substrate-prometheus-endpoint 0.17.0", + "sp-runtime", + "substrate-prometheus-endpoint", "thiserror", "tokio", "tokio-stream", @@ -11466,32 +9221,11 @@ dependencies = [ "zeroize", ] -[[package]] -name = "sc-network-bitswap" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fe63a55e03d8bc796ff1e94e7fb62a62acfd7a80a47865a97b55c13371c3e05" -dependencies = [ - "async-channel", - "cid", - "futures", - "libp2p-identity", - "log", - "prost", - "prost-build", - "sc-client-api 25.0.0", - "sc-network 0.31.0", - "sp-blockchain 25.0.0", - "sp-runtime 28.0.0", - "thiserror", - "unsigned-varint", -] - [[package]] name = "sc-network-common" -version = "0.30.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d236686d15275e4aa49ca929a06fb6fac28aa70e35ee185b981036c149f9e9d" +checksum = "9b798acc12d5b3120b2d5e8a078fcec39d6732089261136ac31c993235ade917" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -11499,33 +9233,15 @@ dependencies = [ "libp2p-identity", "parity-scale-codec", "prost-build", - "sc-consensus 0.30.0", - "sp-consensus 0.29.0", - "sp-consensus-grandpa 10.0.0", - "sp-runtime 28.0.0", + "sc-consensus", + "sp-consensus", + "sp-consensus-grandpa", + "sp-runtime", ] [[package]] -name = "sc-network-common" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b798acc12d5b3120b2d5e8a078fcec39d6732089261136ac31c993235ade917" -dependencies = [ - "async-trait", - "bitflags 1.3.2", - "futures", - "libp2p-identity", - "parity-scale-codec", - "prost-build", - "sc-consensus 0.33.0", - "sp-consensus 0.32.0", - "sp-consensus-grandpa 13.0.0", - "sp-runtime 31.0.1", -] - -[[package]] -name = "sc-network-gossip" -version = "0.34.0" +name = "sc-network-gossip" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd92792f3a04fcb1f21018c9f8a5d6d438d705a2548ffcdc7730280c667b8386" dependencies = [ @@ -11534,470 +9250,91 @@ dependencies = [ "futures-timer", "libp2p", "log", - "sc-network 0.34.0", - "sc-network-common 0.33.0", - "sc-network-sync 0.33.0", + "sc-network", + "sc-network-common", + "sc-network-sync", "schnellru", - "sp-runtime 31.0.1", - "substrate-prometheus-endpoint 0.17.0", + "sp-runtime", + "substrate-prometheus-endpoint", "tracing", ] [[package]] -name = "sc-network-light" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac888fd720ef8bb2ff7d2b7f7b2e54d17bb85a417cf1e1b6f0f64f7e644936d" -dependencies = [ - "array-bytes 6.2.2", - "async-channel", - "futures", - "libp2p-identity", - "log", - "parity-scale-codec", - "prost", - "prost-build", - "sc-client-api 25.0.0", - "sc-network 0.31.0", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "thiserror", -] - -[[package]] -name = "sc-network-sync" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10c697aa8f52cf194b9f00113a7d0d3ce5d1456bedd6169a9caae10737f02907" -dependencies = [ - "array-bytes 6.2.2", - "async-channel", - "async-trait", - "fork-tree 11.0.0", - "futures", - "futures-timer", - "libp2p", - "log", - "mockall", - "parity-scale-codec", - "prost", - "prost-build", - "sc-client-api 25.0.0", - "sc-consensus 0.30.0", - "sc-network 0.31.0", - "sc-network-common 0.30.0", - "sc-utils 11.0.0", - "schnellru", - "smallvec", - "sp-arithmetic 20.0.0", - "sp-blockchain 25.0.0", - "sp-consensus 0.29.0", - "sp-consensus-grandpa 10.0.0", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "substrate-prometheus-endpoint 0.16.0", - "thiserror", - "tokio-stream", -] - -[[package]] -name = "sc-network-sync" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4c92fd35c49f748abf0bf420e1e99aa76b0f48ab43c183ea5dacef951116d7e" -dependencies = [ - "array-bytes 6.2.2", - "async-channel", - "async-trait", - "fork-tree 12.0.0", - "futures", - "futures-timer", - "libp2p", - "log", - "mockall", - "parity-scale-codec", - "prost", - "prost-build", - "sc-client-api 28.0.0", - "sc-consensus 0.33.0", - "sc-network 0.34.0", - "sc-network-common 0.33.0", - "sc-utils 14.0.0", - "schnellru", - "smallvec", - "sp-arithmetic 23.0.0", - "sp-blockchain 28.0.0", - "sp-consensus 0.32.0", - "sp-consensus-grandpa 13.0.0", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "substrate-prometheus-endpoint 0.17.0", - "thiserror", - "tokio", - "tokio-stream", -] - -[[package]] -name = "sc-network-transactions" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7c9bfc7b58ce229d1512158b8f13dc849ec24857d1c29a41a867fb8afb5c09" -dependencies = [ - "array-bytes 6.2.2", - "futures", - "libp2p", - "log", - "parity-scale-codec", - "sc-network 0.31.0", - "sc-network-common 0.30.0", - "sc-utils 11.0.0", - "sp-consensus 0.29.0", - "sp-runtime 28.0.0", - "substrate-prometheus-endpoint 0.16.0", -] - -[[package]] -name = "sc-rpc" -version = "26.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb277280b6b3519e4a2e693b75d4ca516ebb4a928162e6a1791b217b2be60c9f" -dependencies = [ - "futures", - "jsonrpsee", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-block-builder 0.30.0", - "sc-chain-spec 24.0.0", - "sc-client-api 25.0.0", - "sc-mixnet 0.1.0", - "sc-rpc-api 0.30.0", - "sc-tracing", - "sc-transaction-pool-api 25.0.0", - "sc-utils 11.0.0", - "serde_json", - "sp-api 23.0.0", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "sp-offchain 23.0.0", - "sp-rpc 23.0.0", - "sp-runtime 28.0.0", - "sp-session 24.0.0", - "sp-statement-store 7.0.0", - "sp-version 26.0.0", - "tokio", -] - -[[package]] -name = "sc-rpc-api" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def499ac717db8442fe18543e52330d5f105027b666df73c0b38e81e9105078b" -dependencies = [ - "jsonrpsee", - "parity-scale-codec", - "sc-chain-spec 24.0.0", - "sc-mixnet 0.1.0", - "sc-transaction-pool-api 25.0.0", - "scale-info", - "serde", - "serde_json", - "sp-core 25.0.0", - "sp-rpc 23.0.0", - "sp-runtime 28.0.0", - "sp-version 26.0.0", - "thiserror", -] - -[[package]] -name = "sc-rpc-api" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630e81a436f32487452ae1a57ad0ba31f320ddf864bb7faefd7490fe16b3e139" -dependencies = [ - "jsonrpsee", - "parity-scale-codec", - "sc-chain-spec 27.0.0", - "sc-mixnet 0.4.0", - "sc-transaction-pool-api 28.0.0", - "scale-info", - "serde", - "serde_json", - "sp-core 28.0.0", - "sp-rpc 26.0.0", - "sp-runtime 31.0.1", - "sp-version 29.0.0", - "thiserror", -] - -[[package]] -name = "sc-rpc-server" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8083e1b026dcf397f8c1122b3fba6cc744c6962996df6a30e0fb75223f7637" -dependencies = [ - "http", - "jsonrpsee", - "log", - "serde_json", - "substrate-prometheus-endpoint 0.16.0", - "tokio", - "tower", - "tower-http", -] - -[[package]] -name = "sc-rpc-spec-v2" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "198ea9287111b4060ce1d70dce99804b99d1a92b5fb23a79d94bf0cb460ca3ce" -dependencies = [ - "array-bytes 6.2.2", - "futures", - "futures-util", - "hex", - "jsonrpsee", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "sc-chain-spec 24.0.0", - "sc-client-api 25.0.0", - "sc-transaction-pool-api 25.0.0", - "sc-utils 11.0.0", - "serde", - "sp-api 23.0.0", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-version 26.0.0", - "thiserror", - "tokio", - "tokio-stream", -] - -[[package]] -name = "sc-service" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3623ae5bd7b089da9796a3f1edd974c94f34dd4b4b527146662ef409ae9cd38c" -dependencies = [ - "async-trait", - "directories", - "exit-future", - "futures", - "futures-timer", - "jsonrpsee", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "pin-project", - "rand 0.8.5", - "sc-block-builder 0.30.0", - "sc-chain-spec 24.0.0", - "sc-client-api 25.0.0", - "sc-client-db", - "sc-consensus 0.30.0", - "sc-executor 0.29.0", - "sc-informant", - "sc-keystore", - "sc-network 0.31.0", - "sc-network-bitswap", - "sc-network-common 0.30.0", - "sc-network-light", - "sc-network-sync 0.30.0", - "sc-network-transactions", - "sc-rpc", - "sc-rpc-server", - "sc-rpc-spec-v2", - "sc-sysinfo", - "sc-telemetry 12.0.0", - "sc-tracing", - "sc-transaction-pool", - "sc-transaction-pool-api 25.0.0", - "sc-utils 11.0.0", - "serde", - "serde_json", - "sp-api 23.0.0", - "sp-blockchain 25.0.0", - "sp-consensus 0.29.0", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", - "sp-session 24.0.0", - "sp-state-machine 0.32.0", - "sp-storage 17.0.0", - "sp-transaction-pool 23.0.0", - "sp-transaction-storage-proof", - "sp-trie 26.0.0", - "sp-version 26.0.0", - "static_init", - "substrate-prometheus-endpoint 0.16.0", - "tempfile", - "thiserror", - "tokio", - "tracing", - "tracing-futures", -] - -[[package]] -name = "sc-state-db" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3635fe572adfe796886e18910c8b94f7ce67f9ae3e2c161176e122ddf0baa7e4" -dependencies = [ - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "sp-core 25.0.0", -] - -[[package]] -name = "sc-sysinfo" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60967710b85e650652832df73915b64c315f7b437e53c4635bd26106d6d05c21" -dependencies = [ - "futures", - "libc", - "log", - "rand 0.8.5", - "rand_pcg", - "regex", - "sc-telemetry 12.0.0", - "serde", - "serde_json", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-std 12.0.0", -] - -[[package]] -name = "sc-telemetry" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28e214e4d46cac02321bc3dc6fd72f019ac10819d1ac8f24f6935a4ae74ef273" -dependencies = [ - "chrono", - "futures", - "libp2p", - "log", - "parking_lot 0.12.1", - "pin-project", - "rand 0.8.5", - "sc-utils 11.0.0", - "serde", - "serde_json", - "thiserror", - "wasm-timer", -] - -[[package]] -name = "sc-telemetry" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96841bdc22e1ad5931e6cb7557b06ef33aeda7f5eef3864653359840f9fd025a" -dependencies = [ - "chrono", - "futures", - "libp2p", - "log", - "parking_lot 0.12.1", - "pin-project", - "rand 0.8.5", - "sc-utils 14.0.0", - "serde", - "serde_json", - "thiserror", - "wasm-timer", -] - -[[package]] -name = "sc-tracing" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bcd745ea216ba0c0a344cff2c41b12e27846d5fca4b28f56ff77e1d3ff3634" -dependencies = [ - "ansi_term", - "atty", - "chrono", - "lazy_static", - "libc", - "log", - "parking_lot 0.12.1", - "regex", - "rustc-hash", - "sc-client-api 25.0.0", - "sc-tracing-proc-macro", - "serde", - "sp-api 23.0.0", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-rpc 23.0.0", - "sp-runtime 28.0.0", - "sp-tracing 14.0.0", - "thiserror", - "tracing", - "tracing-log", - "tracing-subscriber", -] - -[[package]] -name = "sc-tracing-proc-macro" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c4ae9e4f957d7274ac6b59d667b66262caf6482dbb1b63f1c370528626b1272" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "sc-transaction-pool" -version = "25.0.0" +name = "sc-network-sync" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f6db45a057a619670e07deefb4e69aab83386f076363db424907da2b2e82590" +checksum = "c4c92fd35c49f748abf0bf420e1e99aa76b0f48ab43c183ea5dacef951116d7e" dependencies = [ + "array-bytes 6.2.2", + "async-channel", "async-trait", + "fork-tree", "futures", "futures-timer", - "linked-hash-map", + "libp2p", "log", + "mockall", "parity-scale-codec", - "parking_lot 0.12.1", - "sc-client-api 25.0.0", - "sc-transaction-pool-api 25.0.0", - "sc-utils 11.0.0", + "prost", + "prost-build", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-common", + "sc-utils", + "schnellru", + "smallvec", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-grandpa", + "sp-core 28.0.0", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror", + "tokio", + "tokio-stream", +] + +[[package]] +name = "sc-rpc-api" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630e81a436f32487452ae1a57ad0ba31f320ddf864bb7faefd7490fe16b3e139" +dependencies = [ + "jsonrpsee", + "parity-scale-codec", + "sc-chain-spec", + "sc-mixnet", + "sc-transaction-pool-api", + "scale-info", "serde", - "sp-api 23.0.0", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-tracing 14.0.0", - "sp-transaction-pool 23.0.0", - "substrate-prometheus-endpoint 0.16.0", + "serde_json", + "sp-core 28.0.0", + "sp-rpc", + "sp-runtime", + "sp-version", "thiserror", ] [[package]] -name = "sc-transaction-pool-api" -version = "25.0.0" +name = "sc-telemetry" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1491607f296bb8cce09a5eb3a03320c60ad52bb8120127b26f69c32bcaccd8f2" +checksum = "96841bdc22e1ad5931e6cb7557b06ef33aeda7f5eef3864653359840f9fd025a" dependencies = [ - "async-trait", + "chrono", "futures", + "libp2p", "log", - "parity-scale-codec", + "parking_lot 0.12.1", + "pin-project", + "rand 0.8.5", + "sc-utils", "serde", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-runtime 28.0.0", + "serde_json", "thiserror", + "wasm-timer", ] [[package]] @@ -12011,28 +9348,12 @@ dependencies = [ "log", "parity-scale-codec", "serde", - "sp-blockchain 28.0.0", + "sp-blockchain", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "thiserror", ] -[[package]] -name = "sc-utils" -version = "11.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a4769c82dde62b9243dcc166be52e0c5d2d61cf2599923271118d9c8b997b1" -dependencies = [ - "async-channel", - "futures", - "futures-timer", - "lazy_static", - "log", - "parking_lot 0.12.1", - "prometheus", - "sp-arithmetic 20.0.0", -] - [[package]] name = "sc-utils" version = "14.0.0" @@ -12046,7 +9367,7 @@ dependencies = [ "log", "parking_lot 0.12.1", "prometheus", - "sp-arithmetic 23.0.0", + "sp-arithmetic", ] [[package]] @@ -12392,21 +9713,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "signal-hook-registry" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" -dependencies = [ - "libc", -] - [[package]] name = "signature" version = "2.2.0" @@ -12436,12 +9742,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "620a1d43d70e142b1d46a929af51d44f383db9c7a2ec122de2cd992ccfcf3c18" -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - [[package]] name = "slab" version = "0.4.9" @@ -12457,19 +9757,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" -[[package]] -name = "slot-range-helper" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e902c6b7e8f86718aee7989d6c8ea851d9772cb54a3389f2d729d8df41167ec" -dependencies = [ - "enumn", - "parity-scale-codec", - "paste", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "slot-range-helper" version = "7.0.0" @@ -12479,7 +9766,7 @@ dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -12489,12 +9776,6 @@ version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" -[[package]] -name = "snap" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" - [[package]] name = "snow" version = "0.9.4" @@ -12518,9 +9799,9 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dc8ddfb7bec2140079a788c312010f793d75fde1f996128517b0c14270296a4" dependencies = [ - "frame-support 28.0.0", + "frame-support", "log", - "staging-xcm 7.0.0", + "staging-xcm", ] [[package]] @@ -12560,28 +9841,6 @@ dependencies = [ "sha-1", ] -[[package]] -name = "sp-api" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f582f92ce47c86e4ffffe81fdd5120fea7c850dc0800653a7fa203bcc1532335" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "scale-info", - "sp-api-proc-macro 12.0.0", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-metadata-ir 0.4.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", - "sp-std 12.0.0", - "sp-trie 26.0.0", - "sp-version 26.0.0", - "thiserror", -] - [[package]] name = "sp-api" version = "26.0.0" @@ -12592,33 +9851,18 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-api-proc-macro 15.0.0", + "sp-api-proc-macro", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-metadata-ir 0.6.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-metadata-ir", + "sp-runtime", + "sp-state-machine", "sp-std 14.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", + "sp-trie", + "sp-version", "thiserror", ] -[[package]] -name = "sp-api-proc-macro" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a896941b2d27365a6f937ebce11e36d55132dc32104f6a48b4cd765b55efd252" -dependencies = [ - "Inflector", - "blake2 0.10.6", - "expander 2.0.0", - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "sp-api-proc-macro" version = "15.0.0" @@ -12627,27 +9871,13 @@ checksum = "0694be2891593450916d6b53a274d234bccbc86bcbada36ba23fc356989070c7" dependencies = [ "Inflector", "blake2 0.10.6", - "expander 2.0.0", + "expander", "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 2.0.48", ] -[[package]] -name = "sp-application-crypto" -version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a93da025616ab59639f8e378df579c5aaa2c8b9999f328a0239156a57c991b53" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-std 12.0.0", -] - [[package]] name = "sp-application-crypto" version = "30.0.0" @@ -12658,25 +9888,10 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-std 14.0.0", ] -[[package]] -name = "sp-arithmetic" -version = "20.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f80b5c16afb61dde1037a469d570adcc686440036429e50abe2301ba9d61aad5" -dependencies = [ - "integer-sqrt", - "num-traits", - "parity-scale-codec", - "scale-info", - "serde", - "sp-std 12.0.0", - "static_assertions", -] - [[package]] name = "sp-arithmetic" version = "23.0.0" @@ -12692,20 +9907,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "sp-authority-discovery" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e204d85bad6f02a5ae8fbba83c365e20459e979fd69db5575ba4b3ea1025ab3c" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 23.0.0", - "sp-application-crypto 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "sp-authority-discovery" version = "26.0.0" @@ -12714,55 +9915,24 @@ checksum = "22a740c05e9096eb17e93b5ab6aa5fe8ce0c9b4243777826d92133b3dd682e14" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-application-crypto", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "sp-block-builder" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cd16df3d1cdad862d3e764f10f7675876b011e032907423fdfa377ae2ec8575" -dependencies = [ - "sp-api 23.0.0", - "sp-inherents 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "sp-block-builder" version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d2aa0943101367b955f5806c3ecea2e23df7c90059708107470dbfb9d3d7ab" dependencies = [ - "sp-api 26.0.0", - "sp-inherents 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-inherents", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "sp-blockchain" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4932b97cde61874f395bab9b02443e3bd2046943abb280b63f83da9d0b623ea7" -dependencies = [ - "futures", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "schnellru", - "sp-api 23.0.0", - "sp-consensus 0.29.0", - "sp-database 9.0.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", - "thiserror", -] - [[package]] name = "sp-blockchain" version = "28.0.0" @@ -12774,27 +9944,11 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", "schnellru", - "sp-api 26.0.0", - "sp-consensus 0.32.0", - "sp-database 10.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "thiserror", -] - -[[package]] -name = "sp-consensus" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c5d7170fb7cfb18024ef7eeb40d272d22b9c3587d85cde2d091e8463b397f06" -dependencies = [ - "async-trait", - "futures", - "log", - "sp-core 25.0.0", - "sp-inherents 23.0.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", + "sp-api", + "sp-consensus", + "sp-database", + "sp-runtime", + "sp-state-machine", "thiserror", ] @@ -12808,30 +9962,12 @@ dependencies = [ "futures", "log", "sp-core 28.0.0", - "sp-inherents 26.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-inherents", + "sp-runtime", + "sp-state-machine", "thiserror", ] -[[package]] -name = "sp-consensus-aura" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643a7c486a645f398d219d1fbcc8a416cad5018164a212fefde5c2ef00a182e4" -dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "sp-api 23.0.0", - "sp-application-crypto 27.0.0", - "sp-consensus-slots 0.29.0", - "sp-inherents 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-timestamp 23.0.0", -] - [[package]] name = "sp-consensus-aura" version = "0.32.0" @@ -12841,33 +9977,13 @@ dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-consensus-slots 0.32.0", - "sp-inherents 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-application-crypto", + "sp-consensus-slots", + "sp-inherents", + "sp-runtime", "sp-std 14.0.0", - "sp-timestamp 26.0.0", -] - -[[package]] -name = "sp-consensus-babe" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "268f9b2e36d4e136c09ad87876cdcfd7ff734cb5917f333fefebff248f95a24f" -dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api 23.0.0", - "sp-application-crypto 27.0.0", - "sp-consensus-slots 0.29.0", - "sp-core 25.0.0", - "sp-inherents 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-timestamp 23.0.0", + "sp-timestamp", ] [[package]] @@ -12880,14 +9996,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-consensus-slots 0.32.0", + "sp-api", + "sp-application-crypto", + "sp-consensus-slots", "sp-core 28.0.0", - "sp-inherents 26.0.0", - "sp-runtime 31.0.1", + "sp-inherents", + "sp-runtime", "sp-std 14.0.0", - "sp-timestamp 26.0.0", + "sp-timestamp", ] [[package]] @@ -12900,35 +10016,16 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-mmr-primitives", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", "strum", ] -[[package]] -name = "sp-consensus-grandpa" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28bbee685900110419913f281ce0f29457fbc17418f00d15f0212c8043aba167" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api 23.0.0", - "sp-application-crypto 27.0.0", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "sp-consensus-grandpa" version = "13.0.0" @@ -12940,27 +10037,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "sp-consensus-slots" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "895b0c176d4eead833ddee5251d3cccbaeb0191ca3f33f84b11d347bebc6e21f" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-std 12.0.0", - "sp-timestamp 23.0.0", -] - [[package]] name = "sp-consensus-slots" version = "0.32.0" @@ -12971,7 +10055,7 @@ dependencies = [ "scale-info", "serde", "sp-std 14.0.0", - "sp-timestamp 26.0.0", + "sp-timestamp", ] [[package]] @@ -13039,7 +10123,7 @@ dependencies = [ "hash-db", "hash256-std-hasher", "impl-serde", - "itertools 0.10.5", + "itertools", "libsecp256k1", "log", "merlin 3.0.0", @@ -13095,36 +10179,15 @@ dependencies = [ "twox-hash", ] -[[package]] -name = "sp-core-hashing-proc-macro" -version = "13.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ce3e6931303769197da81facefa86159fa1085dcd96ecb7e7407b5b93582a0" -dependencies = [ - "quote", - "sp-core-hashing 13.0.0", - "syn 2.0.48", -] - [[package]] name = "sp-core-hashing-proc-macro" version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7527f8dda7667c41009b2cd0efaddcb81709b9741bd5ee6d17b11bad835cc698" dependencies = [ - "quote", - "sp-core-hashing 15.0.0", - "syn 2.0.48", -] - -[[package]] -name = "sp-database" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c6e8c710d6a71512af6f42d9dba9c3d1f6ad793846480babf459bbde3d60a94" -dependencies = [ - "kvdb", - "parking_lot 0.12.1", + "quote", + "sp-core-hashing 15.0.0", + "syn 2.0.48", ] [[package]] @@ -13183,18 +10246,6 @@ dependencies = [ "sp-storage 19.0.0", ] -[[package]] -name = "sp-genesis-builder" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0cb71d40ad47e40bdcce5ae5531c7d7ba579cd495a0e0413642fb063fa66f84" -dependencies = [ - "serde_json", - "sp-api 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "sp-genesis-builder" version = "0.7.0" @@ -13202,26 +10253,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfdc79df83221ec5a279cbbd08fd6f8be164b9b081c8e84593ce2c2ebd5d66c0" dependencies = [ "serde_json", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "sp-inherents" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604229aa145be0cff853b47ffed8bc2c62eb08ec6974d6307b9a559c378e6dc5" -dependencies = [ - "async-trait", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "thiserror", -] - [[package]] name = "sp-inherents" version = "26.0.0" @@ -13232,36 +10268,11 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", "thiserror", ] -[[package]] -name = "sp-io" -version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ced350da15e8ba3a106206840acc42a6d3eb0d7e8bf7aa43ab00eac0bdf956f" -dependencies = [ - "bytes", - "ed25519-dalek", - "libsecp256k1", - "log", - "parity-scale-codec", - "rustversion", - "secp256k1 0.24.3", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-keystore 0.31.0", - "sp-runtime-interface 21.0.0", - "sp-state-machine 0.32.0", - "sp-std 12.0.0", - "sp-tracing 14.0.0", - "sp-trie 26.0.0", - "tracing", - "tracing-core", -] - [[package]] name = "sp-io" version = "30.0.0" @@ -13277,28 +10288,16 @@ dependencies = [ "secp256k1 0.28.1", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-keystore 0.34.0", + "sp-keystore", "sp-runtime-interface 24.0.0", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-std 14.0.0", "sp-tracing 16.0.0", - "sp-trie 29.0.0", + "sp-trie", "tracing", "tracing-core", ] -[[package]] -name = "sp-keyring" -version = "28.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "655ec0b35cb9cb9029fb323aa676b07d58deb872cecc7566e50278409a00ee95" -dependencies = [ - "lazy_static", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "strum", -] - [[package]] name = "sp-keyring" version = "31.0.0" @@ -13306,23 +10305,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98165ce7c625a8cdb88d39c6bbd56fe8b32ada64ed0894032beba99795f557da" dependencies = [ "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "strum", ] -[[package]] -name = "sp-keystore" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8ec5ebbba70bee83d79c3fe5e49f12df0a4bb6029858ddf9a15eea7539a592" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.1", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "thiserror", -] - [[package]] name = "sp-keystore" version = "0.34.0" @@ -13336,16 +10322,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "sp-maybe-compressed-blob" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8846768f036429227e49f6ab523fbee4bc6edfee278a361bf27999590fe020d4" -dependencies = [ - "thiserror", - "zstd 0.12.4", -] - [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" @@ -13356,18 +10332,6 @@ dependencies = [ "zstd 0.12.4", ] -[[package]] -name = "sp-metadata-ir" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca9ff0e522a74725ac92f009d38deeb12e880f5296afbd78a6c6b970b773278" -dependencies = [ - "frame-metadata", - "parity-scale-codec", - "scale-info", - "sp-std 12.0.0", -] - [[package]] name = "sp-metadata-ir" version = "0.6.0" @@ -13380,19 +10344,6 @@ dependencies = [ "sp-std 14.0.0", ] -[[package]] -name = "sp-mixnet" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf61f28ca97aab6c21a3c6e0ed496e60d505e5de1f43fd4ba748c9afaa4fc85" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 23.0.0", - "sp-application-crypto 27.0.0", - "sp-std 12.0.0", -] - [[package]] name = "sp-mixnet" version = "0.4.0" @@ -13401,8 +10352,8 @@ checksum = "85ed83d2f899484bde61c72cbae6edfb25708d43e6b19934e206f3c706df67df" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-std 14.0.0", ] @@ -13417,29 +10368,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", "sp-debug-derive 14.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", "thiserror", ] -[[package]] -name = "sp-npos-elections" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ee3536d7fd990c30864ca545d7bdbee02dc66a92ac2a7a66ab4e21521992a7b" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "sp-npos-elections" version = "26.0.0" @@ -13449,43 +10385,21 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "sp-offchain" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9310227f043ed99877b0449a683025a7461431a00995dcd6ef423a273d0fd85d" -dependencies = [ - "sp-api 23.0.0", - "sp-core 25.0.0", - "sp-runtime 28.0.0", -] - [[package]] name = "sp-offchain" version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb45b3e397dc9c7b81cb2d8d641d0bcb1f525b60e83835783413ba73b3f61ac9" dependencies = [ - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", - "sp-runtime 31.0.1", -] - -[[package]] -name = "sp-panic-handler" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00e40857ed3e0187f145b037c733545c5633859f1bd1d1b09deb52805fa696a" -dependencies = [ - "backtrace", - "lazy_static", - "regex", + "sp-runtime", ] [[package]] @@ -13499,17 +10413,6 @@ dependencies = [ "regex", ] -[[package]] -name = "sp-rpc" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51867fea921f54bbaa2bf505f373559b5f3b80e8d7f38ecb9677f0d3795a3e6a" -dependencies = [ - "rustc-hash", - "serde", - "sp-core 25.0.0", -] - [[package]] name = "sp-rpc" version = "26.0.0" @@ -13521,29 +10424,6 @@ dependencies = [ "sp-core 28.0.0", ] -[[package]] -name = "sp-runtime" -version = "28.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9c40ff7303e62219b55635e5245d963358cb77d6916250991ebcb82c0be2c6" -dependencies = [ - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "paste", - "rand 0.8.5", - "scale-info", - "serde", - "sp-application-crypto 27.0.0", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-std 12.0.0", - "sp-weights 24.0.0", -] - [[package]] name = "sp-runtime" version = "31.0.1" @@ -13561,12 +10441,12 @@ dependencies = [ "scale-info", "serde", "simple-mermaid", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-application-crypto", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-std 14.0.0", - "sp-weights 27.0.0", + "sp-weights", ] [[package]] @@ -13627,29 +10507,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfaf6e85b2ec12a4b99cd6d8d57d083e30c94b7f1b0d8f93547121495aae6f0c" dependencies = [ "Inflector", - "expander 2.0.0", + "expander", "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 2.0.48", ] -[[package]] -name = "sp-session" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248dd8f49aa96b56bf0a7d513691ddb4194f9359fdb93e94397eabdef1036085" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 23.0.0", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", - "sp-staking 23.0.0", - "sp-std 12.0.0", -] - [[package]] name = "sp-session" version = "27.0.0" @@ -13658,29 +10522,14 @@ checksum = "8048981db53d4f5171e6003f5e11fbfc27a8c196b0827619907a4214746a623b" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "sp-staking 26.0.0", + "sp-keystore", + "sp-runtime", + "sp-staking", "sp-std 14.0.0", ] -[[package]] -name = "sp-staking" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee0feed0137234598bd1f76d0b468c585ea16619ea9ed1acbba82dd24ac79788" -dependencies = [ - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "sp-staking" version = "26.0.0" @@ -13692,32 +10541,10 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "sp-state-machine" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96e087fa4430befd2047b61d912c9d6fa4eaed408c4b58b46c6e9acd7965f2d3" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.8.5", - "smallvec", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-panic-handler 12.0.0", - "sp-std 12.0.0", - "sp-trie 26.0.0", - "thiserror", - "tracing", - "trie-db", -] - [[package]] name = "sp-state-machine" version = "0.35.0" @@ -13732,39 +10559,14 @@ dependencies = [ "smallvec", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-panic-handler 13.0.0", + "sp-panic-handler", "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-trie", "thiserror", "tracing", "trie-db", ] -[[package]] -name = "sp-statement-store" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8654bcd37602b1811414050d34d14f543873bd4e64e50d210a0116b660c600" -dependencies = [ - "aes-gcm", - "curve25519-dalek 4.1.2", - "ed25519-dalek", - "hkdf", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sha2 0.10.8", - "sp-api 23.0.0", - "sp-application-crypto 27.0.0", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-runtime 28.0.0", - "sp-runtime-interface 21.0.0", - "sp-std 12.0.0", - "thiserror", - "x25519-dalek 2.0.0", -] - [[package]] name = "sp-statement-store" version = "10.0.0" @@ -13779,11 +10581,11 @@ dependencies = [ "rand 0.8.5", "scale-info", "sha2 0.10.8", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-runtime-interface 24.0.0", "sp-std 14.0.0", "thiserror", @@ -13830,20 +10632,6 @@ dependencies = [ "sp-std 14.0.0", ] -[[package]] -name = "sp-timestamp" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "004a7f453240db80b2967c0e1c6411836efc7daa7afae98fd16202caa51460e0" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "thiserror", -] - [[package]] name = "sp-timestamp" version = "26.0.0" @@ -13852,8 +10640,8 @@ checksum = "347eaddd5b07856ccec69ac3300e72e392a5efc3aea5fb4b7230888a0b447b9e" dependencies = [ "async-trait", "parity-scale-codec", - "sp-inherents 26.0.0", - "sp-runtime 31.0.1", + "sp-inherents", + "sp-runtime", "sp-std 14.0.0", "thiserror", ] @@ -13886,63 +10674,12 @@ dependencies = [ [[package]] name = "sp-transaction-pool" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7cd2afe89c474339d15d06e73639171ebe4d280be6904d9349072103da21427" -dependencies = [ - "sp-api 23.0.0", - "sp-runtime 28.0.0", -] - -[[package]] -name = "sp-transaction-pool" -version = "26.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97c4052e69eacdb7a411e050c56a838f460b8a879071125451e9bb2d4814df34" -dependencies = [ - "sp-api 26.0.0", - "sp-runtime 31.0.1", -] - -[[package]] -name = "sp-transaction-storage-proof" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ae7c4954431b8479f7b2b6b82f0551cc360a1ee59b6a5276eef86a1099eaed" -dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-inherents 23.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-trie 26.0.0", -] - -[[package]] -name = "sp-trie" version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e359b358263cc322c3f678c272a3a519621d9853dcfa1374dfcbdb5f54c6f85" +checksum = "97c4052e69eacdb7a411e050c56a838f460b8a879071125451e9bb2d4814df34" dependencies = [ - "ahash 0.8.8", - "hash-db", - "hashbrown 0.13.2", - "lazy_static", - "memory-db", - "nohash-hasher", - "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.8.5", - "scale-info", - "schnellru", - "sp-core 25.0.0", - "sp-std 12.0.0", - "thiserror", - "tracing", - "trie-db", - "trie-root", + "sp-api", + "sp-runtime", ] [[package]] @@ -13970,24 +10707,6 @@ dependencies = [ "trie-root", ] -[[package]] -name = "sp-version" -version = "26.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e93da332eba3cb59a65f128da5edd5c70e1475692b45470104e7465b1278471" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "parity-wasm", - "scale-info", - "serde", - "sp-core-hashing-proc-macro 13.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-version-proc-macro 12.0.0", - "thiserror", -] - [[package]] name = "sp-version" version = "29.0.0" @@ -13999,25 +10718,13 @@ dependencies = [ "parity-wasm", "scale-info", "serde", - "sp-core-hashing-proc-macro 15.0.0", - "sp-runtime 31.0.1", + "sp-core-hashing-proc-macro", + "sp-runtime", "sp-std 14.0.0", - "sp-version-proc-macro 13.0.0", + "sp-version-proc-macro", "thiserror", ] -[[package]] -name = "sp-version-proc-macro" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49535d8c7184dab46d15639c68374a30cbb1534e392fa09a1ebb059a993ad436" -dependencies = [ - "parity-scale-codec", - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "sp-version-proc-macro" version = "13.0.0" @@ -14058,22 +10765,6 @@ dependencies = [ "wasmtime", ] -[[package]] -name = "sp-weights" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "751676c1263e7f3600af16bad26a7978a816bc532676fe05eafa23b862c05b9e" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "smallvec", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-debug-derive 12.0.0", - "sp-std 12.0.0", -] - [[package]] name = "sp-weights" version = "27.0.0" @@ -14085,7 +10776,7 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-debug-derive 14.0.0", "sp-std 14.0.0", ] @@ -14150,41 +10841,41 @@ version = "1.0.0" dependencies = [ "binary-merkle-tree", "bitvec", - "frame-benchmarking 28.0.0", - "frame-election-provider-support 28.0.0", - "frame-executive 28.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-executive", "frame-remote-externalities", - "frame-support 28.0.0", - "frame-system 28.0.0", - "frame-system-benchmarking 28.0.0", - "frame-system-rpc-runtime-api 26.0.0", - "frame-try-runtime 0.34.0", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex-literal", "kusama-runtime-constants", "log", - "pallet-asset-rate 7.0.0", - "pallet-authority-discovery 28.0.0", - "pallet-authorship 28.0.0", - "pallet-babe 28.0.0", + "pallet-asset-rate", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", "pallet-bags-list", - "pallet-balances 28.0.0", + "pallet-balances", "pallet-beefy", "pallet-beefy-mmr", "pallet-bounties", "pallet-child-bounties", - "pallet-collective 28.0.0", + "pallet-collective", "pallet-conviction-voting", "pallet-democracy", - "pallet-election-provider-multi-phase 27.0.0", - "pallet-election-provider-support-benchmarking 27.0.0", + "pallet-election-provider-multi-phase", + "pallet-election-provider-support-benchmarking", "pallet-elections-phragmen", - "pallet-fast-unstake 27.0.0", + "pallet-fast-unstake", "pallet-grandpa", "pallet-identity", "pallet-im-online", "pallet-indices", - "pallet-membership 28.0.0", - "pallet-message-queue 31.0.0", + "pallet-membership", + "pallet-message-queue", "pallet-mmr", "pallet-multisig", "pallet-nis", @@ -14194,119 +10885,86 @@ dependencies = [ "pallet-offences", "pallet-offences-benchmarking", "pallet-preimage", - "pallet-proxy 28.0.0", + "pallet-proxy", "pallet-ranked-collective", "pallet-recovery", "pallet-referenda", - "pallet-scheduler 29.0.0", - "pallet-session 28.0.0", + "pallet-scheduler", + "pallet-session", "pallet-session-benchmarking", "pallet-society", - "pallet-staking 28.0.0", + "pallet-staking", "pallet-staking-runtime-api", "pallet-state-trie-migration", - "pallet-timestamp 27.0.0", + "pallet-timestamp", "pallet-tips", - "pallet-transaction-payment 28.0.0", - "pallet-transaction-payment-rpc-runtime-api 28.0.0", - "pallet-treasury 27.0.0", - "pallet-utility 28.0.0", - "pallet-vesting 28.0.0", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", "pallet-whitelist", - "pallet-xcm 7.0.0", - "pallet-xcm-benchmarks 7.0.3", + "pallet-xcm", + "pallet-xcm-benchmarks", "parity-scale-codec", - "polkadot-primitives 7.0.0", - "polkadot-runtime-common 7.0.0", - "polkadot-runtime-parachains 7.0.0", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", "rustc-hex", "scale-info", "separator", "serde", "serde_derive", "serde_json", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", - "sp-authority-discovery 26.0.0", - "sp-block-builder 26.0.0", - "sp-consensus-babe 0.32.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", "sp-consensus-beefy", "sp-core 28.0.0", "sp-debug-derive 14.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-keyring 31.0.0", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", "sp-mmr-primitives", - "sp-npos-elections 26.0.0", - "sp-offchain 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", - "sp-staking 26.0.0", + "sp-npos-elections", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", - "sp-transaction-pool 26.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", + "sp-transaction-pool", + "sp-trie", + "sp-version", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", "static_assertions", - "substrate-wasm-builder 17.0.0", + "substrate-wasm-builder", "tiny-keccak", "tokio", ] -[[package]] -name = "staging-parachain-info" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1bcf863664ca5708d92894fc30d2c6606c7dbb7d7cfcf43b9ae69d5b83f4fb" -dependencies = [ - "cumulus-primitives-core 0.4.0", - "frame-support 25.0.0", - "frame-system 25.0.0", - "parity-scale-codec", - "scale-info", - "sp-runtime 28.0.0", - "sp-std 12.0.0", -] - [[package]] name = "staging-parachain-info" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad554ffd27fbcafd82e234d7e7188e458e51bfe2b3b5000dd236dce762e3e95f" dependencies = [ - "cumulus-primitives-core 0.7.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "cumulus-primitives-core", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] -[[package]] -name = "staging-xcm" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abd0c2e401a1e264379131c27676bc65c9631aaa508044bc04d8ce60a7d8524" -dependencies = [ - "bounded-collections", - "derivative", - "environmental", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-weights 24.0.0", - "xcm-procedural 4.0.0", -] - [[package]] name = "staging-xcm" version = "7.0.0" @@ -14322,31 +10980,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-weights 27.0.0", - "xcm-procedural 7.0.0", -] - -[[package]] -name = "staging-xcm-builder" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8628fd8878df3978a34da0ef75722b118f4bc40bb47fb3c687cc0899f7ede43c" -dependencies = [ - "frame-support 25.0.0", - "frame-system 25.0.0", - "impl-trait-for-tuples", - "log", - "pallet-transaction-payment 25.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 3.0.0", - "scale-info", - "sp-arithmetic 20.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-weights 24.0.0", - "staging-xcm 4.0.0", - "staging-xcm-executor 4.0.2", + "sp-weights", + "xcm-procedural", ] [[package]] @@ -14355,42 +10990,21 @@ version = "7.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ba4f214fe99d79ffcc266f431abbb32d3596788327b925d469c7bb6a3c84d3c" dependencies = [ - "frame-support 28.0.0", - "frame-system 28.0.0", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", - "pallet-transaction-payment 28.0.0", + "pallet-transaction-payment", "parity-scale-codec", - "polkadot-parachain-primitives 6.0.0", + "polkadot-parachain-primitives", "scale-info", - "sp-arithmetic 23.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-arithmetic", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "sp-weights 27.0.0", - "staging-xcm 7.0.0", - "staging-xcm-executor 7.0.3", -] - -[[package]] -name = "staging-xcm-executor" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49bc3b2b8429aacca1897c72b786e7c21d36170a919e9333fe533868d32d2774" -dependencies = [ - "environmental", - "frame-benchmarking 25.0.0", - "frame-support 25.0.0", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-weights 24.0.0", - "staging-xcm 4.0.0", + "sp-weights", + "staging-xcm", + "staging-xcm-executor", ] [[package]] @@ -14400,19 +11014,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f1dea1e33eefee513c197c24255670951a2c515a6ce2c7049fe86385400074f" dependencies = [ "environmental", - "frame-benchmarking 28.0.0", - "frame-support 28.0.0", + "frame-benchmarking", + "frame-support", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "sp-weights 27.0.0", - "staging-xcm 7.0.0", + "sp-weights", + "staging-xcm", ] [[package]] @@ -14421,34 +11035,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "static_init" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" -dependencies = [ - "bitflags 1.3.2", - "cfg_aliases", - "libc", - "parking_lot 0.11.2", - "parking_lot_core 0.8.6", - "static_init_macro", - "winapi", -] - -[[package]] -name = "static_init_macro" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" -dependencies = [ - "cfg_aliases", - "memchr", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "strsim" version = "0.10.0" @@ -14513,19 +11099,6 @@ dependencies = [ "substrate-fixed", ] -[[package]] -name = "substrate-prometheus-endpoint" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ededbe617291db8a47d6e5155486ff1e5425f0bbf5dcb7f752730466a62bd293" -dependencies = [ - "hyper", - "log", - "prometheus", - "thiserror", - "tokio", -] - [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" @@ -14548,9 +11121,9 @@ dependencies = [ "async-trait", "jsonrpsee", "log", - "sc-rpc-api 0.33.0", + "sc-rpc-api", "serde", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -14563,25 +11136,6 @@ dependencies = [ "scale-info", ] -[[package]] -name = "substrate-wasm-builder" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ab1707dbbd129622b771a9b80b25f0ebf1c04854b907bc44b51ec96fb4005b" -dependencies = [ - "ansi_term", - "build-helper", - "cargo_metadata", - "filetime", - "parity-wasm", - "sp-maybe-compressed-blob 9.0.0", - "strum", - "tempfile", - "toml 0.7.8", - "walkdir", - "wasm-opt", -] - [[package]] name = "substrate-wasm-builder" version = "17.0.0" @@ -14593,7 +11147,7 @@ dependencies = [ "cargo_metadata", "filetime", "parity-wasm", - "sp-maybe-compressed-blob 11.0.0", + "sp-maybe-compressed-blob", "strum", "tempfile", "toml 0.8.2", @@ -14672,14 +11226,14 @@ dependencies = [ name = "system-parachains-constants" version = "1.0.0" dependencies = [ - "frame-support 28.0.0", + "frame-support", "kusama-runtime-constants", - "parachains-common 7.0.0", - "polkadot-core-primitives 7.0.0", - "polkadot-primitives 7.0.0", + "parachains-common", + "polkadot-core-primitives", + "polkadot-primitives", "polkadot-runtime-constants", "smallvec", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -14752,49 +11306,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - -[[package]] -name = "thrift" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b82ca8f46f95b3ce96081fe3dd89160fdea970c254bb72925255d1b62aae692e" -dependencies = [ - "byteorder", - "integer-encoding", - "log", - "ordered-float", - "threadpool", -] - -[[package]] -name = "tikv-jemalloc-ctl" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "619bfed27d807b54f7f776b9430d4f8060e66ee138a28632ca898584d462c31c" -dependencies = [ - "libc", - "paste", - "tikv-jemalloc-sys", -] - -[[package]] -name = "tikv-jemalloc-sys" -version = "0.5.4+5.3.0-patched" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "time" version = "0.3.30" @@ -14880,7 +11391,6 @@ dependencies = [ "num_cpus", "parking_lot 0.12.1", "pin-project-lite 0.2.13", - "signal-hook-registry", "socket2 0.5.5", "tokio-macros", "windows-sys 0.48.0", @@ -14927,7 +11437,6 @@ dependencies = [ "futures-core", "pin-project-lite 0.2.13", "tokio", - "tokio-util", ] [[package]] @@ -14954,18 +11463,6 @@ dependencies = [ "serde", ] -[[package]] -name = "toml" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.19.15", -] - [[package]] name = "toml" version = "0.8.2" @@ -14994,8 +11491,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ "indexmap 2.1.0", - "serde", - "serde_spanned", "toml_datetime", "winnow", ] @@ -15035,24 +11530,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "tower-http" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" -dependencies = [ - "bitflags 2.4.1", - "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-range-header", - "pin-project-lite 0.2.13", - "tower-layer", - "tower-service", -] - [[package]] name = "tower-layer" version = "0.3.2" @@ -15098,42 +11575,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - -[[package]] -name = "tracing-gum" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32c0555bd635d9adbf8dec0bf45f7c2aef7541121d648ba37f5f792a211077b6" -dependencies = [ - "coarsetime", - "polkadot-node-jaeger", - "polkadot-primitives 4.0.0", - "tracing", - "tracing-gum-proc-macro", -] - -[[package]] -name = "tracing-gum-proc-macro" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35756d8c1a227ec525853a1080bf890d03d939deb2bc50d4d43c96516c795d0d" -dependencies = [ - "expander 2.0.0", - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "tracing-log" version = "0.1.4" @@ -15165,7 +11606,6 @@ dependencies = [ "chrono", "lazy_static", "matchers", - "parking_lot 0.11.2", "regex", "serde", "serde_json", @@ -15821,37 +12261,21 @@ version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" -[[package]] -name = "westend-runtime-constants" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "682c32c5f5e6d51c431bf66c33fc502c66e7b25488c0bd92f5ee020c329f2beb" -dependencies = [ - "frame-support 25.0.0", - "polkadot-primitives 4.0.0", - "polkadot-runtime-common 4.0.0", - "smallvec", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-weights 24.0.0", - "staging-xcm 4.0.0", -] - [[package]] name = "westend-runtime-constants" version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c410b8a17b87e5228f9c27ba4a8020e7ece4a8afb0f452b989834623afe84a2" dependencies = [ - "frame-support 28.0.0", - "polkadot-primitives 7.0.0", - "polkadot-runtime-common 7.0.0", + "frame-support", + "polkadot-primitives", + "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", + "sp-runtime", + "sp-weights", + "staging-xcm", + "staging-xcm-builder", ] [[package]] @@ -16205,44 +12629,32 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfe27508d4304447fdb7419b769ed9fbeab56bcd41ecf9193e43a33fb8f5588a" dependencies = [ - "cumulus-pallet-parachain-system 0.7.0", - "cumulus-pallet-xcmp-queue 0.7.0", - "cumulus-primitives-core 0.7.0", - "cumulus-primitives-parachain-inherent 0.7.0", - "cumulus-test-relay-sproof-builder 0.7.0", - "frame-support 28.0.0", - "frame-system 28.0.0", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "cumulus-test-relay-sproof-builder", + "frame-support", + "frame-system", "impl-trait-for-tuples", "lazy_static", "log", - "pallet-balances 28.0.0", - "pallet-message-queue 31.0.0", - "parachains-common 7.0.0", + "pallet-balances", + "pallet-message-queue", + "parachains-common", "parity-scale-codec", "paste", - "polkadot-parachain-primitives 6.0.0", - "polkadot-primitives 7.0.0", - "polkadot-runtime-parachains 7.0.0", - "sp-arithmetic 23.0.0", + "polkadot-parachain-primitives", + "polkadot-primitives", + "polkadot-runtime-parachains", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "sp-tracing 16.0.0", - "staging-xcm 7.0.0", - "staging-xcm-executor 7.0.3", -] - -[[package]] -name = "xcm-procedural" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "401e2b62628da9246dececb06fe58118196557dd8deb9ce12d95cc4aaf56003f" -dependencies = [ - "Inflector", - "proc-macro2", - "quote", - "syn 2.0.48", + "staging-xcm", + "staging-xcm-executor", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index e16ed53c7d..580d33dcce 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,23 +42,3 @@ inherits = "release" lto = true codegen-units = 1 -[patch.crates-io] -encointer-balances-tx-payment = { path = "../pallets/balances-tx-payment" } -encointer-balances-tx-payment-rpc = { path = "../pallets/balances-tx-payment/rpc" } -encointer-balances-tx-payment-rpc-runtime-api = { path = "../pallets/balances-tx-payment/rpc/runtime-api" } -encointer-ceremonies-assignment = { path = "../pallets/ceremonies/assignment" } -encointer-primitives = { path = "../pallets/primitives" } -pallet-encointer-balances = { path = "../pallets/balances" } -pallet-encointer-bazaar = { path = "../pallets/bazaar" } -pallet-encointer-bazaar-rpc = { path = "../pallets/bazaar/rpc" } -pallet-encointer-bazaar-rpc-runtime-api = { path = "../pallets/bazaar/rpc/runtime-api" } -pallet-encointer-ceremonies = { path = "../pallets/ceremonies" } -pallet-encointer-ceremonies-rpc = { path = "../pallets/ceremonies/rpc" } -pallet-encointer-ceremonies-rpc-runtime-api = { path = "../pallets/ceremonies/rpc/runtime-api" } -pallet-encointer-communities = { path = "../pallets/communities" } -pallet-encointer-communities-rpc = { path = "../pallets/communities/rpc" } -pallet-encointer-communities-rpc-runtime-api = { path = "../pallets/communities/rpc/runtime-api" } -pallet-encointer-democracy = { path = "../pallets/democracy" } -pallet-encointer-faucet = { path = "../pallets/faucet" } -pallet-encointer-reputation-commitments = { path = "../pallets/reputation-commitments" } -pallet-encointer-scheduler = { path = "../pallets/scheduler" } diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs index 2050234005..60e47fb5c3 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -1389,7 +1389,7 @@ impl_runtime_apis! { let fee_index = if assets.get(0).unwrap().eq(&fee_asset) { 0 } else { 1 }; // verify transferred successfully - let verify = Box::new(move || { + let verify = Box::new(move || {let verify = Box::new(move || { // verify native balance after transfer, decreased by transferred fee amount // (plus transport fees) assert!(Balances::free_balance(&who) <= balance - fee_amount); diff --git a/system-parachains/encointer/Cargo.toml b/system-parachains/encointer/Cargo.toml index 68a64cc98f..e8bf2d15b6 100644 --- a/system-parachains/encointer/Cargo.toml +++ b/system-parachains/encointer/Cargo.toml @@ -48,12 +48,13 @@ pallet-balances = { default-features = false, version = "28.0.0" } pallet-collective = { default-features = false, version = "28.0.0" } pallet-insecure-randomness-collective-flip = { default-features = false, version = "16.0.0" } pallet-membership = { default-features = false, version = "28.0.0" } +pallet-message-queue = { default-features = false, version = "31.0.0" } pallet-proxy = { default-features = false, version = "28.0.0" } pallet-scheduler = { default-features = false, version = "29.0.0" } pallet-timestamp = { default-features = false, version = "27.0.0" } pallet-transaction-payment = { default-features = false, version = "28.0.0" } pallet-transaction-payment-rpc-runtime-api = { default-features = false, version = "28.0.0" } -pallet-treasury = { default-features = false, version = "28.0.0" } +pallet-treasury = { default-features = false, version = "27.0.0" } pallet-utility = { default-features = false, version = "28.0.0" } sp-api = { default-features = false, version = "26.0.0" } sp-block-builder = { default-features = false, version = "26.0.0" } @@ -90,7 +91,8 @@ cumulus-primitives-utility = { default-features = false, version = "0.7.0" } parachain-info = { package = "staging-parachain-info", default-features = false, version = "0.7.0" } parachains-common = { default-features = false, version = "7.0.0" } system-parachains-constants = { path = "../constants", default-features = false } - +polkadot-core-primitives = { default-features = false, version = "7.0.0"} +polkadot-primitives = { default-features = false , version = "7.0.0" } # Used for runtime benchmarking @@ -103,6 +105,7 @@ kusama-runtime-constants = { path = "../../relay/kusama/constants", default-feat [features] default = ["std"] runtime-benchmarks = [ + "cumulus-pallet-dmp-queue/runtime-benchmarks", "cumulus-pallet-xcmp-queue/runtime-benchmarks", "cumulus-pallet-parachain-system/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", @@ -119,6 +122,7 @@ runtime-benchmarks = [ "pallet-encointer-faucet/runtime-benchmarks", "pallet-encointer-reputation-commitments/runtime-benchmarks", "pallet-encointer-scheduler/runtime-benchmarks", + "pallet-message-queue/runtime-benchmarks", "pallet-membership/runtime-benchmarks", "pallet-proxy/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", @@ -165,6 +169,7 @@ std = [ "pallet-encointer-reputation-commitments/std", "pallet-encointer-scheduler/std", "pallet-insecure-randomness-collective-flip/std", + "pallet-message-queue/std", "pallet-membership/std", "pallet-proxy/std", "pallet-timestamp/std", @@ -216,6 +221,7 @@ try-runtime = [ "pallet-encointer-reputation-commitments/try-runtime", "pallet-encointer-scheduler/try-runtime", "pallet-insecure-randomness-collective-flip/try-runtime", + "pallet-message-queue/try-runtime", "pallet-membership/try-runtime", "pallet-proxy/try-runtime", "pallet-scheduler/try-runtime", diff --git a/system-parachains/encointer/src/lib.rs b/system-parachains/encointer/src/lib.rs index 7b1cc1a92f..01b92ec558 100644 --- a/system-parachains/encointer/src/lib.rs +++ b/system-parachains/encointer/src/lib.rs @@ -47,6 +47,14 @@ pub use encointer_primitives::{ communities::{CommunityIdentifier, Location}, scheduler::CeremonyPhaseType, }; +use parachains_common::message_queue::NarrowOriginToSibling; +use cumulus_primitives_core::AggregateMessageOrigin; +use parachains_common::message_queue::ParaIdToSibling; +use cumulus_primitives_core::ParaId; +use frame_support::traits::TransformOrigin; + + + use frame_support::{ construct_runtime, dispatch::DispatchClass, @@ -101,8 +109,7 @@ use xcm::{ v3::AssetId as XcmAssetId, }; -use xcm_config::{KsmLocation, XcmConfig, XcmOriginToTransactDispatchOrigin}; -use xcm_executor::XcmExecutor; +use xcm_config::{KsmLocation, XcmOriginToTransactDispatchOrigin}; /// A type to hold UTC unix epoch [ms] pub type Moment = u64; @@ -254,6 +261,7 @@ impl frame_system::Config for Runtime { type BlockLength = RuntimeBlockLength; type AccountId = AccountId; type RuntimeCall = RuntimeCall; + type RuntimeTask = RuntimeTask; type Lookup = AccountIdLookup; type Nonce = Nonce; type Hash = Hash; @@ -411,12 +419,14 @@ impl pallet_scheduler::Config for Runtime { parameter_types! { pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; } impl cumulus_pallet_parachain_system::Config for Runtime { type RuntimeEvent = RuntimeEvent; type OnSystemEvent = (); type SelfParaId = parachain_info::Pallet; + type DmpQueue = frame_support::traits::EnqueueWithOrigin; type ReservedDmpWeight = ReservedDmpWeight; type OutboundXcmpMessageSource = XcmpQueue; type XcmpMessageHandler = XcmpQueue; @@ -428,6 +438,7 @@ impl cumulus_pallet_parachain_system::Config for Runtime { BLOCK_PROCESSING_VELOCITY, UNINCLUDED_SEGMENT_CAPACITY, >; + type WeightInfo = weights::cumulus_pallet_parachain_system::WeightInfo; } impl pallet_insecure_randomness_collective_flip::Config for Runtime {} @@ -456,6 +467,8 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type RuntimeEvent = RuntimeEvent; type ChannelInfo = ParachainSystem; type VersionWrapper = PolkadotXcm; + type XcmpQueue = TransformOrigin; + type MaxInboundSuspended = sp_core::ConstU32<1_000>; type ControllerOrigin = EitherOfDiverse< EnsureRoot, EnsureXcm>, @@ -468,6 +481,34 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { // TODO: remove dmp with 1.3.0 (https://github.com/polkadot-fellows/runtimes/issues/186) impl cumulus_pallet_dmp_queue::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type WeightInfo = weights::cumulus_pallet_dmp_queue::WeightInfo; + type DmpSink = frame_support::traits::EnqueueWithOrigin; +} + +parameter_types! { + pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; +} + +impl pallet_message_queue::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type WeightInfo = weights::pallet_message_queue::WeightInfo; + #[cfg(feature = "runtime-benchmarks")] + type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor< + cumulus_primitives_core::AggregateMessageOrigin, + >; + #[cfg(not(feature = "runtime-benchmarks"))] + type MessageProcessor = xcm_builder::ProcessXcmMessage< + AggregateMessageOrigin, + xcm_executor::XcmExecutor, + RuntimeCall, + >; + type Size = u32; + // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin: + type QueueChangeHandler = NarrowOriginToSibling; + type QueuePausedQuery = NarrowOriginToSibling; + type HeapSize = sp_core::ConstU32<{ 64 * 1024 }>; + type MaxStale = sp_core::ConstU32<8>; + type ServiceWeight = MessageQueueServiceWeight; } parameter_types! { @@ -626,6 +667,7 @@ construct_runtime! { CumulusXcm: cumulus_pallet_xcm = 32, // TODO: remove dmp with 1.3.0 (https://github.com/polkadot-fellows/runtimes/issues/186) DmpQueue: cumulus_pallet_dmp_queue = 33, + MessageQueue: pallet_message_queue = 35, // Handy utilities. Utility: pallet_utility = 40, @@ -706,6 +748,7 @@ mod benches { [frame_system, SystemBench::] [pallet_balances, Balances] [pallet_collective, Collective] + [pallet_message_queue, MessageQueue] [pallet_membership, Membership] [pallet_timestamp, Timestamp] // todo: treasury will be removed in separate PR, so no need to fix broken benchmarks: https://github.com/polkadot-fellows/runtimes/issues/176 @@ -719,6 +762,8 @@ mod benches { [pallet_encointer_faucet, EncointerFaucet] [pallet_encointer_reputation_commitments, EncointerReputationCommitments] [pallet_encointer_scheduler, EncointerScheduler] + [cumulus_pallet_dmp_queue, DmpQueue] + [cumulus_pallet_parachain_system, ParachainSystem] [cumulus_pallet_xcmp_queue, XcmpQueue] ); } diff --git a/system-parachains/encointer/src/weights/cumulus_pallet_dmp_queue.rs b/system-parachains/encointer/src/weights/cumulus_pallet_dmp_queue.rs new file mode 100644 index 0000000000..cc41dcd6cb --- /dev/null +++ b/system-parachains/encointer/src/weights/cumulus_pallet_dmp_queue.rs @@ -0,0 +1,131 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Cumulus is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Cumulus. If not, see . + +//! Autogenerated weights for `cumulus_pallet_dmp_queue` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2023-10-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner-yprdrvc7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + +// Executed Command: +// target/production/polkadot-parachain +// benchmark +// pallet +// --steps=50 +// --repeat=20 +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json +// --pallet=cumulus_pallet_dmp_queue +// --chain=asset-hub-kusama-dev +// --header=./cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/ + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `cumulus_pallet_dmp_queue`. +pub struct WeightInfo(PhantomData); +impl cumulus_pallet_dmp_queue::WeightInfo for WeightInfo { + /// Storage: `DmpQueue::MigrationStatus` (r:1 w:1) + /// Proof: `DmpQueue::MigrationStatus` (`max_values`: Some(1), `max_size`: Some(1028), added: 1523, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0) + /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0) + /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca7d95d3e948effbeccff2de2c182672836` (r:1 w:1) + /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca7d95d3e948effbeccff2de2c182672836` (r:1 w:1) + /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) + /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::Pages` (r:0 w:1) + /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) + fn on_idle_good_msg() -> Weight { + // Proof Size summary in bytes: + // Measured: `65696` + // Estimated: `69161` + // Minimum execution time: 124_651_000 picoseconds. + Weight::from_parts(127_857_000, 0) + .saturating_add(Weight::from_parts(0, 69161)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: `DmpQueue::MigrationStatus` (r:1 w:1) + /// Proof: `DmpQueue::MigrationStatus` (`max_values`: Some(1), `max_size`: Some(1028), added: 1523, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0) + /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0) + /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca7d95d3e948effbeccff2de2c182672836` (r:1 w:1) + /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca7d95d3e948effbeccff2de2c182672836` (r:1 w:1) + fn on_idle_large_msg() -> Weight { + // Proof Size summary in bytes: + // Measured: `65659` + // Estimated: `69124` + // Minimum execution time: 65_684_000 picoseconds. + Weight::from_parts(68_039_000, 0) + .saturating_add(Weight::from_parts(0, 69124)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `DmpQueue::MigrationStatus` (r:1 w:1) + /// Proof: `DmpQueue::MigrationStatus` (`max_values`: Some(1), `max_size`: Some(1028), added: 1523, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0) + /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0) + /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca70f923ef3252d0166429d36d20ed665a8` (r:1 w:1) + /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca70f923ef3252d0166429d36d20ed665a8` (r:1 w:1) + /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca772275f64c354954352b71eea39cfaca2` (r:1 w:1) + /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca772275f64c354954352b71eea39cfaca2` (r:1 w:1) + /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) + /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::Pages` (r:0 w:1) + /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) + fn on_idle_overweight_good_msg() -> Weight { + // Proof Size summary in bytes: + // Measured: `65726` + // Estimated: `69191` + // Minimum execution time: 117_657_000 picoseconds. + Weight::from_parts(122_035_000, 0) + .saturating_add(Weight::from_parts(0, 69191)) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(6)) + } + /// Storage: `DmpQueue::MigrationStatus` (r:1 w:1) + /// Proof: `DmpQueue::MigrationStatus` (`max_values`: Some(1), `max_size`: Some(1028), added: 1523, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0) + /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0) + /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca70f923ef3252d0166429d36d20ed665a8` (r:1 w:1) + /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca70f923ef3252d0166429d36d20ed665a8` (r:1 w:1) + /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca772275f64c354954352b71eea39cfaca2` (r:1 w:1) + /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca772275f64c354954352b71eea39cfaca2` (r:1 w:1) + fn on_idle_overweight_large_msg() -> Weight { + // Proof Size summary in bytes: + // Measured: `65689` + // Estimated: `69154` + // Minimum execution time: 59_799_000 picoseconds. + Weight::from_parts(61_354_000, 0) + .saturating_add(Weight::from_parts(0, 69154)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(3)) + } +} diff --git a/system-parachains/encointer/src/weights/cumulus_pallet_parachain_system.rs b/system-parachains/encointer/src/weights/cumulus_pallet_parachain_system.rs new file mode 100644 index 0000000000..c1e5c6a742 --- /dev/null +++ b/system-parachains/encointer/src/weights/cumulus_pallet_parachain_system.rs @@ -0,0 +1,80 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Autogenerated weights for `cumulus_pallet_parachain_system` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2023-03-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `i9`, CPU: `13th Gen Intel(R) Core(TM) i9-13900K` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("statemine-dev"), DB CACHE: 1024 + +// Executed Command: +// ./target/release/polkadot-parachain +// benchmark +// pallet +// --chain +// statemine-dev +// --pallet +// cumulus_pallet_parachain_system +// --extrinsic +// * +// --execution +// wasm +// --wasm-execution +// compiled +// --output +// parachains/runtimes/assets/statemine/src/weights +// --steps +// 50 +// --repeat +// 20 + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for `cumulus_pallet_parachain_system`. +pub struct WeightInfo(PhantomData); +impl cumulus_pallet_parachain_system::WeightInfo for WeightInfo { + /// Storage: ParachainSystem LastDmqMqcHead (r:1 w:1) + /// Proof Skipped: ParachainSystem LastDmqMqcHead (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: ParachainSystem ReservedDmpWeightOverride (r:1 w:0) + /// Proof Skipped: ParachainSystem ReservedDmpWeightOverride (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: MessageQueue BookStateFor (r:1 w:1) + /// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen) + /// Storage: MessageQueue ServiceHead (r:1 w:1) + /// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(5), added: 500, mode: MaxEncodedLen) + /// Storage: ParachainSystem ProcessedDownwardMessages (r:0 w:1) + /// Proof Skipped: ParachainSystem ProcessedDownwardMessages (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: MessageQueue Pages (r:0 w:16) + /// Proof: MessageQueue Pages (max_values: None, max_size: Some(65585), added: 68060, mode: MaxEncodedLen) + /// The range of component `n` is `[0, 1000]`. + fn enqueue_inbound_downward_messages(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `12` + // Estimated: `8013` + // Minimum execution time: 1_622_000 picoseconds. + Weight::from_parts(1_709_000, 0) + .saturating_add(Weight::from_parts(0, 8013)) + // Standard Error: 22_138 + .saturating_add(Weight::from_parts(23_923_169, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } +} diff --git a/system-parachains/encointer/src/weights/cumulus_pallet_xcmp_queue.rs b/system-parachains/encointer/src/weights/cumulus_pallet_xcmp_queue.rs index 95c03085b6..d669fa0489 100644 --- a/system-parachains/encointer/src/weights/cumulus_pallet_xcmp_queue.rs +++ b/system-parachains/encointer/src/weights/cumulus_pallet_xcmp_queue.rs @@ -1,25 +1,40 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . //! Autogenerated weights for `cumulus_pallet_xcmp_queue` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-12-19, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `caribe`, CPU: `12th Gen Intel(R) Core(TM) i7-1260P` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("encointer-rococo-local-dev"), DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("../asset-hub-kusama-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// target/release/encointer-collator +// ./target/production/polkadot // benchmark // pallet -// --chain=encointer-rococo-local-dev +// --chain=../asset-hub-kusama-chain-spec.json // --steps=50 // --repeat=20 // --pallet=cumulus_pallet_xcmp_queue // --extrinsic=* -// --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=polkadot-parachains/encointer-runtime/src/weights/cumulus_pallet_xcmp_queue.rs +// --output=./asset-hub-kusama-weights +// --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -32,16 +47,104 @@ use core::marker::PhantomData; /// Weight functions for `cumulus_pallet_xcmp_queue`. pub struct WeightInfo(PhantomData); impl cumulus_pallet_xcmp_queue::WeightInfo for WeightInfo { - /// Storage: XcmpQueue QueueConfig (r:1 w:1) - /// Proof Skipped: XcmpQueue QueueConfig (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: `XcmpQueue::QueueConfig` (r:1 w:1) + /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) fn set_config_with_u32() -> Weight { // Proof Size summary in bytes: - // Measured: `42` - // Estimated: `1527` - // Minimum execution time: 4_338_000 picoseconds. - Weight::from_parts(4_474_000, 0) - .saturating_add(Weight::from_parts(0, 1527)) + // Measured: `76` + // Estimated: `1561` + // Minimum execution time: 5_027_000 picoseconds. + Weight::from_parts(5_194_000, 0) + .saturating_add(Weight::from_parts(0, 1561)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) + /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) + /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) + /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `MessageQueue::Pages` (r:0 w:1) + /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) + fn enqueue_xcmp_message() -> Weight { + // Proof Size summary in bytes: + // Measured: `118` + // Estimated: `3517` + // Minimum execution time: 15_000_000 picoseconds. + Weight::from_parts(16_000_000, 0) + .saturating_add(Weight::from_parts(0, 3517)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) + /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn suspend_channel() -> Weight { + // Proof Size summary in bytes: + // Measured: `76` + // Estimated: `1561` + // Minimum execution time: 3_000_000 picoseconds. + Weight::from_parts(3_000_000, 0) + .saturating_add(Weight::from_parts(0, 1561)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) + /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn resume_channel() -> Weight { + // Proof Size summary in bytes: + // Measured: `111` + // Estimated: `1596` + // Minimum execution time: 4_000_000 picoseconds. + Weight::from_parts(5_000_000, 0) + .saturating_add(Weight::from_parts(0, 1596)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + fn take_first_concatenated_xcm() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 44_000_000 picoseconds. + Weight::from_parts(45_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) + /// Storage: `XcmpQueue::InboundXcmpMessages` (r:1 w:1) + /// Proof: `XcmpQueue::InboundXcmpMessages` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) + /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0) + /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) + /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `MessageQueue::Pages` (r:0 w:1) + /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) + fn on_idle_good_msg() -> Weight { + // Proof Size summary in bytes: + // Measured: `65747` + // Estimated: `69212` + // Minimum execution time: 62_000_000 picoseconds. + Weight::from_parts(66_000_000, 0) + .saturating_add(Weight::from_parts(0, 69212)) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) + fn on_idle_large_msg() -> Weight { + // Proof Size summary in bytes: + // Measured: `65710` + // Estimated: `69175` + // Minimum execution time: 42_000_000 picoseconds. + Weight::from_parts(43_000_000, 0) + .saturating_add(Weight::from_parts(0, 69175)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } } diff --git a/system-parachains/encointer/src/weights/frame_system.rs b/system-parachains/encointer/src/weights/frame_system.rs index ee7995b4ac..3bbf793fb2 100644 --- a/system-parachains/encointer/src/weights/frame_system.rs +++ b/system-parachains/encointer/src/weights/frame_system.rs @@ -17,22 +17,24 @@ //! Autogenerated weights for `frame_system` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-09-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-12-19, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `a3dce7bd4066`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("spec-asset-hub-kusama.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("../asset-hub-kusama-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// /builds/polkadot-sdk/target/production/polkadot-parachain +// ./target/production/polkadot // benchmark // pallet -// --chain=spec-asset-hub-kusama.json +// --chain=../asset-hub-kusama-chain-spec.json +// --steps=50 +// --repeat=20 // --pallet=frame_system -// --extrinsic= -// --output=/builds/runtimes/system-parachains/asset-hubs/asset-hub-kusama/src/weights -// --header=/builds/bench/header.txt -// --no-median-slopes -// --no-min-squares +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=./asset-hub-kusama-weights +// --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -50,22 +52,22 @@ impl frame_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_815_000 picoseconds. - Weight::from_parts(1_241_063, 0) + // Minimum execution time: 1_782_000 picoseconds. + Weight::from_parts(844_700, 0) .saturating_add(Weight::from_parts(0, 0)) // Standard Error: 0 - .saturating_add(Weight::from_parts(387, 0).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(389, 0).saturating_mul(b.into())) } /// The range of component `b` is `[0, 3932160]`. fn remark_with_event(b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_962_000 picoseconds. - Weight::from_parts(128_782_669, 0) + // Minimum execution time: 5_246_000 picoseconds. + Weight::from_parts(50_763_605, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 10 - .saturating_add(Weight::from_parts(1_587, 0).saturating_mul(b.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_682, 0).saturating_mul(b.into())) } /// Storage: `System::Digest` (r:1 w:1) /// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) @@ -75,8 +77,8 @@ impl frame_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1485` - // Minimum execution time: 3_517_000 picoseconds. - Weight::from_parts(3_750_000, 0) + // Minimum execution time: 3_158_000 picoseconds. + Weight::from_parts(3_329_000, 0) .saturating_add(Weight::from_parts(0, 1485)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -97,8 +99,8 @@ impl frame_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `164` // Estimated: `1649` - // Minimum execution time: 97_863_204_000 picoseconds. - Weight::from_parts(101_385_669_000, 0) + // Minimum execution time: 112_475_580_000 picoseconds. + Weight::from_parts(118_917_296_000, 0) .saturating_add(Weight::from_parts(0, 1649)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -110,11 +112,11 @@ impl frame_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_919_000 picoseconds. - Weight::from_parts(2_055_000, 0) + // Minimum execution time: 1_913_000 picoseconds. + Weight::from_parts(1_956_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_130 - .saturating_add(Weight::from_parts(718_734, 0).saturating_mul(i.into())) + // Standard Error: 2_072 + .saturating_add(Weight::from_parts(803_678, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) } /// Storage: `Skipped::Metadata` (r:0 w:0) @@ -124,11 +126,11 @@ impl frame_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_943_000 picoseconds. - Weight::from_parts(2_123_000, 0) + // Minimum execution time: 1_948_000 picoseconds. + Weight::from_parts(2_011_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 931 - .saturating_add(Weight::from_parts(541_111, 0).saturating_mul(i.into())) + // Standard Error: 1_108 + .saturating_add(Weight::from_parts(578_044, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) } /// Storage: `Skipped::Metadata` (r:0 w:0) @@ -138,13 +140,40 @@ impl frame_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `83 + p * (69 ±0)` // Estimated: `86 + p * (70 ±0)` - // Minimum execution time: 3_533_000 picoseconds. - Weight::from_parts(3_617_000, 0) + // Minimum execution time: 3_632_000 picoseconds. + Weight::from_parts(3_737_000, 0) .saturating_add(Weight::from_parts(0, 86)) - // Standard Error: 1_337 - .saturating_add(Weight::from_parts(1_236_860, 0).saturating_mul(p.into())) + // Standard Error: 1_915 + .saturating_add(Weight::from_parts(1_196_737, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) .saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into())) } + /// Storage: `System::AuthorizedUpgrade` (r:0 w:1) + /// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`) + fn authorize_upgrade() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 33_027_000 picoseconds. + Weight::from_parts(33_027_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `System::AuthorizedUpgrade` (r:1 w:1) + /// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`) + /// Storage: `System::Digest` (r:1 w:1) + /// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1) + /// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1) + fn apply_authorized_upgrade() -> Weight { + // Proof Size summary in bytes: + // Measured: `22` + // Estimated: `1518` + // Minimum execution time: 118_101_992_000 picoseconds. + Weight::from_parts(118_101_992_000, 0) + .saturating_add(Weight::from_parts(0, 1518)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(3)) + } } diff --git a/system-parachains/encointer/src/weights/mod.rs b/system-parachains/encointer/src/weights/mod.rs index b0f75efdc0..ec61f38ee0 100644 --- a/system-parachains/encointer/src/weights/mod.rs +++ b/system-parachains/encointer/src/weights/mod.rs @@ -20,6 +20,8 @@ #![allow(clippy::all)] pub mod block_weights; +pub mod cumulus_pallet_dmp_queue; +pub mod cumulus_pallet_parachain_system; pub mod cumulus_pallet_xcmp_queue; pub mod extrinsic_weights; pub mod frame_system; @@ -33,6 +35,7 @@ pub mod pallet_encointer_faucet; pub mod pallet_encointer_reputation_commitments; pub mod pallet_encointer_scheduler; pub mod pallet_membership; +pub mod pallet_message_queue; pub mod pallet_proxy; pub mod pallet_timestamp; pub mod pallet_treasury; diff --git a/system-parachains/encointer/src/weights/pallet_message_queue.rs b/system-parachains/encointer/src/weights/pallet_message_queue.rs new file mode 100644 index 0000000000..45531ccfa7 --- /dev/null +++ b/system-parachains/encointer/src/weights/pallet_message_queue.rs @@ -0,0 +1,179 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Autogenerated weights for `pallet_message_queue` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2023-03-24, STEPS: `2`, REPEAT: `1`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `i9`, CPU: `13th Gen Intel(R) Core(TM) i9-13900K` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("statemine-dev"), DB CACHE: 1024 + +// Executed Command: +// ./target/release/polkadot-parachain +// benchmark +// pallet +// --chain +// statemine-dev +// --pallet +// pallet_message_queue +// --extrinsic +// * +// --execution +// wasm +// --wasm-execution +// compiled +// --output +// parachains/runtimes/assets/statemine/src/weights + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for `pallet_message_queue`. +pub struct WeightInfo(PhantomData); +impl pallet_message_queue::WeightInfo for WeightInfo { + /// Storage: MessageQueue ServiceHead (r:1 w:0) + /// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(5), added: 500, mode: MaxEncodedLen) + /// Storage: MessageQueue BookStateFor (r:2 w:2) + /// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen) + fn ready_ring_knit() -> Weight { + // Proof Size summary in bytes: + // Measured: `189` + // Estimated: `7534` + // Minimum execution time: 13_668_000 picoseconds. + Weight::from_parts(13_668_000, 0) + .saturating_add(Weight::from_parts(0, 7534)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: MessageQueue BookStateFor (r:2 w:2) + /// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen) + /// Storage: MessageQueue ServiceHead (r:1 w:1) + /// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(5), added: 500, mode: MaxEncodedLen) + fn ready_ring_unknit() -> Weight { + // Proof Size summary in bytes: + // Measured: `184` + // Estimated: `7534` + // Minimum execution time: 11_106_000 picoseconds. + Weight::from_parts(11_106_000, 0) + .saturating_add(Weight::from_parts(0, 7534)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: MessageQueue BookStateFor (r:1 w:1) + /// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen) + fn service_queue_base() -> Weight { + // Proof Size summary in bytes: + // Measured: `6` + // Estimated: `3517` + // Minimum execution time: 4_921_000 picoseconds. + Weight::from_parts(4_921_000, 0) + .saturating_add(Weight::from_parts(0, 3517)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: MessageQueue Pages (r:1 w:1) + /// Proof: MessageQueue Pages (max_values: None, max_size: Some(65585), added: 68060, mode: MaxEncodedLen) + fn service_page_base_completion() -> Weight { + // Proof Size summary in bytes: + // Measured: `72` + // Estimated: `69050` + // Minimum execution time: 6_879_000 picoseconds. + Weight::from_parts(6_879_000, 0) + .saturating_add(Weight::from_parts(0, 69050)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: MessageQueue Pages (r:1 w:1) + /// Proof: MessageQueue Pages (max_values: None, max_size: Some(65585), added: 68060, mode: MaxEncodedLen) + fn service_page_base_no_completion() -> Weight { + // Proof Size summary in bytes: + // Measured: `72` + // Estimated: `69050` + // Minimum execution time: 7_564_000 picoseconds. + Weight::from_parts(7_564_000, 0) + .saturating_add(Weight::from_parts(0, 69050)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + fn service_page_item() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 59_963_000 picoseconds. + Weight::from_parts(59_963_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: MessageQueue ServiceHead (r:1 w:1) + /// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(5), added: 500, mode: MaxEncodedLen) + /// Storage: MessageQueue BookStateFor (r:1 w:0) + /// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen) + fn bump_service_head() -> Weight { + // Proof Size summary in bytes: + // Measured: `99` + // Estimated: `5007` + // Minimum execution time: 7_200_000 picoseconds. + Weight::from_parts(7_200_000, 0) + .saturating_add(Weight::from_parts(0, 5007)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: MessageQueue BookStateFor (r:1 w:1) + /// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen) + /// Storage: MessageQueue Pages (r:1 w:1) + /// Proof: MessageQueue Pages (max_values: None, max_size: Some(65585), added: 68060, mode: MaxEncodedLen) + fn reap_page() -> Weight { + // Proof Size summary in bytes: + // Measured: `65667` + // Estimated: `72567` + // Minimum execution time: 41_366_000 picoseconds. + Weight::from_parts(41_366_000, 0) + .saturating_add(Weight::from_parts(0, 72567)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: MessageQueue BookStateFor (r:1 w:1) + /// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen) + /// Storage: MessageQueue Pages (r:1 w:1) + /// Proof: MessageQueue Pages (max_values: None, max_size: Some(65585), added: 68060, mode: MaxEncodedLen) + fn execute_overweight_page_removed() -> Weight { + // Proof Size summary in bytes: + // Measured: `65667` + // Estimated: `72567` + // Minimum execution time: 60_538_000 picoseconds. + Weight::from_parts(60_538_000, 0) + .saturating_add(Weight::from_parts(0, 72567)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: MessageQueue BookStateFor (r:1 w:1) + /// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen) + /// Storage: MessageQueue Pages (r:1 w:1) + /// Proof: MessageQueue Pages (max_values: None, max_size: Some(65585), added: 68060, mode: MaxEncodedLen) + fn execute_overweight_page_updated() -> Weight { + // Proof Size summary in bytes: + // Measured: `65667` + // Estimated: `72567` + // Minimum execution time: 73_665_000 picoseconds. + Weight::from_parts(73_665_000, 0) + .saturating_add(Weight::from_parts(0, 72567)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } +} diff --git a/system-parachains/encointer/src/xcm_config.rs b/system-parachains/encointer/src/xcm_config.rs index 8cb8dd0785..c72ccaff05 100644 --- a/system-parachains/encointer/src/xcm_config.rs +++ b/system-parachains/encointer/src/xcm_config.rs @@ -224,8 +224,6 @@ impl pallet_xcm::Config for Runtime { type SovereignAccountOf = LocationToAccountId; type MaxLockers = ConstU32<8>; type WeightInfo = pallet_xcm::TestWeightInfo; - #[cfg(feature = "runtime-benchmarks")] - type ReachableDest = ReachableDest; type AdminOrigin = EnsureRoot; type UniversalLocation = UniversalLocation; type MaxRemoteLockConsumers = ConstU32<0>; From 1c9262addbe2fd516cedf63c920cf537eea02eb6 Mon Sep 17 00:00:00 2001 From: Alain Brenzikofer Date: Wed, 21 Feb 2024 15:26:16 +0100 Subject: [PATCH 03/17] fix accidental paste --- system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs index 60e47fb5c3..2050234005 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -1389,7 +1389,7 @@ impl_runtime_apis! { let fee_index = if assets.get(0).unwrap().eq(&fee_asset) { 0 } else { 1 }; // verify transferred successfully - let verify = Box::new(move || {let verify = Box::new(move || { + let verify = Box::new(move || { // verify native balance after transfer, decreased by transferred fee amount // (plus transport fees) assert!(Balances::free_balance(&who) <= balance - fee_amount); From 6bc0346b4a6ac733aa02ea67d6174d604b0407e2 Mon Sep 17 00:00:00 2001 From: Alain Brenzikofer Date: Fri, 23 Feb 2024 08:55:44 +0100 Subject: [PATCH 04/17] add migration for XcmpQueue pallet --- system-parachains/encointer/src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/system-parachains/encointer/src/lib.rs b/system-parachains/encointer/src/lib.rs index 01b92ec558..5753c23f16 100644 --- a/system-parachains/encointer/src/lib.rs +++ b/system-parachains/encointer/src/lib.rs @@ -730,6 +730,7 @@ pub type Migrations = ( pallet_balances::migration::ResetInactive, //then apply the proper migration as we should have done earlier pallet_balances::migration::MigrateToTrackInactive, + cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4, ); /// Executive: handles dispatch to the various modules. From b743b799c4da0f847bcbaafb69600a5300e202ac Mon Sep 17 00:00:00 2001 From: Alain Brenzikofer Date: Fri, 23 Feb 2024 08:59:11 +0100 Subject: [PATCH 05/17] touch Cargo.lock --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index baa1472778..ad3785b964 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7347,9 +7347,9 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" -version = "7.0.3" +version = "7.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "890bbad7a5752c8d4c3681457bac4e87fafc79cd9dd5b1a94e6f237f93a795a3" +checksum = "da15171c2dc870ad636fcdb16d9aa37eb84cfe6001c3f1c77cf2c97446ebfbe5" dependencies = [ "frame-benchmarking", "frame-support", From af1de27acd1346fff427131207bdeb42b5ae29e3 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 26 Feb 2024 11:17:40 +0100 Subject: [PATCH 06/17] Accomadate Encointer --- Cargo.lock | 1211 +++++++++++++------------------ chain-spec-generator/Cargo.toml | 5 +- 2 files changed, 500 insertions(+), 716 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5326ca0c5b..d888831f28 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -337,7 +337,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand 0.8.5", + "rand", ] [[package]] @@ -503,15 +503,15 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core", "sp-genesis-builder", "sp-inherents", "sp-io", "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-std", + "sp-storage", "sp-transaction-pool", "sp-version", "sp-weights", @@ -605,15 +605,15 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core", "sp-genesis-builder", "sp-inherents", "sp-io", "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-std", + "sp-storage", "sp-transaction-pool", "sp-version", "sp-weights", @@ -650,10 +650,10 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -679,7 +679,7 @@ dependencies = [ "scale-info", "sp-api", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -846,7 +846,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" dependencies = [ "bitcoin_hashes", - "rand 0.8.5", + "rand", "rand_core 0.6.4", "serde", "unicode-normalization", @@ -974,7 +974,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "scale-info", - "sp-std 14.0.0", + "sp-std", "staging-xcm", ] @@ -986,7 +986,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "scale-info", - "sp-std 14.0.0", + "sp-std", "staging-xcm", ] @@ -1003,7 +1003,7 @@ dependencies = [ "frame-system", "polkadot-primitives", "sp-api", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -1018,7 +1018,7 @@ dependencies = [ "polkadot-runtime-constants", "sp-api", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -1033,7 +1033,7 @@ dependencies = [ "polkadot-runtime-constants", "sp-api", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -1049,9 +1049,9 @@ dependencies = [ "scale-info", "serde", "sp-consensus-grandpa", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -1065,7 +1065,7 @@ dependencies = [ "bp-runtime", "frame-support", "sp-api", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -1080,8 +1080,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-std 14.0.0", + "sp-core", + "sp-std", ] [[package]] @@ -1097,9 +1097,9 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -1113,7 +1113,7 @@ dependencies = [ "bp-runtime", "frame-support", "sp-api", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -1130,9 +1130,9 @@ dependencies = [ "parity-util-mem", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -1147,7 +1147,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -1165,11 +1165,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0", + "sp-std", "sp-trie", "trie-db", ] @@ -1189,9 +1189,9 @@ dependencies = [ "parity-scale-codec", "sp-application-crypto", "sp-consensus-grandpa", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-trie", ] @@ -1201,7 +1201,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6663e0179d475e30cfcf28cf597cdc8f4bb1c2c39a557b4cbe0057db0657fb67" dependencies = [ - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -1212,7 +1212,7 @@ checksum = "8f58cd5d7880f4bc8fc569e5bb0174302cd3f7e18a322e0fec2a4733cced35cb" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-runtime", ] @@ -1281,7 +1281,7 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core", "sp-genesis-builder", "sp-inherents", "sp-io", @@ -1289,8 +1289,8 @@ dependencies = [ "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-std", + "sp-storage", "sp-transaction-pool", "sp-version", "staging-parachain-info", @@ -1367,7 +1367,7 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core", "sp-genesis-builder", "sp-inherents", "sp-io", @@ -1375,8 +1375,8 @@ dependencies = [ "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-std", + "sp-storage", "sp-transaction-pool", "sp-version", "staging-parachain-info", @@ -1424,12 +1424,12 @@ dependencies = [ "parachains-common", "parachains-runtimes-test-utils", "parity-scale-codec", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-keyring", "sp-runtime", - "sp-std 14.0.0", - "sp-tracing 16.0.0", + "sp-std", + "sp-tracing", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -1463,10 +1463,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-trie", "staging-xcm", "staging-xcm-builder", @@ -1672,8 +1672,7 @@ dependencies = [ "sp-authority-discovery", "sp-consensus-babe", "sp-consensus-beefy", - "sp-core 25.0.0", - "sp-core 28.0.0", + "sp-core", "sp-runtime", "staging-kusama-runtime", "staging-xcm", @@ -1827,14 +1826,14 @@ dependencies = [ "sp-arithmetic", "sp-block-builder", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core", "sp-genesis-builder", "sp-inherents", "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-std", + "sp-storage", "sp-transaction-pool", "sp-version", "staging-parachain-info", @@ -2197,7 +2196,7 @@ dependencies = [ "sp-application-crypto", "sp-consensus-aura", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -2215,7 +2214,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "staging-xcm", ] @@ -2241,13 +2240,13 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-core 28.0.0", - "sp-externalities 0.25.0", + "sp-core", + "sp-externalities", "sp-inherents", "sp-io", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0", + "sp-std", "sp-trie", "sp-version", "staging-xcm", @@ -2278,7 +2277,7 @@ dependencies = [ "pallet-session", "parity-scale-codec", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -2294,7 +2293,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "staging-xcm", ] @@ -2316,10 +2315,10 @@ dependencies = [ "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "staging-xcm", "staging-xcm-executor", ] @@ -2337,7 +2336,7 @@ dependencies = [ "scale-info", "sp-api", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-trie", "staging-xcm", ] @@ -2352,9 +2351,9 @@ dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-inherents", - "sp-std 14.0.0", + "sp-std", "sp-trie", ] @@ -2364,8 +2363,8 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a132e17ac2c79436bc5004b0d56cb35ca65b966434f14e5ff8a9bc1afcfca5a4" dependencies = [ - "sp-externalities 0.25.0", - "sp-runtime-interface 24.0.0", + "sp-externalities", + "sp-runtime-interface", "sp-trie", ] @@ -2379,7 +2378,7 @@ dependencies = [ "futures", "parity-scale-codec", "sp-inherents", - "sp-std 14.0.0", + "sp-std", "sp-timestamp", ] @@ -2398,7 +2397,7 @@ dependencies = [ "polkadot-runtime-parachains", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2415,7 +2414,7 @@ dependencies = [ "polkadot-primitives", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0", + "sp-std", "sp-trie", ] @@ -2849,7 +2848,7 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", - "sp-core 28.0.0", + "sp-core", "sp-runtime", "staging-kusama-runtime", "xcm-emulator", @@ -2889,7 +2888,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -2900,7 +2899,7 @@ checksum = "3f5e534e5d624f17a34ae5c6cf61ddbfd68b6a2d3900d855760ebb551f9d4fdd" dependencies = [ "encointer-primitives", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -2964,13 +2963,13 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core", "sp-genesis-builder", "sp-inherents", "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0", + "sp-std", "sp-transaction-pool", "sp-version", "staging-parachain-info", @@ -2992,7 +2991,7 @@ dependencies = [ "scale-info", "serde", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -3009,10 +3008,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "substrate-geohash", ] @@ -3090,9 +3089,9 @@ dependencies = [ "scale-info", "serde", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "substrate-fixed", ] @@ -3258,7 +3257,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand", "rustc-hex", "static_assertions", ] @@ -3336,12 +3335,12 @@ dependencies = [ "serde", "sp-api", "sp-application-crypto", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-runtime-interface 24.0.0", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-runtime-interface", + "sp-std", + "sp-storage", "static_assertions", ] @@ -3369,10 +3368,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-npos-elections", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -3387,11 +3386,11 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", - "sp-tracing 16.0.0", + "sp-std", + "sp-tracing", ] [[package]] @@ -3418,7 +3417,7 @@ dependencies = [ "log", "parity-scale-codec", "serde", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", "sp-state-machine", @@ -3453,9 +3452,9 @@ dependencies = [ "smallvec", "sp-api", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-core-hashing-proc-macro", - "sp-debug-derive 14.0.0", + "sp-debug-derive", "sp-genesis-builder", "sp-inherents", "sp-io", @@ -3463,8 +3462,8 @@ dependencies = [ "sp-runtime", "sp-staking", "sp-state-machine", - "sp-std 14.0.0", - "sp-tracing 16.0.0", + "sp-std", + "sp-tracing", "sp-weights", "static_assertions", "tt-call", @@ -3486,7 +3485,7 @@ dependencies = [ "proc-macro-warning", "proc-macro2", "quote", - "sp-core-hashing 15.0.0", + "sp-core-hashing", "syn 2.0.48", ] @@ -3527,10 +3526,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-version", "sp-weights", ] @@ -3546,9 +3545,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -3571,7 +3570,7 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -3763,7 +3762,7 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "rand 0.8.5", + "rand", "rand_core 0.6.4", ] @@ -3829,14 +3828,14 @@ dependencies = [ "scale-info", "sp-api", "sp-block-builder", - "sp-core 28.0.0", + "sp-core", "sp-genesis-builder", "sp-inherents", "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-std", + "sp-storage", "sp-transaction-pool", "sp-version", "staging-parachain-info", @@ -4332,7 +4331,7 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", - "sp-core 28.0.0", + "sp-core", "sp-runtime", "staging-xcm", "xcm-emulator", @@ -4471,7 +4470,7 @@ dependencies = [ "hyper", "jsonrpsee-types", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "rustc-hash", "serde", "serde_json", @@ -4597,7 +4596,7 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core 28.0.0", + "sp-core", "sp-runtime", "sp-weights", "staging-xcm-builder", @@ -4707,7 +4706,7 @@ dependencies = [ "parking_lot 0.12.1", "pin-project", "quick-protobuf", - "rand 0.8.5", + "rand", "rw-stream-sink", "smallvec", "thiserror", @@ -4763,7 +4762,7 @@ dependencies = [ "multiaddr", "multihash", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "thiserror", "zeroize", @@ -4788,7 +4787,7 @@ dependencies = [ "libp2p-swarm", "log", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "smallvec", "thiserror", @@ -4810,7 +4809,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "smallvec", "socket2 0.4.10", "tokio", @@ -4846,7 +4845,7 @@ dependencies = [ "log", "once_cell", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "snow", "static_assertions", @@ -4868,7 +4867,7 @@ dependencies = [ "libp2p-core", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "void", ] @@ -4888,7 +4887,7 @@ dependencies = [ "log", "parking_lot 0.12.1", "quinn-proto", - "rand 0.8.5", + "rand", "rustls 0.20.9", "thiserror", "tokio", @@ -4906,7 +4905,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "rand", "smallvec", ] @@ -4925,7 +4924,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm-derive", "log", - "rand 0.8.5", + "rand", "smallvec", "tokio", "void", @@ -5047,7 +5046,7 @@ dependencies = [ "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand 0.8.5", + "rand", "serde", "sha2 0.9.9", "typenum", @@ -5396,7 +5395,7 @@ dependencies = [ "lioness", "log", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "rand_distr", "subtle 2.5.0", @@ -5778,11 +5777,11 @@ dependencies = [ "pallet-identity", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-core-hashing 15.0.0", + "sp-core", + "sp-core-hashing", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -5798,10 +5797,10 @@ dependencies = [ "scale-info", "sp-api", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -5817,7 +5816,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -5831,9 +5830,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -5849,10 +5848,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -5867,9 +5866,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -5887,7 +5886,7 @@ dependencies = [ "sp-application-crypto", "sp-consensus-aura", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -5904,7 +5903,7 @@ dependencies = [ "sp-application-crypto", "sp-authority-discovery", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -5919,7 +5918,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -5939,12 +5938,12 @@ dependencies = [ "scale-info", "sp-application-crypto", "sp-consensus-babe", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -5963,11 +5962,11 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", - "sp-tracing 16.0.0", + "sp-std", + "sp-tracing", ] [[package]] @@ -5983,7 +5982,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6004,7 +6003,7 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6026,11 +6025,11 @@ dependencies = [ "serde", "sp-api", "sp-consensus-beefy", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6046,10 +6045,10 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6070,7 +6069,7 @@ dependencies = [ "scale-info", "sp-consensus-grandpa", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-trie", ] @@ -6090,7 +6089,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6111,7 +6110,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-trie", ] @@ -6133,7 +6132,7 @@ dependencies = [ "scale-info", "sp-arithmetic", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6149,9 +6148,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6168,10 +6167,10 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6187,11 +6186,11 @@ dependencies = [ "pallet-authorship", "pallet-session", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sp-runtime", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6206,10 +6205,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6227,7 +6226,7 @@ dependencies = [ "serde", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6243,10 +6242,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6262,14 +6261,14 @@ dependencies = [ "log", "pallet-election-provider-support-benchmarking", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-npos-elections", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "strum", ] @@ -6285,7 +6284,7 @@ dependencies = [ "parity-scale-codec", "sp-npos-elections", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6305,7 +6304,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6322,8 +6321,8 @@ dependencies = [ "pallet-encointer-communities", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", - "sp-std 14.0.0", + "sp-core", + "sp-std", ] [[package]] @@ -6336,7 +6335,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "sp-api", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6359,10 +6358,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-application-crypto", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6375,7 +6374,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "sp-api", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6395,7 +6394,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6407,7 +6406,7 @@ dependencies = [ "encointer-primitives", "parity-scale-codec", "sp-api", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6427,9 +6426,9 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6450,9 +6449,9 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6471,7 +6470,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6491,7 +6490,7 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6507,10 +6506,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6529,12 +6528,12 @@ dependencies = [ "scale-info", "sp-application-crypto", "sp-consensus-grandpa", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6552,7 +6551,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6569,11 +6568,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-application-crypto", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6587,11 +6586,11 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-keyring", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6606,7 +6605,25 @@ dependencies = [ "safe-mix", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", +] + +[[package]] +name = "pallet-membership" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2dfdff5a7e5b21355b34245312ba2ea687444d9003960e7b876e1df518dab" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] @@ -6623,10 +6640,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-weights", ] @@ -6642,11 +6659,11 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-mmr-primitives", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6663,7 +6680,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6681,7 +6698,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6697,10 +6714,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6712,7 +6729,7 @@ dependencies = [ "pallet-nfts", "parity-scale-codec", "sp-api", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6727,9 +6744,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6744,12 +6761,12 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0", - "sp-tracing 16.0.0", + "sp-std", + "sp-tracing", ] [[package]] @@ -6768,9 +6785,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-runtime-interface 24.0.0", + "sp-runtime-interface", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6782,7 +6799,7 @@ dependencies = [ "pallet-nomination-pools", "parity-scale-codec", "sp-api", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6800,7 +6817,7 @@ dependencies = [ "serde", "sp-runtime", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6825,7 +6842,7 @@ dependencies = [ "scale-info", "sp-runtime", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6840,10 +6857,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6859,7 +6876,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6875,10 +6892,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6894,7 +6911,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6914,7 +6931,7 @@ dependencies = [ "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6930,10 +6947,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -6951,7 +6968,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-weights", ] @@ -6968,13 +6985,13 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", "sp-session", "sp-staking", "sp-state-machine", - "sp-std 14.0.0", + "sp-std", "sp-trie", ] @@ -6990,10 +7007,10 @@ dependencies = [ "pallet-session", "pallet-staking", "parity-scale-codec", - "rand 0.8.5", + "rand", "sp-runtime", "sp-session", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7012,7 +7029,7 @@ dependencies = [ "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7036,7 +7053,7 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7084,10 +7101,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7104,7 +7121,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7123,8 +7140,8 @@ dependencies = [ "sp-inherents", "sp-io", "sp-runtime", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-std", + "sp-storage", "sp-timestamp", ] @@ -7139,10 +7156,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7173,9 +7190,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7191,7 +7208,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7205,10 +7222,10 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7224,7 +7241,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7240,7 +7257,7 @@ dependencies = [ "scale-info", "sp-api", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7258,10 +7275,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -7281,7 +7298,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -7303,9 +7320,9 @@ dependencies = [ "pallet-bridge-messages", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -7324,9 +7341,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "staging-xcm", "staging-xcm-builder", ] @@ -7357,10 +7374,10 @@ dependencies = [ "scale-info", "smallvec", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -7391,11 +7408,11 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", - "sp-tracing 16.0.0", + "sp-std", + "sp-tracing", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -7545,15 +7562,6 @@ dependencies = [ "crypto-mac 0.11.0", ] -[[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "pem" version = "1.1.1" @@ -7610,14 +7618,14 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-consensus-aura", - "sp-core 28.0.0", + "sp-core", "sp-genesis-builder", "sp-inherents", "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-std", + "sp-storage", "sp-transaction-pool", "sp-version", "staging-parachain-info", @@ -7711,9 +7719,9 @@ checksum = "bda2b0f0c580c38f12445a4af10e0a23acf48381b2a95653e0be48ba787e10e5" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7728,9 +7736,9 @@ dependencies = [ "polkadot-core-primitives", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-weights", ] @@ -7752,13 +7760,13 @@ dependencies = [ "sp-arithmetic", "sp-authority-discovery", "sp-consensus-slots", - "sp-core 28.0.0", + "sp-core", "sp-inherents", "sp-io", "sp-keystore", "sp-runtime", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -7775,7 +7783,6 @@ dependencies = [ "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", - "hex-literal", "log", "pallet-asset-rate", "pallet-authority-discovery", @@ -7788,14 +7795,14 @@ dependencies = [ "pallet-bounties", "pallet-child-bounties", "pallet-conviction-voting", - "pallet-election-provider-multi-phase 27.0.0", - "pallet-election-provider-support-benchmarking 27.0.0", - "pallet-fast-unstake 27.0.0", + "pallet-election-provider-multi-phase", + "pallet-election-provider-support-benchmarking", + "pallet-fast-unstake", "pallet-grandpa", "pallet-identity", "pallet-im-online", "pallet-indices", - "pallet-message-queue 31.0.0", + "pallet-message-queue", "pallet-mmr", "pallet-multisig", "pallet-nomination-pools", @@ -7813,20 +7820,20 @@ dependencies = [ "pallet-staking-reward-curve", "pallet-staking-reward-fn", "pallet-staking-runtime-api", - "pallet-timestamp 27.0.0", - "pallet-transaction-payment 28.0.0", - "pallet-transaction-payment-rpc-runtime-api 28.0.0", - "pallet-treasury 27.0.0", - "pallet-utility 28.0.0", - "pallet-vesting 28.0.0", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", "pallet-whitelist", - "pallet-xcm 7.0.0", - "pallet-xcm-benchmarks 7.0.4", + "pallet-xcm", + "pallet-xcm-benchmarks", "parity-scale-codec", "polkadot-primitives", "polkadot-runtime-common", "polkadot-runtime-constants", - "polkadot-runtime-parachains 7.0.0", + "polkadot-runtime-parachains", "scale-info", "separator", "serde_json", @@ -7837,27 +7844,27 @@ dependencies = [ "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", - "sp-core 28.0.0", - "sp-debug-derive 14.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-keyring 31.0.0", - "sp-npos-elections 26.0.0", - "sp-offchain 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", - "sp-staking 26.0.0", - "sp-std 14.0.0", - "sp-storage 19.0.0", - "sp-tracing 16.0.0", - "sp-transaction-pool 26.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", - "substrate-wasm-builder 17.0.0", + "sp-core", + "sp-debug-derive", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-npos-elections", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-transaction-pool", + "sp-trie", + "sp-version", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", "tiny-keccak", "tokio", ] @@ -7884,31 +7891,31 @@ dependencies = [ "pallet-election-provider-multi-phase", "pallet-fast-unstake", "pallet-identity", - "pallet-session 28.0.0", - "pallet-staking 28.0.0", - "pallet-staking-reward-fn 19.0.0", - "pallet-timestamp 27.0.0", - "pallet-transaction-payment 28.0.0", - "pallet-treasury 27.0.0", - "pallet-vesting 28.0.0", - "pallet-xcm-benchmarks 7.0.4", - "parity-scale-codec", - "polkadot-primitives 7.0.0", - "polkadot-runtime-parachains 7.0.0", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-fn", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-treasury", + "pallet-vesting", + "pallet-xcm-benchmarks", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-parachains", "rustc-hex", "scale-info", "serde", "serde_derive", "slot-range-helper", "sp-api", - "sp-core 28.0.0", + "sp-core", "sp-inherents", "sp-io", "sp-npos-elections", "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0", + "sp-std", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -7923,7 +7930,7 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core 28.0.0", + "sp-core", "sp-runtime", "sp-weights", "staging-xcm-builder", @@ -7939,8 +7946,8 @@ dependencies = [ "frame-benchmarking", "parity-scale-codec", "polkadot-primitives", - "sp-std 14.0.0", - "sp-tracing 16.0.0", + "sp-std", + "sp-tracing", ] [[package]] @@ -7972,7 +7979,7 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-metrics", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "rustc-hex", "scale-info", @@ -7980,15 +7987,15 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-inherents", "sp-io", "sp-keystore", "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0", - "sp-tracing 16.0.0", + "sp-std", + "sp-tracing", "staging-xcm", "staging-xcm-executor", "static_assertions", @@ -8322,7 +8329,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863" dependencies = [ "bytes", - "rand 0.8.5", + "rand", "ring 0.16.20", "rustc-hash", "rustls 0.20.9", @@ -8348,19 +8355,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] - [[package]] name = "rand" version = "0.8.5" @@ -8417,16 +8411,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", + "rand", ] [[package]] @@ -8641,7 +8626,7 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core 28.0.0", + "sp-core", "sp-runtime", "sp-weights", "staging-xcm", @@ -8847,8 +8832,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43b05714bc70605d5f8983612d1643d875cd4782ef53a8720907a0eb75070cba" dependencies = [ "log", - "sp-core 28.0.0", - "sp-wasm-interface 20.0.0", + "sp-core", + "sp-wasm-interface", "thiserror", ] @@ -8862,7 +8847,7 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core 28.0.0", + "sp-core", "sp-inherents", "sp-runtime", "sp-trie", @@ -8887,7 +8872,7 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core 28.0.0", + "sp-core", "sp-genesis-builder", "sp-io", "sp-runtime", @@ -8923,13 +8908,13 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 28.0.0", + "sp-core", "sp-database", - "sp-externalities 0.25.0", + "sp-externalities", "sp-runtime", "sp-state-machine", "sp-statement-store", - "sp-storage 19.0.0", + "sp-storage", "sp-trie", "substrate-prometheus-endpoint", ] @@ -8953,7 +8938,7 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 28.0.0", + "sp-core", "sp-runtime", "sp-state-machine", "substrate-prometheus-endpoint", @@ -8977,7 +8962,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -8996,7 +8981,7 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", - "sp-core 28.0.0", + "sp-core", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", @@ -9015,14 +9000,14 @@ dependencies = [ "sc-executor-wasmtime", "schnellru", "sp-api", - "sp-core 28.0.0", - "sp-externalities 0.25.0", + "sp-core", + "sp-externalities", "sp-io", "sp-panic-handler", - "sp-runtime-interface 24.0.0", + "sp-runtime-interface", "sp-trie", "sp-version", - "sp-wasm-interface 20.0.0", + "sp-wasm-interface", "tracing", ] @@ -9034,7 +9019,7 @@ checksum = "0285a4a14c0d2c1d04380ff83cddd79181ded510c605d36804cb9c6eb3bbf2ae" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", - "sp-wasm-interface 20.0.0", + "sp-wasm-interface", "thiserror", "wasm-instrument", ] @@ -9053,8 +9038,8 @@ dependencies = [ "rustix 0.36.17", "sc-allocator", "sc-executor-common", - "sp-runtime-interface 24.0.0", - "sp-wasm-interface 20.0.0", + "sp-runtime-interface", + "sp-wasm-interface", "wasmtime", ] @@ -9081,7 +9066,7 @@ dependencies = [ "sc-transaction-pool-api", "sp-api", "sp-consensus", - "sp-core 28.0.0", + "sp-core", "sp-keystore", "sp-mixnet", "sp-runtime", @@ -9112,7 +9097,7 @@ dependencies = [ "parking_lot 0.12.1", "partial_sort", "pin-project", - "rand 0.8.5", + "rand", "sc-client-api", "sc-network-common", "sc-utils", @@ -9121,7 +9106,7 @@ dependencies = [ "smallvec", "sp-arithmetic", "sp-blockchain", - "sp-core 28.0.0", + "sp-core", "sp-runtime", "substrate-prometheus-endpoint", "thiserror", @@ -9199,7 +9184,7 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", - "sp-core 28.0.0", + "sp-core", "sp-runtime", "substrate-prometheus-endpoint", "thiserror", @@ -9221,7 +9206,7 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core 28.0.0", + "sp-core", "sp-rpc", "sp-runtime", "sp-version", @@ -9240,7 +9225,7 @@ dependencies = [ "log", "parking_lot 0.12.1", "pin-project", - "rand 0.8.5", + "rand", "sc-utils", "serde", "serde_json", @@ -9260,7 +9245,7 @@ dependencies = [ "parity-scale-codec", "serde", "sp-blockchain", - "sp-core 28.0.0", + "sp-core", "sp-runtime", "thiserror", ] @@ -9336,9 +9321,7 @@ dependencies = [ "arrayref", "arrayvec 0.5.2", "curve25519-dalek 2.1.3", - "getrandom 0.1.16", "merlin 2.0.1", - "rand 0.7.3", "rand_core 0.5.1", "sha2 0.8.2", "subtle 2.5.0", @@ -9400,31 +9383,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" -dependencies = [ - "secp256k1-sys 0.6.1", -] - [[package]] name = "secp256k1" version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f622567e3b4b38154fb8190bcf6b160d7a4301d70595a49195b48c116007a27" dependencies = [ - "secp256k1-sys 0.9.2", -] - -[[package]] -name = "secp256k1-sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" -dependencies = [ - "cc", + "secp256k1-sys", ] [[package]] @@ -9678,7 +9643,7 @@ dependencies = [ "parity-scale-codec", "paste", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -9748,7 +9713,7 @@ dependencies = [ "http", "httparse", "log", - "rand 0.8.5", + "rand", "sha-1", ] @@ -9763,12 +9728,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api-proc-macro", - "sp-core 28.0.0", - "sp-externalities 0.25.0", + "sp-core", + "sp-externalities", "sp-metadata-ir", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0", + "sp-std", "sp-trie", "sp-version", "thiserror", @@ -9798,9 +9763,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-io", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -9814,7 +9779,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0", + "sp-std", "static_assertions", ] @@ -9829,7 +9794,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -9841,7 +9806,7 @@ dependencies = [ "sp-api", "sp-inherents", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -9872,7 +9837,7 @@ dependencies = [ "async-trait", "futures", "log", - "sp-core 28.0.0", + "sp-core", "sp-inherents", "sp-runtime", "sp-state-machine", @@ -9893,7 +9858,7 @@ dependencies = [ "sp-consensus-slots", "sp-inherents", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-timestamp", ] @@ -9910,10 +9875,10 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-consensus-slots", - "sp-core 28.0.0", + "sp-core", "sp-inherents", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-timestamp", ] @@ -9929,11 +9894,11 @@ dependencies = [ "serde", "sp-api", "sp-application-crypto", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-mmr-primitives", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "strum", ] @@ -9950,10 +9915,10 @@ dependencies = [ "serde", "sp-api", "sp-application-crypto", - "sp-core 28.0.0", + "sp-core", "sp-keystore", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -9965,57 +9930,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0", + "sp-std", "sp-timestamp", ] -[[package]] -name = "sp-core" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9ebb090ead698a6df04347c86a31ba91a387edb8a58534ec70c4f977d1e1e87" -dependencies = [ - "array-bytes 6.2.2", - "bitflags 1.3.2", - "blake2 0.10.6", - "bounded-collections", - "bs58 0.5.0", - "dyn-clonable", - "ed25519-zebra", - "futures", - "hash-db", - "hash256-std-hasher", - "impl-serde", - "lazy_static", - "libsecp256k1", - "log", - "merlin 2.0.1", - "parity-scale-codec", - "parking_lot 0.12.1", - "paste", - "primitive-types", - "rand 0.8.5", - "regex", - "scale-info", - "schnorrkel 0.9.1", - "secp256k1 0.24.3", - "secrecy", - "serde", - "sp-core-hashing 13.0.0", - "sp-debug-derive 12.0.0", - "sp-externalities 0.23.0", - "sp-runtime-interface 21.0.0", - "sp-std 12.0.0", - "sp-storage 17.0.0", - "ss58-registry", - "substrate-bip39", - "thiserror", - "tiny-bip39", - "tracing", - "w3f-bls", - "zeroize", -] - [[package]] name = "sp-core" version = "28.0.0" @@ -10042,18 +9960,18 @@ dependencies = [ "parking_lot 0.12.1", "paste", "primitive-types", - "rand 0.8.5", + "rand", "scale-info", "schnorrkel 0.11.4", - "secp256k1 0.28.1", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 15.0.0", - "sp-debug-derive 14.0.0", - "sp-externalities 0.25.0", - "sp-runtime-interface 24.0.0", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-core-hashing", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", "ss58-registry", "substrate-bip39", "thiserror", @@ -10062,20 +9980,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "sp-core-hashing" -version = "13.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb8524f01591ee58b46cd83c9dbc0fcffd2fd730dabec4f59326cd58a00f17e2" -dependencies = [ - "blake2b_simd", - "byteorder", - "digest 0.10.7", - "sha2 0.10.8", - "sha3", - "twox-hash", -] - [[package]] name = "sp-core-hashing" version = "15.0.0" @@ -10097,7 +10001,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7527f8dda7667c41009b2cd0efaddcb81709b9741bd5ee6d17b11bad835cc698" dependencies = [ "quote", - "sp-core-hashing 15.0.0", + "sp-core-hashing", "syn 2.0.48", ] @@ -10111,17 +10015,6 @@ dependencies = [ "parking_lot 0.12.1", ] -[[package]] -name = "sp-debug-derive" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50535e1a5708d3ba5c1195b59ebefac61cc8679c2c24716b87a86e8b7ed2e4a1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "sp-debug-derive" version = "14.0.0" @@ -10133,18 +10026,6 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "sp-externalities" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884d05160bc89d0943d1c9fb8006c3d44b80f37f8af607aeff8d4d9cc82e279a" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-std 12.0.0", - "sp-storage 17.0.0", -] - [[package]] name = "sp-externalities" version = "0.25.0" @@ -10153,8 +10034,8 @@ checksum = "63867ec85950ced90d4ab1bba902a47db1b1efdf2829f653945669b2bb470a9c" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-std", + "sp-storage", ] [[package]] @@ -10166,7 +10047,7 @@ dependencies = [ "serde_json", "sp-api", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -10180,7 +10061,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "thiserror", ] @@ -10196,14 +10077,14 @@ dependencies = [ "log", "parity-scale-codec", "rustversion", - "secp256k1 0.28.1", - "sp-core 28.0.0", - "sp-externalities 0.25.0", + "secp256k1", + "sp-core", + "sp-externalities", "sp-keystore", - "sp-runtime-interface 24.0.0", + "sp-runtime-interface", "sp-state-machine", - "sp-std 14.0.0", - "sp-tracing 16.0.0", + "sp-std", + "sp-tracing", "sp-trie", "tracing", "tracing-core", @@ -10215,7 +10096,7 @@ version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98165ce7c625a8cdb88d39c6bbd56fe8b32ada64ed0894032beba99795f557da" dependencies = [ - "sp-core 28.0.0", + "sp-core", "sp-runtime", "strum", ] @@ -10228,8 +10109,8 @@ checksum = "96806a28a62ed9ddecd0b28857b1344d029390f7c5c42a2ff9199cbf5638635c" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", - "sp-core 28.0.0", - "sp-externalities 0.25.0", + "sp-core", + "sp-externalities", "thiserror", ] @@ -10252,7 +10133,7 @@ dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -10265,7 +10146,7 @@ dependencies = [ "scale-info", "sp-api", "sp-application-crypto", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -10280,10 +10161,10 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-core 28.0.0", - "sp-debug-derive 14.0.0", + "sp-core", + "sp-debug-derive", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "thiserror", ] @@ -10297,9 +10178,9 @@ dependencies = [ "scale-info", "serde", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -10309,7 +10190,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb45b3e397dc9c7b81cb2d8d641d0bcb1f525b60e83835783413ba73b3f61ac9" dependencies = [ "sp-api", - "sp-core 28.0.0", + "sp-core", "sp-runtime", ] @@ -10332,7 +10213,7 @@ checksum = "8a55f2c7660b579627d22932ecfe2e5f001a7671d2fa77667387517c7f80e6fb" dependencies = [ "rustc-hash", "serde", - "sp-core 28.0.0", + "sp-core", ] [[package]] @@ -10348,37 +10229,18 @@ dependencies = [ "log", "parity-scale-codec", "paste", - "rand 0.8.5", + "rand", "scale-info", "serde", "simple-mermaid", "sp-application-crypto", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-io", - "sp-std 14.0.0", + "sp-std", "sp-weights", ] -[[package]] -name = "sp-runtime-interface" -version = "21.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f365332922a8cfa98ab00c6d08b1b0f24e159e730dd554e720d950ff3371b1f" -dependencies = [ - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec", - "primitive-types", - "sp-externalities 0.23.0", - "sp-runtime-interface-proc-macro 15.0.0", - "sp-std 12.0.0", - "sp-storage 17.0.0", - "sp-tracing 14.0.0", - "sp-wasm-interface 18.0.0", - "static_assertions", -] - [[package]] name = "sp-runtime-interface" version = "24.0.0" @@ -10389,28 +10251,15 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.25.0", - "sp-runtime-interface-proc-macro 17.0.0", - "sp-std 14.0.0", - "sp-storage 19.0.0", - "sp-tracing 16.0.0", - "sp-wasm-interface 20.0.0", + "sp-externalities", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", "static_assertions", ] -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2afcbd1bd18d323371111b66b7ac2870bdc1c86c3d7b0dae67b112ca52b4d8" -dependencies = [ - "Inflector", - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" @@ -10434,11 +10283,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 28.0.0", + "sp-core", "sp-keystore", "sp-runtime", "sp-staking", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -10451,9 +10300,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -10466,12 +10315,12 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "smallvec", - "sp-core 28.0.0", - "sp-externalities 0.25.0", + "sp-core", + "sp-externalities", "sp-panic-handler", - "sp-std 14.0.0", + "sp-std", "sp-trie", "thiserror", "tracing", @@ -10489,46 +10338,26 @@ dependencies = [ "ed25519-dalek", "hkdf", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sha2 0.10.8", "sp-api", "sp-application-crypto", - "sp-core 28.0.0", - "sp-externalities 0.25.0", + "sp-core", + "sp-externalities", "sp-runtime", - "sp-runtime-interface 24.0.0", - "sp-std 14.0.0", + "sp-runtime-interface", + "sp-std", "thiserror", "x25519-dalek 2.0.0", ] -[[package]] -name = "sp-std" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c78c5a66682568cc7b153603c5d01a2cc8f5c221c7b1e921517a0eef18ae05" - [[package]] name = "sp-std" version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834" -[[package]] -name = "sp-storage" -version = "17.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016f20812cc51bd479cc88d048c35d44cd3adde4accdb159d49d6050f2953595" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 12.0.0", - "sp-std 12.0.0", -] - [[package]] name = "sp-storage" version = "19.0.0" @@ -10539,8 +10368,8 @@ dependencies = [ "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0", - "sp-std 14.0.0", + "sp-debug-derive", + "sp-std", ] [[package]] @@ -10553,23 +10382,10 @@ dependencies = [ "parity-scale-codec", "sp-inherents", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "thiserror", ] -[[package]] -name = "sp-tracing" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d727cb5265641ffbb7d4e42c18b63e29f6cfdbd240aae3bcf093c3d6eb29a19" -dependencies = [ - "parity-scale-codec", - "sp-std 12.0.0", - "tracing", - "tracing-core", - "tracing-subscriber", -] - [[package]] name = "sp-tracing" version = "16.0.0" @@ -10577,7 +10393,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0351810b9d074df71c4514c5228ed05c250607cba131c1c9d1526760ab69c05c" dependencies = [ "parity-scale-codec", - "sp-std 14.0.0", + "sp-std", "tracing", "tracing-core", "tracing-subscriber", @@ -10606,12 +10422,12 @@ dependencies = [ "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "scale-info", "schnellru", - "sp-core 28.0.0", - "sp-externalities 0.25.0", - "sp-std 14.0.0", + "sp-core", + "sp-externalities", + "sp-std", "thiserror", "tracing", "trie-db", @@ -10631,7 +10447,7 @@ dependencies = [ "serde", "sp-core-hashing-proc-macro", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-version-proc-macro", "thiserror", ] @@ -10648,20 +10464,6 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "sp-wasm-interface" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d85813d46a22484cdf5e5afddbbe85442dd1b4d84d67a8c7792f92f9f93607" -dependencies = [ - "anyhow", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "sp-std 12.0.0", - "wasmtime", -] - [[package]] name = "sp-wasm-interface" version = "20.0.0" @@ -10672,7 +10474,7 @@ dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 14.0.0", + "sp-std", "wasmtime", ] @@ -10688,8 +10490,8 @@ dependencies = [ "serde", "smallvec", "sp-arithmetic", - "sp-debug-derive 14.0.0", - "sp-std 14.0.0", + "sp-debug-derive", + "sp-std", ] [[package]] @@ -10751,9 +10553,9 @@ name = "staging-kusama-runtime" version = "1.0.0" dependencies = [ "binary-merkle-tree", - "frame-benchmarking 28.0.0", - "frame-election-provider-support 28.0.0", - "frame-executive 28.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-executive", "frame-remote-externalities", "frame-support", "frame-system", @@ -10774,14 +10576,14 @@ dependencies = [ "pallet-bounties", "pallet-child-bounties", "pallet-conviction-voting", - "pallet-election-provider-multi-phase 27.0.0", - "pallet-election-provider-support-benchmarking 27.0.0", - "pallet-fast-unstake 27.0.0", + "pallet-election-provider-multi-phase", + "pallet-election-provider-support-benchmarking", + "pallet-fast-unstake", "pallet-grandpa", "pallet-identity", "pallet-im-online", "pallet-indices", - "pallet-message-queue 31.0.0", + "pallet-message-queue", "pallet-mmr", "pallet-multisig", "pallet-nis", @@ -10802,49 +10604,49 @@ dependencies = [ "pallet-staking", "pallet-staking-runtime-api", "pallet-state-trie-migration", - "pallet-timestamp 27.0.0", - "pallet-transaction-payment 28.0.0", - "pallet-transaction-payment-rpc-runtime-api 28.0.0", - "pallet-treasury 27.0.0", - "pallet-utility 28.0.0", - "pallet-vesting 28.0.0", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", "pallet-whitelist", - "pallet-xcm 7.0.0", - "pallet-xcm-benchmarks 7.0.4", + "pallet-xcm", + "pallet-xcm-benchmarks", "parity-scale-codec", - "polkadot-primitives 7.0.0", - "polkadot-runtime-common 7.0.0", - "polkadot-runtime-parachains 7.0.0", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", "scale-info", "separator", "serde_json", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", - "sp-authority-discovery 26.0.0", - "sp-block-builder 26.0.0", - "sp-consensus-babe 0.32.0", + "sp-api", + "sp-arithmetic", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", "sp-consensus-beefy", - "sp-core 28.0.0", - "sp-debug-derive 14.0.0", - "sp-genesis-builder 0.7.0", - "sp-inherents 26.0.0", - "sp-io 30.0.0", - "sp-keyring 31.0.0", - "sp-npos-elections 26.0.0", - "sp-offchain 26.0.0", - "sp-runtime 31.0.1", - "sp-session 27.0.0", - "sp-staking 26.0.0", - "sp-std 14.0.0", - "sp-storage 19.0.0", - "sp-tracing 16.0.0", - "sp-transaction-pool 26.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", - "staging-xcm 7.0.0", - "staging-xcm-builder 7.0.3", - "staging-xcm-executor 7.0.3", - "substrate-wasm-builder 17.0.0", + "sp-core", + "sp-debug-derive", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-npos-elections", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-transaction-pool", + "sp-trie", + "sp-version", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", "tiny-keccak", "tokio", ] @@ -10861,7 +10663,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0", + "sp-std", ] [[package]] @@ -10900,7 +10702,7 @@ dependencies = [ "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-weights", "staging-xcm", "staging-xcm-executor", @@ -10920,10 +10722,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", + "sp-std", "sp-weights", "staging-xcm", ] @@ -10969,7 +10771,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e620c7098893ba667438b47169c00aacdd9e7c10e042250ce2b60b087ec97328" dependencies = [ "hmac 0.11.0", - "pbkdf2 0.8.0", + "pbkdf2", "schnorrkel 0.9.1", "sha2 0.9.9", "zeroize", @@ -11234,25 +11036,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "tiny-bip39" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" -dependencies = [ - "anyhow", - "hmac 0.12.1", - "once_cell", - "pbkdf2 0.11.0", - "rand 0.8.5", - "rustc-hash", - "sha2 0.10.8", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tiny-keccak" version = "2.0.2" @@ -11313,7 +11096,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" dependencies = [ "pin-project", - "rand 0.8.5", + "rand", "tokio", ] @@ -11555,7 +11338,7 @@ dependencies = [ "idna 0.2.3", "ipnet", "lazy_static", - "rand 0.8.5", + "rand", "smallvec", "socket2 0.4.10", "thiserror", @@ -11605,7 +11388,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand 0.8.5", + "rand", "static_assertions", ] @@ -11750,7 +11533,7 @@ dependencies = [ "arrayref", "constcat", "digest 0.10.7", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "rand_core 0.6.4", "sha2 0.10.8", @@ -12105,7 +11888,7 @@ dependencies = [ "memfd", "memoffset", "paste", - "rand 0.8.5", + "rand", "rustix 0.36.17", "wasmtime-asm-macros", "wasmtime-environ", @@ -12170,7 +11953,7 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core 28.0.0", + "sp-core", "sp-runtime", "sp-weights", "staging-xcm", @@ -12547,11 +12330,11 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-parachains", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0", - "sp-tracing 16.0.0", + "sp-std", + "sp-tracing", "staging-xcm", "staging-xcm-executor", ] @@ -12578,7 +12361,7 @@ dependencies = [ "log", "nohash-hasher", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "static_assertions", ] diff --git a/chain-spec-generator/Cargo.toml b/chain-spec-generator/Cargo.toml index d40dde2b16..5de1b773e7 100644 --- a/chain-spec-generator/Cargo.toml +++ b/chain-spec-generator/Cargo.toml @@ -39,8 +39,9 @@ bridge-hub-kusama-runtime = { path = "../system-parachains/bridge-hubs/bridge-hu encointer-kusama-runtime = { path = "../system-parachains/encointer" } glutton-kusama-runtime = { path = "../system-parachains/gluttons/glutton-kusama" } -# encointer is not migrated to the latest release, so we use compatible deps, when needed -sp-core-encointer-compatible = { package = "sp-core", version = "25.0.0" } +# Encointer is(could be) not migrated to the latest release, so we use compatible deps, when needed +# (if so, then just set this version according to the actual encointer) +# sp-core-encointer-compatible = { package = "sp-core", version = "28.0.0" } [features] fast-runtime = [ From 88e2f24fd4c31fbe8dbc65220d6977885a8957f0 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 26 Feb 2024 11:23:36 +0100 Subject: [PATCH 07/17] fnt --- system-parachains/encointer/src/lib.rs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/system-parachains/encointer/src/lib.rs b/system-parachains/encointer/src/lib.rs index 5753c23f16..e6e1669d22 100644 --- a/system-parachains/encointer/src/lib.rs +++ b/system-parachains/encointer/src/lib.rs @@ -37,6 +37,7 @@ mod weights; pub mod xcm_config; use codec::{Decode, Encode, MaxEncodedLen}; use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases; +use cumulus_primitives_core::{AggregateMessageOrigin, ParaId}; use deal_with_fees::FeesToTreasury; use encointer_balances_tx_payment::{AssetBalanceOf, AssetIdOf, BalanceToCommunityBalance}; pub use encointer_primitives::{ @@ -47,13 +48,8 @@ pub use encointer_primitives::{ communities::{CommunityIdentifier, Location}, scheduler::CeremonyPhaseType, }; -use parachains_common::message_queue::NarrowOriginToSibling; -use cumulus_primitives_core::AggregateMessageOrigin; -use parachains_common::message_queue::ParaIdToSibling; -use cumulus_primitives_core::ParaId; use frame_support::traits::TransformOrigin; - - +use parachains_common::message_queue::{NarrowOriginToSibling, ParaIdToSibling}; use frame_support::{ construct_runtime, From 8ed52d8349dff57ac4ae882fd046aad8b4b4cff8 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 26 Feb 2024 11:38:43 +0100 Subject: [PATCH 08/17] More fixes --- chain-spec-generator/Cargo.toml | 4 ++-- .../src/system_parachains_specs.rs | 22 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/chain-spec-generator/Cargo.toml b/chain-spec-generator/Cargo.toml index 5de1b773e7..bbf235c07f 100644 --- a/chain-spec-generator/Cargo.toml +++ b/chain-spec-generator/Cargo.toml @@ -40,8 +40,8 @@ encointer-kusama-runtime = { path = "../system-parachains/encointer" } glutton-kusama-runtime = { path = "../system-parachains/gluttons/glutton-kusama" } # Encointer is(could be) not migrated to the latest release, so we use compatible deps, when needed -# (if so, then just set this version according to the actual encointer) -# sp-core-encointer-compatible = { package = "sp-core", version = "28.0.0" } +# (if so, uncomment and set this version according to the actual encointer + check `fn encointer_kusama_genesis`) +# sp-core-encointer-compatible = { package = "sp-core", version = "29.0.0" } [features] fast-runtime = [ diff --git a/chain-spec-generator/src/system_parachains_specs.rs b/chain-spec-generator/src/system_parachains_specs.rs index fe3659b5ba..3d551bccd6 100644 --- a/chain-spec-generator/src/system_parachains_specs.rs +++ b/chain-spec-generator/src/system_parachains_specs.rs @@ -518,15 +518,17 @@ pub fn glutton_kusama_local_testnet_config() -> Result, Strin // EncointerKusama fn encointer_kusama_genesis(endowed_accounts: Vec, id: u32) -> serde_json::Value { - // The Encointer may not be migrated to the latest release, so we use compatible dependencies. - fn get_from_seed( - seed: &str, - ) -> ::Public { - use sp_core_encointer_compatible::Pair; - TPublic::Pair::from_string(&format!("//{}", seed), None) - .expect("static values are valid; qed") - .public() - } + // The Encointer is(could be) not be migrated to the latest release, so we use compatible + // dependencies. (if so, uncomment this and set version for `sp_core_encointer_compatible` + // according to the actual encointer in Cargo.toml`) use sp_core_encointer_compatible as + // sp_core; fn get_from_seed( + // seed: &str, + // ) -> ::Public { + // use sp_core_encointer_compatible::Pair; + // TPublic::Pair::from_string(&format!("//{}", seed), None) + // .expect("static values are valid; qed") + // .public() + // } serde_json::json!({ "balances": asset_hub_kusama_runtime::BalancesConfig { @@ -544,7 +546,7 @@ fn encointer_kusama_genesis(endowed_accounts: Vec, id: u32) -> serde_ "safeXcmVersion": Some(SAFE_XCM_VERSION), }, "aura": encointer_kusama_runtime::AuraConfig { - authorities: vec![get_from_seed::("Alice").into()], + authorities: vec![get_from_seed::("Alice").into()], }, }) } From 8cc50742f4fea907d105d1e46fa8a06a510c0e16 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 26 Feb 2024 11:42:12 +0100 Subject: [PATCH 09/17] Replace CurrencyAdapter for FungibleAdapter --- system-parachains/encointer/src/xcm_config.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/system-parachains/encointer/src/xcm_config.rs b/system-parachains/encointer/src/xcm_config.rs index c72ccaff05..73cf3222b4 100644 --- a/system-parachains/encointer/src/xcm_config.rs +++ b/system-parachains/encointer/src/xcm_config.rs @@ -34,12 +34,12 @@ use sp_core::ConstU32; use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, - AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter, - DenyReserveTransferToRelayChain, DenyThenTry, DescribeTerminus, EnsureXcmOrigin, - FixedWeightBounds, FrameTransactionalProcessor, HashedDescription, IsConcrete, NativeAsset, - ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, - SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, - SovereignSignedViaLocation, TakeWeightCredit, TrailingSetTopicAsId, UsingComponents, + AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, DenyReserveTransferToRelayChain, + DenyThenTry, DescribeTerminus, EnsureXcmOrigin, FixedWeightBounds, FrameTransactionalProcessor, + FungibleAdapter, HashedDescription, IsConcrete, NativeAsset, ParentAsSuperuser, ParentIsPreset, + RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, + SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, + TrailingSetTopicAsId, UsingComponents, }; use xcm_executor::XcmExecutor; @@ -68,7 +68,7 @@ pub type LocationToAccountId = ( ); /// Means for transacting the native currency on this chain. -pub type CurrencyTransactor = CurrencyAdapter< +pub type FungibleTransactor = FungibleAdapter< // Use this currency: Balances, // Use this currency when it is a fungible asset matching the given location or name: @@ -154,7 +154,7 @@ pub struct XcmConfig; impl xcm_executor::Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; - type AssetTransactor = CurrencyTransactor; + type AssetTransactor = FungibleTransactor; type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = NativeAsset; /// Only allow teleportation of KSM with other system locations. From 9490a1b23f8fb44918791ed3106b0f0d9c088ad4 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 26 Feb 2024 11:43:57 +0100 Subject: [PATCH 10/17] Removed `cumulus-primitives-timestamp` from Encointer --- Cargo.lock | 15 --------------- system-parachains/encointer/Cargo.toml | 2 -- 2 files changed, 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d888831f28..eba01d6141 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2368,20 +2368,6 @@ dependencies = [ "sp-trie", ] -[[package]] -name = "cumulus-primitives-timestamp" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6d1d900bd9e76607a4a0734cbb2b004d86177d2d6938b5d25eb812c6c1b7500" -dependencies = [ - "cumulus-primitives-core", - "futures", - "parity-scale-codec", - "sp-inherents", - "sp-std", - "sp-timestamp", -] - [[package]] name = "cumulus-primitives-utility" version = "0.7.3" @@ -2912,7 +2898,6 @@ dependencies = [ "cumulus-pallet-xcm", "cumulus-pallet-xcmp-queue", "cumulus-primitives-core", - "cumulus-primitives-timestamp", "cumulus-primitives-utility", "encointer-balances-tx-payment", "encointer-balances-tx-payment-rpc-runtime-api", diff --git a/system-parachains/encointer/Cargo.toml b/system-parachains/encointer/Cargo.toml index e8bf2d15b6..52c778627f 100644 --- a/system-parachains/encointer/Cargo.toml +++ b/system-parachains/encointer/Cargo.toml @@ -86,7 +86,6 @@ cumulus-pallet-parachain-system = { default-features = false, features = [ cumulus-pallet-xcm = { default-features = false, version = "0.7.0" } cumulus-pallet-xcmp-queue = { default-features = false, version = "0.7.0" } cumulus-primitives-core = { default-features = false, version = "0.7.0" } -cumulus-primitives-timestamp = { default-features = false, version = "0.7.0" } cumulus-primitives-utility = { default-features = false, version = "0.7.0" } parachain-info = { package = "staging-parachain-info", default-features = false, version = "0.7.0" } parachains-common = { default-features = false, version = "7.0.0" } @@ -142,7 +141,6 @@ std = [ "cumulus-pallet-xcm/std", "cumulus-pallet-xcmp-queue/std", "cumulus-primitives-core/std", - "cumulus-primitives-timestamp/std", "cumulus-primitives-utility/std", "encointer-balances-tx-payment-rpc-runtime-api/std", "encointer-balances-tx-payment/std", From 498d0782c08f7cdfe854d8c89988f7f8ceb00e08 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 26 Feb 2024 11:46:19 +0100 Subject: [PATCH 11/17] Fix taplo format for Cargo.toml for encointer --- system-parachains/encointer/Cargo.toml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/system-parachains/encointer/Cargo.toml b/system-parachains/encointer/Cargo.toml index 52c778627f..86659ef1d2 100644 --- a/system-parachains/encointer/Cargo.toml +++ b/system-parachains/encointer/Cargo.toml @@ -67,7 +67,7 @@ sp-session = { default-features = false, version = "27.0.0" } sp-std = { default-features = false, version = "14.0.0" } sp-transaction-pool = { default-features = false, version = "26.0.0" } sp-version = { default-features = false, version = "29.0.0" } -sp-genesis-builder = { default-features = false , version = "0.7.0" } +sp-genesis-builder = { default-features = false, version = "0.7.0" } # Polkadot dependencies pallet-xcm = { default-features = false, version = "7.0.0" } @@ -90,8 +90,8 @@ cumulus-primitives-utility = { default-features = false, version = "0.7.0" } parachain-info = { package = "staging-parachain-info", default-features = false, version = "0.7.0" } parachains-common = { default-features = false, version = "7.0.0" } system-parachains-constants = { path = "../constants", default-features = false } -polkadot-core-primitives = { default-features = false, version = "7.0.0"} -polkadot-primitives = { default-features = false , version = "7.0.0" } +polkadot-core-primitives = { default-features = false, version = "7.0.0" } +polkadot-primitives = { default-features = false, version = "7.0.0" } # Used for runtime benchmarking @@ -99,7 +99,7 @@ polkadot-primitives = { default-features = false , version = "7.0.0" } substrate-wasm-builder = { optional = true, version = "17.0.0" } [dev-dependencies] -kusama-runtime-constants = { path = "../../relay/kusama/constants", default-features = false} +kusama-runtime-constants = { path = "../../relay/kusama/constants", default-features = false } [features] default = ["std"] @@ -231,9 +231,9 @@ try-runtime = [ "parachain-info/try-runtime", ] -experimental = [ "pallet-aura/experimental" ] +experimental = ["pallet-aura/experimental"] # A feature that should be enabled when the runtime should be built for on-chain # deployment. This will disable stuff that shouldn't be part of the on-chain wasm # to make it smaller, like logging for example. -on-chain-release-build = [ "sp-api/disable-logging" ] +on-chain-release-build = ["sp-api/disable-logging"] From 804bfc1cb707c6f55fc38ccc2cc063b5522fc7eb Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 26 Feb 2024 11:50:27 +0100 Subject: [PATCH 12/17] Revert new line --- Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 580d33dcce..01efeb50b9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,4 +41,3 @@ opt-level = 3 inherits = "release" lto = true codegen-units = 1 - From 3a88996c46bc7daaad1ec511c993132458d14a70 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 26 Feb 2024 12:14:28 +0100 Subject: [PATCH 13/17] Unify `IsTeleporter` --- system-parachains/encointer/src/xcm_config.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/system-parachains/encointer/src/xcm_config.rs b/system-parachains/encointer/src/xcm_config.rs index 73cf3222b4..2d9c069773 100644 --- a/system-parachains/encointer/src/xcm_config.rs +++ b/system-parachains/encointer/src/xcm_config.rs @@ -148,8 +148,13 @@ impl frame_support::traits::Contains for SafeCallFilter { parameter_types! { pub const MaxAssetsIntoHolding: u32 = 64; - pub const RelayLocation: MultiLocation = MultiLocation::parent(); + pub const KsmRelayLocation: MultiLocation = MultiLocation::parent(); } + +/// Cases where a remote origin is accepted as trusted Teleporter for a given asset: +/// - KSM with the parent Relay Chain and sibling parachains. +pub type TrustedTeleporters = ConcreteAssetFromSystem; + pub struct XcmConfig; impl xcm_executor::Config for XcmConfig { type RuntimeCall = RuntimeCall; @@ -157,8 +162,7 @@ impl xcm_executor::Config for XcmConfig { type AssetTransactor = FungibleTransactor; type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = NativeAsset; - /// Only allow teleportation of KSM with other system locations. - type IsTeleporter = ConcreteAssetFromSystem; + type IsTeleporter = TrustedTeleporters; type UniversalLocation = UniversalLocation; type Barrier = Barrier; type Weigher = FixedWeightBounds; From 111f5c97f9b91e053842e576048bd1ba662d328b Mon Sep 17 00:00:00 2001 From: Adrian Catangiu Date: Mon, 12 Feb 2024 17:52:55 +0200 Subject: [PATCH 14/17] Add P<>K emulated bridge tests Make use of the XCM emulator framework and common components provided by polkadot-sdk@v1.6.0 to reduce amount of boilerplate code in tests. Migrate existing tests to new xcm-emulator format. Add BridgeHubs system parachains emulated tests. Add Polkadot<>Kusama bridge tests, verifying bidirectional transfers of DOT and KSM between Polkadot and Kusama AssetHubs. Signed-off-by: Adrian Catangiu --- Cargo.lock | 2654 +++++++++++++++-- Cargo.toml | 20 +- .../assets/asset-hub-kusama/src/lib.rs | 107 - .../assets/asset-hub-polkadot/Cargo.toml | 35 - .../assets/asset-hub-polkadot/src/lib.rs | 107 - integration-tests/emulated/chains/Cargo.toml | 44 - .../assets/asset-hub-kusama/Cargo.toml | 26 + .../assets/asset-hub-kusama/src/genesis.rs | 71 + .../assets/asset-hub-kusama/src/lib.rs | 59 + .../assets/asset-hub-polkadot/Cargo.toml | 26 + .../assets/asset-hub-polkadot/src/genesis.rs | 68 + .../assets/asset-hub-polkadot/src/lib.rs | 57 + .../bridges/bridge-hub-kusama/Cargo.toml | 25 + .../bridges/bridge-hub-kusama/src/genesis.rs | 77 + .../bridges/bridge-hub-kusama/src/lib.rs | 51 + .../bridges/bridge-hub-polkadot/Cargo.toml | 25 + .../bridge-hub-polkadot/src/genesis.rs | 76 + .../bridges/bridge-hub-polkadot/src/lib.rs | 51 + .../collectives-polkadot/Cargo.toml | 25 + .../collectives-polkadot/src/genesis.rs | 68 + .../collectives-polkadot/src/lib.rs | 52 + .../parachains/testing/penpal/Cargo.toml | 26 + .../parachains/testing/penpal/src/genesis.rs | 71 + .../parachains/testing/penpal/src/lib.rs | 79 + .../emulated/chains/relays/kusama/Cargo.toml | 31 + .../chains/relays/kusama/src/genesis.rs | 127 + .../emulated/chains/relays/kusama/src/lib.rs | 49 + .../chains/relays/polkadot/Cargo.toml | 32 + .../chains/relays/polkadot/src/genesis.rs | 139 + .../chains/relays/polkadot/src/lib.rs | 51 + .../emulated/chains/src/genesis.rs | 650 ---- integration-tests/emulated/chains/src/lib.rs | 348 --- integration-tests/emulated/common/Cargo.toml | 44 - .../emulated/common/src/impls.rs | 786 ----- integration-tests/emulated/common/src/lib.rs | 149 - .../emulated/common/src/macros.rs | 221 -- .../emulated/common/src/xcm_helpers.rs | 72 - integration-tests/emulated/helpers/Cargo.toml | 24 + integration-tests/emulated/helpers/src/lib.rs | 124 + .../kusama-polkadot-system/Cargo.toml | 22 + .../kusama-polkadot-system/src/lib.rs | 100 + .../networks/kusama-system/Cargo.toml | 19 + .../networks/kusama-system/src/lib.rs | 51 + .../networks/polkadot-system/Cargo.toml | 20 + .../networks/polkadot-system/src/lib.rs | 55 + .../assets/asset-hub-kusama/Cargo.toml | 22 +- .../tests/assets/asset-hub-kusama/src/lib.rs | 70 + .../assets/asset-hub-kusama/src/tests/mod.rs | 4 +- .../src/tests/reserve_transfer.rs | 105 +- .../assets/asset-hub-kusama/src/tests/send.rs | 13 +- .../src/tests/set_xcm_versions.rs | 0 .../assets/asset-hub-kusama/src/tests/swap.rs | 46 +- .../asset-hub-kusama/src/tests/teleport.rs | 82 +- .../assets/asset-hub-polkadot/Cargo.toml | 40 + .../assets/asset-hub-polkadot/src/lib.rs | 79 + .../src/tests/fellowship_treasury.rs | 131 + .../asset-hub-polkadot/src/tests/mod.rs | 6 +- .../src/tests/reserve_transfer.rs | 130 +- .../asset-hub-polkadot/src/tests/send.rs | 15 +- .../src/tests/set_xcm_versions.rs | 0 .../asset-hub-polkadot/src/tests/teleport.rs | 116 +- .../asset-hub-polkadot/src/tests/treasury.rs | 126 + .../bridges/bridge-hub-kusama/Cargo.toml | 41 + .../bridges/bridge-hub-kusama/src/lib.rs | 75 + .../src/tests/asset_transfers.rs | 171 ++ .../bridge-hub-kusama/src/tests/mod.rs | 114 + .../bridge-hub-kusama/src/tests/send_xcm.rs | 177 ++ .../bridge-hub-kusama/src/tests/teleport.rs | 30 + .../bridges/bridge-hub-polkadot/Cargo.toml | 37 + .../bridges/bridge-hub-polkadot/src/lib.rs | 71 + .../src/tests/asset_transfers.rs | 173 ++ .../bridge-hub-polkadot/src/tests/mod.rs | 114 + .../bridge-hub-polkadot/src/tests/send_xcm.rs | 177 ++ .../bridge-hub-polkadot/src/tests/teleport.rs | 30 + 74 files changed, 6203 insertions(+), 3006 deletions(-) delete mode 100644 integration-tests/emulated/assets/asset-hub-kusama/src/lib.rs delete mode 100644 integration-tests/emulated/assets/asset-hub-polkadot/Cargo.toml delete mode 100644 integration-tests/emulated/assets/asset-hub-polkadot/src/lib.rs delete mode 100644 integration-tests/emulated/chains/Cargo.toml create mode 100644 integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/Cargo.toml create mode 100644 integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/src/genesis.rs create mode 100644 integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/src/lib.rs create mode 100644 integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/Cargo.toml create mode 100644 integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/src/genesis.rs create mode 100644 integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/src/lib.rs create mode 100644 integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/Cargo.toml create mode 100644 integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/src/genesis.rs create mode 100644 integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/src/lib.rs create mode 100644 integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/Cargo.toml create mode 100644 integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/src/genesis.rs create mode 100644 integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/src/lib.rs create mode 100644 integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/Cargo.toml create mode 100644 integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/src/genesis.rs create mode 100644 integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/src/lib.rs create mode 100644 integration-tests/emulated/chains/parachains/testing/penpal/Cargo.toml create mode 100644 integration-tests/emulated/chains/parachains/testing/penpal/src/genesis.rs create mode 100644 integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs create mode 100644 integration-tests/emulated/chains/relays/kusama/Cargo.toml create mode 100644 integration-tests/emulated/chains/relays/kusama/src/genesis.rs create mode 100644 integration-tests/emulated/chains/relays/kusama/src/lib.rs create mode 100644 integration-tests/emulated/chains/relays/polkadot/Cargo.toml create mode 100644 integration-tests/emulated/chains/relays/polkadot/src/genesis.rs create mode 100644 integration-tests/emulated/chains/relays/polkadot/src/lib.rs delete mode 100644 integration-tests/emulated/chains/src/genesis.rs delete mode 100644 integration-tests/emulated/chains/src/lib.rs delete mode 100644 integration-tests/emulated/common/Cargo.toml delete mode 100644 integration-tests/emulated/common/src/impls.rs delete mode 100644 integration-tests/emulated/common/src/lib.rs delete mode 100644 integration-tests/emulated/common/src/macros.rs delete mode 100644 integration-tests/emulated/common/src/xcm_helpers.rs create mode 100644 integration-tests/emulated/helpers/Cargo.toml create mode 100644 integration-tests/emulated/helpers/src/lib.rs create mode 100644 integration-tests/emulated/networks/kusama-polkadot-system/Cargo.toml create mode 100644 integration-tests/emulated/networks/kusama-polkadot-system/src/lib.rs create mode 100644 integration-tests/emulated/networks/kusama-system/Cargo.toml create mode 100644 integration-tests/emulated/networks/kusama-system/src/lib.rs create mode 100644 integration-tests/emulated/networks/polkadot-system/Cargo.toml create mode 100644 integration-tests/emulated/networks/polkadot-system/src/lib.rs rename integration-tests/emulated/{ => tests}/assets/asset-hub-kusama/Cargo.toml (55%) create mode 100644 integration-tests/emulated/tests/assets/asset-hub-kusama/src/lib.rs rename integration-tests/emulated/{ => tests}/assets/asset-hub-kusama/src/tests/mod.rs (89%) rename integration-tests/emulated/{ => tests}/assets/asset-hub-kusama/src/tests/reserve_transfer.rs (82%) rename integration-tests/emulated/{ => tests}/assets/asset-hub-kusama/src/tests/send.rs (88%) rename integration-tests/emulated/{ => tests}/assets/asset-hub-kusama/src/tests/set_xcm_versions.rs (100%) rename integration-tests/emulated/{ => tests}/assets/asset-hub-kusama/src/tests/swap.rs (88%) rename integration-tests/emulated/{ => tests}/assets/asset-hub-kusama/src/tests/teleport.rs (90%) create mode 100644 integration-tests/emulated/tests/assets/asset-hub-polkadot/Cargo.toml create mode 100644 integration-tests/emulated/tests/assets/asset-hub-polkadot/src/lib.rs create mode 100644 integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/fellowship_treasury.rs rename integration-tests/emulated/{ => tests}/assets/asset-hub-polkadot/src/tests/mod.rs (85%) rename integration-tests/emulated/{ => tests}/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs (82%) rename integration-tests/emulated/{ => tests}/assets/asset-hub-polkadot/src/tests/send.rs (87%) rename integration-tests/emulated/{ => tests}/assets/asset-hub-polkadot/src/tests/set_xcm_versions.rs (100%) rename integration-tests/emulated/{ => tests}/assets/asset-hub-polkadot/src/tests/teleport.rs (88%) create mode 100644 integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/treasury.rs create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-kusama/Cargo.toml create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/lib.rs create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/asset_transfers.rs create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/mod.rs create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/send_xcm.rs create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/teleport.rs create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-polkadot/Cargo.toml create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/lib.rs create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/asset_transfers.rs create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/mod.rs create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/send_xcm.rs create mode 100644 integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/teleport.rs diff --git a/Cargo.lock b/Cargo.lock index fa267bb4da..417028b429 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -110,6 +110,12 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +[[package]] +name = "always-assert" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4436e0292ab1bb631b42973c61205e704475fe8126af845c8d923c0996328127" + [[package]] name = "android-tzdata" version = "0.1.1" @@ -429,16 +435,33 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +[[package]] +name = "asset-hub-kusama-emulated-chain" +version = "0.0.0" +dependencies = [ + "asset-hub-kusama-runtime", + "cumulus-primitives-core 0.7.0", + "emulated-integration-tests-common", + "frame-support 28.0.0", + "kusama-emulated-chain", + "parachains-common 7.0.0", + "serde_json", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "system-parachains-constants", +] + [[package]] name = "asset-hub-kusama-integration-tests" -version = "1.0.0" +version = "0.1.0" dependencies = [ "assert_matches", "asset-hub-kusama-runtime", "asset-test-utils", - "emulated-chains", + "emulated-integration-tests-common", "frame-support 28.0.0", - "integration-tests-common", + "integration-tests-helpers", + "kusama-system-emulated-network", "pallet-asset-conversion", "pallet-assets 29.0.0", "pallet-balances 28.0.0", @@ -451,7 +474,6 @@ dependencies = [ "staging-xcm 7.0.0", "staging-xcm-executor 7.0.3", "system-parachains-constants", - "xcm-emulator", ] [[package]] @@ -537,27 +559,48 @@ dependencies = [ "system-parachains-constants", ] +[[package]] +name = "asset-hub-polkadot-emulated-chain" +version = "0.0.0" +dependencies = [ + "asset-hub-polkadot-runtime", + "cumulus-primitives-core 0.7.0", + "emulated-integration-tests-common", + "frame-support 28.0.0", + "parachains-common 7.0.0", + "polkadot-emulated-chain", + "serde_json", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "system-parachains-constants", +] + [[package]] name = "asset-hub-polkadot-integration-tests" -version = "1.0.0" +version = "0.1.0" dependencies = [ + "assert_matches", "asset-hub-polkadot-runtime", "asset-test-utils", - "emulated-chains", + "cumulus-pallet-parachain-system 0.7.0", + "cumulus-pallet-xcmp-queue 0.7.0", + "emulated-integration-tests-common", "frame-support 28.0.0", - "integration-tests-common", + "integration-tests-helpers", "pallet-assets 29.0.0", "pallet-balances 28.0.0", "pallet-message-queue 31.0.0", + "pallet-treasury 27.0.0", "pallet-xcm 7.0.0", "parachains-common 7.0.0", "parity-scale-codec", "polkadot-runtime", + "polkadot-runtime-common 7.0.0", + "polkadot-system-emulated-network", "sp-runtime 31.0.1", "staging-xcm 7.0.0", "staging-xcm-executor 7.0.3", "system-parachains-constants", - "xcm-emulator", ] [[package]] @@ -1307,6 +1350,48 @@ dependencies = [ "sp-runtime 31.0.1", ] +[[package]] +name = "bridge-hub-kusama-emulated-chain" +version = "0.0.0" +dependencies = [ + "bridge-hub-kusama-runtime", + "cumulus-primitives-core 0.7.0", + "emulated-integration-tests-common", + "frame-support 28.0.0", + "parachains-common 7.0.0", + "serde_json", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "system-parachains-constants", +] + +[[package]] +name = "bridge-hub-kusama-integration-tests" +version = "0.1.0" +dependencies = [ + "bp-messages", + "bridge-hub-kusama-runtime", + "cumulus-pallet-xcmp-queue 0.7.0", + "emulated-integration-tests-common", + "frame-support 28.0.0", + "hex", + "hex-literal", + "integration-tests-helpers", + "kusama-polkadot-system-emulated-network", + "kusama-system-emulated-network", + "pallet-assets 29.0.0", + "pallet-balances 28.0.0", + "pallet-bridge-messages", + "pallet-message-queue 31.0.0", + "pallet-xcm 7.0.0", + "parachains-common 7.0.0", + "parity-scale-codec", + "scale-info", + "sp-runtime 31.0.1", + "staging-xcm 7.0.0", + "staging-xcm-executor 7.0.3", +] + [[package]] name = "bridge-hub-kusama-runtime" version = "1.0.0" @@ -1393,6 +1478,44 @@ dependencies = [ "system-parachains-constants", ] +[[package]] +name = "bridge-hub-polkadot-emulated-chain" +version = "0.0.0" +dependencies = [ + "bridge-hub-polkadot-runtime", + "cumulus-primitives-core 0.7.0", + "emulated-integration-tests-common", + "frame-support 28.0.0", + "parachains-common 7.0.0", + "serde_json", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "system-parachains-constants", +] + +[[package]] +name = "bridge-hub-polkadot-integration-tests" +version = "0.1.0" +dependencies = [ + "bp-messages", + "bridge-hub-polkadot-runtime", + "cumulus-pallet-xcmp-queue 0.7.0", + "emulated-integration-tests-common", + "frame-support 28.0.0", + "integration-tests-helpers", + "kusama-polkadot-system-emulated-network", + "pallet-assets 29.0.0", + "pallet-balances 28.0.0", + "pallet-bridge-messages", + "pallet-message-queue 31.0.0", + "pallet-xcm 7.0.0", + "parachains-common 7.0.0", + "parity-scale-codec", + "sp-runtime 31.0.1", + "staging-xcm 7.0.0", + "staging-xcm-executor 7.0.3", +] + [[package]] name = "bridge-hub-polkadot-runtime" version = "1.0.0" @@ -1818,7 +1941,7 @@ checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" dependencies = [ "core2", "multibase", - "multihash", + "multihash 0.17.0", "serde", "unsigned-varint", ] @@ -1883,6 +2006,7 @@ dependencies = [ "anstyle", "clap_lex", "strsim", + "terminal_size", ] [[package]] @@ -1925,6 +2049,21 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "collectives-polkadot-emulated-chain" +version = "0.0.0" +dependencies = [ + "collectives-polkadot-runtime", + "cumulus-primitives-core 0.7.0", + "emulated-integration-tests-common", + "frame-support 28.0.0", + "parachains-common 7.0.0", + "serde_json", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "system-parachains-constants", +] + [[package]] name = "collectives-polkadot-runtime" version = "1.0.0" @@ -2004,6 +2143,17 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +[[package]] +name = "comfy-table" +version = "7.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686" +dependencies = [ + "strum 0.25.0", + "strum_macros 0.25.3", + "unicode-width", +] + [[package]] name = "common-path" version = "1.0.0" @@ -2110,6 +2260,16 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "cpu-time" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e393a7668fe1fad3075085b86c781883000b4ede868f43627b34a87c8b7ded" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "cpufeatures" version = "0.2.11" @@ -2763,7 +2923,7 @@ dependencies = [ "futures", "jsonrpsee-core", "parity-scale-codec", - "polkadot-overseer", + "polkadot-overseer 4.0.0", "sc-client-api 25.0.0", "sp-api 23.0.0", "sp-blockchain 25.0.0", @@ -3227,34 +3387,38 @@ dependencies = [ ] [[package]] -name = "emulated-chains" -version = "1.0.0" +name = "emulated-integration-tests-common" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff5b923201b2f914787a3d3156826f03879502c09dd8da4471731d0cacef9089" dependencies = [ - "asset-hub-kusama-runtime", - "asset-hub-polkadot-runtime", - "bridge-hub-kusama-runtime", - "bridge-hub-polkadot-runtime", - "collectives-polkadot-runtime", + "asset-test-utils", + "bp-messages", + "bridge-runtime-common", + "cumulus-pallet-parachain-system 0.7.0", + "cumulus-pallet-xcmp-queue 0.7.0", "cumulus-primitives-core 0.7.0", "frame-support 28.0.0", - "integration-tests-common", - "kusama-runtime-constants", + "pallet-assets 29.0.0", + "pallet-balances 28.0.0", + "pallet-bridge-messages", "pallet-im-online", - "pallet-staking 28.0.0", + "pallet-message-queue 31.0.0", + "pallet-xcm 7.0.0", "parachains-common 7.0.0", - "penpal-runtime", - "polkadot-parachain-primitives 6.0.0", + "parity-scale-codec", + "paste", "polkadot-primitives 7.0.0", - "polkadot-runtime", - "polkadot-runtime-constants", "polkadot-runtime-parachains 7.0.0", + "polkadot-service", + "sc-consensus-grandpa", + "serde_json", "sp-authority-discovery 26.0.0", "sp-consensus-babe 0.32.0", "sp-consensus-beefy", - "sp-consensus-grandpa 13.0.0", "sp-core 28.0.0", "sp-runtime 31.0.1", - "staging-kusama-runtime", + "staging-xcm 7.0.0", "xcm-emulator", ] @@ -3654,6 +3818,16 @@ dependencies = [ "libc", ] +[[package]] +name = "fdlimit" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" +dependencies = [ + "libc", + "thiserror", +] + [[package]] name = "ff" version = "0.13.0" @@ -3837,6 +4011,55 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "frame-benchmarking-cli" +version = "32.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69fec078a73892cb5a7146671cf76e3abf23201fefe431a013399ac2e5b03b54" +dependencies = [ + "Inflector", + "array-bytes 6.2.2", + "chrono", + "clap", + "comfy-table", + "frame-benchmarking 28.0.0", + "frame-support 28.0.0", + "frame-system 28.0.0", + "gethostname", + "handlebars", + "itertools 0.10.5", + "lazy_static", + "linked-hash-map", + "log", + "parity-scale-codec", + "rand 0.8.5", + "rand_pcg", + "sc-block-builder 0.33.0", + "sc-cli 0.36.0", + "sc-client-api 28.0.0", + "sc-client-db 0.35.0", + "sc-executor 0.32.0", + "sc-service 0.35.0", + "sc-sysinfo 27.0.0", + "serde", + "serde_json", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-database 10.0.0", + "sp-externalities 0.25.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-storage 19.0.0", + "sp-trie 29.0.0", + "sp-wasm-interface 20.0.0", + "thiserror", + "thousands", +] + [[package]] name = "frame-election-provider-solution-type" version = "12.0.0" @@ -4430,6 +4653,16 @@ dependencies = [ "zeroize", ] +[[package]] +name = "gethostname" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "getrandom" version = "0.1.16" @@ -4578,6 +4811,20 @@ dependencies = [ "tracing", ] +[[package]] +name = "handlebars" +version = "4.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225" +dependencies = [ + "log", + "pest", + "pest_derive", + "serde", + "serde_json", + "thiserror", +] + [[package]] name = "hash-db" version = "0.16.0" @@ -5028,34 +5275,15 @@ dependencies = [ ] [[package]] -name = "integration-tests-common" -version = "1.0.0" +name = "integration-tests-helpers" +version = "0.0.1" dependencies = [ "asset-test-utils", - "bp-messages", - "bridge-runtime-common", - "cumulus-pallet-dmp-queue 0.7.0", - "cumulus-pallet-parachain-system 0.7.0", "cumulus-pallet-xcmp-queue 0.7.0", - "cumulus-primitives-core 0.7.0", - "frame-support 28.0.0", - "pallet-assets 29.0.0", "pallet-balances 28.0.0", - "pallet-bridge-messages", - "pallet-im-online", "pallet-message-queue 31.0.0", "pallet-xcm 7.0.0", - "parachains-common 7.0.0", - "parity-scale-codec", "paste", - "polkadot-primitives 7.0.0", - "polkadot-runtime-parachains 7.0.0", - "sp-authority-discovery 26.0.0", - "sp-consensus-babe 0.32.0", - "sp-consensus-beefy", - "sp-consensus-grandpa 13.0.0", - "sp-core 28.0.0", - "sp-runtime 31.0.1", "staging-xcm 7.0.0", "xcm-emulator", ] @@ -5106,6 +5334,15 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "is_executable" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa9acdc6d67b75e626ad644734e8bc6df893d9cd2a834129065d3dd6158ea9c8" +dependencies = [ + "winapi", +] + [[package]] name = "itertools" version = "0.10.5" @@ -5321,11 +5558,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c33070833c9ee02266356de0c43f723152bd38bd96ddf52c82b3af10c9138b28" [[package]] -name = "kusama-runtime-constants" +name = "kusama-emulated-chain" version = "1.0.0" dependencies = [ - "frame-support 28.0.0", - "polkadot-primitives 7.0.0", + "emulated-integration-tests-common", + "kusama-runtime-constants", + "pallet-im-online", + "parachains-common 7.0.0", + "polkadot-primitives 7.0.0", + "sc-consensus-grandpa", + "serde_json", + "sp-authority-discovery 26.0.0", + "sp-consensus-babe 0.32.0", + "sp-consensus-beefy", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "staging-kusama-runtime", +] + +[[package]] +name = "kusama-polkadot-system-emulated-network" +version = "0.1.0" +dependencies = [ + "asset-hub-kusama-emulated-chain", + "asset-hub-polkadot-emulated-chain", + "bridge-hub-kusama-emulated-chain", + "bridge-hub-polkadot-emulated-chain", + "emulated-integration-tests-common", + "kusama-emulated-chain", + "penpal-emulated-chain", + "polkadot-emulated-chain", +] + +[[package]] +name = "kusama-runtime-constants" +version = "1.0.0" +dependencies = [ + "frame-support 28.0.0", + "polkadot-primitives 7.0.0", "polkadot-runtime-common 7.0.0", "smallvec", "sp-core 28.0.0", @@ -5334,6 +5604,17 @@ dependencies = [ "staging-xcm-builder 7.0.3", ] +[[package]] +name = "kusama-system-emulated-network" +version = "0.1.0" +dependencies = [ + "asset-hub-kusama-emulated-chain", + "bridge-hub-kusama-emulated-chain", + "emulated-integration-tests-common", + "kusama-emulated-chain", + "penpal-emulated-chain", +] + [[package]] name = "kvdb" version = "0.13.0" @@ -5367,6 +5648,17 @@ dependencies = [ "smallvec", ] +[[package]] +name = "landlock" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1530c5b973eeed4ac216af7e24baf5737645a6272e361f1fb95710678b67d9cc" +dependencies = [ + "enumflags2", + "libc", + "thiserror", +] + [[package]] name = "lazy_static" version = "1.4.0" @@ -5472,7 +5764,7 @@ dependencies = [ "libp2p-identity", "log", "multiaddr", - "multihash", + "multihash 0.17.0", "multistream-select", "once_cell", "parking_lot 0.12.1", @@ -5532,7 +5824,7 @@ dependencies = [ "ed25519-dalek", "log", "multiaddr", - "multihash", + "multihash 0.17.0", "quick-protobuf", "rand 0.8.5", "sha2 0.10.8", @@ -6221,6 +6513,43 @@ dependencies = [ "zeroize", ] +[[package]] +name = "mmr-gadget" +version = "29.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d0ba6676a84f182dabd7c3ec2c92f0e882fe4e4179ddf76f02ac132e6eb0ab" +dependencies = [ + "futures", + "log", + "parity-scale-codec", + "sc-client-api 28.0.0", + "sc-offchain", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-consensus-beefy", + "sp-core 28.0.0", + "sp-mmr-primitives", + "sp-runtime 31.0.1", +] + +[[package]] +name = "mmr-rpc" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19066d17147f6819ec25f5f6fc3b9fca2008ae745ac7fa2d55ddb1d207119eae" +dependencies = [ + "anyhow", + "jsonrpsee", + "parity-scale-codec", + "serde", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-mmr-primitives", + "sp-runtime 31.0.1", +] + [[package]] name = "mockall" version = "0.11.4" @@ -6259,7 +6588,7 @@ dependencies = [ "data-encoding", "log", "multibase", - "multihash", + "multihash 0.17.0", "percent-encoding", "serde", "static_assertions", @@ -6289,12 +6618,55 @@ dependencies = [ "blake3", "core2", "digest 0.10.7", - "multihash-derive", + "multihash-derive 0.8.0", "sha2 0.10.8", "sha3", "unsigned-varint", ] +[[package]] +name = "multihash" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfd8a792c1694c6da4f68db0a9d707c72bd260994da179e6030a5dcee00bb815" +dependencies = [ + "core2", + "digest 0.10.7", + "multihash-derive 0.8.0", + "sha2 0.10.8", + "unsigned-varint", +] + +[[package]] +name = "multihash" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" +dependencies = [ + "core2", + "unsigned-varint", +] + +[[package]] +name = "multihash-codetable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6d815ecb3c8238d00647f8630ede7060a642c9f704761cd6082cb4028af6935" +dependencies = [ + "blake2b_simd", + "blake2s_simd", + "blake3", + "core2", + "digest 0.10.7", + "multihash-derive 0.9.0", + "ripemd", + "serde", + "sha1", + "sha2 0.10.8", + "sha3", + "strobe-rs", +] + [[package]] name = "multihash-derive" version = "0.8.0" @@ -6309,6 +6681,31 @@ dependencies = [ "synstructure", ] +[[package]] +name = "multihash-derive" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "890e72cb7396cb99ed98c1246a97b243cc16394470d94e0bc8b0c2c11d84290e" +dependencies = [ + "core2", + "multihash 0.19.1", + "multihash-derive-impl", +] + +[[package]] +name = "multihash-derive-impl" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38685e08adb338659871ecfc6ee47ba9b22dcc8abcf6975d379cc49145c3040" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", + "synstructure", +] + [[package]] name = "multimap" version = "0.8.3" @@ -6365,6 +6762,15 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "names" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" +dependencies = [ + "rand 0.8.5", +] + [[package]] name = "nanorand" version = "0.7.0" @@ -6517,6 +6923,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", + "num-bigint", "num-integer", "num-traits", ] @@ -7337,7 +7744,7 @@ dependencies = [ "sp-npos-elections 23.0.0", "sp-runtime 28.0.0", "sp-std 12.0.0", - "strum", + "strum 0.24.1", ] [[package]] @@ -7361,7 +7768,7 @@ dependencies = [ "sp-npos-elections 26.0.0", "sp-runtime 31.0.1", "sp-std 14.0.0", - "strum", + "strum 0.24.1", ] [[package]] @@ -8435,6 +8842,23 @@ dependencies = [ "sp-std 14.0.0", ] +[[package]] +name = "pallet-transaction-payment-rpc" +version = "30.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba1486d58f38892df779a7812f28ff962d0b0632b955ea3c348f605caa01ba6d" +dependencies = [ + "jsonrpsee", + "pallet-transaction-payment-rpc-runtime-api 28.0.0", + "parity-scale-codec", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-rpc 26.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", +] + [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "25.0.0" @@ -9023,6 +9447,22 @@ dependencies = [ "base64 0.13.1", ] +[[package]] +name = "penpal-emulated-chain" +version = "0.0.0" +dependencies = [ + "cumulus-primitives-core 0.7.0", + "emulated-integration-tests-common", + "frame-support 28.0.0", + "kusama-emulated-chain", + "parachains-common 7.0.0", + "penpal-runtime", + "polkadot-emulated-chain", + "serde_json", + "sp-core 28.0.0", + "sp-runtime 31.0.1", +] + [[package]] name = "penpal-runtime" version = "0.14.3" @@ -9093,6 +9533,51 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +[[package]] +name = "pest" +version = "2.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e1288dbd7786462961e69bfd4df7848c1e37e8b74303dbdab82c3a9cdd2809" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1381c29a877c6d34b8c176e734f35d7f7f5b3adaefe940cb4d1bb7af94678e2e" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "pest_meta" +version = "2.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0934d6907f148c22a3acbda520c7eed243ad7487a30f51f6ce52b58b7077a8a" +dependencies = [ + "once_cell", + "pest", + "sha2 0.10.8", +] + [[package]] name = "petgraph" version = "0.6.4" @@ -9164,118 +9649,767 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" [[package]] -name = "polkadot-core-primitives" -version = "4.0.0" +name = "polkadot-approval-distribution" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b08d1d6ca24e1b13f8069e015cfab794344212dd7436aadd61de8086a82664ef" +checksum = "98fd276eccca3ada04cb274f4b8c51f669087d8b334c775f1231a9194d5260d0" dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "bitvec", + "futures", + "futures-timer", + "itertools 0.10.5", + "polkadot-node-jaeger 7.0.0", + "polkadot-node-metrics 7.0.0", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "rand 0.8.5", + "tracing-gum 7.0.0", ] [[package]] -name = "polkadot-core-primitives" +name = "polkadot-availability-bitfield-distribution" version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda2b0f0c580c38f12445a4af10e0a23acf48381b2a95653e0be48ba787e10e5" +checksum = "51c43e54e0cc47dfb4f7c3917a774ccc796524087515b212d9fe109bde71846e" dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-std 14.0.0", + "always-assert", + "futures", + "futures-timer", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "rand 0.8.5", + "tracing-gum 7.0.0", ] [[package]] -name = "polkadot-node-jaeger" -version = "4.0.0" +name = "polkadot-availability-distribution" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cfe6d4769181dce55b1b8fc53f0bd85bb4aa20473702fbce95a94abafa19379" +checksum = "121ded25722b8505335b05a77f1def84278802ed3f4774c7fe6ab7c961affe06" dependencies = [ - "lazy_static", - "log", - "mick-jaeger", + "derive_more", + "fatality", + "futures", "parity-scale-codec", - "parking_lot 0.12.1", - "polkadot-node-primitives", - "polkadot-primitives 4.0.0", - "sc-network 0.31.0", - "sp-core 25.0.0", + "polkadot-erasure-coding", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "rand 0.8.5", + "schnellru", + "sp-core 28.0.0", + "sp-keystore 0.34.0", "thiserror", - "tokio", + "tracing-gum 7.0.0", ] [[package]] -name = "polkadot-node-metrics" -version = "4.0.0" +name = "polkadot-availability-recovery" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51a586fc3ef87c685588a650c18882b4cf069d8adc0d7d9bd2670749cb4e82b" +checksum = "3902495dbba25e7526168c8f88b26cc0dbb96cfe10813238a650c67b34bf9f31" dependencies = [ - "bs58 0.5.0", + "async-trait", + "fatality", "futures", - "futures-timer", - "log", "parity-scale-codec", - "polkadot-primitives 4.0.0", - "prioritized-metered-channel 0.5.1", - "sc-cli", - "sc-service", - "sc-tracing", - "substrate-prometheus-endpoint 0.16.0", - "tracing-gum", + "polkadot-erasure-coding", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "rand 0.8.5", + "sc-network 0.34.0", + "schnellru", + "thiserror", + "tokio", + "tracing-gum 7.0.0", ] [[package]] -name = "polkadot-node-network-protocol" -version = "4.0.0" +name = "polkadot-collator-protocol" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6de513655bf71400299cda1ccaebfa612fd3965e7ce5a9120b4ff37bfc80931" +checksum = "a70007b246c3679ee43f11123bda6d715f659f7b6d4134d0fcbe8980e049386b" dependencies = [ - "async-channel", - "async-trait", "bitvec", - "derive_more", + "fatality", + "futures", + "futures-timer", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "thiserror", + "tokio-util", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-core-primitives" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b08d1d6ca24e1b13f8069e015cfab794344212dd7436aadd61de8086a82664ef" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-core 25.0.0", + "sp-runtime 28.0.0", + "sp-std 12.0.0", +] + +[[package]] +name = "polkadot-core-primitives" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda2b0f0c580c38f12445a4af10e0a23acf48381b2a95653e0be48ba787e10e5" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "sp-std 14.0.0", +] + +[[package]] +name = "polkadot-dispute-distribution" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84a9b173e02d1f600a422269b3b5a1db203d39f436f7db7d7e41ef6dda6f42e0" +dependencies = [ + "derive_more", + "fatality", + "futures", + "futures-timer", + "indexmap 1.9.3", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "sc-network 0.34.0", + "schnellru", + "sp-application-crypto 30.0.0", + "sp-keystore 0.34.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-emulated-chain" +version = "1.0.0" +dependencies = [ + "emulated-integration-tests-common", + "pallet-im-online", + "pallet-staking 28.0.0", + "parachains-common 7.0.0", + "polkadot-primitives 7.0.0", + "polkadot-runtime", + "polkadot-runtime-constants", + "sc-consensus-grandpa", + "serde_json", + "sp-authority-discovery 26.0.0", + "sp-consensus-babe 0.32.0", + "sp-consensus-beefy", + "sp-core 28.0.0", + "sp-runtime 31.0.1", +] + +[[package]] +name = "polkadot-erasure-coding" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff8347b3528fe94e47ec1b818b06bf821010a5f180d0ac5c89138da0d382debc" +dependencies = [ + "parity-scale-codec", + "polkadot-node-primitives 7.0.0", + "polkadot-primitives 7.0.0", + "reed-solomon-novelpoly", + "sp-core 28.0.0", + "sp-trie 29.0.0", + "thiserror", +] + +[[package]] +name = "polkadot-gossip-support" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4de739371a4b5f036848de5c7185dfee88587016d2bb32af07f38fb909b80d8" +dependencies = [ + "futures", + "futures-timer", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "rand 0.8.5", + "rand_chacha 0.3.1", + "sc-network 0.34.0", + "sc-network-common 0.33.0", + "sp-application-crypto 30.0.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-network-bridge" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4598c9d00dbc017c0f01e82a7c0740805cc500c3b8946ad0b7945ab4d68dd7ee" +dependencies = [ + "always-assert", + "async-trait", + "bytes", + "fatality", + "futures", + "parity-scale-codec", + "parking_lot 0.12.1", + "polkadot-node-metrics 7.0.0", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-subsystem", + "polkadot-overseer 7.0.0", + "polkadot-primitives 7.0.0", + "sc-network 0.34.0", + "sp-consensus 0.32.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-collation-generation" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba987629ab789f529426d6187dbafaa8209f5ee479c645184e4c1e33a59e2135" +dependencies = [ + "futures", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "sp-core 28.0.0", + "sp-maybe-compressed-blob 11.0.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-approval-voting" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5910fa99def47accbb4505bef91f74614f62347bc0c53c11296d5ce70d8e255" +dependencies = [ + "bitvec", + "derive_more", + "futures", + "futures-timer", + "itertools 0.10.5", + "kvdb", + "merlin 3.0.0", + "parity-scale-codec", + "polkadot-node-jaeger 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer 7.0.0", + "polkadot-primitives 7.0.0", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "sc-keystore 25.0.0", + "schnellru", + "schnorrkel 0.11.4", + "sp-application-crypto 30.0.0", + "sp-consensus 0.32.0", + "sp-consensus-slots 0.32.0", + "sp-runtime 31.0.1", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-av-store" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab1583533dc82a719607323432c013e01c2a8c971eb7e7703ff5eadd762f4e3" +dependencies = [ + "bitvec", + "futures", + "futures-timer", + "kvdb", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-jaeger 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer 7.0.0", + "polkadot-primitives 7.0.0", + "sp-consensus 0.32.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-backing" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7b5468fa618ccbeb4611b073d2c28b9440b51f4012e69c117e43192f9de8b17" +dependencies = [ + "bitvec", + "fatality", + "futures", + "polkadot-erasure-coding", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "polkadot-statement-table 7.0.0", + "sp-keystore 0.34.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-bitfield-signing" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4975e2ecc81d34605748781e9449a7b7ff956c385b46496005257a1a7dd56f0d" +dependencies = [ + "futures", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "sp-keystore 0.34.0", + "thiserror", + "tracing-gum 7.0.0", + "wasm-timer", +] + +[[package]] +name = "polkadot-node-core-candidate-validation" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcfd720b86c1ddf6616cf083a2cb273147687521c1d13a7f3c991b1d5ae03444" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "parity-scale-codec", + "polkadot-node-core-pvf", + "polkadot-node-metrics 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer 7.0.0", + "polkadot-parachain-primitives 6.0.0", + "polkadot-primitives 7.0.0", + "sp-maybe-compressed-blob 11.0.0", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-chain-api" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9f00bd39f433a2e8281524529853a3be54970e799a451e2c14fc5b75cf226f" +dependencies = [ + "futures", + "polkadot-node-metrics 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-types 7.0.0", + "sc-client-api 28.0.0", + "sc-consensus-babe", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-chain-selection" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea28475a96dfb6419432314d8021780e5c5b0f50a5525fd332e8b2a947a2deb5" +dependencies = [ + "futures", + "futures-timer", + "kvdb", + "parity-scale-codec", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-dispute-coordinator" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ad9cfb3e775dc4c611a79e294549fe4b244052ddaacf14133380e793c25a99f" +dependencies = [ + "fatality", + "futures", + "kvdb", + "parity-scale-codec", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "sc-keystore 25.0.0", + "schnellru", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-parachains-inherent" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb2535ef374a218b1e9d05b98a903edbdddf4eea47f9e137fcc09c8e1bc199dd" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "polkadot-node-subsystem", + "polkadot-overseer 7.0.0", + "polkadot-primitives 7.0.0", + "sp-blockchain 28.0.0", + "sp-inherents 26.0.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-prospective-parachains" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15a8876cc0aa627190f1d41c01061a7acee9621703501d9a60118d35e81579f9" +dependencies = [ + "bitvec", + "fatality", + "futures", + "parity-scale-codec", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-provisioner" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25c88b17b93bf410a72bfb4543b1ae01bb0d33fd6cba9af1f0e74c4ef2b906ad" +dependencies = [ + "bitvec", + "fatality", + "futures", + "futures-timer", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-pvf" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c80f2810b2eb843f3282b11e7ce1624866b6dd1ee6a95541b5882b5df3f36f25" +dependencies = [ + "always-assert", + "array-bytes 6.2.2", + "blake3", + "cfg-if", + "futures", + "futures-timer", + "is_executable", + "libc", + "parity-scale-codec", + "pin-project", + "polkadot-core-primitives 7.0.0", + "polkadot-node-core-pvf-common", + "polkadot-node-metrics 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-parachain-primitives 6.0.0", + "polkadot-primitives 7.0.0", + "rand 0.8.5", + "slotmap", + "sp-core 28.0.0", + "sp-maybe-compressed-blob 11.0.0", + "sp-wasm-interface 20.0.0", + "tempfile", + "thiserror", + "tokio", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-pvf-checker" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14d8ddb21cb3ad1868967b116fbf289610880cb95313b2798762cdd8653d36b7" +dependencies = [ + "futures", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer 7.0.0", + "polkadot-primitives 7.0.0", + "sp-keystore 0.34.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-pvf-common" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80bbf311b112a8552e89e5be55b0305d86328ba04528e47d3203cd27751405bc" +dependencies = [ + "cfg-if", + "cpu-time", + "futures", + "landlock", + "libc", + "parity-scale-codec", + "polkadot-parachain-primitives 6.0.0", + "polkadot-primitives 7.0.0", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", + "sc-executor-wasmtime 0.29.0", + "seccompiler", + "sp-core 28.0.0", + "sp-externalities 0.25.0", + "sp-io 30.0.0", + "sp-tracing 16.0.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-core-runtime-api" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17345f76b7ebcf2f1e1be5411a6420971ef60d69070f115e459b2f017f91bcb5" +dependencies = [ + "futures", + "polkadot-node-metrics 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-types 7.0.0", + "polkadot-primitives 7.0.0", + "schnellru", + "sp-consensus-babe 0.32.0", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-jaeger" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cfe6d4769181dce55b1b8fc53f0bd85bb4aa20473702fbce95a94abafa19379" +dependencies = [ + "lazy_static", + "log", + "mick-jaeger", + "parity-scale-codec", + "parking_lot 0.12.1", + "polkadot-node-primitives 4.0.0", + "polkadot-primitives 4.0.0", + "sc-network 0.31.0", + "sp-core 25.0.0", + "thiserror", + "tokio", +] + +[[package]] +name = "polkadot-node-jaeger" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b099624af4597bac5d1617a3cab057785ee47e657de7ad078957bfa397d82c4" +dependencies = [ + "lazy_static", + "log", + "mick-jaeger", + "parity-scale-codec", + "parking_lot 0.12.1", + "polkadot-node-primitives 7.0.0", + "polkadot-primitives 7.0.0", + "sc-network 0.34.0", + "sp-core 28.0.0", + "thiserror", + "tokio", +] + +[[package]] +name = "polkadot-node-metrics" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51a586fc3ef87c685588a650c18882b4cf069d8adc0d7d9bd2670749cb4e82b" +dependencies = [ + "bs58 0.5.0", + "futures", + "futures-timer", + "log", + "parity-scale-codec", + "polkadot-primitives 4.0.0", + "prioritized-metered-channel 0.5.1", + "sc-cli 0.33.0", + "sc-service 0.32.0", + "sc-tracing 25.0.0", + "substrate-prometheus-endpoint 0.16.0", + "tracing-gum 4.0.0", +] + +[[package]] +name = "polkadot-node-metrics" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b5b00a9646875f22ab45e61ede04f623a3fbbc03bae52263b3d558c964bc32" +dependencies = [ + "bs58 0.5.0", + "futures", + "futures-timer", + "log", + "parity-scale-codec", + "polkadot-primitives 7.0.0", + "prioritized-metered-channel 0.5.1", + "sc-cli 0.36.0", + "sc-service 0.35.0", + "sc-tracing 28.0.0", + "substrate-prometheus-endpoint 0.17.0", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-node-network-protocol" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6de513655bf71400299cda1ccaebfa612fd3965e7ce5a9120b4ff37bfc80931" +dependencies = [ + "async-channel", + "async-trait", + "bitvec", + "derive_more", "fatality", "futures", "hex", "parity-scale-codec", - "polkadot-node-jaeger", - "polkadot-node-primitives", + "polkadot-node-jaeger 4.0.0", + "polkadot-node-primitives 4.0.0", "polkadot-primitives 4.0.0", "rand 0.8.5", - "sc-authority-discovery", + "sc-authority-discovery 0.31.0", "sc-network 0.31.0", - "strum", + "strum 0.24.1", + "thiserror", + "tracing-gum 4.0.0", +] + +[[package]] +name = "polkadot-node-network-protocol" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e420ba9220abaa468a393ff2834b7c2b4d7d87b6d903d9046dfd682c97d35d4c" +dependencies = [ + "async-channel", + "async-trait", + "bitvec", + "derive_more", + "fatality", + "futures", + "hex", + "parity-scale-codec", + "polkadot-node-jaeger 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-primitives 7.0.0", + "rand 0.8.5", + "sc-authority-discovery 0.34.0", + "sc-network 0.34.0", + "strum 0.24.1", "thiserror", - "tracing-gum", + "tracing-gum 7.0.0", ] [[package]] name = "polkadot-node-primitives" version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e82ee5edac871310bd1ce16a035ad2fc901d6ddd69ea0bbabc7f0a70a02770a" +checksum = "3e82ee5edac871310bd1ce16a035ad2fc901d6ddd69ea0bbabc7f0a70a02770a" +dependencies = [ + "bounded-vec", + "futures", + "parity-scale-codec", + "polkadot-parachain-primitives 3.0.0", + "polkadot-primitives 4.0.0", + "schnorrkel 0.9.1", + "serde", + "sp-application-crypto 27.0.0", + "sp-consensus-babe 0.29.0", + "sp-core 25.0.0", + "sp-keystore 0.31.0", + "sp-maybe-compressed-blob 9.0.0", + "sp-runtime 28.0.0", + "thiserror", + "zstd 0.12.4", +] + +[[package]] +name = "polkadot-node-primitives" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "366d18f1498426975c610246063149ad84788eb1e924cab6ee44a4d8958ecf61" dependencies = [ + "bitvec", "bounded-vec", "futures", "parity-scale-codec", - "polkadot-parachain-primitives 3.0.0", - "polkadot-primitives 4.0.0", - "schnorrkel 0.9.1", + "polkadot-parachain-primitives 6.0.0", + "polkadot-primitives 7.0.0", + "schnorrkel 0.11.4", "serde", - "sp-application-crypto 27.0.0", - "sp-consensus-babe 0.29.0", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "sp-maybe-compressed-blob 9.0.0", - "sp-runtime 28.0.0", + "sp-application-crypto 30.0.0", + "sp-consensus-babe 0.32.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "sp-maybe-compressed-blob 11.0.0", + "sp-runtime 31.0.1", "thiserror", "zstd 0.12.4", ] +[[package]] +name = "polkadot-node-subsystem" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831cf07bf6588d7d8ab872f8f214b4b24b2c4243faf8028534f8a11a3f03c466" +dependencies = [ + "polkadot-node-jaeger 7.0.0", + "polkadot-node-subsystem-types 7.0.0", + "polkadot-overseer 7.0.0", +] + [[package]] name = "polkadot-node-subsystem-types" version = "4.0.0" @@ -9286,11 +10420,11 @@ dependencies = [ "derive_more", "futures", "orchestra", - "polkadot-node-jaeger", - "polkadot-node-network-protocol", - "polkadot-node-primitives", + "polkadot-node-jaeger 4.0.0", + "polkadot-node-network-protocol 4.0.0", + "polkadot-node-primitives 4.0.0", "polkadot-primitives 4.0.0", - "polkadot-statement-table", + "polkadot-statement-table 4.0.0", "sc-client-api 25.0.0", "sc-network 0.31.0", "sc-transaction-pool-api 25.0.0", @@ -9302,6 +10436,71 @@ dependencies = [ "thiserror", ] +[[package]] +name = "polkadot-node-subsystem-types" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd132afdfcdf2e30f7924c9561bbc1208b0838ab9c2275bf0ef32525f63b8bd0" +dependencies = [ + "async-trait", + "bitvec", + "derive_more", + "futures", + "orchestra", + "polkadot-node-jaeger 7.0.0", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-primitives 7.0.0", + "polkadot-statement-table 7.0.0", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sc-transaction-pool-api 28.0.0", + "smallvec", + "sp-api 26.0.0", + "sp-authority-discovery 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus-babe 0.32.0", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", + "thiserror", +] + +[[package]] +name = "polkadot-node-subsystem-util" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d32c2f2027689777bd61681d769ed5ec726144905c4e3cb16c5f8a4edb55250a" +dependencies = [ + "async-trait", + "derive_more", + "fatality", + "futures", + "futures-channel", + "itertools 0.10.5", + "kvdb", + "parity-db", + "parity-scale-codec", + "parking_lot 0.12.1", + "pin-project", + "polkadot-node-jaeger 7.0.0", + "polkadot-node-metrics 7.0.0", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-types 7.0.0", + "polkadot-overseer 7.0.0", + "polkadot-primitives 7.0.0", + "prioritized-metered-channel 0.5.1", + "rand 0.8.5", + "sc-client-api 28.0.0", + "schnellru", + "sp-application-crypto 30.0.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "thiserror", + "tracing-gum 7.0.0", +] + [[package]] name = "polkadot-overseer" version = "4.0.0" @@ -9313,16 +10512,39 @@ dependencies = [ "futures-timer", "orchestra", "parking_lot 0.12.1", - "polkadot-node-metrics", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-node-subsystem-types", + "polkadot-node-metrics 4.0.0", + "polkadot-node-network-protocol 4.0.0", + "polkadot-node-primitives 4.0.0", + "polkadot-node-subsystem-types 4.0.0", "polkadot-primitives 4.0.0", "sc-client-api 25.0.0", "sp-api 23.0.0", "sp-core 25.0.0", "tikv-jemalloc-ctl", - "tracing-gum", + "tracing-gum 4.0.0", +] + +[[package]] +name = "polkadot-overseer" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa0b71f50f0be1959bcb10a46105ca66b9c6868d549385a247750e5b7a45c77" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "orchestra", + "parking_lot 0.12.1", + "polkadot-node-metrics 7.0.0", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem-types 7.0.0", + "polkadot-primitives 7.0.0", + "sc-client-api 28.0.0", + "sp-api 26.0.0", + "sp-core 28.0.0", + "tikv-jemalloc-ctl", + "tracing-gum 7.0.0", ] [[package]] @@ -9415,6 +10637,40 @@ dependencies = [ "sp-std 14.0.0", ] +[[package]] +name = "polkadot-rpc" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "382eada9005c73375778e1dca58116e0660431cf90989fe0dde54ebe1f621a1e" +dependencies = [ + "jsonrpsee", + "mmr-rpc", + "pallet-transaction-payment-rpc", + "polkadot-primitives 7.0.0", + "sc-chain-spec 27.0.0", + "sc-client-api 28.0.0", + "sc-consensus-babe", + "sc-consensus-babe-rpc", + "sc-consensus-beefy", + "sc-consensus-beefy-rpc", + "sc-consensus-epochs", + "sc-consensus-grandpa", + "sc-consensus-grandpa-rpc", + "sc-rpc 29.0.0", + "sc-rpc-spec-v2 0.34.0", + "sc-sync-state-rpc", + "sc-transaction-pool-api 28.0.0", + "sp-api 26.0.0", + "sp-block-builder 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-consensus-babe 0.32.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "substrate-frame-rpc-system", + "substrate-state-trie-migration-rpc", +] + [[package]] name = "polkadot-runtime" version = "1.0.0" @@ -9760,6 +11016,146 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "polkadot-service" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d75bf984471c2608905176b62726b3552bbfdc3e04ebdc7fe75e5179ff215588" +dependencies = [ + "async-trait", + "frame-benchmarking 28.0.0", + "frame-benchmarking-cli", + "frame-support 28.0.0", + "frame-system 28.0.0", + "frame-system-rpc-runtime-api 26.0.0", + "futures", + "hex-literal", + "is_executable", + "kvdb", + "kvdb-rocksdb", + "log", + "mmr-gadget", + "pallet-babe 28.0.0", + "pallet-im-online", + "pallet-staking 28.0.0", + "pallet-transaction-payment 28.0.0", + "pallet-transaction-payment-rpc-runtime-api 28.0.0", + "parity-db", + "parity-scale-codec", + "parking_lot 0.12.1", + "polkadot-approval-distribution", + "polkadot-availability-bitfield-distribution", + "polkadot-availability-distribution", + "polkadot-availability-recovery", + "polkadot-collator-protocol", + "polkadot-core-primitives 7.0.0", + "polkadot-dispute-distribution", + "polkadot-gossip-support", + "polkadot-network-bridge", + "polkadot-node-collation-generation", + "polkadot-node-core-approval-voting", + "polkadot-node-core-av-store", + "polkadot-node-core-backing", + "polkadot-node-core-bitfield-signing", + "polkadot-node-core-candidate-validation", + "polkadot-node-core-chain-api", + "polkadot-node-core-chain-selection", + "polkadot-node-core-dispute-coordinator", + "polkadot-node-core-parachains-inherent", + "polkadot-node-core-prospective-parachains", + "polkadot-node-core-provisioner", + "polkadot-node-core-pvf", + "polkadot-node-core-pvf-checker", + "polkadot-node-core-runtime-api", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-types 7.0.0", + "polkadot-node-subsystem-util", + "polkadot-overseer 7.0.0", + "polkadot-parachain-primitives 6.0.0", + "polkadot-primitives 7.0.0", + "polkadot-rpc", + "polkadot-runtime-parachains 7.0.0", + "polkadot-statement-distribution", + "sc-authority-discovery 0.34.0", + "sc-basic-authorship", + "sc-block-builder 0.33.0", + "sc-chain-spec 27.0.0", + "sc-client-api 28.0.0", + "sc-client-db 0.35.0", + "sc-consensus 0.33.0", + "sc-consensus-babe", + "sc-consensus-beefy", + "sc-consensus-grandpa", + "sc-consensus-slots", + "sc-executor 0.32.0", + "sc-keystore 25.0.0", + "sc-network 0.34.0", + "sc-network-common 0.33.0", + "sc-network-sync 0.33.0", + "sc-offchain", + "sc-service 0.35.0", + "sc-sync-state-rpc", + "sc-sysinfo 27.0.0", + "sc-telemetry 15.0.0", + "sc-transaction-pool 28.0.0", + "sc-transaction-pool-api 28.0.0", + "schnellru", + "serde", + "serde_json", + "sp-api 26.0.0", + "sp-authority-discovery 26.0.0", + "sp-block-builder 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-consensus-babe 0.32.0", + "sp-consensus-beefy", + "sp-consensus-grandpa 13.0.0", + "sp-core 28.0.0", + "sp-inherents 26.0.0", + "sp-io 30.0.0", + "sp-keyring 31.0.0", + "sp-keystore 0.34.0", + "sp-mmr-primitives", + "sp-offchain 26.0.0", + "sp-runtime 31.0.1", + "sp-session 27.0.0", + "sp-state-machine 0.35.0", + "sp-storage 19.0.0", + "sp-timestamp 26.0.0", + "sp-transaction-pool 26.0.0", + "sp-version 29.0.0", + "sp-weights 27.0.0", + "substrate-prometheus-endpoint 0.17.0", + "thiserror", + "tracing-gum 7.0.0", +] + +[[package]] +name = "polkadot-statement-distribution" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b82b48ff9204ea663ccccde78aefa8a524958aadff5c84a4f1fd773c291057d" +dependencies = [ + "arrayvec 0.7.4", + "bitvec", + "fatality", + "futures", + "futures-timer", + "indexmap 1.9.3", + "parity-scale-codec", + "polkadot-node-network-protocol 7.0.0", + "polkadot-node-primitives 7.0.0", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives 7.0.0", + "sp-keystore 0.34.0", + "sp-staking 26.0.0", + "thiserror", + "tracing-gum 7.0.0", +] + [[package]] name = "polkadot-statement-table" version = "4.0.0" @@ -9771,6 +11167,29 @@ dependencies = [ "sp-core 25.0.0", ] +[[package]] +name = "polkadot-statement-table" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478dea03265eb2465010dae149616e4f28fe858e103671b1a96dc19e9e388c8f" +dependencies = [ + "parity-scale-codec", + "polkadot-primitives 7.0.0", + "sp-core 28.0.0", +] + +[[package]] +name = "polkadot-system-emulated-network" +version = "0.1.0" +dependencies = [ + "asset-hub-polkadot-emulated-chain", + "bridge-hub-polkadot-emulated-chain", + "collectives-polkadot-emulated-chain", + "emulated-integration-tests-common", + "penpal-emulated-chain", + "polkadot-emulated-chain", +] + [[package]] name = "polling" version = "3.3.1" @@ -10324,6 +11743,19 @@ dependencies = [ "thiserror", ] +[[package]] +name = "reed-solomon-novelpoly" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58130877ca403ab42c864fbac74bb319a0746c07a634a92a5cfc7f54af272582" +dependencies = [ + "derive_more", + "fs-err", + "itertools 0.11.0", + "static_init", + "thiserror", +] + [[package]] name = "ref-cast" version = "1.0.20" @@ -10449,6 +11881,15 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + [[package]] name = "rlp" version = "0.5.2" @@ -10741,9 +12182,38 @@ dependencies = [ [[package]] name = "sc-authority-discovery" -version = "0.31.0" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb7e0e8a4ea5304b65d49c0085a458ed2e43394f95457689875d3e0c6e118dee" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "ip_network", + "libp2p", + "log", + "multihash 0.17.0", + "parity-scale-codec", + "prost", + "prost-build", + "rand 0.8.5", + "sc-client-api 25.0.0", + "sc-network 0.31.0", + "sp-api 23.0.0", + "sp-authority-discovery 23.0.0", + "sp-blockchain 25.0.0", + "sp-core 25.0.0", + "sp-keystore 0.31.0", + "sp-runtime 28.0.0", + "substrate-prometheus-endpoint 0.16.0", + "thiserror", +] + +[[package]] +name = "sc-authority-discovery" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb7e0e8a4ea5304b65d49c0085a458ed2e43394f95457689875d3e0c6e118dee" +checksum = "a1c23040352415cdcc22203d3b18e56f3516e51865f106f8bbf7efa95b411a59" dependencies = [ "async-trait", "futures", @@ -10751,23 +12221,47 @@ dependencies = [ "ip_network", "libp2p", "log", - "multihash", + "multihash 0.18.1", + "multihash-codetable", "parity-scale-codec", "prost", "prost-build", "rand 0.8.5", - "sc-client-api 25.0.0", - "sc-network 0.31.0", - "sp-api 23.0.0", - "sp-authority-discovery 23.0.0", - "sp-blockchain 25.0.0", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", - "substrate-prometheus-endpoint 0.16.0", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sp-api 26.0.0", + "sp-authority-discovery 26.0.0", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", "thiserror", ] +[[package]] +name = "sc-basic-authorship" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c016e38155386e23649a4a995ea67c55a1fe25a54c7cc7509954d454ee75eb3b" +dependencies = [ + "futures", + "futures-timer", + "log", + "parity-scale-codec", + "sc-block-builder 0.33.0", + "sc-proposer-metrics", + "sc-telemetry 15.0.0", + "sc-transaction-pool-api 28.0.0", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-core 28.0.0", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", +] + [[package]] name = "sc-block-builder" version = "0.30.0" @@ -10879,23 +12373,23 @@ dependencies = [ "array-bytes 6.2.2", "chrono", "clap", - "fdlimit", + "fdlimit 0.2.1", "futures", "libp2p-identity", "log", - "names", + "names 0.13.0", "parity-scale-codec", "rand 0.8.5", "regex", "rpassword", "sc-client-api 25.0.0", - "sc-client-db", - "sc-keystore", + "sc-client-db 0.32.0", + "sc-keystore 22.0.0", "sc-mixnet 0.1.0", "sc-network 0.31.0", - "sc-service", + "sc-service 0.32.0", "sc-telemetry 12.0.0", - "sc-tracing", + "sc-tracing 25.0.0", "sc-utils 11.0.0", "serde", "serde_json", @@ -10911,6 +12405,48 @@ dependencies = [ "tokio", ] +[[package]] +name = "sc-cli" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9819b656041094ca4e97402be145c2bcf3f47d00d854708b25ecd3211eafcd62" +dependencies = [ + "array-bytes 6.2.2", + "bip39", + "chrono", + "clap", + "fdlimit 0.3.0", + "futures", + "itertools 0.10.5", + "libp2p-identity", + "log", + "names 0.14.0", + "parity-scale-codec", + "rand 0.8.5", + "regex", + "rpassword", + "sc-client-api 28.0.0", + "sc-client-db 0.35.0", + "sc-keystore 25.0.0", + "sc-mixnet 0.4.0", + "sc-network 0.34.0", + "sc-service 0.35.0", + "sc-telemetry 15.0.0", + "sc-tracing 28.0.0", + "sc-utils 14.0.0", + "serde", + "serde_json", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-keyring 31.0.0", + "sp-keystore 0.34.0", + "sp-panic-handler 13.0.0", + "sp-runtime 31.0.1", + "sp-version 29.0.0", + "thiserror", + "tokio", +] + [[package]] name = "sc-client-api" version = "25.0.0" @@ -10983,7 +12519,7 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", "sc-client-api 25.0.0", - "sc-state-db", + "sc-state-db 0.27.0", "schnellru", "sp-arithmetic 20.0.0", "sp-blockchain 25.0.0", @@ -10994,6 +12530,33 @@ dependencies = [ "sp-trie 26.0.0", ] +[[package]] +name = "sc-client-db" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db9fbd18eb275120fdf2e9558a5006a69022405abb9c260c91d218ddb05db39" +dependencies = [ + "hash-db", + "kvdb", + "kvdb-memorydb", + "kvdb-rocksdb", + "linked-hash-map", + "log", + "parity-db", + "parity-scale-codec", + "parking_lot 0.12.1", + "sc-client-api 28.0.0", + "sc-state-db 0.30.0", + "schnellru", + "sp-arithmetic 23.0.0", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-database 10.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", +] + [[package]] name = "sc-consensus" version = "0.30.0" @@ -11046,6 +12609,135 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sc-consensus-babe" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a7d698d9d2bde7e0b80e7ada57ede9255a6382da79d2ad9a4e9e70805c40e74" +dependencies = [ + "async-trait", + "fork-tree 12.0.0", + "futures", + "log", + "num-bigint", + "num-rational", + "num-traits", + "parity-scale-codec", + "parking_lot 0.12.1", + "sc-client-api 28.0.0", + "sc-consensus 0.33.0", + "sc-consensus-epochs", + "sc-consensus-slots", + "sc-telemetry 15.0.0", + "sc-transaction-pool-api 28.0.0", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-block-builder 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-consensus-babe 0.32.0", + "sp-consensus-slots 0.32.0", + "sp-core 28.0.0", + "sp-inherents 26.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", + "thiserror", +] + +[[package]] +name = "sc-consensus-babe-rpc" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f55379d0ce6f87026f896f03bce33862b57f77a46fbb4fb7e974182d20d458" +dependencies = [ + "futures", + "jsonrpsee", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-rpc-api 0.33.0", + "serde", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-consensus-babe 0.32.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "thiserror", +] + +[[package]] +name = "sc-consensus-beefy" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3664a3cddc718187e058f67d9075ef9078c8f8347c0408304ead8565d4ba8164" +dependencies = [ + "array-bytes 6.2.2", + "async-channel", + "async-trait", + "fnv", + "futures", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "sc-client-api 28.0.0", + "sc-consensus 0.33.0", + "sc-network 0.34.0", + "sc-network-gossip", + "sc-network-sync 0.33.0", + "sc-utils 14.0.0", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-consensus-beefy", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "sp-mmr-primitives", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", + "thiserror", + "tokio", + "wasm-timer", +] + +[[package]] +name = "sc-consensus-beefy-rpc" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4e3602efe1e206032164772c24365642e3dab807c5f8db0af166f6ef63af3e" +dependencies = [ + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "sc-consensus-beefy", + "sc-rpc 29.0.0", + "serde", + "sp-consensus-beefy", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "thiserror", +] + +[[package]] +name = "sc-consensus-epochs" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d0befddf2ca16d5f222968fceeab8625532f2d49303fafd17ae2e5d0e939da6" +dependencies = [ + "fork-tree 12.0.0", + "parity-scale-codec", + "sc-client-api 28.0.0", + "sc-consensus 0.33.0", + "sp-blockchain 28.0.0", + "sp-runtime 31.0.1", +] + [[package]] name = "sc-consensus-grandpa" version = "0.19.0" @@ -11085,8 +12777,53 @@ dependencies = [ "sp-core 28.0.0", "sp-keystore 0.34.0", "sp-runtime 31.0.1", - "substrate-prometheus-endpoint 0.17.0", - "thiserror", + "substrate-prometheus-endpoint 0.17.0", + "thiserror", +] + +[[package]] +name = "sc-consensus-grandpa-rpc" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "694328880bf11fce67f5e066d7884dbdf1f2a41c42a7dfce9b0a6bc6b90448a1" +dependencies = [ + "finality-grandpa", + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "sc-client-api 28.0.0", + "sc-consensus-grandpa", + "sc-rpc 29.0.0", + "serde", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "thiserror", +] + +[[package]] +name = "sc-consensus-slots" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6649665fcf91d89c16bfb08e9326baf6547e5fe719d6438197434e5b642d716b" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "log", + "parity-scale-codec", + "sc-client-api 28.0.0", + "sc-consensus 0.33.0", + "sc-telemetry 15.0.0", + "sp-arithmetic 23.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-consensus-slots 0.32.0", + "sp-core 28.0.0", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", ] [[package]] @@ -11216,6 +12953,24 @@ dependencies = [ "sp-runtime 28.0.0", ] +[[package]] +name = "sc-informant" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e07d2dde727c30974767aed4cddd241447c0a800b702662b529dd2e32a10db1" +dependencies = [ + "ansi_term", + "futures", + "futures-timer", + "log", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sc-network-common 0.33.0", + "sc-network-sync 0.33.0", + "sp-blockchain 28.0.0", + "sp-runtime 31.0.1", +] + [[package]] name = "sc-keystore" version = "22.0.0" @@ -11231,6 +12986,21 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sc-keystore" +version = "25.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93acb7f7c6e5e4be067e78b782a35d1a6d34dafcd955975a1aec05cab9dbf8fe" +dependencies = [ + "array-bytes 6.2.2", + "parking_lot 0.12.1", + "serde_json", + "sp-application-crypto 30.0.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "thiserror", +] + [[package]] name = "sc-mixnet" version = "0.1.0" @@ -11397,6 +13167,27 @@ dependencies = [ "unsigned-varint", ] +[[package]] +name = "sc-network-bitswap" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2779d97eff742c1ebcce812bfd154a7273c2c2eb02e11fad76cf7eb583365834" +dependencies = [ + "async-channel", + "cid", + "futures", + "libp2p-identity", + "log", + "prost", + "prost-build", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sp-blockchain 28.0.0", + "sp-runtime 31.0.1", + "thiserror", + "unsigned-varint", +] + [[package]] name = "sc-network-common" version = "0.30.0" @@ -11475,6 +13266,28 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sc-network-light" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34e7a126492850dbbd5cf0b77ec3ad350422c2822d165941ddbe618a76af0153" +dependencies = [ + "array-bytes 6.2.2", + "async-channel", + "futures", + "libp2p-identity", + "log", + "parity-scale-codec", + "prost", + "prost-build", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "thiserror", +] + [[package]] name = "sc-network-sync" version = "0.30.0" @@ -11567,6 +13380,71 @@ dependencies = [ "substrate-prometheus-endpoint 0.16.0", ] +[[package]] +name = "sc-network-transactions" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99a1af3b9e158fa91df0cd92916b3ee5d8b8a14a2b61eb5dd9e36e045808f644" +dependencies = [ + "array-bytes 6.2.2", + "futures", + "libp2p", + "log", + "parity-scale-codec", + "sc-network 0.34.0", + "sc-network-common 0.33.0", + "sc-network-sync 0.33.0", + "sc-utils 14.0.0", + "sp-consensus 0.32.0", + "sp-runtime 31.0.1", + "substrate-prometheus-endpoint 0.17.0", +] + +[[package]] +name = "sc-offchain" +version = "29.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd5408dbdc3fe345813e983bd2b7ecf8f20e996141fa39a36336f511ab1859bb" +dependencies = [ + "array-bytes 6.2.2", + "bytes", + "fnv", + "futures", + "futures-timer", + "hyper", + "hyper-rustls", + "libp2p", + "log", + "num_cpus", + "once_cell", + "parity-scale-codec", + "parking_lot 0.12.1", + "rand 0.8.5", + "sc-client-api 28.0.0", + "sc-network 0.34.0", + "sc-network-common 0.33.0", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", + "sp-api 26.0.0", + "sp-core 28.0.0", + "sp-externalities 0.25.0", + "sp-keystore 0.34.0", + "sp-offchain 26.0.0", + "sp-runtime 31.0.1", + "threadpool", + "tracing", +] + +[[package]] +name = "sc-proposer-metrics" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb8dadb2ae5a316e4d08cad6aacd5de1dec792f3bd94e3960795ff7ffd07211c" +dependencies = [ + "log", + "substrate-prometheus-endpoint 0.17.0", +] + [[package]] name = "sc-rpc" version = "26.0.0" @@ -11583,7 +13461,7 @@ dependencies = [ "sc-client-api 25.0.0", "sc-mixnet 0.1.0", "sc-rpc-api 0.30.0", - "sc-tracing", + "sc-tracing 25.0.0", "sc-transaction-pool-api 25.0.0", "sc-utils 11.0.0", "serde_json", @@ -11600,6 +13478,39 @@ dependencies = [ "tokio", ] +[[package]] +name = "sc-rpc" +version = "29.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ac0d83b9117c9c004e58331a593a28044eaf6414e5b3c605d1571b4a6981966" +dependencies = [ + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "sc-block-builder 0.33.0", + "sc-chain-spec 27.0.0", + "sc-client-api 28.0.0", + "sc-mixnet 0.4.0", + "sc-rpc-api 0.33.0", + "sc-tracing 28.0.0", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", + "serde_json", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "sp-offchain 26.0.0", + "sp-rpc 26.0.0", + "sp-runtime 31.0.1", + "sp-session 27.0.0", + "sp-statement-store 10.0.0", + "sp-version 29.0.0", + "tokio", +] + [[package]] name = "sc-rpc-api" version = "0.30.0" @@ -11658,6 +13569,22 @@ dependencies = [ "tower-http", ] +[[package]] +name = "sc-rpc-server" +version = "11.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b623908525a2f22aafa079080aa7fbce8b58ca8de53b9f31e3cc8547e0ad8b2" +dependencies = [ + "http", + "jsonrpsee", + "log", + "serde_json", + "substrate-prometheus-endpoint 0.17.0", + "tokio", + "tower", + "tower-http", +] + [[package]] name = "sc-rpc-spec-v2" version = "0.31.0" @@ -11687,6 +13614,36 @@ dependencies = [ "tokio-stream", ] +[[package]] +name = "sc-rpc-spec-v2" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a54150c808fa10364b73faedd97aff0977a911a521d1caa8bad2bdc7943ad579" +dependencies = [ + "array-bytes 6.2.2", + "futures", + "futures-util", + "hex", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "sc-chain-spec 27.0.0", + "sc-client-api 28.0.0", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", + "serde", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-rpc 26.0.0", + "sp-runtime 31.0.1", + "sp-version 29.0.0", + "thiserror", + "tokio", + "tokio-stream", +] + [[package]] name = "sc-service" version = "0.32.0" @@ -11707,24 +13664,24 @@ dependencies = [ "sc-block-builder 0.30.0", "sc-chain-spec 24.0.0", "sc-client-api 25.0.0", - "sc-client-db", + "sc-client-db 0.32.0", "sc-consensus 0.30.0", "sc-executor 0.29.0", - "sc-informant", - "sc-keystore", + "sc-informant 0.30.0", + "sc-keystore 22.0.0", "sc-network 0.31.0", - "sc-network-bitswap", + "sc-network-bitswap 0.30.0", "sc-network-common 0.30.0", - "sc-network-light", + "sc-network-light 0.30.0", "sc-network-sync 0.30.0", - "sc-network-transactions", - "sc-rpc", - "sc-rpc-server", - "sc-rpc-spec-v2", - "sc-sysinfo", + "sc-network-transactions 0.30.0", + "sc-rpc 26.0.0", + "sc-rpc-server 10.0.0", + "sc-rpc-spec-v2 0.31.0", + "sc-sysinfo 24.0.0", "sc-telemetry 12.0.0", - "sc-tracing", - "sc-transaction-pool", + "sc-tracing 25.0.0", + "sc-transaction-pool 25.0.0", "sc-transaction-pool-api 25.0.0", "sc-utils 11.0.0", "serde", @@ -11740,11 +13697,75 @@ dependencies = [ "sp-state-machine 0.32.0", "sp-storage 17.0.0", "sp-transaction-pool 23.0.0", - "sp-transaction-storage-proof", + "sp-transaction-storage-proof 23.0.0", "sp-trie 26.0.0", "sp-version 26.0.0", "static_init", - "substrate-prometheus-endpoint 0.16.0", + "substrate-prometheus-endpoint 0.16.0", + "tempfile", + "thiserror", + "tokio", + "tracing", + "tracing-futures", +] + +[[package]] +name = "sc-service" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703bd8b1fc0a137185bfa0b654e04283a58a1d8a2751380e7a0eca919961f150" +dependencies = [ + "async-trait", + "directories", + "exit-future", + "futures", + "futures-timer", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "pin-project", + "rand 0.8.5", + "sc-chain-spec 27.0.0", + "sc-client-api 28.0.0", + "sc-client-db 0.35.0", + "sc-consensus 0.33.0", + "sc-executor 0.32.0", + "sc-informant 0.33.0", + "sc-keystore 25.0.0", + "sc-network 0.34.0", + "sc-network-bitswap 0.33.0", + "sc-network-common 0.33.0", + "sc-network-light 0.33.0", + "sc-network-sync 0.33.0", + "sc-network-transactions 0.33.0", + "sc-rpc 29.0.0", + "sc-rpc-server 11.0.0", + "sc-rpc-spec-v2 0.34.0", + "sc-sysinfo 27.0.0", + "sc-telemetry 15.0.0", + "sc-tracing 28.0.0", + "sc-transaction-pool 28.0.0", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", + "serde", + "serde_json", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-consensus 0.32.0", + "sp-core 28.0.0", + "sp-externalities 0.25.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "sp-session 27.0.0", + "sp-state-machine 0.35.0", + "sp-storage 19.0.0", + "sp-transaction-pool 26.0.0", + "sp-transaction-storage-proof 26.0.0", + "sp-trie 29.0.0", + "sp-version 29.0.0", + "static_init", + "substrate-prometheus-endpoint 0.17.0", "tempfile", "thiserror", "tokio", @@ -11764,6 +13785,38 @@ dependencies = [ "sp-core 25.0.0", ] +[[package]] +name = "sc-state-db" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fac20128b09ac6305aaf482a72c918b35400f3955d7032971df499b0661a5e76" +dependencies = [ + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "sp-core 28.0.0", +] + +[[package]] +name = "sc-sync-state-rpc" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb310dce9d2474a74152605dc0ca0f81a46f61ba4e7a39752f1203121f47c0c6" +dependencies = [ + "jsonrpsee", + "parity-scale-codec", + "sc-chain-spec 27.0.0", + "sc-client-api 28.0.0", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-consensus-grandpa", + "serde", + "serde_json", + "sp-blockchain 28.0.0", + "sp-runtime 31.0.1", + "thiserror", +] + [[package]] name = "sc-sysinfo" version = "24.0.0" @@ -11784,6 +13837,27 @@ dependencies = [ "sp-std 12.0.0", ] +[[package]] +name = "sc-sysinfo" +version = "27.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfc9a5da78281735c6ff3b8d0287e95dcf32fc001415ac20cb2844c0ab4e6d05" +dependencies = [ + "derive_more", + "futures", + "libc", + "log", + "rand 0.8.5", + "rand_pcg", + "regex", + "sc-telemetry 15.0.0", + "serde", + "serde_json", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-std 14.0.0", +] + [[package]] name = "sc-telemetry" version = "12.0.0" @@ -11840,7 +13914,7 @@ dependencies = [ "regex", "rustc-hash", "sc-client-api 25.0.0", - "sc-tracing-proc-macro", + "sc-tracing-proc-macro 10.0.0", "serde", "sp-api 23.0.0", "sp-blockchain 25.0.0", @@ -11854,6 +13928,37 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "sc-tracing" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90864e5e042d1238bcb082b0fa73ce58b7eb4897127783dae1dd66eee59cdaef" +dependencies = [ + "ansi_term", + "chrono", + "is-terminal", + "lazy_static", + "libc", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "regex", + "rustc-hash", + "sc-client-api 28.0.0", + "sc-tracing-proc-macro 11.0.0", + "serde", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-rpc 26.0.0", + "sp-runtime 31.0.1", + "sp-tracing 16.0.0", + "thiserror", + "tracing", + "tracing-log", + "tracing-subscriber", +] + [[package]] name = "sc-tracing-proc-macro" version = "10.0.0" @@ -11866,6 +13971,18 @@ dependencies = [ "syn 2.0.48", ] +[[package]] +name = "sc-tracing-proc-macro" +version = "11.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "151cdf86d79abf22cf2a240a7ca95041c908dbd96c2ae9a818073042aa210964" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "sc-transaction-pool" version = "25.0.0" @@ -11893,6 +14010,33 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sc-transaction-pool" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7985fab634814ee28fe3ecd2131fa2cb4c8eee88a7e60f1cd59dc0afa826fe2" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "linked-hash-map", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "sc-client-api 28.0.0", + "sc-transaction-pool-api 28.0.0", + "sc-utils 14.0.0", + "serde", + "sp-api 26.0.0", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "sp-tracing 16.0.0", + "sp-transaction-pool 26.0.0", + "substrate-prometheus-endpoint 0.17.0", + "thiserror", +] + [[package]] name = "sc-transaction-pool-api" version = "25.0.0" @@ -12078,6 +14222,15 @@ dependencies = [ "zeroize", ] +[[package]] +name = "seccompiler" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345a3e4dddf721a478089d4697b83c6c0a8f5bf16086f6c13397e4534eb6e2e5" +dependencies = [ + "libc", +] + [[package]] name = "secp256k1" version = "0.24.3" @@ -12247,6 +14400,17 @@ dependencies = [ "opaque-debug 0.3.0", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + [[package]] name = "sha2" version = "0.8.2" @@ -12393,6 +14557,15 @@ dependencies = [ "sp-std 14.0.0", ] +[[package]] +name = "slotmap" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +dependencies = [ + "version_check", +] + [[package]] name = "smallvec" version = "1.13.1" @@ -12817,7 +14990,7 @@ dependencies = [ "sp-mmr-primitives", "sp-runtime 31.0.1", "sp-std 14.0.0", - "strum", + "strum 0.24.1", ] [[package]] @@ -13206,7 +15379,7 @@ dependencies = [ "lazy_static", "sp-core 25.0.0", "sp-runtime 28.0.0", - "strum", + "strum 0.24.1", ] [[package]] @@ -13217,7 +15390,7 @@ checksum = "98165ce7c625a8cdb88d39c6bbd56fe8b32ada64ed0894032beba99795f557da" dependencies = [ "sp-core 28.0.0", "sp-runtime 31.0.1", - "strum", + "strum 0.24.1", ] [[package]] @@ -13830,6 +16003,22 @@ dependencies = [ "sp-trie 26.0.0", ] +[[package]] +name = "sp-transaction-storage-proof" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b2a2c693bc7ca363c9d2cd412276582aef10c794399aaffbd1fe2351099a1a5" +dependencies = [ + "async-trait", + "parity-scale-codec", + "scale-info", + "sp-core 28.0.0", + "sp-inherents 26.0.0", + "sp-runtime 31.0.1", + "sp-std 14.0.0", + "sp-trie 29.0.0", +] + [[package]] name = "sp-trie" version = "26.0.0" @@ -14020,7 +16209,7 @@ checksum = "a0ef947f358b9c238923f764c72a4a9d42f2d637c46e059dbd319d6e7cfb4f82" dependencies = [ "lazy_static", "maplit", - "strum", + "strum 0.24.1", ] [[package]] @@ -14347,6 +16536,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "strobe-rs" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabb238a1cccccfa4c4fb703670c0d157e1256c1ba695abf1b93bd2bb14bab2d" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "keccak", + "subtle 2.5.0", + "zeroize", +] + [[package]] name = "strsim" version = "0.10.0" @@ -14359,9 +16561,15 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" dependencies = [ - "strum_macros", + "strum_macros 0.24.3", ] +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" + [[package]] name = "strum_macros" version = "0.24.3" @@ -14375,6 +16583,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.48", +] + [[package]] name = "substrate-bip39" version = "0.4.5" @@ -14400,6 +16621,26 @@ dependencies = [ "substrate-typenum", ] +[[package]] +name = "substrate-frame-rpc-system" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcee7812a1e1cec85e3095c5d1c1627ceb084c0c81e66c2f9df7cb7b3a5938f3" +dependencies = [ + "frame-system-rpc-runtime-api 26.0.0", + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "sc-rpc-api 0.33.0", + "sc-transaction-pool-api 28.0.0", + "sp-api 26.0.0", + "sp-block-builder 26.0.0", + "sp-blockchain 28.0.0", + "sp-core 28.0.0", + "sp-runtime 31.0.1", +] + [[package]] name = "substrate-geohash" version = "0.13.0" @@ -14451,6 +16692,24 @@ dependencies = [ "sp-runtime 31.0.1", ] +[[package]] +name = "substrate-state-trie-migration-rpc" +version = "27.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92c25dcb3e4aee5559c2bd9b4d105786220cad116719d7ebb39e4f359865d44" +dependencies = [ + "jsonrpsee", + "parity-scale-codec", + "sc-client-api 28.0.0", + "sc-rpc-api 0.33.0", + "serde", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", + "trie-db", +] + [[package]] name = "substrate-typenum" version = "1.16.0" @@ -14473,7 +16732,7 @@ dependencies = [ "filetime", "parity-wasm", "sp-maybe-compressed-blob 9.0.0", - "strum", + "strum 0.24.1", "tempfile", "toml 0.7.8", "walkdir", @@ -14492,7 +16751,7 @@ dependencies = [ "filetime", "parity-wasm", "sp-maybe-compressed-blob 11.0.0", - "strum", + "strum 0.24.1", "tempfile", "toml 0.8.2", "walkdir", @@ -14614,6 +16873,16 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "terminal_size" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +dependencies = [ + "rustix 0.38.28", + "windows-sys 0.48.0", +] + [[package]] name = "termtree" version = "0.4.1" @@ -14640,6 +16909,12 @@ dependencies = [ "syn 2.0.48", ] +[[package]] +name = "thousands" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" + [[package]] name = "thread_local" version = "1.1.7" @@ -15013,10 +17288,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32c0555bd635d9adbf8dec0bf45f7c2aef7541121d648ba37f5f792a211077b6" dependencies = [ "coarsetime", - "polkadot-node-jaeger", + "polkadot-node-jaeger 4.0.0", "polkadot-primitives 4.0.0", "tracing", - "tracing-gum-proc-macro", + "tracing-gum-proc-macro 4.0.0", +] + +[[package]] +name = "tracing-gum" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f134d9dda0e872989ddf57b90ca73bcad27f1fba2cc19cfada7b76549c590b0" +dependencies = [ + "coarsetime", + "polkadot-primitives 7.0.0", + "tracing", + "tracing-gum-proc-macro 5.0.0", ] [[package]] @@ -15032,6 +17319,19 @@ dependencies = [ "syn 2.0.48", ] +[[package]] +name = "tracing-gum-proc-macro" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f074568687ffdfd0adb6005aa8d1d96840197f2c159f80471285f08694cf0ce" +dependencies = [ + "expander 2.0.0", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "tracing-log" version = "0.1.4" @@ -15174,6 +17474,12 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + [[package]] name = "uint" version = "0.9.5" @@ -15432,8 +17738,8 @@ checksum = "fc942673e7684671f0c5708fc18993569d184265fd5223bb51fc8e5b9b6cfd52" dependencies = [ "anyhow", "libc", - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "tempfile", "thiserror", "wasm-opt-cxx-sys", diff --git a/Cargo.toml b/Cargo.toml index 01efeb50b9..daf6373db0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,10 +26,22 @@ members = [ "system-parachains/constants", "system-parachains/encointer", "system-parachains/gluttons/glutton-kusama", - "integration-tests/emulated/assets/asset-hub-kusama", - "integration-tests/emulated/assets/asset-hub-polkadot", - "integration-tests/emulated/chains", - "integration-tests/emulated/common", + "integration-tests/emulated/chains/relays/kusama", + "integration-tests/emulated/chains/relays/polkadot", + "integration-tests/emulated/chains/parachains/assets/asset-hub-kusama", + "integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot", + "integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama", + "integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot", + "integration-tests/emulated/chains/parachains/collectives/collectives-polkadot", + "integration-tests/emulated/chains/parachains/testing/penpal", + "integration-tests/emulated/helpers", + "integration-tests/emulated/networks/kusama-system", + "integration-tests/emulated/networks/polkadot-system", + "integration-tests/emulated/networks/kusama-polkadot-system", + "integration-tests/emulated/tests/assets/asset-hub-kusama", + "integration-tests/emulated/tests/assets/asset-hub-polkadot", + "integration-tests/emulated/tests/bridges/bridge-hub-kusama", + "integration-tests/emulated/tests/bridges/bridge-hub-polkadot", ] [profile.release] diff --git a/integration-tests/emulated/assets/asset-hub-kusama/src/lib.rs b/integration-tests/emulated/assets/asset-hub-kusama/src/lib.rs deleted file mode 100644 index c0d8309201..0000000000 --- a/integration-tests/emulated/assets/asset-hub-kusama/src/lib.rs +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Disable tests when `runtime-benchmarks` is enabled, because of `type MessageProcessor = -// pallet_message_queue::mock_helpers::NoopMessageProcessor`. -#![cfg(not(feature = "runtime-benchmarks"))] - -pub use asset_test_utils::xcm_helpers; -pub use codec::Encode; -pub use emulated_chains::{ - asset_hub_kusama::ED as ASSET_HUB_KUSAMA_ED, kusama::ED as KUSAMA_ED, - AssetHubKusamaPara as AssetHubKusama, AssetHubKusamaParaPallet as AssetHubKusamaPallet, - AssetHubKusamaParaReceiver as AssetHubKusamaReceiver, - AssetHubKusamaParaSender as AssetHubKusamaSender, BridgeHubKusamaPara as BridgeHubKusama, - BridgeHubKusamaParaReceiver as BridgeHubKusamaReceiver, KusamaRelay as Kusama, - KusamaRelayPallet as KusamaPallet, KusamaRelayReceiver as KusamaReceiver, - KusamaRelaySender as KusamaSender, PenpalKusamaAPara as PenpalKusamaA, - PenpalKusamaAParaPallet as PenpalKusamaAPallet, - PenpalKusamaAParaReceiver as PenpalKusamaAReceiver, - PenpalKusamaAParaSender as PenpalKusamaASender, PenpalKusamaBPara as PenpalKusamaB, - PenpalKusamaBParaPallet as PenpalKusamaBPallet, PenpalLocalTeleportableToAssetHub, - PenpalXcmConfig, -}; -pub use frame_support::{ - assert_err, assert_ok, - pallet_prelude::Weight, - sp_runtime::{AccountId32, DispatchError, DispatchResult}, - traits::fungibles::Inspect, -}; -pub use integration_tests_common::{ - test_parachain_is_trusted_teleporter, - xcm_helpers::{non_fee_asset, xcm_transact_paid_execution, xcm_transact_unpaid_execution}, - PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, XCM_V3, -}; -pub use parachains_common::{AccountId, Balance}; -pub use xcm::{ - prelude::{AccountId32 as AccountId32Junction, *}, - v3::{Error, NetworkId::Kusama as KusamaId}, -}; -pub use xcm_emulator::{ - assert_expected_events, bx, helpers::weight_within_threshold, Chain, Parachain as Para, - RelayChain as Relay, Test, TestArgs, TestContext, TestExt, -}; - -pub const ASSET_ID: u32 = 1; -pub const ASSET_MIN_BALANCE: u128 = 1000; -// `Assets` pallet index -pub const ASSETS_PALLET_ID: u8 = 50; - -pub type RelayToSystemParaTest = Test; -pub type RelayToParaTest = Test; -pub type SystemParaToRelayTest = Test; -pub type SystemParaToParaTest = Test; -pub type ParaToSystemParaTest = Test; - -/// Returns a `TestArgs` instance to be used for the Relay Chain across integration tests -pub fn relay_test_args( - dest: MultiLocation, - beneficiary_id: AccountId32, - amount: Balance, -) -> TestArgs { - TestArgs { - dest, - beneficiary: AccountId32Junction { network: None, id: beneficiary_id.into() }.into(), - amount, - assets: (Here, amount).into(), - asset_id: None, - fee_asset_item: 0, - weight_limit: WeightLimit::Unlimited, - } -} - -/// Returns a `TestArgs` instance to be used by parachains across integration tests -pub fn para_test_args( - dest: MultiLocation, - beneficiary_id: AccountId32, - amount: Balance, - assets: MultiAssets, - asset_id: Option, - fee_asset_item: u32, -) -> TestArgs { - TestArgs { - dest, - beneficiary: AccountId32Junction { network: None, id: beneficiary_id.into() }.into(), - amount, - assets, - asset_id, - fee_asset_item, - weight_limit: WeightLimit::Unlimited, - } -} - -#[cfg(test)] -#[cfg(not(feature = "runtime-benchmarks"))] -mod tests; diff --git a/integration-tests/emulated/assets/asset-hub-polkadot/Cargo.toml b/integration-tests/emulated/assets/asset-hub-polkadot/Cargo.toml deleted file mode 100644 index 20abd3db11..0000000000 --- a/integration-tests/emulated/assets/asset-hub-polkadot/Cargo.toml +++ /dev/null @@ -1,35 +0,0 @@ -[package] -name = "asset-hub-polkadot-integration-tests" -version = "1.0.0" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -description = "Asset Hub Polkadot runtime integration tests with xcm-emulator" -publish = false - -[dependencies] -codec = { package = "parity-scale-codec", version = "3.6.9" } - -# Substrate -sp-runtime = { version = "31.0.1" } -frame-support = { version = "28.0.0" } -pallet-assets = { version = "29.0.0" } -pallet-balances = { version = "28.0.0" } -pallet-message-queue = { version = "31.0.0" } - -# Polkadot -xcm = { package = "staging-xcm", version = "7.0.0" } -xcm-executor = { package = "staging-xcm-executor", default-features = false, version = "7.0.0" } -pallet-xcm = { version = "7.0.0" } - -# Cumulus -parachains-common = { version = "7.0.0" } -xcm-emulator = { version = "0.5.0" } -asset-test-utils = { version = "7.0.1" } - -# Local -emulated-chains = { path = "../../chains" } -integration-tests-common = { path = "../../common" } -asset-hub-polkadot-runtime = { path = "../../../../system-parachains/asset-hubs/asset-hub-polkadot" } -polkadot-runtime = { path = "../../../../relay/polkadot" } -system-parachains-constants = { path = "../../../../system-parachains/constants" } diff --git a/integration-tests/emulated/assets/asset-hub-polkadot/src/lib.rs b/integration-tests/emulated/assets/asset-hub-polkadot/src/lib.rs deleted file mode 100644 index f006fc54b3..0000000000 --- a/integration-tests/emulated/assets/asset-hub-polkadot/src/lib.rs +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Disable tests when `runtime-benchmarks` is enabled, because of `type MessageProcessor = -// pallet_message_queue::mock_helpers::NoopMessageProcessor`. -#![cfg(not(feature = "runtime-benchmarks"))] - -pub use asset_test_utils::xcm_helpers; -pub use codec::Encode; -pub use emulated_chains::{ - asset_hub_polkadot::ED as ASSET_HUB_POLKADOT_ED, polkadot::ED as POLKADOT_ED, - AssetHubPolkadotPara as AssetHubPolkadot, AssetHubPolkadotParaPallet as AssetHubPolkadotPallet, - AssetHubPolkadotParaReceiver as AssetHubPolkadotReceiver, - AssetHubPolkadotParaSender as AssetHubPolkadotSender, - BridgeHubPolkadotPara as BridgeHubPolkadot, - BridgeHubPolkadotParaReceiver as BridgeHubPolkadotReceiver, PenpalLocalTeleportableToAssetHub, - PenpalPolkadotAPara as PenpalPolkadotA, PenpalPolkadotAParaPallet as PenpalPolkadotAPallet, - PenpalPolkadotAParaReceiver as PenpalPolkadotAReceiver, - PenpalPolkadotAParaSender as PenpalPolkadotASender, PenpalPolkadotBPara as PenpalPolkadotB, - PenpalPolkadotBParaPallet as PenpalPolkadotBPallet, PenpalXcmConfig, PolkadotRelay as Polkadot, - PolkadotRelayPallet as PolkadotPallet, PolkadotRelayReceiver as PolkadotReceiver, - PolkadotRelaySender as PolkadotSender, -}; -pub use frame_support::{ - assert_err, assert_ok, - pallet_prelude::Weight, - sp_runtime::{AccountId32, DispatchError, DispatchResult}, - traits::fungibles::Inspect, -}; -pub use integration_tests_common::{ - test_parachain_is_trusted_teleporter, - xcm_helpers::{non_fee_asset, xcm_transact_paid_execution, xcm_transact_unpaid_execution}, - PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, XCM_V3, -}; -pub use parachains_common::{AccountId, Balance}; -pub use xcm::{ - prelude::{AccountId32 as AccountId32Junction, *}, - v3::{Error, NetworkId::Polkadot as PolkadotId}, -}; -pub use xcm_emulator::{ - assert_expected_events, bx, helpers::weight_within_threshold, Chain, Parachain as Para, - RelayChain as Relay, Test, TestArgs, TestContext, TestExt, -}; - -pub const ASSET_ID: u32 = 1; -pub const ASSET_MIN_BALANCE: u128 = 1000; -// `Assets` pallet index -pub const ASSETS_PALLET_ID: u8 = 50; - -pub type RelayToSystemParaTest = Test; -pub type RelayToParaTest = Test; -pub type SystemParaToRelayTest = Test; -pub type SystemParaToParaTest = Test; -pub type ParaToSystemParaTest = Test; - -/// Returns a `TestArgs` instance to be used for the Relay Chain across integration tests -pub fn relay_test_args( - dest: MultiLocation, - beneficiary_id: AccountId32, - amount: Balance, -) -> TestArgs { - TestArgs { - dest, - beneficiary: AccountId32Junction { network: None, id: beneficiary_id.into() }.into(), - amount, - assets: (Here, amount).into(), - asset_id: None, - fee_asset_item: 0, - weight_limit: WeightLimit::Unlimited, - } -} - -/// Returns a `TestArgs` instance to be used by parachains across integration tests -pub fn para_test_args( - dest: MultiLocation, - beneficiary_id: AccountId32, - amount: Balance, - assets: MultiAssets, - asset_id: Option, - fee_asset_item: u32, -) -> TestArgs { - TestArgs { - dest, - beneficiary: AccountId32Junction { network: None, id: beneficiary_id.into() }.into(), - amount, - assets, - asset_id, - fee_asset_item, - weight_limit: WeightLimit::Unlimited, - } -} - -#[cfg(test)] -#[cfg(not(feature = "runtime-benchmarks"))] -mod tests; diff --git a/integration-tests/emulated/chains/Cargo.toml b/integration-tests/emulated/chains/Cargo.toml deleted file mode 100644 index 63d3773efb..0000000000 --- a/integration-tests/emulated/chains/Cargo.toml +++ /dev/null @@ -1,44 +0,0 @@ -[package] -name = "emulated-chains" -version = "1.0.0" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -description = "Definitions of the fellows emulated relay+para runtimes" - -[dependencies] - -# Substrate -grandpa-primitives = { package = "sp-consensus-grandpa", version = "13.0.0" } -sp-authority-discovery = { version = "26.0.0" } -sp-runtime = { version = "31.0.1" } -frame-support = { version = "28.0.0" } -sp-core = { version = "28.0.0" } -sp-consensus-babe = { version = "0.32.0" } -pallet-im-online = { version = "27.0.0" } -pallet-staking = { version = "28.0.0" } -beefy-primitives = { package = "sp-consensus-beefy", version = "13.0.0" } - -# Polkadot -polkadot-primitives = { version = "7.0.0" } -polkadot-runtime-parachains = { version = "7.0.0" } -polkadot-parachain-primitives = { version = "6.0.0" } - -# Cumulus -parachains-common = { version = "7.0.0" } -cumulus-primitives-core = { version = "0.7.0" } -xcm-emulator = { version = "0.5.0" } -penpal-runtime = { version = "0.14.3" } - -# Local runtimes -kusama-runtime = { package = "staging-kusama-runtime", path = "../../../relay/kusama" } -kusama-runtime-constants = { path = "../../../relay/kusama/constants" } -polkadot-runtime = { path = "../../../relay/polkadot" } -polkadot-runtime-constants = { path = "../../../relay/polkadot/constants" } -asset-hub-polkadot-runtime = { path = "../../../system-parachains/asset-hubs/asset-hub-polkadot" } -asset-hub-kusama-runtime = { path = "../../../system-parachains/asset-hubs/asset-hub-kusama" } -collectives-polkadot-runtime = { path = "../../../system-parachains/collectives/collectives-polkadot" } -bridge-hub-polkadot-runtime = { path = "../../../system-parachains/bridge-hubs/bridge-hub-polkadot" } -bridge-hub-kusama-runtime = { path = "../../../system-parachains/bridge-hubs/bridge-hub-kusama" } -# TODO: replace with `emulated-integration-tests-common@X.Y.Z` from `polkadot-sdk` -integration-tests-common = { path = "../common" } diff --git a/integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/Cargo.toml b/integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/Cargo.toml new file mode 100644 index 0000000000..0b4f070c48 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "asset-hub-kusama-emulated-chain" +version = "0.0.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Asset Hub Kusama emulated chain used for integration tests" +publish = false + +[dependencies] +serde_json = "1.0.111" + +# Substrate +sp-core = { version = "28.0.0" } +sp-runtime = { version = "31.0.1" } +frame-support = { version = "28.0.0" } + +# Cumulus +parachains-common = { version = "7.0.0" } +cumulus-primitives-core = { version = "0.7.0" } +emulated-integration-tests-common = { version = "3.0.0" } + +# Runtimes +asset-hub-kusama-runtime = { path = "../../../../../../system-parachains/asset-hubs/asset-hub-kusama" } +kusama-emulated-chain = { path = "../../../relays/kusama" } +system-parachains-constants = { path = "../../../../../../system-parachains/constants" } diff --git a/integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/src/genesis.rs b/integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/src/genesis.rs new file mode 100644 index 0000000000..d49faa57f5 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/src/genesis.rs @@ -0,0 +1,71 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Substrate +use sp_core::storage::Storage; + +// Cumulus +use emulated_integration_tests_common::{ + accounts, build_genesis_storage, collators, SAFE_XCM_VERSION, +}; +use parachains_common::Balance; + +pub const PARA_ID: u32 = 1000; +pub const ED: Balance = + system_parachains_constants::kusama::currency::SYSTEM_PARA_EXISTENTIAL_DEPOSIT; + +pub fn genesis() -> Storage { + let genesis_config = asset_hub_kusama_runtime::RuntimeGenesisConfig { + system: asset_hub_kusama_runtime::SystemConfig::default(), + balances: asset_hub_kusama_runtime::BalancesConfig { + balances: accounts::init_balances() + .iter() + .cloned() + .map(|k| (k, ED * 4096 * 4096)) + .collect(), + }, + parachain_info: asset_hub_kusama_runtime::ParachainInfoConfig { + parachain_id: PARA_ID.into(), + ..Default::default() + }, + collator_selection: asset_hub_kusama_runtime::CollatorSelectionConfig { + invulnerables: collators::invulnerables().iter().cloned().map(|(acc, _)| acc).collect(), + candidacy_bond: ED * 16, + ..Default::default() + }, + session: asset_hub_kusama_runtime::SessionConfig { + keys: collators::invulnerables() + .into_iter() + .map(|(acc, aura)| { + ( + acc.clone(), // account id + acc, // validator id + asset_hub_kusama_runtime::SessionKeys { aura }, // session keys + ) + }) + .collect(), + }, + polkadot_xcm: asset_hub_kusama_runtime::PolkadotXcmConfig { + safe_xcm_version: Some(SAFE_XCM_VERSION), + ..Default::default() + }, + ..Default::default() + }; + + build_genesis_storage( + &genesis_config, + asset_hub_kusama_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), + ) +} diff --git a/integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/src/lib.rs b/integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/src/lib.rs new file mode 100644 index 0000000000..775e575e7e --- /dev/null +++ b/integration-tests/emulated/chains/parachains/assets/asset-hub-kusama/src/lib.rs @@ -0,0 +1,59 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub mod genesis; + +// Substrate +use frame_support::traits::OnInitialize; + +// Cumulus +use emulated_integration_tests_common::{ + impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, + impl_assets_helpers_for_parachain, impl_foreign_assets_helpers_for_parachain, + impl_xcm_helpers_for_parachain, impls::Parachain, xcm_emulator::decl_test_parachains, +}; +use kusama_emulated_chain::Kusama; + +// AssetHubKusama Parachain declaration +decl_test_parachains! { + pub struct AssetHubKusama { + genesis = genesis::genesis(), + on_init = { + asset_hub_kusama_runtime::AuraExt::on_initialize(1); + }, + runtime = asset_hub_kusama_runtime, + core = { + XcmpMessageHandler: asset_hub_kusama_runtime::XcmpQueue, + LocationToAccountId: asset_hub_kusama_runtime::xcm_config::LocationToAccountId, + ParachainInfo: asset_hub_kusama_runtime::ParachainInfo, + MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, + }, + pallets = { + PolkadotXcm: asset_hub_kusama_runtime::PolkadotXcm, + Assets: asset_hub_kusama_runtime::Assets, + ForeignAssets: asset_hub_kusama_runtime::ForeignAssets, + PoolAssets: asset_hub_kusama_runtime::PoolAssets, + AssetConversion: asset_hub_kusama_runtime::AssetConversion, + Balances: asset_hub_kusama_runtime::Balances, + } + }, +} + +// AssetHubKusama implementation +impl_accounts_helpers_for_parachain!(AssetHubKusama); +impl_assert_events_helpers_for_parachain!(AssetHubKusama); +impl_assets_helpers_for_parachain!(AssetHubKusama, Kusama); +impl_foreign_assets_helpers_for_parachain!(AssetHubKusama, Kusama); +impl_xcm_helpers_for_parachain!(AssetHubKusama); diff --git a/integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/Cargo.toml b/integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/Cargo.toml new file mode 100644 index 0000000000..ed81adc3b2 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "asset-hub-polkadot-emulated-chain" +version = "0.0.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Asset Hub Polkadot emulated chain used for integration tests" +publish = false + +[dependencies] +serde_json = "1.0.111" + +# Substrate +sp-core = { version = "28.0.0" } +sp-runtime = { version = "31.0.1" } +frame-support = { version = "28.0.0" } + +# Cumulus +parachains-common = { version = "7.0.0" } +cumulus-primitives-core = { version = "0.7.0" } +emulated-integration-tests-common = { version = "3.0.0" } + +# Runtimes +asset-hub-polkadot-runtime = { path = "../../../../../../system-parachains/asset-hubs/asset-hub-polkadot" } +polkadot-emulated-chain = { path = "../../../relays/polkadot" } +system-parachains-constants = { path = "../../../../../../system-parachains/constants" } diff --git a/integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/src/genesis.rs b/integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/src/genesis.rs new file mode 100644 index 0000000000..1385e66954 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/src/genesis.rs @@ -0,0 +1,68 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Substrate +use sp_core::storage::Storage; + +// Cumulus +use emulated_integration_tests_common::{ + accounts, build_genesis_storage, collators, SAFE_XCM_VERSION, +}; +use parachains_common::Balance; + +pub const PARA_ID: u32 = 1000; +pub const ED: Balance = + system_parachains_constants::polkadot::currency::SYSTEM_PARA_EXISTENTIAL_DEPOSIT; + +pub fn genesis() -> Storage { + let genesis_config = asset_hub_polkadot_runtime::RuntimeGenesisConfig { + system: asset_hub_polkadot_runtime::SystemConfig::default(), + balances: asset_hub_polkadot_runtime::BalancesConfig { + balances: accounts::init_balances().iter().cloned().map(|k| (k, ED * 4096)).collect(), + }, + parachain_info: asset_hub_polkadot_runtime::ParachainInfoConfig { + parachain_id: PARA_ID.into(), + ..Default::default() + }, + collator_selection: asset_hub_polkadot_runtime::CollatorSelectionConfig { + invulnerables: collators::invulnerables().iter().cloned().map(|(acc, _)| acc).collect(), + candidacy_bond: ED * 16, + ..Default::default() + }, + session: asset_hub_polkadot_runtime::SessionConfig { + keys: collators::invulnerables_asset_hub_polkadot() + .into_iter() + .map(|(acc, aura)| { + ( + acc.clone(), // account id + acc, // validator id + asset_hub_polkadot_runtime::SessionKeys { aura }, // session keys + ) + }) + .collect(), + }, + polkadot_xcm: asset_hub_polkadot_runtime::PolkadotXcmConfig { + safe_xcm_version: Some(SAFE_XCM_VERSION), + ..Default::default() + }, + ..Default::default() + }; + + build_genesis_storage( + &genesis_config, + asset_hub_polkadot_runtime::WASM_BINARY + .expect("WASM binary was not built, please build it!"), + ) +} diff --git a/integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/src/lib.rs b/integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/src/lib.rs new file mode 100644 index 0000000000..b0f35b3a6c --- /dev/null +++ b/integration-tests/emulated/chains/parachains/assets/asset-hub-polkadot/src/lib.rs @@ -0,0 +1,57 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub mod genesis; + +// Substrate +use frame_support::traits::OnInitialize; + +// Cumulus +use emulated_integration_tests_common::{ + impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, + impl_assets_helpers_for_parachain, impl_foreign_assets_helpers_for_parachain, + impl_xcm_helpers_for_parachain, impls::Parachain, xcm_emulator::decl_test_parachains, +}; +use polkadot_emulated_chain::Polkadot; + +// AssetHubPolkadot Parachain declaration +decl_test_parachains! { + pub struct AssetHubPolkadot { + genesis = genesis::genesis(), + on_init = { + asset_hub_polkadot_runtime::AuraExt::on_initialize(1); + }, + runtime = asset_hub_polkadot_runtime, + core = { + XcmpMessageHandler: asset_hub_polkadot_runtime::XcmpQueue, + LocationToAccountId: asset_hub_polkadot_runtime::xcm_config::LocationToAccountId, + ParachainInfo: asset_hub_polkadot_runtime::ParachainInfo, + MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, + }, + pallets = { + PolkadotXcm: asset_hub_polkadot_runtime::PolkadotXcm, + Balances: asset_hub_polkadot_runtime::Balances, + Assets: asset_hub_polkadot_runtime::Assets, + ForeignAssets: asset_hub_polkadot_runtime::ForeignAssets, + } + }, +} + +// AssetHubPolkadot implementation +impl_accounts_helpers_for_parachain!(AssetHubPolkadot); +impl_assert_events_helpers_for_parachain!(AssetHubPolkadot); +impl_assets_helpers_for_parachain!(AssetHubPolkadot, Polkadot); +impl_foreign_assets_helpers_for_parachain!(AssetHubPolkadot, Polkadot); +impl_xcm_helpers_for_parachain!(AssetHubPolkadot); diff --git a/integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/Cargo.toml b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/Cargo.toml new file mode 100644 index 0000000000..09af5a3ef5 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "bridge-hub-kusama-emulated-chain" +version = "0.0.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Bridge Hub Kusama emulated chain used for integration tests" +publish = false + +[dependencies] +serde_json = "1.0.111" + +# Substrate +sp-core = { version = "28.0.0" } +sp-runtime = { version = "31.0.1" } +frame-support = { version = "28.0.0" } + +# Cumulus +parachains-common = { version = "7.0.0" } +cumulus-primitives-core = { version = "0.7.0" } +emulated-integration-tests-common = { version = "3.0.0" } + +# Runtimes +bridge-hub-kusama-runtime = { path = "../../../../../../system-parachains/bridge-hubs/bridge-hub-kusama" } +system-parachains-constants = { path = "../../../../../../system-parachains/constants" } diff --git a/integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/src/genesis.rs b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/src/genesis.rs new file mode 100644 index 0000000000..b9f217c38f --- /dev/null +++ b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/src/genesis.rs @@ -0,0 +1,77 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Substrate +use sp_core::{sr25519, storage::Storage}; + +// Cumulus +use emulated_integration_tests_common::{ + accounts, build_genesis_storage, collators, get_account_id_from_seed, SAFE_XCM_VERSION, +}; +use parachains_common::Balance; + +pub const ASSETHUB_PARA_ID: u32 = 1000; +pub const PARA_ID: u32 = 1002; +pub const ED: Balance = + system_parachains_constants::kusama::currency::SYSTEM_PARA_EXISTENTIAL_DEPOSIT; + +pub fn genesis() -> Storage { + let genesis_config = bridge_hub_kusama_runtime::RuntimeGenesisConfig { + system: bridge_hub_kusama_runtime::SystemConfig::default(), + balances: bridge_hub_kusama_runtime::BalancesConfig { + balances: accounts::init_balances().iter().cloned().map(|k| (k, ED * 4096)).collect(), + }, + parachain_info: bridge_hub_kusama_runtime::ParachainInfoConfig { + parachain_id: PARA_ID.into(), + ..Default::default() + }, + collator_selection: bridge_hub_kusama_runtime::CollatorSelectionConfig { + invulnerables: collators::invulnerables().iter().cloned().map(|(acc, _)| acc).collect(), + candidacy_bond: ED * 16, + ..Default::default() + }, + session: bridge_hub_kusama_runtime::SessionConfig { + keys: collators::invulnerables() + .into_iter() + .map(|(acc, aura)| { + ( + acc.clone(), // account id + acc, // validator id + bridge_hub_kusama_runtime::SessionKeys { aura }, // session keys + ) + }) + .collect(), + }, + polkadot_xcm: bridge_hub_kusama_runtime::PolkadotXcmConfig { + safe_xcm_version: Some(SAFE_XCM_VERSION), + ..Default::default() + }, + bridge_polkadot_grandpa: bridge_hub_kusama_runtime::BridgePolkadotGrandpaConfig { + owner: Some(get_account_id_from_seed::(accounts::BOB)), + ..Default::default() + }, + bridge_polkadot_messages: bridge_hub_kusama_runtime::BridgePolkadotMessagesConfig { + owner: Some(get_account_id_from_seed::(accounts::BOB)), + ..Default::default() + }, + ..Default::default() + }; + + build_genesis_storage( + &genesis_config, + bridge_hub_kusama_runtime::WASM_BINARY + .expect("WASM binary was not built, please build it!"), + ) +} diff --git a/integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/src/lib.rs b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/src/lib.rs new file mode 100644 index 0000000000..1504f90852 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-kusama/src/lib.rs @@ -0,0 +1,51 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub mod genesis; + +// Substrate +use frame_support::traits::OnInitialize; + +// Cumulus +use emulated_integration_tests_common::{ + impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, + impl_xcm_helpers_for_parachain, impls::Parachain, xcm_emulator::decl_test_parachains, +}; + +// BridgeHubKusama Parachain declaration +decl_test_parachains! { + pub struct BridgeHubKusama { + genesis = genesis::genesis(), + on_init = { + bridge_hub_kusama_runtime::AuraExt::on_initialize(1); + }, + runtime = bridge_hub_kusama_runtime, + core = { + XcmpMessageHandler: bridge_hub_kusama_runtime::XcmpQueue, + LocationToAccountId: bridge_hub_kusama_runtime::xcm_config::LocationToAccountId, + ParachainInfo: bridge_hub_kusama_runtime::ParachainInfo, + MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, + }, + pallets = { + PolkadotXcm: bridge_hub_kusama_runtime::PolkadotXcm, + Balances: bridge_hub_kusama_runtime::Balances, + } + }, +} + +// BridgeHubKusama implementation +impl_accounts_helpers_for_parachain!(BridgeHubKusama); +impl_assert_events_helpers_for_parachain!(BridgeHubKusama); +impl_xcm_helpers_for_parachain!(BridgeHubKusama); diff --git a/integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/Cargo.toml b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/Cargo.toml new file mode 100644 index 0000000000..904d6688c7 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "bridge-hub-polkadot-emulated-chain" +version = "0.0.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Bridge Hub Polkadot emulated chain used for integration tests" +publish = false + +[dependencies] +serde_json = "1.0.111" + +# Substrate +sp-core = { version = "28.0.0" } +sp-runtime = { version = "31.0.1" } +frame-support = { version = "28.0.0" } + +# Cumulus +parachains-common = { version = "7.0.0" } +cumulus-primitives-core = { version = "0.7.0" } +emulated-integration-tests-common = { version = "3.0.0" } + +# Runtimes +bridge-hub-polkadot-runtime = { path = "../../../../../../system-parachains/bridge-hubs/bridge-hub-polkadot" } +system-parachains-constants = { path = "../../../../../../system-parachains/constants" } diff --git a/integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/src/genesis.rs b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/src/genesis.rs new file mode 100644 index 0000000000..30b28c27d2 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/src/genesis.rs @@ -0,0 +1,76 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Substrate +use sp_core::{sr25519, storage::Storage}; + +// Cumulus +use emulated_integration_tests_common::{ + accounts, build_genesis_storage, collators, get_account_id_from_seed, SAFE_XCM_VERSION, +}; +use parachains_common::Balance; + +pub const PARA_ID: u32 = 1002; +pub const ED: Balance = + system_parachains_constants::polkadot::currency::SYSTEM_PARA_EXISTENTIAL_DEPOSIT; + +pub fn genesis() -> Storage { + let genesis_config = bridge_hub_polkadot_runtime::RuntimeGenesisConfig { + system: bridge_hub_polkadot_runtime::SystemConfig::default(), + balances: bridge_hub_polkadot_runtime::BalancesConfig { + balances: accounts::init_balances().iter().cloned().map(|k| (k, ED * 4096)).collect(), + }, + parachain_info: bridge_hub_polkadot_runtime::ParachainInfoConfig { + parachain_id: PARA_ID.into(), + ..Default::default() + }, + collator_selection: bridge_hub_polkadot_runtime::CollatorSelectionConfig { + invulnerables: collators::invulnerables().iter().cloned().map(|(acc, _)| acc).collect(), + candidacy_bond: ED * 16, + ..Default::default() + }, + session: bridge_hub_polkadot_runtime::SessionConfig { + keys: collators::invulnerables() + .into_iter() + .map(|(acc, aura)| { + ( + acc.clone(), // account id + acc, // validator id + bridge_hub_polkadot_runtime::SessionKeys { aura }, // session keys + ) + }) + .collect(), + }, + polkadot_xcm: bridge_hub_polkadot_runtime::PolkadotXcmConfig { + safe_xcm_version: Some(SAFE_XCM_VERSION), + ..Default::default() + }, + bridge_kusama_grandpa: bridge_hub_polkadot_runtime::BridgeKusamaGrandpaConfig { + owner: Some(get_account_id_from_seed::(accounts::BOB)), + ..Default::default() + }, + bridge_kusama_messages: bridge_hub_polkadot_runtime::BridgeKusamaMessagesConfig { + owner: Some(get_account_id_from_seed::(accounts::BOB)), + ..Default::default() + }, + ..Default::default() + }; + + build_genesis_storage( + &genesis_config, + bridge_hub_polkadot_runtime::WASM_BINARY + .expect("WASM binary was not built, please build it!"), + ) +} diff --git a/integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/src/lib.rs b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/src/lib.rs new file mode 100644 index 0000000000..c448eb7f98 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/bridges/bridge-hub-polkadot/src/lib.rs @@ -0,0 +1,51 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub mod genesis; + +// Substrate +use frame_support::traits::OnInitialize; + +// Cumulus +use emulated_integration_tests_common::{ + impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, + impl_xcm_helpers_for_parachain, impls::Parachain, xcm_emulator::decl_test_parachains, +}; + +// BridgeHubPolkadot Parachain declaration +decl_test_parachains! { + pub struct BridgeHubPolkadot { + genesis = genesis::genesis(), + on_init = { + bridge_hub_polkadot_runtime::AuraExt::on_initialize(1); + }, + runtime = bridge_hub_polkadot_runtime, + core = { + XcmpMessageHandler: bridge_hub_polkadot_runtime::XcmpQueue, + LocationToAccountId: bridge_hub_polkadot_runtime::xcm_config::LocationToAccountId, + ParachainInfo: bridge_hub_polkadot_runtime::ParachainInfo, + MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, + }, + pallets = { + PolkadotXcm: bridge_hub_polkadot_runtime::PolkadotXcm, + Balances: bridge_hub_polkadot_runtime::Balances, + } + }, +} + +// BridgeHubPolkadot implementation +impl_accounts_helpers_for_parachain!(BridgeHubPolkadot); +impl_assert_events_helpers_for_parachain!(BridgeHubPolkadot); +impl_xcm_helpers_for_parachain!(BridgeHubPolkadot); diff --git a/integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/Cargo.toml b/integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/Cargo.toml new file mode 100644 index 0000000000..e5111a89d6 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "collectives-polkadot-emulated-chain" +version = "0.0.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Collectives Polkadot emulated chain used for integration tests" +publish = false + +[dependencies] +serde_json = "1.0.111" + +# Substrate +sp-core = { version = "28.0.0" } +sp-runtime = { version = "31.0.1" } +frame-support = { version = "28.0.0" } + +# Cumulus +parachains-common = { version = "7.0.0" } +cumulus-primitives-core = { version = "0.7.0" } +emulated-integration-tests-common = { version = "3.0.0" } + +# Runtimes +collectives-polkadot-runtime = { path = "../../../../../../system-parachains/collectives/collectives-polkadot" } +system-parachains-constants = { path = "../../../../../../system-parachains/constants" } diff --git a/integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/src/genesis.rs b/integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/src/genesis.rs new file mode 100644 index 0000000000..c1e1fc03e0 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/src/genesis.rs @@ -0,0 +1,68 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Substrate +use sp_core::storage::Storage; + +// Cumulus +use emulated_integration_tests_common::{ + accounts, build_genesis_storage, collators, SAFE_XCM_VERSION, +}; +use parachains_common::Balance; + +pub const PARA_ID: u32 = 1001; +pub const ED: Balance = + system_parachains_constants::polkadot::currency::SYSTEM_PARA_EXISTENTIAL_DEPOSIT; + +pub fn genesis() -> Storage { + let genesis_config = collectives_polkadot_runtime::RuntimeGenesisConfig { + system: collectives_polkadot_runtime::SystemConfig::default(), + balances: collectives_polkadot_runtime::BalancesConfig { + balances: accounts::init_balances().iter().cloned().map(|k| (k, ED * 4096)).collect(), + }, + parachain_info: collectives_polkadot_runtime::ParachainInfoConfig { + parachain_id: PARA_ID.into(), + ..Default::default() + }, + collator_selection: collectives_polkadot_runtime::CollatorSelectionConfig { + invulnerables: collators::invulnerables().iter().cloned().map(|(acc, _)| acc).collect(), + candidacy_bond: ED * 16, + ..Default::default() + }, + session: collectives_polkadot_runtime::SessionConfig { + keys: collators::invulnerables() + .into_iter() + .map(|(acc, aura)| { + ( + acc.clone(), // account id + acc, // validator id + collectives_polkadot_runtime::SessionKeys { aura }, // session keys + ) + }) + .collect(), + }, + polkadot_xcm: collectives_polkadot_runtime::PolkadotXcmConfig { + safe_xcm_version: Some(SAFE_XCM_VERSION), + ..Default::default() + }, + ..Default::default() + }; + + build_genesis_storage( + &genesis_config, + collectives_polkadot_runtime::WASM_BINARY + .expect("WASM binary was not built, please build it!"), + ) +} diff --git a/integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/src/lib.rs b/integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/src/lib.rs new file mode 100644 index 0000000000..d8ffbdcaf6 --- /dev/null +++ b/integration-tests/emulated/chains/parachains/collectives/collectives-polkadot/src/lib.rs @@ -0,0 +1,52 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub mod genesis; + +// Substrate +use frame_support::traits::OnInitialize; + +// Cumulus +use emulated_integration_tests_common::{ + impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, + impls::Parachain, xcm_emulator::decl_test_parachains, +}; + +// CollectivesPolkadot Parachain declaration +decl_test_parachains! { + pub struct CollectivesPolkadot { + genesis = genesis::genesis(), + on_init = { + collectives_polkadot_runtime::AuraExt::on_initialize(1); + }, + runtime = collectives_polkadot_runtime, + core = { + XcmpMessageHandler: collectives_polkadot_runtime::XcmpQueue, + LocationToAccountId: collectives_polkadot_runtime::xcm_config::LocationToAccountId, + ParachainInfo: collectives_polkadot_runtime::ParachainInfo, + MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, + }, + pallets = { + PolkadotXcm: collectives_polkadot_runtime::PolkadotXcm, + Balances: collectives_polkadot_runtime::Balances, + FellowshipTreasury: collectives_polkadot_runtime::FellowshipTreasury, + AssetRate: collectives_polkadot_runtime::AssetRate, + } + }, +} + +// CollectivesPolkadot implementation +impl_accounts_helpers_for_parachain!(CollectivesPolkadot); +impl_assert_events_helpers_for_parachain!(CollectivesPolkadot); diff --git a/integration-tests/emulated/chains/parachains/testing/penpal/Cargo.toml b/integration-tests/emulated/chains/parachains/testing/penpal/Cargo.toml new file mode 100644 index 0000000000..8e0b34ec9b --- /dev/null +++ b/integration-tests/emulated/chains/parachains/testing/penpal/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "penpal-emulated-chain" +version = "0.0.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Penpal emulated chain used for integration tests" +publish = false + +[dependencies] +serde_json = "1.0.111" + +# Substrate +sp-core = { version = "28.0.0" } +sp-runtime = { version = "31.0.1" } +frame-support = { version = "28.0.0" } + +# Cumulus +emulated-integration-tests-common = { version = "3.0.0" } +cumulus-primitives-core = { version = "0.7.0" } +parachains-common = { version = "7.0.0" } +penpal-runtime = { version = "0.14.0" } + +# Runtimes +kusama-emulated-chain = { path = "../../../relays/kusama" } +polkadot-emulated-chain = { path = "../../../relays/polkadot" } diff --git a/integration-tests/emulated/chains/parachains/testing/penpal/src/genesis.rs b/integration-tests/emulated/chains/parachains/testing/penpal/src/genesis.rs new file mode 100644 index 0000000000..9ab32a977d --- /dev/null +++ b/integration-tests/emulated/chains/parachains/testing/penpal/src/genesis.rs @@ -0,0 +1,71 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Substrate +use sp_core::{sr25519, storage::Storage}; + +// Cumulus +use emulated_integration_tests_common::{ + accounts, build_genesis_storage, collators, get_account_id_from_seed, SAFE_XCM_VERSION, +}; +use parachains_common::Balance; + +// Penpal +pub const PARA_ID_A: u32 = 2000; +pub const PARA_ID_B: u32 = 2001; +pub const ED: Balance = penpal_runtime::EXISTENTIAL_DEPOSIT; + +pub fn genesis(para_id: u32) -> Storage { + let genesis_config = penpal_runtime::RuntimeGenesisConfig { + system: penpal_runtime::SystemConfig::default(), + balances: penpal_runtime::BalancesConfig { + balances: accounts::init_balances().iter().cloned().map(|k| (k, ED * 4096)).collect(), + }, + parachain_info: penpal_runtime::ParachainInfoConfig { + parachain_id: para_id.into(), + ..Default::default() + }, + collator_selection: penpal_runtime::CollatorSelectionConfig { + invulnerables: collators::invulnerables().iter().cloned().map(|(acc, _)| acc).collect(), + candidacy_bond: ED * 16, + ..Default::default() + }, + session: penpal_runtime::SessionConfig { + keys: collators::invulnerables() + .into_iter() + .map(|(acc, aura)| { + ( + acc.clone(), // account id + acc, // validator id + penpal_runtime::SessionKeys { aura }, // session keys + ) + }) + .collect(), + }, + polkadot_xcm: penpal_runtime::PolkadotXcmConfig { + safe_xcm_version: Some(SAFE_XCM_VERSION), + ..Default::default() + }, + sudo: penpal_runtime::SudoConfig { + key: Some(get_account_id_from_seed::("Alice")), + }, + ..Default::default() + }; + + build_genesis_storage( + &genesis_config, + penpal_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), + ) +} diff --git a/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs b/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs new file mode 100644 index 0000000000..30d6e7bfad --- /dev/null +++ b/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs @@ -0,0 +1,79 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +mod genesis; +pub use genesis::{genesis, ED, PARA_ID_A, PARA_ID_B}; +pub use penpal_runtime::xcm_config::{LocalTeleportableToAssetHub, XcmConfig}; + +// Substrate +use frame_support::traits::OnInitialize; + +// Cumulus +use emulated_integration_tests_common::{ + impl_accounts_helpers_for_parachain, impl_assert_events_helpers_for_parachain, + impl_assets_helpers_for_parachain, impls::Parachain, xcm_emulator::decl_test_parachains, +}; +use kusama_emulated_chain::Kusama; +use polkadot_emulated_chain::Polkadot; + +// Penpal Parachain declaration +decl_test_parachains! { + pub struct PenpalA { + genesis = genesis(PARA_ID_A), + on_init = { + penpal_runtime::AuraExt::on_initialize(1); + }, + runtime = penpal_runtime, + core = { + XcmpMessageHandler: penpal_runtime::XcmpQueue, + LocationToAccountId: penpal_runtime::xcm_config::LocationToAccountId, + ParachainInfo: penpal_runtime::ParachainInfo, + MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, + }, + pallets = { + PolkadotXcm: penpal_runtime::PolkadotXcm, + Assets: penpal_runtime::Assets, + ForeignAssets: penpal_runtime::ForeignAssets, + Balances: penpal_runtime::Balances, + } + }, + pub struct PenpalB { + genesis = genesis(PARA_ID_B), + on_init = { + penpal_runtime::AuraExt::on_initialize(1); + }, + runtime = penpal_runtime, + core = { + XcmpMessageHandler: penpal_runtime::XcmpQueue, + LocationToAccountId: penpal_runtime::xcm_config::LocationToAccountId, + ParachainInfo: penpal_runtime::ParachainInfo, + MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, + }, + pallets = { + PolkadotXcm: penpal_runtime::PolkadotXcm, + Assets: penpal_runtime::Assets, + ForeignAssets: penpal_runtime::ForeignAssets, + Balances: penpal_runtime::Balances, + } + }, +} + +// Penpal implementation +impl_accounts_helpers_for_parachain!(PenpalA); +impl_accounts_helpers_for_parachain!(PenpalB); +impl_assets_helpers_for_parachain!(PenpalA, Kusama); +impl_assets_helpers_for_parachain!(PenpalB, Polkadot); +impl_assert_events_helpers_for_parachain!(PenpalA); +impl_assert_events_helpers_for_parachain!(PenpalB); diff --git a/integration-tests/emulated/chains/relays/kusama/Cargo.toml b/integration-tests/emulated/chains/relays/kusama/Cargo.toml new file mode 100644 index 0000000000..79040a6c8a --- /dev/null +++ b/integration-tests/emulated/chains/relays/kusama/Cargo.toml @@ -0,0 +1,31 @@ +[package] +name = "kusama-emulated-chain" +version = "1.0.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Kusama emulated chain used for integration tests" +publish = false + +[dependencies] +serde_json = "1.0.111" + +# Substrate +sp-core = { version = "28.0.0" } +sp-runtime = { version = "31.0.1" } +authority-discovery-primitives = { package = "sp-authority-discovery", version = "26.0.0" } +babe-primitives = { package = "sp-consensus-babe", version = "0.32.0" } +beefy-primitives = { package = "sp-consensus-beefy", version = "13.0.0" } +grandpa = { package = "sc-consensus-grandpa", version = "0.19.0" } +pallet-im-online = { version = "27.0.0" } + +# Polkadot +polkadot-primitives = { version = "7.0.0" } + +# Cumulus +parachains-common = { version = "7.0.0" } +emulated-integration-tests-common = { version = "3.0.0" } + +# Runtimes +kusama-runtime-constants = { path = "../../../../../relay/kusama/constants" } +kusama-runtime = { package = "staging-kusama-runtime", path = "../../../../../relay/kusama" } diff --git a/integration-tests/emulated/chains/relays/kusama/src/genesis.rs b/integration-tests/emulated/chains/relays/kusama/src/genesis.rs new file mode 100644 index 0000000000..ca1b016511 --- /dev/null +++ b/integration-tests/emulated/chains/relays/kusama/src/genesis.rs @@ -0,0 +1,127 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Substrate +use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId; +use babe_primitives::AuthorityId as BabeId; +use beefy_primitives::ecdsa_crypto::AuthorityId as BeefyId; +use grandpa::AuthorityId as GrandpaId; +use pallet_im_online::sr25519::AuthorityId as ImOnlineId; +use sp_core::{sr25519, storage::Storage}; + +// Polkadot +use polkadot_primitives::{AssignmentId, ValidatorId}; + +// Cumulus +use emulated_integration_tests_common::{ + accounts, build_genesis_storage, get_account_id_from_seed, get_from_seed, get_host_config, +}; +use kusama_runtime_constants::currency::UNITS as KSM; +use parachains_common::Balance; + +pub const ED: Balance = kusama_runtime_constants::currency::EXISTENTIAL_DEPOSIT; +const ENDOWMENT: u128 = 1_000_000 * KSM; + +mod validators { + use super::*; + use parachains_common::AccountId; + + pub fn initial_authorities() -> Vec<( + AccountId, + AccountId, + BabeId, + GrandpaId, + ImOnlineId, + ValidatorId, + AssignmentId, + AuthorityDiscoveryId, + BeefyId, + )> { + let seed = "Alice"; + vec![( + get_account_id_from_seed::(&format!("{}//stash", seed)), + get_account_id_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + )] + } +} + +fn session_keys( + babe: BabeId, + grandpa: GrandpaId, + im_online: ImOnlineId, + para_validator: ValidatorId, + para_assignment: AssignmentId, + authority_discovery: AuthorityDiscoveryId, + beefy: BeefyId, +) -> kusama_runtime::SessionKeys { + kusama_runtime::SessionKeys { + grandpa, + babe, + im_online, + para_validator, + para_assignment, + authority_discovery, + beefy, + } +} + +pub fn genesis() -> Storage { + let genesis_config = kusama_runtime::RuntimeGenesisConfig { + system: kusama_runtime::SystemConfig::default(), + balances: kusama_runtime::BalancesConfig { + balances: accounts::init_balances().iter().map(|k| (k.clone(), ENDOWMENT)).collect(), + }, + session: kusama_runtime::SessionConfig { + keys: validators::initial_authorities() + .iter() + .map(|x| { + ( + x.0.clone(), + x.0.clone(), + session_keys( + x.2.clone(), + x.3.clone(), + x.4.clone(), + x.5.clone(), + x.6.clone(), + x.7.clone(), + x.8.clone(), + ), + ) + }) + .collect::>(), + }, + babe: kusama_runtime::BabeConfig { + authorities: Default::default(), + epoch_config: Some(kusama_runtime::BABE_GENESIS_EPOCH_CONFIG), + ..Default::default() + }, + configuration: kusama_runtime::ConfigurationConfig { config: get_host_config() }, + registrar: kusama_runtime::RegistrarConfig { + next_free_para_id: polkadot_primitives::LOWEST_PUBLIC_ID, + ..Default::default() + }, + ..Default::default() + }; + + build_genesis_storage(&genesis_config, kusama_runtime::WASM_BINARY.unwrap()) +} diff --git a/integration-tests/emulated/chains/relays/kusama/src/lib.rs b/integration-tests/emulated/chains/relays/kusama/src/lib.rs new file mode 100644 index 0000000000..58e82a51d0 --- /dev/null +++ b/integration-tests/emulated/chains/relays/kusama/src/lib.rs @@ -0,0 +1,49 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub mod genesis; + +// Cumulus +use emulated_integration_tests_common::{ + impl_accounts_helpers_for_relay_chain, impl_assert_events_helpers_for_relay_chain, + impl_hrmp_channels_helpers_for_relay_chain, impl_send_transact_helpers_for_relay_chain, + xcm_emulator::decl_test_relay_chains, +}; +use polkadot_primitives::runtime_api::runtime_decl_for_parachain_host::ParachainHostV9; + +// Kusama declaration +decl_test_relay_chains! { + #[api_version(10)] + pub struct Kusama { + genesis = genesis::genesis(), + on_init = (), + runtime = kusama_runtime, + core = { + SovereignAccountOf: kusama_runtime::xcm_config::SovereignAccountOf, + }, + pallets = { + XcmPallet: kusama_runtime::XcmPallet, + Balances: kusama_runtime::Balances, + Hrmp: kusama_runtime::Hrmp, + Identity: kusama_runtime::Identity, + } + }, +} + +// Kusama implementation +impl_accounts_helpers_for_relay_chain!(Kusama); +impl_assert_events_helpers_for_relay_chain!(Kusama); +impl_hrmp_channels_helpers_for_relay_chain!(Kusama); +impl_send_transact_helpers_for_relay_chain!(Kusama); diff --git a/integration-tests/emulated/chains/relays/polkadot/Cargo.toml b/integration-tests/emulated/chains/relays/polkadot/Cargo.toml new file mode 100644 index 0000000000..a161064a15 --- /dev/null +++ b/integration-tests/emulated/chains/relays/polkadot/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "polkadot-emulated-chain" +version = "1.0.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Polkadot emulated chain used for integration tests" +publish = false + +[dependencies] +serde_json = "1.0.111" + +# Substrate +sp-core = { version = "28.0.0" } +sp-runtime = { version = "31.0.1" } +authority-discovery-primitives = { package = "sp-authority-discovery", version = "26.0.0" } +babe-primitives = { package = "sp-consensus-babe", version = "0.32.0" } +beefy-primitives = { package = "sp-consensus-beefy", version = "13.0.0" } +grandpa = { package = "sc-consensus-grandpa", version = "0.19.0" } +pallet-im-online = { version = "27.0.0" } +pallet-staking = { version = "28.0.0" } + +# Polkadot +polkadot-primitives = { version = "7.0.0" } + +# Cumulus +parachains-common = { version = "7.0.0" } +emulated-integration-tests-common = { version = "3.0.0" } + +# Runtimes +polkadot-runtime-constants = { path = "../../../../../relay/polkadot/constants" } +polkadot-runtime = { path = "../../../../../relay/polkadot" } diff --git a/integration-tests/emulated/chains/relays/polkadot/src/genesis.rs b/integration-tests/emulated/chains/relays/polkadot/src/genesis.rs new file mode 100644 index 0000000000..6697aa2bad --- /dev/null +++ b/integration-tests/emulated/chains/relays/polkadot/src/genesis.rs @@ -0,0 +1,139 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Substrate +use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId; +use babe_primitives::AuthorityId as BabeId; +use beefy_primitives::ecdsa_crypto::AuthorityId as BeefyId; +use grandpa::AuthorityId as GrandpaId; +use pallet_im_online::sr25519::AuthorityId as ImOnlineId; +use sp_core::{sr25519, storage::Storage}; +use sp_runtime::Perbill; + +// Polkadot +use polkadot_primitives::{AssignmentId, ValidatorId}; + +// Cumulus +use emulated_integration_tests_common::{ + accounts, build_genesis_storage, get_account_id_from_seed, get_from_seed, get_host_config, +}; +use parachains_common::Balance; +use polkadot_runtime_constants::currency::UNITS as DOT; + +pub const ED: Balance = polkadot_runtime_constants::currency::EXISTENTIAL_DEPOSIT; +const ENDOWMENT: u128 = 1_000_000 * DOT; +const STASH: u128 = 100 * DOT; + +mod validators { + use super::*; + use parachains_common::AccountId; + + pub fn initial_authorities() -> Vec<( + AccountId, + AccountId, + BabeId, + GrandpaId, + ImOnlineId, + ValidatorId, + AssignmentId, + AuthorityDiscoveryId, + BeefyId, + )> { + let seed = "Alice"; + vec![( + get_account_id_from_seed::(&format!("{}//stash", seed)), + get_account_id_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + get_from_seed::(seed), + )] + } +} + +fn session_keys( + babe: BabeId, + grandpa: GrandpaId, + im_online: ImOnlineId, + para_validator: ValidatorId, + para_assignment: AssignmentId, + authority_discovery: AuthorityDiscoveryId, + beefy: BeefyId, +) -> polkadot_runtime::SessionKeys { + polkadot_runtime::SessionKeys { + babe, + grandpa, + im_online, + para_validator, + para_assignment, + authority_discovery, + beefy, + } +} + +pub fn genesis() -> Storage { + let genesis_config = polkadot_runtime::RuntimeGenesisConfig { + system: polkadot_runtime::SystemConfig::default(), + balances: polkadot_runtime::BalancesConfig { + balances: accounts::init_balances().iter().cloned().map(|k| (k, ENDOWMENT)).collect(), + }, + session: polkadot_runtime::SessionConfig { + keys: validators::initial_authorities() + .iter() + .map(|x| { + ( + x.0.clone(), + x.0.clone(), + session_keys( + x.2.clone(), + x.3.clone(), + x.4.clone(), + x.5.clone(), + x.6.clone(), + x.7.clone(), + x.8.clone(), + ), + ) + }) + .collect::>(), + }, + staking: polkadot_runtime::StakingConfig { + validator_count: validators::initial_authorities().len() as u32, + minimum_validator_count: 1, + stakers: validators::initial_authorities() + .iter() + .map(|x| { + (x.0.clone(), x.1.clone(), STASH, polkadot_runtime::StakerStatus::Validator) + }) + .collect(), + invulnerables: validators::initial_authorities().iter().map(|x| x.0.clone()).collect(), + force_era: pallet_staking::Forcing::ForceNone, + slash_reward_fraction: Perbill::from_percent(10), + ..Default::default() + }, + babe: polkadot_runtime::BabeConfig { + authorities: Default::default(), + epoch_config: Some(polkadot_runtime::BABE_GENESIS_EPOCH_CONFIG), + ..Default::default() + }, + configuration: polkadot_runtime::ConfigurationConfig { config: get_host_config() }, + ..Default::default() + }; + + build_genesis_storage(&genesis_config, polkadot_runtime::WASM_BINARY.unwrap()) +} diff --git a/integration-tests/emulated/chains/relays/polkadot/src/lib.rs b/integration-tests/emulated/chains/relays/polkadot/src/lib.rs new file mode 100644 index 0000000000..9b32e0ac87 --- /dev/null +++ b/integration-tests/emulated/chains/relays/polkadot/src/lib.rs @@ -0,0 +1,51 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub mod genesis; + +// Cumulus +use emulated_integration_tests_common::{ + impl_accounts_helpers_for_relay_chain, impl_assert_events_helpers_for_relay_chain, + impl_hrmp_channels_helpers_for_relay_chain, impl_send_transact_helpers_for_relay_chain, + xcm_emulator::decl_test_relay_chains, +}; +use polkadot_primitives::runtime_api::runtime_decl_for_parachain_host::ParachainHostV5; + +// Polkadot declaration +decl_test_relay_chains! { + #[api_version(10)] + pub struct Polkadot { + genesis = genesis::genesis(), + on_init = (), + runtime = polkadot_runtime, + core = { + SovereignAccountOf: polkadot_runtime::xcm_config::SovereignAccountOf, + }, + pallets = { + XcmPallet: polkadot_runtime::XcmPallet, + Balances: polkadot_runtime::Balances, + Treasury: polkadot_runtime::Treasury, + AssetRate: polkadot_runtime::AssetRate, + Hrmp: polkadot_runtime::Hrmp, + Identity: polkadot_runtime::Identity, + } + }, +} + +// Polkadot implementation +impl_accounts_helpers_for_relay_chain!(Polkadot); +impl_assert_events_helpers_for_relay_chain!(Polkadot); +impl_hrmp_channels_helpers_for_relay_chain!(Polkadot); +impl_send_transact_helpers_for_relay_chain!(Polkadot); diff --git a/integration-tests/emulated/chains/src/genesis.rs b/integration-tests/emulated/chains/src/genesis.rs deleted file mode 100644 index 76b1692605..0000000000 --- a/integration-tests/emulated/chains/src/genesis.rs +++ /dev/null @@ -1,650 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use integration_tests_common::{ - accounts, collators, get_account_id_from_seed, validators, SAFE_XCM_VERSION, -}; - -// Substrate -use beefy_primitives::ecdsa_crypto::AuthorityId as BeefyId; -use grandpa_primitives::AuthorityId as GrandpaId; -use pallet_im_online::sr25519::AuthorityId as ImOnlineId; -use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId; -use sp_consensus_babe::AuthorityId as BabeId; -use sp_core::{sr25519, storage::Storage}; -use sp_runtime::{BuildStorage, Perbill}; - -// Cumulus -use parachains_common::{AccountId, Balance, BlockNumber}; -use polkadot_parachain_primitives::primitives::{HeadData, ValidationCode}; -use polkadot_primitives::{AssignmentId, ValidatorId}; -use polkadot_runtime_parachains::{ - configuration::HostConfiguration, - paras::{ParaGenesisArgs, ParaKind}, -}; -// Polkadot -pub mod polkadot { - use super::*; - pub const ED: Balance = polkadot_runtime_constants::currency::EXISTENTIAL_DEPOSIT; - const STASH: u128 = 100 * polkadot_runtime_constants::currency::UNITS; - - pub fn get_host_config() -> HostConfiguration { - HostConfiguration { - max_upward_queue_count: 10, - max_upward_queue_size: 51200, - max_upward_message_size: 51200, - max_upward_message_num_per_candidate: 10, - max_downward_message_size: 51200, - hrmp_sender_deposit: 100_000_000_000, - hrmp_recipient_deposit: 100_000_000_000, - hrmp_channel_max_capacity: 1000, - hrmp_channel_max_message_size: 102400, - hrmp_channel_max_total_size: 102400, - hrmp_max_parachain_outbound_channels: 30, - hrmp_max_parachain_inbound_channels: 30, - ..Default::default() - } - } - - fn session_keys( - babe: BabeId, - grandpa: GrandpaId, - im_online: ImOnlineId, - para_validator: ValidatorId, - para_assignment: AssignmentId, - authority_discovery: AuthorityDiscoveryId, - beefy: BeefyId, - ) -> polkadot_runtime::SessionKeys { - polkadot_runtime::SessionKeys { - babe, - grandpa, - im_online, - para_validator, - para_assignment, - authority_discovery, - beefy, - } - } - - pub fn genesis() -> Storage { - let genesis_config = polkadot_runtime::RuntimeGenesisConfig { - system: polkadot_runtime::SystemConfig::default(), - balances: polkadot_runtime::BalancesConfig { - balances: accounts::init_balances() - .iter() - .cloned() - .map(|k| (k, ED * 4096)) - .collect(), - }, - session: polkadot_runtime::SessionConfig { - keys: validators::initial_authorities() - .iter() - .map(|x| { - ( - x.0.clone(), - x.0.clone(), - polkadot::session_keys( - x.2.clone(), - x.3.clone(), - x.4.clone(), - x.5.clone(), - x.6.clone(), - x.7.clone(), - x.8.clone(), - ), - ) - }) - .collect::>(), - }, - staking: polkadot_runtime::StakingConfig { - validator_count: validators::initial_authorities().len() as u32, - minimum_validator_count: 1, - stakers: validators::initial_authorities() - .iter() - .map(|x| { - (x.0.clone(), x.1.clone(), STASH, polkadot_runtime::StakerStatus::Validator) - }) - .collect(), - invulnerables: validators::initial_authorities() - .iter() - .map(|x| x.0.clone()) - .collect(), - force_era: pallet_staking::Forcing::ForceNone, - slash_reward_fraction: Perbill::from_percent(10), - ..Default::default() - }, - babe: polkadot_runtime::BabeConfig { - authorities: Default::default(), - epoch_config: Some(polkadot_runtime::BABE_GENESIS_EPOCH_CONFIG), - ..Default::default() - }, - configuration: polkadot_runtime::ConfigurationConfig { config: get_host_config() }, - paras: polkadot_runtime::ParasConfig { - paras: vec![ - ( - asset_hub_polkadot::PARA_ID.into(), - ParaGenesisArgs { - genesis_head: HeadData::default(), - validation_code: ValidationCode( - asset_hub_polkadot_runtime::WASM_BINARY.unwrap().to_vec(), - ), - para_kind: ParaKind::Parachain, - }, - ), - ( - bridge_hub_polkadot::PARA_ID.into(), - ParaGenesisArgs { - genesis_head: HeadData::default(), - validation_code: ValidationCode( - bridge_hub_polkadot_runtime::WASM_BINARY.unwrap().to_vec(), - ), - para_kind: ParaKind::Parachain, - }, - ), - ( - penpal::PARA_ID_A.into(), - ParaGenesisArgs { - genesis_head: HeadData::default(), - validation_code: ValidationCode( - penpal_runtime::WASM_BINARY.unwrap().to_vec(), - ), - para_kind: ParaKind::Parachain, - }, - ), - ( - penpal::PARA_ID_B.into(), - ParaGenesisArgs { - genesis_head: HeadData::default(), - validation_code: ValidationCode( - penpal_runtime::WASM_BINARY.unwrap().to_vec(), - ), - para_kind: ParaKind::Parachain, - }, - ), - ], - ..Default::default() - }, - ..Default::default() - }; - - genesis_config.build_storage().unwrap() - } -} - -// Kusama -pub mod kusama { - use super::*; - pub const ED: Balance = kusama_runtime_constants::currency::EXISTENTIAL_DEPOSIT; - use kusama_runtime_constants::currency::UNITS as KSM; - const ENDOWMENT: u128 = 1_000_000 * KSM; - const STASH: u128 = 100 * KSM; - - pub fn get_host_config() -> HostConfiguration { - HostConfiguration { - max_upward_queue_count: 10, - max_upward_queue_size: 51200, - max_upward_message_size: 51200, - max_upward_message_num_per_candidate: 10, - max_downward_message_size: 51200, - hrmp_sender_deposit: 5_000_000_000_000, - hrmp_recipient_deposit: 5_000_000_000_000, - hrmp_channel_max_capacity: 1000, - hrmp_channel_max_message_size: 102400, - hrmp_channel_max_total_size: 102400, - hrmp_max_parachain_outbound_channels: 30, - hrmp_max_parachain_inbound_channels: 30, - ..Default::default() - } - } - - fn session_keys( - babe: BabeId, - grandpa: GrandpaId, - im_online: ImOnlineId, - para_validator: ValidatorId, - para_assignment: AssignmentId, - authority_discovery: AuthorityDiscoveryId, - beefy: BeefyId, - ) -> kusama_runtime::SessionKeys { - kusama_runtime::SessionKeys { - babe, - grandpa, - im_online, - para_validator, - para_assignment, - authority_discovery, - beefy, - } - } - - pub fn genesis() -> Storage { - let genesis_config = kusama_runtime::RuntimeGenesisConfig { - system: kusama_runtime::SystemConfig::default(), - balances: kusama_runtime::BalancesConfig { - balances: accounts::init_balances() - .iter() - .map(|k: &AccountId| (k.clone(), ENDOWMENT)) - .collect(), - }, - session: kusama_runtime::SessionConfig { - keys: validators::initial_authorities() - .iter() - .map(|x| { - ( - x.0.clone(), - x.0.clone(), - kusama::session_keys( - x.2.clone(), - x.3.clone(), - x.4.clone(), - x.5.clone(), - x.6.clone(), - x.7.clone(), - x.8.clone(), - ), - ) - }) - .collect::>(), - }, - staking: kusama_runtime::StakingConfig { - validator_count: validators::initial_authorities().len() as u32, - minimum_validator_count: 1, - stakers: validators::initial_authorities() - .iter() - .map(|x| { - (x.0.clone(), x.1.clone(), STASH, kusama_runtime::StakerStatus::Validator) - }) - .collect(), - invulnerables: validators::initial_authorities() - .iter() - .map(|x| x.0.clone()) - .collect(), - force_era: pallet_staking::Forcing::NotForcing, - slash_reward_fraction: Perbill::from_percent(10), - ..Default::default() - }, - babe: kusama_runtime::BabeConfig { - authorities: Default::default(), - epoch_config: Some(kusama_runtime::BABE_GENESIS_EPOCH_CONFIG), - ..Default::default() - }, - configuration: kusama_runtime::ConfigurationConfig { config: get_host_config() }, - paras: kusama_runtime::ParasConfig { - paras: vec![ - ( - asset_hub_kusama::PARA_ID.into(), - ParaGenesisArgs { - genesis_head: HeadData::default(), - validation_code: ValidationCode( - asset_hub_kusama_runtime::WASM_BINARY.unwrap().to_vec(), - ), - para_kind: ParaKind::Parachain, - }, - ), - ( - bridge_hub_kusama::PARA_ID.into(), - ParaGenesisArgs { - genesis_head: HeadData::default(), - validation_code: ValidationCode( - bridge_hub_kusama_runtime::WASM_BINARY.unwrap().to_vec(), - ), - para_kind: ParaKind::Parachain, - }, - ), - ( - penpal::PARA_ID_A.into(), - ParaGenesisArgs { - genesis_head: HeadData::default(), - validation_code: ValidationCode( - penpal_runtime::WASM_BINARY.unwrap().to_vec(), - ), - para_kind: ParaKind::Parachain, - }, - ), - ( - penpal::PARA_ID_B.into(), - ParaGenesisArgs { - genesis_head: HeadData::default(), - validation_code: ValidationCode( - penpal_runtime::WASM_BINARY.unwrap().to_vec(), - ), - para_kind: ParaKind::Parachain, - }, - ), - ], - ..Default::default() - }, - ..Default::default() - }; - - genesis_config.build_storage().unwrap() - } -} - -// Asset Hub Polkadot -pub mod asset_hub_polkadot { - use super::*; - pub const PARA_ID: u32 = 1000; - pub const ED: Balance = asset_hub_polkadot_runtime::ExistentialDeposit::get(); - - pub fn genesis() -> Storage { - let genesis_config = asset_hub_polkadot_runtime::RuntimeGenesisConfig { - system: asset_hub_polkadot_runtime::SystemConfig::default(), - balances: asset_hub_polkadot_runtime::BalancesConfig { - balances: accounts::init_balances() - .iter() - .cloned() - .map(|k| (k, ED * 4096 * 4096)) - .collect(), - }, - parachain_info: asset_hub_polkadot_runtime::ParachainInfoConfig { - parachain_id: PARA_ID.into(), - ..Default::default() - }, - collator_selection: asset_hub_polkadot_runtime::CollatorSelectionConfig { - invulnerables: collators::invulnerables_asset_hub_polkadot() - .iter() - .cloned() - .map(|(acc, _)| acc) - .collect(), - candidacy_bond: ED * 16, - ..Default::default() - }, - session: asset_hub_polkadot_runtime::SessionConfig { - keys: collators::invulnerables_asset_hub_polkadot() - .into_iter() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - asset_hub_polkadot_runtime::SessionKeys { aura }, // session keys - ) - }) - .collect(), - }, - polkadot_xcm: asset_hub_polkadot_runtime::PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - ..Default::default() - }, - ..Default::default() - }; - - genesis_config.build_storage().unwrap() - } -} - -// Asset Hub Kusama -pub mod asset_hub_kusama { - use super::*; - pub const PARA_ID: u32 = 1000; - pub const ED: Balance = asset_hub_kusama_runtime::ExistentialDeposit::get(); - - pub fn genesis() -> Storage { - let genesis_config = asset_hub_kusama_runtime::RuntimeGenesisConfig { - system: asset_hub_kusama_runtime::SystemConfig::default(), - balances: asset_hub_kusama_runtime::BalancesConfig { - balances: accounts::init_balances() - .iter() - .cloned() - .map(|k| (k, ED * 4096 * 4096)) - .collect(), - }, - parachain_info: asset_hub_kusama_runtime::ParachainInfoConfig { - parachain_id: PARA_ID.into(), - ..Default::default() - }, - collator_selection: asset_hub_kusama_runtime::CollatorSelectionConfig { - invulnerables: collators::invulnerables() - .iter() - .cloned() - .map(|(acc, _)| acc) - .collect(), - candidacy_bond: ED * 16, - ..Default::default() - }, - session: asset_hub_kusama_runtime::SessionConfig { - keys: collators::invulnerables() - .into_iter() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - asset_hub_kusama_runtime::SessionKeys { aura }, // session keys - ) - }) - .collect(), - }, - polkadot_xcm: asset_hub_kusama_runtime::PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - ..Default::default() - }, - ..Default::default() - }; - - genesis_config.build_storage().unwrap() - } -} - -// Bridge Hub Polkadot -pub mod bridge_hub_polkadot { - use super::*; - pub const PARA_ID: u32 = 1002; - pub const ED: Balance = bridge_hub_polkadot_runtime::ExistentialDeposit::get(); - - pub fn genesis() -> Storage { - let genesis_config = bridge_hub_polkadot_runtime::RuntimeGenesisConfig { - system: bridge_hub_polkadot_runtime::SystemConfig::default(), - balances: bridge_hub_polkadot_runtime::BalancesConfig { - balances: accounts::init_balances() - .iter() - .cloned() - .map(|k| (k, ED * 4096)) - .collect(), - }, - parachain_info: bridge_hub_polkadot_runtime::ParachainInfoConfig { - parachain_id: PARA_ID.into(), - ..Default::default() - }, - collator_selection: bridge_hub_polkadot_runtime::CollatorSelectionConfig { - invulnerables: collators::invulnerables() - .iter() - .cloned() - .map(|(acc, _)| acc) - .collect(), - candidacy_bond: ED * 16, - ..Default::default() - }, - session: bridge_hub_polkadot_runtime::SessionConfig { - keys: collators::invulnerables() - .into_iter() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - bridge_hub_polkadot_runtime::SessionKeys { aura }, // session keys - ) - }) - .collect(), - }, - polkadot_xcm: bridge_hub_polkadot_runtime::PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - ..Default::default() - }, - ..Default::default() - }; - - genesis_config.build_storage().unwrap() - } -} - -// Bridge Hub Kusama -pub mod bridge_hub_kusama { - use super::*; - pub const PARA_ID: u32 = 1002; - pub const ED: Balance = bridge_hub_kusama_runtime::ExistentialDeposit::get(); - - pub fn genesis() -> Storage { - let genesis_config = bridge_hub_kusama_runtime::RuntimeGenesisConfig { - system: bridge_hub_kusama_runtime::SystemConfig::default(), - balances: bridge_hub_kusama_runtime::BalancesConfig { - balances: accounts::init_balances() - .iter() - .cloned() - .map(|k| (k, ED * 4096)) - .collect(), - }, - parachain_info: bridge_hub_kusama_runtime::ParachainInfoConfig { - parachain_id: PARA_ID.into(), - ..Default::default() - }, - collator_selection: bridge_hub_kusama_runtime::CollatorSelectionConfig { - invulnerables: collators::invulnerables() - .iter() - .cloned() - .map(|(acc, _)| acc) - .collect(), - candidacy_bond: ED * 16, - ..Default::default() - }, - session: bridge_hub_kusama_runtime::SessionConfig { - keys: collators::invulnerables() - .into_iter() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - bridge_hub_kusama_runtime::SessionKeys { aura }, // session keys - ) - }) - .collect(), - }, - polkadot_xcm: bridge_hub_kusama_runtime::PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - ..Default::default() - }, - ..Default::default() - }; - - genesis_config.build_storage().unwrap() - } -} - -// Collectives -pub mod collectives { - use super::*; - pub const PARA_ID: u32 = 1001; - pub const ED: Balance = collectives_polkadot_runtime::ExistentialDeposit::get(); - - pub fn genesis() -> Storage { - let genesis_config = collectives_polkadot_runtime::RuntimeGenesisConfig { - system: collectives_polkadot_runtime::SystemConfig::default(), - balances: collectives_polkadot_runtime::BalancesConfig { - balances: accounts::init_balances() - .iter() - .cloned() - .map(|k| (k, ED * 4096)) - .collect(), - }, - parachain_info: collectives_polkadot_runtime::ParachainInfoConfig { - parachain_id: PARA_ID.into(), - ..Default::default() - }, - collator_selection: collectives_polkadot_runtime::CollatorSelectionConfig { - invulnerables: collators::invulnerables() - .iter() - .cloned() - .map(|(acc, _)| acc) - .collect(), - candidacy_bond: ED * 16, - ..Default::default() - }, - session: collectives_polkadot_runtime::SessionConfig { - keys: collators::invulnerables() - .into_iter() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - collectives_polkadot_runtime::SessionKeys { aura }, // session keys - ) - }) - .collect(), - }, - polkadot_xcm: collectives_polkadot_runtime::PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - ..Default::default() - }, - ..Default::default() - }; - - genesis_config.build_storage().unwrap() - } -} - -// Penpal -pub mod penpal { - use super::*; - pub const PARA_ID_A: u32 = 2000; - pub const PARA_ID_B: u32 = 2001; - pub const ED: Balance = penpal_runtime::EXISTENTIAL_DEPOSIT; - - pub fn genesis(para_id: u32) -> Storage { - let genesis_config = penpal_runtime::RuntimeGenesisConfig { - system: penpal_runtime::SystemConfig::default(), - balances: penpal_runtime::BalancesConfig { - balances: accounts::init_balances() - .iter() - .cloned() - .map(|k| (k, ED * 4096 * 4096)) - .collect(), - }, - parachain_info: penpal_runtime::ParachainInfoConfig { - parachain_id: para_id.into(), - ..Default::default() - }, - collator_selection: penpal_runtime::CollatorSelectionConfig { - invulnerables: collators::invulnerables() - .iter() - .cloned() - .map(|(acc, _)| acc) - .collect(), - candidacy_bond: ED * 16, - ..Default::default() - }, - session: penpal_runtime::SessionConfig { - keys: collators::invulnerables() - .into_iter() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - penpal_runtime::SessionKeys { aura }, // session keys - ) - }) - .collect(), - }, - polkadot_xcm: penpal_runtime::PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - ..Default::default() - }, - sudo: penpal_runtime::SudoConfig { - key: Some(get_account_id_from_seed::("Alice")), - }, - ..Default::default() - }; - - genesis_config.build_storage().unwrap() - } -} diff --git a/integration-tests/emulated/chains/src/lib.rs b/integration-tests/emulated/chains/src/lib.rs deleted file mode 100644 index ac4bddcfab..0000000000 --- a/integration-tests/emulated/chains/src/lib.rs +++ /dev/null @@ -1,348 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub mod genesis; - -pub use genesis::{ - asset_hub_kusama, asset_hub_polkadot, bridge_hub_kusama, bridge_hub_polkadot, collectives, - kusama, penpal, polkadot, -}; - -use integration_tests_common::{ - accounts::{ALICE, BOB}, - impl_accounts_helpers_for_parachain, impl_accounts_helpers_for_relay_chain, - impl_assert_events_helpers_for_parachain, impl_assert_events_helpers_for_relay_chain, - impl_assets_helpers_for_parachain, impl_foreign_assets_helpers_for_parachain, - impl_hrmp_channels_helpers_for_relay_chain, impl_send_transact_helpers_for_relay_chain, - impls::Parachain, -}; - -// Substrate -use frame_support::traits::OnInitialize; - -// Cumulus -use xcm_emulator::{ - // decl_test_bridges, - decl_test_networks, - decl_test_parachains, - decl_test_relay_chains, - decl_test_sender_receiver_accounts_parameter_types, -}; - -decl_test_relay_chains! { - #[api_version(5)] - pub struct Polkadot { - genesis = polkadot::genesis(), - on_init = (), - runtime = polkadot_runtime, - core = { - SovereignAccountOf: polkadot_runtime::xcm_config::SovereignAccountOf, - }, - pallets = { - XcmPallet: polkadot_runtime::XcmPallet, - Balances: polkadot_runtime::Balances, - Hrmp: polkadot_runtime::Hrmp, - } - }, - #[api_version(9)] - pub struct Kusama { - genesis = kusama::genesis(), - on_init = (), - runtime = kusama_runtime, - core = { - SovereignAccountOf: kusama_runtime::xcm_config::SovereignAccountOf, - }, - pallets = { - XcmPallet: kusama_runtime::XcmPallet, - Balances: kusama_runtime::Balances, - Hrmp: kusama_runtime::Hrmp, - } - }, -} - -decl_test_parachains! { - // Polkadot Parachains - pub struct AssetHubPolkadot { - genesis = asset_hub_polkadot::genesis(), - on_init = { - asset_hub_polkadot_runtime::AuraExt::on_initialize(1); - }, - runtime = asset_hub_polkadot_runtime, - core = { - XcmpMessageHandler: asset_hub_polkadot_runtime::XcmpQueue, - LocationToAccountId: asset_hub_polkadot_runtime::xcm_config::LocationToAccountId, - ParachainInfo: asset_hub_polkadot_runtime::ParachainInfo, - MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - }, - pallets = { - PolkadotXcm: asset_hub_polkadot_runtime::PolkadotXcm, - Assets: asset_hub_polkadot_runtime::Assets, - ForeignAssets: asset_hub_polkadot_runtime::ForeignAssets, - Balances: asset_hub_polkadot_runtime::Balances, - } - }, - pub struct Collectives { - genesis = collectives::genesis(), - on_init = { - collectives_polkadot_runtime::AuraExt::on_initialize(1); - }, - runtime = collectives_polkadot_runtime, - core = { - XcmpMessageHandler: collectives_polkadot_runtime::XcmpQueue, - LocationToAccountId: collectives_polkadot_runtime::xcm_config::LocationToAccountId, - ParachainInfo: collectives_polkadot_runtime::ParachainInfo, - MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - }, - pallets = { - PolkadotXcm: collectives_polkadot_runtime::PolkadotXcm, - Balances: collectives_polkadot_runtime::Balances, - } - }, - pub struct BridgeHubPolkadot { - genesis = bridge_hub_polkadot::genesis(), - on_init = { - bridge_hub_polkadot_runtime::AuraExt::on_initialize(1); - }, - runtime = bridge_hub_polkadot_runtime, - core = { - XcmpMessageHandler: bridge_hub_polkadot_runtime::XcmpQueue, - LocationToAccountId: bridge_hub_polkadot_runtime::xcm_config::LocationToAccountId, - ParachainInfo: bridge_hub_polkadot_runtime::ParachainInfo, - MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - }, - pallets = { - PolkadotXcm: bridge_hub_polkadot_runtime::PolkadotXcm, - } - }, - pub struct PenpalPolkadotA { - genesis = penpal::genesis(penpal::PARA_ID_A), - on_init = { - penpal_runtime::AuraExt::on_initialize(1); - }, - runtime = penpal_runtime, - core = { - XcmpMessageHandler: penpal_runtime::XcmpQueue, - LocationToAccountId: penpal_runtime::xcm_config::LocationToAccountId, - ParachainInfo: penpal_runtime::ParachainInfo, - MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - }, - pallets = { - PolkadotXcm: penpal_runtime::PolkadotXcm, - Assets: penpal_runtime::Assets, - Balances: penpal_runtime::Balances, - } - }, - pub struct PenpalPolkadotB { - genesis = penpal::genesis(penpal::PARA_ID_B), - on_init = { - penpal_runtime::AuraExt::on_initialize(1); - }, - runtime = penpal_runtime, - core = { - XcmpMessageHandler: penpal_runtime::XcmpQueue, - LocationToAccountId: penpal_runtime::xcm_config::LocationToAccountId, - ParachainInfo: penpal_runtime::ParachainInfo, - MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - }, - pallets = { - PolkadotXcm: penpal_runtime::PolkadotXcm, - Assets: penpal_runtime::Assets, - Balances: penpal_runtime::Balances, - } - }, - // Kusama Parachains - pub struct AssetHubKusama { - genesis = asset_hub_kusama::genesis(), - on_init = { - asset_hub_kusama_runtime::AuraExt::on_initialize(1); - }, - runtime = asset_hub_kusama_runtime, - core = { - XcmpMessageHandler: asset_hub_kusama_runtime::XcmpQueue, - LocationToAccountId: asset_hub_kusama_runtime::xcm_config::LocationToAccountId, - ParachainInfo: asset_hub_kusama_runtime::ParachainInfo, - MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - }, - pallets = { - PolkadotXcm: asset_hub_kusama_runtime::PolkadotXcm, - Assets: asset_hub_kusama_runtime::Assets, - ForeignAssets: asset_hub_kusama_runtime::ForeignAssets, - PoolAssets: asset_hub_kusama_runtime::PoolAssets, - AssetConversion: asset_hub_kusama_runtime::AssetConversion, - Balances: asset_hub_kusama_runtime::Balances, - } - }, - pub struct BridgeHubKusama { - genesis = bridge_hub_kusama::genesis(), - on_init = { - bridge_hub_kusama_runtime::AuraExt::on_initialize(1); - }, - runtime = bridge_hub_kusama_runtime, - core = { - XcmpMessageHandler: bridge_hub_kusama_runtime::XcmpQueue, - LocationToAccountId: bridge_hub_kusama_runtime::xcm_config::LocationToAccountId, - ParachainInfo: bridge_hub_kusama_runtime::ParachainInfo, - MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - }, - pallets = { - PolkadotXcm: bridge_hub_kusama_runtime::PolkadotXcm, - } - }, - pub struct PenpalKusamaA { - genesis = penpal::genesis(penpal::PARA_ID_A), - on_init = { - penpal_runtime::AuraExt::on_initialize(1); - }, - runtime = penpal_runtime, - core = { - XcmpMessageHandler: penpal_runtime::XcmpQueue, - LocationToAccountId: penpal_runtime::xcm_config::LocationToAccountId, - ParachainInfo: penpal_runtime::ParachainInfo, - MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - }, - pallets = { - PolkadotXcm: penpal_runtime::PolkadotXcm, - Assets: penpal_runtime::Assets, - Balances: penpal_runtime::Balances, - } - }, - pub struct PenpalKusamaB { - genesis = penpal::genesis(penpal::PARA_ID_B), - on_init = { - penpal_runtime::AuraExt::on_initialize(1); - }, - runtime = penpal_runtime, - core = { - XcmpMessageHandler: penpal_runtime::XcmpQueue, - LocationToAccountId: penpal_runtime::xcm_config::LocationToAccountId, - ParachainInfo: penpal_runtime::ParachainInfo, - MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, - }, - pallets = { - PolkadotXcm: penpal_runtime::PolkadotXcm, - Assets: penpal_runtime::Assets, - Balances: penpal_runtime::Balances, - } - }, -} - -decl_test_networks! { - pub struct PolkadotMockNet { - relay_chain = Polkadot, - parachains = vec![ - AssetHubPolkadot, - Collectives, - BridgeHubPolkadot, - PenpalPolkadotA, - PenpalPolkadotB, - ], - // TODO: uncomment when https://github.com/polkadot-fellows/runtimes/pull/108 is merged - // bridge = PolkadotKusamaMockBridge - bridge = () - }, - pub struct KusamaMockNet { - relay_chain = Kusama, - parachains = vec![ - AssetHubKusama, - BridgeHubKusama, - PenpalKusamaA, - PenpalKusamaB, - ], - // TODO: uncomment when https://github.com/polkadot-fellows/runtimes/pull/108 is merged - // bridge = KusamaPolkadotMockBridge - bridge = () - }, -} - -// TODO: uncomment when https://github.com/polkadot-fellows/runtimes/pull/108 is merged -// decl_test_bridges! { -// pub struct PolkadotKusamaMockBridge { -// source = BridgeHubPolkadot, -// target = BridgeHubKusama, -// handler = PolkadotKusamaMessageHandler -// }, -// pub struct KusamaPolkadotMockBridge { -// source = BridgeHubKusama, -// target = BridgeHubPolkadot, -// handler = KusamaPolkadotMessageHandler -// } -// } - -// Polkadot implementation -impl_accounts_helpers_for_relay_chain!(Polkadot); -impl_assert_events_helpers_for_relay_chain!(Polkadot); -impl_hrmp_channels_helpers_for_relay_chain!(Polkadot); -impl_send_transact_helpers_for_relay_chain!(Polkadot); - -// Kusama implementation -impl_accounts_helpers_for_relay_chain!(Kusama); -impl_assert_events_helpers_for_relay_chain!(Kusama); -impl_hrmp_channels_helpers_for_relay_chain!(Kusama); -impl_send_transact_helpers_for_relay_chain!(Kusama); - -// AssetHubPolkadot implementation -impl_accounts_helpers_for_parachain!(AssetHubPolkadot); -impl_assets_helpers_for_parachain!(AssetHubPolkadot, Polkadot); -impl_assert_events_helpers_for_parachain!(AssetHubPolkadot); -impl_foreign_assets_helpers_for_parachain!(AssetHubPolkadot, Polkadot); - -// AssetHubKusama implementation -impl_accounts_helpers_for_parachain!(AssetHubKusama); -impl_assets_helpers_for_parachain!(AssetHubKusama, Kusama); -impl_assert_events_helpers_for_parachain!(AssetHubKusama); -impl_foreign_assets_helpers_for_parachain!(AssetHubKusama, Kusama); - -// PenpalPolkadot implementations -impl_accounts_helpers_for_parachain!(PenpalPolkadotA); -impl_accounts_helpers_for_parachain!(PenpalPolkadotB); -impl_assets_helpers_for_parachain!(PenpalPolkadotA, Polkadot); -impl_assets_helpers_for_parachain!(PenpalPolkadotB, Polkadot); -impl_assert_events_helpers_for_parachain!(PenpalPolkadotA); -impl_assert_events_helpers_for_parachain!(PenpalPolkadotB); - -// PenpalKusama implementations -impl_accounts_helpers_for_parachain!(PenpalKusamaA); -impl_accounts_helpers_for_parachain!(PenpalKusamaB); -impl_assets_helpers_for_parachain!(PenpalKusamaA, Kusama); -impl_assets_helpers_for_parachain!(PenpalKusamaB, Kusama); -impl_assert_events_helpers_for_parachain!(PenpalKusamaA); -impl_assert_events_helpers_for_parachain!(PenpalKusamaB); - -// Collectives implementation -impl_accounts_helpers_for_parachain!(Collectives); -impl_assert_events_helpers_for_parachain!(Collectives); - -decl_test_sender_receiver_accounts_parameter_types! { - // Relays - PolkadotRelay { sender: ALICE, receiver: BOB }, - KusamaRelay { sender: ALICE, receiver: BOB }, - // Asset Hubs - AssetHubPolkadotPara { sender: ALICE, receiver: BOB }, - AssetHubKusamaPara { sender: ALICE, receiver: BOB }, - // Collectives - CollectivesPara { sender: ALICE, receiver: BOB }, - // Bridged Hubs - BridgeHubPolkadotPara { sender: ALICE, receiver: BOB }, - BridgeHubKusamaPara { sender: ALICE, receiver: BOB }, - // Penpals - PenpalPolkadotAPara { sender: ALICE, receiver: BOB }, - PenpalPolkadotBPara { sender: ALICE, receiver: BOB }, - PenpalKusamaAPara { sender: ALICE, receiver: BOB }, - PenpalKusamaBPara { sender: ALICE, receiver: BOB } -} - -pub type PenpalLocalTeleportableToAssetHub = - penpal_runtime::xcm_config::LocalTeleportableToAssetHub; -pub type PenpalXcmConfig = penpal_runtime::xcm_config::XcmConfig; diff --git a/integration-tests/emulated/common/Cargo.toml b/integration-tests/emulated/common/Cargo.toml deleted file mode 100644 index 8f9137cc5b..0000000000 --- a/integration-tests/emulated/common/Cargo.toml +++ /dev/null @@ -1,44 +0,0 @@ -[package] -name = "integration-tests-common" -version = "1.0.0" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -description = "Common resources for integration testing with xcm-emulator" - -[dependencies] -codec = { package = "parity-scale-codec", version = "3.6.9" } -paste = "1.0.14" - -# Substrate -grandpa-primitives = { package = "sp-consensus-grandpa", version = "13.0.0" } -sp-authority-discovery = { version = "26.0.0" } -sp-runtime = { version = "31.0.1" } -frame-support = { version = "28.0.0" } -sp-core = { version = "28.0.0" } -sp-consensus-babe = { version = "0.32.0" } -pallet-assets = { version = "29.0.0" } -pallet-balances = { version = "28.0.0" } -pallet-message-queue = { version = "31.0.0" } -pallet-im-online = { version = "27.0.0" } -beefy-primitives = { package = "sp-consensus-beefy", version = "13.0.0" } - -# Polkadot -polkadot-primitives = { version = "7.0.0" } -polkadot-runtime-parachains = { version = "7.0.0" } -xcm = { package = "staging-xcm", version = "7.0.0" } -pallet-xcm = { version = "7.0.0" } - -# Cumulus -parachains-common = { version = "7.0.0" } -cumulus-primitives-core = { version = "0.7.0" } -xcm-emulator = { version = "0.5.0" } -cumulus-pallet-xcmp-queue = { version = "0.7.0" } -cumulus-pallet-parachain-system = { features = ["parameterized-consensus-hook",] , version = "0.7.0" } -asset-test-utils = { version = "7.0.1" } -cumulus-pallet-dmp-queue = { version = "0.7.0" } - -# Bridges -bp-messages = { version = "0.7.0" } -pallet-bridge-messages = { version = "0.7.0" } -bridge-runtime-common = { version = "0.7.0" } diff --git a/integration-tests/emulated/common/src/impls.rs b/integration-tests/emulated/common/src/impls.rs deleted file mode 100644 index 076e8d7e7a..0000000000 --- a/integration-tests/emulated/common/src/impls.rs +++ /dev/null @@ -1,786 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub use codec::{Decode, Encode}; -pub use paste; - -pub use crate::{ - xcm_helpers::xcm_transact_unpaid_execution, PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, -}; - -// Substrate -pub use frame_support::{ - assert_ok, - sp_runtime::AccountId32, - traits::fungibles::Inspect, - weights::{Weight, WeightMeter}, -}; -pub use pallet_assets; -pub use pallet_message_queue; -use sp_core::Get; - -// Cumulus -use bp_messages::{ - target_chain::{DispatchMessage, DispatchMessageData, MessageDispatch}, - LaneId, MessageKey, OutboundLaneData, -}; -use bridge_runtime_common::messages_xcm_extension::XcmBlobMessageDispatchResult; -pub use cumulus_pallet_dmp_queue; -pub use cumulus_pallet_parachain_system; -pub use cumulus_pallet_xcmp_queue; -pub use cumulus_primitives_core::{ - relay_chain::HrmpChannelId, DmpMessageHandler, ParaId, XcmpMessageHandler, -}; -use pallet_bridge_messages::{Config, Instance1, OutboundLanes, Pallet}; -pub use parachains_common::{AccountId, Balance}; -pub use xcm_emulator::{ - assert_expected_events, bx, helpers::weight_within_threshold, BridgeMessage, - BridgeMessageDispatchError, BridgeMessageHandler, Chain, Network, Parachain, RelayChain, - TestExt, -}; - -// Polkadot -pub use pallet_xcm; -pub use polkadot_runtime_parachains::{ - dmp, hrmp, - inclusion::{AggregateMessageOrigin, UmpQueueId}, -}; -pub use xcm::{ - prelude::{Junction, Junctions, MultiLocation, NetworkId, OriginKind, Outcome, VersionedXcm}, - v3::Error, - DoubleEncoded, -}; - -pub struct BridgeHubMessageHandler { - _marker: std::marker::PhantomData<(S, T, I)>, -} - -struct LaneIdWrapper(LaneId); - -impl From for u32 { - fn from(lane_id: LaneIdWrapper) -> u32 { - u32::from_be_bytes(lane_id.0 .0) - } -} - -impl From for LaneIdWrapper { - fn from(id: u32) -> LaneIdWrapper { - LaneIdWrapper(LaneId(id.to_be_bytes())) - } -} - -// TODO: uncomment when https://github.com/polkadot-fellows/runtimes/pull/108 is merged -// type BridgeHubPolkadotRuntime = ::Runtime; -// type BridgeHubKusamaRuntime = ::Runtime; - -// TODO: uncomment when https://github.com/polkadot-fellows/runtimes/pull/108 is merged -// pub type PolkadotKusamaMessageHandler -// = BridgeHubMessageHandler; -// pub type KusamaPolkadotMessageHandler -// = BridgeHubMessageHandler; - -impl BridgeMessageHandler for BridgeHubMessageHandler -where - S: Config, - T: Config, - I: 'static, - >::InboundPayload: From>, - >::MessageDispatch: - MessageDispatch, -{ - fn get_source_outbound_messages() -> Vec { - // get the source active outbound lanes - let active_lanes = S::ActiveOutboundLanes::get(); - - let mut messages: Vec = Default::default(); - - // collect messages from `OutboundMessages` for each active outbound lane in the source - for lane in active_lanes { - let latest_generated_nonce = - OutboundLanes::::get(lane).latest_generated_nonce; - let latest_received_nonce = - OutboundLanes::::get(lane).latest_received_nonce; - - (latest_received_nonce + 1..=latest_generated_nonce).for_each(|nonce| { - let encoded_payload: Vec = - Pallet::::outbound_message_data(*lane, nonce) - .expect("Bridge message does not exist") - .into(); - let payload = Vec::::decode(&mut &encoded_payload[..]) - .expect("Decodign XCM message failed"); - let id: u32 = LaneIdWrapper(*lane).into(); - let message = BridgeMessage { id, nonce, payload }; - - messages.push(message); - }); - } - messages - } - - fn dispatch_target_inbound_message( - message: BridgeMessage, - ) -> Result<(), BridgeMessageDispatchError> { - type TargetMessageDispatch = >::MessageDispatch; - type InboundPayload = >::InboundPayload; - - let lane_id = LaneIdWrapper::from(message.id).0; - let nonce = message.nonce; - let payload = Ok(From::from(message.payload)); - - // Directly dispatch outbound messages assuming everything is correct - // and bypassing the `Relayers` and `InboundLane` logic - let dispatch_result = TargetMessageDispatch::::dispatch(DispatchMessage { - key: MessageKey { lane_id, nonce }, - data: DispatchMessageData::> { payload }, - }); - - let result = match dispatch_result.dispatch_level_result { - XcmBlobMessageDispatchResult::Dispatched => Ok(()), - XcmBlobMessageDispatchResult::InvalidPayload => Err(BridgeMessageDispatchError( - Box::new(XcmBlobMessageDispatchResult::InvalidPayload), - )), - XcmBlobMessageDispatchResult::NotDispatched(e) => Err(BridgeMessageDispatchError( - Box::new(XcmBlobMessageDispatchResult::NotDispatched(e)), - )), - }; - result - } - - fn notify_source_message_delivery(lane_id: u32) { - let data = OutboundLanes::::get(LaneIdWrapper::from(lane_id).0); - let new_data = OutboundLaneData { - oldest_unpruned_nonce: data.oldest_unpruned_nonce + 1, - latest_received_nonce: data.latest_received_nonce + 1, - ..data - }; - - OutboundLanes::::insert(LaneIdWrapper::from(lane_id).0, new_data); - } -} - -#[macro_export] -macro_rules! impl_accounts_helpers_for_relay_chain { - ( $chain:ident ) => { - $crate::impls::paste::paste! { - impl $chain { - /// Fund a set of accounts with a balance - pub fn fund_accounts(accounts: Vec<($crate::impls::AccountId, $crate::impls::Balance)>) { - ::execute_with(|| { - for account in accounts { - $crate::impls::assert_ok!(]>::Balances::force_set_balance( - ::RuntimeOrigin::root(), - account.0.into(), - account.1, - )); - } - }); - } - /// Fund a sovereign account based on its Parachain Id - pub fn fund_para_sovereign(amount: $crate::impls::Balance, para_id: $crate::impls::ParaId) -> $crate::impls::AccountId32 { - let sovereign_account = ::sovereign_account_id_of_child_para(para_id); - Self::fund_accounts(vec![(sovereign_account.clone(), amount)]); - sovereign_account - } - } - } - }; -} - -#[macro_export] -macro_rules! impl_assert_events_helpers_for_relay_chain { - ( $chain:ident ) => { - $crate::impls::paste::paste! { - type [<$chain RuntimeEvent>] = <$chain as $crate::impls::Chain>::RuntimeEvent; - - impl $chain { - /// Asserts a dispatchable is completely executed and XCM sent - pub fn assert_xcm_pallet_attempted_complete(expected_weight: Option<$crate::impls::Weight>) { - $crate::impls::assert_expected_events!( - Self, - vec![ - [<$chain RuntimeEvent>]::::XcmPallet( - $crate::impls::pallet_xcm::Event::Attempted { outcome: $crate::impls::Outcome::Complete(weight) } - ) => { - weight: $crate::impls::weight_within_threshold( - ($crate::impls::REF_TIME_THRESHOLD, $crate::impls::PROOF_SIZE_THRESHOLD), - expected_weight.unwrap_or(*weight), - *weight - ), - }, - ] - ); - } - - /// Asserts a dispatchable is incompletely executed and XCM sent - pub fn assert_xcm_pallet_attempted_incomplete( - expected_weight: Option<$crate::impls::Weight>, - expected_error: Option<$crate::impls::Error>, - ) { - $crate::impls::assert_expected_events!( - Self, - vec![ - // Dispatchable is properly executed and XCM message sent - [<$chain RuntimeEvent>]::::XcmPallet( - $crate::impls::pallet_xcm::Event::Attempted { outcome: $crate::impls::Outcome::Incomplete(weight, error) } - ) => { - weight: $crate::impls::weight_within_threshold( - ($crate::impls::REF_TIME_THRESHOLD, $crate::impls::PROOF_SIZE_THRESHOLD), - expected_weight.unwrap_or(*weight), - *weight - ), - error: *error == expected_error.unwrap_or(*error), - }, - ] - ); - } - - /// Asserts a XCM message is sent - pub fn assert_xcm_pallet_sent() { - $crate::impls::assert_expected_events!( - Self, - vec![ - [<$chain RuntimeEvent>]::::XcmPallet($crate::impls::pallet_xcm::Event::Sent { .. }) => {}, - ] - ); - } - - /// Asserts a XCM from System Parachain is succesfully received and proccessed - pub fn assert_ump_queue_processed( - expected_success: bool, - expected_id: Option<$crate::impls::ParaId>, - expected_weight: Option<$crate::impls::Weight>, - ) { - $crate::impls::assert_expected_events!( - Self, - vec![ - // XCM is succesfully received and proccessed - [<$chain RuntimeEvent>]::::MessageQueue($crate::impls::pallet_message_queue::Event::Processed { - origin: $crate::impls::AggregateMessageOrigin::Ump($crate::impls::UmpQueueId::Para(id)), - weight_used, - success, - .. - }) => { - id: *id == expected_id.unwrap_or(*id), - weight_used: $crate::impls::weight_within_threshold( - ($crate::impls::REF_TIME_THRESHOLD, $crate::impls::PROOF_SIZE_THRESHOLD), - expected_weight.unwrap_or(*weight_used), - *weight_used - ), - success: *success == expected_success, - }, - ] - ); - } - } - } - }; -} - -#[macro_export] -macro_rules! impl_hrmp_channels_helpers_for_relay_chain { - ( $chain:ident ) => { - $crate::impls::paste::paste! { - impl $chain { - /// Init open channel request with another Parachain - pub fn init_open_channel_call( - recipient_para_id: $crate::impls::ParaId, - max_capacity: u32, - max_message_size: u32, - ) -> $crate::impls::DoubleEncoded<()> { - use $crate::impls::Encode; - - ::RuntimeCall::Hrmp($crate::impls::hrmp::Call::< - ::Runtime, - >::hrmp_init_open_channel { - recipient: recipient_para_id, - proposed_max_capacity: max_capacity, - proposed_max_message_size: max_message_size, - }) - .encode() - .into() - } - /// Recipient Parachain accept the open request from another Parachain - pub fn accept_open_channel_call(sender_para_id: $crate::impls::ParaId) -> $crate::impls::DoubleEncoded<()> { - use $crate::impls::Encode; - - ::RuntimeCall::Hrmp($crate::impls::hrmp::Call::< - ::Runtime, - >::hrmp_accept_open_channel { - sender: sender_para_id, - }) - .encode() - .into() - } - - /// A root origin force to open a channel between two Parachains - pub fn force_process_hrmp_open(sender: $crate::impls::ParaId, recipient: $crate::impls::ParaId) { - use $crate::impls::Chain; - - ::execute_with(|| { - let relay_root_origin = ::RuntimeOrigin::root(); - - // Force process HRMP open channel requests without waiting for the next session - $crate::impls::assert_ok!(]>::Hrmp::force_process_hrmp_open( - relay_root_origin, - 0 - )); - - let channel_id = $crate::impls::HrmpChannelId { sender, recipient }; - - let hrmp_channel_exist = $crate::impls::hrmp::HrmpChannels::< - ::Runtime, - >::contains_key(&channel_id); - - // Check the HRMP channel has been successfully registrered - assert!(hrmp_channel_exist) - }); - } - } - } - }; -} - -#[macro_export] -macro_rules! impl_send_transact_helpers_for_relay_chain { - ( $chain:ident ) => { - $crate::impls::paste::paste! { - impl $chain { - /// A root origin (as governance) sends `xcm::Transact` with `UnpaidExecution` and encoded `call` to child parachain. - pub fn send_unpaid_transact_to_parachain_as_root( - recipient: $crate::impls::ParaId, - call: $crate::impls::DoubleEncoded<()> - ) { - use $crate::impls::{bx, Chain, RelayChain}; - - ::execute_with(|| { - let root_origin = ::RuntimeOrigin::root(); - let destination: $crate::impls::MultiLocation = ::child_location_of(recipient); - let xcm = $crate::impls::xcm_transact_unpaid_execution(call, $crate::impls::OriginKind::Superuser); - - // Send XCM `Transact` - $crate::impls::assert_ok!(]>::XcmPallet::send( - root_origin, - bx!(destination.into()), - bx!(xcm), - )); - Self::assert_xcm_pallet_sent(); - }); - } - } - } - }; -} - -#[macro_export] -macro_rules! impl_accounts_helpers_for_parachain { - ( $chain:ident ) => { - $crate::impls::paste::paste! { - impl $chain { - /// Fund a set of accounts with a balance - pub fn fund_accounts(accounts: Vec<($crate::impls::AccountId, $crate::impls::Balance)>) { - ::execute_with(|| { - for account in accounts { - $crate::impls::assert_ok!(]>::Balances::force_set_balance( - ::RuntimeOrigin::root(), - account.0.into(), - account.1, - )); - } - }); - } - - /// Return local sovereign account of `para_id` on other `network_id` - pub fn sovereign_account_of_parachain_on_other_global_consensus( - network_id: $crate::impls::NetworkId, - para_id: $crate::impls::ParaId, - ) -> $crate::impls::AccountId { - let remote_location = $crate::impls::MultiLocation { - parents: 2, - interior: $crate::impls::Junctions::X2( - $crate::impls::Junction::GlobalConsensus(network_id), - $crate::impls::Junction::Parachain(para_id.into()), - ), - }; - ::execute_with(|| { - Self::sovereign_account_id_of(remote_location) - }) - } - } - } - }; -} - -#[macro_export] -macro_rules! impl_assert_events_helpers_for_parachain { - ( $chain:ident ) => { - $crate::impls::paste::paste! { - type [<$chain RuntimeEvent>] = <$chain as $crate::impls::Chain>::RuntimeEvent; - - impl $chain { - /// Asserts a dispatchable is completely executed and XCM sent - pub fn assert_xcm_pallet_attempted_complete(expected_weight: Option<$crate::impls::Weight>) { - $crate::impls::assert_expected_events!( - Self, - vec![ - [<$chain RuntimeEvent>]::::PolkadotXcm( - $crate::impls::pallet_xcm::Event::Attempted { outcome: $crate::impls::Outcome::Complete(weight) } - ) => { - weight: $crate::impls::weight_within_threshold( - ($crate::impls::REF_TIME_THRESHOLD, $crate::impls::PROOF_SIZE_THRESHOLD), - expected_weight.unwrap_or(*weight), - *weight - ), - }, - ] - ); - } - - /// Asserts a dispatchable is incompletely executed and XCM sent - pub fn assert_xcm_pallet_attempted_incomplete( - expected_weight: Option<$crate::impls::Weight>, - expected_error: Option<$crate::impls::Error>, - ) { - $crate::impls::assert_expected_events!( - Self, - vec![ - // Dispatchable is properly executed and XCM message sent - [<$chain RuntimeEvent>]::::PolkadotXcm( - $crate::impls::pallet_xcm::Event::Attempted { outcome: $crate::impls::Outcome::Incomplete(weight, error) } - ) => { - weight: $crate::impls::weight_within_threshold( - ($crate::impls::REF_TIME_THRESHOLD, $crate::impls::PROOF_SIZE_THRESHOLD), - expected_weight.unwrap_or(*weight), - *weight - ), - error: *error == expected_error.unwrap_or(*error), - }, - ] - ); - } - - /// Asserts a dispatchable throws and error when trying to be sent - pub fn assert_xcm_pallet_attempted_error(expected_error: Option<$crate::impls::Error>) { - $crate::impls::assert_expected_events!( - Self, - vec![ - // Execution fails in the origin with `Barrier` - [<$chain RuntimeEvent>]::::PolkadotXcm( - $crate::impls::pallet_xcm::Event::Attempted { outcome: $crate::impls::Outcome::Error(error) } - ) => { - error: *error == expected_error.unwrap_or(*error), - }, - ] - ); - } - - /// Asserts a XCM message is sent - pub fn assert_xcm_pallet_sent() { - $crate::impls::assert_expected_events!( - Self, - vec![ - [<$chain RuntimeEvent>]::::PolkadotXcm($crate::impls::pallet_xcm::Event::Sent { .. }) => {}, - ] - ); - } - - /// Asserts a XCM message is sent to Relay Chain - pub fn assert_parachain_system_ump_sent() { - $crate::impls::assert_expected_events!( - Self, - vec![ - [<$chain RuntimeEvent>]::::ParachainSystem( - $crate::impls::cumulus_pallet_parachain_system::Event::UpwardMessageSent { .. } - ) => {}, - ] - ); - } - - /// Asserts a XCM from Relay Chain is completely executed - pub fn assert_dmp_queue_complete(expected_weight: Option<$crate::impls::Weight>) { - $crate::impls::assert_expected_events!( - Self, - vec![ - [<$chain RuntimeEvent>]::::MessageQueue($crate::impls::pallet_message_queue::Event::Processed { - success: true, weight_used: weight, .. - }) => { - weight: $crate::impls::weight_within_threshold( - ($crate::impls::REF_TIME_THRESHOLD, $crate::impls::PROOF_SIZE_THRESHOLD), - expected_weight.unwrap_or(*weight), - *weight - ), - }, - ] - ); - } - - /// Asserts a XCM from Relay Chain is incompletely executed - pub fn assert_dmp_queue_incomplete( - expected_weight: Option<$crate::impls::Weight>, - expected_error: Option<$crate::impls::Error>, - ) { - $crate::impls::assert_expected_events!( - Self, - vec![ - [<$chain RuntimeEvent>]::::MessageQueue($crate::impls::pallet_message_queue::Event::Processed { - success: false, weight_used: weight, .. - }) => { - weight: $crate::impls::weight_within_threshold( - ($crate::impls::REF_TIME_THRESHOLD, $crate::impls::PROOF_SIZE_THRESHOLD), - expected_weight.unwrap_or(*weight), - *weight - ), - }, - ] - ); - } - - /// Asserts a XCM from another Parachain is completely executed - pub fn assert_xcmp_queue_success(expected_weight: Option<$crate::impls::Weight>) { - $crate::impls::assert_expected_events!( - Self, - vec![ - [<$chain RuntimeEvent>]::::MessageQueue($crate::impls::pallet_message_queue::Event::Processed { success: true, weight_used: weight, .. } - - ) => { - weight: $crate::impls::weight_within_threshold( - ($crate::impls::REF_TIME_THRESHOLD, $crate::impls::PROOF_SIZE_THRESHOLD), - expected_weight.unwrap_or(*weight), - *weight - ), - }, - ] - ); - } - } - } - }; -} - -#[macro_export] -macro_rules! impl_assets_helpers_for_parachain { - ( $chain:ident, $relay_chain:ident ) => { - $crate::impls::paste::paste! { - impl $chain { - /// Returns the encoded call for `force_create` from the assets pallet - pub fn force_create_asset_call( - asset_id: u32, - owner: $crate::impls::AccountId, - is_sufficient: bool, - min_balance: $crate::impls::Balance, - ) -> $crate::impls::DoubleEncoded<()> { - use $crate::impls::{Chain, Encode}; - - ::RuntimeCall::Assets($crate::impls::pallet_assets::Call::< - ::Runtime, - $crate::impls::pallet_assets::Instance1, - >::force_create { - id: asset_id.into(), - owner: owner.into(), - is_sufficient, - min_balance, - }) - .encode() - .into() - } - - /// Returns a `VersionedXcm` for `force_create` from the assets pallet - pub fn force_create_asset_xcm( - origin_kind: $crate::impls::OriginKind, - asset_id: u32, - owner: $crate::impls::AccountId, - is_sufficient: bool, - min_balance: $crate::impls::Balance, - ) -> $crate::impls::VersionedXcm<()> { - let call = Self::force_create_asset_call(asset_id, owner, is_sufficient, min_balance); - $crate::impls::xcm_transact_unpaid_execution(call, origin_kind) - } - - /// Mint assets making use of the assets pallet - pub fn mint_asset( - signed_origin: ::RuntimeOrigin, - id: u32, - beneficiary: $crate::impls::AccountId, - amount_to_mint: u128, - ) { - ::execute_with(|| { - $crate::impls::assert_ok!(]>::Assets::mint( - signed_origin, - id.into(), - beneficiary.clone().into(), - amount_to_mint - )); - - type RuntimeEvent = <$chain as $crate::impls::Chain>::RuntimeEvent; - - $crate::impls::assert_expected_events!( - Self, - vec![ - RuntimeEvent::::Assets( - $crate::impls::pallet_assets::Event::Issued { asset_id, owner, amount } - ) => { - asset_id: *asset_id == id, - owner: *owner == beneficiary.clone().into(), - amount: *amount == amount_to_mint, - }, - ] - ); - }); - } - - /// Force create and mint assets making use of the assets pallet - pub fn force_create_and_mint_asset( - id: u32, - min_balance: u128, - is_sufficient: bool, - asset_owner: $crate::impls::AccountId, - dmp_weight_threshold: Option<$crate::impls::Weight>, - amount_to_mint: u128, - ) { - use $crate::impls::Chain; - - // Force create asset - Self::force_create_asset_from_relay_as_root( - id, - min_balance, - is_sufficient, - asset_owner.clone(), - dmp_weight_threshold - ); - - // Mint asset for System Parachain's sender - let signed_origin = ::RuntimeOrigin::signed(asset_owner.clone()); - Self::mint_asset(signed_origin, id, asset_owner, amount_to_mint); - } - - /// Relay Chain sends `Transact` instruction with `force_create_asset` to Parachain with `Assets` instance of `pallet_assets` . - pub fn force_create_asset_from_relay_as_root( - id: u32, - min_balance: u128, - is_sufficient: bool, - asset_owner: $crate::impls::AccountId, - dmp_weight_threshold: Option<$crate::impls::Weight>, - ) { - use $crate::impls::{Parachain, Inspect, TestExt}; - - <$relay_chain>::send_unpaid_transact_to_parachain_as_root( - Self::para_id(), - Self::force_create_asset_call(id, asset_owner.clone(), is_sufficient, min_balance), - ); - - // Receive XCM message in Assets Parachain - Self::execute_with(|| { - type RuntimeEvent = <$chain as $crate::impls::Chain>::RuntimeEvent; - - Self::assert_dmp_queue_complete(dmp_weight_threshold); - - $crate::impls::assert_expected_events!( - Self, - vec![ - RuntimeEvent::::Assets($crate::impls::pallet_assets::Event::ForceCreated { asset_id, owner }) => { - asset_id: *asset_id == id, - owner: *owner == asset_owner, - }, - ] - ); - - assert!(]>::Assets::asset_exists(id.into())); - }); - } - } - } - }; -} - -#[macro_export] -macro_rules! impl_foreign_assets_helpers_for_parachain { - ( $chain:ident, $relay_chain:ident ) => { - $crate::impls::paste::paste! { - impl $chain { - /// Create foreign assets using sudo `ForeignAssets::force_create()` - pub fn force_create_foreign_asset( - id: $crate::impls::MultiLocation, - owner: $crate::impls::AccountId, - is_sufficient: bool, - min_balance: u128, - prefund_accounts: Vec<($crate::impls::AccountId, u128)>, - ) { - use $crate::impls::Inspect; - let sudo_origin = <$chain as $crate::impls::Chain>::RuntimeOrigin::root(); - ::execute_with(|| { - $crate::impls::assert_ok!( - ]>::ForeignAssets::force_create( - sudo_origin, - id, - owner.clone().into(), - is_sufficient, - min_balance, - ) - ); - assert!(]>::ForeignAssets::asset_exists(id)); - type RuntimeEvent = <$chain as $crate::impls::Chain>::RuntimeEvent; - $crate::impls::assert_expected_events!( - Self, - vec![ - RuntimeEvent::::ForeignAssets( - $crate::impls::pallet_assets::Event::ForceCreated { - asset_id, - .. - } - ) => { asset_id: *asset_id == id, }, - ] - ); - }); - for (beneficiary, amount) in prefund_accounts.into_iter() { - let signed_origin = - <$chain as $crate::impls::Chain>::RuntimeOrigin::signed(owner.clone()); - Self::mint_foreign_asset(signed_origin, id, beneficiary, amount); - } - } - - /// Mint assets making use of the ForeignAssets pallet-assets instance - pub fn mint_foreign_asset( - signed_origin: ::RuntimeOrigin, - id: $crate::impls::MultiLocation, - beneficiary: $crate::impls::AccountId, - amount_to_mint: u128, - ) { - ::execute_with(|| { - $crate::impls::assert_ok!(]>::ForeignAssets::mint( - signed_origin, - id.into(), - beneficiary.clone().into(), - amount_to_mint - )); - - type RuntimeEvent = <$chain as $crate::impls::Chain>::RuntimeEvent; - - $crate::impls::assert_expected_events!( - Self, - vec![ - RuntimeEvent::::ForeignAssets( - $crate::impls::pallet_assets::Event::Issued { asset_id, owner, amount } - ) => { - asset_id: *asset_id == id, - owner: *owner == beneficiary.clone().into(), - amount: *amount == amount_to_mint, - }, - ] - ); - }); - } - } - } - }; -} diff --git a/integration-tests/emulated/common/src/lib.rs b/integration-tests/emulated/common/src/lib.rs deleted file mode 100644 index 8058f88b58..0000000000 --- a/integration-tests/emulated/common/src/lib.rs +++ /dev/null @@ -1,149 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub mod impls; -pub mod macros; -pub mod xcm_helpers; - -// Substrate -use beefy_primitives::ecdsa_crypto::AuthorityId as BeefyId; -use grandpa_primitives::AuthorityId as GrandpaId; -use pallet_im_online::sr25519::AuthorityId as ImOnlineId; -use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId; -use sp_consensus_babe::AuthorityId as BabeId; -use sp_core::{sr25519, Pair, Public}; -use sp_runtime::{ - traits::{IdentifyAccount, Verify}, - MultiSignature, -}; - -// Cumulus -use parachains_common::{AccountId, AssetHubPolkadotAuraId, AuraId}; -use polkadot_primitives::{AssignmentId, ValidatorId}; - -/// The default XCM version to set in genesis config. -pub const SAFE_XCM_VERSION: u32 = xcm::prelude::XCM_VERSION; - -pub const XCM_V2: u32 = 3; -pub const XCM_V3: u32 = 2; -pub const REF_TIME_THRESHOLD: u64 = 33; -pub const PROOF_SIZE_THRESHOLD: u64 = 33; - -type AccountPublic = ::Signer; - -/// Helper function to generate a crypto pair from seed -fn get_from_seed(seed: &str) -> ::Public { - TPublic::Pair::from_string(&format!("//{}", seed), None) - .expect("static values are valid; qed") - .public() -} - -/// Helper function to generate an account ID from seed. -pub fn get_account_id_from_seed(seed: &str) -> AccountId -where - AccountPublic: From<::Public>, -{ - AccountPublic::from(get_from_seed::(seed)).into_account() -} - -pub mod accounts { - use super::*; - pub const ALICE: &str = "Alice"; - pub const BOB: &str = "Bob"; - pub const CHARLIE: &str = "Charlie"; - pub const DAVE: &str = "Dave"; - pub const EVE: &str = "Eve"; - pub const FERDIE: &str = "Ferdei"; - pub const ALICE_STASH: &str = "Alice//stash"; - pub const BOB_STASH: &str = "Bob//stash"; - pub const CHARLIE_STASH: &str = "Charlie//stash"; - pub const DAVE_STASH: &str = "Dave//stash"; - pub const EVE_STASH: &str = "Eve//stash"; - pub const FERDIE_STASH: &str = "Ferdie//stash"; - pub const FERDIE_BEEFY: &str = "Ferdie//stash"; - - pub fn init_balances() -> Vec { - vec![ - get_account_id_from_seed::(ALICE), - get_account_id_from_seed::(BOB), - get_account_id_from_seed::(CHARLIE), - get_account_id_from_seed::(DAVE), - get_account_id_from_seed::(EVE), - get_account_id_from_seed::(FERDIE), - get_account_id_from_seed::(ALICE_STASH), - get_account_id_from_seed::(BOB_STASH), - get_account_id_from_seed::(CHARLIE_STASH), - get_account_id_from_seed::(DAVE_STASH), - get_account_id_from_seed::(EVE_STASH), - get_account_id_from_seed::(FERDIE_STASH), - ] - } -} - -pub mod collators { - use super::*; - - pub fn invulnerables_asset_hub_polkadot() -> Vec<(AccountId, AssetHubPolkadotAuraId)> { - vec![ - ( - get_account_id_from_seed::("Alice"), - get_from_seed::("Alice"), - ), - ( - get_account_id_from_seed::("Bob"), - get_from_seed::("Bob"), - ), - ] - } - - pub fn invulnerables() -> Vec<(AccountId, AuraId)> { - vec![ - ( - get_account_id_from_seed::("Alice"), - get_from_seed::("Alice"), - ), - (get_account_id_from_seed::("Bob"), get_from_seed::("Bob")), - ] - } -} - -pub mod validators { - use super::*; - - pub fn initial_authorities() -> Vec<( - AccountId, - AccountId, - BabeId, - GrandpaId, - ImOnlineId, - ValidatorId, - AssignmentId, - AuthorityDiscoveryId, - BeefyId, - )> { - let seed = "Alice"; - vec![( - get_account_id_from_seed::(&format!("{}//stash", seed)), - get_account_id_from_seed::(seed), - get_from_seed::(seed), - get_from_seed::(seed), - get_from_seed::(seed), - get_from_seed::(seed), - get_from_seed::(seed), - get_from_seed::(seed), - get_from_seed::(seed), - )] - } -} diff --git a/integration-tests/emulated/common/src/macros.rs b/integration-tests/emulated/common/src/macros.rs deleted file mode 100644 index ffcf2bc346..0000000000 --- a/integration-tests/emulated/common/src/macros.rs +++ /dev/null @@ -1,221 +0,0 @@ -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -pub use paste; - -// Substrate -pub use pallet_balances; -pub use pallet_message_queue; -pub use pallet_xcm; - -// Polkadot -pub use xcm::prelude::{AccountId32, WeightLimit}; - -// Cumulus -pub use asset_test_utils; -pub use cumulus_pallet_xcmp_queue; -pub use xcm_emulator::Chain; - -#[macro_export] -macro_rules! test_parachain_is_trusted_teleporter { - ( $sender_para:ty, $sender_xcm_config:ty, vec![$( $receiver_para:ty ),+], ($assets:expr, $amount:expr) ) => { - $crate::macros::paste::paste! { - // init Origin variables - let sender = [<$sender_para Sender>]::get(); - let mut para_sender_balance_before = - <$sender_para as $crate::macros::Chain>::account_data_of(sender.clone()).free; - let origin = <$sender_para as $crate::macros::Chain>::RuntimeOrigin::signed(sender.clone()); - let fee_asset_item = 0; - let weight_limit = $crate::macros::WeightLimit::Unlimited; - - $( - { - // init Destination variables - let receiver = [<$receiver_para Receiver>]::get(); - let para_receiver_balance_before = - <$receiver_para as $crate::macros::Chain>::account_data_of(receiver.clone()).free; - let para_destination = - <$sender_para>::sibling_location_of(<$receiver_para>::para_id()); - let beneficiary: MultiLocation = - $crate::macros::AccountId32 { network: None, id: receiver.clone().into() }.into(); - - // Send XCM message from Origin Parachain - // We are only testing the limited teleport version, which should be ok since success will - // depend only on a proper `XcmConfig` at destination. - <$sender_para>::execute_with(|| { - assert_ok!(<$sender_para as [<$sender_para Pallet>]>::PolkadotXcm::limited_teleport_assets( - origin.clone(), - bx!(para_destination.into()), - bx!(beneficiary.into()), - bx!($assets.clone().into()), - fee_asset_item, - weight_limit.clone(), - )); - - type RuntimeEvent = <$sender_para as $crate::macros::Chain>::RuntimeEvent; - - assert_expected_events!( - $sender_para, - vec![ - RuntimeEvent::PolkadotXcm( - $crate::macros::pallet_xcm::Event::Attempted { outcome: Outcome::Complete { .. } } - ) => {}, - RuntimeEvent::XcmpQueue( - $crate::macros::cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { .. } - ) => {}, - RuntimeEvent::Balances( - $crate::macros::pallet_balances::Event::Burned { who: sender, amount } - ) => {}, - ] - ); - }); - - // Receive XCM message in Destination Parachain - <$receiver_para>::execute_with(|| { - type RuntimeEvent = <$receiver_para as $crate::macros::Chain>::RuntimeEvent; - - assert_expected_events!( - $receiver_para, - vec![ - RuntimeEvent::Balances( - $crate::macros::pallet_balances::Event::Minted { who: receiver, .. } - ) => {}, - RuntimeEvent::MessageQueue( - $crate::macros::pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - ] - ); - }); - - // Check if balances are updated accordingly in Origin and Destination Parachains - let para_sender_balance_after = - <$sender_para as $crate::macros::Chain>::account_data_of(sender.clone()).free; - let para_receiver_balance_after = - <$receiver_para as $crate::macros::Chain>::account_data_of(receiver.clone()).free; - let delivery_fees = <$sender_para>::execute_with(|| { - $crate::macros::asset_test_utils::xcm_helpers::transfer_assets_delivery_fees::< - <$sender_xcm_config as xcm_executor::Config>::XcmSender, - >($assets.clone(), fee_asset_item, weight_limit.clone(), beneficiary, para_destination) - }); - - assert_eq!(para_sender_balance_before - $amount - delivery_fees, para_sender_balance_after); - assert!(para_receiver_balance_after > para_receiver_balance_before); - - // Update sender balance - para_sender_balance_before = <$sender_para as $crate::macros::Chain>::account_data_of(sender.clone()).free; - } - )+ - } - }; -} - -#[macro_export] -macro_rules! include_penpal_create_foreign_asset_on_asset_hub { - ( $penpal:ident, $asset_hub:ident, $relay_ed:expr, $weight_to_fee:expr) => { - $crate::impls::paste::paste! { - pub fn penpal_create_foreign_asset_on_asset_hub( - asset_id_on_penpal: u32, - foreign_asset_at_asset_hub: MultiLocation, - ah_as_seen_by_penpal: MultiLocation, - is_sufficient: bool, - asset_owner: AccountId, - prefund_amount: u128, - ) { - use frame_support::weights::WeightToFee; - let ah_check_account = $asset_hub::execute_with(|| { - <$asset_hub as [<$asset_hub Pallet>]>::PolkadotXcm::check_account() - }); - let penpal_check_account = - $penpal::execute_with(|| <$penpal as [<$penpal Pallet>]>::PolkadotXcm::check_account()); - let penpal_as_seen_by_ah = $asset_hub::sibling_location_of($penpal::para_id()); - - // prefund SA of Penpal on AssetHub with enough native tokens to pay for creating - // new foreign asset, also prefund CheckingAccount with ED, because teleported asset - // itself might not be sufficient and CheckingAccount cannot be created otherwise - let sov_penpal_on_ah = $asset_hub::sovereign_account_id_of(penpal_as_seen_by_ah); - $asset_hub::fund_accounts(vec![ - (sov_penpal_on_ah.clone().into(), $relay_ed * 100_000_000_000), - (ah_check_account.clone().into(), $relay_ed * 1000), - ]); - - // prefund SA of AssetHub on Penpal with native asset - let sov_ah_on_penpal = $penpal::sovereign_account_id_of(ah_as_seen_by_penpal); - $penpal::fund_accounts(vec![ - (sov_ah_on_penpal.into(), $relay_ed * 1_000_000_000), - (penpal_check_account.clone().into(), $relay_ed * 1000), - ]); - - // Force create asset on $penpal and prefund [<$penpal Sender>] - $penpal::force_create_and_mint_asset( - asset_id_on_penpal, - ASSET_MIN_BALANCE, - is_sufficient, - asset_owner, - None, - prefund_amount, - ); - - let require_weight_at_most = Weight::from_parts(1_100_000_000_000, 30_000); - // `OriginKind::Xcm` required by ForeignCreators pallet-assets origin filter - let origin_kind = OriginKind::Xcm; - let call_create_foreign_assets = - <$asset_hub as Chain>::RuntimeCall::ForeignAssets(pallet_assets::Call::< - <$asset_hub as Chain>::Runtime, - pallet_assets::Instance2, - >::create { - id: foreign_asset_at_asset_hub, - min_balance: ASSET_MIN_BALANCE, - admin: sov_penpal_on_ah.into(), - }) - .encode(); - let buy_execution_fee_amount = $weight_to_fee::weight_to_fee( - &Weight::from_parts(10_100_000_000_000, 300_000), - ); - let buy_execution_fee = MultiAsset { - id: Concrete(MultiLocation { parents: 1, interior: Here }), - fun: Fungible(buy_execution_fee_amount), - }; - let xcm = VersionedXcm::from(Xcm(vec![ - WithdrawAsset { 0: vec![buy_execution_fee.clone()].into() }, - BuyExecution { fees: buy_execution_fee.clone(), weight_limit: Unlimited }, - Transact { require_weight_at_most, origin_kind, call: call_create_foreign_assets.into() }, - ExpectTransactStatus(MaybeErrorCode::Success), - RefundSurplus, - DepositAsset { assets: All.into(), beneficiary: penpal_as_seen_by_ah }, - ])); - // Send XCM message from penpal => asset_hub - let sudo_penpal_origin = <$penpal as Chain>::RuntimeOrigin::root(); - $penpal::execute_with(|| { - assert_ok!(<$penpal as [<$penpal Pallet>]>::PolkadotXcm::send( - sudo_penpal_origin.clone(), - bx!(ah_as_seen_by_penpal.into()), - bx!(xcm), - )); - type RuntimeEvent = <$penpal as Chain>::RuntimeEvent; - assert_expected_events!( - $penpal, - vec![ - RuntimeEvent::PolkadotXcm(pallet_xcm::Event::Sent { .. }) => {}, - ] - ); - }); - $asset_hub::execute_with(|| { - type ForeignAssets = <$asset_hub as [<$asset_hub Pallet>]>::ForeignAssets; - assert!(ForeignAssets::asset_exists(foreign_asset_at_asset_hub)); - }); - } - } - }; -} diff --git a/integration-tests/emulated/common/src/xcm_helpers.rs b/integration-tests/emulated/common/src/xcm_helpers.rs deleted file mode 100644 index c40f51a440..0000000000 --- a/integration-tests/emulated/common/src/xcm_helpers.rs +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright Parity Technologies (UK) Ltd. -// This file is part of Cumulus. - -// Cumulus is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Cumulus is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Cumulus. If not, see . - -use parachains_common::AccountId; -use xcm::{prelude::*, DoubleEncoded}; - -/// Helper method to build a XCM with a `Transact` instruction and paying for its execution -pub fn xcm_transact_paid_execution( - call: DoubleEncoded<()>, - origin_kind: OriginKind, - native_asset: MultiAsset, - beneficiary: AccountId, -) -> VersionedXcm<()> { - let weight_limit = WeightLimit::Unlimited; - let require_weight_at_most = Weight::from_parts(1000000000, 200000); - let native_assets: MultiAssets = native_asset.clone().into(); - - VersionedXcm::from(Xcm(vec![ - WithdrawAsset(native_assets), - BuyExecution { fees: native_asset, weight_limit }, - Transact { require_weight_at_most, origin_kind, call }, - RefundSurplus, - DepositAsset { - assets: All.into(), - beneficiary: MultiLocation { - parents: 0, - interior: X1(AccountId32 { network: None, id: beneficiary.into() }), - }, - }, - ])) -} - -/// Helper method to build a XCM with a `Transact` instruction without paying for its execution -pub fn xcm_transact_unpaid_execution( - call: DoubleEncoded<()>, - origin_kind: OriginKind, -) -> VersionedXcm<()> { - let weight_limit = WeightLimit::Unlimited; - let require_weight_at_most = Weight::from_parts(1000000000, 200000); - let check_origin = None; - - VersionedXcm::from(Xcm(vec![ - UnpaidExecution { weight_limit, check_origin }, - Transact { require_weight_at_most, origin_kind, call }, - ])) -} -/// Helper method to get the non-fee asset used in multiple assets transfer -pub fn non_fee_asset(assets: &MultiAssets, fee_idx: usize) -> Option<(MultiLocation, u128)> { - let asset = assets.inner().into_iter().enumerate().find(|a| a.0 != fee_idx)?.1.clone(); - let asset_id = match asset.id { - Concrete(id) => id, - _ => return None, - }; - let asset_amount = match asset.fun { - Fungible(amount) => amount, - _ => return None, - }; - Some((asset_id, asset_amount)) -} diff --git a/integration-tests/emulated/helpers/Cargo.toml b/integration-tests/emulated/helpers/Cargo.toml new file mode 100644 index 0000000000..600ae8da65 --- /dev/null +++ b/integration-tests/emulated/helpers/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "integration-tests-helpers" +version = "0.0.1" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Emulated integration tests helpers" +publish = false + +[dependencies] +paste = "1.0.14" + +# Substrate +pallet-balances = { version = "28.0.0" } +pallet-message-queue = { version = "31.0.0" } + +# Polkadot +xcm = { package = "staging-xcm", version = "7.0.0" } +pallet-xcm = { version = "7.0.0" } + +# Cumulus +xcm-emulator = { version = "0.5.0" } +cumulus-pallet-xcmp-queue = { version = "0.7.0" } +asset-test-utils = { version = "7.0.0" } diff --git a/integration-tests/emulated/helpers/src/lib.rs b/integration-tests/emulated/helpers/src/lib.rs new file mode 100644 index 0000000000..ba85425eba --- /dev/null +++ b/integration-tests/emulated/helpers/src/lib.rs @@ -0,0 +1,124 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub use paste; + +// Substrate +pub use pallet_balances; +pub use pallet_message_queue; + +// Polkadot +pub use pallet_xcm; +pub use xcm::prelude::{AccountId32, WeightLimit}; + +// Cumulus +pub use asset_test_utils; +pub use cumulus_pallet_xcmp_queue; +pub use xcm_emulator::Chain; + +/// TODO: when bumping to polkadot-sdk v1.8.0, +/// remove this crate altogether and get the macros from `emulated-integration-tests-common`. +#[macro_export] +macro_rules! test_parachain_is_trusted_teleporter { + ( $sender_para:ty, $sender_xcm_config:ty, vec![$( $receiver_para:ty ),+], ($assets:expr, $amount:expr) ) => { + $crate::paste::paste! { + // init Origin variables + let sender = [<$sender_para Sender>]::get(); + let mut para_sender_balance_before = + <$sender_para as $crate::Chain>::account_data_of(sender.clone()).free; + let origin = <$sender_para as $crate::Chain>::RuntimeOrigin::signed(sender.clone()); + let fee_asset_item = 0; + let weight_limit = $crate::WeightLimit::Unlimited; + + $( + { + // init Destination variables + let receiver = [<$receiver_para Receiver>]::get(); + let para_receiver_balance_before = + <$receiver_para as $crate::Chain>::account_data_of(receiver.clone()).free; + let para_destination = + <$sender_para>::sibling_location_of(<$receiver_para>::para_id()); + let beneficiary: MultiLocation = + $crate::AccountId32 { network: None, id: receiver.clone().into() }.into(); + + // Send XCM message from Origin Parachain + // We are only testing the limited teleport version, which should be ok since success will + // depend only on a proper `XcmConfig` at destination. + <$sender_para>::execute_with(|| { + assert_ok!(<$sender_para as [<$sender_para Pallet>]>::PolkadotXcm::limited_teleport_assets( + origin.clone(), + bx!(para_destination.clone().into()), + bx!(beneficiary.clone().into()), + bx!($assets.clone().into()), + fee_asset_item, + weight_limit.clone(), + )); + + type RuntimeEvent = <$sender_para as $crate::Chain>::RuntimeEvent; + + assert_expected_events!( + $sender_para, + vec![ + RuntimeEvent::PolkadotXcm( + $crate::pallet_xcm::Event::Attempted { outcome: Outcome::Complete { .. } } + ) => {}, + RuntimeEvent::XcmpQueue( + $crate::cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { .. } + ) => {}, + RuntimeEvent::Balances( + $crate::pallet_balances::Event::Burned { who: sender, amount } + ) => {}, + ] + ); + }); + + // Receive XCM message in Destination Parachain + <$receiver_para>::execute_with(|| { + type RuntimeEvent = <$receiver_para as $crate::Chain>::RuntimeEvent; + + assert_expected_events!( + $receiver_para, + vec![ + RuntimeEvent::Balances( + $crate::pallet_balances::Event::Minted { who: receiver, .. } + ) => {}, + RuntimeEvent::MessageQueue( + $crate::pallet_message_queue::Event::Processed { success: true, .. } + ) => {}, + ] + ); + }); + + // Check if balances are updated accordingly in Origin and Destination Parachains + let para_sender_balance_after = + <$sender_para as $crate::Chain>::account_data_of(sender.clone()).free; + let para_receiver_balance_after = + <$receiver_para as $crate::Chain>::account_data_of(receiver.clone()).free; + let delivery_fees = <$sender_para>::execute_with(|| { + $crate::asset_test_utils::xcm_helpers::transfer_assets_delivery_fees::< + <$sender_xcm_config as xcm_executor::Config>::XcmSender, + >($assets.clone(), fee_asset_item, weight_limit.clone(), beneficiary, para_destination) + }); + + assert_eq!(para_sender_balance_before - $amount - delivery_fees, para_sender_balance_after); + assert!(para_receiver_balance_after > para_receiver_balance_before); + + // Update sender balance + para_sender_balance_before = <$sender_para as $crate::Chain>::account_data_of(sender.clone()).free; + } + )+ + } + }; +} diff --git a/integration-tests/emulated/networks/kusama-polkadot-system/Cargo.toml b/integration-tests/emulated/networks/kusama-polkadot-system/Cargo.toml new file mode 100644 index 0000000000..004ba93c2b --- /dev/null +++ b/integration-tests/emulated/networks/kusama-polkadot-system/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "kusama-polkadot-system-emulated-network" +version = "0.1.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Kusama<>Polkadot emulated bridged network" +publish = false + +[dependencies] + +# Cumulus +emulated-integration-tests-common = { version = "3.0.0" } + +# Runtimes +asset-hub-kusama-emulated-chain = { path = "../../chains/parachains/assets/asset-hub-kusama" } +asset-hub-polkadot-emulated-chain = { path = "../../chains/parachains/assets/asset-hub-polkadot" } +bridge-hub-kusama-emulated-chain = { path = "../../chains/parachains/bridges/bridge-hub-kusama" } +bridge-hub-polkadot-emulated-chain = { path = "../../chains/parachains/bridges/bridge-hub-polkadot" } +kusama-emulated-chain = { path = "../../chains/relays/kusama" } +penpal-emulated-chain = { path = "../../chains/parachains/testing/penpal" } +polkadot-emulated-chain = { path = "../../chains/relays/polkadot" } diff --git a/integration-tests/emulated/networks/kusama-polkadot-system/src/lib.rs b/integration-tests/emulated/networks/kusama-polkadot-system/src/lib.rs new file mode 100644 index 0000000000..dbdb453718 --- /dev/null +++ b/integration-tests/emulated/networks/kusama-polkadot-system/src/lib.rs @@ -0,0 +1,100 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub use asset_hub_kusama_emulated_chain; +pub use asset_hub_polkadot_emulated_chain; +pub use bridge_hub_kusama_emulated_chain; +pub use bridge_hub_polkadot_emulated_chain; +pub use kusama_emulated_chain; +pub use penpal_emulated_chain; +pub use polkadot_emulated_chain; + +use asset_hub_kusama_emulated_chain::AssetHubKusama; +use asset_hub_polkadot_emulated_chain::AssetHubPolkadot; +use bridge_hub_kusama_emulated_chain::BridgeHubKusama; +use bridge_hub_polkadot_emulated_chain::BridgeHubPolkadot; +use kusama_emulated_chain::Kusama; +use penpal_emulated_chain::PenpalA; +use polkadot_emulated_chain::Polkadot; + +// Cumulus +use emulated_integration_tests_common::{ + accounts::{ALICE, BOB}, + impls::{BridgeHubMessageHandler, BridgeMessagesInstance1}, + xcm_emulator::{ + decl_test_bridges, decl_test_networks, decl_test_sender_receiver_accounts_parameter_types, + Chain, + }, +}; + +decl_test_networks! { + pub struct KusamaMockNet { + relay_chain = Kusama, + parachains = vec![ + AssetHubKusama, + BridgeHubKusama, + PenpalA, + ], + bridge = KusamaPolkadotMockBridge + + }, + pub struct PolkadotMockNet { + relay_chain = Polkadot, + parachains = vec![ + AssetHubPolkadot, + BridgeHubPolkadot, + ], + bridge = PolkadotKusamaMockBridge + }, +} + +decl_test_bridges! { + pub struct KusamaPolkadotMockBridge { + source = BridgeHubKusamaPara, + target = BridgeHubPolkadotPara, + handler = KusamaPolkadotMessageHandler + }, + pub struct PolkadotKusamaMockBridge { + source = BridgeHubPolkadotPara, + target = BridgeHubKusamaPara, + handler = PolkadotKusamaMessageHandler + } +} + +type BridgeHubKusamaRuntime = ::Runtime; +type BridgeHubPolkadotRuntime = ::Runtime; + +pub type KusamaPolkadotMessageHandler = BridgeHubMessageHandler< + BridgeHubKusamaRuntime, + BridgeMessagesInstance1, + BridgeHubPolkadotRuntime, + BridgeMessagesInstance1, +>; +pub type PolkadotKusamaMessageHandler = BridgeHubMessageHandler< + BridgeHubPolkadotRuntime, + BridgeMessagesInstance1, + BridgeHubKusamaRuntime, + BridgeMessagesInstance1, +>; + +decl_test_sender_receiver_accounts_parameter_types! { + KusamaRelay { sender: ALICE, receiver: BOB }, + AssetHubKusamaPara { sender: ALICE, receiver: BOB }, + BridgeHubKusamaPara { sender: ALICE, receiver: BOB }, + PolkadotRelay { sender: ALICE, receiver: BOB }, + AssetHubPolkadotPara { sender: ALICE, receiver: BOB }, + BridgeHubPolkadotPara { sender: ALICE, receiver: BOB }, + PenpalAPara { sender: ALICE, receiver: BOB } +} diff --git a/integration-tests/emulated/networks/kusama-system/Cargo.toml b/integration-tests/emulated/networks/kusama-system/Cargo.toml new file mode 100644 index 0000000000..e575d21a5d --- /dev/null +++ b/integration-tests/emulated/networks/kusama-system/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "kusama-system-emulated-network" +version = "0.1.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Kusama System emulated network" +publish = false + +[dependencies] + +# Cumulus +emulated-integration-tests-common = { version = "3.0.0" } + +# Runtimes +asset-hub-kusama-emulated-chain = { path = "../../chains/parachains/assets/asset-hub-kusama" } +bridge-hub-kusama-emulated-chain = { path = "../../chains/parachains/bridges/bridge-hub-kusama" } +kusama-emulated-chain = { path = "../../chains/relays/kusama" } +penpal-emulated-chain = { path = "../../chains/parachains/testing/penpal" } diff --git a/integration-tests/emulated/networks/kusama-system/src/lib.rs b/integration-tests/emulated/networks/kusama-system/src/lib.rs new file mode 100644 index 0000000000..b6a3cdc3e5 --- /dev/null +++ b/integration-tests/emulated/networks/kusama-system/src/lib.rs @@ -0,0 +1,51 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub use asset_hub_kusama_emulated_chain; +pub use bridge_hub_kusama_emulated_chain; +pub use kusama_emulated_chain; +pub use penpal_emulated_chain; + +use asset_hub_kusama_emulated_chain::AssetHubKusama; +use bridge_hub_kusama_emulated_chain::BridgeHubKusama; +use kusama_emulated_chain::Kusama; +use penpal_emulated_chain::{PenpalA, PenpalB}; + +// Cumulus +use emulated_integration_tests_common::{ + accounts::{ALICE, BOB}, + xcm_emulator::{decl_test_networks, decl_test_sender_receiver_accounts_parameter_types}, +}; + +decl_test_networks! { + pub struct KusamaMockNet { + relay_chain = Kusama, + parachains = vec![ + AssetHubKusama, + BridgeHubKusama, + PenpalA, + PenpalB, + ], + bridge = () + }, +} + +decl_test_sender_receiver_accounts_parameter_types! { + KusamaRelay { sender: ALICE, receiver: BOB }, + AssetHubKusamaPara { sender: ALICE, receiver: BOB }, + BridgeHubKusamaPara { sender: ALICE, receiver: BOB }, + PenpalAPara { sender: ALICE, receiver: BOB }, + PenpalBPara { sender: ALICE, receiver: BOB } +} diff --git a/integration-tests/emulated/networks/polkadot-system/Cargo.toml b/integration-tests/emulated/networks/polkadot-system/Cargo.toml new file mode 100644 index 0000000000..ddc400b973 --- /dev/null +++ b/integration-tests/emulated/networks/polkadot-system/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "polkadot-system-emulated-network" +version = "0.1.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Polkadot System emulated network" +publish = false + +[dependencies] + +# Cumulus +emulated-integration-tests-common = { version = "3.0.0" } + +# Runtimes +asset-hub-polkadot-emulated-chain = { path = "../../chains/parachains/assets/asset-hub-polkadot" } +bridge-hub-polkadot-emulated-chain = { path = "../../chains/parachains/bridges/bridge-hub-polkadot" } +collectives-polkadot-emulated-chain = { path = "../../chains/parachains/collectives/collectives-polkadot" } +penpal-emulated-chain = { path = "../../chains/parachains/testing/penpal" } +polkadot-emulated-chain = { path = "../../chains/relays/polkadot" } diff --git a/integration-tests/emulated/networks/polkadot-system/src/lib.rs b/integration-tests/emulated/networks/polkadot-system/src/lib.rs new file mode 100644 index 0000000000..bed1b549e2 --- /dev/null +++ b/integration-tests/emulated/networks/polkadot-system/src/lib.rs @@ -0,0 +1,55 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub use asset_hub_polkadot_emulated_chain; +pub use bridge_hub_polkadot_emulated_chain; +pub use collectives_polkadot_emulated_chain; +pub use penpal_emulated_chain; +pub use polkadot_emulated_chain; + +use asset_hub_polkadot_emulated_chain::AssetHubPolkadot; +use bridge_hub_polkadot_emulated_chain::BridgeHubPolkadot; +use collectives_polkadot_emulated_chain::CollectivesPolkadot; +use penpal_emulated_chain::{PenpalA, PenpalB}; +use polkadot_emulated_chain::Polkadot; + +// Cumulus +use emulated_integration_tests_common::{ + accounts::{ALICE, BOB}, + xcm_emulator::{decl_test_networks, decl_test_sender_receiver_accounts_parameter_types}, +}; + +decl_test_networks! { + pub struct PolkadotMockNet { + relay_chain = Polkadot, + parachains = vec![ + AssetHubPolkadot, + BridgeHubPolkadot, + CollectivesPolkadot, + PenpalA, + PenpalB, + ], + bridge = () + }, +} + +decl_test_sender_receiver_accounts_parameter_types! { + PolkadotRelay { sender: ALICE, receiver: BOB }, + AssetHubPolkadotPara { sender: ALICE, receiver: BOB }, + BridgeHubPolkadotPara { sender: ALICE, receiver: BOB }, + CollectivesPolkadotPara { sender: ALICE, receiver: BOB }, + PenpalAPara { sender: ALICE, receiver: BOB }, + PenpalBPara { sender: ALICE, receiver: BOB } +} diff --git a/integration-tests/emulated/assets/asset-hub-kusama/Cargo.toml b/integration-tests/emulated/tests/assets/asset-hub-kusama/Cargo.toml similarity index 55% rename from integration-tests/emulated/assets/asset-hub-kusama/Cargo.toml rename to integration-tests/emulated/tests/assets/asset-hub-kusama/Cargo.toml index c23f244896..c36fc42b31 100644 --- a/integration-tests/emulated/assets/asset-hub-kusama/Cargo.toml +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "asset-hub-kusama-integration-tests" -version = "1.0.0" +version = "0.1.0" authors.workspace = true edition.workspace = true license = "Apache-2.0" @@ -8,30 +8,30 @@ description = "Asset Hub Kusama runtime integration tests with xcm-emulator" publish = false [dependencies] -codec = { package = "parity-scale-codec", version = "3.6.9" } +codec = { package = "parity-scale-codec", version = "3.4.0" } assert_matches = "1.5.0" # Substrate sp-runtime = { version = "31.0.1" } frame-support = { version = "28.0.0" } -pallet-assets = { version = "29.0.0" } pallet-balances = { version = "28.0.0" } +pallet-assets = { version = "29.0.0" } pallet-asset-conversion = { version = "10.0.0" } pallet-message-queue = { version = "31.0.0" } # Polkadot xcm = { package = "staging-xcm", version = "7.0.0" } -xcm-executor = { package = "staging-xcm-executor", default-features = false, version = "7.0.0" } pallet-xcm = { version = "7.0.0" } +xcm-executor = { package = "staging-xcm-executor", version = "7.0.0" } # Cumulus +asset-test-utils = { version = "7.0.0" } +emulated-integration-tests-common = { version = "3.0.0" } parachains-common = { version = "7.0.0" } -xcm-emulator = { version = "0.5.0" } -asset-test-utils = { version = "7.0.1" } # Local -emulated-chains = { path = "../../chains" } -integration-tests-common = { path = "../../common" } -asset-hub-kusama-runtime = { path = "../../../../system-parachains/asset-hubs/asset-hub-kusama" } -kusama-runtime = { package = "staging-kusama-runtime", path = "../../../../relay/kusama" } -system-parachains-constants = { path = "../../../../system-parachains/constants" } +asset-hub-kusama-runtime = { path = "../../../../../system-parachains/asset-hubs/asset-hub-kusama" } +integration-tests-helpers = { path = "../../../helpers" } +kusama-runtime = { package = "staging-kusama-runtime", path = "../../../../../relay/kusama" } +kusama-system-emulated-network = { path = "../../../networks/kusama-system" } +system-parachains-constants = { path = "../../../../../system-parachains/constants" } diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/lib.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/lib.rs new file mode 100644 index 0000000000..b028b4bd53 --- /dev/null +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/lib.rs @@ -0,0 +1,70 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub use codec::Encode; + +// Substrate +pub use frame_support::{ + assert_err, assert_ok, + pallet_prelude::Weight, + sp_runtime::{AccountId32, DispatchError, DispatchResult}, + traits::fungibles::Inspect, +}; + +// Polkadot +pub use xcm::{ + prelude::{AccountId32 as AccountId32Junction, *}, + v3::{Error, NetworkId::Kusama as KusamaId}, +}; + +// Cumulus +pub use asset_test_utils::xcm_helpers; +pub use emulated_integration_tests_common::{ + xcm_emulator::{ + assert_expected_events, bx, helpers::weight_within_threshold, Chain, Parachain as Para, + RelayChain as Relay, Test, TestArgs, TestContext, TestExt, + }, + xcm_helpers::{xcm_transact_paid_execution, xcm_transact_unpaid_execution}, + PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, XCM_V3, +}; +pub use integration_tests_helpers::test_parachain_is_trusted_teleporter; +pub use kusama_system_emulated_network::{ + asset_hub_kusama_emulated_chain::{ + genesis::ED as ASSET_HUB_KUSAMA_ED, AssetHubKusamaParaPallet as AssetHubKusamaPallet, + }, + kusama_emulated_chain::{genesis::ED as KUSAMA_ED, KusamaRelayPallet as KusamaPallet}, + penpal_emulated_chain::PenpalAParaPallet as PenpalAPallet, + AssetHubKusamaPara as AssetHubKusama, AssetHubKusamaParaReceiver as AssetHubKusamaReceiver, + AssetHubKusamaParaSender as AssetHubKusamaSender, BridgeHubKusamaPara as BridgeHubKusama, + BridgeHubKusamaParaReceiver as BridgeHubKusamaReceiver, KusamaRelay as Kusama, + KusamaRelayReceiver as KusamaReceiver, KusamaRelaySender as KusamaSender, + PenpalAPara as PenpalA, PenpalAParaReceiver as PenpalAReceiver, + PenpalAParaSender as PenpalASender, +}; +pub use parachains_common::{AccountId, Balance}; + +pub const ASSET_ID: u32 = 1; +pub const ASSET_MIN_BALANCE: u128 = 1000; +// `Assets` pallet index +pub const ASSETS_PALLET_ID: u8 = 50; + +pub type RelayToSystemParaTest = Test; +pub type RelayToParaTest = Test; +pub type SystemParaToRelayTest = Test; +pub type SystemParaToParaTest = Test; +pub type ParaToSystemParaTest = Test; + +#[cfg(test)] +mod tests; diff --git a/integration-tests/emulated/assets/asset-hub-kusama/src/tests/mod.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/mod.rs similarity index 89% rename from integration-tests/emulated/assets/asset-hub-kusama/src/tests/mod.rs rename to integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/mod.rs index c51ed79e71..4b7498c1c6 100644 --- a/integration-tests/emulated/assets/asset-hub-kusama/src/tests/mod.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/mod.rs @@ -20,8 +20,8 @@ mod swap; mod teleport; use crate::*; -integration_tests_common::include_penpal_create_foreign_asset_on_asset_hub!( - PenpalKusamaA, +emulated_integration_tests_common::include_penpal_create_foreign_asset_on_asset_hub!( + PenpalA, AssetHubKusama, KUSAMA_ED, system_parachains_constants::kusama::fee::WeightToFee diff --git a/integration-tests/emulated/assets/asset-hub-kusama/src/tests/reserve_transfer.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/reserve_transfer.rs similarity index 82% rename from integration-tests/emulated/assets/asset-hub-kusama/src/tests/reserve_transfer.rs rename to integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/reserve_transfer.rs index e99f9e422d..3e2b92c20e 100644 --- a/integration-tests/emulated/assets/asset-hub-kusama/src/tests/reserve_transfer.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/reserve_transfer.rs @@ -16,6 +16,7 @@ use crate::*; use asset_hub_kusama_runtime::xcm_config::XcmConfig as AssetHubKusamaXcmConfig; use kusama_runtime::xcm_config::XcmConfig as KusamaXcmConfig; +use kusama_system_emulated_network::penpal_emulated_chain::XcmConfig as PenpalKusamaXcmConfig; fn relay_to_para_sender_assertions(t: RelayToParaTest) { type RuntimeEvent = ::RuntimeEvent; @@ -61,9 +62,9 @@ fn system_para_to_para_sender_assertions(t: SystemParaToParaTest) { } fn para_receiver_assertions(_: Test) { - type RuntimeEvent = ::RuntimeEvent; + type RuntimeEvent = ::RuntimeEvent; assert_expected_events!( - PenpalKusamaA, + PenpalA, vec![ RuntimeEvent::Balances(pallet_balances::Event::Deposit { .. }) => {}, RuntimeEvent::MessageQueue( @@ -74,13 +75,10 @@ fn para_receiver_assertions(_: Test) { } fn para_to_system_para_sender_assertions(t: ParaToSystemParaTest) { - type RuntimeEvent = ::RuntimeEvent; - PenpalKusamaA::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts( - 864_610_000, - 8_799, - ))); + type RuntimeEvent = ::RuntimeEvent; + PenpalA::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts(864_610_000, 8_799))); assert_expected_events!( - PenpalKusamaA, + PenpalA, vec![ // Amount to reserve transfer is transferred to Parachain's Sovereign account RuntimeEvent::Balances( @@ -95,8 +93,8 @@ fn para_to_system_para_sender_assertions(t: ParaToSystemParaTest) { fn para_to_system_para_receiver_assertions(t: ParaToSystemParaTest) { type RuntimeEvent = ::RuntimeEvent; - let sov_penpal_on_ahr = AssetHubKusama::sovereign_account_id_of( - AssetHubKusama::sibling_location_of(PenpalKusamaA::para_id()), + let sov_penpal_on_ahk = AssetHubKusama::sovereign_account_id_of( + AssetHubKusama::sibling_location_of(PenpalA::para_id()), ); assert_expected_events!( AssetHubKusama, @@ -105,7 +103,7 @@ fn para_to_system_para_receiver_assertions(t: ParaToSystemParaTest) { RuntimeEvent::Balances( pallet_balances::Event::Burned { who, amount } ) => { - who: *who == sov_penpal_on_ahr.clone().into(), + who: *who == sov_penpal_on_ahk.clone().into(), amount: *amount == t.args.amount, }, RuntimeEvent::Balances(pallet_balances::Event::Minted { .. }) => {}, @@ -141,9 +139,9 @@ fn system_para_to_para_assets_sender_assertions(t: SystemParaToParaTest) { } fn system_para_to_para_assets_receiver_assertions(_: Test) { - type RuntimeEvent = ::RuntimeEvent; + type RuntimeEvent = ::RuntimeEvent; assert_expected_events!( - PenpalKusamaA, + PenpalA, vec![ RuntimeEvent::Balances(pallet_balances::Event::Deposit { .. }) => {}, RuntimeEvent::Assets(pallet_assets::Event::Issued { .. }) => {}, @@ -177,7 +175,7 @@ fn system_para_to_para_reserve_transfer_assets(t: SystemParaToParaTest) -> Dispa } fn para_to_system_para_reserve_transfer_assets(t: ParaToSystemParaTest) -> DispatchResult { - ::PolkadotXcm::limited_reserve_transfer_assets( + ::PolkadotXcm::limited_reserve_transfer_assets( t.signed_origin, bx!(t.args.dest.into()), bx!(t.args.beneficiary.into()), @@ -260,14 +258,14 @@ fn reserve_transfer_native_asset_from_system_para_to_relay_fails() { #[test] fn reserve_transfer_native_asset_from_relay_to_para() { // Init values for Relay - let destination = Kusama::child_location_of(PenpalKusamaA::para_id()); - let beneficiary_id = PenpalKusamaAReceiver::get(); + let destination = Kusama::child_location_of(PenpalA::para_id()); + let beneficiary_id = PenpalAReceiver::get(); let amount_to_send: Balance = KUSAMA_ED * 1000; let test_args = TestContext { sender: KusamaSender::get(), - receiver: PenpalKusamaAReceiver::get(), - args: relay_test_args(destination, beneficiary_id, amount_to_send), + receiver: PenpalAReceiver::get(), + args: TestArgs::new_relay(destination, beneficiary_id, amount_to_send), }; let mut test = RelayToParaTest::new(test_args); @@ -276,7 +274,7 @@ fn reserve_transfer_native_asset_from_relay_to_para() { let receiver_balance_before = test.receiver.balance; test.set_assertion::(relay_to_para_sender_assertions); - test.set_assertion::(para_receiver_assertions); + test.set_assertion::(para_receiver_assertions); test.set_dispatchable::(relay_to_para_reserve_transfer_assets); test.assert(); @@ -303,15 +301,15 @@ fn reserve_transfer_native_asset_from_relay_to_para() { #[test] fn reserve_transfer_native_asset_from_system_para_to_para() { // Init values for System Parachain - let destination = AssetHubKusama::sibling_location_of(PenpalKusamaA::para_id()); - let beneficiary_id = PenpalKusamaAReceiver::get(); + let destination = AssetHubKusama::sibling_location_of(PenpalA::para_id()); + let beneficiary_id = PenpalAReceiver::get(); let amount_to_send: Balance = ASSET_HUB_KUSAMA_ED * 1000; let assets = (Parent, amount_to_send).into(); let test_args = TestContext { sender: AssetHubKusamaSender::get(), - receiver: PenpalKusamaAReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + receiver: PenpalAReceiver::get(), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = SystemParaToParaTest::new(test_args); @@ -320,7 +318,7 @@ fn reserve_transfer_native_asset_from_system_para_to_para() { let receiver_balance_before = test.receiver.balance; test.set_assertion::(system_para_to_para_sender_assertions); - test.set_assertion::(para_receiver_assertions); + test.set_assertion::(para_receiver_assertions); test.set_dispatchable::(system_para_to_para_reserve_transfer_assets); test.assert(); @@ -347,15 +345,15 @@ fn reserve_transfer_native_asset_from_system_para_to_para() { #[test] fn reserve_transfer_native_asset_from_para_to_system_para() { // Init values for Penpal Parachain - let destination = PenpalKusamaA::sibling_location_of(AssetHubKusama::para_id()); + let destination = PenpalA::sibling_location_of(AssetHubKusama::para_id()); let beneficiary_id = AssetHubKusamaReceiver::get(); let amount_to_send: Balance = ASSET_HUB_KUSAMA_ED * 1000; let assets = (Parent, amount_to_send).into(); let test_args = TestContext { - sender: PenpalKusamaASender::get(), + sender: PenpalASender::get(), receiver: AssetHubKusamaReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = ParaToSystemParaTest::new(test_args); @@ -363,24 +361,23 @@ fn reserve_transfer_native_asset_from_para_to_system_para() { let sender_balance_before = test.sender.balance; let receiver_balance_before = test.receiver.balance; - let penpal_location_as_seen_by_ahr = - AssetHubKusama::sibling_location_of(PenpalKusamaA::para_id()); - let sov_penpal_on_ahr = AssetHubKusama::sovereign_account_id_of(penpal_location_as_seen_by_ahr); + let penpal_location_as_seen_by_ahk = AssetHubKusama::sibling_location_of(PenpalA::para_id()); + let sov_penpal_on_ahk = AssetHubKusama::sovereign_account_id_of(penpal_location_as_seen_by_ahk); - // fund the Penpal's SA on AHR with the native tokens held in reserve - AssetHubKusama::fund_accounts(vec![(sov_penpal_on_ahr.into(), amount_to_send * 2)]); + // fund the Penpal's SA on AHK with the native tokens held in reserve + AssetHubKusama::fund_accounts(vec![(sov_penpal_on_ahk.into(), amount_to_send * 2)]); - test.set_assertion::(para_to_system_para_sender_assertions); + test.set_assertion::(para_to_system_para_sender_assertions); test.set_assertion::(para_to_system_para_receiver_assertions); - test.set_dispatchable::(para_to_system_para_reserve_transfer_assets); + test.set_dispatchable::(para_to_system_para_reserve_transfer_assets); test.assert(); let sender_balance_after = test.sender.balance; let receiver_balance_after = test.receiver.balance; - let delivery_fees = PenpalKusamaA::execute_with(|| { + let delivery_fees = PenpalA::execute_with(|| { xcm_helpers::transfer_assets_delivery_fees::< - ::XcmSender, + ::XcmSender, >(test.args.assets.clone(), 0, test.args.weight_limit, test.args.beneficiary, test.args.dest) }); @@ -398,7 +395,7 @@ fn reserve_transfer_native_asset_from_para_to_system_para() { /// work #[test] fn reserve_transfer_assets_from_system_para_to_para() { - // Force create asset on AssetHubKusama and PenpalKusamaA from Relay Chain + // Force create asset on AssetHubKusama and PenpalA from Relay Chain AssetHubKusama::force_create_and_mint_asset( ASSET_ID, ASSET_MIN_BALANCE, @@ -407,18 +404,18 @@ fn reserve_transfer_assets_from_system_para_to_para() { Some(Weight::from_parts(1_019_445_000, 200_000)), ASSET_MIN_BALANCE * 1_000_000, ); - PenpalKusamaA::force_create_and_mint_asset( + PenpalA::force_create_and_mint_asset( ASSET_ID, ASSET_MIN_BALANCE, false, - PenpalKusamaASender::get(), + PenpalASender::get(), None, 0, ); // Init values for System Parachain - let destination = AssetHubKusama::sibling_location_of(PenpalKusamaA::para_id()); - let beneficiary_id = PenpalKusamaAReceiver::get(); + let destination = AssetHubKusama::sibling_location_of(PenpalA::para_id()); + let beneficiary_id = PenpalAReceiver::get(); let fee_amount_to_send = ASSET_HUB_KUSAMA_ED * 1000; let asset_amount_to_send = ASSET_MIN_BALANCE * 1000; let assets: MultiAssets = vec![ @@ -435,8 +432,8 @@ fn reserve_transfer_assets_from_system_para_to_para() { let para_test_args = TestContext { sender: AssetHubKusamaSender::get(), - receiver: PenpalKusamaAReceiver::get(), - args: para_test_args( + receiver: PenpalAReceiver::get(), + args: TestArgs::new_para( destination, beneficiary_id, asset_amount_to_send, @@ -448,10 +445,10 @@ fn reserve_transfer_assets_from_system_para_to_para() { let mut test = SystemParaToParaTest::new(para_test_args); - // Create SA-of-Penpal-on-AHR with ED. - let penpal_location = AssetHubKusama::sibling_location_of(PenpalKusamaA::para_id()); - let sov_penpal_on_ahr = AssetHubKusama::sovereign_account_id_of(penpal_location); - AssetHubKusama::fund_accounts(vec![(sov_penpal_on_ahr.into(), KUSAMA_ED)]); + // Create SA-of-Penpal-on-AHK with ED. + let penpal_location = AssetHubKusama::sibling_location_of(PenpalA::para_id()); + let sov_penpal_on_ahk = AssetHubKusama::sovereign_account_id_of(penpal_location); + AssetHubKusama::fund_accounts(vec![(sov_penpal_on_ahk.into(), KUSAMA_ED)]); let sender_balance_before = test.sender.balance; let receiver_balance_before = test.receiver.balance; @@ -460,13 +457,13 @@ fn reserve_transfer_assets_from_system_para_to_para() { type Assets = ::Assets; >::balance(ASSET_ID, &AssetHubKusamaSender::get()) }); - let receiver_assets_before = PenpalKusamaA::execute_with(|| { - type Assets = ::Assets; - >::balance(ASSET_ID, &PenpalKusamaAReceiver::get()) + let receiver_assets_before = PenpalA::execute_with(|| { + type Assets = ::Assets; + >::balance(ASSET_ID, &PenpalAReceiver::get()) }); test.set_assertion::(system_para_to_para_assets_sender_assertions); - test.set_assertion::(system_para_to_para_assets_receiver_assertions); + test.set_assertion::(system_para_to_para_assets_receiver_assertions); test.set_dispatchable::(system_para_to_para_reserve_transfer_assets); test.assert(); @@ -486,9 +483,9 @@ fn reserve_transfer_assets_from_system_para_to_para() { type Assets = ::Assets; >::balance(ASSET_ID, &AssetHubKusamaSender::get()) }); - let receiver_assets_after = PenpalKusamaA::execute_with(|| { - type Assets = ::Assets; - >::balance(ASSET_ID, &PenpalKusamaAReceiver::get()) + let receiver_assets_after = PenpalA::execute_with(|| { + type Assets = ::Assets; + >::balance(ASSET_ID, &PenpalAReceiver::get()) }); // Sender's balance is reduced by exact amount diff --git a/integration-tests/emulated/assets/asset-hub-kusama/src/tests/send.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/send.rs similarity index 88% rename from integration-tests/emulated/assets/asset-hub-kusama/src/tests/send.rs rename to integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/send.rs index 1b9a79f8c2..6dfa40d261 100644 --- a/integration-tests/emulated/assets/asset-hub-kusama/src/tests/send.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/send.rs @@ -33,7 +33,7 @@ fn send_transact_as_superuser_from_relay_to_system_para_works() { #[test] fn send_xcm_from_para_to_system_para_paying_fee_with_assets_works() { let para_sovereign_account = AssetHubKusama::sovereign_account_id_of( - AssetHubKusama::sibling_location_of(PenpalKusamaA::para_id()), + AssetHubKusama::sibling_location_of(PenpalA::para_id()), ); // Force create and mint assets for Parachain's sovereign account @@ -60,9 +60,8 @@ fn send_xcm_from_para_to_system_para_paying_fee_with_assets_works() { let native_asset = (X2(PalletInstance(ASSETS_PALLET_ID), GeneralIndex(ASSET_ID.into())), fee_amount).into(); - let root_origin = ::RuntimeOrigin::root(); - let system_para_destination = - PenpalKusamaA::sibling_location_of(AssetHubKusama::para_id()).into(); + let root_origin = ::RuntimeOrigin::root(); + let system_para_destination = PenpalA::sibling_location_of(AssetHubKusama::para_id()).into(); let xcm = xcm_transact_paid_execution( call, origin_kind, @@ -70,14 +69,14 @@ fn send_xcm_from_para_to_system_para_paying_fee_with_assets_works() { para_sovereign_account.clone(), ); - PenpalKusamaA::execute_with(|| { - assert_ok!(::PolkadotXcm::send( + PenpalA::execute_with(|| { + assert_ok!(::PolkadotXcm::send( root_origin, bx!(system_para_destination), bx!(xcm), )); - PenpalKusamaA::assert_xcm_pallet_sent(); + PenpalA::assert_xcm_pallet_sent(); }); AssetHubKusama::execute_with(|| { diff --git a/integration-tests/emulated/assets/asset-hub-kusama/src/tests/set_xcm_versions.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/set_xcm_versions.rs similarity index 100% rename from integration-tests/emulated/assets/asset-hub-kusama/src/tests/set_xcm_versions.rs rename to integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/set_xcm_versions.rs diff --git a/integration-tests/emulated/assets/asset-hub-kusama/src/tests/swap.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/swap.rs similarity index 88% rename from integration-tests/emulated/assets/asset-hub-kusama/src/tests/swap.rs rename to integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/swap.rs index fc0159df14..63e2b624ad 100644 --- a/integration-tests/emulated/assets/asset-hub-kusama/src/tests/swap.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/swap.rs @@ -14,15 +14,17 @@ // limitations under the License. use crate::*; +use kusama_system_emulated_network::penpal_emulated_chain::LocalTeleportableToAssetHub as PenpalLocalTeleportableToAssetHub; use sp_runtime::ModuleError; +use system_parachains_constants::kusama::currency::SYSTEM_PARA_EXISTENTIAL_DEPOSIT; #[test] fn swap_locally_on_chain_using_local_assets() { - let asset_native = Box::new(asset_hub_kusama_runtime::xcm_config::KsmLocation::get()); - let asset_one = Box::new(MultiLocation { + let asset_native = asset_hub_kusama_runtime::xcm_config::KsmLocation::get(); + let asset_one = MultiLocation { parents: 0, interior: X2(PalletInstance(ASSETS_PALLET_ID), GeneralIndex(ASSET_ID.into())), - }); + }; AssetHubKusama::execute_with(|| { type RuntimeEvent = ::RuntimeEvent; @@ -44,8 +46,8 @@ fn swap_locally_on_chain_using_local_assets() { assert_ok!(::AssetConversion::create_pool( ::RuntimeOrigin::signed(AssetHubKusamaSender::get()), - asset_native.clone(), - asset_one.clone(), + Box::new(asset_native), + Box::new(asset_one), )); assert_expected_events!( @@ -57,8 +59,8 @@ fn swap_locally_on_chain_using_local_assets() { assert_ok!(::AssetConversion::add_liquidity( ::RuntimeOrigin::signed(AssetHubKusamaSender::get()), - asset_native.clone(), - asset_one.clone(), + Box::new(asset_native), + Box::new(asset_one), 1_000_000_000_000, 2_000_000_000_000, 0, @@ -73,7 +75,7 @@ fn swap_locally_on_chain_using_local_assets() { ] ); - let path = vec![asset_native.clone(), asset_one.clone()]; + let path = vec![Box::new(asset_native), Box::new(asset_one)]; assert_ok!( ::AssetConversion::swap_exact_tokens_for_tokens( @@ -98,9 +100,9 @@ fn swap_locally_on_chain_using_local_assets() { assert_ok!(::AssetConversion::remove_liquidity( ::RuntimeOrigin::signed(AssetHubKusamaSender::get()), - asset_native, - asset_one, - 1414213562273 - ASSET_HUB_KUSAMA_ED * 2, // all but the 2 EDs can't be retrieved. + Box::new(asset_native), + Box::new(asset_one), + 1414213562273 - SYSTEM_PARA_EXISTENTIAL_DEPOSIT * 2, // all but the 2 EDs can't be retrieved. 0, 0, AssetHubKusamaSender::get().into(), @@ -111,15 +113,15 @@ fn swap_locally_on_chain_using_local_assets() { #[test] fn swap_locally_on_chain_using_foreign_assets() { let asset_native = asset_hub_kusama_runtime::xcm_config::KsmLocation::get(); - let ah_as_seen_by_penpal = PenpalKusamaA::sibling_location_of(AssetHubKusama::para_id()); + let ah_as_seen_by_penpal = PenpalA::sibling_location_of(AssetHubKusama::para_id()); let asset_location_on_penpal = PenpalLocalTeleportableToAssetHub::get(); let asset_id_on_penpal = match asset_location_on_penpal.last() { Some(GeneralIndex(id)) => *id as u32, _ => unreachable!(), }; - let asset_owner_on_penpal = PenpalKusamaASender::get(); + let asset_owner_on_penpal = PenpalASender::get(); let foreign_asset_at_asset_hub_kusama = - MultiLocation { parents: 1, interior: X1(Parachain(PenpalKusamaA::para_id().into())) } + MultiLocation { parents: 1, interior: X1(Parachain(PenpalA::para_id().into())) } .appended_with(asset_location_on_penpal) .unwrap(); @@ -133,8 +135,8 @@ fn swap_locally_on_chain_using_foreign_assets() { ASSET_MIN_BALANCE * 1_000_000, ); - let penpal_as_seen_by_ah = AssetHubKusama::sibling_location_of(PenpalKusamaA::para_id()); - let sov_penpal_on_ahr = AssetHubKusama::sovereign_account_id_of(penpal_as_seen_by_ah); + let penpal_as_seen_by_ah = AssetHubKusama::sibling_location_of(PenpalA::para_id()); + let sov_penpal_on_ahk = AssetHubKusama::sovereign_account_id_of(penpal_as_seen_by_ah); AssetHubKusama::fund_accounts(vec![ (AssetHubKusamaSender::get().into(), 5_000_000 * KUSAMA_ED), /* An account to swap dot * for something else. */ @@ -149,9 +151,9 @@ fn swap_locally_on_chain_using_foreign_assets() { type RuntimeEvent = ::RuntimeEvent; // 3. Mint foreign asset (in reality this should be a teleport or some such) assert_ok!(::ForeignAssets::mint( - ::RuntimeOrigin::signed(sov_penpal_on_ahr.clone().into()), + ::RuntimeOrigin::signed(sov_penpal_on_ahk.clone().into()), foreign_asset_at_asset_hub_kusama, - sov_penpal_on_ahr.clone().into(), + sov_penpal_on_ahk.clone().into(), 3_000_000_000_000, )); @@ -178,14 +180,14 @@ fn swap_locally_on_chain_using_foreign_assets() { // 5. Add liquidity: assert_ok!(::AssetConversion::add_liquidity( - ::RuntimeOrigin::signed(sov_penpal_on_ahr.clone()), + ::RuntimeOrigin::signed(sov_penpal_on_ahk.clone()), Box::new(asset_native), Box::new(foreign_asset_at_asset_hub_kusama), 1_000_000_000_000, 2_000_000_000_000, 0, 0, - sov_penpal_on_ahr.clone().into() + sov_penpal_on_ahk.clone().into() )); assert_expected_events!( @@ -223,13 +225,13 @@ fn swap_locally_on_chain_using_foreign_assets() { // 7. Remove liquidity assert_ok!(::AssetConversion::remove_liquidity( - ::RuntimeOrigin::signed(sov_penpal_on_ahr.clone()), + ::RuntimeOrigin::signed(sov_penpal_on_ahk.clone()), Box::new(asset_native), Box::new(foreign_asset_at_asset_hub_kusama), 1414213562273 - 2_000_000_000, // all but the 2 EDs can't be retrieved. 0, 0, - sov_penpal_on_ahr.clone().into(), + sov_penpal_on_ahk.clone().into(), )); }); } diff --git a/integration-tests/emulated/assets/asset-hub-kusama/src/tests/teleport.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/teleport.rs similarity index 90% rename from integration-tests/emulated/assets/asset-hub-kusama/src/tests/teleport.rs rename to integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/teleport.rs index b940c4e2eb..c298686016 100644 --- a/integration-tests/emulated/assets/asset-hub-kusama/src/tests/teleport.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/teleport.rs @@ -15,7 +15,9 @@ use crate::*; use asset_hub_kusama_runtime::xcm_config::XcmConfig as AssetHubKusamaXcmConfig; +use emulated_integration_tests_common::xcm_helpers::non_fee_asset; use kusama_runtime::xcm_config::XcmConfig as KusamaXcmConfig; +use kusama_system_emulated_network::penpal_emulated_chain::LocalTeleportableToAssetHub as PenpalLocalTeleportableToAssetHub; fn relay_origin_assertions(t: RelayToSystemParaTest) { type RuntimeEvent = ::RuntimeEvent; @@ -111,13 +113,13 @@ fn para_dest_assertions(t: RelayToSystemParaTest) { } fn penpal_to_ah_foreign_assets_sender_assertions(t: ParaToSystemParaTest) { - type RuntimeEvent = ::RuntimeEvent; - PenpalKusamaA::assert_xcm_pallet_attempted_complete(None); + type RuntimeEvent = ::RuntimeEvent; + PenpalA::assert_xcm_pallet_attempted_complete(None); let expected_asset_id = t.args.asset_id.unwrap(); let (_, expected_asset_amount) = non_fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); assert_expected_events!( - PenpalKusamaA, + PenpalA, vec![ RuntimeEvent::Balances( pallet_balances::Event::Withdraw { who, amount } @@ -136,8 +138,8 @@ fn penpal_to_ah_foreign_assets_sender_assertions(t: ParaToSystemParaTest) { fn penpal_to_ah_foreign_assets_receiver_assertions(t: ParaToSystemParaTest) { type RuntimeEvent = ::RuntimeEvent; - let sov_penpal_on_ahr = AssetHubKusama::sovereign_account_id_of( - AssetHubKusama::sibling_location_of(PenpalKusamaA::para_id()), + let sov_penpal_on_ahk = AssetHubKusama::sovereign_account_id_of( + AssetHubKusama::sibling_location_of(PenpalA::para_id()), ); let (expected_foreign_asset_id, expected_foreign_asset_amount) = non_fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); @@ -148,7 +150,7 @@ fn penpal_to_ah_foreign_assets_receiver_assertions(t: ParaToSystemParaTest) { RuntimeEvent::Balances( pallet_balances::Event::Burned { who, amount } ) => { - who: *who == sov_penpal_on_ahr.clone().into(), + who: *who == sov_penpal_on_ahk.clone().into(), amount: *amount == t.args.amount, }, RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { @@ -196,13 +198,13 @@ fn ah_to_penpal_foreign_assets_sender_assertions(t: SystemParaToParaTest) { } fn ah_to_penpal_foreign_assets_receiver_assertions(t: SystemParaToParaTest) { - type RuntimeEvent = ::RuntimeEvent; + type RuntimeEvent = ::RuntimeEvent; let expected_asset_id = t.args.asset_id.unwrap(); let (_, expected_asset_amount) = non_fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); - let checking_account = ::PolkadotXcm::check_account(); + let checking_account = ::PolkadotXcm::check_account(); assert_expected_events!( - PenpalKusamaA, + PenpalA, vec![ // checking account burns local asset as part of incoming teleport RuntimeEvent::Assets(pallet_assets::Event::Burned { asset_id, owner, balance }) => { @@ -270,7 +272,7 @@ fn system_para_teleport_assets(t: SystemParaToRelayTest) -> DispatchResult { } fn para_to_system_para_transfer_assets(t: ParaToSystemParaTest) -> DispatchResult { - ::PolkadotXcm::transfer_assets( + ::PolkadotXcm::transfer_assets( t.signed_origin, bx!(t.args.dest.into()), bx!(t.args.beneficiary.into()), @@ -301,7 +303,7 @@ fn limited_teleport_native_assets_from_relay_to_system_para_works() { let test_args = TestContext { sender: KusamaSender::get(), receiver: AssetHubKusamaReceiver::get(), - args: relay_test_args(dest, beneficiary_id, amount_to_send), + args: TestArgs::new_relay(dest, beneficiary_id, amount_to_send), }; let mut test = RelayToSystemParaTest::new(test_args); @@ -345,7 +347,7 @@ fn limited_teleport_native_assets_back_from_system_para_to_relay_works() { let test_args = TestContext { sender: AssetHubKusamaSender::get(), receiver: KusamaReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = SystemParaToRelayTest::new(test_args); @@ -386,7 +388,7 @@ fn limited_teleport_native_assets_from_system_para_to_relay_fails() { let test_args = TestContext { sender: AssetHubKusamaSender::get(), receiver: KusamaReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = SystemParaToRelayTest::new(test_args); @@ -424,7 +426,7 @@ fn teleport_native_assets_from_relay_to_system_para_works() { let test_args = TestContext { sender: KusamaSender::get(), receiver: AssetHubKusamaReceiver::get(), - args: relay_test_args(dest, beneficiary_id, amount_to_send), + args: TestArgs::new_relay(dest, beneficiary_id, amount_to_send), }; let mut test = RelayToSystemParaTest::new(test_args); @@ -468,7 +470,7 @@ fn teleport_native_assets_back_from_system_para_to_relay_works() { let test_args = TestContext { sender: AssetHubKusamaSender::get(), receiver: KusamaReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = SystemParaToRelayTest::new(test_args); @@ -509,7 +511,7 @@ fn teleport_native_assets_from_system_para_to_relay_fails() { let test_args = TestContext { sender: AssetHubKusamaSender::get(), receiver: KusamaReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = SystemParaToRelayTest::new(test_args); @@ -554,15 +556,15 @@ fn teleport_to_other_system_parachains_works() { /// (using native reserve-based transfer for fees) #[test] fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { - let ah_as_seen_by_penpal = PenpalKusamaA::sibling_location_of(AssetHubKusama::para_id()); + let ah_as_seen_by_penpal = PenpalA::sibling_location_of(AssetHubKusama::para_id()); let asset_location_on_penpal = PenpalLocalTeleportableToAssetHub::get(); let asset_id_on_penpal = match asset_location_on_penpal.last() { Some(GeneralIndex(id)) => *id as u32, _ => unreachable!(), }; - let asset_owner_on_penpal = PenpalKusamaASender::get(); + let asset_owner_on_penpal = PenpalASender::get(); let foreign_asset_at_asset_hub_kusama = - MultiLocation { parents: 1, interior: X1(Parachain(PenpalKusamaA::para_id().into())) } + MultiLocation { parents: 1, interior: X1(Parachain(PenpalA::para_id().into())) } .appended_with(asset_location_on_penpal) .unwrap(); super::penpal_create_foreign_asset_on_asset_hub( @@ -591,9 +593,9 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { // Penpal to AH test args let penpal_to_ah_test_args = TestContext { - sender: PenpalKusamaASender::get(), + sender: PenpalASender::get(), receiver: AssetHubKusamaReceiver::get(), - args: para_test_args( + args: TestArgs::new_para( ah_as_seen_by_penpal, penpal_to_ah_beneficiary_id, asset_amount_to_send, @@ -607,9 +609,9 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { let penpal_sender_balance_before = penpal_to_ah.sender.balance; let ah_receiver_balance_before = penpal_to_ah.receiver.balance; - let penpal_sender_assets_before = PenpalKusamaA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalKusamaASender::get()) + let penpal_sender_assets_before = PenpalA::execute_with(|| { + type Assets = ::Assets; + >::balance(asset_id_on_penpal, &PenpalASender::get()) }); let ah_receiver_assets_before = AssetHubKusama::execute_with(|| { type Assets = ::ForeignAssets; @@ -619,17 +621,17 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { ) }); - penpal_to_ah.set_assertion::(penpal_to_ah_foreign_assets_sender_assertions); + penpal_to_ah.set_assertion::(penpal_to_ah_foreign_assets_sender_assertions); penpal_to_ah.set_assertion::(penpal_to_ah_foreign_assets_receiver_assertions); - penpal_to_ah.set_dispatchable::(para_to_system_para_transfer_assets); + penpal_to_ah.set_dispatchable::(para_to_system_para_transfer_assets); penpal_to_ah.assert(); let penpal_sender_balance_after = penpal_to_ah.sender.balance; let ah_receiver_balance_after = penpal_to_ah.receiver.balance; - let penpal_sender_assets_after = PenpalKusamaA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalKusamaASender::get()) + let penpal_sender_assets_after = PenpalA::execute_with(|| { + type Assets = ::Assets; + >::balance(asset_id_on_penpal, &PenpalASender::get()) }); let ah_receiver_assets_after = AssetHubKusama::execute_with(|| { type Assets = ::ForeignAssets; @@ -668,8 +670,8 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { )); }); - let ah_to_penpal_beneficiary_id = PenpalKusamaAReceiver::get(); - let penpal_as_seen_by_ah = AssetHubKusama::sibling_location_of(PenpalKusamaA::para_id()); + let ah_to_penpal_beneficiary_id = PenpalAReceiver::get(); + let penpal_as_seen_by_ah = AssetHubKusama::sibling_location_of(PenpalA::para_id()); let ah_assets: MultiAssets = vec![ (Parent, fee_amount_to_send).into(), (foreign_asset_at_asset_hub_kusama, asset_amount_to_send).into(), @@ -684,8 +686,8 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { // AH to Penpal test args let ah_to_penpal_test_args = TestContext { sender: AssetHubKusamaSender::get(), - receiver: PenpalKusamaAReceiver::get(), - args: para_test_args( + receiver: PenpalAReceiver::get(), + args: TestArgs::new_para( penpal_as_seen_by_ah, ah_to_penpal_beneficiary_id, asset_amount_to_send, @@ -706,13 +708,13 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { &AssetHubKusamaSender::get(), ) }); - let penpal_receiver_assets_before = PenpalKusamaA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalKusamaAReceiver::get()) + let penpal_receiver_assets_before = PenpalA::execute_with(|| { + type Assets = ::Assets; + >::balance(asset_id_on_penpal, &PenpalAReceiver::get()) }); ah_to_penpal.set_assertion::(ah_to_penpal_foreign_assets_sender_assertions); - ah_to_penpal.set_assertion::(ah_to_penpal_foreign_assets_receiver_assertions); + ah_to_penpal.set_assertion::(ah_to_penpal_foreign_assets_receiver_assertions); ah_to_penpal.set_dispatchable::(system_para_to_para_transfer_assets); ah_to_penpal.assert(); @@ -726,9 +728,9 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { &AssetHubKusamaSender::get(), ) }); - let penpal_receiver_assets_after = PenpalKusamaA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalKusamaAReceiver::get()) + let penpal_receiver_assets_after = PenpalA::execute_with(|| { + type Assets = ::Assets; + >::balance(asset_id_on_penpal, &PenpalAReceiver::get()) }); // Sender's balance is reduced diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/Cargo.toml b/integration-tests/emulated/tests/assets/asset-hub-polkadot/Cargo.toml new file mode 100644 index 0000000000..a97665d6eb --- /dev/null +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/Cargo.toml @@ -0,0 +1,40 @@ +[package] +name = "asset-hub-polkadot-integration-tests" +version = "0.1.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Asset Hub Polkadot runtime integration tests with xcm-emulator" +publish = false + +[dependencies] +codec = { package = "parity-scale-codec", version = "3.4.0" } +assert_matches = "1.5.0" + +# Substrate +sp-runtime = { version = "31.0.1" } +frame-support = { version = "28.0.0" } +pallet-balances = { version = "28.0.0" } +pallet-assets = { version = "29.0.0" } +pallet-treasury = { version = "27.0.0" } +pallet-message-queue = { version = "31.0.0" } + +# Polkadot +polkadot-runtime-common = { version = "7.0.0" } +xcm = { package = "staging-xcm", version = "7.0.0" } +pallet-xcm = { version = "7.0.0" } +xcm-executor = { package = "staging-xcm-executor", version = "7.0.0" } + +# Cumulus +asset-test-utils = { version = "7.0.0" } +emulated-integration-tests-common = { version = "3.0.0" } +parachains-common = { version = "7.0.0" } +cumulus-pallet-xcmp-queue = { version = "0.7.0" } +cumulus-pallet-parachain-system = { features = ["parameterized-consensus-hook"], version = "0.7.0" } + +# Local +asset-hub-polkadot-runtime = { path = "../../../../../system-parachains/asset-hubs/asset-hub-polkadot" } +integration-tests-helpers = { path = "../../../helpers" } +polkadot-runtime = { path = "../../../../../relay/polkadot" } +polkadot-system-emulated-network = { path = "../../../networks/polkadot-system" } +system-parachains-constants = { path = "../../../../../system-parachains/constants" } diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/lib.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/lib.rs new file mode 100644 index 0000000000..f41329a77d --- /dev/null +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/lib.rs @@ -0,0 +1,79 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +pub use codec::Encode; + +// Substrate +pub use frame_support::{ + assert_err, assert_ok, + instances::Instance2, + pallet_prelude::Weight, + sp_runtime::{AccountId32, DispatchError, DispatchResult, ModuleError}, + traits::fungibles::Inspect, + BoundedVec, +}; + +// Polkadot +pub use xcm::{ + prelude::{AccountId32 as AccountId32Junction, *}, + v3::{Error, NetworkId::Polkadot as PolkadotId}, +}; + +// Cumulus +pub use asset_test_utils::xcm_helpers; +pub use emulated_integration_tests_common::{ + xcm_emulator::{ + assert_expected_events, bx, helpers::weight_within_threshold, Chain, Parachain as Para, + RelayChain as Relay, Test, TestArgs, TestContext, TestExt, + }, + xcm_helpers::{xcm_transact_paid_execution, xcm_transact_unpaid_execution}, + PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, XCM_V3, +}; +pub use integration_tests_helpers::test_parachain_is_trusted_teleporter; +pub use parachains_common::{AccountId, Balance}; +pub use polkadot_system_emulated_network::{ + asset_hub_polkadot_emulated_chain::{ + genesis::ED as ASSET_HUB_POLKADOT_ED, AssetHubPolkadotParaPallet as AssetHubPolkadotPallet, + }, + collectives_polkadot_emulated_chain::{ + genesis::ED as COLLECTIVES_POLKADOT_ED, + CollectivesPolkadotParaPallet as CollectivesPolkadotPallet, + }, + penpal_emulated_chain::PenpalBParaPallet as PenpalBPallet, + polkadot_emulated_chain::{genesis::ED as POLKADOT_ED, PolkadotRelayPallet as PolkadotPallet}, + AssetHubPolkadotPara as AssetHubPolkadot, + AssetHubPolkadotParaReceiver as AssetHubPolkadotReceiver, + AssetHubPolkadotParaSender as AssetHubPolkadotSender, + BridgeHubPolkadotPara as BridgeHubPolkadot, + BridgeHubPolkadotParaReceiver as BridgeHubPolkadotReceiver, + CollectivesPolkadotPara as CollectivesPolkadot, PenpalBPara as PenpalB, + PenpalBParaReceiver as PenpalBReceiver, PenpalBParaSender as PenpalBSender, + PolkadotRelay as Polkadot, PolkadotRelayReceiver as PolkadotReceiver, + PolkadotRelaySender as PolkadotSender, +}; + +pub const ASSET_ID: u32 = 1; +pub const ASSET_MIN_BALANCE: u128 = 1000; +// `Assets` pallet index +pub const ASSETS_PALLET_ID: u8 = 50; + +pub type RelayToSystemParaTest = Test; +pub type RelayToParaTest = Test; +pub type SystemParaToRelayTest = Test; +pub type SystemParaToParaTest = Test; +pub type ParaToSystemParaTest = Test; + +#[cfg(test)] +mod tests; diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/fellowship_treasury.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/fellowship_treasury.rs new file mode 100644 index 0000000000..188174c0d1 --- /dev/null +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/fellowship_treasury.rs @@ -0,0 +1,131 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::*; +use emulated_integration_tests_common::accounts::{ALICE, BOB}; +use frame_support::traits::fungibles::{Create, Inspect, Mutate}; +use polkadot_runtime_common::impls::VersionedLocatableAsset; +use xcm_executor::traits::ConvertLocation; + +#[test] +fn create_and_claim_treasury_spend() { + const ASSET_ID: u32 = 1984; + const SPEND_AMOUNT: u128 = 1_000_000; + // treasury location from a sibling parachain. + let treasury_location: MultiLocation = MultiLocation::new( + 1, + X2(Parachain(CollectivesPolkadot::para_id().into()), PalletInstance(65)), + ); + // treasury account on a sibling parachain. + let treasury_account = + asset_hub_polkadot_runtime::xcm_config::LocationToAccountId::convert_location( + &treasury_location, + ) + .unwrap(); + let asset_hub_location = MultiLocation::new(1, Parachain(AssetHubPolkadot::para_id().into())); + let root = ::RuntimeOrigin::root(); + // asset kind to be spent from the treasury. + let asset_kind = VersionedLocatableAsset::V3 { + location: asset_hub_location, + asset_id: AssetId::Concrete((PalletInstance(50), GeneralIndex(ASSET_ID.into())).into()), + }; + // treasury spend beneficiary. + let alice: AccountId = Polkadot::account_id_of(ALICE); + let bob: AccountId = CollectivesPolkadot::account_id_of(BOB); + let bob_signed = ::RuntimeOrigin::signed(bob.clone()); + + AssetHubPolkadot::execute_with(|| { + type Assets = ::Assets; + + // create an asset class and mint some assets to the treasury account. + assert_ok!(>::create( + ASSET_ID, + treasury_account.clone(), + true, + SPEND_AMOUNT / 2 + )); + assert_ok!(>::mint_into(ASSET_ID, &treasury_account, SPEND_AMOUNT * 4)); + // beneficiary has zero balance. + assert_eq!(>::balance(ASSET_ID, &alice,), 0u128,); + }); + + CollectivesPolkadot::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + type FellowshipTreasury = + ::FellowshipTreasury; + type AssetRate = ::AssetRate; + + // create a conversion rate from `asset_kind` to the native currency. + assert_ok!(AssetRate::create(root.clone(), Box::new(asset_kind.clone()), 2.into())); + + // create and approve a treasury spend. + assert_ok!(FellowshipTreasury::spend( + root, + Box::new(asset_kind), + SPEND_AMOUNT, + Box::new(MultiLocation::new(0, Into::<[u8; 32]>::into(alice.clone())).into()), + None, + )); + // claim the spend. + assert_ok!(FellowshipTreasury::payout(bob_signed.clone(), 0)); + + assert_expected_events!( + CollectivesPolkadot, + vec![ + RuntimeEvent::FellowshipTreasury(pallet_treasury::Event::Paid { .. }) => {}, + ] + ); + }); + + AssetHubPolkadot::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + type Assets = ::Assets; + + // assert events triggered by xcm pay program + // 1. treasury asset transferred to spend beneficiary + // 2. response to the Fellowship treasury pallet instance sent back + // 3. XCM program completed + assert_expected_events!( + AssetHubPolkadot, + vec![ + RuntimeEvent::Assets(pallet_assets::Event::Transferred { asset_id: id, from, to, amount }) => { + id: id == &ASSET_ID, + from: from == &treasury_account, + to: to == &alice, + amount: amount == &SPEND_AMOUNT, + }, + RuntimeEvent::XcmpQueue(cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { .. }) => {}, + RuntimeEvent::MessageQueue(pallet_message_queue::Event::Processed { success: true ,.. }) => {}, + ] + ); + // beneficiary received the assets from the treasury. + assert_eq!(>::balance(ASSET_ID, &alice,), SPEND_AMOUNT,); + }); + + CollectivesPolkadot::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + type FellowshipTreasury = + ::FellowshipTreasury; + + // check the payment status to ensure the response from the AssetHub was received. + assert_ok!(FellowshipTreasury::check_status(bob_signed, 0)); + assert_expected_events!( + CollectivesPolkadot, + vec![ + RuntimeEvent::FellowshipTreasury(pallet_treasury::Event::SpendProcessed { .. }) => {}, + ] + ); + }); +} diff --git a/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/mod.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs similarity index 85% rename from integration-tests/emulated/assets/asset-hub-polkadot/src/tests/mod.rs rename to integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs index 2b1a263e01..eaf2a15e11 100644 --- a/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/mod.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs @@ -13,14 +13,16 @@ // See the License for the specific language governing permissions and // limitations under the License. +mod fellowship_treasury; mod reserve_transfer; mod send; mod set_xcm_versions; mod teleport; +mod treasury; use crate::*; -integration_tests_common::include_penpal_create_foreign_asset_on_asset_hub!( - PenpalPolkadotA, +emulated_integration_tests_common::include_penpal_create_foreign_asset_on_asset_hub!( + PenpalB, AssetHubPolkadot, POLKADOT_ED, system_parachains_constants::polkadot::fee::WeightToFee diff --git a/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs similarity index 82% rename from integration-tests/emulated/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs rename to integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs index e9fa92ff34..235b09858c 100644 --- a/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs @@ -16,10 +16,13 @@ use crate::*; use asset_hub_polkadot_runtime::xcm_config::XcmConfig as AssetHubPolkadotXcmConfig; use polkadot_runtime::xcm_config::XcmConfig as PolkadotXcmConfig; +use polkadot_system_emulated_network::penpal_emulated_chain::XcmConfig as PenpalPolkadotXcmConfig; fn relay_to_para_sender_assertions(t: RelayToParaTest) { type RuntimeEvent = ::RuntimeEvent; + Polkadot::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts(864_610_000, 8_799))); + assert_expected_events!( Polkadot, vec![ @@ -39,10 +42,12 @@ fn relay_to_para_sender_assertions(t: RelayToParaTest) { fn system_para_to_para_sender_assertions(t: SystemParaToParaTest) { type RuntimeEvent = ::RuntimeEvent; + AssetHubPolkadot::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts( - 864_610_000, - 8_799, + 676_119_000, + 6196, ))); + assert_expected_events!( AssetHubPolkadot, vec![ @@ -61,9 +66,9 @@ fn system_para_to_para_sender_assertions(t: SystemParaToParaTest) { } fn para_receiver_assertions(_: Test) { - type RuntimeEvent = ::RuntimeEvent; + type RuntimeEvent = ::RuntimeEvent; assert_expected_events!( - PenpalPolkadotA, + PenpalB, vec![ RuntimeEvent::Balances(pallet_balances::Event::Deposit { .. }) => {}, RuntimeEvent::MessageQueue( @@ -74,13 +79,12 @@ fn para_receiver_assertions(_: Test) { } fn para_to_system_para_sender_assertions(t: ParaToSystemParaTest) { - type RuntimeEvent = ::RuntimeEvent; - PenpalPolkadotA::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts( - 864_610_000, - 8_799, - ))); + type RuntimeEvent = ::RuntimeEvent; + + PenpalB::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts(864_610_000, 8_799))); + assert_expected_events!( - PenpalPolkadotA, + PenpalB, vec![ // Amount to reserve transfer is transferred to Parachain's Sovereign account RuntimeEvent::Balances( @@ -95,17 +99,19 @@ fn para_to_system_para_sender_assertions(t: ParaToSystemParaTest) { fn para_to_system_para_receiver_assertions(t: ParaToSystemParaTest) { type RuntimeEvent = ::RuntimeEvent; - let sov_penpal_on_ahr = AssetHubPolkadot::sovereign_account_id_of( - AssetHubPolkadot::sibling_location_of(PenpalPolkadotA::para_id()), + + let sov_penpal_on_ahp = AssetHubPolkadot::sovereign_account_id_of( + AssetHubPolkadot::sibling_location_of(PenpalB::para_id()), ); + assert_expected_events!( AssetHubPolkadot, vec![ - // Amount to reserve transfer is withdrawn from Parachain's Sovereign account + // Amount to reserve transfer is transferred to Parachain's Sovereign account RuntimeEvent::Balances( pallet_balances::Event::Burned { who, amount } ) => { - who: *who == sov_penpal_on_ahr.clone().into(), + who: *who == sov_penpal_on_ahp.clone().into(), amount: *amount == t.args.amount, }, RuntimeEvent::Balances(pallet_balances::Event::Minted { .. }) => {}, @@ -118,10 +124,12 @@ fn para_to_system_para_receiver_assertions(t: ParaToSystemParaTest) { fn system_para_to_para_assets_sender_assertions(t: SystemParaToParaTest) { type RuntimeEvent = ::RuntimeEvent; + AssetHubPolkadot::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts( - 864_610_000, - 8799, + 676_119_000, + 6196, ))); + assert_expected_events!( AssetHubPolkadot, vec![ @@ -141,9 +149,9 @@ fn system_para_to_para_assets_sender_assertions(t: SystemParaToParaTest) { } fn system_para_to_para_assets_receiver_assertions(_: Test) { - type RuntimeEvent = ::RuntimeEvent; + type RuntimeEvent = ::RuntimeEvent; assert_expected_events!( - PenpalPolkadotA, + PenpalB, vec![ RuntimeEvent::Balances(pallet_balances::Event::Deposit { .. }) => {}, RuntimeEvent::Assets(pallet_assets::Event::Issued { .. }) => {}, @@ -177,7 +185,7 @@ fn system_para_to_para_reserve_transfer_assets(t: SystemParaToParaTest) -> Dispa } fn para_to_system_para_reserve_transfer_assets(t: ParaToSystemParaTest) -> DispatchResult { - ::PolkadotXcm::limited_reserve_transfer_assets( + ::PolkadotXcm::limited_reserve_transfer_assets( t.signed_origin, bx!(t.args.dest.into()), bx!(t.args.beneficiary.into()), @@ -230,7 +238,6 @@ fn reserve_transfer_native_asset_from_system_para_to_relay_fails() { let beneficiary: MultiLocation = AccountId32Junction { network: None, id: beneficiary_id.into() }.into(); let amount_to_send: Balance = ASSET_HUB_POLKADOT_ED * 1000; - let assets: MultiAssets = (Parent, amount_to_send).into(); let fee_asset_item = 0; @@ -260,14 +267,14 @@ fn reserve_transfer_native_asset_from_system_para_to_relay_fails() { #[test] fn reserve_transfer_native_asset_from_relay_to_para() { // Init values for Relay - let destination = Polkadot::child_location_of(PenpalPolkadotA::para_id()); - let beneficiary_id = PenpalPolkadotAReceiver::get(); + let destination = Polkadot::child_location_of(PenpalB::para_id()); + let beneficiary_id = PenpalBReceiver::get(); let amount_to_send: Balance = POLKADOT_ED * 1000; let test_args = TestContext { sender: PolkadotSender::get(), - receiver: PenpalPolkadotAReceiver::get(), - args: relay_test_args(destination, beneficiary_id, amount_to_send), + receiver: PenpalBReceiver::get(), + args: TestArgs::new_relay(destination, beneficiary_id, amount_to_send), }; let mut test = RelayToParaTest::new(test_args); @@ -276,7 +283,7 @@ fn reserve_transfer_native_asset_from_relay_to_para() { let receiver_balance_before = test.receiver.balance; test.set_assertion::(relay_to_para_sender_assertions); - test.set_assertion::(para_receiver_assertions); + test.set_assertion::(para_receiver_assertions); test.set_dispatchable::(relay_to_para_reserve_transfer_assets); test.assert(); @@ -303,15 +310,15 @@ fn reserve_transfer_native_asset_from_relay_to_para() { #[test] fn reserve_transfer_native_asset_from_system_para_to_para() { // Init values for System Parachain - let destination = AssetHubPolkadot::sibling_location_of(PenpalPolkadotA::para_id()); - let beneficiary_id = PenpalPolkadotAReceiver::get(); + let destination = AssetHubPolkadot::sibling_location_of(PenpalB::para_id()); + let beneficiary_id = PenpalBReceiver::get(); let amount_to_send: Balance = ASSET_HUB_POLKADOT_ED * 1000; let assets = (Parent, amount_to_send).into(); let test_args = TestContext { sender: AssetHubPolkadotSender::get(), - receiver: PenpalPolkadotAReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + receiver: PenpalBReceiver::get(), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = SystemParaToParaTest::new(test_args); @@ -320,7 +327,7 @@ fn reserve_transfer_native_asset_from_system_para_to_para() { let receiver_balance_before = test.receiver.balance; test.set_assertion::(system_para_to_para_sender_assertions); - test.set_assertion::(para_receiver_assertions); + test.set_assertion::(para_receiver_assertions); test.set_dispatchable::(system_para_to_para_reserve_transfer_assets); test.assert(); @@ -347,15 +354,15 @@ fn reserve_transfer_native_asset_from_system_para_to_para() { #[test] fn reserve_transfer_native_asset_from_para_to_system_para() { // Init values for Penpal Parachain - let destination = PenpalPolkadotA::sibling_location_of(AssetHubPolkadot::para_id()); + let destination = PenpalB::sibling_location_of(AssetHubPolkadot::para_id()); let beneficiary_id = AssetHubPolkadotReceiver::get(); let amount_to_send: Balance = ASSET_HUB_POLKADOT_ED * 1000; let assets = (Parent, amount_to_send).into(); let test_args = TestContext { - sender: PenpalPolkadotASender::get(), + sender: PenpalBSender::get(), receiver: AssetHubPolkadotReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = ParaToSystemParaTest::new(test_args); @@ -363,25 +370,24 @@ fn reserve_transfer_native_asset_from_para_to_system_para() { let sender_balance_before = test.sender.balance; let receiver_balance_before = test.receiver.balance; - let penpal_location_as_seen_by_ahr = - AssetHubPolkadot::sibling_location_of(PenpalPolkadotA::para_id()); - let sov_penpal_on_ahr = - AssetHubPolkadot::sovereign_account_id_of(penpal_location_as_seen_by_ahr); + let penpal_location_as_seen_by_ahp = AssetHubPolkadot::sibling_location_of(PenpalB::para_id()); + let sov_penpal_on_ahp = + AssetHubPolkadot::sovereign_account_id_of(penpal_location_as_seen_by_ahp); - // fund the Penpal's SA on AHR with the native tokens held in reserve - AssetHubPolkadot::fund_accounts(vec![(sov_penpal_on_ahr.into(), amount_to_send * 2)]); + // fund the Penpal's SA on AHP with the native tokens held in reserve + AssetHubPolkadot::fund_accounts(vec![(sov_penpal_on_ahp.into(), amount_to_send * 2)]); - test.set_assertion::(para_to_system_para_sender_assertions); + test.set_assertion::(para_to_system_para_sender_assertions); test.set_assertion::(para_to_system_para_receiver_assertions); - test.set_dispatchable::(para_to_system_para_reserve_transfer_assets); + test.set_dispatchable::(para_to_system_para_reserve_transfer_assets); test.assert(); let sender_balance_after = test.sender.balance; let receiver_balance_after = test.receiver.balance; - let delivery_fees = PenpalPolkadotA::execute_with(|| { + let delivery_fees = PenpalB::execute_with(|| { xcm_helpers::transfer_assets_delivery_fees::< - ::XcmSender, + ::XcmSender, >(test.args.assets.clone(), 0, test.args.weight_limit, test.args.beneficiary, test.args.dest) }); @@ -399,27 +405,27 @@ fn reserve_transfer_native_asset_from_para_to_system_para() { /// work #[test] fn reserve_transfer_assets_from_system_para_to_para() { - // Force create asset on AssetHubPolkadot and PenpalPolkadotA from Relay Chain + // Force create asset on AssetHubPolkadot and PenpalB from Relay Chain AssetHubPolkadot::force_create_and_mint_asset( ASSET_ID, ASSET_MIN_BALANCE, - false, + true, AssetHubPolkadotSender::get(), Some(Weight::from_parts(1_019_445_000, 200_000)), ASSET_MIN_BALANCE * 1_000_000, ); - PenpalPolkadotA::force_create_and_mint_asset( + PenpalB::force_create_and_mint_asset( ASSET_ID, ASSET_MIN_BALANCE, false, - PenpalPolkadotASender::get(), + PenpalBSender::get(), None, 0, ); // Init values for System Parachain - let destination = AssetHubPolkadot::sibling_location_of(PenpalPolkadotA::para_id()); - let beneficiary_id = PenpalPolkadotAReceiver::get(); + let destination = AssetHubPolkadot::sibling_location_of(PenpalB::para_id()); + let beneficiary_id = PenpalBReceiver::get(); let fee_amount_to_send = ASSET_HUB_POLKADOT_ED * 1000; let asset_amount_to_send = ASSET_MIN_BALANCE * 1000; let assets: MultiAssets = vec![ @@ -436,8 +442,8 @@ fn reserve_transfer_assets_from_system_para_to_para() { let para_test_args = TestContext { sender: AssetHubPolkadotSender::get(), - receiver: PenpalPolkadotAReceiver::get(), - args: para_test_args( + receiver: PenpalBReceiver::get(), + args: TestArgs::new_para( destination, beneficiary_id, asset_amount_to_send, @@ -449,10 +455,10 @@ fn reserve_transfer_assets_from_system_para_to_para() { let mut test = SystemParaToParaTest::new(para_test_args); - // Create SA-of-Penpal-on-AHR with ED. - let penpal_location = AssetHubPolkadot::sibling_location_of(PenpalPolkadotA::para_id()); - let sov_penpal_on_ahr = AssetHubPolkadot::sovereign_account_id_of(penpal_location); - AssetHubPolkadot::fund_accounts(vec![(sov_penpal_on_ahr.into(), POLKADOT_ED)]); + // Create SA-of-Penpal-on-AHP with ED. + let penpal_location = AssetHubPolkadot::sibling_location_of(PenpalB::para_id()); + let sov_penpal_on_ahp = AssetHubPolkadot::sovereign_account_id_of(penpal_location); + AssetHubPolkadot::fund_accounts(vec![(sov_penpal_on_ahp.into(), POLKADOT_ED)]); let sender_balance_before = test.sender.balance; let receiver_balance_before = test.receiver.balance; @@ -461,13 +467,13 @@ fn reserve_transfer_assets_from_system_para_to_para() { type Assets = ::Assets; >::balance(ASSET_ID, &AssetHubPolkadotSender::get()) }); - let receiver_assets_before = PenpalPolkadotA::execute_with(|| { - type Assets = ::Assets; - >::balance(ASSET_ID, &PenpalPolkadotAReceiver::get()) + let receiver_assets_before = PenpalB::execute_with(|| { + type Assets = ::Assets; + >::balance(ASSET_ID, &PenpalBReceiver::get()) }); test.set_assertion::(system_para_to_para_assets_sender_assertions); - test.set_assertion::(system_para_to_para_assets_receiver_assertions); + test.set_assertion::(system_para_to_para_assets_receiver_assertions); test.set_dispatchable::(system_para_to_para_reserve_transfer_assets); test.assert(); @@ -487,9 +493,9 @@ fn reserve_transfer_assets_from_system_para_to_para() { type Assets = ::Assets; >::balance(ASSET_ID, &AssetHubPolkadotSender::get()) }); - let receiver_assets_after = PenpalPolkadotA::execute_with(|| { - type Assets = ::Assets; - >::balance(ASSET_ID, &PenpalPolkadotAReceiver::get()) + let receiver_assets_after = PenpalB::execute_with(|| { + type Assets = ::Assets; + >::balance(ASSET_ID, &PenpalBReceiver::get()) }); // Sender's balance is reduced by exact amount diff --git a/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/send.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/send.rs similarity index 87% rename from integration-tests/emulated/assets/asset-hub-polkadot/src/tests/send.rs rename to integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/send.rs index adbb28f024..403ad7d1d1 100644 --- a/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/send.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/send.rs @@ -33,7 +33,7 @@ fn send_transact_as_superuser_from_relay_to_system_para_works() { #[test] fn send_xcm_from_para_to_system_para_paying_fee_with_assets_works() { let para_sovereign_account = AssetHubPolkadot::sovereign_account_id_of( - AssetHubPolkadot::sibling_location_of(PenpalPolkadotA::para_id()), + AssetHubPolkadot::sibling_location_of(PenpalB::para_id()), ); // Force create and mint assets for Parachain's sovereign account @@ -60,9 +60,8 @@ fn send_xcm_from_para_to_system_para_paying_fee_with_assets_works() { let native_asset = (X2(PalletInstance(ASSETS_PALLET_ID), GeneralIndex(ASSET_ID.into())), fee_amount).into(); - let root_origin = ::RuntimeOrigin::root(); - let system_para_destination = - PenpalPolkadotA::sibling_location_of(AssetHubPolkadot::para_id()).into(); + let root_origin = ::RuntimeOrigin::root(); + let system_para_destination = PenpalB::sibling_location_of(AssetHubPolkadot::para_id()).into(); let xcm = xcm_transact_paid_execution( call, origin_kind, @@ -70,21 +69,21 @@ fn send_xcm_from_para_to_system_para_paying_fee_with_assets_works() { para_sovereign_account.clone(), ); - PenpalPolkadotA::execute_with(|| { - assert_ok!(::PolkadotXcm::send( + PenpalB::execute_with(|| { + assert_ok!(::PolkadotXcm::send( root_origin, bx!(system_para_destination), bx!(xcm), )); - PenpalPolkadotA::assert_xcm_pallet_sent(); + PenpalB::assert_xcm_pallet_sent(); }); AssetHubPolkadot::execute_with(|| { type RuntimeEvent = ::RuntimeEvent; AssetHubPolkadot::assert_xcmp_queue_success(Some(Weight::from_parts( - 15_594_564_000, + 16_290_336_000, 562_893, ))); diff --git a/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/set_xcm_versions.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/set_xcm_versions.rs similarity index 100% rename from integration-tests/emulated/assets/asset-hub-polkadot/src/tests/set_xcm_versions.rs rename to integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/set_xcm_versions.rs diff --git a/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/teleport.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/teleport.rs similarity index 88% rename from integration-tests/emulated/assets/asset-hub-polkadot/src/tests/teleport.rs rename to integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/teleport.rs index ed49e09b9a..ae48670843 100644 --- a/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/teleport.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/teleport.rs @@ -15,12 +15,14 @@ use crate::*; use asset_hub_polkadot_runtime::xcm_config::XcmConfig as AssetHubPolkadotXcmConfig; +use emulated_integration_tests_common::xcm_helpers::non_fee_asset; use polkadot_runtime::xcm_config::XcmConfig as PolkadotXcmConfig; +use polkadot_system_emulated_network::penpal_emulated_chain::LocalTeleportableToAssetHub as PenpalLocalTeleportableToAssetHub; fn relay_origin_assertions(t: RelayToSystemParaTest) { type RuntimeEvent = ::RuntimeEvent; - Polkadot::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts(631_531_000, 7_186))); + Polkadot::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts(632_207_000, 7_186))); assert_expected_events!( Polkadot, @@ -45,7 +47,7 @@ fn relay_dest_assertions(t: SystemParaToRelayTest) { Polkadot::assert_ump_queue_processed( true, Some(AssetHubPolkadot::para_id()), - Some(Weight::from_parts(307_225_000, 7_186)), + Some(Weight::from_parts(308_222_000, 7_186)), ); assert_expected_events!( @@ -68,7 +70,7 @@ fn relay_dest_assertions_fail(_t: SystemParaToRelayTest) { Polkadot::assert_ump_queue_processed( false, Some(AssetHubPolkadot::para_id()), - Some(Weight::from_parts(157_718_000, 3_593)), + Some(Weight::from_parts(148_705_000, 3_593)), ); } @@ -76,8 +78,8 @@ fn para_origin_assertions(t: SystemParaToRelayTest) { type RuntimeEvent = ::RuntimeEvent; AssetHubPolkadot::assert_xcm_pallet_attempted_complete(Some(Weight::from_parts( - 720_053_000, - 7_203, + 533_910_000, + 7167, ))); AssetHubPolkadot::assert_parachain_system_ump_sent(); @@ -97,7 +99,7 @@ fn para_origin_assertions(t: SystemParaToRelayTest) { fn para_dest_assertions(t: RelayToSystemParaTest) { type RuntimeEvent = ::RuntimeEvent; - AssetHubPolkadot::assert_dmp_queue_complete(Some(Weight::from_parts(157_718_000, 3593))); + AssetHubPolkadot::assert_dmp_queue_complete(Some(Weight::from_parts(164_793_000, 3593))); assert_expected_events!( AssetHubPolkadot, @@ -111,13 +113,13 @@ fn para_dest_assertions(t: RelayToSystemParaTest) { } fn penpal_to_ah_foreign_assets_sender_assertions(t: ParaToSystemParaTest) { - type RuntimeEvent = ::RuntimeEvent; - PenpalPolkadotA::assert_xcm_pallet_attempted_complete(None); + type RuntimeEvent = ::RuntimeEvent; + PenpalB::assert_xcm_pallet_attempted_complete(None); let expected_asset_id = t.args.asset_id.unwrap(); let (_, expected_asset_amount) = non_fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); assert_expected_events!( - PenpalPolkadotA, + PenpalB, vec![ RuntimeEvent::Balances( pallet_balances::Event::Withdraw { who, amount } @@ -136,8 +138,8 @@ fn penpal_to_ah_foreign_assets_sender_assertions(t: ParaToSystemParaTest) { fn penpal_to_ah_foreign_assets_receiver_assertions(t: ParaToSystemParaTest) { type RuntimeEvent = ::RuntimeEvent; - let sov_penpal_on_ahr = AssetHubPolkadot::sovereign_account_id_of( - AssetHubPolkadot::sibling_location_of(PenpalPolkadotA::para_id()), + let sov_penpal_on_ahk = AssetHubPolkadot::sovereign_account_id_of( + AssetHubPolkadot::sibling_location_of(PenpalB::para_id()), ); let (expected_foreign_asset_id, expected_foreign_asset_amount) = non_fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); @@ -148,7 +150,7 @@ fn penpal_to_ah_foreign_assets_receiver_assertions(t: ParaToSystemParaTest) { RuntimeEvent::Balances( pallet_balances::Event::Burned { who, amount } ) => { - who: *who == sov_penpal_on_ahr.clone().into(), + who: *who == sov_penpal_on_ahk.clone().into(), amount: *amount == t.args.amount, }, RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { @@ -196,13 +198,13 @@ fn ah_to_penpal_foreign_assets_sender_assertions(t: SystemParaToParaTest) { } fn ah_to_penpal_foreign_assets_receiver_assertions(t: SystemParaToParaTest) { - type RuntimeEvent = ::RuntimeEvent; + type RuntimeEvent = ::RuntimeEvent; let expected_asset_id = t.args.asset_id.unwrap(); let (_, expected_asset_amount) = non_fee_asset(&t.args.assets, t.args.fee_asset_item as usize).unwrap(); - let checking_account = ::PolkadotXcm::check_account(); + let checking_account = ::PolkadotXcm::check_account(); assert_expected_events!( - PenpalPolkadotA, + PenpalB, vec![ // checking account burns local asset as part of incoming teleport RuntimeEvent::Assets(pallet_assets::Event::Burned { asset_id, owner, balance }) => { @@ -269,8 +271,8 @@ fn system_para_teleport_assets(t: SystemParaToRelayTest) -> DispatchResult { ) } -fn para_to_system_para_transfer_assets(t: ParaToSystemParaTest) -> DispatchResult { - ::PolkadotXcm::transfer_assets( +fn system_para_to_para_transfer_assets(t: SystemParaToParaTest) -> DispatchResult { + ::PolkadotXcm::transfer_assets( t.signed_origin, bx!(t.args.dest.into()), bx!(t.args.beneficiary.into()), @@ -280,8 +282,8 @@ fn para_to_system_para_transfer_assets(t: ParaToSystemParaTest) -> DispatchResul ) } -fn system_para_to_para_transfer_assets(t: SystemParaToParaTest) -> DispatchResult { - ::PolkadotXcm::transfer_assets( +fn para_to_system_para_transfer_assets(t: ParaToSystemParaTest) -> DispatchResult { + ::PolkadotXcm::transfer_assets( t.signed_origin, bx!(t.args.dest.into()), bx!(t.args.beneficiary.into()), @@ -297,11 +299,11 @@ fn limited_teleport_native_assets_from_relay_to_system_para_works() { // Init values for Relay Chain let amount_to_send: Balance = POLKADOT_ED * 1000; let dest = Polkadot::child_location_of(AssetHubPolkadot::para_id()); - let beneficiary_id = AssetHubPolkadotReceiver::get(); + let beneficiary = AssetHubPolkadotReceiver::get(); let test_args = TestContext { sender: PolkadotSender::get(), - receiver: AssetHubPolkadotReceiver::get(), - args: relay_test_args(dest, beneficiary_id, amount_to_send), + receiver: beneficiary.clone(), + args: TestArgs::new_relay(dest, beneficiary, amount_to_send), }; let mut test = RelayToSystemParaTest::new(test_args); @@ -345,7 +347,7 @@ fn limited_teleport_native_assets_back_from_system_para_to_relay_works() { let test_args = TestContext { sender: AssetHubPolkadotSender::get(), receiver: PolkadotReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = SystemParaToRelayTest::new(test_args); @@ -386,7 +388,7 @@ fn limited_teleport_native_assets_from_system_para_to_relay_fails() { let test_args = TestContext { sender: AssetHubPolkadotSender::get(), receiver: PolkadotReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = SystemParaToRelayTest::new(test_args); @@ -420,11 +422,11 @@ fn teleport_native_assets_from_relay_to_system_para_works() { // Init values for Relay Chain let amount_to_send: Balance = POLKADOT_ED * 1000; let dest = Polkadot::child_location_of(AssetHubPolkadot::para_id()); - let beneficiary_id = AssetHubPolkadotReceiver::get(); + let beneficiary = AssetHubPolkadotReceiver::get(); let test_args = TestContext { sender: PolkadotSender::get(), - receiver: AssetHubPolkadotReceiver::get(), - args: relay_test_args(dest, beneficiary_id, amount_to_send), + receiver: beneficiary.clone(), + args: TestArgs::new_relay(dest, beneficiary, amount_to_send), }; let mut test = RelayToSystemParaTest::new(test_args); @@ -468,7 +470,7 @@ fn teleport_native_assets_back_from_system_para_to_relay_works() { let test_args = TestContext { sender: AssetHubPolkadotSender::get(), receiver: PolkadotReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = SystemParaToRelayTest::new(test_args); @@ -481,15 +483,15 @@ fn teleport_native_assets_back_from_system_para_to_relay_works() { test.set_dispatchable::(system_para_teleport_assets); test.assert(); - let sender_balance_after = test.sender.balance; - let receiver_balance_after = test.receiver.balance; - let delivery_fees = AssetHubPolkadot::execute_with(|| { xcm_helpers::transfer_assets_delivery_fees::< ::XcmSender, >(test.args.assets.clone(), 0, test.args.weight_limit, test.args.beneficiary, test.args.dest) }); + let sender_balance_after = test.sender.balance; + let receiver_balance_after = test.receiver.balance; + // Sender's balance is reduced assert_eq!(sender_balance_before - amount_to_send - delivery_fees, sender_balance_after); // Receiver's balance is increased @@ -509,7 +511,7 @@ fn teleport_native_assets_from_system_para_to_relay_fails() { let test_args = TestContext { sender: AssetHubPolkadotSender::get(), receiver: PolkadotReceiver::get(), - args: para_test_args(destination, beneficiary_id, amount_to_send, assets, None, 0), + args: TestArgs::new_para(destination, beneficiary_id, amount_to_send, assets, None, 0), }; let mut test = SystemParaToRelayTest::new(test_args); @@ -554,15 +556,15 @@ fn teleport_to_other_system_parachains_works() { /// (using native reserve-based transfer for fees) #[test] fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { - let ah_as_seen_by_penpal = PenpalPolkadotA::sibling_location_of(AssetHubPolkadot::para_id()); + let ah_as_seen_by_penpal = PenpalB::sibling_location_of(AssetHubPolkadot::para_id()); let asset_location_on_penpal = PenpalLocalTeleportableToAssetHub::get(); let asset_id_on_penpal = match asset_location_on_penpal.last() { Some(GeneralIndex(id)) => *id as u32, _ => unreachable!(), }; - let asset_owner_on_penpal = PenpalPolkadotASender::get(); + let asset_owner_on_penpal = PenpalBSender::get(); let foreign_asset_at_asset_hub_polkadot = - MultiLocation { parents: 1, interior: X1(Parachain(PenpalPolkadotA::para_id().into())) } + MultiLocation { parents: 1, interior: X1(Parachain(PenpalB::para_id().into())) } .appended_with(asset_location_on_penpal) .unwrap(); super::penpal_create_foreign_asset_on_asset_hub( @@ -575,7 +577,7 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { ); let penpal_to_ah_beneficiary_id = AssetHubPolkadotReceiver::get(); - let fee_amount_to_send = ASSET_HUB_POLKADOT_ED * 10_000; + let fee_amount_to_send = ASSET_HUB_POLKADOT_ED * 1000; let asset_amount_to_send = ASSET_MIN_BALANCE * 1000; let penpal_assets: MultiAssets = vec![ @@ -591,9 +593,9 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { // Penpal to AH test args let penpal_to_ah_test_args = TestContext { - sender: PenpalPolkadotASender::get(), + sender: PenpalBSender::get(), receiver: AssetHubPolkadotReceiver::get(), - args: para_test_args( + args: TestArgs::new_para( ah_as_seen_by_penpal, penpal_to_ah_beneficiary_id, asset_amount_to_send, @@ -607,9 +609,9 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { let penpal_sender_balance_before = penpal_to_ah.sender.balance; let ah_receiver_balance_before = penpal_to_ah.receiver.balance; - let penpal_sender_assets_before = PenpalPolkadotA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalPolkadotASender::get()) + let penpal_sender_assets_before = PenpalB::execute_with(|| { + type Assets = ::Assets; + >::balance(asset_id_on_penpal, &PenpalBSender::get()) }); let ah_receiver_assets_before = AssetHubPolkadot::execute_with(|| { type Assets = ::ForeignAssets; @@ -619,17 +621,17 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { ) }); - penpal_to_ah.set_assertion::(penpal_to_ah_foreign_assets_sender_assertions); + penpal_to_ah.set_assertion::(penpal_to_ah_foreign_assets_sender_assertions); penpal_to_ah.set_assertion::(penpal_to_ah_foreign_assets_receiver_assertions); - penpal_to_ah.set_dispatchable::(para_to_system_para_transfer_assets); + penpal_to_ah.set_dispatchable::(para_to_system_para_transfer_assets); penpal_to_ah.assert(); let penpal_sender_balance_after = penpal_to_ah.sender.balance; let ah_receiver_balance_after = penpal_to_ah.receiver.balance; - let penpal_sender_assets_after = PenpalPolkadotA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalPolkadotASender::get()) + let penpal_sender_assets_after = PenpalB::execute_with(|| { + type Assets = ::Assets; + >::balance(asset_id_on_penpal, &PenpalBSender::get()) }); let ah_receiver_assets_after = AssetHubPolkadot::execute_with(|| { type Assets = ::ForeignAssets; @@ -668,8 +670,8 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { )); }); - let ah_to_penpal_beneficiary_id = PenpalPolkadotAReceiver::get(); - let penpal_as_seen_by_ah = AssetHubPolkadot::sibling_location_of(PenpalPolkadotA::para_id()); + let ah_to_penpal_beneficiary_id = PenpalBReceiver::get(); + let penpal_as_seen_by_ah = AssetHubPolkadot::sibling_location_of(PenpalB::para_id()); let ah_assets: MultiAssets = vec![ (Parent, fee_amount_to_send).into(), (foreign_asset_at_asset_hub_polkadot, asset_amount_to_send).into(), @@ -684,8 +686,8 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { // AH to Penpal test args let ah_to_penpal_test_args = TestContext { sender: AssetHubPolkadotSender::get(), - receiver: PenpalPolkadotAReceiver::get(), - args: para_test_args( + receiver: PenpalBReceiver::get(), + args: TestArgs::new_para( penpal_as_seen_by_ah, ah_to_penpal_beneficiary_id, asset_amount_to_send, @@ -706,13 +708,13 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { &AssetHubPolkadotSender::get(), ) }); - let penpal_receiver_assets_before = PenpalPolkadotA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalPolkadotAReceiver::get()) + let penpal_receiver_assets_before = PenpalB::execute_with(|| { + type Assets = ::Assets; + >::balance(asset_id_on_penpal, &PenpalBReceiver::get()) }); ah_to_penpal.set_assertion::(ah_to_penpal_foreign_assets_sender_assertions); - ah_to_penpal.set_assertion::(ah_to_penpal_foreign_assets_receiver_assertions); + ah_to_penpal.set_assertion::(ah_to_penpal_foreign_assets_receiver_assertions); ah_to_penpal.set_dispatchable::(system_para_to_para_transfer_assets); ah_to_penpal.assert(); @@ -726,9 +728,9 @@ fn bidirectional_teleport_foreign_assets_between_para_and_asset_hub() { &AssetHubPolkadotSender::get(), ) }); - let penpal_receiver_assets_after = PenpalPolkadotA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalPolkadotAReceiver::get()) + let penpal_receiver_assets_after = PenpalB::execute_with(|| { + type Assets = ::Assets; + >::balance(asset_id_on_penpal, &PenpalBReceiver::get()) }); // Sender's balance is reduced diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/treasury.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/treasury.rs new file mode 100644 index 0000000000..03e34b234d --- /dev/null +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/treasury.rs @@ -0,0 +1,126 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::*; +use emulated_integration_tests_common::accounts::{ALICE, BOB}; +use frame_support::traits::fungibles::{Create, Inspect, Mutate}; +use polkadot_runtime_common::impls::VersionedLocatableAsset; +use xcm_executor::traits::ConvertLocation; + +#[test] +fn create_and_claim_treasury_spend() { + const ASSET_ID: u32 = 1984; + const SPEND_AMOUNT: u128 = 1_000_000; + // treasury location from a sibling parachain. + let treasury_location: MultiLocation = MultiLocation::new(1, PalletInstance(19)); + // treasury account on a sibling parachain. + let treasury_account = + asset_hub_polkadot_runtime::xcm_config::LocationToAccountId::convert_location( + &treasury_location, + ) + .unwrap(); + let asset_hub_location = MultiLocation::new(0, Parachain(AssetHubPolkadot::para_id().into())); + let root = ::RuntimeOrigin::root(); + // asset kind to be spend from the treasury. + let asset_kind = VersionedLocatableAsset::V3 { + location: asset_hub_location, + asset_id: AssetId::Concrete((PalletInstance(50), GeneralIndex(ASSET_ID.into())).into()), + }; + // treasury spend beneficiary. + let alice: AccountId = Polkadot::account_id_of(ALICE); + let bob: AccountId = Polkadot::account_id_of(BOB); + let bob_signed = ::RuntimeOrigin::signed(bob.clone()); + + AssetHubPolkadot::execute_with(|| { + type Assets = ::Assets; + + // create an asset class and mint some assets to the treasury account. + assert_ok!(>::create( + ASSET_ID, + treasury_account.clone(), + true, + SPEND_AMOUNT / 2 + )); + assert_ok!(>::mint_into(ASSET_ID, &treasury_account, SPEND_AMOUNT * 4)); + // beneficiary has zero balance. + assert_eq!(>::balance(ASSET_ID, &alice,), 0u128,); + }); + + Polkadot::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + type Treasury = ::Treasury; + type AssetRate = ::AssetRate; + + // create a conversion rate from `asset_kind` to the native currency. + assert_ok!(AssetRate::create(root.clone(), Box::new(asset_kind.clone()), 2.into())); + + // create and approve a treasury spend. + assert_ok!(Treasury::spend( + root, + Box::new(asset_kind), + SPEND_AMOUNT, + Box::new(MultiLocation::new(0, Into::<[u8; 32]>::into(alice.clone())).into()), + None, + )); + // claim the spend. + assert_ok!(Treasury::payout(bob_signed.clone(), 0)); + + assert_expected_events!( + Polkadot, + vec![ + RuntimeEvent::Treasury(pallet_treasury::Event::Paid { .. }) => {}, + ] + ); + }); + + AssetHubPolkadot::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + type Assets = ::Assets; + + // assert events triggered by xcm pay program + // 1. treasury asset transferred to spend beneficiary + // 2. response to Relay Chain treasury pallet instance sent back + // 3. XCM program completed + assert_expected_events!( + AssetHubPolkadot, + vec![ + RuntimeEvent::Assets(pallet_assets::Event::Transferred { asset_id: id, from, to, amount }) => { + id: id == &ASSET_ID, + from: from == &treasury_account, + to: to == &alice, + amount: amount == &SPEND_AMOUNT, + }, + RuntimeEvent::ParachainSystem(cumulus_pallet_parachain_system::Event::UpwardMessageSent { .. }) => {}, + RuntimeEvent::MessageQueue(pallet_message_queue::Event::Processed { success: true ,.. }) => {}, + ] + ); + // beneficiary received the assets from the treasury. + assert_eq!(>::balance(ASSET_ID, &alice,), SPEND_AMOUNT,); + }); + + Polkadot::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + type Treasury = ::Treasury; + + // check the payment status to ensure the response from the AssetHub was received. + assert_ok!(Treasury::check_status(bob_signed, 0)); + assert_expected_events!( + Polkadot, + vec![ + RuntimeEvent::Treasury(pallet_treasury::Event::SpendProcessed { .. }) => {}, + ] + ); + }); +} diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-kusama/Cargo.toml b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/Cargo.toml new file mode 100644 index 0000000000..dbb8482514 --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/Cargo.toml @@ -0,0 +1,41 @@ +[package] +name = "bridge-hub-kusama-integration-tests" +version = "0.1.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Bridge Hub Kusama runtime integration tests with xcm-emulator" +publish = false + +[dependencies] +codec = { package = "parity-scale-codec", version = "3.4.0" } +scale-info = { version = "2.10.0", features = ["derive"] } +hex = "0.4.3" +hex-literal = "0.4.1" + +# Substrate +sp-runtime = { version = "31.0.1" } +frame-support = { version = "28.0.0" } +pallet-balances = { version = "28.0.0" } +pallet-assets = { version = "29.0.0" } +pallet-message-queue = { version = "31.0.0" } + +# Polkadot +xcm = { package = "staging-xcm", version = "7.0.0" } +pallet-xcm = { version = "7.0.0" } +xcm-executor = { package = "staging-xcm-executor", version = "7.0.0" } + +# Cumulus +emulated-integration-tests-common = { version = "3.0.0" } +parachains-common = { version = "7.0.0" } +cumulus-pallet-xcmp-queue = { version = "0.7.0" } + +# Bridges +bp-messages = { version = "0.7.0" } +pallet-bridge-messages = { version = "0.7.0" } + +# Local +bridge-hub-kusama-runtime = { path = "../../../../../system-parachains/bridge-hubs/bridge-hub-kusama" } +integration-tests-helpers = { path = "../../../helpers" } +kusama-polkadot-system-emulated-network = { path = "../../../networks/kusama-polkadot-system" } +kusama-system-emulated-network = { path = "../../../networks/kusama-system" } diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/lib.rs b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/lib.rs new file mode 100644 index 0000000000..1c7d1e1682 --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/lib.rs @@ -0,0 +1,75 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Substrate +pub use frame_support::{assert_err, assert_ok, pallet_prelude::DispatchResult}; +pub use sp_runtime::DispatchError; + +// Polkadot +pub use xcm::{ + latest::ParentThen, + prelude::{AccountId32 as AccountId32Junction, *}, + v3::{ + Error, + NetworkId::{Kusama as KusamaId, Polkadot as PolkadotId}, + }, +}; + +// Bridges +pub use bp_messages::LaneId; + +// Cumulus +pub use emulated_integration_tests_common::{ + accounts::ALICE, + impls::Inspect, + xcm_emulator::{ + assert_expected_events, bx, helpers::weight_within_threshold, Chain, Parachain as Para, + RelayChain as Relay, Test, TestArgs, TestContext, TestExt, + }, + xcm_helpers::{xcm_transact_paid_execution, xcm_transact_unpaid_execution}, + PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, XCM_V3, +}; +pub use integration_tests_helpers::test_parachain_is_trusted_teleporter; +pub use kusama_polkadot_system_emulated_network::{ + asset_hub_kusama_emulated_chain::{ + genesis::ED as ASSET_HUB_KUSAMA_ED, AssetHubKusamaParaPallet as AssetHubKusamaPallet, + }, + asset_hub_polkadot_emulated_chain::{ + genesis::ED as ASSET_HUB_POLKADOT_ED, AssetHubPolkadotParaPallet as AssetHubPolkadotPallet, + }, + bridge_hub_kusama_emulated_chain::{ + genesis::ED as BRIDGE_HUB_KUSAMA_ED, BridgeHubKusamaParaPallet as BridgeHubKusamaPallet, + }, + kusama_emulated_chain::{genesis::ED as KUSAMA_ED, KusamaRelayPallet as KusamaPallet}, + AssetHubKusamaPara as AssetHubKusama, AssetHubKusamaParaReceiver as AssetHubKusamaReceiver, + AssetHubKusamaParaSender as AssetHubKusamaSender, AssetHubPolkadotPara as AssetHubPolkadot, + AssetHubPolkadotParaReceiver as AssetHubPolkadotReceiver, + BridgeHubKusamaPara as BridgeHubKusama, BridgeHubKusamaParaSender as BridgeHubKusamaSender, + BridgeHubPolkadotPara as BridgeHubPolkadot, KusamaRelay as Kusama, + KusamaRelayReceiver as KusamaReceiver, KusamaRelaySender as KusamaSender, +}; +pub use kusama_system_emulated_network::{ + penpal_emulated_chain::PenpalAParaPallet as PenpalAPallet, + BridgeHubKusamaParaReceiver as BridgeHubKusamaReceiver, PenpalAPara as PenpalA, + PenpalAParaReceiver as PenpalAReceiver, PenpalAParaSender as PenpalASender, +}; +pub use parachains_common::{AccountId, Balance}; + +pub const ASSET_ID: u32 = 1; +pub const ASSET_MIN_BALANCE: u128 = 1000; +pub const ASSETS_PALLET_ID: u8 = 50; + +#[cfg(test)] +mod tests; diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/asset_transfers.rs b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/asset_transfers.rs new file mode 100644 index 0000000000..148c8b3ba9 --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/asset_transfers.rs @@ -0,0 +1,171 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::tests::*; + +fn send_asset_from_asset_hub_kusama_to_asset_hub_polkadot(id: MultiLocation, amount: u128) { + let destination = asset_hub_polkadot_location(); + + // fund the AHK's SA on BHK for paying bridge transport fees + BridgeHubKusama::fund_para_sovereign(AssetHubKusama::para_id(), 10_000_000_000_000u128); + + // set XCM versions + AssetHubKusama::force_xcm_version(destination, XCM_VERSION); + BridgeHubKusama::force_xcm_version(bridge_hub_polkadot_location(), XCM_VERSION); + + // send message over bridge + assert_ok!(send_asset_from_asset_hub_kusama(destination, (id, amount))); + assert_bridge_hub_kusama_message_accepted(true); + assert_bridge_hub_polkadot_message_received(); +} + +#[test] +fn send_ksms_from_asset_hub_kusama_to_asset_hub_polkadot() { + let ksm_at_asset_hub_kusama: MultiLocation = Parent.into(); + let ksm_at_asset_hub_polkadot = + MultiLocation { parents: 2, interior: X1(GlobalConsensus(NetworkId::Kusama)) }; + let owner: AccountId = AssetHubPolkadot::account_id_of(ALICE); + AssetHubPolkadot::force_create_foreign_asset( + ksm_at_asset_hub_polkadot, + owner, + true, + ASSET_MIN_BALANCE, + vec![], + ); + let sov_ahp_on_ahk = AssetHubKusama::sovereign_account_of_parachain_on_other_global_consensus( + NetworkId::Polkadot, + AssetHubPolkadot::para_id(), + ); + + let ksms_in_reserve_on_ahk_before = + ::account_data_of(sov_ahp_on_ahk.clone()).free; + let sender_ksms_before = + ::account_data_of(AssetHubKusamaSender::get()).free; + let receiver_ksms_before = AssetHubPolkadot::execute_with(|| { + type Assets = ::ForeignAssets; + >::balance(ksm_at_asset_hub_polkadot, &AssetHubPolkadotReceiver::get()) + }); + + let amount = ASSET_HUB_KUSAMA_ED * 1_000; + send_asset_from_asset_hub_kusama_to_asset_hub_polkadot(ksm_at_asset_hub_kusama, amount); + AssetHubPolkadot::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + assert_expected_events!( + AssetHubPolkadot, + vec![ + // issue KSMs on AHP + RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + asset_id: *asset_id == ksm_at_asset_hub_kusama, + owner: *owner == AssetHubPolkadotReceiver::get(), + }, + // message processed successfully + RuntimeEvent::MessageQueue( + pallet_message_queue::Event::Processed { success: true, .. } + ) => {}, + ] + ); + }); + + let sender_ksms_after = + ::account_data_of(AssetHubKusamaSender::get()).free; + let receiver_ksms_after = AssetHubPolkadot::execute_with(|| { + type Assets = ::ForeignAssets; + >::balance(ksm_at_asset_hub_polkadot, &AssetHubPolkadotReceiver::get()) + }); + let ksms_in_reserve_on_ahk_after = + ::account_data_of(sov_ahp_on_ahk.clone()).free; + + // Sender's balance is reduced + assert!(sender_ksms_before > sender_ksms_after); + // Receiver's balance is increased + assert!(receiver_ksms_after > receiver_ksms_before); + // Reserve balance is reduced by sent amount + assert_eq!(ksms_in_reserve_on_ahk_after, ksms_in_reserve_on_ahk_before + amount); +} + +#[test] +fn send_dots_from_asset_hub_kusama_to_asset_hub_polkadot() { + let prefund_amount = 10_000_000_000_000u128; + let dot_at_asset_hub_kusama = + MultiLocation { parents: 2, interior: X1(GlobalConsensus(NetworkId::Polkadot)) }; + let owner: AccountId = AssetHubPolkadot::account_id_of(ALICE); + AssetHubKusama::force_create_foreign_asset( + dot_at_asset_hub_kusama, + owner, + true, + ASSET_MIN_BALANCE, + vec![(AssetHubKusamaSender::get(), prefund_amount)], + ); + + // fund the AHK's SA on AHP with the DOT tokens held in reserve + let sov_ahk_on_ahp = AssetHubPolkadot::sovereign_account_of_parachain_on_other_global_consensus( + NetworkId::Kusama, + AssetHubKusama::para_id(), + ); + AssetHubPolkadot::fund_accounts(vec![(sov_ahk_on_ahp.clone(), prefund_amount)]); + + let dots_in_reserve_on_ahp_before = + ::account_data_of(sov_ahk_on_ahp.clone()).free; + assert_eq!(dots_in_reserve_on_ahp_before, prefund_amount); + let sender_dots_before = AssetHubKusama::execute_with(|| { + type Assets = ::ForeignAssets; + >::balance(dot_at_asset_hub_kusama, &AssetHubKusamaSender::get()) + }); + assert_eq!(sender_dots_before, prefund_amount); + let receiver_dots_before = + ::account_data_of(AssetHubPolkadotReceiver::get()).free; + + let amount_to_send = ASSET_HUB_POLKADOT_ED * 1_000; + send_asset_from_asset_hub_kusama_to_asset_hub_polkadot(dot_at_asset_hub_kusama, amount_to_send); + AssetHubPolkadot::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + assert_expected_events!( + AssetHubPolkadot, + vec![ + // DOT is withdrawn from AHK's SA on AHP + RuntimeEvent::Balances( + pallet_balances::Event::Burned { who, amount } + ) => { + who: *who == sov_ahk_on_ahp, + amount: *amount == amount_to_send, + }, + // DOTs deposited to beneficiary + RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + who: *who == AssetHubPolkadotReceiver::get(), + }, + // message processed successfully + RuntimeEvent::MessageQueue( + pallet_message_queue::Event::Processed { success: true, .. } + ) => {}, + ] + ); + }); + + let sender_dots_after = AssetHubKusama::execute_with(|| { + type Assets = ::ForeignAssets; + >::balance(dot_at_asset_hub_kusama, &AssetHubKusamaSender::get()) + }); + let receiver_dots_after = + ::account_data_of(AssetHubPolkadotReceiver::get()).free; + let dots_in_reserve_on_ahp_after = + ::account_data_of(sov_ahk_on_ahp).free; + + // Sender's balance is reduced + assert!(sender_dots_before > sender_dots_after); + // Receiver's balance is increased + assert!(receiver_dots_after > receiver_dots_before); + // Reserve balance is reduced by sent amount + assert_eq!(dots_in_reserve_on_ahp_after, dots_in_reserve_on_ahp_before - amount_to_send); +} diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/mod.rs b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/mod.rs new file mode 100644 index 0000000000..3e3f63297c --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/mod.rs @@ -0,0 +1,114 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::*; + +mod asset_transfers; +mod send_xcm; +mod teleport; + +pub(crate) fn asset_hub_polkadot_location() -> MultiLocation { + MultiLocation { + parents: 2, + interior: X2( + GlobalConsensus(NetworkId::Polkadot), + Parachain(AssetHubPolkadot::para_id().into()), + ), + } +} + +pub(crate) fn bridge_hub_polkadot_location() -> MultiLocation { + MultiLocation { + parents: 2, + interior: X2( + GlobalConsensus(NetworkId::Polkadot), + Parachain(BridgeHubPolkadot::para_id().into()), + ), + } +} + +pub(crate) fn send_asset_from_asset_hub_kusama( + destination: MultiLocation, + (id, amount): (MultiLocation, u128), +) -> DispatchResult { + let signed_origin = + ::RuntimeOrigin::signed(AssetHubKusamaSender::get().into()); + + let beneficiary: MultiLocation = + AccountId32Junction { network: None, id: AssetHubPolkadotReceiver::get().into() }.into(); + + let assets: MultiAssets = (id, amount).into(); + let fee_asset_item = 0; + + AssetHubKusama::execute_with(|| { + ::PolkadotXcm::limited_reserve_transfer_assets( + signed_origin, + bx!(destination.into()), + bx!(beneficiary.into()), + bx!(assets.into()), + fee_asset_item, + WeightLimit::Unlimited, + ) + }) +} + +pub(crate) fn assert_bridge_hub_kusama_message_accepted(expected_processed: bool) { + BridgeHubKusama::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + + if expected_processed { + assert_expected_events!( + BridgeHubKusama, + vec![ + // pay for bridge fees + RuntimeEvent::Balances(pallet_balances::Event::Burned { .. }) => {}, + // message exported + RuntimeEvent::BridgePolkadotMessages( + pallet_bridge_messages::Event::MessageAccepted { .. } + ) => {}, + // message processed successfully + RuntimeEvent::MessageQueue( + pallet_message_queue::Event::Processed { success: true, .. } + ) => {}, + ] + ); + } else { + assert_expected_events!( + BridgeHubKusama, + vec![ + RuntimeEvent::MessageQueue(pallet_message_queue::Event::Processed { + success: false, + .. + }) => {}, + ] + ); + } + }); +} + +pub(crate) fn assert_bridge_hub_polkadot_message_received() { + BridgeHubPolkadot::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + assert_expected_events!( + BridgeHubPolkadot, + vec![ + // message sent to destination + RuntimeEvent::XcmpQueue( + cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { .. } + ) => {}, + ] + ); + }) +} diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/send_xcm.rs b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/send_xcm.rs new file mode 100644 index 0000000000..e1c64ef580 --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/send_xcm.rs @@ -0,0 +1,177 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::tests::*; + +#[test] +fn send_xcm_from_kusama_relay_to_polkadot_asset_hub_should_fail_on_not_applicable() { + // Init tests variables + // XcmPallet send arguments + let sudo_origin = ::RuntimeOrigin::root(); + let destination = Kusama::child_location_of(BridgeHubKusama::para_id()).into(); + let weight_limit = WeightLimit::Unlimited; + let check_origin = None; + + let remote_xcm = Xcm(vec![ClearOrigin]); + + let xcm = VersionedXcm::from(Xcm(vec![ + UnpaidExecution { weight_limit, check_origin }, + ExportMessage { + network: PolkadotId, + destination: X1(Parachain(AssetHubPolkadot::para_id().into())), + xcm: remote_xcm, + }, + ])); + + // Kusama Global Consensus + // Send XCM message from Relay Chain to Bridge Hub source Parachain + Kusama::execute_with(|| { + assert_ok!(::XcmPallet::send( + sudo_origin, + bx!(destination), + bx!(xcm), + )); + + type RuntimeEvent = ::RuntimeEvent; + + assert_expected_events!( + Kusama, + vec![ + RuntimeEvent::XcmPallet(pallet_xcm::Event::Sent { .. }) => {}, + ] + ); + }); + // Receive XCM message in Bridge Hub source Parachain, it should fail, because we don't have + // opened bridge/lane. + assert_bridge_hub_kusama_message_accepted(false); +} + +#[test] +fn send_xcm_through_opened_lane_with_different_xcm_version_on_hops_works() { + // Initially set only default version on all runtimes + AssetHubKusama::force_default_xcm_version(Some(xcm::v2::prelude::XCM_VERSION)); + BridgeHubKusama::force_default_xcm_version(Some(xcm::v2::prelude::XCM_VERSION)); + BridgeHubPolkadot::force_default_xcm_version(Some(xcm::v2::prelude::XCM_VERSION)); + AssetHubPolkadot::force_default_xcm_version(Some(xcm::v2::prelude::XCM_VERSION)); + + // prepare data + let destination = asset_hub_polkadot_location(); + let native_token = MultiLocation::parent(); + let amount = ASSET_HUB_KUSAMA_ED * 1_000; + + // fund the AHK's SA on BHK for paying bridge transport fees + BridgeHubKusama::fund_para_sovereign(AssetHubKusama::para_id(), 10_000_000_000_000u128); + // fund sender + AssetHubKusama::fund_accounts(vec![(AssetHubKusamaSender::get().into(), amount * 10)]); + + // send XCM from AssetHubKusama - fails - destination version not known + assert_err!( + send_asset_from_asset_hub_kusama(destination, (native_token, amount)), + DispatchError::Module(sp_runtime::ModuleError { + index: 31, + error: [1, 0, 0, 0], + message: Some("SendFailure") + }) + ); + + // set destination version + AssetHubKusama::force_xcm_version(destination, xcm::v3::prelude::XCM_VERSION); + + // TODO: remove this block, when removing `xcm:v2` + { + // send XCM from AssetHubKusama - fails - AssetHubKusama is set to the default/safe `2` + // version, which does not have the `ExportMessage` instruction. If the default `2` is + // changed to `3`, then this assert can go away" + assert_err!( + send_asset_from_asset_hub_kusama(destination, (native_token, amount)), + DispatchError::Module(sp_runtime::ModuleError { + index: 31, + error: [1, 0, 0, 0], + message: Some("SendFailure") + }) + ); + + // set exact version for BridgeHubPolkadot to `2` without `ExportMessage` instruction + AssetHubKusama::force_xcm_version( + ParentThen(Parachain(BridgeHubKusama::para_id().into()).into()).into(), + xcm::v2::prelude::XCM_VERSION, + ); + // send XCM from AssetHubKusama - fails - `ExportMessage` is not in `2` + assert_err!( + send_asset_from_asset_hub_kusama(destination, (native_token, amount)), + DispatchError::Module(sp_runtime::ModuleError { + index: 31, + error: [1, 0, 0, 0], + message: Some("SendFailure") + }) + ); + } + + // set version with `ExportMessage` for BridgeHubKusama + AssetHubKusama::force_xcm_version( + ParentThen(Parachain(BridgeHubKusama::para_id().into()).into()).into(), + xcm::v3::prelude::XCM_VERSION, + ); + // send XCM from AssetHubKusama - ok + assert_ok!(send_asset_from_asset_hub_kusama(destination, (native_token, amount))); + + // `ExportMessage` on local BridgeHub - fails - remote BridgeHub version not known + assert_bridge_hub_kusama_message_accepted(false); + + // set version for remote BridgeHub on BridgeHubKusama + BridgeHubKusama::force_xcm_version( + bridge_hub_polkadot_location(), + xcm::v3::prelude::XCM_VERSION, + ); + // set version for AssetHubPolkadot on BridgeHubPolkadot + BridgeHubPolkadot::force_xcm_version( + ParentThen(Parachain(AssetHubPolkadot::para_id().into()).into()).into(), + xcm::v3::prelude::XCM_VERSION, + ); + + // send XCM from AssetHubKusama - ok + assert_ok!(send_asset_from_asset_hub_kusama(destination, (native_token, amount))); + assert_bridge_hub_kusama_message_accepted(true); + assert_bridge_hub_polkadot_message_received(); + // message delivered and processed at destination + AssetHubPolkadot::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + assert_expected_events!( + AssetHubPolkadot, + vec![ + // message processed with failure, but for this scenario it is ok, important is that was delivered + RuntimeEvent::MessageQueue( + pallet_message_queue::Event::Processed { success: false, .. } + ) => {}, + ] + ); + }); + + // TODO: remove this block, when removing `xcm:v2` + { + // set `2` version for remote BridgeHub on BridgeHubKusama, which does not have + // `UniversalOrigin` and `DescendOrigin` + BridgeHubKusama::force_xcm_version( + bridge_hub_polkadot_location(), + xcm::v2::prelude::XCM_VERSION, + ); + + // send XCM from AssetHubKusama - ok + assert_ok!(send_asset_from_asset_hub_kusama(destination, (native_token, amount))); + // message is not accepted on the local BridgeHub (`DestinationUnsupported`) because we + // cannot add `UniversalOrigin` and `DescendOrigin` + assert_bridge_hub_kusama_message_accepted(false); + } +} diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/teleport.rs b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/teleport.rs new file mode 100644 index 0000000000..eac53a7ed2 --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/teleport.rs @@ -0,0 +1,30 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::*; +use bridge_hub_kusama_runtime::xcm_config::XcmConfig; + +#[test] +fn teleport_to_other_system_parachains_works() { + let amount = BRIDGE_HUB_KUSAMA_ED * 100; + let native_asset: MultiAssets = (Parent, amount).into(); + + test_parachain_is_trusted_teleporter!( + BridgeHubKusama, // Origin + XcmConfig, // XCM configuration + vec![AssetHubKusama], // Destinations + (native_asset, amount) + ); +} diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/Cargo.toml b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/Cargo.toml new file mode 100644 index 0000000000..5ed8b6ec43 --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/Cargo.toml @@ -0,0 +1,37 @@ +[package] +name = "bridge-hub-polkadot-integration-tests" +version = "0.1.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +description = "Bridge Hub Polkadot runtime integration tests with xcm-emulator" +publish = false + +[dependencies] +codec = { package = "parity-scale-codec", version = "3.4.0" } + +# Substrate +sp-runtime = { version = "31.0.1" } +frame-support = { version = "28.0.0" } +pallet-balances = { version = "28.0.0" } +pallet-assets = { version = "29.0.0" } +pallet-message-queue = { version = "31.0.0" } + +# Polkadot +xcm = { package = "staging-xcm", version = "7.0.0" } +pallet-xcm = { version = "7.0.0" } +xcm-executor = { package = "staging-xcm-executor", version = "7.0.0" } + +# Cumulus +emulated-integration-tests-common = { version = "3.0.0" } +parachains-common = { version = "7.0.0" } +cumulus-pallet-xcmp-queue = { version = "0.7.0" } + +# Bridges +bp-messages = { version = "0.7.0" } +pallet-bridge-messages = { version = "0.7.0" } + +# Runtimes +bridge-hub-polkadot-runtime = { path = "../../../../../system-parachains/bridge-hubs/bridge-hub-polkadot" } +integration-tests-helpers = { path = "../../../helpers" } +kusama-polkadot-system-emulated-network = { path = "../../../networks/kusama-polkadot-system" } diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/lib.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/lib.rs new file mode 100644 index 0000000000..2919efed42 --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/lib.rs @@ -0,0 +1,71 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Substrate +pub use frame_support::{assert_err, assert_ok, pallet_prelude::DispatchResult}; +pub use sp_runtime::DispatchError; + +// Polkadot +pub use xcm::{ + latest::ParentThen, + prelude::{AccountId32 as AccountId32Junction, *}, + v3::{ + Error, + NetworkId::{Kusama as KusamaId, Polkadot as PolkadotId}, + }, +}; + +// Bridges +pub use bp_messages::LaneId; + +// Cumulus +pub use emulated_integration_tests_common::{ + accounts::ALICE, + impls::Inspect, + xcm_emulator::{ + assert_expected_events, bx, helpers::weight_within_threshold, Chain, Parachain as Para, + RelayChain as Relay, Test, TestArgs, TestContext, TestExt, + }, + xcm_helpers::{xcm_transact_paid_execution, xcm_transact_unpaid_execution}, + PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, XCM_V3, +}; +pub use integration_tests_helpers::test_parachain_is_trusted_teleporter; +pub use kusama_polkadot_system_emulated_network::{ + asset_hub_kusama_emulated_chain::{ + genesis::ED as ASSET_HUB_KUSAMA_ED, AssetHubKusamaParaPallet as AssetHubKusamaPallet, + }, + asset_hub_polkadot_emulated_chain::{ + genesis::ED as ASSET_HUB_POLKADOT_ED, AssetHubPolkadotParaPallet as AssetHubPolkadotPallet, + }, + bridge_hub_polkadot_emulated_chain::{ + genesis::ED as BRIDGE_HUB_POLKADOT_ED, + BridgeHubPolkadotParaPallet as BridgeHubPolkadotPallet, + }, + polkadot_emulated_chain::PolkadotRelayPallet as PolkadotPallet, + AssetHubKusamaPara as AssetHubKusama, AssetHubKusamaParaReceiver as AssetHubKusamaReceiver, + AssetHubPolkadotPara as AssetHubPolkadot, + AssetHubPolkadotParaReceiver as AssetHubPolkadotReceiver, + AssetHubPolkadotParaSender as AssetHubPolkadotSender, BridgeHubKusamaPara as BridgeHubKusama, + BridgeHubPolkadotPara as BridgeHubPolkadot, + BridgeHubPolkadotParaSender as BridgeHubPolkadotSender, PolkadotRelay as Polkadot, +}; +pub use parachains_common::{AccountId, Balance}; + +pub const ASSET_ID: u32 = 1; +pub const ASSET_MIN_BALANCE: u128 = 1000; +pub const ASSETS_PALLET_ID: u8 = 50; + +#[cfg(test)] +mod tests; diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/asset_transfers.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/asset_transfers.rs new file mode 100644 index 0000000000..8c653c0900 --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/asset_transfers.rs @@ -0,0 +1,173 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +use crate::tests::*; + +fn send_asset_from_asset_hub_polkadot_to_asset_hub_kusama(id: MultiLocation, amount: u128) { + let destination = asset_hub_kusama_location(); + + // fund the AHP's SA on BHP for paying bridge transport fees + BridgeHubPolkadot::fund_para_sovereign(AssetHubPolkadot::para_id(), 10_000_000_000_000u128); + + // set XCM versions + AssetHubPolkadot::force_xcm_version(destination, XCM_VERSION); + BridgeHubPolkadot::force_xcm_version(bridge_hub_kusama_location(), XCM_VERSION); + + // send message over bridge + assert_ok!(send_asset_from_asset_hub_polkadot(destination, (id, amount))); + assert_bridge_hub_polkadot_message_accepted(true); + assert_bridge_hub_kusama_message_received(); +} + +#[test] +fn send_dots_from_asset_hub_polkadot_to_asset_hub_kusama() { + let dot_at_asset_hub_polkadot: MultiLocation = Parent.into(); + let dot_at_asset_hub_kusama = + MultiLocation { parents: 2, interior: X1(GlobalConsensus(NetworkId::Polkadot)) }; + let owner: AccountId = AssetHubKusama::account_id_of(ALICE); + AssetHubKusama::force_create_foreign_asset( + dot_at_asset_hub_kusama, + owner, + true, + ASSET_MIN_BALANCE, + vec![], + ); + let sov_ahk_on_ahp = AssetHubPolkadot::sovereign_account_of_parachain_on_other_global_consensus( + NetworkId::Kusama, + AssetHubKusama::para_id(), + ); + + let dots_in_reserve_on_ahp_before = + ::account_data_of(sov_ahk_on_ahp.clone()).free; + let sender_dots_before = + ::account_data_of(AssetHubPolkadotSender::get()).free; + let receiver_dots_before = AssetHubKusama::execute_with(|| { + type Assets = ::ForeignAssets; + >::balance(dot_at_asset_hub_kusama, &AssetHubKusamaReceiver::get()) + }); + + let amount = ASSET_HUB_POLKADOT_ED * 1_000; + send_asset_from_asset_hub_polkadot_to_asset_hub_kusama(dot_at_asset_hub_polkadot, amount); + AssetHubKusama::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + assert_expected_events!( + AssetHubKusama, + vec![ + // issue DOTs on AHK + RuntimeEvent::ForeignAssets(pallet_assets::Event::Issued { asset_id, owner, .. }) => { + asset_id: *asset_id == dot_at_asset_hub_kusama, + owner: *owner == AssetHubKusamaReceiver::get(), + }, + // message processed successfully + RuntimeEvent::MessageQueue( + pallet_message_queue::Event::Processed { success: true, .. } + ) => {}, + ] + ); + }); + + let sender_dots_after = + ::account_data_of(AssetHubPolkadotSender::get()).free; + let receiver_dots_after = AssetHubKusama::execute_with(|| { + type Assets = ::ForeignAssets; + >::balance(dot_at_asset_hub_kusama, &AssetHubKusamaReceiver::get()) + }); + let dots_in_reserve_on_ahp_after = + ::account_data_of(sov_ahk_on_ahp).free; + + // Sender's balance is reduced + assert!(sender_dots_before > sender_dots_after); + // Receiver's balance is increased + assert!(receiver_dots_after > receiver_dots_before); + // Reserve balance is increased by sent amount + assert_eq!(dots_in_reserve_on_ahp_after, dots_in_reserve_on_ahp_before + amount); +} + +#[test] +fn send_ksms_from_asset_hub_polkadot_to_asset_hub_kusama() { + let prefund_amount = 10_000_000_000_000u128; + let ksm_at_asset_hub_polkadot = + MultiLocation { parents: 2, interior: X1(GlobalConsensus(NetworkId::Kusama)) }; + let owner: AccountId = AssetHubPolkadot::account_id_of(ALICE); + AssetHubPolkadot::force_create_foreign_asset( + ksm_at_asset_hub_polkadot, + owner, + true, + ASSET_MIN_BALANCE, + vec![(AssetHubPolkadotSender::get(), prefund_amount)], + ); + + // fund the AHP's SA on AHK with the KSM tokens held in reserve + let sov_ahp_on_ahk = AssetHubKusama::sovereign_account_of_parachain_on_other_global_consensus( + NetworkId::Polkadot, + AssetHubPolkadot::para_id(), + ); + AssetHubKusama::fund_accounts(vec![(sov_ahp_on_ahk.clone(), prefund_amount)]); + + let ksms_in_reserve_on_ahk_before = + ::account_data_of(sov_ahp_on_ahk.clone()).free; + assert_eq!(ksms_in_reserve_on_ahk_before, prefund_amount); + let sender_ksms_before = AssetHubPolkadot::execute_with(|| { + type Assets = ::ForeignAssets; + >::balance(ksm_at_asset_hub_polkadot, &AssetHubPolkadotSender::get()) + }); + assert_eq!(sender_ksms_before, prefund_amount); + let receiver_ksms_before = + ::account_data_of(AssetHubKusamaReceiver::get()).free; + + let amount_to_send = ASSET_HUB_KUSAMA_ED * 1_000; + send_asset_from_asset_hub_polkadot_to_asset_hub_kusama( + ksm_at_asset_hub_polkadot, + amount_to_send, + ); + AssetHubKusama::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + assert_expected_events!( + AssetHubKusama, + vec![ + // KSM is withdrawn from AHP's SA on AHK + RuntimeEvent::Balances( + pallet_balances::Event::Burned { who, amount } + ) => { + who: *who == sov_ahp_on_ahk, + amount: *amount == amount_to_send, + }, + // KSMs deposited to beneficiary + RuntimeEvent::Balances(pallet_balances::Event::Minted { who, .. }) => { + who: *who == AssetHubKusamaReceiver::get(), + }, + // message processed successfully + RuntimeEvent::MessageQueue( + pallet_message_queue::Event::Processed { success: true, .. } + ) => {}, + ] + ); + }); + + let sender_ksms_after = AssetHubPolkadot::execute_with(|| { + type Assets = ::ForeignAssets; + >::balance(ksm_at_asset_hub_polkadot, &AssetHubPolkadotSender::get()) + }); + let receiver_ksms_after = + ::account_data_of(AssetHubKusamaReceiver::get()).free; + let ksms_in_reserve_on_ahk_after = + ::account_data_of(sov_ahp_on_ahk.clone()).free; + + // Sender's balance is reduced + assert!(sender_ksms_before > sender_ksms_after); + // Receiver's balance is increased + assert!(receiver_ksms_after > receiver_ksms_before); + // Reserve balance is reduced by sent amount + assert_eq!(ksms_in_reserve_on_ahk_after, ksms_in_reserve_on_ahk_before - amount_to_send); +} diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/mod.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/mod.rs new file mode 100644 index 0000000000..e53c1ff66a --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/mod.rs @@ -0,0 +1,114 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::*; + +mod asset_transfers; +mod send_xcm; +mod teleport; + +pub(crate) fn asset_hub_kusama_location() -> MultiLocation { + MultiLocation { + parents: 2, + interior: X2( + GlobalConsensus(NetworkId::Kusama), + Parachain(AssetHubKusama::para_id().into()), + ), + } +} + +pub(crate) fn bridge_hub_kusama_location() -> MultiLocation { + MultiLocation { + parents: 2, + interior: X2( + GlobalConsensus(NetworkId::Kusama), + Parachain(BridgeHubKusama::para_id().into()), + ), + } +} + +pub(crate) fn send_asset_from_asset_hub_polkadot( + destination: MultiLocation, + (id, amount): (MultiLocation, u128), +) -> DispatchResult { + let signed_origin = + ::RuntimeOrigin::signed(AssetHubPolkadotSender::get().into()); + + let beneficiary: MultiLocation = + AccountId32Junction { network: None, id: AssetHubKusamaReceiver::get().into() }.into(); + + let assets: MultiAssets = (id, amount).into(); + let fee_asset_item = 0; + + AssetHubPolkadot::execute_with(|| { + ::PolkadotXcm::limited_reserve_transfer_assets( + signed_origin, + bx!(destination.into()), + bx!(beneficiary.into()), + bx!(assets.into()), + fee_asset_item, + WeightLimit::Unlimited, + ) + }) +} + +pub(crate) fn assert_bridge_hub_polkadot_message_accepted(expected_processed: bool) { + BridgeHubPolkadot::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + + if expected_processed { + assert_expected_events!( + BridgeHubPolkadot, + vec![ + // pay for bridge fees + RuntimeEvent::Balances(pallet_balances::Event::Burned { .. }) => {}, + // message exported + RuntimeEvent::BridgeKusamaMessages( + pallet_bridge_messages::Event::MessageAccepted { .. } + ) => {}, + // message processed successfully + RuntimeEvent::MessageQueue( + pallet_message_queue::Event::Processed { success: true, .. } + ) => {}, + ] + ); + } else { + assert_expected_events!( + BridgeHubPolkadot, + vec![ + RuntimeEvent::MessageQueue(pallet_message_queue::Event::Processed { + success: false, + .. + }) => {}, + ] + ); + } + }); +} + +pub(crate) fn assert_bridge_hub_kusama_message_received() { + BridgeHubKusama::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + assert_expected_events!( + BridgeHubKusama, + vec![ + // message sent to destination + RuntimeEvent::XcmpQueue( + cumulus_pallet_xcmp_queue::Event::XcmpMessageSent { .. } + ) => {}, + ] + ); + }) +} diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/send_xcm.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/send_xcm.rs new file mode 100644 index 0000000000..ef30c0b758 --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/send_xcm.rs @@ -0,0 +1,177 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::tests::*; + +#[test] +fn send_xcm_from_polkadot_relay_to_kusama_asset_hub_should_fail_on_not_applicable() { + // Init tests variables + // XcmPallet send arguments + let sudo_origin = ::RuntimeOrigin::root(); + let destination = Polkadot::child_location_of(BridgeHubPolkadot::para_id()).into(); + let weight_limit = WeightLimit::Unlimited; + let check_origin = None; + + let remote_xcm = Xcm(vec![ClearOrigin]); + + let xcm = VersionedXcm::from(Xcm(vec![ + UnpaidExecution { weight_limit, check_origin }, + ExportMessage { + network: KusamaId, + destination: X1(Parachain(AssetHubKusama::para_id().into())), + xcm: remote_xcm, + }, + ])); + + // Polkadot Global Consensus + // Send XCM message from Relay Chain to Bridge Hub source Parachain + Polkadot::execute_with(|| { + assert_ok!(::XcmPallet::send( + sudo_origin, + bx!(destination), + bx!(xcm), + )); + + type RuntimeEvent = ::RuntimeEvent; + + assert_expected_events!( + Polkadot, + vec![ + RuntimeEvent::XcmPallet(pallet_xcm::Event::Sent { .. }) => {}, + ] + ); + }); + // Receive XCM message in Bridge Hub source Parachain, it should fail, because we don't have + // opened bridge/lane. + assert_bridge_hub_polkadot_message_accepted(false); +} + +#[test] +fn send_xcm_through_opened_lane_with_different_xcm_version_on_hops_works() { + // Initially set only default version on all runtimes + AssetHubKusama::force_default_xcm_version(Some(xcm::v2::prelude::XCM_VERSION)); + BridgeHubKusama::force_default_xcm_version(Some(xcm::v2::prelude::XCM_VERSION)); + BridgeHubPolkadot::force_default_xcm_version(Some(xcm::v2::prelude::XCM_VERSION)); + AssetHubPolkadot::force_default_xcm_version(Some(xcm::v2::prelude::XCM_VERSION)); + + // prepare data + let destination = asset_hub_kusama_location(); + let native_token = MultiLocation::parent(); + let amount = ASSET_HUB_POLKADOT_ED * 1_000; + + // fund the AHK's SA on BHK for paying bridge transport fees + BridgeHubPolkadot::fund_para_sovereign(AssetHubPolkadot::para_id(), 10_000_000_000_000u128); + // fund sender + AssetHubPolkadot::fund_accounts(vec![(AssetHubPolkadotSender::get().into(), amount * 10)]); + + // send XCM from AssetHubPolkadot - fails - destination version not known + assert_err!( + send_asset_from_asset_hub_polkadot(destination, (native_token, amount)), + DispatchError::Module(sp_runtime::ModuleError { + index: 31, + error: [1, 0, 0, 0], + message: Some("SendFailure") + }) + ); + + // set destination version + AssetHubPolkadot::force_xcm_version(destination, xcm::v3::prelude::XCM_VERSION); + + // TODO: remove this block, when removing `xcm:v2` + { + // send XCM from AssetHubKusama - fails - AssetHubKusama is set to the default/safe `2` + // version, which does not have the `ExportMessage` instruction. If the default `2` is + // changed to `3`, then this assert can go away" + assert_err!( + send_asset_from_asset_hub_polkadot(destination, (native_token, amount)), + DispatchError::Module(sp_runtime::ModuleError { + index: 31, + error: [1, 0, 0, 0], + message: Some("SendFailure") + }) + ); + + // set exact version for BridgeHubPolkadot to `2` without `ExportMessage` instruction + AssetHubPolkadot::force_xcm_version( + ParentThen(Parachain(BridgeHubPolkadot::para_id().into()).into()).into(), + xcm::v2::prelude::XCM_VERSION, + ); + // send XCM from AssetHubPolkadot - fails - `ExportMessage` is not in `2` + assert_err!( + send_asset_from_asset_hub_polkadot(destination, (native_token, amount)), + DispatchError::Module(sp_runtime::ModuleError { + index: 31, + error: [1, 0, 0, 0], + message: Some("SendFailure") + }) + ); + } + + // set version with `ExportMessage` for BridgeHubPolkadot + AssetHubPolkadot::force_xcm_version( + ParentThen(Parachain(BridgeHubPolkadot::para_id().into()).into()).into(), + xcm::v3::prelude::XCM_VERSION, + ); + // send XCM from AssetHubPolkadot - ok + assert_ok!(send_asset_from_asset_hub_polkadot(destination, (native_token, amount))); + + // `ExportMessage` on local BridgeHub - fails - remote BridgeHub version not known + assert_bridge_hub_polkadot_message_accepted(false); + + // set version for remote BridgeHub on BridgeHubPolkadot + BridgeHubPolkadot::force_xcm_version( + bridge_hub_kusama_location(), + xcm::v3::prelude::XCM_VERSION, + ); + // set version for AssetHubKusama on BridgeHubKusama + BridgeHubKusama::force_xcm_version( + ParentThen(Parachain(AssetHubKusama::para_id().into()).into()).into(), + xcm::v3::prelude::XCM_VERSION, + ); + + // send XCM from AssetHubPolkadot - ok + assert_ok!(send_asset_from_asset_hub_polkadot(destination, (native_token, amount))); + assert_bridge_hub_polkadot_message_accepted(true); + assert_bridge_hub_kusama_message_received(); + // message delivered and processed at destination + AssetHubKusama::execute_with(|| { + type RuntimeEvent = ::RuntimeEvent; + assert_expected_events!( + AssetHubKusama, + vec![ + // message processed with failure, but for this scenario it is ok, important is that was delivered + RuntimeEvent::MessageQueue( + pallet_message_queue::Event::Processed { success: false, .. } + ) => {}, + ] + ); + }); + + // TODO: remove this block, when removing `xcm:v2` + { + // set `2` version for remote BridgeHub on BridgeHubKusama, which does not have + // `UniversalOrigin` and `DescendOrigin` + BridgeHubPolkadot::force_xcm_version( + bridge_hub_kusama_location(), + xcm::v2::prelude::XCM_VERSION, + ); + + // send XCM from AssetHubPolkadot - ok + assert_ok!(send_asset_from_asset_hub_polkadot(destination, (native_token, amount))); + // message is not accepted on the local BridgeHub (`DestinationUnsupported`) because we + // cannot add `UniversalOrigin` and `DescendOrigin` + assert_bridge_hub_polkadot_message_accepted(false); + } +} diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/teleport.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/teleport.rs new file mode 100644 index 0000000000..eb915c3110 --- /dev/null +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/teleport.rs @@ -0,0 +1,30 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use crate::*; +use bridge_hub_polkadot_runtime::xcm_config::XcmConfig; + +#[test] +fn teleport_to_other_system_parachains_works() { + let amount = BRIDGE_HUB_POLKADOT_ED * 100; + let native_asset: MultiAssets = (Parent, amount).into(); + + test_parachain_is_trusted_teleporter!( + BridgeHubPolkadot, // Origin + XcmConfig, // XCM configuration + vec![AssetHubPolkadot], // Destinations + (native_asset, amount) + ); +} From 598ae51253358c5ce65d0eb56bd2a8dbb26d79a8 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 26 Feb 2024 15:11:30 +0100 Subject: [PATCH 15/17] fmt --- .../emulated/tests/assets/asset-hub-kusama/src/tests/swap.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/swap.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/swap.rs index 63e2b624ad..d9f885e5f6 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/swap.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/swap.rs @@ -102,7 +102,8 @@ fn swap_locally_on_chain_using_local_assets() { ::RuntimeOrigin::signed(AssetHubKusamaSender::get()), Box::new(asset_native), Box::new(asset_one), - 1414213562273 - SYSTEM_PARA_EXISTENTIAL_DEPOSIT * 2, // all but the 2 EDs can't be retrieved. + 1414213562273 - SYSTEM_PARA_EXISTENTIAL_DEPOSIT * 2, /* all but the 2 EDs can't be + * retrieved. */ 0, 0, AssetHubKusamaSender::get().into(), From 06cd27b1bfc172b15ec96c36f3e4b611acac4c03 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 26 Feb 2024 15:21:45 +0100 Subject: [PATCH 16/17] Version nits --- integration-tests/emulated/helpers/Cargo.toml | 2 +- .../emulated/tests/assets/asset-hub-kusama/Cargo.toml | 4 ++-- .../emulated/tests/assets/asset-hub-polkadot/Cargo.toml | 4 ++-- .../emulated/tests/bridges/bridge-hub-kusama/Cargo.toml | 2 +- .../emulated/tests/bridges/bridge-hub-polkadot/Cargo.toml | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/integration-tests/emulated/helpers/Cargo.toml b/integration-tests/emulated/helpers/Cargo.toml index 600ae8da65..8c30a59c32 100644 --- a/integration-tests/emulated/helpers/Cargo.toml +++ b/integration-tests/emulated/helpers/Cargo.toml @@ -21,4 +21,4 @@ pallet-xcm = { version = "7.0.0" } # Cumulus xcm-emulator = { version = "0.5.0" } cumulus-pallet-xcmp-queue = { version = "0.7.0" } -asset-test-utils = { version = "7.0.0" } +asset-test-utils = { version = "7.0.1" } diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/Cargo.toml b/integration-tests/emulated/tests/assets/asset-hub-kusama/Cargo.toml index c36fc42b31..72d1866a33 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/Cargo.toml +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/Cargo.toml @@ -22,10 +22,10 @@ pallet-message-queue = { version = "31.0.0" } # Polkadot xcm = { package = "staging-xcm", version = "7.0.0" } pallet-xcm = { version = "7.0.0" } -xcm-executor = { package = "staging-xcm-executor", version = "7.0.0" } +xcm-executor = { package = "staging-xcm-executor", version = "7.0.3" } # Cumulus -asset-test-utils = { version = "7.0.0" } +asset-test-utils = { version = "7.0.1" } emulated-integration-tests-common = { version = "3.0.0" } parachains-common = { version = "7.0.0" } diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/Cargo.toml b/integration-tests/emulated/tests/assets/asset-hub-polkadot/Cargo.toml index a97665d6eb..191501c6e0 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/Cargo.toml +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/Cargo.toml @@ -23,10 +23,10 @@ pallet-message-queue = { version = "31.0.0" } polkadot-runtime-common = { version = "7.0.0" } xcm = { package = "staging-xcm", version = "7.0.0" } pallet-xcm = { version = "7.0.0" } -xcm-executor = { package = "staging-xcm-executor", version = "7.0.0" } +xcm-executor = { package = "staging-xcm-executor", version = "7.0.3" } # Cumulus -asset-test-utils = { version = "7.0.0" } +asset-test-utils = { version = "7.0.1" } emulated-integration-tests-common = { version = "3.0.0" } parachains-common = { version = "7.0.0" } cumulus-pallet-xcmp-queue = { version = "0.7.0" } diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-kusama/Cargo.toml b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/Cargo.toml index dbb8482514..ee4e95c369 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-kusama/Cargo.toml +++ b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/Cargo.toml @@ -23,7 +23,7 @@ pallet-message-queue = { version = "31.0.0" } # Polkadot xcm = { package = "staging-xcm", version = "7.0.0" } pallet-xcm = { version = "7.0.0" } -xcm-executor = { package = "staging-xcm-executor", version = "7.0.0" } +xcm-executor = { package = "staging-xcm-executor", version = "7.0.3" } # Cumulus emulated-integration-tests-common = { version = "3.0.0" } diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/Cargo.toml b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/Cargo.toml index 5ed8b6ec43..98b2fc0fd1 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/Cargo.toml +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/Cargo.toml @@ -20,7 +20,7 @@ pallet-message-queue = { version = "31.0.0" } # Polkadot xcm = { package = "staging-xcm", version = "7.0.0" } pallet-xcm = { version = "7.0.0" } -xcm-executor = { package = "staging-xcm-executor", version = "7.0.0" } +xcm-executor = { package = "staging-xcm-executor", version = "7.0.3" } # Cumulus emulated-integration-tests-common = { version = "3.0.0" } From ee694807706fb7022448510ea51072b00ad46f02 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Mon, 26 Feb 2024 16:11:27 +0100 Subject: [PATCH 17/17] Forgotten new integration tests to the matrix --- .github/workflows/integration-tests-matrix.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/integration-tests-matrix.json b/.github/workflows/integration-tests-matrix.json index f5f50521a5..f16c7f0f3a 100644 --- a/.github/workflows/integration-tests-matrix.json +++ b/.github/workflows/integration-tests-matrix.json @@ -6,5 +6,13 @@ { "name": "asset-hub-polkadot", "package": "asset-hub-polkadot-integration-tests" + }, + { + "name": "bridge-hub-kusama", + "package": "bridge-hub-kusama-integration-tests" + }, + { + "name": "bridge-hub-polkadot", + "package": "bridge-hub-polkadot-integration-tests" } ]