From c944b09a2d2991d14ff6bde77ba657fbf32af1a2 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 17 Mar 2026 21:12:51 +0200 Subject: [PATCH 01/59] disable encointer Signed-off-by: Oliver Tale-Yazdi --- Cargo.toml | 46 +++++++++---------- chain-spec-generator/Cargo.toml | 10 ++-- chain-spec-generator/src/common.rs | 7 +-- chain-spec-generator/src/main.rs | 4 +- .../src/system_parachains_specs.rs | 6 +-- .../networks/kusama-system/Cargo.toml | 4 +- .../networks/kusama-system/src/lib.rs | 10 ++-- 7 files changed, 44 insertions(+), 43 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 8b38e624ec..8cd19243ce 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -67,11 +67,11 @@ cumulus-primitives-aura = { version = "0.22.0", default-features = false } cumulus-primitives-core = { version = "0.24.0", default-features = false } cumulus-primitives-utility = { version = "0.26.0", default-features = false } emulated-integration-tests-common = { version = "29.0.0" } -encointer-balances-tx-payment = { version = "~22.1.0", default-features = false } -encointer-balances-tx-payment-rpc-runtime-api = { version = "~22.1.0", default-features = false } -encointer-kusama-runtime = { path = "system-parachains/encointer" } -encointer-kusama-emulated-chain = { path = "integration-tests/emulated/chains/parachains/encointer/encointer-kusama" } -encointer-primitives = { version = "~22.5.0", default-features = false } +# TODO @ggwpez encointer-balances-tx-payment = { version = "~22.1.0", default-features = false } +# TODO @ggwpez encointer-balances-tx-payment-rpc-runtime-api = { version = "~22.1.0", default-features = false } +# TODO @ggwpez encointer-kusama-runtime = { path = "system-parachains/encointer" } +# TODO @ggwpez encointer-kusama-emulated-chain = { path = "integration-tests/emulated/chains/parachains/encointer/encointer-kusama" } +# TODO @ggwpez encointer-primitives = { version = "~22.5.0", default-features = false } enumflags2 = { version = "0.7.7" } frame-benchmarking = { version = "46.0.0", default-features = false } frame-election-provider-support = { version = "46.0.0", default-features = false } @@ -122,21 +122,21 @@ pallet-dap = { version = "0.3.0", default-features = false } pallet-core-fellowship = { version = "30.0.0", default-features = false } pallet-election-provider-multi-phase = { version = "45.0.0", default-features = false } pallet-election-provider-support-benchmarking = { version = "45.0.0", default-features = false } -pallet-encointer-balances = { version = "~22.2.0", default-features = false } -pallet-encointer-bazaar = { version = "~22.1.0", default-features = false } -pallet-encointer-bazaar-rpc-runtime-api = { version = "~22.1.0", default-features = false } -pallet-encointer-ceremonies = { version = "~22.1.0", default-features = false } -pallet-encointer-ceremonies-rpc-runtime-api = { version = "~22.1.0", default-features = false } -pallet-encointer-communities = { version = "~22.1.0", default-features = false } -pallet-encointer-communities-rpc-runtime-api = { version = "~22.1.0", default-features = false } -pallet-encointer-democracy = { version = "~22.7.0", default-features = false } -pallet-encointer-faucet = { version = "~22.2.0", default-features = false } -pallet-encointer-offline-payment = { version = "~22.0.0", default-features = false } -pallet-encointer-reputation-commitments = { version = "~22.1.1", default-features = false } -pallet-encointer-reputation-rings = { version = "~22.0.0", default-features = false } -pallet-encointer-scheduler = { version = "~22.1.0", default-features = false } -pallet-encointer-treasuries = { version = "~22.7.0", default-features = false } -pallet-encointer-treasuries-rpc-runtime-api = { version = "~22.3.0", default-features = false } +# TODO @ggwpez pallet-encointer-balances = { version = "~22.2.0", default-features = false } +# TODO @ggwpez pallet-encointer-bazaar = { version = "~22.1.0", default-features = false } +# TODO @ggwpez pallet-encointer-bazaar-rpc-runtime-api = { version = "~22.1.0", default-features = false } +# TODO @ggwpez pallet-encointer-ceremonies = { version = "~22.1.0", default-features = false } +# TODO @ggwpez pallet-encointer-ceremonies-rpc-runtime-api = { version = "~22.1.0", default-features = false } +# TODO @ggwpez pallet-encointer-communities = { version = "~22.1.0", default-features = false } +# TODO @ggwpez pallet-encointer-communities-rpc-runtime-api = { version = "~22.1.0", default-features = false } +# TODO @ggwpez pallet-encointer-democracy = { version = "~22.7.0", default-features = false } +# TODO @ggwpez pallet-encointer-faucet = { version = "~22.2.0", default-features = false } +# TODO @ggwpez pallet-encointer-offline-payment = { version = "~22.0.0", default-features = false } +# TODO @ggwpez pallet-encointer-reputation-commitments = { version = "~22.1.1", default-features = false } +# TODO @ggwpez pallet-encointer-reputation-rings = { version = "~22.0.0", default-features = false } +# TODO @ggwpez pallet-encointer-scheduler = { version = "~22.1.0", default-features = false } +# TODO @ggwpez pallet-encointer-treasuries = { version = "~22.7.0", default-features = false } +# TODO @ggwpez pallet-encointer-treasuries-rpc-runtime-api = { version = "~22.3.0", default-features = false } pallet-fast-unstake = { version = "45.0.0", default-features = false } pallet-glutton = { version = "32.0.0", default-features = false } pallet-grandpa = { version = "46.0.0", default-features = false } @@ -299,7 +299,7 @@ members = [ "integration-tests/emulated/chains/parachains/collectives/collectives-polkadot", "integration-tests/emulated/chains/parachains/coretime/coretime-kusama", "integration-tests/emulated/chains/parachains/coretime/coretime-polkadot", - "integration-tests/emulated/chains/parachains/encointer/encointer-kusama", + # TODO @ggwpez "integration-tests/emulated/chains/parachains/encointer/encointer-kusama", "integration-tests/emulated/chains/parachains/people/people-kusama", "integration-tests/emulated/chains/parachains/people/people-polkadot", "integration-tests/emulated/chains/parachains/testing/penpal", @@ -317,7 +317,7 @@ members = [ "integration-tests/emulated/tests/collectives/collectives-polkadot", "integration-tests/emulated/tests/coretime/coretime-kusama", "integration-tests/emulated/tests/coretime/coretime-polkadot", - "integration-tests/emulated/tests/encointer/encointer-kusama", + # TODO @ggwpez "integration-tests/emulated/tests/encointer/encointer-kusama", "integration-tests/emulated/tests/governance/kusama", "integration-tests/emulated/tests/governance/polkadot", "integration-tests/emulated/tests/people/people-kusama", @@ -346,7 +346,7 @@ members = [ "system-parachains/constants", "system-parachains/coretime/coretime-kusama", "system-parachains/coretime/coretime-polkadot", - "system-parachains/encointer", + # TODO @ggwpez "system-parachains/encointer", "system-parachains/gluttons/glutton-kusama", "system-parachains/people/people-kusama", "system-parachains/people/people-polkadot", diff --git a/chain-spec-generator/Cargo.toml b/chain-spec-generator/Cargo.toml index 9aed552e44..d4b773c1ab 100644 --- a/chain-spec-generator/Cargo.toml +++ b/chain-spec-generator/Cargo.toml @@ -23,7 +23,7 @@ bulletin-polkadot-runtime = { workspace = true, optional = true } collectives-polkadot-runtime = { workspace = true, optional = true } bridge-hub-polkadot-runtime = { workspace = true, optional = true } bridge-hub-kusama-runtime = { workspace = true, optional = true } -encointer-kusama-runtime = { workspace = true, optional = true } +# TODO @ggwpez encointer-kusama-runtime = { workspace = true, optional = true } glutton-kusama-runtime = { workspace = true, optional = true } coretime-kusama-runtime = { workspace = true, optional = true } coretime-polkadot-runtime = { workspace = true, optional = true } @@ -42,7 +42,7 @@ runtime-benchmarks = [ "collectives-polkadot-runtime?/runtime-benchmarks", "coretime-kusama-runtime?/runtime-benchmarks", "coretime-polkadot-runtime?/runtime-benchmarks", - "encointer-kusama-runtime?/runtime-benchmarks", + # TODO @ggwpez "encointer-kusama-runtime?/runtime-benchmarks", "glutton-kusama-runtime?/runtime-benchmarks", "kusama-runtime?/runtime-benchmarks", "people-kusama-runtime?/runtime-benchmarks", @@ -59,7 +59,7 @@ on-chain-release-build = [ "collectives-polkadot-runtime?/on-chain-release-build", "coretime-kusama-runtime?/on-chain-release-build", "coretime-polkadot-runtime?/on-chain-release-build", - "encointer-kusama-runtime?/on-chain-release-build", + # TODO @ggwpez "encointer-kusama-runtime?/on-chain-release-build", "glutton-kusama-runtime?/on-chain-release-build", "kusama-runtime?/on-chain-release-build", "people-kusama-runtime?/on-chain-release-build", @@ -78,7 +78,7 @@ collectives-polkadot = ["collectives-polkadot-runtime"] bridge-hub-polkadot = ["bridge-hub-polkadot-runtime"] bridge-hub-kusama = ["bridge-hub-kusama-runtime"] bulletin-polkadot = ["bulletin-polkadot-runtime"] -encointer-kusama = ["encointer-kusama-runtime"] +# TODO @ggwpez encointer-kusama = ["encointer-kusama-runtime"] glutton-kusama = ["glutton-kusama-runtime"] coretime-kusama = ["coretime-kusama-runtime"] coretime-polkadot = ["coretime-polkadot-runtime"] @@ -98,7 +98,7 @@ all-kusama = [ "asset-hub-kusama", "bridge-hub-kusama", "coretime-kusama", - "encointer-kusama", + # TODO @ggwpez "encointer-kusama", "glutton-kusama", "kusama", "people-kusama", diff --git a/chain-spec-generator/src/common.rs b/chain-spec-generator/src/common.rs index ccd75bf2e3..7c9a416d4b 100644 --- a/chain-spec-generator/src/common.rs +++ b/chain-spec-generator/src/common.rs @@ -20,7 +20,8 @@ use crate::{ system_parachains_specs::{ AssetHubKusamaChainSpec, AssetHubPolkadotChainSpec, BridgeHubKusamaChainSpec, BridgeHubPolkadotChainSpec, CollectivesPolkadotChainSpec, CoretimeKusamaChainSpec, - CoretimePolkadotChainSpec, EncointerKusamaChainSpec, GluttonKusamaChainSpec, + CoretimePolkadotChainSpec, GluttonKusamaChainSpec, + // TODO @ggwpez EncointerKusamaChainSpec, PeopleKusamaChainSpec, PeoplePolkadotChainSpec, }, ChainSpec, @@ -58,8 +59,8 @@ pub fn from_json_file(filepath: &str, supported: String) -> Result Ok(Box::new(GluttonKusamaChainSpec::from_json_file(path)?)), - x if x.starts_with("encointer-kusama") => - Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), + /* TODO @ggwpez x if x.starts_with("encointer-kusama") => + Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), */ x if x.starts_with("people-kusama") => Ok(Box::new(PeopleKusamaChainSpec::from_json_file(path)?)), x if x.starts_with("people-polkadot") => diff --git a/chain-spec-generator/src/main.rs b/chain-spec-generator/src/main.rs index e2dd3aee7d..7b91bb76da 100644 --- a/chain-spec-generator/src/main.rs +++ b/chain-spec-generator/src/main.rs @@ -82,11 +82,11 @@ fn main() -> Result<(), String> { "glutton-kusama-local", Box::new(system_parachains_specs::glutton_kusama_local_testnet_config) as Box<_>, ), - #[cfg(feature = "encointer-kusama")] + /* TODO @ggwpez #[cfg(feature = "encointer-kusama")] ( "encointer-kusama-local", Box::new(system_parachains_specs::encointer_kusama_local_testnet_config) as Box<_>, - ), + ), */ #[cfg(feature = "coretime-kusama")] ( "coretime-kusama", diff --git a/chain-spec-generator/src/system_parachains_specs.rs b/chain-spec-generator/src/system_parachains_specs.rs index d9ca1dd9ee..3f7b8ac88a 100644 --- a/chain-spec-generator/src/system_parachains_specs.rs +++ b/chain-spec-generator/src/system_parachains_specs.rs @@ -40,7 +40,7 @@ pub type BridgeHubKusamaChainSpec = sc_chain_spec::GenericChainSpec; pub type GluttonKusamaChainSpec = sc_chain_spec::GenericChainSpec; -pub type EncointerKusamaChainSpec = sc_chain_spec::GenericChainSpec; +// TODO @ggwpez pub type EncointerKusamaChainSpec = sc_chain_spec::GenericChainSpec; pub type CoretimeKusamaChainSpec = sc_chain_spec::GenericChainSpec; @@ -183,7 +183,7 @@ pub fn glutton_kusama_local_testnet_config() -> Result Result, String> { let mut properties = sc_chain_spec::Properties::new(); @@ -203,7 +203,7 @@ pub fn encointer_kusama_local_testnet_config() -> Result Result, String> { diff --git a/integration-tests/emulated/networks/kusama-system/Cargo.toml b/integration-tests/emulated/networks/kusama-system/Cargo.toml index fc91409e4a..ed3f73ef6a 100644 --- a/integration-tests/emulated/networks/kusama-system/Cargo.toml +++ b/integration-tests/emulated/networks/kusama-system/Cargo.toml @@ -15,7 +15,7 @@ emulated-integration-tests-common = { workspace = true } # Runtimes asset-hub-kusama-emulated-chain = { workspace = true } bridge-hub-kusama-emulated-chain = { workspace = true } -encointer-kusama-emulated-chain = { workspace = true } +# TODO @ggwpez encointer-kusama-emulated-chain = { workspace = true } kusama-emulated-chain = { workspace = true } penpal-emulated-chain = { workspace = true } people-kusama-emulated-chain = { workspace = true } @@ -26,7 +26,7 @@ runtime-benchmarks = [ "asset-hub-kusama-emulated-chain/runtime-benchmarks", "bridge-hub-kusama-emulated-chain/runtime-benchmarks", "coretime-kusama-emulated-chain/runtime-benchmarks", - "encointer-kusama-emulated-chain/runtime-benchmarks", + # TODO @ggwpez "encointer-kusama-emulated-chain/runtime-benchmarks", "kusama-emulated-chain/runtime-benchmarks", "penpal-emulated-chain/runtime-benchmarks", "people-kusama-emulated-chain/runtime-benchmarks", diff --git a/integration-tests/emulated/networks/kusama-system/src/lib.rs b/integration-tests/emulated/networks/kusama-system/src/lib.rs index abec950ac6..d374987e51 100644 --- a/integration-tests/emulated/networks/kusama-system/src/lib.rs +++ b/integration-tests/emulated/networks/kusama-system/src/lib.rs @@ -16,7 +16,7 @@ pub use asset_hub_kusama_emulated_chain; pub use bridge_hub_kusama_emulated_chain; pub use coretime_kusama_emulated_chain; -pub use encointer_kusama_emulated_chain; +// TODO @ggwpez pub use encointer_kusama_emulated_chain; pub use kusama_emulated_chain; pub use penpal_emulated_chain; pub use people_kusama_emulated_chain; @@ -24,7 +24,7 @@ pub use people_kusama_emulated_chain; use asset_hub_kusama_emulated_chain::AssetHubKusama; use bridge_hub_kusama_emulated_chain::BridgeHubKusama; use coretime_kusama_emulated_chain::CoretimeKusama; -use encointer_kusama_emulated_chain::EncointerKusama; +// TODO @ggwpez use encointer_kusama_emulated_chain::EncointerKusama; use kusama_emulated_chain::Kusama; use penpal_emulated_chain::{PenpalA, PenpalB}; use people_kusama_emulated_chain::PeopleKusama; @@ -45,7 +45,7 @@ decl_test_networks! { PenpalB, PeopleKusama, CoretimeKusama, - EncointerKusama, + // TODO @ggwpez EncointerKusama, ], bridge = () }, @@ -58,6 +58,6 @@ decl_test_sender_receiver_accounts_parameter_types! { PenpalAPara { sender: ALICE, receiver: BOB }, PenpalBPara { sender: ALICE, receiver: BOB }, PeopleKusamaPara { sender: ALICE, receiver: BOB }, - CoretimeKusamaPara { sender: ALICE, receiver: BOB }, - EncointerKusamaPara { sender: ALICE, receiver: BOB } + CoretimeKusamaPara { sender: ALICE, receiver: BOB } + // TODO @ggwpez EncointerKusamaPara { sender: ALICE, receiver: BOB } } From 6c449910450136cf9bfad766a182de526ed06a96 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 24 Apr 2026 19:09:44 +0200 Subject: [PATCH 02/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11279 Signed-off-by: Oliver Tale-Yazdi --- .../asset-hub-kusama/src/weights/pallet_assets_precompiles.rs | 2 +- .../asset-hub-polkadot/src/weights/pallet_assets_precompiles.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_assets_precompiles.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_assets_precompiles.rs index f99d8dba6e..213ea10ed1 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_assets_precompiles.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_assets_precompiles.rs @@ -102,7 +102,7 @@ impl pallet_assets_precompiles::WeightInfo for WeightIn /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn permit() -> Weight { + fn use_permit() -> Weight { // Proof Size summary in bytes: // Measured: `2409` // Estimated: `6044` diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_assets_precompiles.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_assets_precompiles.rs index 1af1862d0c..3a775f01da 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_assets_precompiles.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_assets_precompiles.rs @@ -102,7 +102,7 @@ impl pallet_assets_precompiles::WeightInfo for WeightIn /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn permit() -> Weight { + fn use_permit() -> Weight { // Proof Size summary in bytes: // Measured: `2474` // Estimated: `6044` From 3a8aa42800e7ed90829254e0913623b7e4a602df Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 24 Apr 2026 20:10:53 +0200 Subject: [PATCH 03/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/10726 Signed-off-by: Oliver Tale-Yazdi --- .../parachains/testing/penpal/src/genesis.rs | 33 +++++++++++++------ .../parachains/testing/penpal/src/lib.rs | 18 +++++----- 2 files changed, 32 insertions(+), 19 deletions(-) diff --git a/integration-tests/emulated/chains/parachains/testing/penpal/src/genesis.rs b/integration-tests/emulated/chains/parachains/testing/penpal/src/genesis.rs index 896939ac76..a5be90a456 100644 --- a/integration-tests/emulated/chains/parachains/testing/penpal/src/genesis.rs +++ b/integration-tests/emulated/chains/parachains/testing/penpal/src/genesis.rs @@ -22,7 +22,10 @@ use emulated_integration_tests_common::{ accounts, build_genesis_storage, collators, SAFE_XCM_VERSION, }; use parachains_common::{AccountId, Balance}; -use penpal_runtime::xcm_config::{LocalReservableFromAssetHub, RelayLocation, UsdtFromAssetHub}; +use penpal_runtime::xcm_config::{ + LocalPen2Asset, LocalReservableFromAssetHub, PenpalNativeCurrency, RelayLocation, + UsdtFromAssetHub, +}; // Penpal pub const PARA_ID_A: u32 = 2000; @@ -70,25 +73,35 @@ pub fn genesis(para_id: u32) -> sp_core::storage::Storage { }, sudo: penpal_runtime::SudoConfig { key: Some(PenpalSudoAccount::get()) }, assets: penpal_runtime::AssetsConfig { - assets: vec![( - penpal_runtime::xcm_config::TELEPORTABLE_ASSET_ID, - PenpalAssetOwner::get(), - false, - ED, - )], - ..Default::default() - }, - foreign_assets: penpal_runtime::ForeignAssetsConfig { assets: vec![ // Relay Native asset representation (RelayLocation::get(), PenpalAssetOwner::get(), true, ED), + // Local Pen2 representation (previously TELEPORTABLE_ASSET_ID in the old + // `Assets` pallet). + (LocalPen2Asset::get(), PenpalAssetOwner::get(), false, ED), // Sufficient AssetHub asset representation (LocalReservableFromAssetHub::get(), PenpalAssetOwner::get(), true, ED), // USDT from AssetHub (UsdtFromAssetHub::get(), PenpalAssetOwner::get(), true, USDT_ED), ], + accounts: vec![ + // Relay tokens for the pool liquidity provider. + (RelayLocation::get(), PenpalAssetOwner::get(), 10_000_000_000_000), + ], ..Default::default() }, + asset_conversion: penpal_runtime::AssetConversionConfig { + pools: vec![ + // Relay token pool (native PEN <-> relay WND) for XCM fee payment. + ( + PenpalNativeCurrency::get(), + RelayLocation::get(), + PenpalAssetOwner::get(), + 1_000_000_000_000, + 2_000_000_000_000, + ), + ], + }, ..Default::default() }; diff --git a/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs b/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs index 694dfbc96e..f8a3ff78ef 100644 --- a/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs +++ b/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs @@ -20,7 +20,8 @@ pub use penpal_runtime::{ xcm_config::{ CustomizableAssetFromSystemAssetHub, LocalReservableFromAssetHub, LocalTeleportableToAssetHub, RelayNetworkId as PenpalRelayNetworkId, XcmConfig, - ASSETS_PALLET_ID, RESERVABLE_ASSET_ID, TELEPORTABLE_ASSET_ID, + ASSET_HUB_ASSETS_PALLET_ID as ASSETS_PALLET_ID, PEN2_TELEPORTABLE_GENERAL_INDEX as TELEPORTABLE_ASSET_ID, + RESERVABLE_ASSET_ID, }, }; @@ -31,8 +32,7 @@ use sp_core::Encode; // 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, + impl_foreign_assets_helpers_for_parachain, impl_xcm_helpers_for_parachain, impls::{NetworkId, Parachain}, xcm_emulator::decl_test_parachains, }; @@ -58,7 +58,7 @@ decl_test_parachains! { pallets = { PolkadotXcm: penpal_runtime::PolkadotXcm, Assets: penpal_runtime::Assets, - ForeignAssets: penpal_runtime::ForeignAssets, + ForeignAssets: penpal_runtime::Assets, AssetConversion: penpal_runtime::AssetConversion, Balances: penpal_runtime::Balances, } @@ -82,7 +82,7 @@ decl_test_parachains! { pallets = { PolkadotXcm: penpal_runtime::PolkadotXcm, Assets: penpal_runtime::Assets, - ForeignAssets: penpal_runtime::ForeignAssets, + ForeignAssets: penpal_runtime::Assets, AssetConversion: penpal_runtime::AssetConversion, Balances: penpal_runtime::Balances, } @@ -94,17 +94,17 @@ impl_accounts_helpers_for_parachain!(PenpalA); impl_accounts_helpers_for_parachain!(PenpalB); impl_assert_events_helpers_for_parachain!(PenpalA); impl_assert_events_helpers_for_parachain!(PenpalB); -impl_assets_helpers_for_parachain!(PenpalA); -impl_assets_helpers_for_parachain!(PenpalB); impl_foreign_assets_helpers_for_parachain!( PenpalA, xcm::latest::Location, - penpal_runtime::ForeignAssetReserveData + penpal_runtime::ForeignAssetReserveData, + Assets ); impl_foreign_assets_helpers_for_parachain!( PenpalB, xcm::latest::Location, - penpal_runtime::ForeignAssetReserveData + penpal_runtime::ForeignAssetReserveData, + Assets ); impl_xcm_helpers_for_parachain!(PenpalA); impl_xcm_helpers_for_parachain!(PenpalB); From d05264e3ad8c53d19b665237188a399996c687f3 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 24 Apr 2026 20:38:26 +0200 Subject: [PATCH 04/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/7035 Signed-off-by: Oliver Tale-Yazdi --- system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs | 5 +++-- system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) 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 398b650546..4e702d09d5 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -1708,9 +1708,10 @@ pub struct EthExtraImpl; impl pallet_revive::evm::runtime::EthExtra for EthExtraImpl { type Config = Runtime; - type Extension = TxExtension; + type ExtensionV0 = TxExtension; + type ExtensionOtherVersions = sp_runtime::traits::InvalidVersion; - fn get_eth_extension(nonce: u32, tip: Balance) -> Self::Extension { + fn get_eth_extension(nonce: u32, tip: Balance) -> Self::ExtensionV0 { ( frame_system::AuthorizeCall::::new(), frame_system::CheckNonZeroSender::::new(), diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 7a5f435ae8..71549bacce 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -1600,9 +1600,10 @@ pub struct EthExtraImpl; impl pallet_revive::evm::runtime::EthExtra for EthExtraImpl { type Config = Runtime; - type Extension = TxExtension; + type ExtensionV0 = TxExtension; + type ExtensionOtherVersions = sp_runtime::traits::InvalidVersion; - fn get_eth_extension(nonce: u32, tip: Balance) -> Self::Extension { + fn get_eth_extension(nonce: u32, tip: Balance) -> Self::ExtensionV0 { ( frame_system::AuthorizeCall::::new(), frame_system::CheckNonZeroSender::::new(), From d9de49a07183561872bd8234a41b6554ef4fbd3f Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 24 Apr 2026 20:57:21 +0200 Subject: [PATCH 05/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11527 Signed-off-by: Oliver Tale-Yazdi --- .../asset-hubs/asset-hub-polkadot/src/staking/mod.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs index e2082a2512..2f6f2ff722 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs @@ -116,6 +116,10 @@ parameter_types! { pub const DelegatedStakingPalletId: PalletId = PalletId(*b"py/dlstk"); pub const SlashRewardFraction: Perbill = Perbill::from_percent(1); pub const DapPalletId: PalletId = PalletId(*b"dap/buff"); + /// Minimum time (ms) between issuance drips. 60s = drip at most once per minute. + pub const DapIssuanceCadence: u64 = 60_000; + /// Safety ceiling (ms) for elapsed time in a single drip. Prevents over-minting after stalls. + pub const DapMaxElapsedPerDrip: u64 = 600_000; } impl pallet_delegated_staking::Config for Runtime { @@ -131,6 +135,14 @@ impl pallet_delegated_staking::Config for Runtime { impl pallet_dap::Config for Runtime { type Currency = Balances; type PalletId = DapPalletId; + /// Noop — DAP does not mint until budget drip is enabled. + type IssuanceCurve = (); + type BudgetRecipients = (pallet_dap::Pallet,); + type Time = pallet_timestamp::Pallet; + type IssuanceCadence = DapIssuanceCadence; + type MaxElapsedPerDrip = DapMaxElapsedPerDrip; + type BudgetOrigin = frame_system::EnsureRoot; + type WeightInfo = (); } #[cfg(feature = "runtime-benchmarks")] From 3094d5a23c2d482c62b209f4707ee02665cb68cb Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 24 Apr 2026 22:19:21 +0200 Subject: [PATCH 06/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11398 Signed-off-by: Oliver Tale-Yazdi --- system-parachains/asset-hubs/asset-hub-kusama/Cargo.toml | 4 ++++ system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs | 8 ++++++++ .../asset-hubs/asset-hub-polkadot/Cargo.toml | 4 ++++ .../asset-hubs/asset-hub-polkadot/src/lib.rs | 8 ++++++++ 4 files changed, 24 insertions(+) diff --git a/system-parachains/asset-hubs/asset-hub-kusama/Cargo.toml b/system-parachains/asset-hubs/asset-hub-kusama/Cargo.toml index e4df8ebac6..e40c3d4342 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/Cargo.toml +++ b/system-parachains/asset-hubs/asset-hub-kusama/Cargo.toml @@ -84,6 +84,7 @@ pallet-treasury = { workspace = true } pallet-uniques = { workspace = true } pallet-utility = { workspace = true } pallet-vesting = { workspace = true } +pallet-vesting-precompiles = { workspace = true } pallet-whitelist = { workspace = true } sp-api = { workspace = true } sp-arithmetic = { workspace = true } @@ -222,6 +223,7 @@ runtime-benchmarks = [ "pallet-treasury/runtime-benchmarks", "pallet-uniques/runtime-benchmarks", "pallet-utility/runtime-benchmarks", + "pallet-vesting-precompiles/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", "pallet-whitelist/runtime-benchmarks", "pallet-xcm-benchmarks/runtime-benchmarks", @@ -300,6 +302,7 @@ try-runtime = [ "pallet-treasury/try-runtime", "pallet-uniques/try-runtime", "pallet-utility/try-runtime", + "pallet-vesting-precompiles/try-runtime", "pallet-vesting/try-runtime", "pallet-whitelist/try-runtime", "pallet-xcm-bridge-hub-router/try-runtime", @@ -393,6 +396,7 @@ std = [ "pallet-treasury/std", "pallet-uniques/std", "pallet-utility/std", + "pallet-vesting-precompiles/std", "pallet-vesting/std", "pallet-whitelist/std", "pallet-xcm-benchmarks?/std", 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 4e702d09d5..fb961c38a7 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -77,6 +77,7 @@ use pallet_assets_precompiles::{ForeignAssetId, ForeignIdConfig, InlineIdConfig, use pallet_nfts::PalletFeatures; use pallet_nomination_pools::PoolId; use pallet_proxy::ProxyDefinition; +use pallet_vesting_precompiles::Vesting as VestingPrecompile; use pallet_xcm::{EnsureXcm, IsVoiceOfBody}; use pallet_xcm_precompiles::XcmPrecompile; use parachains_common::{ @@ -1244,6 +1245,7 @@ impl pallet_revive::Config for Runtime { ERC20, PoolAssetsInstance>, ERC20, ForeignAssetsInstance>, XcmPrecompile, + VestingPrecompile, ); type AddressMapper = pallet_revive::AccountId32Mapper; type RuntimeMemory = ConstU32<{ 128 * 1024 * 1024 }>; @@ -1276,6 +1278,10 @@ impl pallet_assets_precompiles::PermitConfig for Runtime { type WeightInfo = pallet_assets_precompiles::weights::SubstrateWeight; } +impl pallet_vesting_precompiles::pallet::Config for Runtime { + type WeightInfo = pallet_vesting_precompiles::weights::SubstrateWeight; +} + parameter_types! { pub const PreimageBaseDeposit: Balance = system_para_deposit(2, 64); pub const PreimageByteDeposit: Balance = system_para_deposit(0, 1); @@ -1644,6 +1650,7 @@ construct_runtime!( AssetsPrecompiles: pallet_assets_precompiles::pallet = 61, AssetsPrecompilesPermit: pallet_assets_precompiles::permit::pallet = 62, + VestingPrecompiles: pallet_vesting_precompiles::pallet = 63, // State trie migration pallet, only temporary. StateTrieMigration: pallet_state_trie_migration = 70, @@ -1849,6 +1856,7 @@ mod benches { [pallet_uniques, Uniques] [pallet_utility, Utility] [pallet_vesting, Vesting] + [pallet_vesting_precompiles, VestingPrecompiles] [pallet_timestamp, Timestamp] [pallet_treasury, Treasury] [pallet_transaction_payment, TransactionPayment] diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml b/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml index 95d81bd261..f1345e69fe 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml +++ b/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml @@ -81,6 +81,7 @@ pallet-treasury = { workspace = true } pallet-uniques = { workspace = true } pallet-utility = { workspace = true } pallet-vesting = { workspace = true } +pallet-vesting-precompiles = { workspace = true } pallet-whitelist = { workspace = true } sp-api = { workspace = true } sp-arithmetic = { workspace = true } @@ -226,6 +227,7 @@ runtime-benchmarks = [ "pallet-treasury/runtime-benchmarks", "pallet-uniques/runtime-benchmarks", "pallet-utility/runtime-benchmarks", + "pallet-vesting-precompiles/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", "pallet-whitelist/runtime-benchmarks", "pallet-xcm-benchmarks/runtime-benchmarks", @@ -304,6 +306,7 @@ try-runtime = [ "pallet-treasury/try-runtime", "pallet-uniques/try-runtime", "pallet-utility/try-runtime", + "pallet-vesting-precompiles/try-runtime", "pallet-vesting/try-runtime", "pallet-whitelist/try-runtime", "pallet-xcm-bridge-hub-router/try-runtime", @@ -399,6 +402,7 @@ std = [ "pallet-treasury/std", "pallet-uniques/std", "pallet-utility/std", + "pallet-vesting-precompiles/std", "pallet-vesting/std", "pallet-whitelist/std", "pallet-xcm-benchmarks?/std", diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 71549bacce..217ea79974 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -138,6 +138,7 @@ use frame_system::{ use pallet_assets_precompiles::{ForeignAssetId, ForeignIdConfig, InlineIdConfig, ERC20}; use pallet_nfts::PalletFeatures; use pallet_nomination_pools::PoolId; +use pallet_vesting_precompiles::Vesting as VestingPrecompile; use pallet_xcm_precompiles::XcmPrecompile; use parachains_common::{ message_queue::*, AccountId, AssetHubPolkadotAuraId as AuraId, AssetIdForTrustBackedAssets, @@ -1442,6 +1443,7 @@ impl pallet_revive::Config for Runtime { ERC20, PoolAssetsInstance>, ERC20, ForeignAssetsInstance>, XcmPrecompile, + VestingPrecompile, ); type AddressMapper = pallet_revive::AccountId32Mapper; type RuntimeMemory = ConstU32<{ 128 * 1024 * 1024 }>; @@ -1474,6 +1476,10 @@ impl pallet_assets_precompiles::PermitConfig for Runtime { type WeightInfo = pallet_assets_precompiles::weights::SubstrateWeight; } +impl pallet_vesting_precompiles::pallet::Config for Runtime { + type WeightInfo = pallet_vesting_precompiles::weights::SubstrateWeight; +} + impl cumulus_pallet_weight_reclaim::Config for Runtime { type WeightInfo = weights::cumulus_pallet_weight_reclaim::WeightInfo; } @@ -1561,6 +1567,7 @@ construct_runtime!( AssetsPrecompiles: pallet_assets_precompiles::pallet = 91, AssetsPrecompilesPermit: pallet_assets_precompiles::permit::pallet = 92, + VestingPrecompiles: pallet_vesting_precompiles::pallet = 93, // Asset Hub Migration in the 250s AhOps: pallet_ah_ops = 254, @@ -1737,6 +1744,7 @@ mod benches { [pallet_uniques, Uniques] [pallet_utility, Utility] [pallet_vesting, Vesting] + [pallet_vesting_precompiles, VestingPrecompiles] [pallet_timestamp, Timestamp] [pallet_treasury, Treasury] [pallet_transaction_payment, TransactionPayment] From 573fcb571d7117a8c5e6639f4978f0f6f0f0bca3 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 24 Apr 2026 22:29:09 +0200 Subject: [PATCH 07/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11594 Signed-off-by: Oliver Tale-Yazdi --- relay/kusama/src/weights/pallet_bags_list.rs | 2 +- relay/polkadot/src/weights/pallet_bags_list.rs | 2 +- .../asset-hubs/asset-hub-kusama/src/weights/pallet_bags_list.rs | 2 +- .../asset-hub-polkadot/src/weights/pallet_bags_list.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/relay/kusama/src/weights/pallet_bags_list.rs b/relay/kusama/src/weights/pallet_bags_list.rs index 035ce98722..6476a4d52a 100644 --- a/relay/kusama/src/weights/pallet_bags_list.rs +++ b/relay/kusama/src/weights/pallet_bags_list.rs @@ -135,7 +135,7 @@ impl pallet_bags_list::WeightInfo for WeightInfo { /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) /// Storage: `Staking::Ledger` (r:9 w:0) /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`) - fn on_idle() -> Weight { + fn on_idle_rebag() -> Weight { // TODO @ggwpez rerun // Proof Size summary in bytes: // Measured: `4640` // Estimated: `509833` diff --git a/relay/polkadot/src/weights/pallet_bags_list.rs b/relay/polkadot/src/weights/pallet_bags_list.rs index e2b0430273..b141b4245c 100644 --- a/relay/polkadot/src/weights/pallet_bags_list.rs +++ b/relay/polkadot/src/weights/pallet_bags_list.rs @@ -135,7 +135,7 @@ impl pallet_bags_list::WeightInfo for WeightInfo { /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) /// Storage: `Staking::Ledger` (r:9 w:0) /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`) - fn on_idle() -> Weight { + fn on_idle_rebag() -> Weight { // TODO @ggwpez rerun // Proof Size summary in bytes: // Measured: `4734` // Estimated: `509833` diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_bags_list.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_bags_list.rs index a282bcaa34..ef43604e41 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_bags_list.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_bags_list.rs @@ -151,7 +151,7 @@ impl pallet_bags_list::WeightInfo for WeightInfo { /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(814), added: 3289, mode: `MaxEncodedLen`) /// Storage: `Staking::Validators` (r:9 w:0) /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - fn on_idle() -> Weight { + fn on_idle_rebag() -> Weight { // TODO @ggwpez rerun // Proof Size summary in bytes: // Measured: `37765` // Estimated: `509833` diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_bags_list.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_bags_list.rs index 996f88133f..d15dd2c780 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_bags_list.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_bags_list.rs @@ -151,7 +151,7 @@ impl pallet_bags_list::WeightInfo for WeightInfo { /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) /// Storage: `Staking::Validators` (r:9 w:0) /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) - fn on_idle() -> Weight { + fn on_idle_rebag() -> Weight { // TODO @ggwpez rerun // Proof Size summary in bytes: // Measured: `38679` // Estimated: `509833` From 4759eb9e402742fd3a4d3b303e7a755331a99e2c Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 24 Apr 2026 23:44:19 +0200 Subject: [PATCH 08/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11590 Signed-off-by: Oliver Tale-Yazdi --- system-parachains/asset-hubs/asset-hub-kusama/Cargo.toml | 4 ++++ system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs | 5 +++++ system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml | 4 ++++ system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs | 5 +++++ 4 files changed, 18 insertions(+) diff --git a/system-parachains/asset-hubs/asset-hub-kusama/Cargo.toml b/system-parachains/asset-hubs/asset-hub-kusama/Cargo.toml index e40c3d4342..c29bcad76e 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/Cargo.toml +++ b/system-parachains/asset-hubs/asset-hub-kusama/Cargo.toml @@ -43,6 +43,7 @@ pallet-asset-rate = { workspace = true } pallet-assets = { workspace = true } pallet-assets-precompiles = { workspace = true } pallet-asset-conversion = { workspace = true } +pallet-asset-conversion-precompiles = { workspace = true } pallet-aura = { workspace = true } pallet-authorship = { workspace = true } pallet-balances = { workspace = true } @@ -181,6 +182,7 @@ runtime-benchmarks = [ "kusama-runtime-constants/runtime-benchmarks", "kusama-runtime/runtime-benchmarks", "pallet-ah-ops/runtime-benchmarks", + "pallet-asset-conversion-precompiles/runtime-benchmarks", "pallet-asset-conversion-tx-payment/runtime-benchmarks", "pallet-asset-conversion/runtime-benchmarks", "pallet-asset-rate/runtime-benchmarks", @@ -259,6 +261,7 @@ try-runtime = [ "frame-try-runtime/try-runtime", "kusama-runtime/try-runtime", "pallet-ah-ops/try-runtime", + "pallet-asset-conversion-precompiles/try-runtime", "pallet-asset-conversion-tx-payment/try-runtime", "pallet-asset-conversion/try-runtime", "pallet-asset-rate/try-runtime", @@ -348,6 +351,7 @@ std = [ "kusama-runtime-constants/std", "log/std", "pallet-ah-ops/std", + "pallet-asset-conversion-precompiles/std", "pallet-asset-conversion-tx-payment/std", "pallet-asset-conversion/std", "pallet-asset-rate/std", 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 fb961c38a7..1fcd11fba1 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -73,6 +73,7 @@ use frame_system::{ }; use governance::{pallet_custom_origins, FellowshipAdmin, GeneralAdmin, StakingAdmin, Treasurer}; use kusama_runtime_constants::time::{DAYS as RC_DAYS, HOURS as RC_HOURS, MINUTES as RC_MINUTES}; +use pallet_asset_conversion_precompiles::AssetConversion as AssetConversionPrecompile; use pallet_assets_precompiles::{ForeignAssetId, ForeignIdConfig, InlineIdConfig, ERC20}; use pallet_nfts::PalletFeatures; use pallet_nomination_pools::PoolId; @@ -1245,6 +1246,7 @@ impl pallet_revive::Config for Runtime { ERC20, PoolAssetsInstance>, ERC20, ForeignAssetsInstance>, XcmPrecompile, + AssetConversionPrecompile<{ ASSET_CONVERSION_PRECOMPILE }, Self>, VestingPrecompile, ); type AddressMapper = pallet_revive::AccountId32Mapper; @@ -1282,6 +1284,9 @@ impl pallet_vesting_precompiles::pallet::Config for Runtime { type WeightInfo = pallet_vesting_precompiles::weights::SubstrateWeight; } +/// Precompile address identifier (embedded at bytes [16..18] of the H160 address). +pub const ASSET_CONVERSION_PRECOMPILE: u16 = 0x0420; + parameter_types! { pub const PreimageBaseDeposit: Balance = system_para_deposit(2, 64); pub const PreimageByteDeposit: Balance = system_para_deposit(0, 1); diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml b/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml index f1345e69fe..1ced28c977 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml +++ b/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml @@ -41,6 +41,7 @@ frame-system-rpc-runtime-api = { workspace = true } frame-try-runtime = { optional = true, workspace = true } pallet-asset-conversion-tx-payment = { workspace = true } pallet-asset-conversion = { workspace = true } +pallet-asset-conversion-precompiles = { workspace = true } pallet-nomination-pools = { workspace = true } pallet-assets = { workspace = true } pallet-assets-precompiles = { workspace = true } @@ -188,6 +189,7 @@ runtime-benchmarks = [ "frame-system/runtime-benchmarks", "kusama-runtime-constants/runtime-benchmarks", "pallet-ah-ops/runtime-benchmarks", + "pallet-asset-conversion-precompiles/runtime-benchmarks", "pallet-asset-conversion-tx-payment/runtime-benchmarks", "pallet-asset-conversion/runtime-benchmarks", "pallet-asset-rate/runtime-benchmarks", @@ -266,6 +268,7 @@ try-runtime = [ "frame-system/try-runtime", "frame-try-runtime/try-runtime", "pallet-ah-ops/try-runtime", + "pallet-asset-conversion-precompiles/try-runtime", "pallet-asset-conversion-tx-payment/try-runtime", "pallet-asset-conversion/try-runtime", "pallet-asset-rate/try-runtime", @@ -357,6 +360,7 @@ std = [ "kusama-runtime-constants/std", "log/std", "pallet-ah-ops/std", + "pallet-asset-conversion-precompiles/std", "pallet-asset-conversion-tx-payment/std", "pallet-asset-conversion/std", "pallet-asset-rate/std", diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 217ea79974..c763bc5da4 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -135,6 +135,7 @@ use frame_system::{ pallet_prelude::BlockNumberFor, EnsureRoot, EnsureSigned, EnsureSignedBy, }; +use pallet_asset_conversion_precompiles::AssetConversion as AssetConversionPrecompile; use pallet_assets_precompiles::{ForeignAssetId, ForeignIdConfig, InlineIdConfig, ERC20}; use pallet_nfts::PalletFeatures; use pallet_nomination_pools::PoolId; @@ -1443,6 +1444,7 @@ impl pallet_revive::Config for Runtime { ERC20, PoolAssetsInstance>, ERC20, ForeignAssetsInstance>, XcmPrecompile, + AssetConversionPrecompile<{ ASSET_CONVERSION_PRECOMPILE }, Self>, VestingPrecompile, ); type AddressMapper = pallet_revive::AccountId32Mapper; @@ -1480,6 +1482,9 @@ impl pallet_vesting_precompiles::pallet::Config for Runtime { type WeightInfo = pallet_vesting_precompiles::weights::SubstrateWeight; } +/// Precompile address identifier (embedded at bytes [16..18] of the H160 address). +pub const ASSET_CONVERSION_PRECOMPILE: u16 = 0x0420; + impl cumulus_pallet_weight_reclaim::Config for Runtime { type WeightInfo = weights::cumulus_pallet_weight_reclaim::WeightInfo; } From 6dd3ddc6be113f32585e6b11dee4be98dd806bdf Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 24 Apr 2026 23:51:42 +0200 Subject: [PATCH 09/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11416 Signed-off-by: Oliver Tale-Yazdi --- .../asset-hubs/asset-hub-kusama/src/genesis_config_presets.rs | 3 ++- system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs | 1 + .../asset-hub-polkadot/src/genesis_config_presets.rs | 3 ++- system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/genesis_config_presets.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/genesis_config_presets.rs index 04e4ad9dc9..4af4500718 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/genesis_config_presets.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/genesis_config_presets.rs @@ -17,6 +17,7 @@ //! Genesis configs presets for the AssetHubKusama runtime use crate::{xcm_config::UniversalLocation, *}; +use pallet_revive::AddressMapper; use alloc::vec::Vec; use sp_genesis_builder::PresetId; use system_parachains_constants::genesis_presets::*; @@ -83,7 +84,7 @@ fn asset_hub_kusama_genesis( ..Default::default() }, "revive": ReviveConfig { - mapped_accounts: endowed_accounts.iter().filter(|x| ! pallet_revive::is_eth_derived(x)).cloned().collect(), + mapped_accounts: endowed_accounts.iter().filter(|x| !::AddressMapper::is_mapped(x)).cloned().collect(), accounts: Vec::new(), debug_settings: None, }, 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 1fcd11fba1..df686f2e2f 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -1264,6 +1264,7 @@ impl pallet_revive::Config for Runtime { type MaxEthExtrinsicWeight = MaxEthExtrinsicWeight; // Must be set to `false` in a live chain type DebugEnabled = ConstBool; + type AutoMap = ConstBool; type GasScale = ConstU32<100_000>; type OnBurn = (); } diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs index 696d209778..8ead9efbf9 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs @@ -17,6 +17,7 @@ //! Genesis configs presets for the AssetHubPolkadot runtime use crate::{staking::DapPalletId, xcm_config::UniversalLocation, *}; +use pallet_revive::AddressMapper; use alloc::vec::Vec; use frame_support::sp_runtime::traits::AccountIdConversion; use parachains_common::AssetHubPolkadotAuraId; @@ -107,7 +108,7 @@ fn asset_hub_polkadot_genesis( ..Default::default() }, "revive": ReviveConfig { - mapped_accounts: endowed_accounts.iter().filter(|x| ! pallet_revive::is_eth_derived(x)).cloned().collect(), + mapped_accounts: endowed_accounts.iter().filter(|x| !::AddressMapper::is_mapped(x)).cloned().collect(), accounts: Vec::new(), debug_settings: None, }, diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index c763bc5da4..700d69003d 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -1462,6 +1462,7 @@ impl pallet_revive::Config for Runtime { type MaxEthExtrinsicWeight = MaxEthExtrinsicWeight; // Must be set to `false` in a live chain type DebugEnabled = ConstBool; + type AutoMap = ConstBool; type GasScale = ConstU32<80_000>; type OnBurn = Dap; } From 635ac29a86572729df8832d2526b6f15ddf5c2b8 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Sat, 25 Apr 2026 00:30:55 +0200 Subject: [PATCH 10/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11694 Signed-off-by: Oliver Tale-Yazdi --- system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs | 1 + system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs | 1 + 2 files changed, 2 insertions(+) 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 df686f2e2f..0b4140302e 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -1171,6 +1171,7 @@ impl pallet_xcm_bridge_hub_router::Config for Runti type ByteFee = xcm_config::bridging::XcmBridgeHubRouterByteFee; type FeeAsset = xcm_config::bridging::XcmBridgeHubRouterFeeAssetId; + type UnpaidExport = frame_support::traits::ConstBool; type LocalXcmChannelManager = cumulus_pallet_xcmp_queue::bridging::InAndOutXcmpChannelStatusProvider; } diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 700d69003d..01a04dd82a 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -1072,6 +1072,7 @@ impl pallet_xcm_bridge_hub_router::Config for Runtime type FeeAsset = xcm_config::bridging::XcmBridgeHubRouterFeeAssetId; type LocalXcmChannelManager = cumulus_pallet_xcmp_queue::bridging::InAndOutXcmpChannelStatusProvider; + type UnpaidExport = frame_support::traits::ConstBool; } pub type PoolAssetsInstance = pallet_assets::Instance3; From dfb2fdb3ebce72afa1b79cb5b5d7c01b8c97d47f Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Sat, 25 Apr 2026 01:03:20 +0200 Subject: [PATCH 11/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11616 Signed-off-by: Oliver Tale-Yazdi --- pallets/ah-ops/src/mock.rs | 11 ++++- .../asset-hub-kusama/src/staking/mod.rs | 11 +++++ .../src/weights/pallet_staking_async.rs | 10 ++++ .../asset-hubs/asset-hub-polkadot/src/lib.rs | 1 + .../asset-hub-polkadot/src/migrations.rs | 46 +++++++++++++++++++ .../asset-hub-polkadot/src/staking/mod.rs | 44 ++++++++++++++++-- .../src/weights/pallet_staking_async.rs | 10 ++++ 7 files changed, 128 insertions(+), 5 deletions(-) diff --git a/pallets/ah-ops/src/mock.rs b/pallets/ah-ops/src/mock.rs index 86ecdcb3c3..45728525b4 100644 --- a/pallets/ah-ops/src/mock.rs +++ b/pallets/ah-ops/src/mock.rs @@ -17,7 +17,7 @@ use crate as pallet_ah_ops; use crate::*; use frame_election_provider_support::BoundedSupportsOf; -use frame_support::derive_impl; +use frame_support::{derive_impl, traits::ConstBool, PalletId}; use frame_system::{EnsureRoot, EnsureSigned}; use pallet_election_provider_multi_block::PageIndex; use sp_core::H256; @@ -116,9 +116,18 @@ impl pallet_staking_async::Config for Runtime { type RcClientInterface = Self; type MaxEraDuration = (); type MaxPruningItems = ConstU32<100>; + type DisableMinting = ConstBool; + type UnclaimedRewardHandler = (); + type RewardPots = pallet_staking_async::Seed; + type StakerRewardCalculator = + pallet_staking_async::reward::DefaultStakerRewardCalculator; type WeightInfo = (); } +parameter_types! { + pub const MockStakingPotsPalletId: PalletId = PalletId(*b"mk/stkng"); +} + impl pallet_staking_async_rc_client::RcClientInterface for Runtime { type AccountId = AccountId32; diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/staking/mod.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/staking/mod.rs index 582645994d..22a2dbcb09 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/staking/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/staking/mod.rs @@ -120,6 +120,10 @@ impl pallet_bags_list::Config for Runtime { parameter_types! { pub const DelegatedStakingPalletId: PalletId = PalletId(*b"py/dlstk"); pub const SlashRewardFraction: Perbill = Perbill::from_percent(1); + /// Seed pallet-id for `RewardPots`. Required to compile in legacy minting mode but + /// never actually consulted because `DisableMinting = false` means era pots are not + /// created or funded. Distinct 8-byte tag to avoid collision with any other pot. + pub const UnusedStakingPotsPalletId: PalletId = PalletId(*b"ks/stkng"); } impl pallet_delegated_staking::Config for Runtime { @@ -410,6 +414,13 @@ impl pallet_staking_async::Config for Runtime { type PlanningEraOffset = ConstU32<6>; type RcClientInterface = StakingRcClient; type MaxEraDuration = MaxEraDuration; + // Legacy minting mode: Kusama keeps on-the-fly inflation via `EraPayout`. + type DisableMinting = ConstBool; + // Unused in legacy minting mode (no era pots are created), but required to compile. + type UnclaimedRewardHandler = (); + type RewardPots = pallet_staking_async::Seed; + type StakerRewardCalculator = + pallet_staking_async::reward::DefaultStakerRewardCalculator; type WeightInfo = weights::pallet_staking_async::WeightInfo; type MaxPruningItems = MaxPruningItems; type NominatorFastUnbondDuration = NominatorFastUnbondDuration; diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_staking_async.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_staking_async.rs index b4abdadf56..d9ed77c8c6 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_staking_async.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_staking_async.rs @@ -1047,4 +1047,14 @@ impl pallet_staking_async::WeightInfo for WeightInfo .saturating_add(T::DbWeight::get().writes(48)) .saturating_add(Weight::from_parts(0, 177).saturating_mul(v.into())) } + /// Storage: `Staking::MinCommission` (r:1 w:0) + /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::MaxCommission` (r:0 w:1) + /// Proof: `Staking::MaxCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + fn set_max_commission() -> Weight { + // Placeholder: will be replaced by running benchmarks. + Weight::from_parts(9_000_000, 1489) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } } diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 01a04dd82a..736b6ce470 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -1785,6 +1785,7 @@ mod benches { [pallet_staking_async, Staking] [pallet_staking_async_rc_client, StakingRcClientBench::] [pallet_bags_list, VoterList] + [pallet_dap, Dap] // DelegatedStaking has no calls [pallet_election_provider_multi_block, MultiBlockElection] [pallet_election_provider_multi_block::verifier, MultiBlockElectionVerifier] diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs index bd22640c40..9d0985e1ad 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs @@ -17,6 +17,44 @@ use crate::Runtime; use frame_support::parameter_types; +/// Provides the initial `LastIssuanceTimestamp` for the DAP V1->V2 migration. +/// +/// Uses the start of the active era (ms since unix epoch) so the catch-up drip covers +/// the gap between the last era boundary and the migration. Falls back to 0 (no catch-up) +/// if no era is active. +pub struct DapLastIssuanceTimestamp; +impl frame_support::traits::Get for DapLastIssuanceTimestamp { + fn get() -> u64 { + pallet_staking_async::ActiveEra::::get() + .and_then(|era| era.start) + .unwrap_or(0) + } +} + +/// Default DAP budget allocation: 15% buffer, 85% staker rewards. +/// +/// Matches the previous `EraPayout` split (15% treasury / 85% stakers), now enforced +/// at the DAP drip level instead of at era payout time. The 15% share initially +/// accumulates in the DAP buffer and can be redirected by governance. +pub struct DefaultDapBudget; +impl frame_support::traits::Get for DefaultDapBudget { + fn get() -> pallet_dap::BudgetAllocationMap { + use sp_runtime::Perbill; + use sp_staking::budget::BudgetRecipientList; + + let recipients = ::BudgetRecipients::recipients(); + // Order matches `pallet_dap::Config::BudgetRecipients`: + // [dap (buffer), StakerRewardRecipient] + let percentages = [Perbill::from_percent(15), Perbill::from_percent(85)]; + + let mut map = pallet_dap::BudgetAllocationMap::new(); + for ((key, _), perbill) in recipients.into_iter().zip(percentages) { + let _ = map.try_insert(key, perbill); + } + map + } +} + parameter_types! { // Account `15jAYzPdLorBGAj4LLGaqohpzpw4mEohVkzszNpaBPbnDaXn` (Nomination Pool #296) // has trapped funds on PAH. See issue: https://github.com/paritytech/polkadot-sdk/issues/10993. @@ -45,6 +83,14 @@ pub type Unreleased = ( // Remove an old staking value. crate::staking::RemoveMarchTIValue, cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + // DAP V1->V2: seed `BudgetAllocation` and `LastIssuanceTimestamp`, credit a one-shot + // catch-up drip. Required when moving staking to non-minting mode (see SDK PR #11616). + pallet_dap::migrations::MigrateV1ToV2< + Runtime, + DapLastIssuanceTimestamp, + DefaultDapBudget, + crate::dynamic_params::staking_election::MaxEraDuration, + >, ); /// Migrations/checks that do not need to be versioned and can run on every update. diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs index 2f6f2ff722..3629c9649f 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs @@ -116,6 +116,7 @@ parameter_types! { pub const DelegatedStakingPalletId: PalletId = PalletId(*b"py/dlstk"); pub const SlashRewardFraction: Perbill = Perbill::from_percent(1); pub const DapPalletId: PalletId = PalletId(*b"dap/buff"); + pub const StakingPotsPalletId: PalletId = PalletId(*b"py/stkng"); /// Minimum time (ms) between issuance drips. 60s = drip at most once per minute. pub const DapIssuanceCadence: u64 = 60_000; /// Safety ceiling (ms) for elapsed time in a single drip. Prevents over-minting after stalls. @@ -135,9 +136,13 @@ impl pallet_delegated_staking::Config for Runtime { impl pallet_dap::Config for Runtime { type Currency = Balances; type PalletId = DapPalletId; - /// Noop — DAP does not mint until budget drip is enabled. - type IssuanceCurve = (); - type BudgetRecipients = (pallet_dap::Pallet,); + type IssuanceCurve = EraPayout; + type BudgetRecipients = ( + pallet_dap::Pallet, + pallet_staking_async::StakerRewardRecipient< + pallet_staking_async::Seed, + >, + ); type Time = pallet_timestamp::Pallet; type IssuanceCadence = DapIssuanceCadence; type MaxElapsedPerDrip = DapMaxElapsedPerDrip; @@ -407,6 +412,28 @@ impl pallet_staking_async::EraPayout for EraPayout { } } +/// DAP issuance curve: total emission for a given elapsed period. +/// +/// Same computation as the legacy `EraPayout` but returns the combined emission +/// (no 85/15 split). The staker/treasury split is now handled by pallet-dap +/// via `BudgetAllocation`. +impl sp_staking::budget::IssuanceCurve for EraPayout { + fn issue(_total_issuance: Balance, elapsed_millis: u64) -> Balance { + let relative_period = FixedU128::from_rational( + elapsed_millis.into(), + Self::MILLISECONDS_PER_YEAR.into(), + ); + + let relay_block_num = + as BlockNumberProvider>::current_block_number(); + let yearly_emission = Self::yearly_after_hard_cap(relay_block_num); + + let emission = + relative_period.saturating_mul_int(yearly_emission).min(Self::MAX_ERA_EMISSION); + emission.saturated_into() + } +} + parameter_types! { pub const SessionsPerEra: SessionIndex = prod_or_fast!(6, 1); pub const RelaySessionDuration: BlockNumber = prod_or_fast!(4 * RC_HOURS, RC_MINUTES); @@ -433,6 +460,7 @@ impl pallet_staking_async::Config for Runtime { type CurrencyBalance = Balance; type RuntimeHoldReason = RuntimeHoldReason; type CurrencyToVote = sp_staking::currency_to_vote::SaturatingCurrencyToVote; + // Non-minting mode: `RewardRemainder` is unused (kept for compile / legacy path). type RewardRemainder = ResolveTo; type Slash = Dap; type Reward = (); @@ -441,7 +469,9 @@ impl pallet_staking_async::Config for Runtime { type NominatorFastUnbondDuration = NominatorFastUnbondDuration; type SlashDeferDuration = SlashDeferDuration; type AdminOrigin = EitherOf, StakingAdmin>; - type EraPayout = EraPayout; + // Non-minting mode: `EraPayout` is unused. Inflation is driven by pallet-dap via + // `IssuanceCurve` (implemented on `EraPayout` above). + type EraPayout = (); type MaxExposurePageSize = MaxExposurePageSize; type ElectionProvider = MultiBlockElection; type VoterList = VoterList; @@ -455,7 +485,13 @@ impl pallet_staking_async::Config for Runtime { // This will start election for the next era as soon as an era starts. type PlanningEraOffset = ConstU32<6>; type RcClientInterface = StakingRcClient; + // Non-minting mode: `MaxEraDuration` is unused (legacy path only). Kept for compile. type MaxEraDuration = MaxEraDuration; + type DisableMinting = ConstBool; + type UnclaimedRewardHandler = Dap; + type RewardPots = pallet_staking_async::Seed; + type StakerRewardCalculator = + pallet_staking_async::reward::DefaultStakerRewardCalculator; type MaxPruningItems = MaxPruningItems; type WeightInfo = weights::pallet_staking_async::WeightInfo; } diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs index 3cf990693f..ca320ecb87 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs @@ -1049,4 +1049,14 @@ impl pallet_staking_async::WeightInfo for WeightInfo .saturating_add(T::DbWeight::get().writes(48)) .saturating_add(Weight::from_parts(0, 177).saturating_mul(v.into())) } + /// Storage: `Staking::MinCommission` (r:1 w:0) + /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::MaxCommission` (r:0 w:1) + /// Proof: `Staking::MaxCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + fn set_max_commission() -> Weight { + // Placeholder: will be replaced by running benchmarks. + Weight::from_parts(9_000_000, 1489) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } } From 61396885d1bb60edb9340e624beb3deceeaa8dfb Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Sat, 25 Apr 2026 12:32:47 +0200 Subject: [PATCH 12/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11750 Signed-off-by: Oliver Tale-Yazdi --- .../encointer/src/tests/xcm_mock.rs | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/system-parachains/encointer/src/tests/xcm_mock.rs b/system-parachains/encointer/src/tests/xcm_mock.rs index 15c248ec49..265cd1c525 100644 --- a/system-parachains/encointer/src/tests/xcm_mock.rs +++ b/system-parachains/encointer/src/tests/xcm_mock.rs @@ -241,7 +241,7 @@ thread_local! { } pub fn assets(who: impl Into) -> AssetsInHolding { ASSETS - .with(|a| a.borrow().get(&who.into()).map(clone_assets_in_holding)) + .with(|a| a.borrow().get(&who.into()).map(|a| a.unsafe_clone_for_tests())) .unwrap_or_else(AssetsInHolding::new) } pub fn asset_list(who: impl Into) -> Vec { @@ -692,7 +692,7 @@ impl AssetExchange for TestAssetExchange { want: &Assets, maximal: bool, ) -> Result { - let mut have = EXCHANGE_ASSETS.with(|l| clone_assets_in_holding(&l.borrow())); + let mut have = EXCHANGE_ASSETS.with(|l| l.borrow().unsafe_clone_for_tests()); ensure!(have.contains_assets(want), give); let get = if maximal { std::mem::replace(&mut have, AssetsInHolding::new()) @@ -705,7 +705,7 @@ impl AssetExchange for TestAssetExchange { } fn quote_exchange_price(give: &Assets, want: &Assets, maximal: bool) -> Option { - let mut have = EXCHANGE_ASSETS.with(|l| clone_assets_in_holding(&l.borrow())); + let mut have = EXCHANGE_ASSETS.with(|l| l.borrow().unsafe_clone_for_tests()); if !have.contains_assets(want) { return None; } @@ -719,17 +719,6 @@ impl AssetExchange for TestAssetExchange { } } -fn clone_assets_in_holding(assets: &AssetsInHolding) -> AssetsInHolding { - AssetsInHolding { - fungible: assets - .fungible - .iter() - .map(|(id, accounting)| (id.clone(), accounting.unsafe_clone())) - .collect(), - non_fungible: assets.non_fungible.clone(), - } -} - pub struct SiblingPrefix; impl Contains for SiblingPrefix { fn contains(loc: &Location) -> bool { From 6ef62d0cec721057396f1cd92d6c1e2a18e868d8 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Sat, 25 Apr 2026 15:06:44 +0200 Subject: [PATCH 13/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/10477 Signed-off-by: Oliver Tale-Yazdi --- system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs | 4 ++-- system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs index 8ce1ff5c22..574ec0c863 100644 --- a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs @@ -1045,7 +1045,7 @@ mod benches { Weight, ) { use cumulus_primitives_core::XcmpMessageSource; - assert!(XcmpQueue::take_outbound_messages(usize::MAX).is_empty()); + assert!(XcmpQueue::take_outbound_messages(usize::MAX, &[]).is_empty()); ParachainSystem::open_outbound_hrmp_channel_for_benchmarks_or_tests(42.into()); PolkadotXcm::force_xcm_version( RuntimeOrigin::root(), @@ -1096,7 +1096,7 @@ mod benches { fn is_message_successfully_dispatched(_nonce: bp_messages::MessageNonce) -> bool { use cumulus_primitives_core::XcmpMessageSource; - !XcmpQueue::take_outbound_messages(usize::MAX).is_empty() + !XcmpQueue::take_outbound_messages(usize::MAX, &[]).is_empty() } } diff --git a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs index bfd73bb1ab..153aa4458e 100644 --- a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs @@ -1098,7 +1098,7 @@ mod benches { Weight, ) { use cumulus_primitives_core::XcmpMessageSource; - assert!(XcmpQueue::take_outbound_messages(usize::MAX).is_empty()); + assert!(XcmpQueue::take_outbound_messages(usize::MAX, &[]).is_empty()); ParachainSystem::open_outbound_hrmp_channel_for_benchmarks_or_tests(42.into()); PolkadotXcm::force_xcm_version( RuntimeOrigin::root(), @@ -1149,7 +1149,7 @@ mod benches { fn is_message_successfully_dispatched(_nonce: bp_messages::MessageNonce) -> bool { use cumulus_primitives_core::XcmpMessageSource; - !XcmpQueue::take_outbound_messages(usize::MAX).is_empty() + !XcmpQueue::take_outbound_messages(usize::MAX, &[]).is_empty() } } From d94eaa644cc311fb8f7689376e07f9bd56c0ff1a Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Thu, 30 Apr 2026 14:00:01 +0200 Subject: [PATCH 14/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11651 Signed-off-by: Oliver Tale-Yazdi --- .../src/weights/pallet_staking_async.rs | 25 +++++++++++++++++++ .../asset-hub-polkadot/src/migrations.rs | 7 +++--- .../asset-hub-polkadot/src/staking/mod.rs | 3 +++ .../src/weights/pallet_staking_async.rs | 25 +++++++++++++++++++ 4 files changed, 57 insertions(+), 3 deletions(-) diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_staking_async.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_staking_async.rs index d9ed77c8c6..6ef5e0d205 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_staking_async.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_staking_async.rs @@ -1057,4 +1057,29 @@ impl pallet_staking_async::WeightInfo for WeightInfo .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } + /// Storage: `Staking::OptimumSelfStake` (r:0 w:1) + /// Proof: `Staking::OptimumSelfStake` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Staking::SelfStakeSlopeFactor` (r:0 w:1) + /// Proof: `Staking::SelfStakeSlopeFactor` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::HardCapSelfStake` (r:0 w:1) + /// Proof: `Staking::HardCapSelfStake` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + fn set_validator_self_stake_incentive_config() -> Weight { + // Placeholder: will be replaced by running benchmarks. + Weight::from_parts(8_000_000, 0) + .saturating_add(T::DbWeight::get().writes(3_u64)) + } + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasValidatorIncentiveWeight` (r:101 w:100) + /// Proof: `Staking::ErasValidatorIncentiveWeight` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `Measured`) + /// The range of component `v` is `[1, 1000]`. + fn prune_era_validator_incentive_weight(v: u32, ) -> Weight { + // Placeholder: will be replaced by running benchmarks. + Weight::from_parts(37_348_201, 4337) + // Standard Error: 14_006 + .saturating_add(Weight::from_parts(210_622, 0).saturating_mul(v.into())) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + .saturating_add(Weight::from_parts(0, 254).saturating_mul(v.into())) + } } diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs index 9d0985e1ad..eed9243dc9 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs @@ -31,7 +31,7 @@ impl frame_support::traits::Get for DapLastIssuanceTimestamp { } } -/// Default DAP budget allocation: 15% buffer, 85% staker rewards. +/// Default DAP budget allocation: 15% buffer, 85% staker rewards, 0% validator incentive. /// /// Matches the previous `EraPayout` split (15% treasury / 85% stakers), now enforced /// at the DAP drip level instead of at era payout time. The 15% share initially @@ -44,8 +44,9 @@ impl frame_support::traits::Get for DefaultDapB let recipients = ::BudgetRecipients::recipients(); // Order matches `pallet_dap::Config::BudgetRecipients`: - // [dap (buffer), StakerRewardRecipient] - let percentages = [Perbill::from_percent(15), Perbill::from_percent(85)]; + // [dap (buffer), StakerRewardRecipient, ValidatorIncentiveRecipient] + let percentages = + [Perbill::from_percent(15), Perbill::from_percent(85), Perbill::from_percent(0)]; let mut map = pallet_dap::BudgetAllocationMap::new(); for ((key, _), perbill) in recipients.into_iter().zip(percentages) { diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs index 3629c9649f..ae20d983fd 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs @@ -142,6 +142,9 @@ impl pallet_dap::Config for Runtime { pallet_staking_async::StakerRewardRecipient< pallet_staking_async::Seed, >, + pallet_staking_async::ValidatorIncentiveRecipient< + pallet_staking_async::Seed, + >, ); type Time = pallet_timestamp::Pallet; type IssuanceCadence = DapIssuanceCadence; diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs index ca320ecb87..09859a6d92 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs @@ -1059,4 +1059,29 @@ impl pallet_staking_async::WeightInfo for WeightInfo .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } + /// Storage: `Staking::OptimumSelfStake` (r:0 w:1) + /// Proof: `Staking::OptimumSelfStake` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Staking::SelfStakeSlopeFactor` (r:0 w:1) + /// Proof: `Staking::SelfStakeSlopeFactor` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::HardCapSelfStake` (r:0 w:1) + /// Proof: `Staking::HardCapSelfStake` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + fn set_validator_self_stake_incentive_config() -> Weight { + // Placeholder: will be replaced by running benchmarks. + Weight::from_parts(8_000_000, 0) + .saturating_add(T::DbWeight::get().writes(3_u64)) + } + /// Storage: `Staking::EraPruningState` (r:1 w:0) + /// Proof: `Staking::EraPruningState` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `Staking::ErasValidatorIncentiveWeight` (r:101 w:100) + /// Proof: `Staking::ErasValidatorIncentiveWeight` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `Measured`) + /// The range of component `v` is `[1, 1000]`. + fn prune_era_validator_incentive_weight(v: u32, ) -> Weight { + // Placeholder: will be replaced by running benchmarks. + Weight::from_parts(37_348_201, 4337) + // Standard Error: 14_006 + .saturating_add(Weight::from_parts(210_622, 0).saturating_mul(v.into())) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + .saturating_add(Weight::from_parts(0, 254).saturating_mul(v.into())) + } } From a161716f97eb53d37f4f0080f2a32fbf3351a4bd Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Thu, 30 Apr 2026 16:17:47 +0200 Subject: [PATCH 15/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11804 Signed-off-by: Oliver Tale-Yazdi --- system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs | 3 ++- system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) 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 0b4140302e..974a8e0ab9 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -376,6 +376,7 @@ impl pallet_assets::Config for Runtime { parameter_types! { pub const AssetConversionPalletId: PalletId = PalletId(*b"py/ascon"); pub const LiquidityWithdrawalFee: Permill = Permill::from_percent(0); + pub LpFee: Permill = Permill::from_rational(3u32, 1_000u32); // Storage deposit for pool setup within asset conversion pallet // and pool's lp token creation within assets pallet. pub const PoolSetupFee: Balance = system_para_deposit(1, 4) + AssetDeposit::get(); @@ -458,7 +459,7 @@ impl pallet_asset_conversion::Config for Runtime { type PoolSetupFeeAsset = KsmLocation; type PoolSetupFeeTarget = ResolveAssetTo; type LiquidityWithdrawalFee = LiquidityWithdrawalFee; - type LPFee = ConstU32<3>; + type LPFee = LpFee; type PalletId = AssetConversionPalletId; type MaxSwapPathLength = ConstU32<3>; type MintMinLiquidity = ConstU128<100>; diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 736b6ce470..28af5558e4 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -1126,6 +1126,7 @@ pub type NativeAndAssets = fungible::UnionOf< parameter_types! { pub const AssetConversionPalletId: PalletId = PalletId(*b"py/ascon"); pub const LiquidityWithdrawalFee: Permill = Permill::from_percent(0); + pub LpFee: Permill = Permill::from_rational(3u32, 1_000u32); // Storage deposit for pool setup within asset conversion pallet // and pool's lp token creation within assets pallet. pub const PoolSetupFee: Balance = system_para_deposit(1, 4) + AssetDeposit::get(); @@ -1153,7 +1154,7 @@ impl pallet_asset_conversion::Config for Runtime { type PoolSetupFeeAsset = DotLocation; type PoolSetupFeeTarget = ResolveAssetTo; type LiquidityWithdrawalFee = LiquidityWithdrawalFee; - type LPFee = ConstU32<3>; + type LPFee = LpFee; type PalletId = AssetConversionPalletId; type MaxSwapPathLength = ConstU32<3>; type MintMinLiquidity = ConstU128<100>; From c6fa9f23692995a9e9640466dfe2320080ced35c Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Thu, 30 Apr 2026 16:24:56 +0200 Subject: [PATCH 16/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11354 Signed-off-by: Oliver Tale-Yazdi --- .../bridge-hubs/bridge-hub-polkadot/src/lib.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs index 153aa4458e..f01fd5eca4 100644 --- a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs @@ -40,7 +40,7 @@ use bridge_to_kusama_config::bp_kusama; use codec::{Decode, DecodeWithMemTracking, Encode, MaxEncodedLen}; use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases; use cumulus_primitives_core::ParaId; -use snowbridge_core::{AgentId, PricingParameters}; +use snowbridge_core::{sparse_bitmap::SparseBitmap, AgentId, PricingParameters}; use snowbridge_outbound_queue_primitives::v1::{Command, Fee}; use sp_api::impl_runtime_apis; @@ -1500,6 +1500,12 @@ impl_runtime_apis! { } } + impl snowbridge_pallet_inbound_queue_v2::InboundQueueV2Api for Runtime { + fn is_message_relayed(nonce: u64) -> bool { + snowbridge_pallet_inbound_queue_v2::Nonce::::get(nonce) + } + } + impl snowbridge_system_runtime_api::ControlApi for Runtime { fn agent_id(location: VersionedLocation) -> Option { snowbridge_pallet_system::api::agent_id::(location) From b46d94e77065a3c3d6af691ab0bfcaca36b3779b Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Thu, 30 Apr 2026 16:53:47 +0200 Subject: [PATCH 17/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11930 Signed-off-by: Oliver Tale-Yazdi --- .../asset-hubs/asset-hub-polkadot/src/migrations.rs | 8 ++++++++ .../asset-hubs/asset-hub-polkadot/src/staking/mod.rs | 3 +++ 2 files changed, 11 insertions(+) diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs index eed9243dc9..8aa6306dc0 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs @@ -92,6 +92,14 @@ pub type Unreleased = ( DefaultDapBudget, crate::dynamic_params::staking_election::MaxEraDuration, >, + // Relocate already-funded era reward pots after the slot-based rotation (SDK #11930). + // Must run after DAP V1->V2 so `DisableMintingGuard` is set. Only StakerRewards needed + // — validator-incentive starts at 0% allocation, so no `ValidatorRewards` pots exist yet. + pallet_staking_async::migrations::MigrateEraPotsToPool< + Runtime, + crate::staking::StakingPotsPalletId, + crate::staking::StakingStakerRewardKind, + >, ); /// Migrations/checks that do not need to be versioned and can run on every update. diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs index ae20d983fd..d6139e2a4c 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs @@ -117,6 +117,9 @@ parameter_types! { pub const SlashRewardFraction: Perbill = Perbill::from_percent(1); pub const DapPalletId: PalletId = PalletId(*b"dap/buff"); pub const StakingPotsPalletId: PalletId = PalletId(*b"py/stkng"); + // Used for reward pot migration (MigrateEraPotsToPool). Can be removed once executed on-chain. + pub const StakingStakerRewardKind: pallet_staking_async::RewardKind = + pallet_staking_async::RewardKind::StakerRewards; /// Minimum time (ms) between issuance drips. 60s = drip at most once per minute. pub const DapIssuanceCadence: u64 = 60_000; /// Safety ceiling (ms) for elapsed time in a single drip. Prevents over-minting after stalls. From f349f7bd4d1f45bec8d7daa439688bff94fedf29 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Thu, 30 Apr 2026 19:40:20 +0200 Subject: [PATCH 18/59] Ignore Claude folder Signed-off-by: Oliver Tale-Yazdi --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8e61294cd5..782b814801 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ target/ *.snap *.json *.lz4 +.claude/ From 18c8332a26fdc1d879a421ddfd2e0859f979cff7 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Thu, 30 Apr 2026 18:20:19 +0200 Subject: [PATCH 19/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11817 Add `get_reserves` weight stub on PAH+KAH. SDK PR #11817 made it a required (no-default) method on `pallet_asset_conversion::WeightInfo`, so the local weight files won't compile without it. Placeholder values copied from the SDK's asset-hub-westend reference; re-bench before release. Signed-off-by: Oliver Tale-Yazdi --- .../src/weights/pallet_asset_conversion.rs | 9 +++++++++ .../src/weights/pallet_asset_conversion.rs | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_asset_conversion.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_asset_conversion.rs index 584a75502d..f3d85b0671 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_asset_conversion.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_asset_conversion.rs @@ -184,4 +184,13 @@ impl pallet_asset_conversion::WeightInfo for WeightInfo .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) } + /// Storage: `ForeignAssets::Asset` (r:2 w:0) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:2 w:0) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + fn get_reserves() -> Weight { + // Placeholder: will be replaced by running benchmarks. + Weight::from_parts(16_000_000, 6566) + .saturating_add(T::DbWeight::get().reads(4)) + } } diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_asset_conversion.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_asset_conversion.rs index ddc0f2d106..c24d9411d2 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_asset_conversion.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_asset_conversion.rs @@ -184,4 +184,13 @@ impl pallet_asset_conversion::WeightInfo for WeightInfo .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) } + /// Storage: `ForeignAssets::Asset` (r:2 w:0) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:2 w:0) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + fn get_reserves() -> Weight { + // Placeholder: will be replaced by running benchmarks. + Weight::from_parts(16_000_000, 6566) + .saturating_add(T::DbWeight::get().reads(4)) + } } From 3240115cfb3b7e6df40b7e4cea77bfd32313066b Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Mon, 4 May 2026 14:24:46 +0200 Subject: [PATCH 20/59] Update to polkadot-unstable2604-rc1 Signed-off-by: Oliver Tale-Yazdi --- Cargo.lock | 4139 ++++++++++++++++++++++++++-------------------------- Cargo.toml | 366 ++--- 2 files changed, 2214 insertions(+), 2291 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6683f811af..bf5eae9148 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -529,17 +529,6 @@ dependencies = [ "ark-std 0.5.0", ] -[[package]] -name = "ark-bn254" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-std 0.4.0", -] - [[package]] name = "ark-bn254" version = "0.5.0" @@ -548,30 +537,10 @@ checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" dependencies = [ "ark-ec 0.5.0", "ark-ff 0.5.0", - "ark-r1cs-std 0.5.0", + "ark-r1cs-std", "ark-std 0.5.0", ] -[[package]] -name = "ark-crypto-primitives" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-r1cs-std 0.4.0", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-snark", - "ark-std 0.4.0", - "blake2 0.10.6", - "derivative", - "digest 0.10.7", - "sha2 0.10.9", - "tracing", -] - [[package]] name = "ark-ec" version = "0.4.2" @@ -748,21 +717,6 @@ dependencies = [ "syn 2.0.114", ] -[[package]] -name = "ark-groth16" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" -dependencies = [ - "ark-crypto-primitives", - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-poly 0.4.2", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-std 0.4.0", -] - [[package]] name = "ark-poly" version = "0.4.2" @@ -791,23 +745,6 @@ dependencies = [ "hashbrown 0.15.5", ] -[[package]] -name = "ark-r1cs-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de1d1472e5cb020cb3405ce2567c91c8d43f21b674aef37b0202f5c3304761db" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-relations 0.4.0", - "ark-std 0.4.0", - "derivative", - "num-bigint", - "num-integer", - "num-traits", - "tracing", -] - [[package]] name = "ark-r1cs-std" version = "0.5.0" @@ -816,7 +753,7 @@ checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" dependencies = [ "ark-ec 0.5.0", "ark-ff 0.5.0", - "ark-relations 0.5.1", + "ark-relations", "ark-std 0.5.0", "educe", "num-bigint", @@ -825,18 +762,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "ark-relations" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" -dependencies = [ - "ark-ff 0.4.2", - "ark-std 0.4.0", - "tracing", - "tracing-subscriber 0.2.25", -] - [[package]] name = "ark-relations" version = "0.5.1" @@ -906,18 +831,6 @@ dependencies = [ "syn 2.0.114", ] -[[package]] -name = "ark-snark" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" -dependencies = [ - "ark-ff 0.4.2", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-std 0.4.0", -] - [[package]] name = "ark-std" version = "0.3.0" @@ -977,7 +890,26 @@ dependencies = [ "digest 0.10.7", "rand_chacha 0.3.1", "sha2 0.10.9", - "w3f-ring-proof", + "w3f-ring-proof 0.0.2", + "zeroize", +] + +[[package]] +name = "ark-vrf" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f69f34cb5a7d5d4627792c7a6343508becc19deab59a87ef73367cc112dfd02c" +dependencies = [ + "ark-bls12-381 0.5.0", + "ark-ec 0.5.0", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "digest 0.10.7", + "generic-array 0.14.7", + "sha2 0.10.9", + "w3f-ring-proof 0.0.8", "zeroize", ] @@ -1109,7 +1041,7 @@ dependencies = [ "parity-scale-codec", "penpal-emulated-chain", "polkadot-parachain-primitives", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-keyring", "staging-xcm", "staging-xcm-builder", @@ -1141,7 +1073,7 @@ dependencies = [ "parachains-common", "parity-scale-codec", "polkadot-runtime-common", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-tracing", "staging-kusama-runtime", "staging-xcm", @@ -1184,6 +1116,7 @@ dependencies = [ "log", "pallet-ah-ops", "pallet-asset-conversion", + "pallet-asset-conversion-precompiles", "pallet-asset-conversion-tx-payment", "pallet-asset-rate", "pallet-assets", @@ -1232,6 +1165,7 @@ dependencies = [ "pallet-uniques", "pallet-utility", "pallet-vesting", + "pallet-vesting-precompiles", "pallet-whitelist", "pallet-xcm", "pallet-xcm-benchmarks", @@ -1248,7 +1182,7 @@ dependencies = [ "scale-info", "serde_json", "snowbridge-inbound-queue-primitives", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", @@ -1256,19 +1190,19 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", "sp-npos-elections", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-staking", "sp-storage 23.0.0", "sp-tracing", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "sp-weights 34.0.0", "staging-kusama-runtime", "staging-parachain-info", @@ -1297,7 +1231,7 @@ dependencies = [ "polkadot-emulated-chain", "polkadot-parachain-primitives", "snowbridge-inbound-queue-primitives", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-keyring", "staging-xcm", "staging-xcm-builder", @@ -1332,7 +1266,7 @@ dependencies = [ "polkadot-runtime-common", "polkadot-runtime-constants", "polkadot-system-emulated-network", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-tracing", "staging-xcm", "staging-xcm-builder", @@ -1378,6 +1312,7 @@ dependencies = [ "log", "pallet-ah-ops", "pallet-asset-conversion", + "pallet-asset-conversion-precompiles", "pallet-asset-conversion-tx-payment", "pallet-asset-rate", "pallet-assets", @@ -1423,6 +1358,7 @@ dependencies = [ "pallet-uniques", "pallet-utility", "pallet-vesting", + "pallet-vesting-precompiles", "pallet-whitelist", "pallet-xcm", "pallet-xcm-benchmarks", @@ -1444,7 +1380,7 @@ dependencies = [ "snowbridge-outbound-queue-primitives", "snowbridge-pallet-system-frontend", "snowbridge-runtime-common", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", @@ -1452,19 +1388,19 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", "sp-npos-elections", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-staking", "sp-storage 23.0.0", "sp-tracing", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "sp-weights 34.0.0", "staging-parachain-info", "staging-xcm", @@ -1479,9 +1415,9 @@ dependencies = [ [[package]] name = "asset-test-utils" -version = "30.0.0" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa0bceabe14ead0cba43dabb264c0902526c2733e2315b0a59a6621c445ac92" +checksum = "6ddce94b873a0b2b935d08ae99c74476f36da4448ed2e2d04d16adb8eb3cd4cc" dependencies = [ "assets-common", "cumulus-pallet-parachain-system", @@ -1500,8 +1436,8 @@ dependencies = [ "parachains-common", "parachains-runtimes-test-utils", "parity-scale-codec", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -1511,9 +1447,9 @@ dependencies = [ [[package]] name = "assets-common" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e44df8294aa6bcc5793c23070d3bbe6f181d02c31947eb03ce818e7495af9561" +checksum = "8466c29d8ed20032995f698dca7333aef406ce541f397fa4fff213e9106a6238" dependencies = [ "cumulus-primitives-core", "ethereum-standards", @@ -1529,9 +1465,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 41.0.0", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -1867,7 +1803,7 @@ version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90dbd31c98227229239363921e60fcf5e558e43ec69094d46fc4996f08d1d5bc" dependencies = [ - "bitcoin_hashes 0.13.0", + "bitcoin_hashes 0.14.1", "rand 0.8.5", "rand_core 0.6.4", "serde", @@ -2100,7 +2036,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", + "sp-core 41.0.0", "staging-xcm", "system-parachains-constants", ] @@ -2113,16 +2049,16 @@ dependencies = [ "frame-support", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", + "sp-core 41.0.0", "staging-xcm", "system-parachains-constants", ] [[package]] name = "bp-bridge-hub-cumulus" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add75719767a983f13761a977be1fa8c3933ab5e33d7d901c44522e4a60011e3" +checksum = "3bb185eb63d9e62f252758852d88d5de1754745bb5978d989df7b7352a71f440" dependencies = [ "bp-messages", "bp-polkadot-core", @@ -2131,7 +2067,7 @@ dependencies = [ "frame-system", "parachains-common", "polkadot-primitives", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-std", ] @@ -2147,8 +2083,8 @@ dependencies = [ "frame-support", "kusama-runtime-constants", "polkadot-runtime-constants", - "sp-api 41.0.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-runtime 47.0.0", "sp-std", "system-parachains-constants", ] @@ -2166,8 +2102,8 @@ dependencies = [ "kusama-runtime-constants", "polkadot-runtime-constants", "snowbridge-core", - "sp-api 41.0.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "system-parachains-constants", @@ -2175,9 +2111,9 @@ dependencies = [ [[package]] name = "bp-header-chain" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4986b30b44e2e80df5468e95d47d21026bdd028dfa6dd311813a2ae7295b5bd2" +checksum = "6ec6f864bc47e990ae43d191820ae764a819c8f9e6146fe46f3b548b98e13a2a" dependencies = [ "bp-runtime", "finality-grandpa", @@ -2186,16 +2122,16 @@ dependencies = [ "scale-info", "serde", "sp-consensus-grandpa", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-std", ] [[package]] name = "bp-messages" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a91e151f6d635ae1e31fbcf82f119facc9137420f46d8160b3ac7f900bc2ef" +checksum = "5903de428c8a5dd1d0a945eb209511aef3703c9bdb9d27692f04589eef71287b" dependencies = [ "bp-header-chain", "bp-runtime", @@ -2203,16 +2139,16 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", "sp-std", ] [[package]] name = "bp-parachains" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fadd0330c59a79ad688ced9c7d5a0f889ae84483fc546866c2ee23f348376bb" +checksum = "4043cb6f65ac01d130514868171b55296e4eb9b3cfa97f8829ca5538c7401a57" dependencies = [ "bp-header-chain", "bp-polkadot-core", @@ -2221,16 +2157,16 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-std", ] [[package]] name = "bp-polkadot-core" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b3a3975ba99e9b422efd0ec82278fb02ef43edee8f2f92f7396925b0c7eccb" +checksum = "205de02b1699b38425cd4a070db49137d81398ce9cb32aa5031c17d5a6f26d8d" dependencies = [ "bp-messages", "bp-runtime", @@ -2239,16 +2175,16 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-std", ] [[package]] name = "bp-relayers" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb01abc0666c1d929c5463c033dea39ebc0f8333b6bba4998cadd2e7b2827a9" +checksum = "7307bc43700f770a9e9c0c2d24f13ba487f8d8616fe3788b186b489253854bc9" dependencies = [ "bp-header-chain", "bp-messages", @@ -2259,15 +2195,15 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-std", ] [[package]] name = "bp-runtime" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a077b5cf7ef6437d7d61394a35419cf1b0f8dab77e7bafa3aafca04c61104b8" +checksum = "b533f60ba5be417ee53b67afb755eeffd71cf9b38449f1b888c6b8feaaaf0608" dependencies = [ "frame-support", "frame-system", @@ -2277,21 +2213,21 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", "sp-std", - "sp-trie 43.0.0", + "sp-trie 44.0.0", "tracing", "trie-db 0.31.0", ] [[package]] name = "bp-test-utils" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77d10ca74df4c744901f717bc49e531ec36aeac2d35c5c0b7420192c14fab557" +checksum = "40a2f73aa33c4d6a09682166084fd0426e705f8c5a98dfde9284e5f52a718e08" dependencies = [ "bp-header-chain", "bp-parachains", @@ -2300,19 +2236,19 @@ dependencies = [ "ed25519-dalek", "finality-grandpa", "parity-scale-codec", - "sp-application-crypto 45.0.0", + "sp-application-crypto 46.0.0", "sp-consensus-grandpa", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-std", - "sp-trie 43.0.0", + "sp-trie 44.0.0", ] [[package]] name = "bp-xcm-bridge-hub" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5087b848c998364d25bb119dc14408a745cac877d97e8d4c64601681a1f71f4" +checksum = "af2d6657c0081fd3c012e91861d80c641c0d9f9793428280bb1e5165efb7e787" dependencies = [ "bp-messages", "bp-runtime", @@ -2320,30 +2256,30 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", "sp-std", "staging-xcm", ] [[package]] name = "bp-xcm-bridge-hub-router" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c0b71a00e16b2e43eb45da61d3111167f207d41229ee5e22656a806cdb14d0" +checksum = "19557adec7a371a19610fa9c7a2f9bc27a14765c6bc01ef8eeefb1bfbdabfff1" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "staging-xcm", ] [[package]] name = "bridge-hub-common" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b9983f3368061acf119b9d1715cfcc4e06fead5ed0731b457bb92e153e9ff8" +checksum = "19b9d31d31873281594cc85d2fa32895a8271e41fe7ce4e2b0a9abd4f56a751e" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2351,8 +2287,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "snowbridge-core", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "staging-xcm-builder", @@ -2369,7 +2305,7 @@ dependencies = [ "emulated-integration-tests-common", "frame-support", "parachains-common", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-keyring", "staging-xcm", ] @@ -2403,8 +2339,8 @@ dependencies = [ "snowbridge-pallet-inbound-queue-fixtures", "snowbridge-pallet-outbound-queue", "snowbridge-pallet-system", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-executor", "system-parachains-constants", @@ -2480,20 +2416,20 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-block-builder", "sp-consensus-aura", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", "sp-keyring", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-storage 23.0.0", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -2514,7 +2450,7 @@ dependencies = [ "emulated-integration-tests-common", "frame-support", "parachains-common", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-keyring", "staging-xcm", ] @@ -2562,9 +2498,9 @@ dependencies = [ "snowbridge-pallet-system", "snowbridge-pallet-system-frontend", "snowbridge-pallet-system-v2", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2662,20 +2598,20 @@ dependencies = [ "snowbridge-runtime-test-common", "snowbridge-system-runtime-api", "snowbridge-system-v2-runtime-api", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-block-builder", "sp-consensus-aura", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", "sp-keyring", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-storage 23.0.0", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -2688,9 +2624,9 @@ dependencies = [ [[package]] name = "bridge-hub-test-utils" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d4586467157d112bbab6bc39dfdbdcf776956d0d48edfb436e5adf77887961" +checksum = "e09cbb97ee6d2f884ddb3d765c2b9ec4281ee39e7fa6f29d4b90c9c529705dca" dependencies = [ "asset-test-utils", "bp-header-chain", @@ -2717,10 +2653,10 @@ dependencies = [ "parachains-common", "parachains-runtimes-test-utils", "parity-scale-codec", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", "sp-keyring", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-std", "sp-tracing", "staging-xcm", @@ -2731,9 +2667,9 @@ dependencies = [ [[package]] name = "bridge-runtime-common" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be8f1e509e1b5d4288b4fa9ad53e3bc77e7655b62472ca0fe7d288a6a48bb39" +checksum = "6126cda84d9603d310ef778d8e244e04feef81bead80679ebb5e38913b9660f7" dependencies = [ "bp-header-chain", "bp-messages", @@ -2751,10 +2687,10 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", - "sp-trie 43.0.0", + "sp-trie 44.0.0", "sp-weights 34.0.0", "staging-xcm", "static_assertions", @@ -2791,7 +2727,7 @@ dependencies = [ "frame-support", "parachains-common", "polkadot-runtime-constants", - "sp-core 40.0.0", + "sp-core 41.0.0", ] [[package]] @@ -2852,20 +2788,20 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-block-builder", "sp-consensus-aura", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", "sp-keyring", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-storage 23.0.0", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "sp-weights 34.0.0", "staging-parachain-info", "staging-xcm", @@ -3061,13 +2997,12 @@ dependencies = [ "collectives-polkadot-runtime", "coretime-kusama-runtime", "coretime-polkadot-runtime", - "encointer-kusama-runtime", "glutton-kusama-runtime", "people-kusama-runtime", "people-polkadot-runtime", "polkadot-runtime", - "sc-chain-spec 49.0.0", - "sc-network 0.56.0", + "sc-chain-spec 50.0.0", + "sc-network 0.57.0", "serde", "serde_json", "staging-kusama-runtime", @@ -3201,7 +3136,7 @@ dependencies = [ "emulated-integration-tests-common", "frame-support", "parachains-common", - "sp-core 40.0.0", + "sp-core 41.0.0", ] [[package]] @@ -3234,8 +3169,8 @@ dependencies = [ "polkadot-runtime-common", "polkadot-runtime-constants", "polkadot-system-emulated-network", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-executor", "system-parachains-constants", @@ -3299,20 +3234,20 @@ dependencies = [ "polkadot-runtime-constants", "scale-info", "serde_json", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-arithmetic", "sp-block-builder", "sp-consensus-aura", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-storage 23.0.0", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -3524,7 +3459,7 @@ dependencies = [ "emulated-integration-tests-common", "frame-support", "parachains-common", - "sp-core 40.0.0", + "sp-core 41.0.0", ] [[package]] @@ -3548,7 +3483,7 @@ dependencies = [ "parity-scale-codec", "polkadot-runtime-common", "polkadot-runtime-parachains", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "staging-kusama-runtime", "staging-xcm", "staging-xcm-executor", @@ -3603,18 +3538,18 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-block-builder", "sp-consensus-aura", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-storage 23.0.0", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -3633,7 +3568,7 @@ dependencies = [ "emulated-integration-tests-common", "frame-support", "parachains-common", - "sp-core 40.0.0", + "sp-core 41.0.0", ] [[package]] @@ -3657,7 +3592,7 @@ dependencies = [ "polkadot-runtime-constants", "polkadot-runtime-parachains", "polkadot-system-emulated-network", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-executor", "xcm-runtime-apis", @@ -3711,19 +3646,19 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-arithmetic", "sp-block-builder", "sp-consensus-aura", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-storage 23.0.0", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -3757,7 +3692,16 @@ version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ae7b60ec3fd7162427d3b3801520a1908bef7c035b52983cd3ca11b8e7deb51" dependencies = [ - "cranelift-assembler-x64-meta", + "cranelift-assembler-x64-meta 0.122.0", +] + +[[package]] +name = "cranelift-assembler-x64" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb1ffe339f197d6645b4d3037edf67c13cd3aa8871f29c2c9c046c729c1b9a17" +dependencies = [ + "cranelift-assembler-x64-meta 0.123.8", ] [[package]] @@ -3766,7 +3710,16 @@ version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6511c200fed36452697b4b6b161eae57d917a2044e6333b1c1389ed63ccadeee" dependencies = [ - "cranelift-srcgen", + "cranelift-srcgen 0.122.0", +] + +[[package]] +name = "cranelift-assembler-x64-meta" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e81a21df73d1b12ed19eba481c08de8891e179e1870ed28d6e397f7746108f5" +dependencies = [ + "cranelift-srcgen 0.123.8", ] [[package]] @@ -3775,7 +3728,16 @@ version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f7086a645aa58bae979312f64e3029ac760ac1b577f5cd2417844842a2ca07f" dependencies = [ - "cranelift-entity", + "cranelift-entity 0.122.0", +] + +[[package]] +name = "cranelift-bforest" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cf917d0180c15c945c13c8dde615d32a015769513b29158f728311d85a8f80d" +dependencies = [ + "cranelift-entity 0.123.8", ] [[package]] @@ -3788,6 +3750,16 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "cranelift-bitset" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6f4e1af2df00798c2895d228bb53d65c5aa09acace8525096f0b53830ffe42c" +dependencies = [ + "serde", + "serde_derive", +] + [[package]] name = "cranelift-codegen" version = "0.122.0" @@ -3795,24 +3767,51 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "858fb3331e53492a95979378d6df5208dd1d0d315f19c052be8115f4efc888e0" dependencies = [ "bumpalo", - "cranelift-assembler-x64", - "cranelift-bforest", - "cranelift-bitset", - "cranelift-codegen-meta", - "cranelift-codegen-shared", - "cranelift-control", - "cranelift-entity", - "cranelift-isle", + "cranelift-assembler-x64 0.122.0", + "cranelift-bforest 0.122.0", + "cranelift-bitset 0.122.0", + "cranelift-codegen-meta 0.122.0", + "cranelift-codegen-shared 0.122.0", + "cranelift-control 0.122.0", + "cranelift-entity 0.122.0", + "cranelift-isle 0.122.0", "gimli 0.31.1", "hashbrown 0.15.5", "log", - "pulley-interpreter", + "pulley-interpreter 35.0.0", + "regalloc2 0.12.2", + "rustc-hash 2.1.1", + "serde", + "smallvec", + "target-lexicon", + "wasmtime-internal-math 35.0.0", +] + +[[package]] +name = "cranelift-codegen" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e3a5d7300e4b44933dcf2947399945abe3f30f92c789b496ad72949e3ee15a6" +dependencies = [ + "bumpalo", + "cranelift-assembler-x64 0.123.8", + "cranelift-bforest 0.123.8", + "cranelift-bitset 0.123.8", + "cranelift-codegen-meta 0.123.8", + "cranelift-codegen-shared 0.123.8", + "cranelift-control 0.123.8", + "cranelift-entity 0.123.8", + "cranelift-isle 0.123.8", + "gimli 0.32.3", + "hashbrown 0.15.5", + "log", + "pulley-interpreter 36.0.8", "regalloc2 0.12.2", "rustc-hash 2.1.1", "serde", "smallvec", "target-lexicon", - "wasmtime-internal-math", + "wasmtime-internal-math 36.0.8", ] [[package]] @@ -3821,10 +3820,23 @@ version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456715b9d5f12398f156d5081096e7b5d039f01b9ecc49790a011c8e43e65b5f" dependencies = [ - "cranelift-assembler-x64-meta", - "cranelift-codegen-shared", - "cranelift-srcgen", - "pulley-interpreter", + "cranelift-assembler-x64-meta 0.122.0", + "cranelift-codegen-shared 0.122.0", + "cranelift-srcgen 0.122.0", + "pulley-interpreter 35.0.0", +] + +[[package]] +name = "cranelift-codegen-meta" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "becdb5c3111800d7f8e666fe5f35693bfc77de4401bfcaea19815caf7c482fb9" +dependencies = [ + "cranelift-assembler-x64-meta 0.123.8", + "cranelift-codegen-shared 0.123.8", + "cranelift-srcgen 0.123.8", + "heck 0.5.0", + "pulley-interpreter 36.0.8", ] [[package]] @@ -3833,6 +3845,12 @@ version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0306041099499833f167a0ddb707e1e54100f1a84eab5631bc3dad249708f482" +[[package]] +name = "cranelift-codegen-shared" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8fa77efffa12934971f757e154b16dd5e369a7f388a0f3adff74aadfd4c5a1d" + [[package]] name = "cranelift-control" version = "0.122.0" @@ -3842,13 +3860,33 @@ dependencies = [ "arbitrary", ] +[[package]] +name = "cranelift-control" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62441d3aae3372381e03a121880482158ce90ca3bc2a56607cc122ee07536fe4" +dependencies = [ + "arbitrary", +] + [[package]] name = "cranelift-entity" version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa3cd55eb5f3825b9ae5de1530887907360a6334caccdc124c52f6d75246c98a" dependencies = [ - "cranelift-bitset", + "cranelift-bitset 0.122.0", + "serde", + "serde_derive", +] + +[[package]] +name = "cranelift-entity" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bdc9832a010e0d411439aa016e1664dd23ca5c8953bf26b90fe34ad4b76822d" +dependencies = [ + "cranelift-bitset 0.123.8", "serde", "serde_derive", ] @@ -3859,7 +3897,19 @@ version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "781f9905f8139b8de22987b66b522b416fe63eb76d823f0b3a8c02c8fd9500c7" dependencies = [ - "cranelift-codegen", + "cranelift-codegen 0.122.0", + "log", + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cranelift-frontend" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9530b689b7c3accdbb32263ca318e19ab3bcf616d3a160c8456537c99b4c565b" +dependencies = [ + "cranelift-codegen 0.123.8", "log", "smallvec", "target-lexicon", @@ -3871,13 +3921,30 @@ version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a05337a2b02c3df00b4dd9a263a027a07b3dff49f61f7da3b5d195c21eaa633d" +[[package]] +name = "cranelift-isle" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fcd3258a4d87376f2681c72269a42009286a3d3707b2af4024ba5b3750ad477" + [[package]] name = "cranelift-native" version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eee7a496dd66380082c9c5b6f2d5fa149cec0ec383feec5caf079ca2b3671c2" dependencies = [ - "cranelift-codegen", + "cranelift-codegen 0.122.0", + "libc", + "target-lexicon", +] + +[[package]] +name = "cranelift-native" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "642c5703a22b58abccbf46f46c0dae65f0535bbe725beec70527a1ffcbbc1d34" +dependencies = [ + "cranelift-codegen 0.123.8", "libc", "target-lexicon", ] @@ -3888,6 +3955,12 @@ version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b530783809a55cb68d070e0de60cfbb3db0dc94c8850dd5725411422bedcf6bb" +[[package]] +name = "cranelift-srcgen" +version = "0.123.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d200dcd5a37de108ec1329e0ba924e2badd2c0ef2343c338310135159ae454e2" + [[package]] name = "crc" version = "3.4.0" @@ -4036,9 +4109,9 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6003f82320a41c7f52d9d531cb73eb5e1eba7198468db7e0bbd8246737bcbbe7" +checksum = "d77e4e2eabcd039fa312527c106febf4ab51a7878b3b82b57dd5b51e0294eb08" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -4047,16 +4120,16 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 45.0.0", + "sp-application-crypto 46.0.0", "sp-consensus-aura", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "cumulus-pallet-parachain-system" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea5cb0fe1000137f7f94676001138caec7284d0ff41ddac61dad2fc411ebe80" +checksum = "7584e55f8f82926d36126168a0b94712ad6fe01e03dd83b27d7ae5ad70184fc0" dependencies = [ "array-bytes 6.2.3", "bytes", @@ -4079,18 +4152,18 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-consensus-babe", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-crypto-hashing", "sp-externalities 0.32.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", "sp-std", - "sp-trie 43.0.0", - "sp-version 44.0.0", + "sp-trie 44.0.0", + "sp-version 45.0.0", "staging-xcm", "staging-xcm-builder", "trie-db 0.31.0", @@ -4110,23 +4183,23 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" -version = "27.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff8d0c77bf779dab4812affeb0fd60bbe01174f6f8bf4d345441fb9d90b4482" +checksum = "cfc645400b6f8c249406daf573c298908f87a9eb41ed6b59b18856a97fc53a26" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "pallet-session", "parity-scale-codec", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "cumulus-pallet-weight-reclaim" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879349824c8662673c7c32f9d9c8e017e0849056a3ed6637347fe8058cfb5cba" +checksum = "c35f07e0f5f3ff2448938d63f71cb9a2d587933c1f011e0a4dd9f3a1ec61b237" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "derive-where", @@ -4137,32 +4210,32 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-trie 43.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-trie 44.0.0", ] [[package]] name = "cumulus-pallet-xcm" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58ebcb3391e8e60d4388436a4f6982f3ebfc29845eb63bb8a0d2ece68a7f1784" +checksum = "93d8286937b73e739e2ea4d288863966e86ffbd4da3cf142fe92cb138cff5164" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", ] [[package]] name = "cumulus-pallet-xcmp-queue" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fdd6068945450b7ebb79661aef08fe948da553424f499154112a27301ac17b1" +checksum = "dc83b39f928db62f3d3b13337cd856da414a324072a89a404dbd05d0a663463f" dependencies = [ "approx", "bitflags 1.3.2", @@ -4177,9 +4250,9 @@ dependencies = [ "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -4188,63 +4261,63 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef3f1a5bbfefcbc005e09ad027198c78c61d90ac7d92a48f16ca8ee1cf3bffdf" +checksum = "e5969a4eb1c80957b6f1bae5a7620be955d4dca7b8669f851778459822765d45" dependencies = [ - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-consensus-aura", ] [[package]] name = "cumulus-primitives-core" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cc8e435e7fe94240399dc856ce2bce0fd4af696d64a53873867eeaa77e875d0" +checksum = "674e8ce4ff7f1d757d13583edaf1f75c50cc03f96b7d296930e486470335993c" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", "polkadot-parachain-primitives", "polkadot-primitives", "scale-info", - "sp-api 41.0.0", - "sp-runtime 46.0.0", - "sp-trie 43.0.0", + "sp-api 42.0.0", + "sp-runtime 47.0.0", + "sp-trie 44.0.0", "staging-xcm", "tracing", ] [[package]] name = "cumulus-primitives-parachain-inherent" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4215b2e8bacf54f152c86eae6a47444d915f752d22246545862013421448187a" +checksum = "080a10b5b09057024de40a76529f3c76eb961e1dbaf49e8f524a25418691a7ab" dependencies = [ "async-trait", "cumulus-primitives-core", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-inherents 41.0.0", - "sp-trie 43.0.0", + "sp-core 41.0.0", + "sp-inherents 42.0.0", + "sp-trie 44.0.0", ] [[package]] name = "cumulus-primitives-proof-size-hostfunction" -version = "0.17.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2812a3bf842bc07b87bf5a8e45d548630af4921b04584db00391cd18bbb082f7" +checksum = "6e13a20297cb69139abda6198f06bc931afa92ade4eb218e706177c9247f2893" dependencies = [ "sp-externalities 0.32.0", - "sp-runtime-interface 34.0.0", - "sp-trie 43.0.0", + "sp-runtime-interface 35.0.0", + "sp-trie 44.0.0", ] [[package]] name = "cumulus-primitives-storage-weight-reclaim" -version = "17.0.0" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ec737a8e29197cd18753563c4cfb9781f59e8d61cb09457ddbe5848d532c287" +checksum = "bad827cc26c1d34927f34d306f62a93f9104485d05cf7bd02e27d2168d5c6991" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-proof-size-hostfunction", @@ -4255,14 +4328,14 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "cumulus-primitives-utility" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fba4e756351a8a660b7c7a992020aeadc5166110db25528598aaa0e9abc0e8d" +checksum = "a790fbfc051215754cebac5644c63e3c20d75f5c908022160a930a234e9f08b1" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -4270,7 +4343,7 @@ dependencies = [ "pallet-asset-conversion", "parity-scale-codec", "polkadot-runtime-common", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -4278,20 +4351,20 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad6b2aa7f52ef4fa25e2c1b7aafe0a54645fa09e4d55ea4462038054c45217da" +checksum = "0b295ce23943829ce98bf23f6cb1111f615af6a0ee2ccce5390a90edaff32a85" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "polkadot-primitives", "sp-consensus-babe", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", "sp-keyring", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", - "sp-trie 43.0.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", + "sp-trie 44.0.0", ] [[package]] @@ -4878,9 +4951,9 @@ checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" [[package]] name = "emulated-integration-tests-common" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb1c0c2f85261947781e01b91eeb883e919a3b4d780ca87c00c7bc282ce042d" +checksum = "1598710fc59310262898a74a1406e26023ff8b44055207da739e8e013a856386" dependencies = [ "asset-test-utils", "bp-messages", @@ -4891,10 +4964,12 @@ dependencies = [ "frame-support", "frame-system", "hex-literal", + "pallet-accumulate-and-forward", "pallet-asset-conversion", "pallet-assets", "pallet-balances", "pallet-bridge-messages", + "pallet-dap", "pallet-message-queue", "pallet-whitelist", "pallet-xcm", @@ -4909,9 +4984,10 @@ dependencies = [ "sp-authority-discovery", "sp-consensus-babe", "sp-consensus-beefy", - "sp-core 40.0.0", + "sp-core 41.0.0", + "sp-dap", "sp-keyring", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -4936,258 +5012,22 @@ dependencies = [ ] [[package]] -name = "encointer-balances-tx-payment" -version = "22.1.0" +name = "enum-as-inner" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d1e93c3b9a5fb572c4f94338e75a8c6d1823fabb4bd96c79fde0327e581e51f" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ - "encointer-primitives", - "frame-support", - "frame-system", - "log", - "pallet-asset-tx-payment", - "pallet-encointer-balances", - "pallet-encointer-ceremonies", - "pallet-transaction-payment", - "sp-runtime 46.0.0", + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] -name = "encointer-balances-tx-payment-rpc-runtime-api" -version = "22.1.0" +name = "enum-display" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99833c6a64a27a8805c88bb1468511891d0bbf5d75e7c42b663083f5a003eaf6" -dependencies = [ - "encointer-primitives", - "frame-support", - "parity-scale-codec", - "scale-info", - "sp-api 41.0.0", - "sp-std", -] - -[[package]] -name = "encointer-ceremonies-assignment" -version = "22.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53bad26bba8b9e8b90f0e3b4fe1e914c8d8603a45defbb4fc1e5f41e0babb36" -dependencies = [ - "encointer-primitives", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "encointer-kusama-emulated-chain" -version = "1.0.0" -dependencies = [ - "cumulus-primitives-core", - "emulated-integration-tests-common", - "encointer-kusama-runtime", - "frame-support", - "integration-tests-helpers", - "kusama-emulated-chain", - "parachains-common", - "polkadot-parachain-primitives", - "sp-core 40.0.0", - "sp-keyring", - "staging-xcm", - "staging-xcm-builder", -] - -[[package]] -name = "encointer-kusama-integration-tests" -version = "1.0.0" -dependencies = [ - "asset-hub-kusama-runtime", - "asset-test-utils", - "cumulus-pallet-parachain-system", - "emulated-integration-tests-common", - "encointer-kusama-runtime", - "frame-support", - "integration-tests-helpers", - "kusama-runtime-constants", - "kusama-system-emulated-network", - "pallet-assets", - "pallet-balances", - "pallet-identity", - "pallet-message-queue", - "pallet-xcm", - "parachains-common", - "parity-scale-codec", - "polkadot-runtime-common", - "sp-runtime 46.0.0", - "sp-tracing", - "staging-kusama-runtime", - "staging-xcm", - "staging-xcm-builder", - "staging-xcm-executor", - "xcm-runtime-apis", -] - -[[package]] -name = "encointer-kusama-runtime" -version = "1.0.0" -dependencies = [ - "cumulus-pallet-aura-ext", - "cumulus-pallet-parachain-system", - "cumulus-pallet-session-benchmarking", - "cumulus-pallet-weight-reclaim", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-aura", - "cumulus-primitives-core", - "cumulus-primitives-utility", - "encointer-balances-tx-payment", - "encointer-balances-tx-payment-rpc-runtime-api", - "encointer-primitives", - "frame-benchmarking", - "frame-executive", - "frame-metadata-hash-extension", - "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", - "pallet-assets", - "pallet-aura", - "pallet-authorship", - "pallet-balances", - "pallet-collator-selection", - "pallet-collective", - "pallet-encointer-balances", - "pallet-encointer-bazaar", - "pallet-encointer-bazaar-rpc-runtime-api", - "pallet-encointer-ceremonies", - "pallet-encointer-ceremonies-rpc-runtime-api", - "pallet-encointer-communities", - "pallet-encointer-communities-rpc-runtime-api", - "pallet-encointer-democracy", - "pallet-encointer-faucet", - "pallet-encointer-offline-payment", - "pallet-encointer-reputation-commitments", - "pallet-encointer-reputation-rings", - "pallet-encointer-scheduler", - "pallet-encointer-treasuries", - "pallet-encointer-treasuries-rpc-runtime-api", - "pallet-insecure-randomness-collective-flip", - "pallet-membership", - "pallet-message-queue", - "pallet-proxy", - "pallet-scheduler", - "pallet-session", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-utility", - "pallet-xcm", - "pallet-xcm-benchmarks", - "parachains-common", - "parachains-runtimes-test-utils", - "parity-scale-codec", - "polkadot-core-primitives", - "polkadot-parachain-primitives", - "polkadot-primitives", - "polkadot-runtime-common", - "scale-info", - "serde_json", - "smallvec", - "sp-api 41.0.0", - "sp-block-builder", - "sp-consensus-aura", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", - "sp-offchain", - "sp-runtime 46.0.0", - "sp-session", - "sp-tracing", - "sp-transaction-pool", - "sp-version 44.0.0", - "staging-parachain-info", - "staging-xcm", - "staging-xcm-builder", - "staging-xcm-executor", - "substrate-wasm-builder", - "system-parachains-constants", - "xcm-runtime-apis", -] - -[[package]] -name = "encointer-meetup-validation" -version = "22.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d186334c330f8ab6f62ff49126850959893e179d1319e86048f8643f1f053c9" -dependencies = [ - "encointer-primitives", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "encointer-offline-payment-core" -version = "22.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406cf8579c72065c9d415da0de9755ad6f0ea5b3f415dbf800bdcebe4ac0750b" -dependencies = [ - "ark-bn254 0.4.0", - "ark-crypto-primitives", - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-groth16", - "ark-r1cs-std 0.4.0", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-snark", - "ark-std 0.4.0", -] - -[[package]] -name = "encointer-primitives" -version = "22.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78994f88d65ec4168153e8ce79eba318888e705ba629af8bab4b9c8204600c02" -dependencies = [ - "bs58", - "crc", - "ep-core", - "frame-support", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-std", - "substrate-geohash", -] - -[[package]] -name = "enum-as-inner" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "enum-display" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02058bb25d8d0605829af88230427dd5cd50661590bd2b09d1baf7c64c417f24" +checksum = "02058bb25d8d0605829af88230427dd5cd50661590bd2b09d1baf7c64c417f24" dependencies = [ "enum-display-macro", ] @@ -5260,24 +5100,6 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" -[[package]] -name = "ep-core" -version = "22.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e98bc0ac89a5449af5e82c2010d47d82b4bcea513b2d5587237804f5397e4cd" -dependencies = [ - "array-bytes 6.2.3", - "impl-serde", - "parity-scale-codec", - "scale-info", - "serde", - "sp-arithmetic", - "sp-core 40.0.0", - "sp-runtime 46.0.0", - "sp-std", - "substrate-fixed", -] - [[package]] name = "equivalent" version = "1.0.2" @@ -5302,7 +5124,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -5588,10 +5410,11 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66bd6676f15dc0918f449d22531c31a266a3aefb28bbfa14635eb6b985baa2a0" +checksum = "1eefadb34832df54ce9421ddd6f182d756f188197f8e507651d012150e125ee0" dependencies = [ + "anyhow", "frame-support", "frame-support-procedural", "frame-system", @@ -5601,12 +5424,12 @@ dependencies = [ "paste", "scale-info", "serde", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-runtime-interface 34.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-runtime-interface 35.0.0", "sp-storage 23.0.0", "static_assertions", ] @@ -5655,9 +5478,9 @@ dependencies = [ [[package]] name = "frame-election-provider-support" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1814d5380a301e46371abfafd1927cc721f5f98fd21ec2547c0d241667779545" +checksum = "dda92946c409e1649567ec7af3393eed8957022366b8d561d4af8cf7bbf59172" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -5665,17 +5488,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-npos-elections", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-std", ] [[package]] name = "frame-executive" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a22fff27d1dce5cb80df8d4dbfc2df6bcfdf7adae7b8db499e7ac66dc906e7d" +checksum = "b6d93a46082f1321cc4b0232f4441f542acf892421b26f6566e983036c1270a8" dependencies = [ "aquamarine", "frame-support", @@ -5684,9 +5507,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-tracing", ] @@ -5704,9 +5527,9 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc9522fcf64f45004d010a9eb7c21f9854706cfc545856f33f932cd57295bbcf" +checksum = "8b4dcfe846b173f750ea373d2d50919be2131043ad12141aff5971befc0674d4" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -5716,14 +5539,14 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "frame-remote-externalities" -version = "0.57.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6330157acc219f40f1d9c97297f09103e56b82136181e9dc73fb7fc8a3fc5f83" +checksum = "21595a05415e0b21826ce51233a50e574c44be8c45eebd84b56fdb9e4c87a156" dependencies = [ "futures", "indicatif", @@ -5732,11 +5555,11 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "serde", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-crypto-hashing", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", "spinners", "substrate-rpc-client", "tokio", @@ -5744,14 +5567,15 @@ dependencies = [ [[package]] name = "frame-support" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bd7bff9c84759703668a6ec351aeba64be74873ed5ceb73e0c968b7ce8ed99" +checksum = "bba1bf34af600d7b60fb75d6326dd15faf2e0c5e7f0e54f930562ef90ab94e78" dependencies = [ "aquamarine", "array-bytes 6.2.3", "binary-merkle-tree", "bitflags 1.3.2", + "derive-where", "docify", "environmental", "frame-metadata", @@ -5765,30 +5589,30 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-arithmetic", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-crypto-hashing-proc-macro", "sp-debug-derive 15.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", - "sp-metadata-ir", - "sp-runtime 46.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", + "sp-metadata-ir 0.13.0", + "sp-runtime 47.0.0", "sp-staking", - "sp-state-machine 0.50.0", + "sp-state-machine 0.51.0", "sp-std", "sp-tracing", - "sp-trie 43.0.0", + "sp-trie 44.0.0", "sp-weights 34.0.0", "tt-call", ] [[package]] name = "frame-support-procedural" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63a57674ed6e5579b572ecae8729119d4cf05cd6ad0899f191523e1725b7254" +checksum = "673819ac0c7bee44a653ed5b1161a767c886f21b3a468db536e5d6d9d31c42ed" dependencies = [ "Inflector", "cfg-expr", @@ -5831,9 +5655,9 @@ dependencies = [ [[package]] name = "frame-system" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9022562dcaec04a63a2b50502fd0feb831d618e7473f1f592b43d2d3362b857" +checksum = "77d1fc13a3ff43f0f1b4c5232910356779dd391676b4d7b77861b0286e2eeb08" dependencies = [ "cfg-if", "docify", @@ -5842,49 +5666,49 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-version 44.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-version 45.0.0", "sp-weights 34.0.0", ] [[package]] name = "frame-system-benchmarking" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6770d24bb43ae51d462c27f6e8a82c0c8de297841b30365facf0810fea7693c" +checksum = "13bd3b8a3cc61742a9033608420e47a2dab4ff9d9127a55a56199359637aef5c" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "frame-system-rpc-runtime-api" -version = "41.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17f28882e9930e6ec29450b6e1c38d6e9df95cbb80340e8fd5f09cee070b3da" +checksum = "74640ed0a08424058435bd0aa22d73d36ef4e0f46b87babeaca4de2d56f36e39" dependencies = [ "docify", "parity-scale-codec", - "sp-api 41.0.0", + "sp-api 42.0.0", ] [[package]] name = "frame-try-runtime" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78325d2dc4f425b2da921df6904b2703c64bb725fcee8738c33367364563824" +checksum = "3bf657c58cf5d02ad54b87106e29ae70282f526daaa63ac6393cd7fd564a1233" dependencies = [ "frame-support", "parity-scale-codec", - "sp-api 41.0.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -6147,6 +5971,11 @@ name = "gimli" version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" +dependencies = [ + "fallible-iterator", + "indexmap 2.13.0", + "stable_deref_trait", +] [[package]] name = "glob" @@ -6181,17 +6010,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-block-builder", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-storage 23.0.0", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -6225,7 +6054,7 @@ dependencies = [ "pallet-xcm", "parity-scale-codec", "people-kusama-runtime", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "staging-kusama-runtime", "staging-xcm", ] @@ -6246,7 +6075,7 @@ dependencies = [ "parity-scale-codec", "polkadot-runtime", "polkadot-system-emulated-network", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", ] @@ -6770,7 +6599,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.5.10", + "socket2 0.6.2", "system-configuration 0.7.0", "tokio", "tower-service", @@ -7624,7 +7453,7 @@ dependencies = [ "sp-authority-discovery", "sp-consensus-babe", "sp-consensus-beefy", - "sp-core 40.0.0", + "sp-core 41.0.0", "staging-kusama-runtime", ] @@ -7654,9 +7483,9 @@ dependencies = [ "polkadot-runtime-common", "scale-info", "smallvec", - "sp-core 40.0.0", - "sp-runtime 46.0.0", - "sp-trie 43.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", + "sp-trie 44.0.0", "sp-weights 34.0.0", "staging-xcm-builder", ] @@ -7669,7 +7498,6 @@ dependencies = [ "bridge-hub-kusama-emulated-chain", "coretime-kusama-emulated-chain", "emulated-integration-tests-common", - "encointer-kusama-emulated-chain", "kusama-emulated-chain", "penpal-emulated-chain", "people-kusama-emulated-chain", @@ -9104,7 +8932,7 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", "syn 2.0.114", @@ -9148,6 +8976,9 @@ version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ + "crc32fast", + "hashbrown 0.15.5", + "indexmap 2.13.0", "memchr", ] @@ -9274,6 +9105,21 @@ dependencies = [ "sha2 0.10.9", ] +[[package]] +name = "pallet-accumulate-and-forward" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04b4c0c7ea6ab1ee5e8baf46d260578822e6ebf15ed14c04feb4c3edfd795183" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-runtime 47.0.0", +] + [[package]] name = "pallet-ah-ops" version = "0.1.0" @@ -9292,19 +9138,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 45.0.0", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-application-crypto 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-staking", "sp-std", ] [[package]] name = "pallet-alliance" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128ea14a9be9cfc74737743f005e1b5cbafe3a3c326a8f4993bbca7ed6bcb142" +checksum = "813363bf893ceeb4e8ab46325d3bcf70a7f52b449eeee6b755fe3bc47a1e8454" dependencies = [ "array-bytes 6.2.3", "frame-benchmarking", @@ -9315,17 +9161,17 @@ dependencies = [ "pallet-identity", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-crypto-hashing", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-asset-conversion" -version = "28.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2931507a1c898b9acb65a6f280b85fda587d9a95055b242b95d2c159eef8e4" +checksum = "2f5181c48fa3ea50bf9f3b3a19e4cf708e7e0d0ee6397961e2c176a215d9ebf3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9333,18 +9179,34 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-asset-conversion-precompiles" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703250477bdfdd3fb91c141a68f7520dd4760693a06315a24d6d16778ef0ca9e" +dependencies = [ + "frame-support", + "frame-system", + "pallet-asset-conversion", + "pallet-revive", + "parity-scale-codec", + "scale-info", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-asset-conversion-tx-payment" -version = "28.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c53ac40c78c89b4b7c73b0dcbe03790f948c2c6f65675808fa693c2e1e109da0" +checksum = "cfc50cfade1e1ed4f89ccce19163d4a7b9289173a9659535251721ea916aa8e0" dependencies = [ "frame-benchmarking", "frame-support", @@ -9353,29 +9215,29 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-asset-rate" -version = "25.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c551c9a03e2a8389171e9efabfe37c421bbec22eeb706f95cdc4c23ba94102ef" +checksum = "db795f12bd78b65725d382e5cf85ef2d3751bdfbf2e2dd417b3acebd13590379" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-asset-tx-payment" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17b766267805b9679066c0f608ee4c05275bcceb9a210781f5d88218a5a0dd2" +checksum = "7dbf12ef714ba9068629f0e204677b3f113dcdabdd04c1b6d0e68e3d72b722c3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9384,15 +9246,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-assets" -version = "49.0.1" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c80dd5920bbfbe4100e7d7e64265de790f1e51b47e3a2e13ffc9e7d39767169" +checksum = "2a12ce465455024ddb679ca6425f63a6f7c40763a86f7482a8b02dd6c85e5a32" dependencies = [ "frame-benchmarking", "frame-support", @@ -9401,15 +9263,15 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-assets-holder" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aad58bcf29d9475e363e03068181508678c6af8c5a86cea549281d89d96af2e2" +checksum = "9149a0f06545f1ebeacdfbc54fef8bf3ad9fd7e8a3bc6161de32ff19b812b54d" dependencies = [ "frame-benchmarking", "frame-support", @@ -9418,38 +9280,37 @@ dependencies = [ "pallet-assets", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-assets-precompiles" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b3e5bfb7ab1cc53e4682aa01ec1942c96b5148f3f9eca7698561a60b406e6b9" +checksum = "600be4f3db354d9e2041864fbaec3a961576f5ce9ab5d1aa6c377b2ada718df3" dependencies = [ "const-crypto", "ethereum-standards", "frame-benchmarking", "frame-support", "frame-system", - "k256", "log", "pallet-assets", "pallet-revive", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", ] [[package]] name = "pallet-aura" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f7f6e0f4710b9ce1bfa7473624987365550b718eef6b7ab2f8daf807a08d38f" +checksum = "d189a393438200a3f0302847e6c646376a423c290d58c629e8283e3ea9a40795" dependencies = [ "frame-support", "frame-system", @@ -9457,46 +9318,46 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 45.0.0", + "sp-application-crypto 46.0.0", "sp-consensus-aura", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-authority-discovery" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d498704709f9870a705c628fa67eaad6f0cb38cc29d9fb10d247a203220259" +checksum = "a9757ea14adec92eb42718e1801b7406a7c2bfea4a82fc77455eb2c558f3ce1d" dependencies = [ "frame-support", "frame-system", "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 45.0.0", + "sp-application-crypto 46.0.0", "sp-authority-discovery", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-authorship" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0a0d099dbcb0bbb6b1a23c0eabc7b9055470b1455026206a590c3da2d5040b5" +checksum = "93448730b466f53f9b237f4eb86effae137d0375ea2f1e292fd6c6770e2f9d70" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-babe" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be9a4b98fd0ae83cddfcbe07c578627f7033612692e2f18894a4d912d5b3970e" +checksum = "351943c9049b6469a94386edb96848b8b11b72b491a29c3f368eaeb3fd430e20" dependencies = [ "frame-benchmarking", "frame-support", @@ -9507,20 +9368,20 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 45.0.0", + "sp-application-crypto 46.0.0", "sp-consensus-babe", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-staking", ] [[package]] name = "pallet-bags-list" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "295631cecc1a2c3b145093f56b4f695c61ba1c0080d79585474ae548dea8b6d9" +checksum = "b00bdc9f9b8506797a012ad36767aa117cae2745244fad8b87b514da31dd75d7" dependencies = [ "aquamarine", "docify", @@ -9532,17 +9393,17 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-tracing", ] [[package]] name = "pallet-balances" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5355bbb74a9c34990c1d2a4c5dde0effaef9410eef0b587868651bd38cb6f013" +checksum = "1e7eeb90835154816cffa771fa82689e94b8afe33eba30de3f8d1dcd2f2b42a3" dependencies = [ "docify", "frame-benchmarking", @@ -9551,15 +9412,15 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-beefy" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876778433cf31f594941fddfa7feff41a450c807dea6b7dd07250fbc46c9aa94" +checksum = "4c8ee9536ff175ca442714e599c3753597d7f396d351ebc2b2860144520eed0e" dependencies = [ "frame-support", "frame-system", @@ -9570,16 +9431,16 @@ dependencies = [ "scale-info", "serde", "sp-consensus-beefy", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-staking", ] [[package]] name = "pallet-beefy-mmr" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbaf84716f631c8285313cd1ca0d3318ddab1ba9be166ba7bbdb9436a08123fe" +checksum = "2255b4ac8dcc82f82ded6bb8c3e32aedc6e67f85fbc165af8ca200ecb086f34b" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -9593,19 +9454,19 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-consensus-beefy", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", ] [[package]] name = "pallet-bounties" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3639d43b5295d2d3be0e02d3dc679ee209684259115614efd3fbbfe5965d5f7b" +checksum = "4df70034de4c1539b09c64ae8852bb3bfa60d34dfcb40eeec9c096e99bf6d877" dependencies = [ "frame-benchmarking", "frame-support", @@ -9614,16 +9475,16 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-bridge-grandpa" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf6669b402e42b85cfc79e34cde930efc9c04d8de890242a5bae7beedd3d7f3a" +checksum = "a3962d02f9072473ca462b8a860d422e1b575f476085e07ad0f3b5a4bf8fbd07" dependencies = [ "bp-header-chain", "bp-runtime", @@ -9634,16 +9495,16 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-consensus-grandpa", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-std", "tracing", ] [[package]] name = "pallet-bridge-messages" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f084430b08021bf1637f738d4af38c7fc30e4fab91e3b1017233998cc20e70" +checksum = "ac7e32dbd16530d52351f9ec4904031297a3e249d31956ff93e03e5ac2e55fe3" dependencies = [ "bp-header-chain", "bp-messages", @@ -9653,17 +9514,17 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-std", - "sp-trie 43.0.0", + "sp-trie 44.0.0", "tracing", ] [[package]] name = "pallet-bridge-parachains" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ef5c7c7f9caa7eb5b1d0d1a6b66e894b86e846996fbade13eccab10338b966e" +checksum = "10ad880bd4c96b7754ccfdeaa3f2d52a9151ac6499290c4535434415a8198b9c" dependencies = [ "bp-header-chain", "bp-parachains", @@ -9675,16 +9536,16 @@ dependencies = [ "pallet-bridge-grandpa", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-std", "tracing", ] [[package]] name = "pallet-bridge-relayers" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b847f6d87519cfe5d1a337ae89ceaeddf60fdc7de4a1d9b4e75545ac9902107" +checksum = "af4593459485c948cb211151f314b61dc6970a945389d7bbc1fab0f5cf802027" dependencies = [ "bp-header-chain", "bp-messages", @@ -9700,15 +9561,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "tracing", ] [[package]] name = "pallet-broker" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e9e25d33a8e04c937a63973ed62feb954983bc6a840ec753bfdedf0ec4b8ef8" +checksum = "a7b0bbf7fa5c78b3d32aa1437ff60bd432e2f3dec69deb477fddcd192d2d2c2c" dependencies = [ "bitvec", "frame-benchmarking", @@ -9717,17 +9578,17 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-arithmetic", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-child-bounties" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8b9fc6c3957593caf8c57146dcc8231d0312a573cf321e490b89e1973f8a835" +checksum = "b11591516db4a6d2fa91fbb0a577147db72b1743f47249e56d4bfb3932ee2c00" dependencies = [ "frame-benchmarking", "frame-support", @@ -9737,16 +9598,16 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-collator-selection" -version = "27.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5be380e91c82484852901035c9ed7d63f00ba3de599b349b72f35c820aac9a3" +checksum = "87c34bf518141c1cd2344edbe9baa28205b0c60bf5f73ff92e0ff5e565f8d94b" dependencies = [ "cumulus-pallet-session-benchmarking", "frame-benchmarking", @@ -9759,15 +9620,15 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-staking", ] [[package]] name = "pallet-collective" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1257bd27a7c31bf8df9ec287bf1980e08e9ee4a36f934ff1fecf143bc8aa08f8" +checksum = "b61f80b5880ce665ac3b9b0f4893db57b521c16d30a6499c56aace4accf8b5a5" dependencies = [ "docify", "frame-benchmarking", @@ -9776,16 +9637,16 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-conviction-voting" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68557a6e7a42a3fb096d2200ce15ef0935b74c4a2a2a48187abde110a60c7537" +checksum = "8d510e1ffa3cacf45fff188bc327aa5f9ee0aa95b85f24d9d1c89490a1857812" dependencies = [ "assert_matches", "frame-benchmarking", @@ -9794,15 +9655,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-core-fellowship" -version = "30.0.0" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "492aee18ab50e5d8c6cb1969479426ce830cf6842db65d38469f477cc4bc1f3f" +checksum = "e7ed362aa84504b5ffb640d37302ae455fae676882ac3315bbba7a2e97ad2484" dependencies = [ "frame-benchmarking", "frame-support", @@ -9812,47 +9673,50 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-dap" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c0059e495cf1e7d3f77a1f680a2b4a452f3bab89e4eab89d1c7c42dd3f9e42" +checksum = "3bf956b32e26abf6f133935472c2289471c4bd7111094a1af1a9b8ac04f052c3" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-dap", + "sp-runtime 47.0.0", + "sp-staking", ] [[package]] name = "pallet-delegated-staking" -version = "13.0.0" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0432d5b33a8b00f88229c18ad84547797b0c0e538a2aa6d34cc118f6d54786d4" +checksum = "8bdc01a02483b132c5cf8e36d2b63c569a25611597f029eb3880f625df2ab224" dependencies = [ "frame-support", "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-staking", ] [[package]] name = "pallet-election-provider-multi-block" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f267adfd1f386b670f6fce3d5be308645b5e333103faf95770a2e1d1c955684" +checksum = "654b196f666c58117c903c81d0f4c068be261d807590f12fec4617bdbdd09563" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9863,18 +9727,18 @@ dependencies = [ "rand 0.8.5", "scale-info", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", "sp-npos-elections", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-std", ] [[package]] name = "pallet-election-provider-multi-phase" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b82f6781107c0cbedc313ec57cc38f7a463a6645aaa08f9865c670204525d41" +checksum = "1ab6a9d55d2e0045af2080d6c93c56745fb22e5dfd6e64b8e7b7106758f64ac5" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9885,334 +9749,32 @@ dependencies = [ "rand 0.8.5", "scale-info", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", "sp-npos-elections", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "strum 0.26.3", ] [[package]] name = "pallet-election-provider-support-benchmarking" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3626c21e39f4f430e55253090ec68ca88611cf046818cab957b8ae82503864dc" +checksum = "ec6ef314b8d355841a3048988ea49cc9a5113dd67dc97799557ffbf989c0b178" dependencies = [ "frame-benchmarking", "frame-election-provider-support", "frame-system", "parity-scale-codec", "sp-npos-elections", - "sp-runtime 46.0.0", -] - -[[package]] -name = "pallet-encointer-balances" -version = "22.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ebd354348e677deb20770e1df55a3c65d98ed6273334f56089626182fba5aa" -dependencies = [ - "approx", - "encointer-primitives", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-asset-tx-payment", - "pallet-transaction-payment", - "parity-scale-codec", - "scale-info", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-bazaar" -version = "22.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c2312748b5ff113e512192de88ba349c3fcdede06ec66d728ec3f4117dd0fa5" -dependencies = [ - "encointer-primitives", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-encointer-communities", - "parity-scale-codec", - "scale-info", - "sp-core 40.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-bazaar-rpc-runtime-api" -version = "22.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62779af280408f4cb76ad45ccc5ead7fbdaf33c2f354f0ce3c9ebf8202fd0eaf" -dependencies = [ - "encointer-primitives", - "frame-support", - "parity-scale-codec", - "sp-api 41.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-ceremonies" -version = "22.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e84473a7415e190db2ed54007d86373ec7995e3b2551d1ccc50b279a4371380" -dependencies = [ - "encointer-ceremonies-assignment", - "encointer-meetup-validation", - "encointer-primitives", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-encointer-balances", - "pallet-encointer-communities", - "pallet-encointer-scheduler", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 45.0.0", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-ceremonies-rpc-runtime-api" -version = "22.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ffea18bb4bdec13580fdc3118ce78fc4e3d85ed86e2b22aaa79e64280e2a99" -dependencies = [ - "encointer-primitives", - "frame-support", - "parity-scale-codec", - "sp-api 41.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-communities" -version = "22.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1bb30197ecf2221a12516446b6aeb60c98b220dc8a4c00c5fe64563a8027093" -dependencies = [ - "encointer-primitives", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-encointer-balances", - "pallet-encointer-scheduler", - "parity-scale-codec", - "scale-info", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-communities-rpc-runtime-api" -version = "22.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c92b2b1231a0d52ba16a15522c547eb7d1d0c0de93b7684586ec5c06cdfdc43" -dependencies = [ - "encointer-primitives", - "parity-scale-codec", - "sp-api 41.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-democracy" -version = "22.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab592ca158d05135e047c09e0b224ece16844e044807169f7d1ecef0a2c6815" -dependencies = [ - "encointer-primitives", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-encointer-ceremonies", - "pallet-encointer-communities", - "pallet-encointer-reputation-commitments", - "pallet-encointer-scheduler", - "pallet-encointer-treasuries", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 45.0.0", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-faucet" -version = "22.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e71937874c908808084896ff9afc3114a5efbd9176b120ef8e4c6a15048cefe" -dependencies = [ - "approx", - "encointer-primitives", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-encointer-communities", - "pallet-encointer-reputation-commitments", - "parity-scale-codec", - "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-offline-payment" -version = "22.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ee56f605ed9be62b95a23bc66682988f6582c313273b18c276b141ebda5afe" -dependencies = [ - "ark-bn254 0.4.0", - "ark-crypto-primitives", - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-groth16", - "ark-r1cs-std 0.4.0", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-snark", - "ark-std 0.4.0", - "encointer-offline-payment-core", - "encointer-primitives", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-encointer-balances", - "pallet-encointer-communities", - "parity-scale-codec", - "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-reputation-commitments" -version = "22.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb95b4f13f86de4af668b1bfdcba43333d4b95730fb099a61a68f013b32b036b" -dependencies = [ - "approx", - "encointer-primitives", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-encointer-ceremonies", - "pallet-encointer-communities", - "pallet-encointer-scheduler", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-reputation-rings" -version = "22.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab71ccf27d531cc022fc5d84a412012dd971e83ce949507fb430dad39f1d8294" -dependencies = [ - "encointer-primitives", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-encointer-ceremonies", - "pallet-encointer-communities", - "pallet-encointer-scheduler", - "parity-scale-codec", - "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-scheduler" -version = "22.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f528b5954a38ce31118adb8181e60da817384e691c54a0de5f5cb2543cf09482" -dependencies = [ - "encointer-primitives", - "frame-benchmarking", - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "log", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-treasuries" -version = "22.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f967bd3c35cafd67d2426c0c1077b0e4520efd5e91d7c9aa1aff323e6896768" -dependencies = [ - "approx", - "encointer-primitives", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-encointer-balances", - "pallet-encointer-communities", - "pallet-encointer-reputation-commitments", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", - "sp-std", -] - -[[package]] -name = "pallet-encointer-treasuries-rpc-runtime-api" -version = "22.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529b200988e0c708e09607281f6db690f9d0c9ae43f3fe4b951beccada17e269" -dependencies = [ - "encointer-primitives", - "frame-support", - "parity-scale-codec", - "scale-info", - "sp-api 41.0.0", - "sp-std", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-fast-unstake" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c4cdfddb1b7416ebf49a23d1a9fad8f810271f92734e64661b060a759a769eb" +checksum = "56a48ad630cd73726eabeb376698d2b32375a4e134f1e36f075490b19e724508" dependencies = [ "docify", "frame-benchmarking", @@ -10222,16 +9784,16 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-staking", ] [[package]] name = "pallet-glutton" -version = "32.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97db8b628c128d28fc7e466a6e41e66ca4be6c2b243cf635534a8fccef0a500" +checksum = "36571ad0f4c3d3effb88f0975853f5cb1f9afcd556ca20040d67e6d9c2c99e15" dependencies = [ "blake2 0.10.6", "frame-benchmarking", @@ -10240,17 +9802,17 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-grandpa" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3546e596001808dd1c371b5237a0f11a85679a98a861535de04f9d486a95722f" +checksum = "82f8a269e4a09f4160a0b9383a5d5c0b4fe67dbc80f8bcedceb02fce72daea37" dependencies = [ "frame-benchmarking", "frame-support", @@ -10260,20 +9822,20 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 45.0.0", + "sp-application-crypto 46.0.0", "sp-consensus-grandpa", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-staking", ] [[package]] name = "pallet-identity" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8242eef9db0e5dfe182dd620a06de6a48e6abc9bb6b6fb6272e7d244ab67d8dd" +checksum = "11e5cf703eccd877f4d075a7103a8a539f3685690943c6f349f76f7742f7e8a7" dependencies = [ "enumflags2", "frame-benchmarking", @@ -10282,15 +9844,15 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-im-online" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d68d78e0ffa487644035898b71d00509da1cf606f5cbe425f4ccd36a6293edc2" +checksum = "c2c4b8e4a80ed879b610d5f1af20d353a11dad4ff848dfd81447fb9997ad6e80" dependencies = [ "frame-benchmarking", "frame-support", @@ -10299,63 +9861,34 @@ dependencies = [ "pallet-authorship", "parity-scale-codec", "scale-info", - "sp-application-crypto 45.0.0", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-application-crypto 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-staking", ] [[package]] name = "pallet-indices" -version = "46.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e62bb6d6ef419bfaf2df2133a78711101cc7410b5f49220989f6be61553ec9" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", -] - -[[package]] -name = "pallet-insecure-randomness-collective-flip" -version = "34.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e38b42049e8fbd714eee88ae28ae837f30819701422d528fc3627f40ac9887" -dependencies = [ - "parity-scale-codec", - "polkadot-sdk-frame", - "safe-mix", - "scale-info", -] - -[[package]] -name = "pallet-membership" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffb8e1f27bd677260ca946a69cc100680f83224b2fcc825b602f5ca207a949" +checksum = "4de59e07085583f32f41f4c70dd1ea5fe94642f4edc022f06f292f390096cda6" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "log", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-message-queue" -version = "49.0.0" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7500c07d99cec54c41b85aa20b82200d272f17a8052f1e5b814d0ea1b4cb58" +checksum = "0fdab19a61b19a6ff4ba65561524fe57580413414afd1ff935b2e32d0f49d13c" dependencies = [ "environmental", "frame-benchmarking", @@ -10365,17 +9898,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-weights 34.0.0", ] [[package]] name = "pallet-migrations" -version = "16.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f08c5d5f67497f2ac389ca0cf196f695cc9272d190754a98e844be2086bbd6" +checksum = "7ae37dccae86cf412a24a5cb7065cda03950bd69bcf138dcf3c7e9ae658d269d" dependencies = [ "docify", "frame-benchmarking", @@ -10386,16 +9919,16 @@ dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-mmr" -version = "46.0.1" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35b0663c0ed8a3f91cbbbf928aef2658593be49592c04ee29ac8f600f13a4ca8" +checksum = "a5877919fe2e2c18fa23fd4de8e8530c5f2049247aecbfa6bc5ee59372f355eb" dependencies = [ "log", "parity-scale-codec", @@ -10406,9 +9939,9 @@ dependencies = [ [[package]] name = "pallet-multi-asset-bounties" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106394518f23f3cbbee6fb8496f927ac4e22481adfa3005d05dd7e25d5359638" +checksum = "f9f6ad4dc1e04ba31fb2ea64fbe3310eb51694d955211b20cb7d8979b7cecbe2" dependencies = [ "docify", "frame-benchmarking", @@ -10417,16 +9950,16 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-multisig" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99f4771990e65dd266ffa755278ef5394f9146ecc57de84db72abf87eaac74d8" +checksum = "1d059159fb4a4decdf8df27a12c654222aad18c69535e68acf085ee7c2b007b7" dependencies = [ "log", "parity-scale-codec", @@ -10436,9 +9969,9 @@ dependencies = [ [[package]] name = "pallet-nft-fractionalization" -version = "30.0.0" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3001113ffda18314eae0e46da5b5904e315457482bee1a9f04ba2bccc9cdbb3e" +checksum = "3e81c7f8049897d982caab7f1c0168ada8c4864da64c999184b694350634153e" dependencies = [ "log", "pallet-assets", @@ -10450,9 +9983,9 @@ dependencies = [ [[package]] name = "pallet-nfts" -version = "40.0.0" +version = "41.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfafe97bf97edef49c7deeee2a9cc30c91cc7eb5cc4a00624679133b85646e00" +checksum = "f6e344097aec19ec0ff34baa616bd52465c9b8468b050773553ff966cb8db05a" dependencies = [ "enumflags2", "frame-benchmarking", @@ -10461,26 +9994,26 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-nfts-runtime-api" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bbc195178ec15d0a72786514c1a89b657c97678224622452f5208173e7e07af" +checksum = "1c340cac270a74ec61f35c709f8087e5de15dc26d83ce70931088759f2577225" dependencies = [ "parity-scale-codec", - "sp-api 41.0.0", + "sp-api 42.0.0", ] [[package]] name = "pallet-nis" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6289edaf6458109179ba2e818598d93b17c124922a336c69731169cae162d2" +checksum = "050118d61feee4e040e097b64dc9f505a63ea1e37ef98a98dca76c91928b82e0" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10489,9 +10022,9 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a375e8c211bb6a462a8c2c47d8b973606a2b1ed34645f92644488338ceecceb" +checksum = "f9dd55e0eb67a0fc1375b73b63b0385409fa6cc31f5423e0cd00716fa40d5ecc" dependencies = [ "frame-support", "frame-system", @@ -10499,18 +10032,18 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-staking", "sp-tracing", ] [[package]] name = "pallet-nomination-pools-benchmarking" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cafb18bc6da561bdfc5af68e35ca32fe83c839d2e5ec8b99d457c8c59b6b48df" +checksum = "25ccda02ee2df9e6b31b28ed7185b941de59f3622fc9ad4367b28365bc7754b5" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10522,27 +10055,27 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", - "sp-runtime-interface 34.0.0", + "sp-runtime 47.0.0", + "sp-runtime-interface 35.0.0", "sp-staking", ] [[package]] name = "pallet-nomination-pools-runtime-api" -version = "42.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15ccfa965ce321dc7e826c70cc4ad9ee7ad2cd3bda1d8650a491de45d1c6383f" +checksum = "1320b1e0b25fd6fa9d236dcee5dceabc56472895a6cd0888335d9ada18f29204" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", - "sp-api 41.0.0", + "sp-api 42.0.0", ] [[package]] name = "pallet-offences" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ed8f1dd97a4e2246c5c9bf5cf394c3b725396ad0d514340af37b798b68599b" +checksum = "e2ea4fa6a2a5ddecdb65302cfff93b949bbd78234fc8b7badaa646cdf776ff5a" dependencies = [ "frame-support", "frame-system", @@ -10550,15 +10083,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-staking", ] [[package]] name = "pallet-offences-benchmarking" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cf64ff1b8f5237ddd8e937212ff5d1371f93de8f2efb33529782a001b8a528c" +checksum = "05383410fe93c18a14cdd64c31751338b3f88e36930c8e484a7d84b6822efaf8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10575,15 +10108,15 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-staking", ] [[package]] name = "pallet-parameters" -version = "0.17.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef9959e3c17e4c90e7810c1af0bba1e871f272a266ebed85c8397eab0938660d" +checksum = "9ef9c83d0be86b44ee9bb565dbeee6afe41fc1aa5def96ebe611cc9b465367c2" dependencies = [ "docify", "frame-benchmarking", @@ -10593,15 +10126,15 @@ dependencies = [ "paste", "scale-info", "serde", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-preimage" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e06841a0fa11ecc0c8bf1ad4a5ffc938732ec1a953665b3b2222a66889636977" +checksum = "f2f8c81df965e6b023c5008c807780616780b822d9679958072e9930f08cfe06" dependencies = [ "frame-benchmarking", "frame-support", @@ -10609,16 +10142,16 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-proxy" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ecf8ad569c664330c6b20fe08aefab6f5c0635760c357cc74cfab1d2d472ac" +checksum = "5ec078a884266ba3093b8955854d54890971e98c76a51ac7aabdbaf36db0f89f" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10627,9 +10160,9 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2988271aadcd2995534a982f59c7492c6d6821969b7e7e5ba784383ef98e2a98" +checksum = "3691669ab75f152dcc1937d038b4fa5fe44a07844f97c68864cb599f5daeda14" dependencies = [ "frame-benchmarking", "frame-support", @@ -10639,9 +10172,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -10687,10 +10220,10 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "serde", - "sp-api 41.0.0", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-staking", "sp-std", "staging-xcm", @@ -10700,10 +10233,13 @@ dependencies = [ [[package]] name = "pallet-recovery" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c12c1ebdef8c9928b298b05d6c63d47b3e75a12974133f650a05aa64e845f5" +checksum = "cb002713c4efc06a45f9d5a06320a33f5db78ef4163c065b5e6aa081f155ee68" dependencies = [ + "frame-support", + "frame-system", + "log", "parity-scale-codec", "polkadot-sdk-frame", "scale-info", @@ -10711,9 +10247,9 @@ dependencies = [ [[package]] name = "pallet-referenda" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68e3e46d58a50449a2a807ec1aa691da6f2b097662509bb7db69c75fcefdad63" +checksum = "7e27f4e497e2bdc2e484c2559ec73c4b601aeb6766412457599c96ba8e5727a9" dependencies = [ "assert_matches", "frame-benchmarking", @@ -10724,8 +10260,8 @@ dependencies = [ "scale-info", "serde", "sp-arithmetic", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -10742,18 +10278,18 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", - "sp-trie 43.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", + "sp-trie 44.0.0", ] [[package]] name = "pallet-revive" -version = "0.13.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2952877d5334961e9fb5935b37112334e455b0e7802a0f417e7123eb179d0" +checksum = "2fab67b2ff0965beb519a1c68749ec1f58debc926e0b9cda06201f6dd475d686" dependencies = [ "alloy-consensus", "alloy-core", @@ -10779,8 +10315,8 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "paste", - "polkavm 0.31.0", - "polkavm-common 0.31.0", + "polkavm 0.33.1", + "polkavm-common 0.33.0", "rand 0.8.5", "rand_pcg", "revm", @@ -10789,24 +10325,24 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-arithmetic", "sp-consensus-aura", "sp-consensus-babe", "sp-consensus-slots", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-version 44.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-version 45.0.0", "substrate-bn", "subxt-signer", ] [[package]] name = "pallet-revive-fixtures" -version = "0.10.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49e3c6c4a57034fdf13d20aed456a2d5c09f7fd564bebf766939c155edecd17f" +checksum = "4efb1cd2d84727d34254c1fb1eac34d77d94a812c59b8bf1d34dbd23de2b1b4b" dependencies = [ "alloy-core", "anyhow", @@ -10815,16 +10351,16 @@ dependencies = [ "pallet-revive-uapi", "polkavm-linker 0.30.0", "serde_json", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", "toml 0.8.23", ] [[package]] name = "pallet-revive-proc-macro" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54d78626aaf92f2c5bd0e25f97a16815753e8e2e3328677986564b4155db7667" +checksum = "1e819e77baf254cdb41a2a521eb871ee708e0a0197cd1db9a49d68ca646c085d" dependencies = [ "proc-macro2", "quote", @@ -10833,9 +10369,9 @@ dependencies = [ [[package]] name = "pallet-revive-uapi" -version = "0.11.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6fbad22d6e4ae82c0a1c1335eb2b5f05fda2eaca4cdb732ec2bf354628c9bf" +checksum = "4c0cef0a48517471543a404f6ec497671b1ef1b6e78774ac24aee353527c896d" dependencies = [ "alloy-core", "bitflags 1.3.2", @@ -10849,9 +10385,9 @@ dependencies = [ [[package]] name = "pallet-salary" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e20b19635e007cf03fc673f85c04ef03baf691711962f5c88afee975b2a9a28" +checksum = "989970f3b14598c23d87d813023aa92391e05be0f57d8c88265009bdce42c8a2" dependencies = [ "log", "pallet-ranked-collective", @@ -10862,9 +10398,9 @@ dependencies = [ [[package]] name = "pallet-scheduler" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6842877ee48d5256ba0ac42728abea828f78a7010304a0d74d4787c3e74deda8" +checksum = "d673d918e8441c87fd31cfe2922bf0b3535b4d25e7a3c4758d8b1c017d567164" dependencies = [ "docify", "frame-benchmarking", @@ -10873,16 +10409,16 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-weights 34.0.0", ] [[package]] name = "pallet-session" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "714f6a0f4113534ac0be5e8800c469ed456b22d892ba18af81e630d4dcf88f51" +checksum = "b794e88d1cc5d0a569d1d60065d75abf50ff8f694d08a632a3f559dc67f3288d" dependencies = [ "frame-support", "frame-system", @@ -10892,20 +10428,20 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-staking", - "sp-state-machine 0.50.0", - "sp-trie 43.0.0", + "sp-state-machine 0.51.0", + "sp-trie 44.0.0", ] [[package]] name = "pallet-session-benchmarking" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98fa0794eb98a03998a8b277d110f594705d8d7aaadc062be1b15fad58050e0" +checksum = "b46cba5f49593c0bcae3843eb10df4fd02202bfea85fccba556735c96a0a1e3d" dependencies = [ "frame-benchmarking", "frame-support", @@ -10914,28 +10450,28 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "rand 0.8.5", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", ] [[package]] name = "pallet-skip-feeless-payment" -version = "21.0.0" +version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cf79d43bfc3b82f5e9aa02146b0e1cdbebecfbe48b1885b8638bc0191e81a7d" +checksum = "3d5ee1833a57b8cfdc16c07b8183cc1bd0cdb8dc9ad4b9b108a87d736565b9b3" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-society" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7251a40722315651fe4fcedf947eff079eb5b28556d83daa92da6ce3d1acb958" +checksum = "843304bdc95d50e007f43ce0c024fdd3d3eb7425c9ff1877c50f85f11292ede5" dependencies = [ "frame-benchmarking", "frame-support", @@ -10945,15 +10481,15 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "sp-arithmetic", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-staking" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aef03a7c7078ffe2760fa937244d8c0b7bab7bd3562a0b7052488042c01e0044" +checksum = "fb5c539d9f19cf7854bc9cfd719ba4e9011e0787e8927b8110a913b3aaf23742" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10966,17 +10502,17 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto 45.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-application-crypto 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-staking", ] [[package]] name = "pallet-staking-async" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36eba27f7af3b6bb1d0d1815b54ab6d8c1ca416b1ca52aa8951a0b05eda0e04e" +checksum = "a3f1343e91a16249fa860f4302940ab05026cfb2f222e4c909b359ea28119d39" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10989,19 +10525,20 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto 45.0.0", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-application-crypto 46.0.0", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-io 46.0.0", "sp-npos-elections", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-staking", ] [[package]] name = "pallet-staking-async-ah-client" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbfed4a065bcd2366fac6af7d393618eaeed54488205e299a6446b9d3ff8dd58" +checksum = "a5db8a0ab71eca01b13d886f79f82bbb5696751805e2eb606441aa4ee832dc42" dependencies = [ "frame-benchmarking", "frame-support", @@ -11013,16 +10550,16 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-staking", ] [[package]] name = "pallet-staking-async-rc-client" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b88591a93d65023ec21cc0f05efe81ae10c92d9798c1796c07ff35205c4b349" +checksum = "a99995f064fa68758bb0edff4e522d1bb74fdbe28874572a60c8bee49c84f422" dependencies = [ "frame-benchmarking", "frame-support", @@ -11031,8 +10568,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-staking", "staging-xcm", "staging-xcm-builder", @@ -11063,20 +10600,20 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44971962494a7aaeeacec7f333b290f9c4285a6fdec609ef0baf502dbf8f1674" +checksum = "5a6f604185aa5b2528877110bbd615f1251133ac922f7b7b33a21c558ad8a387" dependencies = [ "parity-scale-codec", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-staking", ] [[package]] name = "pallet-state-trie-migration" -version = "51.0.0" +version = "52.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368619398063e5db5aad3f0a5ec471d78f09ac6bfa37de7235e97261e0eec88d" +checksum = "4b051e46ee13990aea932c8320c1df918d5e783210ca1f2bc3d961ba6e6ef0b2" dependencies = [ "frame-benchmarking", "frame-support", @@ -11084,16 +10621,16 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-sudo" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01818cacfcb6fd5b175faa6c822738081f63b945c7eb63d0bb5fba42d44cbe25" +checksum = "ad4e3a4cc006a45ecad59c02583b814a7f02fb504c5f9f547bbd4238690229f9" dependencies = [ "docify", "frame-benchmarking", @@ -11101,15 +10638,15 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-timestamp" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c72f687a8ee1d81ad37903541c468abd0f83041d110a3a629bf675d22c66a2c6" +checksum = "9dd8823ea19e3b764aad58089e1078c211d93e0cfc1291cb7ed0dfa1fe1d6136" dependencies = [ "docify", "frame-benchmarking", @@ -11118,17 +10655,17 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-inherents 41.0.0", - "sp-runtime 46.0.0", + "sp-inherents 42.0.0", + "sp-runtime 47.0.0", "sp-storage 23.0.0", "sp-timestamp", ] [[package]] name = "pallet-transaction-payment" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2d3a80999b9a2105794dfe28ca59553b68ba6e00b99ff1f93e82f475f5b28a7" +checksum = "25f17aff98f52ffb1b5d488bb140e88193fbb30c82a92113217e853c84c9586f" dependencies = [ "frame-benchmarking", "frame-support", @@ -11137,28 +10674,28 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "299009c2f765323c1d45ee20e477fdc73e405db6d36557f77a3a89250dfcae66" +checksum = "9849f59095432e6602658eb553aec99ed665f13f9562eaf5d1adadfca3ecc9d7" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", - "sp-api 41.0.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-runtime 47.0.0", "sp-weights 34.0.0", ] [[package]] name = "pallet-treasury" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b64e1010c6f0bd55702685a686d11298236b978ad3f554428598035dfffc5559" +checksum = "a811bf3b0eafe84bf211b9ee71ebc0ea9207b5f844391ea0bf9c20789d24ec1b" dependencies = [ "docify", "frame-benchmarking", @@ -11170,15 +10707,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-uniques" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2db3b27b6d1aacb1a84e261181f274d85a85713792a8e9cf7cc90ed6a5086e48" +checksum = "96c834b115ff9f64c7368bedcd3a74b42321ba696ea025ba440ca261d83f1168" dependencies = [ "frame-benchmarking", "frame-support", @@ -11186,30 +10723,30 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-utility" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f56ed0929cd5b774ec690eb77255f11ea207a637f0f80a841d0f2031ad40077" +checksum = "c09d089fda68a361c4c80ca80d3309e0a132a3d6200ce6819b121ca8dcb43681" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-vesting" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d02b11d371d82862b3535d4983281efbe5629aab2155e545091182b098a7f54" +checksum = "ca2ab878c9d72842c04db11ff0ecf7ab2901611e752809b852ee05eeb9f14085" dependencies = [ "frame-benchmarking", "frame-support", @@ -11217,14 +10754,35 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-vesting-precompiles" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "531a267a2aeeba499b2b7320d7a0a26a70e2c40ca0b1923f3fdb4407debcbc76" +dependencies = [ + "alloy-core", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-balances", + "pallet-revive", + "pallet-timestamp", + "pallet-vesting", + "parity-scale-codec", + "scale-info", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "pallet-whitelist" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b883685a506fb80693725763c54efc679197f716ae2ce486da2ae738c600b9" +checksum = "b47358271800bb1d0a951ae82e1a192d2d30f765dfe64489b123211758517106" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -11233,9 +10791,9 @@ dependencies = [ [[package]] name = "pallet-xcm" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "154d5c722510da6de379b77db69a04b1104dfcb6e3166dd00e6199b2284f9d36" +checksum = "d035f6e566e48f6a0d35324ab36b7a84d8618ed8d785997af902c0f68939bee6" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -11246,9 +10804,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -11258,17 +10816,17 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ecef005b36b5e3d2ffb230c5daec5314aa0f4e8d4862912616e7d4823d20c22" +checksum = "bdae2b05f6e921c40b68cefaea45fd6ff91491e916cca95f81b3d11e8442f27a" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -11276,9 +10834,9 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d2edcc9e1602170dbae3f7d089e6c41a79bd8191916c24b2d1b22a468c1138" +checksum = "c45573d7737579a85f3f6cae813d8fcb9f92b3042fcfcef7c99e32e7b0ff1ef5" dependencies = [ "bp-messages", "bp-runtime", @@ -11288,8 +10846,8 @@ dependencies = [ "pallet-bridge-messages", "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "staging-xcm-builder", @@ -11299,9 +10857,9 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub-router" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cb5c7bb5fd695bb510e3a8ca4e6b9a9b3ff421049782a91b3f234973f960cab" +checksum = "76bc8da5fffc72a732e2e2d5eba7a3c92b1c1aa3671789d2fc4d9bd63bfc6a7b" dependencies = [ "bp-xcm-bridge-hub-router", "frame-benchmarking", @@ -11310,8 +10868,8 @@ dependencies = [ "parity-scale-codec", "polkadot-runtime-parachains", "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "staging-xcm-builder", @@ -11320,9 +10878,9 @@ dependencies = [ [[package]] name = "pallet-xcm-precompiles" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bab964381251e4b369460a9a83214eb6fc9d9813334848da71166a11f019a1e" +checksum = "4a77da8eed45670c81bdfb8a6f7fc8fbe9395a4a54f10db09421714096b88f82" dependencies = [ "frame-support", "pallet-revive", @@ -11335,9 +10893,9 @@ dependencies = [ [[package]] name = "parachains-common" -version = "28.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d25b1306dea2f28db555c1609df0a11a3a10ff9273d30d6b54e2de92e6a152" +checksum = "d5afa6e3e17fb738bb50374c6d1be0c3c1202b9793989bf962854f84a12769e9" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -11358,9 +10916,9 @@ dependencies = [ "polkadot-runtime-common", "scale-info", "sp-consensus-aura", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -11369,20 +10927,20 @@ dependencies = [ [[package]] name = "parachains-common-types" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abcf89556c148ca3285f53af72299f7f8893ff85f21eda8bd25d99acad310c5c" +checksum = "71fda8f9b6f492b5945123f4392d10a2b68bc2f1768d3eda13c3fec4236d4387" dependencies = [ "sp-consensus-aura", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "parachains-runtimes-test-utils" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75802f8b57754b06172d0cd4f14964bbd0593858f281fc08e028e81582898317" +checksum = "6a0d1d9983d8aca4d6c080c1133d84524e27e073f64da3197caca8b7fa726287" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-pallet-xcmp-queue", @@ -11400,9 +10958,9 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "sp-consensus-aura", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-tracing", "staging-parachain-info", "staging-xcm", @@ -11597,16 +11155,16 @@ dependencies = [ "parachains-common", "penpal-runtime", "polkadot-emulated-chain", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-keyring", "staging-xcm", ] [[package]] name = "penpal-runtime" -version = "0.36.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21373e260e8989b26637ed693c3ea1f9e18bdbaa176ec519eb67461c7031d735" +checksum = "dfa3f904687474a70fe9bbf25a9969bcaae53eb32f2a8d6841b96309251c96f8" dependencies = [ "assets-common", "cumulus-pallet-aura-ext", @@ -11627,7 +11185,7 @@ dependencies = [ "frame-try-runtime", "hex-literal", "pallet-asset-conversion", - "pallet-asset-tx-payment", + "pallet-asset-conversion-tx-payment", "pallet-assets", "pallet-aura", "pallet-authorship", @@ -11651,19 +11209,19 @@ dependencies = [ "scale-info", "serde_json", "smallvec", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-block-builder", "sp-consensus-aura", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", "sp-keyring", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-storage 23.0.0", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -11685,7 +11243,7 @@ dependencies = [ "kusama-runtime-constants", "parachains-common", "people-kusama-runtime", - "sp-core 40.0.0", + "sp-core 41.0.0", ] [[package]] @@ -11708,7 +11266,7 @@ dependencies = [ "parity-scale-codec", "people-kusama-runtime", "polkadot-runtime-common", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "staging-kusama-runtime", "staging-xcm", "staging-xcm-executor", @@ -11765,18 +11323,18 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-block-builder", "sp-consensus-aura", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-storage 23.0.0", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -11797,7 +11355,7 @@ dependencies = [ "people-polkadot-runtime", "polkadot-emulated-chain", "polkadot-runtime-constants", - "sp-core 40.0.0", + "sp-core 41.0.0", ] [[package]] @@ -11822,8 +11380,8 @@ dependencies = [ "polkadot-runtime-common", "polkadot-runtime-constants", "polkadot-system-emulated-network", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-executor", "xcm-runtime-apis", @@ -11883,18 +11441,18 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-block-builder", "sp-consensus-aura", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-storage 23.0.0", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -12083,9 +11641,9 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polkadot-ckb-merkle-mountain-range" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "221c71b432b38e494a0fdedb5f720e4cb974edf03a0af09e5b2238dbac7e6947" +checksum = "f70a16374b7a26b74bfb4788254f8fd64c3406034e81694142cf93f1dd59368f" dependencies = [ "cfg-if", "itertools 0.10.5", @@ -12093,14 +11651,14 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "22.0.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "935a6564a270c421cf44bbb1c1258e8451e657cc80a8ab42a356dc93c087829b" +checksum = "48cd6be204c9f3934f8b8286989321b88515a5e8a38b354ef4636fc6531608ee" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -12117,15 +11675,15 @@ dependencies = [ "sp-authority-discovery", "sp-consensus-babe", "sp-consensus-beefy", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "polkadot-parachain-primitives" -version = "21.0.0" +version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da7ad41b206f59740a569b02fba0fc7e1cf0fab8ac1c5d73c4420078da5223b8" +checksum = "7b54e729fbb8d77d877ac2e6cdb8d60fc0b4db2d4ea8cdf61ceead5f39f58f89" dependencies = [ "array-bytes 6.2.3", "bounded-collections", @@ -12134,16 +11692,16 @@ dependencies = [ "polkadot-core-primitives", "scale-info", "serde", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-weights 34.0.0", ] [[package]] name = "polkadot-primitives" -version = "23.0.0" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c87e99a74666bd52dc0c20e84ca11ce4c9fcf05444bf42322dd88da1ccf1e96" +checksum = "381e8ce880009a5a406eb38d2d7a6549df6619416fd2ef2ae0c20c31fc62e29a" dependencies = [ "bitvec", "bounded-collections", @@ -12154,16 +11712,16 @@ dependencies = [ "polkadot-parachain-primitives", "scale-info", "serde", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", "sp-arithmetic", "sp-authority-discovery", "sp-consensus-slots", - "sp-core 40.0.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", - "sp-keystore 0.46.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", + "sp-keystore 0.47.0", + "sp-runtime 47.0.0", "sp-staking", "sp-std", "thiserror 1.0.69", @@ -12246,29 +11804,29 @@ dependencies = [ "scale-info", "separator", "serde_json", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-debug-derive 15.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", "sp-keyring", "sp-npos-elections", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-staking", "sp-storage 23.0.0", "sp-tracing", "sp-transaction-pool", - "sp-trie 43.0.0", - "sp-version 44.0.0", + "sp-trie 44.0.0", + "sp-version 45.0.0", "ss58-registry", "staging-xcm", "staging-xcm-builder", @@ -12280,9 +11838,9 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "25.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6e07ed01b33a926fa3abf3ec50473e56d67e476e1b8e0fc91999f0f5778f36" +checksum = "f3be164ceb034e3fef2bc2dc4e3849a9e93533b2f486d91a297ec47a8b9bead8" dependencies = [ "bitvec", "frame-benchmarking", @@ -12314,13 +11872,13 @@ dependencies = [ "scale-info", "serde", "slot-range-helper", - "sp-api 41.0.0", - "sp-core 40.0.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", + "sp-api 42.0.0", + "sp-core 41.0.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", "sp-keyring", "sp-npos-elections", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-staking", "staging-xcm", @@ -12340,9 +11898,9 @@ dependencies = [ "polkadot-runtime-common", "scale-info", "smallvec", - "sp-core 40.0.0", - "sp-runtime 46.0.0", - "sp-trie 43.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", + "sp-trie 44.0.0", "sp-weights 34.0.0", "staging-xcm", "staging-xcm-builder", @@ -12350,9 +11908,9 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a35c43d769accd579cbffcb88984739e103cc245363604282159d7a9f47e098" +checksum = "dbac0cbb97c16815a0e0b699839de7f877d005efcbacb7a7f15adc5ffc436950" dependencies = [ "bs58", "frame-benchmarking", @@ -12363,9 +11921,9 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "25.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40c4af4cf0ccb50b823289ab1f3ee524c2e178b43e5a21daf02d1cc8151413a1" +checksum = "746067899af0c001151863973c80ca6bad987c4dd52f33ede9a78034e221848d" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -12395,14 +11953,14 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", "sp-arithmetic", - "sp-core 40.0.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", - "sp-keystore 0.46.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", + "sp-keystore 0.47.0", + "sp-runtime 47.0.0", "sp-session", "sp-staking", "sp-std", @@ -12414,9 +11972,9 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbb69b7c3aa7bbe73a7c98159ce9bfe5f84d099975a9f923ebbdce5e566cf1bb" +checksum = "9478bb8d5ebf45390add809a76536fc752a974711a6d0795ea1127b73d156c5a" dependencies = [ "docify", "frame-benchmarking", @@ -12430,22 +11988,22 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-arithmetic", "sp-block-builder", "sp-consensus-aura", "sp-consensus-grandpa", - "sp-core 40.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", "sp-keyring", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-storage 23.0.0", "sp-transaction-pool", - "sp-version 44.0.0", + "sp-version 45.0.0", ] [[package]] @@ -12478,16 +12036,16 @@ dependencies = [ [[package]] name = "polkavm" -version = "0.31.0" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ddb26cbe473e21bf5c329723e72fdf9208b5f9674e54721bf436e2efdbb26f" +checksum = "d90ece49c68657299648e20469517e22c6ec38321307bb14a69c27a33927a491" dependencies = [ "libc", "log", "picosimd", - "polkavm-assembler 0.31.0", - "polkavm-common 0.31.0", - "polkavm-linux-raw 0.31.0", + "polkavm-assembler 0.33.0", + "polkavm-common 0.33.0", + "polkavm-linux-raw 0.33.0", ] [[package]] @@ -12501,9 +12059,9 @@ dependencies = [ [[package]] name = "polkavm-assembler" -version = "0.31.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9006f0a135c6d035487fa88fa75b97b32a53d1d914c757f131c8e10a2af295" +checksum = "00010f7924647dbf6f468d85d0fcfe4c3587cfb4557ef13f3682dbece8fd57f0" dependencies = [ "log", ] @@ -12529,14 +12087,14 @@ dependencies = [ [[package]] name = "polkavm-common" -version = "0.31.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0a3e43fa1a54b955a2f9422b1690c3cc29252ac8828c02a99d2370b9f2a188e" +checksum = "9e44a9487003cf5b9fc4462bbcf105cc37d5d9b18b40edf5ed50dd20ed1fdb27" dependencies = [ "blake3", "log", "picosimd", - "polkavm-assembler 0.31.0", + "polkavm-assembler 0.33.0", ] [[package]] @@ -12559,11 +12117,11 @@ dependencies = [ [[package]] name = "polkavm-derive" -version = "0.31.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d944b6b4e792c2a120232b52bd6f2c9dd3071d3f48462afb2b5d00cb9f7ac9" +checksum = "3ef966bc8518a66ce12d4edb73f2c4094cae72bb23258bc9e9b2802cc9d6cd79" dependencies = [ - "polkavm-derive-impl-macro 0.31.0", + "polkavm-derive-impl-macro 0.33.0", ] [[package]] @@ -12592,11 +12150,11 @@ dependencies = [ [[package]] name = "polkavm-derive-impl" -version = "0.31.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c14b030150f81dfde110997b6fafc19741998130908fdab85f1a66bb735025" +checksum = "f0c2166ad71dd7f51dcdd0d91b70d408a8b3610fa6e94d8202dd4b7185607181" dependencies = [ - "polkavm-common 0.31.0", + "polkavm-common 0.33.0", "proc-macro2", "quote", "syn 2.0.114", @@ -12624,11 +12182,11 @@ dependencies = [ [[package]] name = "polkavm-derive-impl-macro" -version = "0.31.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3fcadb13edfcc3b4046fcd2d292597782f5b7a2af140e6363fbf71fe196b425" +checksum = "c7ac2ac8ec5b938e249fa97b5ebb1e6fa47000c81a25eba6bf0f13edb8d430e4" dependencies = [ - "polkavm-derive-impl 0.31.0", + "polkavm-derive-impl 0.33.0", "syn 2.0.114", ] @@ -12650,16 +12208,16 @@ dependencies = [ [[package]] name = "polkavm-linker" -version = "0.31.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1ae3f7aff1af110dcd0f105d783b10ff25cd2837abe411ea4d88ae5cd193b49" +checksum = "046d371182d27b707e116d1637ccdc8514e0e123130139ecff62bd78d987c622" dependencies = [ "dirs", "gimli 0.31.1", "hashbrown 0.14.5", "log", "object 0.36.7", - "polkavm-common 0.31.0", + "polkavm-common 0.33.0", "regalloc2 0.9.3", "rustc-demangle", ] @@ -12672,9 +12230,9 @@ checksum = "28919f542476f4158cc71e6c072b1051f38f4b514253594ac3ad80e3c0211fc8" [[package]] name = "polkavm-linux-raw" -version = "0.31.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbcd9ed5f77c60f3878289001d3e789da301746249b622bfb2876e2d0fe32c0b" +checksum = "42063d4a1c52e569f7794df27dab3e19c9fa8946184023257bdbb43eb4a94be5" [[package]] name = "polling" @@ -13003,8 +12561,8 @@ version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ - "heck 0.4.1", - "itertools 0.12.1", + "heck 0.5.0", + "itertools 0.14.0", "log", "multimap", "once_cell", @@ -13023,8 +12581,8 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ - "heck 0.4.1", - "itertools 0.12.1", + "heck 0.5.0", + "itertools 0.14.0", "log", "multimap", "petgraph 0.8.3", @@ -13056,7 +12614,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.114", @@ -13069,7 +12627,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.114", @@ -13099,10 +12657,22 @@ version = "35.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b89c4319786b16c1a6a38ee04788d32c669b61ba4b69da2162c868c18be99c1b" dependencies = [ - "cranelift-bitset", + "cranelift-bitset 0.122.0", "log", - "pulley-macros", - "wasmtime-internal-math", + "pulley-macros 35.0.0", + "wasmtime-internal-math 35.0.0", +] + +[[package]] +name = "pulley-interpreter" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35eaba3163b9faf1d707f0704a7370bfdbe73622c766acdaf1fa4addb87510de" +dependencies = [ + "cranelift-bitset 0.123.8", + "log", + "pulley-macros 36.0.8", + "wasmtime-internal-math 36.0.8", ] [[package]] @@ -13116,6 +12686,17 @@ dependencies = [ "syn 2.0.114", ] +[[package]] +name = "pulley-macros" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac294897a29ce07919714f9f25c11a819d75759d47eb9f3273845ffea5a5760d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -13158,7 +12739,7 @@ dependencies = [ "quinn-udp", "rustc-hash 2.1.1", "rustls 0.23.36", - "socket2 0.5.10", + "socket2 0.6.2", "thiserror 2.0.18", "tokio", "tracing", @@ -13195,9 +12776,9 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.10", + "socket2 0.6.2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] @@ -13478,7 +13059,7 @@ version = "1.0.0" dependencies = [ "pallet-staking-reward-fn", "polkadot-primitives", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -13673,7 +13254,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cee3f336b83621294b4cfe84d817e3eef6f3d0fce00951973364cc7f860424d" dependencies = [ "ark-bls12-381 0.5.0", - "ark-bn254 0.5.0", + "ark-bn254", "ark-ec 0.5.0", "ark-ff 0.5.0", "ark-serialize 0.5.0", @@ -13786,16 +13367,16 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65ebfa29c290eec677fd6e5ed93ba214f87eeb817b82b595aa4e831e3b773e3e" +checksum = "cb1a96be6e424dd5e90157ec386296af7e66a1dc19a2a2ade67d1927caf68cb6" dependencies = [ "frame-support", "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-weights 34.0.0", "staging-xcm", "staging-xcm-builder", @@ -13889,15 +13470,6 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - [[package]] name = "rustc_version" version = "0.3.3" @@ -13935,7 +13507,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -14026,7 +13598,7 @@ dependencies = [ "security-framework 3.5.1", "security-framework-sys", "webpki-root-certs 0.26.11", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -14097,15 +13669,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" -[[package]] -name = "safe-mix" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" -dependencies = [ - "rustc_version 0.2.3", -] - [[package]] name = "safe_arch" version = "0.7.4" @@ -14141,36 +13704,36 @@ checksum = "01733879c581defda6f49ff4076033c675d7127bfab6fd0bd0e6cf10696d0564" dependencies = [ "log", "sp-core 38.1.0", - "sp-wasm-interface", + "sp-wasm-interface 24.0.0", "thiserror 1.0.69", ] [[package]] name = "sc-allocator" -version = "36.0.0" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15660b2682abf8e57ca59fec3d02ca5ab16b35acee560d74279997d2b10aa22" +checksum = "c0d3f1e8a1ed997d5fa6f86c005fb47c10b64184c68e611b1f310e3d039e44c7" dependencies = [ "log", - "sp-core 40.0.0", - "sp-wasm-interface", + "sp-core 41.0.0", + "sp-wasm-interface 25.0.0", "thiserror 1.0.69", ] [[package]] name = "sc-block-builder" -version = "0.49.0" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5ff0d1b4c10df7d93eb461dbc7bf7f334d3abcc3c6aaa412094bf4afc13fd4" +checksum = "a3420ec9ef25afe81916ccb0eb5376c3d26387e834ca688e9d847dfe13493022" dependencies = [ "parity-scale-codec", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-block-builder", - "sp-blockchain 44.0.0", - "sp-core 40.0.0", + "sp-blockchain 45.0.0", + "sp-core 41.0.0", "sp-externalities 0.32.0", - "sp-inherents 41.0.0", - "sp-runtime 46.0.0", + "sp-inherents 42.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -14187,7 +13750,7 @@ dependencies = [ "sc-client-api 42.0.0", "sc-executor 0.45.0", "sc-network 0.53.1", - "sc-telemetry", + "sc-telemetry 30.0.1", "serde", "serde_json", "sp-blockchain 42.0.0", @@ -14202,28 +13765,28 @@ dependencies = [ [[package]] name = "sc-chain-spec" -version = "49.0.0" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a086d2166aaf9447d1249bf6dfa8f31dd2dccc11331c85eb7989621531dbf505" +checksum = "124e67d20414d12f73640ba2586a5d44d7646ec58ea41d2f1dfd5d98ff56b1aa" dependencies = [ "array-bytes 6.2.3", "docify", "memmap2 0.9.9", "parity-scale-codec", "sc-chain-spec-derive", - "sc-client-api 45.0.0", - "sc-executor 0.48.0", - "sc-network 0.56.0", - "sc-telemetry", + "sc-client-api 46.0.0", + "sc-executor 0.49.0", + "sc-network 0.57.0", + "sc-telemetry 31.0.0", "serde", "serde_json", - "sp-blockchain 44.0.0", - "sp-core 40.0.0", + "sp-blockchain 45.0.0", + "sp-core 41.0.0", "sp-crypto-hashing", - "sp-genesis-builder 0.22.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", + "sp-genesis-builder 0.23.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", "sp-tracing", ] @@ -14252,7 +13815,7 @@ dependencies = [ "parking_lot 0.12.5", "sc-executor 0.45.0", "sc-transaction-pool-api 42.0.0", - "sc-utils", + "sc-utils 20.1.0", "sp-api 39.0.0", "sp-blockchain 42.0.0", "sp-consensus 0.45.0", @@ -14268,36 +13831,36 @@ dependencies = [ [[package]] name = "sc-client-api" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0220e56948897f4ed16ede5648ff89675671ad125104ec5c40534632467ec598" +checksum = "f9736f1d5bf62be76f7a2f629be4443c4a14896f7eefc9987a68a0b4fd023538" dependencies = [ "fnv", "futures", "log", "parity-scale-codec", "parking_lot 0.12.5", - "sc-executor 0.48.0", - "sc-transaction-pool-api 44.0.0", - "sc-utils", - "sp-api 41.0.0", - "sp-blockchain 44.0.0", - "sp-consensus 0.47.0", - "sp-core 40.0.0", + "sc-executor 0.49.0", + "sc-transaction-pool-api 45.0.0", + "sc-utils 21.0.0", + "sp-api 42.0.0", + "sp-blockchain 45.0.0", + "sp-consensus 0.48.0", + "sp-core 41.0.0", "sp-database", "sp-externalities 0.32.0", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", "sp-storage 23.0.0", - "sp-trie 43.0.0", + "sp-trie 44.0.0", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" -version = "0.52.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f71b6d2f97bc790b97c7d8f4e7f381f1907e018be3419b968d88d26bef7c374" +checksum = "4a46b1aea43a7c62d245519681afb8001cedceb02e0e133b2ef13a27bda89704" dependencies = [ "hash-db", "kvdb", @@ -14307,49 +13870,49 @@ dependencies = [ "parity-db", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api 45.0.0", + "sc-client-api 46.0.0", "sc-state-db", "schnellru", "sp-arithmetic", - "sp-blockchain 44.0.0", - "sp-core 40.0.0", + "sp-blockchain 45.0.0", + "sp-core 41.0.0", "sp-database", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", - "sp-trie 43.0.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", + "sp-trie 44.0.0", "substrate-prometheus-endpoint", "sysinfo", ] [[package]] name = "sc-consensus" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d174c8dcf3517470cbbb9269f7d240924cb08fed44d153dc5c6ce9eca0bd8836" +checksum = "ea589c21dd04c10808d0cb6dcf6b890a294d0343addd4b1bfc533620fd9fd1f8" dependencies = [ "async-trait", "futures", "log", "mockall", "parking_lot 0.12.5", - "sc-client-api 45.0.0", - "sc-network-types 0.20.2", - "sc-utils", + "sc-client-api 46.0.0", + "sc-network-types 0.20.3", + "sc-utils 21.0.0", "serde", - "sp-blockchain 44.0.0", - "sp-consensus 0.47.0", - "sp-core 40.0.0", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", + "sp-blockchain 45.0.0", + "sp-consensus 0.48.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", "substrate-prometheus-endpoint", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-grandpa" -version = "0.41.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f8b9bab63814a10053d5eef9e349b198f69977442b61f8ad70c58dee1d66343" +checksum = "4d8c77246fa9f1bd36fc105363ae224882feab5257efd2b7cb022254b8c59632" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -14364,29 +13927,29 @@ dependencies = [ "parking_lot 0.12.5", "rand 0.8.5", "sc-block-builder", - "sc-chain-spec 49.0.0", - "sc-client-api 45.0.0", + "sc-chain-spec 50.0.0", + "sc-client-api 46.0.0", "sc-client-db", "sc-consensus", - "sc-network 0.56.0", - "sc-network-common 0.53.0", + "sc-network 0.57.0", + "sc-network-common 0.54.0", "sc-network-gossip", "sc-network-sync", - "sc-network-types 0.20.2", - "sc-telemetry", - "sc-transaction-pool-api 44.0.0", - "sc-utils", + "sc-network-types 0.20.3", + "sc-telemetry 31.0.0", + "sc-transaction-pool-api 45.0.0", + "sc-utils 21.0.0", "serde_json", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", "sp-arithmetic", - "sp-blockchain 44.0.0", - "sp-consensus 0.47.0", + "sp-blockchain 45.0.0", + "sp-consensus 0.48.0", "sp-consensus-grandpa", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-crypto-hashing", - "sp-keystore 0.46.0", - "sp-runtime 46.0.0", + "sp-keystore 0.47.0", + "sp-runtime 47.0.0", "substrate-prometheus-endpoint", "thiserror 1.0.69", ] @@ -14411,31 +13974,31 @@ dependencies = [ "sp-runtime-interface 32.0.0", "sp-trie 41.1.0", "sp-version 42.0.0", - "sp-wasm-interface", + "sp-wasm-interface 24.0.0", "tracing", ] [[package]] name = "sc-executor" -version = "0.48.0" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c53468dcb922f00210899b6a2de3417d9642963e457a162a231f90ef866b76d" +checksum = "cef04379da853c1c14df0ebe8a394ddc6c042ff6e164d285db137edccf6eca14" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", - "sc-executor-common 0.44.0", - "sc-executor-polkavm 0.41.0", - "sc-executor-wasmtime 0.44.0", + "sc-executor-common 0.45.0", + "sc-executor-polkavm 0.42.0", + "sc-executor-wasmtime 0.45.0", "schnellru", - "sp-api 41.0.0", - "sp-core 40.0.0", + "sp-api 42.0.0", + "sp-core 41.0.0", "sp-externalities 0.32.0", - "sp-io 45.0.0", + "sp-io 46.0.0", "sp-panic-handler", - "sp-runtime-interface 34.0.0", - "sp-trie 43.0.0", - "sp-version 44.0.0", - "sp-wasm-interface", + "sp-runtime-interface 35.0.0", + "sp-trie 44.0.0", + "sp-version 45.0.0", + "sp-wasm-interface 25.0.0", "tracing", ] @@ -14448,21 +14011,21 @@ dependencies = [ "polkavm 0.26.0", "sc-allocator 34.0.0", "sp-maybe-compressed-blob", - "sp-wasm-interface", + "sp-wasm-interface 24.0.0", "thiserror 1.0.69", "wasm-instrument", ] [[package]] name = "sc-executor-common" -version = "0.44.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "588cfbcb1eff48c2a6463fbbcc938350028798f1de21e194b1d5612a116edfd4" +checksum = "f06c9a86b3475f8182b4e69b75c2b8563e6c71398ddce742f326ba1c2a136efd" dependencies = [ - "polkavm 0.31.0", - "sc-allocator 36.0.0", + "polkavm 0.33.1", + "sc-allocator 37.0.0", "sp-maybe-compressed-blob", - "sp-wasm-interface", + "sp-wasm-interface 25.0.0", "thiserror 1.0.69", "wasm-instrument", ] @@ -14476,20 +14039,20 @@ dependencies = [ "log", "polkavm 0.26.0", "sc-executor-common 0.41.0", - "sp-wasm-interface", + "sp-wasm-interface 24.0.0", ] [[package]] name = "sc-executor-polkavm" -version = "0.41.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4589c0810bf2f2347816d6d1b86fec04be475531246eae371e8bac96df5a4161" +checksum = "10bb402bec955b45c3a7882c8f3de3764dff9ce7705a4936ee7deb7c8ce01377" dependencies = [ "log", - "polkavm 0.31.0", - "sc-executor-common 0.44.0", - "sp-runtime-interface 34.0.0", - "sp-wasm-interface", + "polkavm 0.33.1", + "sc-executor-common 0.45.0", + "sp-runtime-interface 35.0.0", + "sp-wasm-interface 25.0.0", ] [[package]] @@ -14505,32 +14068,33 @@ dependencies = [ "sc-allocator 34.0.0", "sc-executor-common 0.41.0", "sp-runtime-interface 32.0.0", - "sp-wasm-interface", - "wasmtime", + "sp-wasm-interface 24.0.0", + "wasmtime 35.0.0", ] [[package]] name = "sc-executor-wasmtime" -version = "0.44.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e568f7374a379035d3476bf7be847ea7ba7507652131baf6a87d096694f5d4ff" +checksum = "fe2b72c4c65ae32931f36979dd0ca27055f24a556f0308083b2101c1fddf09d1" dependencies = [ "anyhow", "log", "parking_lot 0.12.5", "rustix", - "sc-allocator 36.0.0", - "sc-executor-common 0.44.0", - "sp-runtime-interface 34.0.0", - "sp-wasm-interface", - "wasmtime", + "sc-allocator 37.0.0", + "sc-executor-common 0.45.0", + "sp-runtime-interface 35.0.0", + "sp-virtualization", + "sp-wasm-interface 25.0.0", + "wasmtime 36.0.8", ] [[package]] name = "sc-mixnet" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8619d7cfe58dae6ffdca6185c4dc28870d7e2fb60d8a174d0916af3140a201e0" +checksum = "6ddba63adc89ee79c7b09dc9454b02e7a8a6291789a226a4f50aef57eb88d6f7" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -14542,16 +14106,16 @@ dependencies = [ "mixnet", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api 45.0.0", - "sc-network 0.56.0", - "sc-network-types 0.20.2", - "sc-transaction-pool-api 44.0.0", - "sp-api 41.0.0", - "sp-consensus 0.47.0", - "sp-core 40.0.0", - "sp-keystore 0.46.0", + "sc-client-api 46.0.0", + "sc-network 0.57.0", + "sc-network-types 0.20.3", + "sc-transaction-pool-api 45.0.0", + "sp-api 42.0.0", + "sp-consensus 0.48.0", + "sp-core 41.0.0", + "sp-keystore 0.47.0", "sp-mixnet", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "thiserror 1.0.69", ] @@ -14587,7 +14151,7 @@ dependencies = [ "sc-client-api 42.0.0", "sc-network-common 0.51.0", "sc-network-types 0.19.0", - "sc-utils", + "sc-utils 20.1.0", "schnellru", "serde", "serde_json", @@ -14608,15 +14172,16 @@ dependencies = [ [[package]] name = "sc-network" -version = "0.56.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30436a6408abaa053f8d0ff3506fe83254d0050cdbea5adb3d7d490966649c63" +checksum = "fc0ac2bd45f377dec09ed4ff99aebaec8cad8c042dedd796766b0e4f1bf99ff9" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", "async-trait", "asynchronous-codec 0.6.2", "bytes", + "cid 0.11.1", "either", "fnv", "futures", @@ -14634,18 +14199,18 @@ dependencies = [ "prost 0.12.6", "prost-build 0.13.5", "rand 0.8.5", - "sc-client-api 45.0.0", - "sc-network-common 0.53.0", - "sc-network-types 0.20.2", - "sc-utils", + "sc-client-api 46.0.0", + "sc-network-common 0.54.0", + "sc-network-types 0.20.3", + "sc-utils 21.0.0", "schnellru", "serde", "serde_json", "smallvec", "sp-arithmetic", - "sp-blockchain 44.0.0", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-blockchain 45.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", @@ -14669,40 +14234,40 @@ dependencies = [ [[package]] name = "sc-network-common" -version = "0.53.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3c48b06d9a44a9be48c940898d307d196a18808d2f84ee422ac5fbc131d99dc" +checksum = "0143967106a7ad82e11667c4522519d78e204147369e7d0b9dc2d345ca52c855" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "sc-network-gossip" -version = "0.56.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9951cebee17b8e27ad61b2fbdc4c379297868e49a67d004a33c91c9898d8c68" +checksum = "69a5c6b2773d4983d6b190860430732d1fd46f924a9eaf1fc69986fb879c7d6b" dependencies = [ "ahash", "futures", "futures-timer", "log", - "sc-network 0.56.0", - "sc-network-common 0.53.0", + "sc-network 0.57.0", + "sc-network-common 0.54.0", "sc-network-sync", - "sc-network-types 0.20.2", + "sc-network-types 0.20.3", "schnellru", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "substrate-prometheus-endpoint", "tracing", ] [[package]] name = "sc-network-sync" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8387ffb7f5c25f1868c7e75fca813ec7ed49312f68a3de79574c4da68fd85ab9" +checksum = "f20718dd8de6d583758fecda0c974b773f6f3aadd31cf5819586a662506c8a1a" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -14714,19 +14279,19 @@ dependencies = [ "parity-scale-codec", "prost 0.12.6", "prost-build 0.13.5", - "sc-client-api 45.0.0", + "sc-client-api 46.0.0", "sc-consensus", - "sc-network 0.56.0", - "sc-network-common 0.53.0", - "sc-network-types 0.20.2", - "sc-utils", + "sc-network 0.57.0", + "sc-network-common 0.54.0", + "sc-network-types 0.20.3", + "sc-utils 21.0.0", "schnellru", "smallvec", "sp-arithmetic", - "sp-blockchain 44.0.0", - "sp-consensus 0.47.0", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-blockchain 45.0.0", + "sp-consensus 0.48.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", @@ -14757,9 +14322,9 @@ dependencies = [ [[package]] name = "sc-network-types" -version = "0.20.2" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf470c59ad6f0d3b5e9d33056456f979d55f95470276e239dda01630b1f31eab" +checksum = "7dad571c070fc5d7665b443a4b5f7c4644270159d92c19e9cc43ecb490c266fb" dependencies = [ "bs58", "bytes", @@ -14779,36 +14344,36 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f007ff53957241fa960e174cf5a73232640573a5ec88895927fe95db768f05c" +checksum = "4dfa4b7bf33952dd5d11e6b410cf6db82a7d5b1439bfcc6c78599d45db992f4c" dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-chain-spec 49.0.0", + "sc-chain-spec 50.0.0", "sc-mixnet", - "sc-transaction-pool-api 44.0.0", + "sc-transaction-pool-api 45.0.0", "scale-info", "serde", "serde_json", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-rpc", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-statement-store", - "sp-version 44.0.0", + "sp-version 45.0.0", "thiserror 1.0.69", ] [[package]] name = "sc-state-db" -version = "0.42.0" +version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad565fbf4aea429b80899ef1b1abdf9e118b7be4853498c023ea2d893086919" +checksum = "9678b83cfacc9149327b527a56319c8d2e23623a6cdc63de6f6fe4f6001e033e" dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.5", - "sp-core 40.0.0", + "sp-core 41.0.0", ] [[package]] @@ -14824,7 +14389,27 @@ dependencies = [ "parking_lot 0.12.5", "pin-project", "rand 0.8.5", - "sc-utils", + "sc-utils 20.1.0", + "serde", + "serde_json", + "thiserror 1.0.69", + "wasm-timer", +] + +[[package]] +name = "sc-telemetry" +version = "31.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8e894e2929df91a5b42cd98533673cd4846fd7a1ebd6fab2076a7bd24f6726" +dependencies = [ + "chrono", + "futures", + "libp2p", + "log", + "parking_lot 0.12.5", + "pin-project", + "rand 0.8.5", + "sc-utils 21.0.0", "serde", "serde_json", "thiserror 1.0.69", @@ -14851,9 +14436,9 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e47fed87883b76b0c44b79c55b4699aca17c28e38845b76de4ef45294448ab9" +checksum = "1cd995c2b649e05d26f911326ab001ef62ed624caa213b5589a20f81f3ebf79c" dependencies = [ "async-trait", "futures", @@ -14861,9 +14446,9 @@ dependencies = [ "log", "parity-scale-codec", "serde", - "sp-blockchain 44.0.0", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-blockchain 45.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "strum 0.26.3", "thiserror 1.0.69", ] @@ -14883,6 +14468,21 @@ dependencies = [ "sp-arithmetic", ] +[[package]] +name = "sc-utils" +version = "21.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00454290e81f64bad3377a099543449bc4c6c909e1ade78ca307e20007c9b12c" +dependencies = [ + "async-channel 1.9.0", + "futures", + "futures-timer", + "log", + "parking_lot 0.12.5", + "prometheus", + "sp-arithmetic", +] + [[package]] name = "scale-bits" version = "0.7.0" @@ -15271,15 +14871,6 @@ dependencies = [ "semver-parser 0.7.0", ] -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser 0.7.0", -] - [[package]] name = "semver" version = "0.11.0" @@ -15624,14 +15215,14 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" -version = "22.0.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e20ff1442e2ec0fc5a6f3412ddc0424b102b9fc2caddb42e9a345aeacc7c98b5" +checksum = "5f44f27e5459eba934a64d7eca57a7d3561242020e1f53005f9e561aea54c7c3" dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -15785,9 +15376,9 @@ dependencies = [ [[package]] name = "snowbridge-beacon-primitives" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "564b8e407459bfba1cba8450d03e4b8a4b74e1340c3e29569b1e264655a8d928" +checksum = "b7244cc42fde70b4e414526d291e108e5e7e9d02fea64712a851b4f352860fb2" dependencies = [ "byte-slice-cast", "frame-support", @@ -15797,9 +15388,9 @@ dependencies = [ "scale-info", "serde", "snowbridge-milagro-bls", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", "ssz_rs", "ssz_rs_derive", @@ -15807,9 +15398,9 @@ dependencies = [ [[package]] name = "snowbridge-core" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1433a74db94e906dca4c31b6bfc65e03741a1f5ebcc0662216a77cb3c2c1a773" +checksum = "ac551b6bacfd11f8f78f789e94824f3daf2f54a524aa881fee96c9963f2eb6e7" dependencies = [ "bp-relayers", "frame-support", @@ -15820,9 +15411,9 @@ dependencies = [ "scale-info", "serde", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "staging-xcm-builder", @@ -15832,9 +15423,9 @@ dependencies = [ [[package]] name = "snowbridge-inbound-queue-primitives" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1609ac1e617fae1163a9a121245e3248ac1ed7d8d02dd24b290d2da10c04dd9" +checksum = "f4997b3817756a1b265e98ae1e208170f9b1ac094ef7968115d1e911ce7797f4" dependencies = [ "alloy-core", "assets-common", @@ -15847,9 +15438,9 @@ dependencies = [ "snowbridge-beacon-primitives", "snowbridge-core", "snowbridge-verification-primitives", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "staging-xcm-builder", @@ -15859,14 +15450,14 @@ dependencies = [ [[package]] name = "snowbridge-merkle-tree" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c8fb9af2c36d294fe9632f7878bb499a37cd144fe8eaaf8fc8e0be202349abf" +checksum = "94725f5d625b83f66ac83b0a0404dca1013719f3a373784577cd5d73eab9358e" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -15886,9 +15477,9 @@ dependencies = [ [[package]] name = "snowbridge-outbound-queue-primitives" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b25b8ea84562dc59a86efa0e08326a740e3a81ab19038c65432e10dbe80120" +checksum = "ec95ca08b0b3833cecb7d8c367d38685bacf6781dc4605c37a6a46fef43ba1be" dependencies = [ "alloy-core", "ethabi-decode", @@ -15901,9 +15492,9 @@ dependencies = [ "snowbridge-core", "snowbridge-verification-primitives", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "staging-xcm-builder", @@ -15913,38 +15504,38 @@ dependencies = [ [[package]] name = "snowbridge-outbound-queue-runtime-api" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38174886ea89dce68cac3b39222f5bc69eaa4ec5765aae88003e327ddfd733e5" +checksum = "63a5c02f8d56aa43bb9711d8c3dd0af6feabee8430482c61b24633fbe3ff3c16" dependencies = [ "frame-support", "parity-scale-codec", "snowbridge-core", "snowbridge-merkle-tree", "snowbridge-outbound-queue-primitives", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-std", ] [[package]] name = "snowbridge-outbound-queue-v2-runtime-api" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca2fe8b3766639db774f374c432db8216cc7f06bf833cd70e494657917801d3" +checksum = "9d141bbde8aa6a049a2c285bd537e6f72036fb94a37c6a4f13d38c32f6fff72d" dependencies = [ "frame-support", "parity-scale-codec", "scale-info", "snowbridge-merkle-tree", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-std", ] [[package]] name = "snowbridge-pallet-ethereum-client" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7424a1ec870adac3712f03baeb5c13ad96ccf30efd3fd3c5d0375afb6f418940" +checksum = "9dd40d49ad6040538fc3b1c5c31971eca5a1176ada505131c3b89d4820e771fd" dependencies = [ "alloy-primitives", "frame-benchmarking", @@ -15959,9 +15550,9 @@ dependencies = [ "snowbridge-core", "snowbridge-pallet-ethereum-client-fixtures", "snowbridge-verification-primitives", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", "static_assertions", "tracing", @@ -15969,22 +15560,22 @@ dependencies = [ [[package]] name = "snowbridge-pallet-ethereum-client-fixtures" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b89ddd368c9c1641575a0d6e98358ad7bf74c3f8bff0969e46d3986c4ab2261" +checksum = "e6c630e92fc782ce55d6a76b81db1a376f1180097202a7daaf46f2f58fdd03b6" dependencies = [ "hex-literal", "snowbridge-beacon-primitives", "snowbridge-verification-primitives", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-std", ] [[package]] name = "snowbridge-pallet-inbound-queue" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "315a64f5a3f5553ab6ee883c5f3fce798b133fbc9da9fbb36efff92ad404e11c" +checksum = "0e01de4d969a64d1ed0885247dc3a50c66eee5672d4bbe253dad1538fd781e4e" dependencies = [ "alloy-core", "frame-benchmarking", @@ -15998,9 +15589,9 @@ dependencies = [ "snowbridge-core", "snowbridge-inbound-queue-primitives", "snowbridge-pallet-inbound-queue-fixtures", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "staging-xcm-executor", @@ -16009,23 +15600,23 @@ dependencies = [ [[package]] name = "snowbridge-pallet-inbound-queue-fixtures" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1f597fc45425e028904f9eca8de99c44386708ba7a69b65ce6e143ab40f8a96" +checksum = "4c091f928d3f0176d5bb6a7f6d71c4ad5fd82ec3b4a4116df782ed0458ce5d5c" dependencies = [ "hex-literal", "snowbridge-beacon-primitives", "snowbridge-core", "snowbridge-inbound-queue-primitives", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-std", ] [[package]] name = "snowbridge-pallet-inbound-queue-v2" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b171e9d77dea4243ce1daff84dc33b917ed43297651414168a322676bef5b2" +checksum = "487e0910c0297ce54bb206db507e134ccd12a36e04fdfe40c3951d35303eafd8" dependencies = [ "alloy-core", "bp-relayers", @@ -16040,9 +15631,10 @@ dependencies = [ "snowbridge-core", "snowbridge-inbound-queue-primitives", "snowbridge-pallet-inbound-queue-v2-fixtures", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "tracing", @@ -16050,23 +15642,23 @@ dependencies = [ [[package]] name = "snowbridge-pallet-inbound-queue-v2-fixtures" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5370d0bdea19a3f4b653a1106c170f4e95f3389d9ffa50f51114833a12fd52b0" +checksum = "b4f9c854e4fa0ecc4ee6a946a3c5a65aafcdb78513fab06a4f817081a8983210" dependencies = [ "hex-literal", "snowbridge-beacon-primitives", "snowbridge-core", "snowbridge-inbound-queue-primitives", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-std", ] [[package]] name = "snowbridge-pallet-outbound-queue" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d64507a22f5304d02a7b0bc6c7f13ccdc8d41521bdf04e4738d01ff24cb8a416" +checksum = "6c8d2adbf7cc759f596e4f37d74e261b91e22600b92c55a79695800ce2fd86d1" dependencies = [ "bridge-hub-common", "ethabi-decode", @@ -16080,17 +15672,17 @@ dependencies = [ "snowbridge-merkle-tree", "snowbridge-outbound-queue-primitives", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", ] [[package]] name = "snowbridge-pallet-outbound-queue-v2" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22b9d70ebb0e00e48b61a4b0a4c82648a5e12f4bd07e870713a3b31506e9331" +checksum = "fedeadbcef05a904e905816ae023b7957f58432a614a5745ebabe6b0b1842529" dependencies = [ "alloy-core", "bp-relayers", @@ -16108,9 +15700,9 @@ dependencies = [ "snowbridge-outbound-queue-primitives", "snowbridge-verification-primitives", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "staging-xcm-builder", @@ -16119,9 +15711,9 @@ dependencies = [ [[package]] name = "snowbridge-pallet-system" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e44a446afbc79d48b6c6e73e5860db02ee77c70ebe7dd3e52678e9e6a1b79470" +checksum = "c47c77a9649a199b4ad83b3c311a1ee705331b59f117719fbcb8d0fb0fbeb2ff" dependencies = [ "frame-benchmarking", "frame-support", @@ -16130,9 +15722,9 @@ dependencies = [ "scale-info", "snowbridge-core", "snowbridge-outbound-queue-primitives", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "staging-xcm-executor", @@ -16141,9 +15733,9 @@ dependencies = [ [[package]] name = "snowbridge-pallet-system-frontend" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d9f3f4376b844379689f9ea0dbcc423513ba6a6e608229394de0ff6afbf4bb" +checksum = "4bda270a2e495e476c5112b1b68617ac7e4b44dd785b3c65f17894d5ef0877b7" dependencies = [ "frame-benchmarking", "frame-support", @@ -16152,9 +15744,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "snowbridge-core", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "staging-xcm-executor", @@ -16163,9 +15755,9 @@ dependencies = [ [[package]] name = "snowbridge-pallet-system-v2" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34a201b843f846bb69c3e892ad6c9173a9423ff407829555eed889e0afffa9ed" +checksum = "762407c6f2ae057264f702d68440111a3b45993364bb508eec15dd7f92e8a587" dependencies = [ "frame-benchmarking", "frame-support", @@ -16175,9 +15767,9 @@ dependencies = [ "snowbridge-core", "snowbridge-outbound-queue-primitives", "snowbridge-pallet-system", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-std", "staging-xcm", "staging-xcm-executor", @@ -16186,9 +15778,9 @@ dependencies = [ [[package]] name = "snowbridge-runtime-common" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "371788f30d41237083046ad82af54cbb60e24016aff4abe4ddff374d9011a80c" +checksum = "83928c9e70fbaf1c0359ae4d0756bb61a6317c94940e1a9f4dd309bd2af23bda" dependencies = [ "frame-support", "frame-system", @@ -16204,9 +15796,9 @@ dependencies = [ [[package]] name = "snowbridge-runtime-test-common" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "191493d44cd6cdbd11815fe18d16603124144a20af454c6fef5968dbeea02b57" +checksum = "e869a43ebfb02138ce751d8bd8b517ac0fbcad9f885aee8982494c361e2f7934" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -16225,10 +15817,10 @@ dependencies = [ "snowbridge-pallet-ethereum-client-fixtures", "snowbridge-pallet-outbound-queue", "snowbridge-pallet-system", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", "sp-keyring", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -16236,35 +15828,35 @@ dependencies = [ [[package]] name = "snowbridge-system-runtime-api" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e1fd30aaa77bd0250bf222597ebe72dd31671f37ea013f0fdbfac594c7ff3bf" +checksum = "cc743c9a813eee1f453da8fe64b6b9c8484f37da382edfd814f3781a8585c4cb" dependencies = [ "parity-scale-codec", "snowbridge-core", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-std", "staging-xcm", ] [[package]] name = "snowbridge-system-v2-runtime-api" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee8e1711c65765a3444dea2cd9bb0a50f079238a9c7a5685ee3bbbe8b77bda5" +checksum = "596a124904afc18742a8e73303bc8c2587e1da73bd0227661c419db046df7478" dependencies = [ "parity-scale-codec", "snowbridge-core", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-std", "staging-xcm", ] [[package]] name = "snowbridge-verification-primitives" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb46d1cf328f0c7c062662375d4979521a924f97165170ef437b65e5ab55a987" +checksum = "1f4b0b2e9e1d6b4d3268febada099e4f0a016bce988aab102578202f6eb42d81" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -16274,7 +15866,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "snowbridge-beacon-primitives", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-std", ] @@ -16327,7 +15919,7 @@ dependencies = [ "sp-api-proc-macro 25.0.0", "sp-core 38.1.0", "sp-externalities 0.30.0", - "sp-metadata-ir", + "sp-metadata-ir 0.12.3", "sp-runtime 44.0.0", "sp-runtime-interface 32.0.0", "sp-state-machine 0.48.0", @@ -16338,9 +15930,9 @@ dependencies = [ [[package]] name = "sp-api" -version = "41.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187cf25fd6768df325bfc104148ef2945bf3ec3242698670637223abf4a763cc" +checksum = "8977f83b4672cff5fff35a89a042e925d02f2a7dbfd63b7f4d12c80a2581f16b" dependencies = [ "docify", "hash-db", @@ -16348,14 +15940,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api-proc-macro 27.0.0", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-externalities 0.32.0", - "sp-metadata-ir", - "sp-runtime 46.0.0", - "sp-runtime-interface 34.0.0", - "sp-state-machine 0.50.0", - "sp-trie 43.0.0", - "sp-version 44.0.0", + "sp-metadata-ir 0.13.0", + "sp-runtime 47.0.0", + "sp-runtime-interface 35.0.0", + "sp-state-machine 0.51.0", + "sp-trie 44.0.0", + "sp-version 45.0.0", "thiserror 1.0.69", ] @@ -16404,15 +15996,15 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47687573285619b845d812f3fca7ca3cf7ce7c8456765a7736476a218caa3070" +checksum = "fb47c341b52ca668e68929c982c9f4698b467012e1760b71f5be6cf8cf0fb49a" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", ] [[package]] @@ -16432,26 +16024,27 @@ dependencies = [ [[package]] name = "sp-authority-discovery" -version = "41.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d53ee63efb5ce91b6c0696a41c9b38dd5be65559b0ee590ea7eddf8d907ad64" +checksum = "5f2f86caf5c442b801c497fb38baca6c5ab1cac8c58996f6d1036cc2cd8357ea" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "sp-block-builder" -version = "41.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c2cc35ecc1c4978dfa007c887b23f8b6354c50c9b778bc1dcb484ede6bd13cc" +checksum = "bbeb0ace14f9c854d34d1e1c7aaa26132bb8862470e4a29574cc3041b6f5eec9" dependencies = [ - "sp-api 41.0.0", - "sp-inherents 41.0.0", - "sp-runtime 46.0.0", + "parity-scale-codec", + "sp-api 42.0.0", + "sp-inherents 42.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -16476,20 +16069,20 @@ dependencies = [ [[package]] name = "sp-blockchain" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8941564df78a2e7829476c2858d3833456341888015bae99ae702c633c9d0b8f" +checksum = "282bf400700c98decd130b61afd95a15c6d3064ad0366871bb400720ae203455" dependencies = [ "futures", "parity-scale-codec", "parking_lot 0.12.5", "schnellru", - "sp-api 41.0.0", - "sp-consensus 0.47.0", - "sp-core 40.0.0", + "sp-api 42.0.0", + "sp-consensus 0.48.0", + "sp-core 41.0.0", "sp-database", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", "thiserror 1.0.69", "tracing", ] @@ -16511,102 +16104,102 @@ dependencies = [ [[package]] name = "sp-consensus" -version = "0.47.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbee2c17ffaffd405a7de5b72803ffe133e1b799c77e0fd659daca921b761b9" +checksum = "e0151233b7598dbacd8a29982444e26240ea32cdf28370a844f3fa25d727187a" dependencies = [ "async-trait", "futures", "log", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-externalities 0.32.0", - "sp-inherents 41.0.0", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", - "sp-trie 43.0.0", + "sp-inherents 42.0.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", + "sp-trie 44.0.0", "thiserror 1.0.69", ] [[package]] name = "sp-consensus-aura" -version = "0.47.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4faf051693a9830c36e806da779d8e251f4e7019dc16b3bd9dc3734cf5de74d5" +checksum = "d7b60bc0893c412a3ad7413bdff09773a726e480cf72ea2948d3353006ab7277" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", "sp-consensus-slots", - "sp-inherents 41.0.0", - "sp-runtime 46.0.0", + "sp-inherents 42.0.0", + "sp-runtime 47.0.0", "sp-timestamp", ] [[package]] name = "sp-consensus-babe" -version = "0.47.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0e7d258673de490bcca9ef735e84ce2a34aad780170d4884773a7ea8f1aa851" +checksum = "9e0380bb40464600f232d8c7d1fe87c51066b348e3d937897ca99793f91277e7" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", "serde", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", "sp-consensus-slots", - "sp-core 40.0.0", - "sp-inherents 41.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-inherents 42.0.0", + "sp-runtime 47.0.0", "sp-timestamp", ] [[package]] name = "sp-consensus-beefy" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4bf7929296255bf94696c5433b95b76882cad6fb0728513a9223d84044372f" +checksum = "3c4d64f50a8879832cae4635efb6100bd15040ea7806024acad557c8552a188a" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", - "sp-core 40.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", + "sp-core 41.0.0", "sp-crypto-hashing", - "sp-io 45.0.0", - "sp-keystore 0.46.0", + "sp-io 46.0.0", + "sp-keystore 0.47.0", "sp-mmr-primitives", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-weights 34.0.0", "strum 0.26.3", ] [[package]] name = "sp-consensus-grandpa" -version = "28.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "311ca4c8d49965b47100759a8678a7c19badd6f0eceb2323ee00b7ff0db9036f" +checksum = "cfca49ba5adad1296e7e97ecb98a6cc1381d024a73064d2dba8b4d5f94cfe512" dependencies = [ "finality-grandpa", "log", "parity-scale-codec", "scale-info", "serde", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", - "sp-core 40.0.0", - "sp-keystore 0.46.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", + "sp-core 41.0.0", + "sp-keystore 0.47.0", + "sp-runtime 47.0.0", ] [[package]] name = "sp-consensus-slots" -version = "0.47.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65d468f0ccd29f8435e1a01779a20b2ebdebd852c8c8acaa72b0b46a8ef4513" +checksum = "cf724d2985e75f4e93be6627c8b64febd9565d1ed7908656757a309ad94bc15a" dependencies = [ "parity-scale-codec", "scale-info", @@ -16620,7 +16213,7 @@ version = "38.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "707602208776d0e19d4269bb3f68c5306cacbdfabbb2e4d8d499af7b907bb0a3" dependencies = [ - "ark-vrf", + "ark-vrf 0.1.1", "array-bytes 6.2.3", "bitflags 1.3.2", "blake2 0.10.6", @@ -16664,11 +16257,11 @@ dependencies = [ [[package]] name = "sp-core" -version = "40.0.0" +version = "41.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9182532d34684ad8852e7c5036469da9db38f318bc5ba70bb5e1e119d6154fc7" +checksum = "571e6da2db8de83fa2a6f9fab2a86befdcd004c90cfa19c641b072d3f322a60d" dependencies = [ - "ark-vrf", + "ark-vrf 0.5.0", "array-bytes 6.2.3", "bip39", "bitflags 1.3.2", @@ -16735,6 +16328,15 @@ dependencies = [ "syn 2.0.114", ] +[[package]] +name = "sp-dap" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031348d9eb2341f7a19ee2b0a0e0d72c9c0b8262cc8f2a6d12184967fd6a3055" +dependencies = [ + "frame-support", +] + [[package]] name = "sp-database" version = "10.0.1" @@ -16805,15 +16407,15 @@ dependencies = [ [[package]] name = "sp-genesis-builder" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1a51435d952ef0d838ed053eafab18ddd1e5d54bb2dcc8fdf911149bbcdb962" +checksum = "2cee8b7ba45f4b2d8a5720248e024489daf58a9b795ac3e24ac9a697938b0254" dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api 41.0.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -16832,15 +16434,15 @@ dependencies = [ [[package]] name = "sp-inherents" -version = "41.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a2ce2df5f2a1a36420edb6434d87f759d548a2e6c6f0fe46df32df3e4d902e" +checksum = "4a298a87658bf4420b179fb15ee45ed885d77b53dc9627b1e858c16e1705417f" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "thiserror 1.0.69", ] @@ -16873,9 +16475,9 @@ dependencies = [ [[package]] name = "sp-io" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7e77b0b5db4d20623ebcf0e8a130f2db0d8b45c3862fe4817eca6f77df77f4" +checksum = "cc8f8415b05edacb24866790c540e29ff967250faffda9996709c2d48f0f6ca4" dependencies = [ "bytes", "docify", @@ -16883,29 +16485,29 @@ dependencies = [ "libsecp256k1", "log", "parity-scale-codec", - "polkavm-derive 0.31.0", + "polkavm-derive 0.33.0", "rustversion", "secp256k1 0.28.2", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-crypto-hashing", "sp-externalities 0.32.0", - "sp-keystore 0.46.0", - "sp-runtime-interface 34.0.0", - "sp-state-machine 0.50.0", + "sp-keystore 0.47.0", + "sp-runtime-interface 35.0.0", + "sp-state-machine 0.51.0", "sp-tracing", - "sp-trie 43.0.0", + "sp-trie 44.0.0", "tracing", "tracing-core", ] [[package]] name = "sp-keyring" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b2c7624805d3c93f70b98fb747ddda4cd2a1f8e5dd57f0c7594843a2c0553d" +checksum = "813e9b9aa49e55c76eb1c759f4f13d70f98f4882b204145c357149c2744042a5" dependencies = [ - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "strum 0.26.3", ] @@ -16923,13 +16525,13 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.46.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9662309b140264f45d8dfdfa605d7f6f050b4eb39059bf467f255dbda5f2decf" +checksum = "74fead48d67f4374903b78624bca25fbf15f95a79d8dbefdecd407bb01544c3d" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-externalities 0.32.0", ] @@ -16954,59 +16556,71 @@ dependencies = [ "scale-info", ] +[[package]] +name = "sp-metadata-ir" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb285f8d35b3fbb553e31c66182c25985717526f21920a08d23fdca88e3bdd1e" +dependencies = [ + "derive-where", + "frame-metadata", + "parity-scale-codec", + "scale-info", +] + [[package]] name = "sp-mixnet" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b933e746c6a9cd9522dbc0b7bf6fc1c7315539398272bd7c433fcb504106631c" +checksum = "f519215a92d3e247992096e24b7921a9a0507031da43d0df4ab236db80728890" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", ] [[package]] name = "sp-mmr-primitives" -version = "41.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42eb6a1dd300f05fee8bce5b46f32ae6b4f749ccd5bcfbd7593b1d07d0540a20" +checksum = "c15e0898ec3677b90072748a008c4279e9b84c20f07fdfac5344d298b7baa5dd" dependencies = [ "log", "parity-scale-codec", "polkadot-ckb-merkle-mountain-range", "scale-info", "serde", - "sp-api 41.0.0", - "sp-core 40.0.0", + "sp-api 42.0.0", + "sp-core 41.0.0", "sp-debug-derive 15.0.0", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "thiserror 1.0.69", ] [[package]] name = "sp-npos-elections" -version = "41.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd559dc3d5b3d07878e03d840596a4713248c57508d0903318a625455c8db347" +checksum = "8b260d5b3f98407ff5caa01627ae8268e92161c8715b42d3c0e4767d94c3d981" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-arithmetic", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "sp-offchain" -version = "41.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08b235543475ee2d8eff16ea4a78a66b7c6e19e73d0727d324376b148eae1d20" +checksum = "479233298159d4108bb6e8a528a420eac15e4458e667c26d2b0d82ca0c5812b4" dependencies = [ - "sp-api 41.0.0", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -17021,13 +16635,13 @@ dependencies = [ [[package]] name = "sp-rpc" -version = "38.0.0" +version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c84ce7913731b0fafdd0edfcb062ac0ed20a3fc83ef6518fc87afedc0b0dc9c" +checksum = "48d4fa7c71d8647088e5cee87642f78212eaea3dda13a2a6e022151fb82b1220" dependencies = [ "rustc-hash 1.1.0", "serde", - "sp-core 40.0.0", + "sp-core 41.0.0", ] [[package]] @@ -17062,9 +16676,9 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86e3cfbb7a2c4388988868e4212e1a7b2c37fa8d4d562a8047309167f10b9f14" +checksum = "00f3c9491215e9d640c05ea651723f6834699f1088aa53043dc9badeb6177935" dependencies = [ "binary-merkle-tree", "bytes", @@ -17080,12 +16694,12 @@ dependencies = [ "scale-info", "serde", "simple-mermaid", - "sp-application-crypto 45.0.0", + "sp-application-crypto 46.0.0", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", "sp-std", - "sp-trie 43.0.0", + "sp-trie 44.0.0", "sp-weights 34.0.0", "strum 0.26.3", "tracing", @@ -17107,26 +16721,26 @@ dependencies = [ "sp-std", "sp-storage 22.0.0", "sp-tracing", - "sp-wasm-interface", + "sp-wasm-interface 24.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface" -version = "34.0.0" +version = "35.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97805f3fd193d473704b7d58bc08278d372bb35771811fb9c9c0050c2ab54efe" +checksum = "1263162adb7ffe06c762467495dca536794667abe24567c7a00d5edd2b3e727c" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", - "polkavm-derive 0.31.0", + "polkavm-derive 0.33.0", "sp-externalities 0.32.0", "sp-runtime-interface-proc-macro 21.0.0", "sp-std", "sp-storage 23.0.0", "sp-tracing", - "sp-wasm-interface", + "sp-wasm-interface 25.0.0", "static_assertions", ] @@ -17160,31 +16774,31 @@ dependencies = [ [[package]] name = "sp-session" -version = "43.0.0" +version = "44.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66476246edf0a2365dc825dc4d5618a702d36b93d206c1fc6a7296f3e39b65f6" +checksum = "3512e490796edaca63373c8fb0f564c95ef9a2da13ce072d0bc0fb45b3eaf7c2" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 41.0.0", - "sp-core 40.0.0", - "sp-keystore 0.46.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-core 41.0.0", + "sp-keystore 0.47.0", + "sp-runtime 47.0.0", "sp-staking", ] [[package]] name = "sp-staking" -version = "43.0.0" +version = "44.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da13120b034f92c2ee5a2e079f058e6b49a35a61c90584341e724a1a0d7b7194" +checksum = "bd5fbc654e344fe2e89574058e3c4b7cb75fa3a72f6fc6e34d55bce74fb9f978" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -17210,9 +16824,9 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.50.0" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe73c014eca2543dfbcdad714bc9ae1d746778a78187b741587037790fcaa7ef" +checksum = "3789d2895faa6e5d0a88c34c19b8ca7f3fdd9823729bde83743fd13668aaf08a" dependencies = [ "hash-db", "log", @@ -17220,10 +16834,10 @@ dependencies = [ "parking_lot 0.12.5", "rand 0.8.5", "smallvec", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-externalities 0.32.0", "sp-panic-handler", - "sp-trie 43.0.0", + "sp-trie 44.0.0", "thiserror 1.0.69", "tracing", "trie-db 0.31.0", @@ -17231,9 +16845,9 @@ dependencies = [ [[package]] name = "sp-statement-store" -version = "25.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a6ba0b6bb901e758ca6e56e98d107ac71148d192624a19db9c9501defd2abb" +checksum = "8f4757d575f993bfecea902bb638c21d70d3c3af227b355ab707d07c142f5483" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -17245,13 +16859,13 @@ dependencies = [ "scale-info", "serde", "sha2 0.10.9", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", - "sp-core 40.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", + "sp-core 41.0.0", "sp-crypto-hashing", "sp-externalities 0.32.0", - "sp-runtime 46.0.0", - "sp-runtime-interface 34.0.0", + "sp-runtime 47.0.0", + "sp-runtime-interface 35.0.0", "thiserror 1.0.69", "x25519-dalek", ] @@ -17290,14 +16904,14 @@ dependencies = [ [[package]] name = "sp-timestamp" -version = "41.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59cd7895aac9073e3f740cf14d3e08ab43fdcacb7d08be622e3890157e35f23f" +checksum = "bee8bc7031359911e9c2099dcd5f28844cbf7150d92a17917be5ee5bca183a35" dependencies = [ "async-trait", "parity-scale-codec", - "sp-inherents 41.0.0", - "sp-runtime 46.0.0", + "sp-inherents 42.0.0", + "sp-runtime 47.0.0", "thiserror 1.0.69", ] @@ -17316,12 +16930,12 @@ dependencies = [ [[package]] name = "sp-transaction-pool" -version = "41.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3971b8d878b5f5a984f75a75e80a2fc26270a112bb5c8643ea101499ac678fb2" +checksum = "bd9caa506f1b9865e6f79b8d24401fe687aa323151f252d62b1b79ebd4084e91" dependencies = [ - "sp-api 41.0.0", - "sp-runtime 46.0.0", + "sp-api 42.0.0", + "sp-runtime 47.0.0", ] [[package]] @@ -17352,9 +16966,9 @@ dependencies = [ [[package]] name = "sp-trie" -version = "43.0.0" +version = "44.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0566d4f76b5b6b0ababa1b6df67283642bcfa734a13e4cdbbb26aae1ae3a89c5" +checksum = "1f4d4aa0fec3c80f98762cae84ad7dda64c16dcd37f1b97c34c9d3402023119f" dependencies = [ "ahash", "foldhash 0.1.5", @@ -17367,7 +16981,7 @@ dependencies = [ "rand 0.8.5", "scale-info", "schnellru", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-externalities 0.32.0", "substrate-prometheus-endpoint", "thiserror 1.0.69", @@ -17396,18 +17010,18 @@ dependencies = [ [[package]] name = "sp-version" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca119a22444fddd66531574bfd64e161e8857522cfd72312bffedd4c544f96a" +checksum = "45a409b2e4cf147fc24ef158b3c6659738e7dca70838350309a3dc0cd59a81bc" dependencies = [ "impl-serde", "parity-scale-codec", "parity-wasm", "scale-info", "serde", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-crypto-hashing-proc-macro", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-std", "sp-version-proc-macro", "thiserror 1.0.69", @@ -17426,6 +17040,22 @@ dependencies = [ "syn 2.0.114", ] +[[package]] +name = "sp-virtualization" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbd5b06a4cc35605887e9681cda701554d159e1cb757ec97b12a4c496fc96ed2" +dependencies = [ + "log", + "num_enum", + "parity-scale-codec", + "polkavm 0.33.1", + "sp-runtime-interface 35.0.0", + "sp-std", + "sp-wasm-interface 25.0.0", + "strum 0.26.3", +] + [[package]] name = "sp-wasm-interface" version = "24.0.0" @@ -17436,7 +17066,20 @@ dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "wasmtime", + "wasmtime 35.0.0", +] + +[[package]] +name = "sp-wasm-interface" +version = "25.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d29d5c802dbb12ce5efe240f1284842d285249b87530bb7729ddae2647c6b18" +dependencies = [ + "anyhow", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "wasmtime 36.0.8", ] [[package]] @@ -17623,29 +17266,29 @@ dependencies = [ "scale-info", "separator", "serde_json", - "sp-api 41.0.0", - "sp-application-crypto 45.0.0", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-debug-derive 15.0.0", - "sp-genesis-builder 0.22.0", - "sp-inherents 41.0.0", - "sp-io 45.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", "sp-keyring", "sp-npos-elections", "sp-offchain", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-session", "sp-staking", "sp-storage 23.0.0", "sp-tracing", "sp-transaction-pool", - "sp-trie 43.0.0", - "sp-version 44.0.0", + "sp-trie 44.0.0", + "sp-version 45.0.0", "ss58-registry", "staging-xcm", "staging-xcm-builder", @@ -17657,23 +17300,23 @@ dependencies = [ [[package]] name = "staging-parachain-info" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa56171c491509eba5db2aec7e2868edcac80e7783acedc5fca8f88071ac7e23" +checksum = "1aa569cb6bfee5b5b2ffa02bda035e133f7bb83efca7e2887a73fd7f1f43208e" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", ] [[package]] name = "staging-xcm" -version = "22.0.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecb0dcfe26176c9a34b4ebca3bc0040e72ef5e6df0c9a577789881cf1bdc7044" +checksum = "cb5279820f8b83ad3fa0b1881e8a9689dc9e8886345bb4e35089926a7ef667db" dependencies = [ "array-bytes 6.2.3", "bounded-collections", @@ -17685,7 +17328,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "sp-weights 34.0.0", "tracing", "xcm-procedural", @@ -17693,23 +17336,24 @@ dependencies = [ [[package]] name = "staging-xcm-builder" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d8ebc5b31c6ab3581dcb072ac2636368c1858cf5d8e8a0f6ce44b533b9c567" +checksum = "cc3f16414bc5640b3710035ac5b835b42425b72dd0562621b3b9b2ac5aeb46a4" dependencies = [ "environmental", "frame-support", "frame-system", "impl-trait-for-tuples", + "pallet-accumulate-and-forward", "pallet-asset-conversion", "pallet-transaction-payment", "parity-scale-codec", "polkadot-parachain-primitives", "scale-info", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-weights 34.0.0", "staging-xcm", "staging-xcm-executor", @@ -17718,9 +17362,9 @@ dependencies = [ [[package]] name = "staging-xcm-executor" -version = "25.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6da998fc8e31fbfacd626789067e2af3730ea8639d0f2a84d9ad6620a0eba886" +checksum = "9a043b67f0ae191f95f8fe7d1db3bd7a7299d88a9bacb600a7dedd2d0961f361" dependencies = [ "environmental", "frame-benchmarking", @@ -17729,9 +17373,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", - "sp-core 40.0.0", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-weights 34.0.0", "staging-xcm", "tracing", @@ -17819,29 +17463,6 @@ dependencies = [ "rustc-hex", ] -[[package]] -name = "substrate-fixed" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a58670b92bb23e63b32b32167ff4edf8a34a2d53a2bdfcd60a6d8ead57bd563" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "substrate-typenum", -] - -[[package]] -name = "substrate-geohash" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c822853591796a4f735f88ad603d32062090374d3c1c8118c62c28d6f85a683" -dependencies = [ - "parity-scale-codec", - "scale-info", - "substrate-fixed", -] - [[package]] name = "substrate-prometheus-endpoint" version = "0.17.7" @@ -17859,33 +17480,23 @@ dependencies = [ [[package]] name = "substrate-rpc-client" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5438802aa8a85665060d8f0c6b605f75d6b46ecf533feef736651e3c1e64a484" -dependencies = [ - "async-trait", - "jsonrpsee", - "log", - "sc-rpc-api", - "serde", - "sp-runtime 46.0.0", -] - -[[package]] -name = "substrate-typenum" -version = "1.17.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cd64d3efe988228b8496698197ee60cfbfcedbf226961300e559870c1a3e8e0" -dependencies = [ - "parity-scale-codec", - "scale-info", +checksum = "7c091e9cc7a9f87e2d9aa2d28f70ba372d5fae573a2c7e6614aefe8f801bfdf7" +dependencies = [ + "async-trait", + "jsonrpsee", + "log", + "sc-rpc-api", + "serde", + "sp-runtime 47.0.0", ] [[package]] name = "substrate-wasm-builder" -version = "32.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3e008946c060c6756a6090ae1d079c69dc0d07b6f97122115b53bf57a29b52" +checksum = "409d1a647d52f56511c8ae038a66bd0f579d9cc0a412b9d93d8ba49b2506a43f" dependencies = [ "array-bytes 6.2.3", "build-helper", @@ -17897,14 +17508,14 @@ dependencies = [ "merkleized-metadata", "parity-scale-codec", "parity-wasm", - "polkavm-linker 0.31.0", - "sc-executor 0.48.0", + "polkavm-linker 0.33.0", + "sc-executor 0.49.0", "shlex", - "sp-core 40.0.0", - "sp-io 45.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", "sp-maybe-compressed-blob", "sp-tracing", - "sp-version 44.0.0", + "sp-version 45.0.0", "strum 0.26.3", "tempfile", "toml 0.8.23", @@ -18415,9 +18026,9 @@ dependencies = [ "parity-scale-codec", "polkadot-primitives", "scale-info", - "sp-api 41.0.0", - "sp-runtime 46.0.0", - "sp-state-machine 0.50.0", + "sp-api 42.0.0", + "sp-runtime 47.0.0", + "sp-state-machine 0.51.0", ] [[package]] @@ -18433,8 +18044,8 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-constants", "smallvec", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-runtime 47.0.0", "staging-xcm", ] @@ -18477,7 +18088,7 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -18497,16 +18108,16 @@ checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" [[package]] name = "testnet-parachains-constants" -version = "19.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5064ed308510fd5541b71559af09801942e995c1f9acd154c969f821c0a220e" +checksum = "1d0a4e14985346a86e20e74bc07a867e0eadf2b1edd4780a158dc4263140bc12" dependencies = [ "cumulus-primitives-core", "frame-support", "polkadot-core-primitives", "rococo-runtime-constants", "smallvec", - "sp-runtime 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", "westend-runtime-constants", ] @@ -19332,6 +18943,20 @@ dependencies = [ "merlin", ] +[[package]] +name = "w3f-pcs" +version = "0.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ea1046a1deb6d26c34ba2d1f1bab4222d695d126502ee765f80b021753cb674" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "merlin", +] + [[package]] name = "w3f-plonk-common" version = "0.0.2" @@ -19345,7 +18970,23 @@ dependencies = [ "ark-std 0.5.0", "getrandom_or_panic", "rand_core 0.6.4", - "w3f-pcs", + "w3f-pcs 0.0.2", +] + +[[package]] +name = "w3f-plonk-common" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30408cda37b81bd7257319942584c794c5784d00d749757bc664656749a1472a" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "getrandom_or_panic", + "rand_core 0.6.4", + "w3f-pcs 0.0.5", ] [[package]] @@ -19360,8 +19001,24 @@ dependencies = [ "ark-serialize 0.5.0", "ark-std 0.5.0", "ark-transcript", - "w3f-pcs", - "w3f-plonk-common", + "w3f-pcs 0.0.2", + "w3f-plonk-common 0.0.2", +] + +[[package]] +name = "w3f-ring-proof" +version = "0.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cbfc4cb881a934e6f33c25927bf955d0cb18e52b94528bbc5fa28dddedb4cd1" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "ark-transcript", + "w3f-pcs 0.0.5", + "w3f-plonk-common 0.0.7", ] [[package]] @@ -19476,6 +19133,16 @@ dependencies = [ "wasmparser 0.235.0", ] +[[package]] +name = "wasm-encoder" +version = "0.236.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "724fccfd4f3c24b7e589d333fc0429c68042897a7e8a5f8694f31792471841e7" +dependencies = [ + "leb128fmt", + "wasmparser 0.236.1", +] + [[package]] name = "wasm-instrument" version = "0.4.0" @@ -19603,6 +19270,19 @@ dependencies = [ "serde", ] +[[package]] +name = "wasmparser" +version = "0.236.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9b1e81f3eb254cf7404a82cee6926a4a3ccc5aad80cc3d43608a070c67aa1d7" +dependencies = [ + "bitflags 2.10.0", + "hashbrown 0.15.5", + "indexmap 2.13.0", + "semver 1.0.27", + "serde", +] + [[package]] name = "wasmprinter" version = "0.235.0" @@ -19614,6 +19294,17 @@ dependencies = [ "wasmparser 0.235.0", ] +[[package]] +name = "wasmprinter" +version = "0.236.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2df225df06a6df15b46e3f73ca066ff92c2e023670969f7d50ce7d5e695abbb1" +dependencies = [ + "anyhow", + "termcolor", + "wasmparser 0.236.1", +] + [[package]] name = "wasmtime" version = "35.0.0" @@ -19626,11 +19317,9 @@ dependencies = [ "bumpalo", "cc", "cfg-if", - "fxprof-processed-profile", "gimli 0.31.1", "hashbrown 0.15.5", "indexmap 2.13.0", - "ittapi", "libc", "log", "mach2", @@ -19638,30 +19327,76 @@ dependencies = [ "object 0.36.7", "once_cell", "postcard", - "pulley-interpreter", + "pulley-interpreter 35.0.0", "rayon", "rustix", "serde", "serde_derive", - "serde_json", "smallvec", "target-lexicon", "wasmparser 0.235.0", - "wasmtime-environ", - "wasmtime-internal-asm-macros", - "wasmtime-internal-cache", - "wasmtime-internal-cranelift", - "wasmtime-internal-fiber", - "wasmtime-internal-jit-debug", - "wasmtime-internal-jit-icache-coherence", - "wasmtime-internal-math", - "wasmtime-internal-slab", - "wasmtime-internal-unwinder", - "wasmtime-internal-versioned-export-macros", - "wasmtime-internal-winch", + "wasmtime-environ 35.0.0", + "wasmtime-internal-asm-macros 35.0.0", + "wasmtime-internal-cache 35.0.0", + "wasmtime-internal-cranelift 35.0.0", + "wasmtime-internal-fiber 35.0.0", + "wasmtime-internal-jit-icache-coherence 35.0.0", + "wasmtime-internal-math 35.0.0", + "wasmtime-internal-slab 35.0.0", + "wasmtime-internal-unwinder 35.0.0", + "wasmtime-internal-versioned-export-macros 35.0.0", + "wasmtime-internal-winch 35.0.0", "windows-sys 0.59.0", ] +[[package]] +name = "wasmtime" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2060d93be880840d764ab537464b916e22c07758ac5d43e5f07cc86fec6d1bec" +dependencies = [ + "addr2line 0.25.1", + "anyhow", + "bitflags 2.10.0", + "bumpalo", + "cc", + "cfg-if", + "fxprof-processed-profile", + "gimli 0.32.3", + "hashbrown 0.15.5", + "indexmap 2.13.0", + "ittapi", + "libc", + "log", + "mach2", + "memfd", + "object 0.37.3", + "once_cell", + "postcard", + "pulley-interpreter 36.0.8", + "rayon", + "rustix", + "serde", + "serde_derive", + "serde_json", + "smallvec", + "target-lexicon", + "wasmparser 0.236.1", + "wasmtime-environ 36.0.8", + "wasmtime-internal-asm-macros 36.0.8", + "wasmtime-internal-cache 36.0.8", + "wasmtime-internal-cranelift 36.0.8", + "wasmtime-internal-fiber 36.0.8", + "wasmtime-internal-jit-debug", + "wasmtime-internal-jit-icache-coherence 36.0.8", + "wasmtime-internal-math 36.0.8", + "wasmtime-internal-slab 36.0.8", + "wasmtime-internal-unwinder 36.0.8", + "wasmtime-internal-versioned-export-macros 36.0.8", + "wasmtime-internal-winch 36.0.8", + "windows-sys 0.60.2", +] + [[package]] name = "wasmtime-environ" version = "35.0.0" @@ -19670,8 +19405,8 @@ checksum = "44b6264a78d806924abbc76bbc75eac24976bc83bdfb938e5074ae551242436f" dependencies = [ "anyhow", "cpp_demangle", - "cranelift-bitset", - "cranelift-entity", + "cranelift-bitset 0.122.0", + "cranelift-entity 0.122.0", "gimli 0.31.1", "indexmap 2.13.0", "log", @@ -19682,9 +19417,34 @@ dependencies = [ "serde_derive", "smallvec", "target-lexicon", - "wasm-encoder", + "wasm-encoder 0.235.0", "wasmparser 0.235.0", - "wasmprinter", + "wasmprinter 0.235.0", +] + +[[package]] +name = "wasmtime-environ" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "902f991ca8c2e5abc03119eb5d7f7f57da1b7c2123addb8214b49c188737711e" +dependencies = [ + "anyhow", + "cpp_demangle", + "cranelift-bitset 0.123.8", + "cranelift-entity 0.123.8", + "gimli 0.32.3", + "indexmap 2.13.0", + "log", + "object 0.37.3", + "postcard", + "rustc-demangle", + "serde", + "serde_derive", + "smallvec", + "target-lexicon", + "wasm-encoder 0.236.1", + "wasmparser 0.236.1", + "wasmprinter 0.236.1", ] [[package]] @@ -19696,6 +19456,15 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "wasmtime-internal-asm-macros" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b02cec619b54ce7652d1d7676718a42ccf5f16b2fb23c27cd6e3c307bc93907a" +dependencies = [ + "cfg-if", +] + [[package]] name = "wasmtime-internal-cache" version = "35.0.0" @@ -19716,6 +19485,26 @@ dependencies = [ "zstd 0.13.3", ] +[[package]] +name = "wasmtime-internal-cache" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a151d2fb1e7b469493e8b612816a0b32fd56f3a9a3c228e141f0ae397e12f5" +dependencies = [ + "anyhow", + "base64 0.22.1", + "directories-next", + "log", + "postcard", + "rustix", + "serde", + "serde_derive", + "sha2 0.10.9", + "toml 0.8.23", + "windows-sys 0.60.2", + "zstd 0.13.3", +] + [[package]] name = "wasmtime-internal-cranelift" version = "35.0.0" @@ -19724,23 +19513,50 @@ checksum = "7ec9ad7565e6a8de7cb95484e230ff689db74a4a085219e0da0cbd637a29c01c" dependencies = [ "anyhow", "cfg-if", - "cranelift-codegen", - "cranelift-control", - "cranelift-entity", - "cranelift-frontend", - "cranelift-native", + "cranelift-codegen 0.122.0", + "cranelift-control 0.122.0", + "cranelift-entity 0.122.0", + "cranelift-frontend 0.122.0", + "cranelift-native 0.122.0", "gimli 0.31.1", "itertools 0.14.0", "log", "object 0.36.7", - "pulley-interpreter", + "pulley-interpreter 35.0.0", "smallvec", "target-lexicon", "thiserror 2.0.18", "wasmparser 0.235.0", - "wasmtime-environ", - "wasmtime-internal-math", - "wasmtime-internal-versioned-export-macros", + "wasmtime-environ 35.0.0", + "wasmtime-internal-math 35.0.0", + "wasmtime-internal-versioned-export-macros 35.0.0", +] + +[[package]] +name = "wasmtime-internal-cranelift" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54eb7fc20c8692dc96148365d7a00a1b79fee810833c75bdf8ec073a46e4721a" +dependencies = [ + "anyhow", + "cfg-if", + "cranelift-codegen 0.123.8", + "cranelift-control 0.123.8", + "cranelift-entity 0.123.8", + "cranelift-frontend 0.123.8", + "cranelift-native 0.123.8", + "gimli 0.32.3", + "itertools 0.14.0", + "log", + "object 0.37.3", + "pulley-interpreter 36.0.8", + "smallvec", + "target-lexicon", + "thiserror 2.0.18", + "wasmparser 0.236.1", + "wasmtime-environ 36.0.8", + "wasmtime-internal-math 36.0.8", + "wasmtime-internal-versioned-export-macros 36.0.8", ] [[package]] @@ -19754,21 +19570,37 @@ dependencies = [ "cfg-if", "libc", "rustix", - "wasmtime-internal-asm-macros", - "wasmtime-internal-versioned-export-macros", + "wasmtime-internal-asm-macros 35.0.0", + "wasmtime-internal-versioned-export-macros 35.0.0", "windows-sys 0.59.0", ] +[[package]] +name = "wasmtime-internal-fiber" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30708e122dcc1e175c66345c209c01752ca0cd20c9021721b6f56968342e9dbe" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "libc", + "rustix", + "wasmtime-internal-asm-macros 36.0.8", + "wasmtime-internal-versioned-export-macros 36.0.8", + "windows-sys 0.60.2", +] + [[package]] name = "wasmtime-internal-jit-debug" -version = "35.0.0" +version = "36.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61d8693995ab3df48e88777b6ee3b2f441f2c4f895ab938996cdac3db26f256c" +checksum = "1eeaab071a646d9ae205266adf186c63fa6d077d36b0b33628dd6c3d321d3195" dependencies = [ "cc", - "object 0.36.7", + "object 0.37.3", "rustix", - "wasmtime-internal-versioned-export-macros", + "wasmtime-internal-versioned-export-macros 36.0.8", ] [[package]] @@ -19783,6 +19615,18 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "wasmtime-internal-jit-icache-coherence" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09979561e6e4a17bf55722463b066ccb968f010ac6ec5d647e4dff19eddbb19e" +dependencies = [ + "anyhow", + "cfg-if", + "libc", + "windows-sys 0.60.2", +] + [[package]] name = "wasmtime-internal-math" version = "35.0.0" @@ -19792,12 +19636,27 @@ dependencies = [ "libm", ] +[[package]] +name = "wasmtime-internal-math" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9193eb852e5c68aeb95a5ea7538c2bec503023169a0b24430224b4f1ded24988" +dependencies = [ + "libm", +] + [[package]] name = "wasmtime-internal-slab" version = "35.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6ab22fabe1eed27ab01fd47cd89deacf43ad222ed7fd169ba6f4dd1fbddc53b" +[[package]] +name = "wasmtime-internal-slab" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "289bfa4fbb43f406f36166737f1f25522c215ef2ef11f98423089a6a7590a3d1" + [[package]] name = "wasmtime-internal-unwinder" version = "35.0.0" @@ -19806,11 +19665,24 @@ checksum = "307708f302f5dcf19c1bbbfb3d9f2cbc837dd18088a7988747b043a46ba38ecc" dependencies = [ "anyhow", "cfg-if", - "cranelift-codegen", + "cranelift-codegen 0.122.0", "log", "object 0.36.7", ] +[[package]] +name = "wasmtime-internal-unwinder" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e748c970993865d9bf474465c3f10f96e541c472bc8f7ec0b031779f4ac29c6" +dependencies = [ + "anyhow", + "cfg-if", + "cranelift-codegen 0.123.8", + "log", + "object 0.37.3", +] + [[package]] name = "wasmtime-internal-versioned-export-macros" version = "35.0.0" @@ -19822,6 +19694,17 @@ dependencies = [ "syn 2.0.114", ] +[[package]] +name = "wasmtime-internal-versioned-export-macros" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e97e07438cb8b50df3bc9659c56757830a15235c94268dbbd54186524fd4ed84" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + [[package]] name = "wasmtime-internal-winch" version = "35.0.0" @@ -19829,14 +19712,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2012e7384c25b91aab2f1b6a1e1cbab9d0f199bbea06cc873597a3f047f05730" dependencies = [ "anyhow", - "cranelift-codegen", + "cranelift-codegen 0.122.0", "gimli 0.31.1", "object 0.36.7", "target-lexicon", "wasmparser 0.235.0", - "wasmtime-environ", - "wasmtime-internal-cranelift", - "winch-codegen", + "wasmtime-environ 35.0.0", + "wasmtime-internal-cranelift 35.0.0", + "winch-codegen 35.0.0", +] + +[[package]] +name = "wasmtime-internal-winch" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "107aa0c3f71cc590c786d6d6e09893558b383f4d78107b864a9fd978929d0244" +dependencies = [ + "anyhow", + "cranelift-codegen 0.123.8", + "gimli 0.32.3", + "object 0.37.3", + "target-lexicon", + "wasmparser 0.236.1", + "wasmtime-environ 36.0.8", + "wasmtime-internal-cranelift 36.0.8", + "winch-codegen 36.0.8", ] [[package]] @@ -19885,16 +19785,17 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "westend-runtime-constants" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "605b1fd7258a46eb138b37c33904211087c6accf3f5fd989750585ea915b45c3" +checksum = "338d9a85e15730b1618bc831a7b81ea8675c11ff3af41d39e320a28c07e814c0" dependencies = [ "frame-support", "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core 40.0.0", - "sp-runtime 46.0.0", + "sp-core 41.0.0", + "sp-dap", + "sp-runtime 47.0.0", "sp-weights 34.0.0", "staging-xcm", "staging-xcm-builder", @@ -19938,7 +19839,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] @@ -19954,17 +19855,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "839a334ef7c62d8368dbd427e767a6fbb1ba08cc12ecce19cbb666c10613b585" dependencies = [ "anyhow", - "cranelift-assembler-x64", - "cranelift-codegen", + "cranelift-assembler-x64 0.122.0", + "cranelift-codegen 0.122.0", "gimli 0.31.1", "regalloc2 0.12.2", "smallvec", "target-lexicon", "thiserror 2.0.18", "wasmparser 0.235.0", - "wasmtime-environ", - "wasmtime-internal-cranelift", - "wasmtime-internal-math", + "wasmtime-environ 35.0.0", + "wasmtime-internal-cranelift 35.0.0", + "wasmtime-internal-math 35.0.0", +] + +[[package]] +name = "winch-codegen" +version = "36.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "646e2d01f59d7006e24a370762abfb63d5918696ff02197e027efd15252a1f79" +dependencies = [ + "anyhow", + "cranelift-assembler-x64 0.123.8", + "cranelift-codegen 0.123.8", + "gimli 0.32.3", + "regalloc2 0.12.2", + "smallvec", + "target-lexicon", + "thiserror 2.0.18", + "wasmparser 0.236.1", + "wasmtime-environ 36.0.8", + "wasmtime-internal-cranelift 36.0.8", + "wasmtime-internal-math 36.0.8", ] [[package]] @@ -20480,9 +20401,9 @@ dependencies = [ [[package]] name = "xcm-emulator" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f7281932261947e1ff33ad975e68e9a6a20070e0c84fdf2d77e62153578ef09" +checksum = "2a60f1b54f86602de2ef4a047cb4eec580922d09574c050ee9feee207cb4acc1" dependencies = [ "array-bytes 6.2.3", "cumulus-pallet-parachain-system", @@ -20504,10 +20425,10 @@ dependencies = [ "polkadot-runtime-parachains", "sp-arithmetic", "sp-consensus-aura", - "sp-core 40.0.0", + "sp-core 41.0.0", "sp-crypto-hashing", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "sp-tracing", "staging-xcm", "staging-xcm-executor", @@ -20529,14 +20450,14 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2caa2873b2898c648d123e19519f75a70fd2e99528178994ac0b35dceeef37d1" +checksum = "3d1852cc835d877d4e7854c8e2b22266e2463091d31ec6c1e4811e0ae4efad0c" dependencies = [ "frame-support", "parity-scale-codec", "scale-info", - "sp-api 41.0.0", + "sp-api 42.0.0", "sp-weights 34.0.0", "staging-xcm", "staging-xcm-executor", @@ -20544,9 +20465,9 @@ dependencies = [ [[package]] name = "xcm-simulator" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306b82be42297a838aa72f83e91edc9f477b095f14a36890f4f3a8edf2833190" +checksum = "f77efe010ec22795756f6f0cb8555a666c236394afa6f4e7ae56b6ddda5b8970" dependencies = [ "frame-support", "frame-system", @@ -20557,8 +20478,8 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-io 45.0.0", - "sp-runtime 46.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", diff --git a/Cargo.toml b/Cargo.toml index 8cd19243ce..3e19cceed0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,8 +8,8 @@ license = "GPL-3.0-only" # TODO Date: Mon, 4 May 2026 14:28:41 +0200 Subject: [PATCH 21/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/10482 Signed-off-by: Oliver Tale-Yazdi --- relay/kusama/src/lib.rs | 34 +-- relay/kusama/src/weights/mod.rs | 1 - relay/kusama/src/weights/pallet_recovery.rs | 202 ------------- .../asset-hubs/asset-hub-kusama/src/lib.rs | 55 +++- .../src/weights/pallet_recovery.rs | 273 +++++++----------- 5 files changed, 165 insertions(+), 400 deletions(-) delete mode 100644 relay/kusama/src/weights/pallet_recovery.rs diff --git a/relay/kusama/src/lib.rs b/relay/kusama/src/lib.rs index 6401d763f1..2b376fd084 100644 --- a/relay/kusama/src/lib.rs +++ b/relay/kusama/src/lib.rs @@ -1248,21 +1248,21 @@ impl pallet_multisig::Config for Runtime { } parameter_types! { - pub const ConfigDepositBase: Balance = 500 * CENTS; - pub const FriendDepositFactor: Balance = 50 * CENTS; - pub const RecoveryDeposit: Balance = 500 * CENTS; + pub const RecoverySecurityDeposit: Balance = 500 * CENTS; } impl pallet_recovery::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type WeightInfo = weights::pallet_recovery::WeightInfo; type RuntimeCall = RuntimeCall; + type RuntimeHoldReason = RuntimeHoldReason; + type BlockNumberProvider = frame_system::Pallet; type Currency = Balances; - type ConfigDepositBase = ConfigDepositBase; - type FriendDepositFactor = FriendDepositFactor; - type MaxFriends = ConstU32<9>; - type RecoveryDeposit = RecoveryDeposit; - type BlockNumberProvider = System; + type FriendGroupsConsideration = (); + type AttemptConsideration = (); + type InheritorConsideration = (); + type SecurityDeposit = RecoverySecurityDeposit; + type Slash = (); // burn + type MaxFriendsPerConfig = ConstU32<9>; + type WeightInfo = (); } parameter_types! { @@ -1377,13 +1377,13 @@ impl InstanceFilter for TransparentProxyType { RuntimeCall::Claims(..) | RuntimeCall::Utility(..) | RuntimeCall::Society(..) | - RuntimeCall::Recovery(pallet_recovery::Call::as_recovered {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::vouch_recovery {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::claim_recovery {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::close_recovery {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::remove_recovery {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::cancel_recovered {..}) | - // Specifically omitting Recovery `create_recovery`, `initiate_recovery` + RuntimeCall::Recovery(pallet_recovery::Call::set_friend_groups {..}) | + RuntimeCall::Recovery(pallet_recovery::Call::initiate_attempt {..}) | + RuntimeCall::Recovery(pallet_recovery::Call::approve_attempt {..}) | + RuntimeCall::Recovery(pallet_recovery::Call::finish_attempt {..}) | + RuntimeCall::Recovery(pallet_recovery::Call::cancel_attempt {..}) | + RuntimeCall::Recovery(pallet_recovery::Call::slash_attempt {..}) | + // Specifically omitting Recovery `control_inherited_account`, `revoke_inheritor` RuntimeCall::Vesting(pallet_vesting::Call::vest {..}) | RuntimeCall::Vesting(pallet_vesting::Call::vest_other {..}) | // Specifically omitting Vesting `vested_transfer`, and `force_vested_transfer` diff --git a/relay/kusama/src/weights/mod.rs b/relay/kusama/src/weights/mod.rs index ff35e2e767..19d66a8a4d 100644 --- a/relay/kusama/src/weights/mod.rs +++ b/relay/kusama/src/weights/mod.rs @@ -35,7 +35,6 @@ pub mod pallet_parameters; pub mod pallet_preimage; pub mod pallet_proxy; pub mod pallet_ranked_collective; -pub mod pallet_recovery; pub mod pallet_referenda_fellowship_referenda; pub mod pallet_referenda_referenda; pub mod pallet_scheduler; diff --git a/relay/kusama/src/weights/pallet_recovery.rs b/relay/kusama/src/weights/pallet_recovery.rs deleted file mode 100644 index 737c607c09..0000000000 --- a/relay/kusama/src/weights/pallet_recovery.rs +++ /dev/null @@ -1,202 +0,0 @@ -// Copyright (C) Parity Technologies and the various Polkadot contributors, see Contributions.md -// for a list of specific contributors. -// 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_recovery` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 54.0.0 -//! DATE: 2026-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `bm1-3`, CPU: `Intel(R) Xeon(R) E-2388G CPU @ 3.20GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/staging-kusama-runtime/staging_kusama_runtime.wasm -// --pallet=pallet_recovery -// --header=/opt/actions-runner/_work/runtimes/runtimes/.github/scripts/cmd/file_header.txt -// --output=./relay/kusama/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --min-duration -// 1 -// --quiet - -#![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 `pallet_recovery`. -pub struct WeightInfo(PhantomData); -impl pallet_recovery::WeightInfo for WeightInfo { - /// Storage: `Recovery::Proxy` (r:1 w:0) - /// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) - fn as_recovered() -> Weight { - // Proof Size summary in bytes: - // Measured: `215` - // Estimated: `3545` - // Minimum execution time: 8_429_000 picoseconds. - Weight::from_parts(8_988_000, 0) - .saturating_add(Weight::from_parts(0, 3545)) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `Recovery::Proxy` (r:0 w:1) - /// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) - fn set_recovered() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 5_272_000 picoseconds. - Weight::from_parts(5_643_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Recovery::Recoverable` (r:1 w:1) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// The range of component `n` is `[1, 9]`. - fn create_recovery(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3816` - // Minimum execution time: 17_224_000 picoseconds. - Weight::from_parts(18_062_302, 0) - .saturating_add(Weight::from_parts(0, 3816)) - // Standard Error: 1_374 - .saturating_add(Weight::from_parts(72_266, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Recovery::Recoverable` (r:1 w:0) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:1) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) - fn initiate_recovery() -> Weight { - // Proof Size summary in bytes: - // Measured: `206` - // Estimated: `3854` - // Minimum execution time: 20_894_000 picoseconds. - Weight::from_parts(22_029_000, 0) - .saturating_add(Weight::from_parts(0, 3854)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Recovery::Recoverable` (r:1 w:0) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:1) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) - /// The range of component `n` is `[1, 9]`. - fn vouch_recovery(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `294 + n * (64 ±0)` - // Estimated: `3854` - // Minimum execution time: 13_165_000 picoseconds. - Weight::from_parts(13_765_637, 0) - .saturating_add(Weight::from_parts(0, 3854)) - // Standard Error: 1_191 - .saturating_add(Weight::from_parts(122_646, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Recovery::Recoverable` (r:1 w:0) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:0) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) - /// Storage: `Recovery::Proxy` (r:1 w:1) - /// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) - /// The range of component `n` is `[1, 9]`. - fn claim_recovery(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `326 + n * (64 ±0)` - // Estimated: `3854` - // Minimum execution time: 16_213_000 picoseconds. - Weight::from_parts(16_918_177, 0) - .saturating_add(Weight::from_parts(0, 3854)) - // Standard Error: 1_388 - .saturating_add(Weight::from_parts(83_653, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:1) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `n` is `[1, 9]`. - fn close_recovery(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `447 + n * (32 ±0)` - // Estimated: `3854` - // Minimum execution time: 24_745_000 picoseconds. - Weight::from_parts(25_608_430, 0) - .saturating_add(Weight::from_parts(0, 3854)) - // Standard Error: 2_005 - .saturating_add(Weight::from_parts(90_862, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:0) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) - /// Storage: `Recovery::Recoverable` (r:1 w:1) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// The range of component `n` is `[1, 9]`. - fn remove_recovery(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `204 + n * (32 ±0)` - // Estimated: `3854` - // Minimum execution time: 20_018_000 picoseconds. - Weight::from_parts(20_879_438, 0) - .saturating_add(Weight::from_parts(0, 3854)) - // Standard Error: 1_721 - .saturating_add(Weight::from_parts(88_489, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Recovery::Proxy` (r:1 w:1) - /// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) - fn cancel_recovered() -> Weight { - // Proof Size summary in bytes: - // Measured: `215` - // Estimated: `3545` - // Minimum execution time: 8_357_000 picoseconds. - Weight::from_parts(8_923_000, 0) - .saturating_add(Weight::from_parts(0, 3545)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Recovery::Recoverable` (r:1 w:1) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:1) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) - /// The range of component `n` is `[1, 9]`. - fn poke_deposit(_n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `940` - // Estimated: `3854` - // Minimum execution time: 31_563_000 picoseconds. - Weight::from_parts(32_994_233, 0) - .saturating_add(Weight::from_parts(0, 3854)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } -} 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 974a8e0ab9..bc88154501 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -675,12 +675,12 @@ impl InstanceFilter for ProxyType { RuntimeCall::Claims(..) | RuntimeCall::Utility(..) | RuntimeCall::Society(..) | - RuntimeCall::Recovery(pallet_recovery::Call::as_recovered {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::vouch_recovery {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::claim_recovery {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::close_recovery {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::remove_recovery {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::cancel_recovered {..}) | + RuntimeCall::Recovery(pallet_recovery::Call::set_friend_groups {..}) | + RuntimeCall::Recovery(pallet_recovery::Call::initiate_attempt {..}) | + RuntimeCall::Recovery(pallet_recovery::Call::approve_attempt {..}) | + RuntimeCall::Recovery(pallet_recovery::Call::finish_attempt {..}) | + RuntimeCall::Recovery(pallet_recovery::Call::cancel_attempt {..}) | + RuntimeCall::Recovery(pallet_recovery::Call::slash_attempt {..}) | // Specifically omitting Recovery `create_recovery`, `initiate_recovery` RuntimeCall::Vesting(pallet_vesting::Call::vest {..}) | RuntimeCall::Vesting(pallet_vesting::Call::vest_other {..}) | @@ -1385,21 +1385,44 @@ impl pallet_ah_ops::Config for Runtime { } parameter_types! { - pub const ConfigDepositBase: Balance = 500 * CENTS; - pub const FriendDepositFactor: Balance = 50 * CENTS; - pub const RecoveryDeposit: Balance = 500 * CENTS; + pub const RecoverySecurityDeposit: Balance = 500 * CENTS; + pub const RecoveryDepositBase: Balance = system_para_deposit(1, 0); + pub const RecoveryByteDeposit: Balance = system_para_deposit(0, 1); + pub const RecoveryFriendGroupsHoldReason: RuntimeHoldReason = + RuntimeHoldReason::Recovery(pallet_recovery::HoldReason::FriendGroupsStorage); + pub const RecoveryAttemptHoldReason: RuntimeHoldReason = + RuntimeHoldReason::Recovery(pallet_recovery::HoldReason::AttemptStorage); + pub const RecoveryInheritorHoldReason: RuntimeHoldReason = + RuntimeHoldReason::Recovery(pallet_recovery::HoldReason::InheritorStorage); } impl pallet_recovery::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type WeightInfo = weights::pallet_recovery::WeightInfo; type RuntimeCall = RuntimeCall; - type Currency = Balances; - type ConfigDepositBase = ConfigDepositBase; - type FriendDepositFactor = FriendDepositFactor; - type MaxFriends = ConstU32<9>; - type RecoveryDeposit = RecoveryDeposit; + type RuntimeHoldReason = RuntimeHoldReason; type BlockNumberProvider = RelaychainDataProvider; + type Currency = Balances; + type FriendGroupsConsideration = HoldConsideration< + AccountId, + Balances, + RecoveryFriendGroupsHoldReason, + LinearStoragePrice, + >; + type AttemptConsideration = HoldConsideration< + AccountId, + Balances, + RecoveryAttemptHoldReason, + LinearStoragePrice, + >; + type InheritorConsideration = HoldConsideration< + AccountId, + Balances, + RecoveryInheritorHoldReason, + LinearStoragePrice, + >; + type SecurityDeposit = RecoverySecurityDeposit; + type Slash = (); // burn + type MaxFriendsPerConfig = ConstU32<9>; + type WeightInfo = weights::pallet_recovery::WeightInfo; } /// Defines what origin can modify which dynamic parameters. diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_recovery.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_recovery.rs index f859345805..c83926f8e2 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_recovery.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_recovery.rs @@ -14,31 +14,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -//! Autogenerated weights for `pallet_recovery` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 54.0.0 -//! DATE: 2026-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `9eba21ec9eb0`, CPU: `QEMU Virtual CPU version 2.5+` -//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 - -// Executed Command: -// frame-omni-bencher -// v1 -// benchmark -// pallet -// --extrinsic=* -// --runtime=target/production/wbuild/asset-hub-kusama-runtime/asset_hub_kusama_runtime.wasm -// --pallet=pallet_recovery -// --header=/_work/ibp-ch/runtimes/runtimes/.github/scripts/cmd/file_header.txt -// --output=./system-parachains/asset-hubs/asset-hub-kusama/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --min-duration -// 1 -// --quiet +//! Mock weights for `pallet_recovery`, copied from polkadot-sdk +//! `substrate/frame/recovery/src/weights.rs` (`SubstrateWeight`). #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -51,161 +28,129 @@ use core::marker::PhantomData; /// Weight functions for `pallet_recovery`. pub struct WeightInfo(PhantomData); impl pallet_recovery::WeightInfo for WeightInfo { - /// Storage: `Recovery::Proxy` (r:1 w:0) - /// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) - fn as_recovered() -> Weight { - // Proof Size summary in bytes: - // Measured: `182` - // Estimated: `3545` - // Minimum execution time: 7_861_000 picoseconds. - Weight::from_parts(8_581_000, 0) - .saturating_add(Weight::from_parts(0, 3545)) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `Recovery::Proxy` (r:0 w:1) - /// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) - fn set_recovered() -> Weight { + /// Storage: `Recovery::Inheritor` (r:1 w:0) + /// Proof: `Recovery::Inheritor` (`max_values`: None, `max_size`: Some(117), added: 2592, mode: `MaxEncodedLen`) + /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) + /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `TxPause::PausedCalls` (r:1 w:0) + /// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`) + fn control_inherited_account() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 4_971_000 picoseconds. - Weight::from_parts(5_590_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) + // Measured: `570` + // Estimated: `3997` + // Minimum execution time: 33_460_000 picoseconds. + Weight::from_parts(33_900_000, 3997) + .saturating_add(T::DbWeight::get().reads(3_u64)) } - /// Storage: `Recovery::Recoverable` (r:1 w:1) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// The range of component `n` is `[1, 9]`. - fn create_recovery(n: u32, ) -> Weight { + /// Storage: `Recovery::Inheritor` (r:1 w:1) + /// Proof: `Recovery::Inheritor` (`max_values`: None, `max_size`: Some(117), added: 2592, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(535), added: 3010, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn revoke_inheritor() -> Weight { // Proof Size summary in bytes: - // Measured: `76` - // Estimated: `3816` - // Minimum execution time: 22_710_000 picoseconds. - Weight::from_parts(23_787_765, 0) - .saturating_add(Weight::from_parts(0, 3816)) - // Standard Error: 3_991 - .saturating_add(Weight::from_parts(186_053, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + // Measured: `487` + // Estimated: `4000` + // Minimum execution time: 75_880_000 picoseconds. + Weight::from_parts(75_880_000, 4000) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } - /// Storage: `Recovery::Recoverable` (r:1 w:0) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:1) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) - /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn initiate_recovery() -> Weight { + /// Storage: `Recovery::Attempt` (r:1 w:0) + /// Proof: `Recovery::Attempt` (`max_values`: None, `max_size`: Some(164), added: 2639, mode: `MaxEncodedLen`) + /// Storage: `Recovery::FriendGroups` (r:1 w:1) + /// Proof: `Recovery::FriendGroups` (`max_values`: None, `max_size`: Some(9281), added: 11756, mode: `MaxEncodedLen`) + fn set_friend_groups() -> Weight { // Proof Size summary in bytes: - // Measured: `173` - // Estimated: `3854` - // Minimum execution time: 29_470_000 picoseconds. - Weight::from_parts(31_570_000, 0) - .saturating_add(Weight::from_parts(0, 3854)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(1)) + // Measured: `9569` + // Estimated: `12746` + // Minimum execution time: 39_360_000 picoseconds. + Weight::from_parts(51_879_639, 12746) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } - /// Storage: `Recovery::Recoverable` (r:1 w:0) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:1) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) - /// The range of component `n` is `[1, 9]`. - fn vouch_recovery(n: u32, ) -> Weight { + /// Storage: `Recovery::Attempt` (r:1 w:1) + /// Proof: `Recovery::Attempt` (`max_values`: None, `max_size`: Some(164), added: 2639, mode: `MaxEncodedLen`) + /// Storage: `Recovery::FriendGroups` (r:1 w:0) + /// Proof: `Recovery::FriendGroups` (`max_values`: None, `max_size`: Some(9281), added: 11756, mode: `MaxEncodedLen`) + /// Storage: `Recovery::Inheritor` (r:1 w:0) + /// Proof: `Recovery::Inheritor` (`max_values`: None, `max_size`: Some(117), added: 2592, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:0) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(535), added: 3010, mode: `MaxEncodedLen`) + fn initiate_attempt() -> Weight { // Proof Size summary in bytes: - // Measured: `261 + n * (64 ±0)` - // Estimated: `3854` - // Minimum execution time: 16_560_000 picoseconds. - Weight::from_parts(18_007_421, 0) - .saturating_add(Weight::from_parts(0, 3854)) - // Standard Error: 4_207 - .saturating_add(Weight::from_parts(207_702, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) + // Measured: `10148` + // Estimated: `12746` + // Minimum execution time: 79_741_000 picoseconds. + Weight::from_parts(80_611_000, 12746) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } - /// Storage: `Recovery::Recoverable` (r:1 w:0) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:0) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) - /// Storage: `Recovery::Proxy` (r:1 w:1) - /// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) - /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// The range of component `n` is `[1, 9]`. - fn claim_recovery(n: u32, ) -> Weight { + /// Storage: `Recovery::Attempt` (r:1 w:1) + /// Proof: `Recovery::Attempt` (`max_values`: None, `max_size`: Some(164), added: 2639, mode: `MaxEncodedLen`) + /// Storage: `Recovery::FriendGroups` (r:1 w:0) + /// Proof: `Recovery::FriendGroups` (`max_values`: None, `max_size`: Some(9281), added: 11756, mode: `MaxEncodedLen`) + fn approve_attempt() -> Weight { // Proof Size summary in bytes: - // Measured: `293 + n * (64 ±0)` - // Estimated: `3854 + n * (64 ±0)` - // Minimum execution time: 21_270_000 picoseconds. - Weight::from_parts(22_445_899, 0) - .saturating_add(Weight::from_parts(0, 3854)) - // Standard Error: 4_139 - .saturating_add(Weight::from_parts(191_961, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(Weight::from_parts(0, 64).saturating_mul(n.into())) + // Measured: `9778` + // Estimated: `12746` + // Minimum execution time: 40_020_000 picoseconds. + Weight::from_parts(40_540_000, 12746) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:1) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) + /// Storage: `Recovery::Attempt` (r:1 w:1) + /// Proof: `Recovery::Attempt` (`max_values`: None, `max_size`: Some(164), added: 2639, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(535), added: 3010, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `n` is `[1, 9]`. - fn close_recovery(n: u32, ) -> Weight { + /// Storage: `Recovery::FriendGroups` (r:1 w:0) + /// Proof: `Recovery::FriendGroups` (`max_values`: None, `max_size`: Some(9281), added: 11756, mode: `MaxEncodedLen`) + /// Storage: `Recovery::Inheritor` (r:1 w:1) + /// Proof: `Recovery::Inheritor` (`max_values`: None, `max_size`: Some(117), added: 2592, mode: `MaxEncodedLen`) + fn finish_attempt() -> Weight { // Proof Size summary in bytes: - // Measured: `1448 + n * (32 ±0)` - // Estimated: `3854` - // Minimum execution time: 34_510_000 picoseconds. - Weight::from_parts(35_824_167, 0) - .saturating_add(Weight::from_parts(0, 3854)) - // Standard Error: 5_076 - .saturating_add(Weight::from_parts(236_337, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Measured: `10479` + // Estimated: `12746` + // Minimum execution time: 75_091_000 picoseconds. + Weight::from_parts(75_880_000, 12746) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) } - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:0) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) - /// Storage: `Recovery::Recoverable` (r:1 w:1) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// The range of component `n` is `[1, 9]`. - fn remove_recovery(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `208 + n * (32 ±0)` - // Estimated: `3854` - // Minimum execution time: 26_250_000 picoseconds. - Weight::from_parts(26_647_488, 0) - .saturating_add(Weight::from_parts(0, 3854)) - // Standard Error: 17_387 - .saturating_add(Weight::from_parts(562_070, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Recovery::Proxy` (r:1 w:1) - /// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) - fn cancel_recovered() -> Weight { + /// Storage: `Recovery::Attempt` (r:1 w:1) + /// Proof: `Recovery::Attempt` (`max_values`: None, `max_size`: Some(164), added: 2639, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(535), added: 3010, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Recovery::FriendGroups` (r:1 w:0) + /// Proof: `Recovery::FriendGroups` (`max_values`: None, `max_size`: Some(9281), added: 11756, mode: `MaxEncodedLen`) + fn cancel_attempt() -> Weight { // Proof Size summary in bytes: - // Measured: `182` - // Estimated: `3545` - // Minimum execution time: 11_470_000 picoseconds. - Weight::from_parts(12_749_000, 0) - .saturating_add(Weight::from_parts(0, 3545)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + // Measured: `10309` + // Estimated: `12746` + // Minimum execution time: 69_011_000 picoseconds. + Weight::from_parts(69_801_000, 12746) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } - /// Storage: `Recovery::Recoverable` (r:1 w:1) - /// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`) - /// Storage: `Recovery::ActiveRecoveries` (r:1 w:1) - /// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`) - /// The range of component `n` is `[1, 9]`. - fn poke_deposit(_n: u32, ) -> Weight { + /// Storage: `Recovery::Attempt` (r:1 w:1) + /// Proof: `Recovery::Attempt` (`max_values`: None, `max_size`: Some(164), added: 2639, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(535), added: 3010, mode: `MaxEncodedLen`) + fn slash_attempt() -> Weight { // Proof Size summary in bytes: - // Measured: `907` - // Estimated: `3854` - // Minimum execution time: 42_120_000 picoseconds. - Weight::from_parts(45_104_498, 0) - .saturating_add(Weight::from_parts(0, 3854)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Measured: `1037` + // Estimated: `4000` + // Minimum execution time: 57_840_000 picoseconds. + Weight::from_parts(58_401_000, 4000) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } } From b85fe76afb31de836d4ddbd137bdc0a3f7f6e5e3 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Mon, 4 May 2026 14:41:37 +0200 Subject: [PATCH 22/59] Integrate https://github.com/paritytech/polkadot-sdk/pull/11847 Signed-off-by: Oliver Tale-Yazdi --- system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs | 1 + system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs | 1 + 2 files changed, 2 insertions(+) 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 bc88154501..af91102799 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -1263,6 +1263,7 @@ impl pallet_revive::Config for Runtime { type FindAuthor = ::FindAuthor; type AllowEVMBytecode = ConstBool; type FeeInfo = pallet_revive::evm::fees::Info; + type Deposit = (); type MaxEthExtrinsicWeight = MaxEthExtrinsicWeight; // Must be set to `false` in a live chain type DebugEnabled = ConstBool; diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 28af5558e4..0a1bd8353e 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -1461,6 +1461,7 @@ impl pallet_revive::Config for Runtime { type FindAuthor = ::FindAuthor; type AllowEVMBytecode = ConstBool; type FeeInfo = pallet_revive::evm::fees::Info; + type Deposit = (); type MaxEthExtrinsicWeight = MaxEthExtrinsicWeight; // Must be set to `false` in a live chain type DebugEnabled = ConstBool; From b2600a47ca85ea6e8bfed7d1b1e031678e856e45 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Mon, 4 May 2026 19:25:33 +0200 Subject: [PATCH 23/59] fmt Signed-off-by: Oliver Tale-Yazdi --- chain-spec-generator/src/common.rs | 16 +++++++++++----- .../chains/parachains/testing/penpal/src/lib.rs | 4 ++-- .../src/genesis_config_presets.rs | 2 +- .../src/genesis_config_presets.rs | 2 +- .../asset-hub-polkadot/src/staking/mod.rs | 6 ++---- 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/chain-spec-generator/src/common.rs b/chain-spec-generator/src/common.rs index 7c9a416d4b..6ab96e3f15 100644 --- a/chain-spec-generator/src/common.rs +++ b/chain-spec-generator/src/common.rs @@ -18,11 +18,17 @@ use crate::{ relay_chain_specs::{KusamaChainSpec, PolkadotChainSpec}, system_parachains_specs::{ - AssetHubKusamaChainSpec, AssetHubPolkadotChainSpec, BridgeHubKusamaChainSpec, - BridgeHubPolkadotChainSpec, CollectivesPolkadotChainSpec, CoretimeKusamaChainSpec, - CoretimePolkadotChainSpec, GluttonKusamaChainSpec, + AssetHubKusamaChainSpec, + AssetHubPolkadotChainSpec, + BridgeHubKusamaChainSpec, + BridgeHubPolkadotChainSpec, + CollectivesPolkadotChainSpec, + CoretimeKusamaChainSpec, + CoretimePolkadotChainSpec, + GluttonKusamaChainSpec, // TODO @ggwpez EncointerKusamaChainSpec, - PeopleKusamaChainSpec, PeoplePolkadotChainSpec, + PeopleKusamaChainSpec, + PeoplePolkadotChainSpec, }, ChainSpec, }; @@ -60,7 +66,7 @@ pub fn from_json_file(filepath: &str, supported: String) -> Result Ok(Box::new(GluttonKusamaChainSpec::from_json_file(path)?)), /* TODO @ggwpez x if x.starts_with("encointer-kusama") => - Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), */ + Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), */ x if x.starts_with("people-kusama") => Ok(Box::new(PeopleKusamaChainSpec::from_json_file(path)?)), x if x.starts_with("people-polkadot") => diff --git a/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs b/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs index f8a3ff78ef..ea63b892b1 100644 --- a/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs +++ b/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs @@ -20,8 +20,8 @@ pub use penpal_runtime::{ xcm_config::{ CustomizableAssetFromSystemAssetHub, LocalReservableFromAssetHub, LocalTeleportableToAssetHub, RelayNetworkId as PenpalRelayNetworkId, XcmConfig, - ASSET_HUB_ASSETS_PALLET_ID as ASSETS_PALLET_ID, PEN2_TELEPORTABLE_GENERAL_INDEX as TELEPORTABLE_ASSET_ID, - RESERVABLE_ASSET_ID, + ASSET_HUB_ASSETS_PALLET_ID as ASSETS_PALLET_ID, + PEN2_TELEPORTABLE_GENERAL_INDEX as TELEPORTABLE_ASSET_ID, RESERVABLE_ASSET_ID, }, }; diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/genesis_config_presets.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/genesis_config_presets.rs index 4af4500718..a19798f9a0 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/genesis_config_presets.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/genesis_config_presets.rs @@ -17,8 +17,8 @@ //! Genesis configs presets for the AssetHubKusama runtime use crate::{xcm_config::UniversalLocation, *}; -use pallet_revive::AddressMapper; use alloc::vec::Vec; +use pallet_revive::AddressMapper; use sp_genesis_builder::PresetId; use system_parachains_constants::genesis_presets::*; use xcm::latest::prelude::*; diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs index 8ead9efbf9..dbeeac3cd1 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs @@ -17,9 +17,9 @@ //! Genesis configs presets for the AssetHubPolkadot runtime use crate::{staking::DapPalletId, xcm_config::UniversalLocation, *}; -use pallet_revive::AddressMapper; use alloc::vec::Vec; use frame_support::sp_runtime::traits::AccountIdConversion; +use pallet_revive::AddressMapper; use parachains_common::AssetHubPolkadotAuraId; use sp_core::sr25519; use sp_genesis_builder::PresetId; diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs index d6139e2a4c..bbeb38e403 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs @@ -425,10 +425,8 @@ impl pallet_staking_async::EraPayout for EraPayout { /// via `BudgetAllocation`. impl sp_staking::budget::IssuanceCurve for EraPayout { fn issue(_total_issuance: Balance, elapsed_millis: u64) -> Balance { - let relative_period = FixedU128::from_rational( - elapsed_millis.into(), - Self::MILLISECONDS_PER_YEAR.into(), - ); + let relative_period = + FixedU128::from_rational(elapsed_millis.into(), Self::MILLISECONDS_PER_YEAR.into()); let relay_block_num = as BlockNumberProvider>::current_block_number(); From aa1a36c906f14e2d5e0b1ba6f2684c67c5050aaf Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 5 May 2026 12:22:47 +0200 Subject: [PATCH 24/59] Update system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com> --- .../asset-hubs/asset-hub-polkadot/src/staking/mod.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs index bbeb38e403..001de18358 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs @@ -117,9 +117,6 @@ parameter_types! { pub const SlashRewardFraction: Perbill = Perbill::from_percent(1); pub const DapPalletId: PalletId = PalletId(*b"dap/buff"); pub const StakingPotsPalletId: PalletId = PalletId(*b"py/stkng"); - // Used for reward pot migration (MigrateEraPotsToPool). Can be removed once executed on-chain. - pub const StakingStakerRewardKind: pallet_staking_async::RewardKind = - pallet_staking_async::RewardKind::StakerRewards; /// Minimum time (ms) between issuance drips. 60s = drip at most once per minute. pub const DapIssuanceCadence: u64 = 60_000; /// Safety ceiling (ms) for elapsed time in a single drip. Prevents over-minting after stalls. From a400200f3efcff9c42998dbf0ebbee6b44393e43 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 5 May 2026 12:30:16 +0200 Subject: [PATCH 25/59] Remove MigrateEraPotsToPool from PAH Signed-off-by: Oliver Tale-Yazdi --- .../asset-hubs/asset-hub-polkadot/src/migrations.rs | 8 -------- 1 file changed, 8 deletions(-) diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs index 8aa6306dc0..eed9243dc9 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs @@ -92,14 +92,6 @@ pub type Unreleased = ( DefaultDapBudget, crate::dynamic_params::staking_election::MaxEraDuration, >, - // Relocate already-funded era reward pots after the slot-based rotation (SDK #11930). - // Must run after DAP V1->V2 so `DisableMintingGuard` is set. Only StakerRewards needed - // — validator-incentive starts at 0% allocation, so no `ValidatorRewards` pots exist yet. - pallet_staking_async::migrations::MigrateEraPotsToPool< - Runtime, - crate::staking::StakingPotsPalletId, - crate::staking::StakingStakerRewardKind, - >, ); /// Migrations/checks that do not need to be versioned and can run on every update. From 37d40b857cf3a4ad889e17ad3def9a3a2e9c9636 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 5 May 2026 12:34:16 +0200 Subject: [PATCH 26/59] Use StakingAdmin for DAP BudgetOrigin Signed-off-by: Oliver Tale-Yazdi --- .../asset-hubs/asset-hub-polkadot/src/staking/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs index 001de18358..4b5ba3fd46 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs @@ -149,7 +149,7 @@ impl pallet_dap::Config for Runtime { type Time = pallet_timestamp::Pallet; type IssuanceCadence = DapIssuanceCadence; type MaxElapsedPerDrip = DapMaxElapsedPerDrip; - type BudgetOrigin = frame_system::EnsureRoot; + type BudgetOrigin = EitherOfDiverse, StakingAdmin>; type WeightInfo = (); } From 99e0176c73754c01a5219c9b39694e292a781075 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 5 May 2026 13:00:13 +0200 Subject: [PATCH 27/59] make compile Signed-off-by: Oliver Tale-Yazdi --- .../assets/asset-hub-kusama/src/genesis.rs | 12 ++++++------ .../assets/asset-hub-polkadot/src/genesis.rs | 12 ++++++------ .../asset-hub-kusama/src/tests/foreign_assets.rs | 3 ++- .../asset-hub-polkadot/src/tests/foreign_assets.rs | 3 ++- .../tests/bridges/bridge-hub-polkadot/src/lib.rs | 1 - .../src/tests/snowbridge_common.rs | 4 ++-- .../src/tests/snowbridge_v2_outbound.rs | 6 +++--- .../src/tests/snowbridge_v2_outbound_edge_case.rs | 4 ++-- 8 files changed, 23 insertions(+), 22 deletions(-) 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 index 5849a5fd9a..a1c03feebe 100644 --- 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 @@ -16,8 +16,8 @@ use asset_hub_kusama_runtime::xcm_config::{CheckingAccount, StakingPot, TreasuryAccount}; use emulated_integration_tests_common::{ accounts, build_genesis_storage, collators, xcm_emulator::ConvertLocation, PenpalALocation, - PenpalASiblingSovereignAccount, PenpalATeleportableAssetLocation, PenpalBLocation, - PenpalBSiblingSovereignAccount, PenpalBTeleportableAssetLocation, RESERVABLE_ASSET_ID, + PenpalAPen2TeleportableAssetLocation, PenpalASiblingSovereignAccount, PenpalBLocation, + PenpalBPen2TeleportableAssetLocation, PenpalBSiblingSovereignAccount, RESERVABLE_ASSET_ID, SAFE_XCM_VERSION, }; use integration_tests_helpers::common::snowbridge::{EthLocation, WethLocation, MIN_ETHER_BALANCE}; @@ -91,13 +91,13 @@ pub fn genesis() -> sp_core::storage::Storage { assets: vec![ // Penpal's teleportable asset representation ( - PenpalATeleportableAssetLocation::get(), + PenpalAPen2TeleportableAssetLocation::get(), PenpalASiblingSovereignAccount::get(), false, ED, ), ( - PenpalBTeleportableAssetLocation::get(), + PenpalBPen2TeleportableAssetLocation::get(), PenpalBSiblingSovereignAccount::get(), false, ED, @@ -119,11 +119,11 @@ pub fn genesis() -> sp_core::storage::Storage { ], reserves: vec![ ( - PenpalATeleportableAssetLocation::get(), + PenpalAPen2TeleportableAssetLocation::get(), vec![(PenpalALocation::get(), true).into()], ), ( - PenpalBTeleportableAssetLocation::get(), + PenpalBPen2TeleportableAssetLocation::get(), vec![(PenpalBLocation::get(), true).into()], ), (EthLocation::get(), vec![(AssetHubPolkadotLocation::get(), false).into()]), 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 index a67a4b7537..1a71fbab91 100644 --- 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 @@ -16,8 +16,8 @@ use asset_hub_polkadot_runtime::xcm_config::{CheckingAccount, StakingPot, TreasuryAccount}; use emulated_integration_tests_common::{ accounts, build_genesis_storage, xcm_emulator::ConvertLocation, PenpalALocation, - PenpalASiblingSovereignAccount, PenpalATeleportableAssetLocation, PenpalBLocation, - PenpalBSiblingSovereignAccount, PenpalBTeleportableAssetLocation, RESERVABLE_ASSET_ID, + PenpalAPen2TeleportableAssetLocation, PenpalASiblingSovereignAccount, PenpalBLocation, + PenpalBPen2TeleportableAssetLocation, PenpalBSiblingSovereignAccount, RESERVABLE_ASSET_ID, SAFE_XCM_VERSION, }; use integration_tests_helpers::common::snowbridge::{EthLocation, WethLocation, MIN_ETHER_BALANCE}; @@ -104,13 +104,13 @@ pub fn genesis() -> sp_core::storage::Storage { assets: vec![ // Penpal's teleportable asset representation ( - PenpalATeleportableAssetLocation::get(), + PenpalAPen2TeleportableAssetLocation::get(), PenpalASiblingSovereignAccount::get(), false, ED, ), ( - PenpalBTeleportableAssetLocation::get(), + PenpalBPen2TeleportableAssetLocation::get(), PenpalBSiblingSovereignAccount::get(), false, ED, @@ -122,11 +122,11 @@ pub fn genesis() -> sp_core::storage::Storage { ], reserves: vec![ ( - PenpalATeleportableAssetLocation::get(), + PenpalAPen2TeleportableAssetLocation::get(), vec![(PenpalALocation::get(), true).into()], ), ( - PenpalBTeleportableAssetLocation::get(), + PenpalBPen2TeleportableAssetLocation::get(), vec![(PenpalBLocation::get(), true).into()], ), (EthLocation::get(), vec![(EthLocation::get(), false).into()]), diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/foreign_assets.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/foreign_assets.rs index e7848c7cdd..1297ed2363 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/foreign_assets.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/foreign_assets.rs @@ -505,7 +505,8 @@ fn verify_foreign_asset_origin_checks() { }); // Now set asset reserves using remote XCM from correct origin chain. // Use wrong `{origin, asset}` combination. - let asset_id_on_ah = emulated_integration_tests_common::PenpalBTeleportableAssetLocation::get(); + let asset_id_on_ah = + emulated_integration_tests_common::PenpalBPen2TeleportableAssetLocation::get(); penpal_set_foreign_asset_reserves_on_asset_hub(asset_id_on_ah, vec![]); // Verify it failed. AssetHubKusama::execute_with(|| { diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/foreign_assets.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/foreign_assets.rs index 9df3972c20..947f586a61 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/foreign_assets.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/foreign_assets.rs @@ -505,7 +505,8 @@ fn verify_foreign_asset_origin_checks() { }); // Now set asset reserves using remote XCM from correct origin chain. // Use wrong `{origin, asset}` combination. - let asset_id_on_ah = emulated_integration_tests_common::PenpalBTeleportableAssetLocation::get(); + let asset_id_on_ah = + emulated_integration_tests_common::PenpalBPen2TeleportableAssetLocation::get(); penpal_set_foreign_asset_reserves_on_asset_hub(asset_id_on_ah, vec![]); // Verify it failed. AssetHubPolkadot::execute_with(|| { 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 index dfc142f7c7..bf323c3d5d 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/lib.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/lib.rs @@ -35,7 +35,6 @@ pub use bp_messages::LegacyLaneId; // Cumulus pub use emulated_integration_tests_common::{ accounts::{ALICE, BOB}, - create_pool_with_native_on, impls::Inspect, test_parachain_is_trusted_teleporter, test_parachain_is_trusted_teleporter_for_relay, test_relay_is_trusted_teleporter, diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_common.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_common.rs index c9dcef40f4..583f0f4a18 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_common.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_common.rs @@ -19,7 +19,7 @@ use asset_hub_polkadot_runtime::xcm_config::{ }; use bp_bridge_hub_polkadot::snowbridge::EthereumNetwork; use emulated_integration_tests_common::{ - create_pool_with_native_on, PenpalBTeleportableAssetLocation, + create_pool_with_native_on, PenpalBPen2TeleportableAssetLocation, }; use frame_support::traits::fungibles::Mutate; use hex_literal::hex; @@ -244,7 +244,7 @@ pub fn register_pal_on_polkadot_bh() { assert_ok!(::EthereumSystem::register_token( RuntimeOrigin::root(), - Box::new(VersionedLocation::from(PenpalBTeleportableAssetLocation::get())), + Box::new(VersionedLocation::from(PenpalBPen2TeleportableAssetLocation::get())), AssetMetadata { name: "pal".as_bytes().to_vec().try_into().unwrap(), symbol: "pal".as_bytes().to_vec().try_into().unwrap(), diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound.rs index 0b148c5e95..15b82a24f6 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound.rs @@ -20,7 +20,7 @@ use crate::{ use bridge_hub_polkadot_runtime::{ bridge_to_ethereum_config::EthereumGatewayAddress, EthereumOutboundQueueV2, }; -use emulated_integration_tests_common::{impls::Decode, PenpalBTeleportableAssetLocation}; +use emulated_integration_tests_common::{impls::Decode, PenpalBPen2TeleportableAssetLocation}; use frame_support::{assert_err_ignore_postinfo, pallet_prelude::TypeInfo, BoundedVec}; use polkadot_system_emulated_network::penpal_emulated_chain::penpal_runtime::xcm_config::LocalTeleportableToAssetHub; use snowbridge_core::{reward::MessageId, AssetMetadata, BasicOperatingMode}; @@ -693,7 +693,7 @@ fn register_token_from_penpal() { AccountId32 { network: Some(NetworkId::Polkadot), id: PenpalBSender::get().into() }, ], ); - let asset_location_on_penpal = PenpalBTeleportableAssetLocation::get(); + let asset_location_on_penpal = PenpalBPen2TeleportableAssetLocation::get(); let foreign_asset_at_asset_hub = Location::new(1, [Junction::Parachain(PenpalB::para_id().into())]) .appended_with(asset_location_on_penpal) @@ -824,7 +824,7 @@ fn send_message_from_penpal_to_ethereum(sudo: bool) { let ena = Asset { id: AssetId(weth_location()), fun: Fungible(TOKEN_AMOUNT / 2) }; let transfer_asset_reanchor_on_ah = Asset { - id: AssetId(PenpalBTeleportableAssetLocation::get()), + id: AssetId(PenpalBPen2TeleportableAssetLocation::get()), fun: Fungible(TOKEN_AMOUNT), }; diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound_edge_case.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound_edge_case.rs index 3139937e4b..df49d8763c 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound_edge_case.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound_edge_case.rs @@ -23,7 +23,7 @@ use crate::{ *, }; use asset_hub_polkadot_runtime::xcm_config::bridging::to_ethereum::BridgeHubEthereumBaseFee; -use emulated_integration_tests_common::PenpalATeleportableAssetLocation; +use emulated_integration_tests_common::PenpalAPen2TeleportableAssetLocation; use frame_support::{assert_noop, BoundedVec}; use snowbridge_core::AssetMetadata; use sp_runtime::DispatchError::BadOrigin; @@ -44,7 +44,7 @@ fn register_penpal_a_asset_from_penpal_b_will_fail() { AccountId32 { network: Some(Polkadot), id: PenpalBSender::get().into() }, ], ); - let asset_location_on_penpal = PenpalATeleportableAssetLocation::get(); + let asset_location_on_penpal = PenpalAPen2TeleportableAssetLocation::get(); let penpal_a_asset_at_asset_hub = Location::new(1, [Parachain(PenpalA::para_id().into())]) .appended_with(asset_location_on_penpal) .unwrap(); From 09e69fc0a9fae1a954a71f8fb151e5961e73dd3f Mon Sep 17 00:00:00 2001 From: clangenb <37865735+clangenb@users.noreply.github.com> Date: Tue, 5 May 2026 13:29:18 +0200 Subject: [PATCH 28/59] Update encointer deps to unstable2604 and re-enable encointer (#1162) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Checked that: * cargo check -p encointer-kusama-runtime works ✅ * cargo check -p chain-spec-generator --features encointer-kusama works ✅ As per @ggwpez's request, I will just merge it. --- Cargo.lock | 1020 ++++++++++++++--- Cargo.toml | 46 +- chain-spec-generator/Cargo.toml | 10 +- chain-spec-generator/src/common.rs | 19 +- chain-spec-generator/src/main.rs | 4 +- .../src/system_parachains_specs.rs | 6 +- .../networks/kusama-system/Cargo.toml | 4 +- .../networks/kusama-system/src/lib.rs | 10 +- 8 files changed, 923 insertions(+), 196 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bf5eae9148..7a4ae54cd8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -529,6 +529,17 @@ dependencies = [ "ark-std 0.5.0", ] +[[package]] +name = "ark-bn254" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +dependencies = [ + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + [[package]] name = "ark-bn254" version = "0.5.0" @@ -537,10 +548,30 @@ checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" dependencies = [ "ark-ec 0.5.0", "ark-ff 0.5.0", - "ark-r1cs-std", + "ark-r1cs-std 0.5.0", "ark-std 0.5.0", ] +[[package]] +name = "ark-crypto-primitives" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" +dependencies = [ + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-r1cs-std 0.4.0", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-snark", + "ark-std 0.4.0", + "blake2 0.10.6", + "derivative", + "digest 0.10.7", + "sha2 0.10.9", + "tracing", +] + [[package]] name = "ark-ec" version = "0.4.2" @@ -717,6 +748,21 @@ dependencies = [ "syn 2.0.114", ] +[[package]] +name = "ark-groth16" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" +dependencies = [ + "ark-crypto-primitives", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-poly 0.4.2", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-std 0.4.0", +] + [[package]] name = "ark-poly" version = "0.4.2" @@ -745,6 +791,23 @@ dependencies = [ "hashbrown 0.15.5", ] +[[package]] +name = "ark-r1cs-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de1d1472e5cb020cb3405ce2567c91c8d43f21b674aef37b0202f5c3304761db" +dependencies = [ + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-relations 0.4.0", + "ark-std 0.4.0", + "derivative", + "num-bigint", + "num-integer", + "num-traits", + "tracing", +] + [[package]] name = "ark-r1cs-std" version = "0.5.0" @@ -753,7 +816,7 @@ checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" dependencies = [ "ark-ec 0.5.0", "ark-ff 0.5.0", - "ark-relations", + "ark-relations 0.5.1", "ark-std 0.5.0", "educe", "num-bigint", @@ -762,6 +825,18 @@ dependencies = [ "tracing", ] +[[package]] +name = "ark-relations" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" +dependencies = [ + "ark-ff 0.4.2", + "ark-std 0.4.0", + "tracing", + "tracing-subscriber 0.2.25", +] + [[package]] name = "ark-relations" version = "0.5.1" @@ -831,6 +906,18 @@ dependencies = [ "syn 2.0.114", ] +[[package]] +name = "ark-snark" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" +dependencies = [ + "ark-ff 0.4.2", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-std 0.4.0", +] + [[package]] name = "ark-std" version = "0.3.0" @@ -2997,6 +3084,7 @@ dependencies = [ "collectives-polkadot-runtime", "coretime-kusama-runtime", "coretime-polkadot-runtime", + "encointer-kusama-runtime", "glutton-kusama-runtime", "people-kusama-runtime", "people-polkadot-runtime", @@ -5011,6 +5099,242 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "encointer-balances-tx-payment" +version = "22.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c5993aedbf3af1b393ab08707887a10c856d439cf97fbf19b35c4f6e448982" +dependencies = [ + "encointer-primitives", + "frame-support", + "frame-system", + "log", + "pallet-asset-tx-payment", + "pallet-encointer-balances", + "pallet-encointer-ceremonies", + "pallet-transaction-payment", + "sp-runtime 47.0.0", +] + +[[package]] +name = "encointer-balances-tx-payment-rpc-runtime-api" +version = "22.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef881a9d87e5f8ddfef0396c82a4d759a3c14c5111e1c513a195ee933c7ef822" +dependencies = [ + "encointer-primitives", + "frame-support", + "parity-scale-codec", + "scale-info", + "sp-api 42.0.0", + "sp-std", +] + +[[package]] +name = "encointer-ceremonies-assignment" +version = "22.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc16952be85f06a637863c4d735cb854f726577feff1c5eeae18deaa3b6d3ceb" +dependencies = [ + "encointer-primitives", + "sp-runtime 47.0.0", + "sp-std", +] + +[[package]] +name = "encointer-kusama-emulated-chain" +version = "1.0.0" +dependencies = [ + "cumulus-primitives-core", + "emulated-integration-tests-common", + "encointer-kusama-runtime", + "frame-support", + "integration-tests-helpers", + "kusama-emulated-chain", + "parachains-common", + "polkadot-parachain-primitives", + "sp-core 41.0.0", + "sp-keyring", + "staging-xcm", + "staging-xcm-builder", +] + +[[package]] +name = "encointer-kusama-integration-tests" +version = "1.0.0" +dependencies = [ + "asset-hub-kusama-runtime", + "asset-test-utils", + "cumulus-pallet-parachain-system", + "emulated-integration-tests-common", + "encointer-kusama-runtime", + "frame-support", + "integration-tests-helpers", + "kusama-runtime-constants", + "kusama-system-emulated-network", + "pallet-assets", + "pallet-balances", + "pallet-identity", + "pallet-message-queue", + "pallet-xcm", + "parachains-common", + "parity-scale-codec", + "polkadot-runtime-common", + "sp-runtime 47.0.0", + "sp-tracing", + "staging-kusama-runtime", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "xcm-runtime-apis", +] + +[[package]] +name = "encointer-kusama-runtime" +version = "1.0.0" +dependencies = [ + "cumulus-pallet-aura-ext", + "cumulus-pallet-parachain-system", + "cumulus-pallet-session-benchmarking", + "cumulus-pallet-weight-reclaim", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-aura", + "cumulus-primitives-core", + "cumulus-primitives-utility", + "encointer-balances-tx-payment", + "encointer-balances-tx-payment-rpc-runtime-api", + "encointer-primitives", + "frame-benchmarking", + "frame-executive", + "frame-metadata-hash-extension", + "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", + "pallet-assets", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", + "pallet-collective", + "pallet-encointer-balances", + "pallet-encointer-bazaar", + "pallet-encointer-bazaar-rpc-runtime-api", + "pallet-encointer-ceremonies", + "pallet-encointer-ceremonies-rpc-runtime-api", + "pallet-encointer-communities", + "pallet-encointer-communities-rpc-runtime-api", + "pallet-encointer-democracy", + "pallet-encointer-faucet", + "pallet-encointer-offline-payment", + "pallet-encointer-reputation-commitments", + "pallet-encointer-reputation-rings", + "pallet-encointer-scheduler", + "pallet-encointer-treasuries", + "pallet-encointer-treasuries-rpc-runtime-api", + "pallet-insecure-randomness-collective-flip", + "pallet-membership", + "pallet-message-queue", + "pallet-proxy", + "pallet-scheduler", + "pallet-session", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-utility", + "pallet-xcm", + "pallet-xcm-benchmarks", + "parachains-common", + "parachains-runtimes-test-utils", + "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-primitives", + "polkadot-runtime-common", + "scale-info", + "serde_json", + "smallvec", + "sp-api 42.0.0", + "sp-block-builder", + "sp-consensus-aura", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", + "sp-offchain", + "sp-runtime 47.0.0", + "sp-session", + "sp-tracing", + "sp-transaction-pool", + "sp-version 45.0.0", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", + "system-parachains-constants", + "xcm-runtime-apis", +] + +[[package]] +name = "encointer-meetup-validation" +version = "22.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19a999be8501a291e989930baaa14cc3eb6b3659231dbd29c1aa380cd3d0b278" +dependencies = [ + "encointer-primitives", + "parity-scale-codec", + "scale-info", + "serde", + "sp-runtime 47.0.0", + "sp-std", +] + +[[package]] +name = "encointer-offline-payment-core" +version = "22.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b86da78e51e01472f0113617db6075aa7a39284d85b80c30e95282d621d7d48" +dependencies = [ + "ark-bn254 0.4.0", + "ark-crypto-primitives", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-groth16", + "ark-r1cs-std 0.4.0", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-snark", + "ark-std 0.4.0", +] + +[[package]] +name = "encointer-primitives" +version = "22.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c80e67fe683550432adc7872c3d6f97dbb768aa170be239bfe57e4c67f38bf42" +dependencies = [ + "bs58", + "crc", + "ep-core", + "frame-support", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-std", + "substrate-geohash", +] + [[package]] name = "enum-as-inner" version = "0.6.1" @@ -5101,13 +5425,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] -name = "equivalent" -version = "1.0.2" +name = "ep-core" +version = "22.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "erased-serde" +checksum = "43117f6576231962578c50dd745dc4ec2c1e0858d51ab86bc5f59ed9e6bf6887" +dependencies = [ + "array-bytes 6.2.3", + "impl-serde", + "parity-scale-codec", + "scale-info", + "serde", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-runtime 47.0.0", + "sp-std", + "substrate-fixed", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "erased-serde" version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" @@ -7498,6 +7840,7 @@ dependencies = [ "bridge-hub-kusama-emulated-chain", "coretime-kusama-emulated-chain", "emulated-integration-tests-common", + "encointer-kusama-emulated-chain", "kusama-emulated-chain", "penpal-emulated-chain", "people-kusama-emulated-chain", @@ -9459,315 +9802,617 @@ dependencies = [ "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", - "sp-state-machine 0.51.0", + "sp-state-machine 0.51.0", +] + +[[package]] +name = "pallet-bounties" +version = "46.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4df70034de4c1539b09c64ae8852bb3bfa60d34dfcb40eeec9c096e99bf6d877" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-treasury", + "parity-scale-codec", + "scale-info", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-bridge-grandpa" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3962d02f9072473ca462b8a860d422e1b575f476085e07ad0f3b5a4bf8fbd07" +dependencies = [ + "bp-header-chain", + "bp-runtime", + "bp-test-utils", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-consensus-grandpa", + "sp-runtime 47.0.0", + "sp-std", + "tracing", +] + +[[package]] +name = "pallet-bridge-messages" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac7e32dbd16530d52351f9ec4904031297a3e249d31956ff93e03e5ac2e55fe3" +dependencies = [ + "bp-header-chain", + "bp-messages", + "bp-runtime", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-runtime 47.0.0", + "sp-std", + "sp-trie 44.0.0", + "tracing", +] + +[[package]] +name = "pallet-bridge-parachains" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10ad880bd4c96b7754ccfdeaa3f2d52a9151ac6499290c4535434415a8198b9c" +dependencies = [ + "bp-header-chain", + "bp-parachains", + "bp-polkadot-core", + "bp-runtime", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-bridge-grandpa", + "parity-scale-codec", + "scale-info", + "sp-runtime 47.0.0", + "sp-std", + "tracing", +] + +[[package]] +name = "pallet-bridge-relayers" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af4593459485c948cb211151f314b61dc6970a945389d7bbc1fab0f5cf802027" +dependencies = [ + "bp-header-chain", + "bp-messages", + "bp-relayers", + "bp-runtime", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-bridge-grandpa", + "pallet-bridge-messages", + "pallet-bridge-parachains", + "pallet-transaction-payment", + "parity-scale-codec", + "scale-info", + "sp-arithmetic", + "sp-runtime 47.0.0", + "tracing", +] + +[[package]] +name = "pallet-broker" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7b0bbf7fa5c78b3d32aa1437ff60bd432e2f3dec69deb477fddcd192d2d2c2c" +dependencies = [ + "bitvec", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-api 42.0.0", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-child-bounties" +version = "46.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b11591516db4a6d2fa91fbb0a577147db72b1743f47249e56d4bfb3932ee2c00" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-bounties", + "pallet-treasury", + "parity-scale-codec", + "scale-info", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-collator-selection" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87c34bf518141c1cd2344edbe9baa28205b0c60bf5f73ff92e0ff5e565f8d94b" +dependencies = [ + "cumulus-pallet-session-benchmarking", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-balances", + "pallet-session", + "parity-scale-codec", + "rand 0.8.5", + "scale-info", + "sp-runtime 47.0.0", + "sp-staking", +] + +[[package]] +name = "pallet-collective" +version = "47.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b61f80b5880ce665ac3b9b0f4893db57b521c16d30a6499c56aace4accf8b5a5" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-conviction-voting" +version = "47.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d510e1ffa3cacf45fff188bc327aa5f9ee0aa95b85f24d9d1c89490a1857812" +dependencies = [ + "assert_matches", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "serde", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-core-fellowship" +version = "31.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ed362aa84504b5ffb640d37302ae455fae676882ac3315bbba7a2e97ad2484" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-ranked-collective", + "parity-scale-codec", + "scale-info", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-dap" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf956b32e26abf6f133935472c2289471c4bd7111094a1af1a9b8ac04f052c3" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-dap", + "sp-runtime 47.0.0", + "sp-staking", +] + +[[package]] +name = "pallet-delegated-staking" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bdc01a02483b132c5cf8e36d2b63c569a25611597f029eb3880f625df2ab224" +dependencies = [ + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-staking", +] + +[[package]] +name = "pallet-election-provider-multi-block" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "654b196f666c58117c903c81d0f4c068be261d807590f12fec4617bdbdd09563" +dependencies = [ + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "rand 0.8.5", + "scale-info", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-npos-elections", + "sp-runtime 47.0.0", + "sp-std", +] + +[[package]] +name = "pallet-election-provider-multi-phase" +version = "46.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ab6a9d55d2e0045af2080d6c93c56745fb22e5dfd6e64b8e7b7106758f64ac5" +dependencies = [ + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "rand 0.8.5", + "scale-info", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-npos-elections", + "sp-runtime 47.0.0", + "strum 0.26.3", ] [[package]] -name = "pallet-bounties" +name = "pallet-election-provider-support-benchmarking" version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4df70034de4c1539b09c64ae8852bb3bfa60d34dfcb40eeec9c096e99bf6d877" +checksum = "ec6ef314b8d355841a3048988ea49cc9a5113dd67dc97799557ffbf989c0b178" dependencies = [ "frame-benchmarking", - "frame-support", + "frame-election-provider-support", "frame-system", - "log", - "pallet-treasury", "parity-scale-codec", - "scale-info", - "sp-core 41.0.0", - "sp-io 46.0.0", + "sp-npos-elections", "sp-runtime 47.0.0", ] [[package]] -name = "pallet-bridge-grandpa" -version = "0.27.0" +name = "pallet-encointer-balances" +version = "22.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3962d02f9072473ca462b8a860d422e1b575f476085e07ad0f3b5a4bf8fbd07" +checksum = "b321e4edd6f218eb6a74bc6dfa79d2cfb6dc6b21514360a58ce90031ab6b2370" dependencies = [ - "bp-header-chain", - "bp-runtime", - "bp-test-utils", + "approx", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", + "log", + "pallet-asset-tx-payment", + "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-consensus-grandpa", "sp-runtime 47.0.0", "sp-std", - "tracing", ] [[package]] -name = "pallet-bridge-messages" -version = "0.27.0" +name = "pallet-encointer-bazaar" +version = "22.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac7e32dbd16530d52351f9ec4904031297a3e249d31956ff93e03e5ac2e55fe3" +checksum = "012e471a9cc3441daea1037d620d59f35bbd6edb7fe25d72962b0cb99d21f1a4" dependencies = [ - "bp-header-chain", - "bp-messages", - "bp-runtime", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", + "log", + "pallet-encointer-communities", "parity-scale-codec", "scale-info", - "sp-runtime 47.0.0", + "sp-core 41.0.0", "sp-std", - "sp-trie 44.0.0", - "tracing", ] [[package]] -name = "pallet-bridge-parachains" -version = "0.27.0" +name = "pallet-encointer-bazaar-rpc-runtime-api" +version = "22.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10ad880bd4c96b7754ccfdeaa3f2d52a9151ac6499290c4535434415a8198b9c" +checksum = "32126b0df1585997c85bea70f17ded2379b84899629c47b4d9452e2728ae867e" dependencies = [ - "bp-header-chain", - "bp-parachains", - "bp-polkadot-core", - "bp-runtime", - "frame-benchmarking", + "encointer-primitives", "frame-support", - "frame-system", - "pallet-bridge-grandpa", "parity-scale-codec", - "scale-info", - "sp-runtime 47.0.0", + "sp-api 42.0.0", "sp-std", - "tracing", ] [[package]] -name = "pallet-bridge-relayers" -version = "0.27.0" +name = "pallet-encointer-ceremonies" +version = "22.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4593459485c948cb211151f314b61dc6970a945389d7bbc1fab0f5cf802027" +checksum = "357943fb68ca225c5cb5e0a00820a38565f54026813ede9e0cd1ea12da3e4026" dependencies = [ - "bp-header-chain", - "bp-messages", - "bp-relayers", - "bp-runtime", + "encointer-ceremonies-assignment", + "encointer-meetup-validation", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", - "pallet-bridge-grandpa", - "pallet-bridge-messages", - "pallet-bridge-parachains", - "pallet-transaction-payment", + "log", + "pallet-encointer-balances", + "pallet-encointer-communities", + "pallet-encointer-scheduler", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-application-crypto 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", "sp-runtime 47.0.0", - "tracing", + "sp-std", ] [[package]] -name = "pallet-broker" -version = "0.26.0" +name = "pallet-encointer-ceremonies-rpc-runtime-api" +version = "22.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7b0bbf7fa5c78b3d32aa1437ff60bd432e2f3dec69deb477fddcd192d2d2c2c" +checksum = "26eb2dc7fc48bf2199e6bf513b4afd41903531d3ed1105fd670b99fc4bd1d641" dependencies = [ - "bitvec", - "frame-benchmarking", + "encointer-primitives", "frame-support", - "frame-system", - "log", "parity-scale-codec", - "scale-info", "sp-api 42.0.0", - "sp-arithmetic", - "sp-core 41.0.0", - "sp-runtime 47.0.0", + "sp-std", ] [[package]] -name = "pallet-child-bounties" -version = "46.0.0" +name = "pallet-encointer-communities" +version = "22.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b11591516db4a6d2fa91fbb0a577147db72b1743f47249e56d4bfb3932ee2c00" +checksum = "7fd6d09d7b9dcd3abacc14fac4bd2fafe9ff35f7e9ce6a32a891e3cc5681b5f1" dependencies = [ + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-bounties", - "pallet-treasury", + "pallet-encointer-balances", + "pallet-encointer-scheduler", "parity-scale-codec", "scale-info", - "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", + "sp-std", ] [[package]] -name = "pallet-collator-selection" -version = "28.0.0" +name = "pallet-encointer-communities-rpc-runtime-api" +version = "22.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c34bf518141c1cd2344edbe9baa28205b0c60bf5f73ff92e0ff5e565f8d94b" +checksum = "7d79e9ecd66438021948b1d3e8ea8d17712dec9541c23db800667e342a89aaca" dependencies = [ - "cumulus-pallet-session-benchmarking", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-balances", - "pallet-session", + "encointer-primitives", "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sp-runtime 47.0.0", - "sp-staking", + "sp-api 42.0.0", + "sp-std", ] [[package]] -name = "pallet-collective" -version = "47.0.0" +name = "pallet-encointer-democracy" +version = "22.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b61f80b5880ce665ac3b9b0f4893db57b521c16d30a6499c56aace4accf8b5a5" +checksum = "a15c5a01a0a26a98175992fa6d16877a8d66c3388ef8f7ff8af8bafa70d9f8a7" dependencies = [ - "docify", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", "log", + "pallet-encointer-ceremonies", + "pallet-encointer-communities", + "pallet-encointer-reputation-commitments", + "pallet-encointer-scheduler", + "pallet-encointer-treasuries", + "pallet-timestamp", "parity-scale-codec", "scale-info", + "sp-application-crypto 46.0.0", "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", + "sp-std", ] [[package]] -name = "pallet-conviction-voting" -version = "47.0.0" +name = "pallet-encointer-faucet" +version = "22.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d510e1ffa3cacf45fff188bc327aa5f9ee0aa95b85f24d9d1c89490a1857812" +checksum = "032575c0fa002ba526bc51667c27c15667b77198d16bc007a3b16a2448b143b9" dependencies = [ - "assert_matches", + "approx", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", + "log", + "pallet-encointer-communities", + "pallet-encointer-reputation-commitments", "parity-scale-codec", "scale-info", - "serde", - "sp-io 46.0.0", + "sp-core 41.0.0", "sp-runtime 47.0.0", + "sp-std", ] [[package]] -name = "pallet-core-fellowship" -version = "31.0.0" +name = "pallet-encointer-offline-payment" +version = "22.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ed362aa84504b5ffb640d37302ae455fae676882ac3315bbba7a2e97ad2484" +checksum = "355d14d43e217770a237fa682305760ae9007cd4b9be80303ea3a6c25b2bc118" dependencies = [ + "ark-bn254 0.4.0", + "ark-crypto-primitives", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-groth16", + "ark-r1cs-std 0.4.0", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-snark", + "ark-std 0.4.0", + "encointer-offline-payment-core", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-ranked-collective", + "pallet-encointer-balances", + "pallet-encointer-communities", "parity-scale-codec", "scale-info", - "sp-arithmetic", "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", + "sp-std", ] [[package]] -name = "pallet-dap" -version = "0.4.0" +name = "pallet-encointer-reputation-commitments" +version = "22.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf956b32e26abf6f133935472c2289471c4bd7111094a1af1a9b8ac04f052c3" +checksum = "08bbb65b709bf9f1a6d20b2c6e04fff525b2343cbfe7a5495867c64d4490708c" dependencies = [ + "approx", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", "log", + "pallet-encointer-ceremonies", + "pallet-encointer-communities", + "pallet-encointer-scheduler", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-dap", + "sp-core 41.0.0", "sp-runtime 47.0.0", - "sp-staking", + "sp-std", ] [[package]] -name = "pallet-delegated-staking" -version = "14.0.0" +name = "pallet-encointer-reputation-rings" +version = "22.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bdc01a02483b132c5cf8e36d2b63c569a25611597f029eb3880f625df2ab224" +checksum = "d79d9fbe78327197dccb879075f757ddd1f4e6c7f4bc5c3f1e65b8b5931d2bf2" dependencies = [ + "encointer-primitives", + "frame-benchmarking", "frame-support", "frame-system", "log", + "pallet-encointer-ceremonies", + "pallet-encointer-communities", + "pallet-encointer-scheduler", "parity-scale-codec", "scale-info", + "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", - "sp-staking", + "sp-std", ] [[package]] -name = "pallet-election-provider-multi-block" -version = "0.9.0" +name = "pallet-encointer-scheduler" +version = "22.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "654b196f666c58117c903c81d0f4c068be261d807590f12fec4617bdbdd09563" +checksum = "1a10be0263a361130b20aa2de8d7c60d8ffdff75c9a82e5383848a645c515929" dependencies = [ + "encointer-primitives", "frame-benchmarking", - "frame-election-provider-support", "frame-support", "frame-system", + "impl-trait-for-tuples", "log", + "pallet-timestamp", "parity-scale-codec", - "rand 0.8.5", "scale-info", - "sp-arithmetic", - "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-npos-elections", "sp-runtime 47.0.0", "sp-std", ] [[package]] -name = "pallet-election-provider-multi-phase" -version = "46.0.0" +name = "pallet-encointer-treasuries" +version = "22.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ab6a9d55d2e0045af2080d6c93c56745fb22e5dfd6e64b8e7b7106758f64ac5" +checksum = "9af0e3f605de67dbb1085e6460e5e3e23c2c393bca0b48fd67e54cbfc902f548" dependencies = [ + "approx", + "encointer-primitives", "frame-benchmarking", - "frame-election-provider-support", "frame-support", "frame-system", "log", + "pallet-encointer-balances", + "pallet-encointer-communities", + "pallet-encointer-reputation-commitments", + "pallet-timestamp", "parity-scale-codec", - "rand 0.8.5", "scale-info", - "sp-arithmetic", "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-npos-elections", "sp-runtime 47.0.0", - "strum 0.26.3", + "sp-std", ] [[package]] -name = "pallet-election-provider-support-benchmarking" -version = "46.0.0" +name = "pallet-encointer-treasuries-rpc-runtime-api" +version = "22.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec6ef314b8d355841a3048988ea49cc9a5113dd67dc97799557ffbf989c0b178" +checksum = "1a9466efd1b710b8b6c3e666df5dd37288f02675e86dbe6853ab92f649c9bd3e" dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-system", + "encointer-primitives", + "frame-support", "parity-scale-codec", - "sp-npos-elections", - "sp-runtime 47.0.0", + "scale-info", + "sp-api 42.0.0", + "sp-std", ] [[package]] @@ -9884,6 +10529,35 @@ dependencies = [ "sp-runtime 47.0.0", ] +[[package]] +name = "pallet-insecure-randomness-collective-flip" +version = "35.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2f6faeef6341736fcc834faf9a8830db754505c7e704b3f2dbcb52a22cead1" +dependencies = [ + "parity-scale-codec", + "polkadot-sdk-frame", + "safe-mix", + "scale-info", +] + +[[package]] +name = "pallet-membership" +version = "47.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77fab153395658c7a37a288604daae8e9cd5b6b0d79849710cd5572679eeea6c" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + [[package]] name = "pallet-message-queue" version = "50.0.0" @@ -13254,7 +13928,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cee3f336b83621294b4cfe84d817e3eef6f3d0fce00951973364cc7f860424d" dependencies = [ "ark-bls12-381 0.5.0", - "ark-bn254", + "ark-bn254 0.5.0", "ark-ec 0.5.0", "ark-ff 0.5.0", "ark-serialize 0.5.0", @@ -13470,6 +14144,15 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + [[package]] name = "rustc_version" version = "0.3.3" @@ -13669,6 +14352,15 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" +[[package]] +name = "safe-mix" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" +dependencies = [ + "rustc_version 0.2.3", +] + [[package]] name = "safe_arch" version = "0.7.4" @@ -14871,6 +15563,15 @@ dependencies = [ "semver-parser 0.7.0", ] +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser 0.7.0", +] + [[package]] name = "semver" version = "0.11.0" @@ -17463,6 +18164,29 @@ dependencies = [ "rustc-hex", ] +[[package]] +name = "substrate-fixed" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a58670b92bb23e63b32b32167ff4edf8a34a2d53a2bdfcd60a6d8ead57bd563" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "substrate-typenum", +] + +[[package]] +name = "substrate-geohash" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c822853591796a4f735f88ad603d32062090374d3c1c8118c62c28d6f85a683" +dependencies = [ + "parity-scale-codec", + "scale-info", + "substrate-fixed", +] + [[package]] name = "substrate-prometheus-endpoint" version = "0.17.7" @@ -17492,6 +18216,16 @@ dependencies = [ "sp-runtime 47.0.0", ] +[[package]] +name = "substrate-typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cd64d3efe988228b8496698197ee60cfbfcedbf226961300e559870c1a3e8e0" +dependencies = [ + "parity-scale-codec", + "scale-info", +] + [[package]] name = "substrate-wasm-builder" version = "33.0.0" diff --git a/Cargo.toml b/Cargo.toml index 3e19cceed0..1f353bc0ee 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -67,11 +67,11 @@ cumulus-primitives-aura = { version = "0.23.0", default-features = false } cumulus-primitives-core = { version = "0.25.0", default-features = false } cumulus-primitives-utility = { version = "0.27.0", default-features = false } emulated-integration-tests-common = { version = "30.0.0" } -# TODO @ggwpez encointer-balances-tx-payment = { version = "~22.1.0", default-features = false } -# TODO @ggwpez encointer-balances-tx-payment-rpc-runtime-api = { version = "~22.1.0", default-features = false } -# TODO @ggwpez encointer-kusama-runtime = { path = "system-parachains/encointer" } -# TODO @ggwpez encointer-kusama-emulated-chain = { path = "integration-tests/emulated/chains/parachains/encointer/encointer-kusama" } -# TODO @ggwpez encointer-primitives = { version = "~22.5.0", default-features = false } +encointer-balances-tx-payment = { version = "~22.2.0", default-features = false } +encointer-balances-tx-payment-rpc-runtime-api = { version = "~22.2.0", default-features = false } +encointer-kusama-runtime = { path = "system-parachains/encointer" } +encointer-kusama-emulated-chain = { path = "integration-tests/emulated/chains/parachains/encointer/encointer-kusama" } +encointer-primitives = { version = "~22.6.0", default-features = false } enumflags2 = { version = "0.7.7" } frame-benchmarking = { version = "47.0.0", default-features = false } frame-election-provider-support = { version = "47.0.0", default-features = false } @@ -123,21 +123,21 @@ pallet-dap = { version = "0.4.0", default-features = false } pallet-core-fellowship = { version = "31.0.0", default-features = false } pallet-election-provider-multi-phase = { version = "46.0.0", default-features = false } pallet-election-provider-support-benchmarking = { version = "46.0.0", default-features = false } -# TODO @ggwpez pallet-encointer-balances = { version = "~22.2.0", default-features = false } -# TODO @ggwpez pallet-encointer-bazaar = { version = "~22.1.0", default-features = false } -# TODO @ggwpez pallet-encointer-bazaar-rpc-runtime-api = { version = "~22.1.0", default-features = false } -# TODO @ggwpez pallet-encointer-ceremonies = { version = "~22.1.0", default-features = false } -# TODO @ggwpez pallet-encointer-ceremonies-rpc-runtime-api = { version = "~22.1.0", default-features = false } -# TODO @ggwpez pallet-encointer-communities = { version = "~22.1.0", default-features = false } -# TODO @ggwpez pallet-encointer-communities-rpc-runtime-api = { version = "~22.1.0", default-features = false } -# TODO @ggwpez pallet-encointer-democracy = { version = "~22.7.0", default-features = false } -# TODO @ggwpez pallet-encointer-faucet = { version = "~22.2.0", default-features = false } -# TODO @ggwpez pallet-encointer-offline-payment = { version = "~22.0.0", default-features = false } -# TODO @ggwpez pallet-encointer-reputation-commitments = { version = "~22.1.1", default-features = false } -# TODO @ggwpez pallet-encointer-reputation-rings = { version = "~22.0.0", default-features = false } -# TODO @ggwpez pallet-encointer-scheduler = { version = "~22.1.0", default-features = false } -# TODO @ggwpez pallet-encointer-treasuries = { version = "~22.7.0", default-features = false } -# TODO @ggwpez pallet-encointer-treasuries-rpc-runtime-api = { version = "~22.3.0", default-features = false } +pallet-encointer-balances = { version = "~22.3.0", default-features = false } +pallet-encointer-bazaar = { version = "~22.2.0", default-features = false } +pallet-encointer-bazaar-rpc-runtime-api = { version = "~22.2.0", default-features = false } +pallet-encointer-ceremonies = { version = "~22.2.0", default-features = false } +pallet-encointer-ceremonies-rpc-runtime-api = { version = "~22.2.0", default-features = false } +pallet-encointer-communities = { version = "~22.2.0", default-features = false } +pallet-encointer-communities-rpc-runtime-api = { version = "~22.2.0", default-features = false } +pallet-encointer-democracy = { version = "~22.8.0", default-features = false } +pallet-encointer-faucet = { version = "~22.3.0", default-features = false } +pallet-encointer-offline-payment = { version = "~22.1.0", default-features = false } +pallet-encointer-reputation-commitments = { version = "~22.2.0", default-features = false } +pallet-encointer-reputation-rings = { version = "~22.1.0", default-features = false } +pallet-encointer-scheduler = { version = "~22.2.0", default-features = false } +pallet-encointer-treasuries = { version = "~22.8.0", default-features = false } +pallet-encointer-treasuries-rpc-runtime-api = { version = "~22.4.0", default-features = false } pallet-fast-unstake = { version = "46.0.0", default-features = false } pallet-glutton = { version = "33.0.0", default-features = false } pallet-grandpa = { version = "47.0.0", default-features = false } @@ -301,7 +301,7 @@ members = [ "integration-tests/emulated/chains/parachains/collectives/collectives-polkadot", "integration-tests/emulated/chains/parachains/coretime/coretime-kusama", "integration-tests/emulated/chains/parachains/coretime/coretime-polkadot", - # TODO @ggwpez "integration-tests/emulated/chains/parachains/encointer/encointer-kusama", + "integration-tests/emulated/chains/parachains/encointer/encointer-kusama", "integration-tests/emulated/chains/parachains/people/people-kusama", "integration-tests/emulated/chains/parachains/people/people-polkadot", "integration-tests/emulated/chains/parachains/testing/penpal", @@ -319,7 +319,7 @@ members = [ "integration-tests/emulated/tests/collectives/collectives-polkadot", "integration-tests/emulated/tests/coretime/coretime-kusama", "integration-tests/emulated/tests/coretime/coretime-polkadot", - # TODO @ggwpez "integration-tests/emulated/tests/encointer/encointer-kusama", + "integration-tests/emulated/tests/encointer/encointer-kusama", "integration-tests/emulated/tests/governance/kusama", "integration-tests/emulated/tests/governance/polkadot", "integration-tests/emulated/tests/people/people-kusama", @@ -348,7 +348,7 @@ members = [ "system-parachains/constants", "system-parachains/coretime/coretime-kusama", "system-parachains/coretime/coretime-polkadot", - # TODO @ggwpez "system-parachains/encointer", + "system-parachains/encointer", "system-parachains/gluttons/glutton-kusama", "system-parachains/people/people-kusama", "system-parachains/people/people-polkadot", diff --git a/chain-spec-generator/Cargo.toml b/chain-spec-generator/Cargo.toml index d4b773c1ab..9aed552e44 100644 --- a/chain-spec-generator/Cargo.toml +++ b/chain-spec-generator/Cargo.toml @@ -23,7 +23,7 @@ bulletin-polkadot-runtime = { workspace = true, optional = true } collectives-polkadot-runtime = { workspace = true, optional = true } bridge-hub-polkadot-runtime = { workspace = true, optional = true } bridge-hub-kusama-runtime = { workspace = true, optional = true } -# TODO @ggwpez encointer-kusama-runtime = { workspace = true, optional = true } +encointer-kusama-runtime = { workspace = true, optional = true } glutton-kusama-runtime = { workspace = true, optional = true } coretime-kusama-runtime = { workspace = true, optional = true } coretime-polkadot-runtime = { workspace = true, optional = true } @@ -42,7 +42,7 @@ runtime-benchmarks = [ "collectives-polkadot-runtime?/runtime-benchmarks", "coretime-kusama-runtime?/runtime-benchmarks", "coretime-polkadot-runtime?/runtime-benchmarks", - # TODO @ggwpez "encointer-kusama-runtime?/runtime-benchmarks", + "encointer-kusama-runtime?/runtime-benchmarks", "glutton-kusama-runtime?/runtime-benchmarks", "kusama-runtime?/runtime-benchmarks", "people-kusama-runtime?/runtime-benchmarks", @@ -59,7 +59,7 @@ on-chain-release-build = [ "collectives-polkadot-runtime?/on-chain-release-build", "coretime-kusama-runtime?/on-chain-release-build", "coretime-polkadot-runtime?/on-chain-release-build", - # TODO @ggwpez "encointer-kusama-runtime?/on-chain-release-build", + "encointer-kusama-runtime?/on-chain-release-build", "glutton-kusama-runtime?/on-chain-release-build", "kusama-runtime?/on-chain-release-build", "people-kusama-runtime?/on-chain-release-build", @@ -78,7 +78,7 @@ collectives-polkadot = ["collectives-polkadot-runtime"] bridge-hub-polkadot = ["bridge-hub-polkadot-runtime"] bridge-hub-kusama = ["bridge-hub-kusama-runtime"] bulletin-polkadot = ["bulletin-polkadot-runtime"] -# TODO @ggwpez encointer-kusama = ["encointer-kusama-runtime"] +encointer-kusama = ["encointer-kusama-runtime"] glutton-kusama = ["glutton-kusama-runtime"] coretime-kusama = ["coretime-kusama-runtime"] coretime-polkadot = ["coretime-polkadot-runtime"] @@ -98,7 +98,7 @@ all-kusama = [ "asset-hub-kusama", "bridge-hub-kusama", "coretime-kusama", - # TODO @ggwpez "encointer-kusama", + "encointer-kusama", "glutton-kusama", "kusama", "people-kusama", diff --git a/chain-spec-generator/src/common.rs b/chain-spec-generator/src/common.rs index 6ab96e3f15..ccd75bf2e3 100644 --- a/chain-spec-generator/src/common.rs +++ b/chain-spec-generator/src/common.rs @@ -18,17 +18,10 @@ use crate::{ relay_chain_specs::{KusamaChainSpec, PolkadotChainSpec}, system_parachains_specs::{ - AssetHubKusamaChainSpec, - AssetHubPolkadotChainSpec, - BridgeHubKusamaChainSpec, - BridgeHubPolkadotChainSpec, - CollectivesPolkadotChainSpec, - CoretimeKusamaChainSpec, - CoretimePolkadotChainSpec, - GluttonKusamaChainSpec, - // TODO @ggwpez EncointerKusamaChainSpec, - PeopleKusamaChainSpec, - PeoplePolkadotChainSpec, + AssetHubKusamaChainSpec, AssetHubPolkadotChainSpec, BridgeHubKusamaChainSpec, + BridgeHubPolkadotChainSpec, CollectivesPolkadotChainSpec, CoretimeKusamaChainSpec, + CoretimePolkadotChainSpec, EncointerKusamaChainSpec, GluttonKusamaChainSpec, + PeopleKusamaChainSpec, PeoplePolkadotChainSpec, }, ChainSpec, }; @@ -65,8 +58,8 @@ pub fn from_json_file(filepath: &str, supported: String) -> Result Ok(Box::new(GluttonKusamaChainSpec::from_json_file(path)?)), - /* TODO @ggwpez x if x.starts_with("encointer-kusama") => - Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), */ + x if x.starts_with("encointer-kusama") => + Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), x if x.starts_with("people-kusama") => Ok(Box::new(PeopleKusamaChainSpec::from_json_file(path)?)), x if x.starts_with("people-polkadot") => diff --git a/chain-spec-generator/src/main.rs b/chain-spec-generator/src/main.rs index 7b91bb76da..e2dd3aee7d 100644 --- a/chain-spec-generator/src/main.rs +++ b/chain-spec-generator/src/main.rs @@ -82,11 +82,11 @@ fn main() -> Result<(), String> { "glutton-kusama-local", Box::new(system_parachains_specs::glutton_kusama_local_testnet_config) as Box<_>, ), - /* TODO @ggwpez #[cfg(feature = "encointer-kusama")] + #[cfg(feature = "encointer-kusama")] ( "encointer-kusama-local", Box::new(system_parachains_specs::encointer_kusama_local_testnet_config) as Box<_>, - ), */ + ), #[cfg(feature = "coretime-kusama")] ( "coretime-kusama", diff --git a/chain-spec-generator/src/system_parachains_specs.rs b/chain-spec-generator/src/system_parachains_specs.rs index 3f7b8ac88a..d9ca1dd9ee 100644 --- a/chain-spec-generator/src/system_parachains_specs.rs +++ b/chain-spec-generator/src/system_parachains_specs.rs @@ -40,7 +40,7 @@ pub type BridgeHubKusamaChainSpec = sc_chain_spec::GenericChainSpec; pub type GluttonKusamaChainSpec = sc_chain_spec::GenericChainSpec; -// TODO @ggwpez pub type EncointerKusamaChainSpec = sc_chain_spec::GenericChainSpec; +pub type EncointerKusamaChainSpec = sc_chain_spec::GenericChainSpec; pub type CoretimeKusamaChainSpec = sc_chain_spec::GenericChainSpec; @@ -183,7 +183,7 @@ pub fn glutton_kusama_local_testnet_config() -> Result Result, String> { let mut properties = sc_chain_spec::Properties::new(); @@ -203,7 +203,7 @@ pub fn encointer_kusama_local_testnet_config() -> Result Result, String> { diff --git a/integration-tests/emulated/networks/kusama-system/Cargo.toml b/integration-tests/emulated/networks/kusama-system/Cargo.toml index ed3f73ef6a..fc91409e4a 100644 --- a/integration-tests/emulated/networks/kusama-system/Cargo.toml +++ b/integration-tests/emulated/networks/kusama-system/Cargo.toml @@ -15,7 +15,7 @@ emulated-integration-tests-common = { workspace = true } # Runtimes asset-hub-kusama-emulated-chain = { workspace = true } bridge-hub-kusama-emulated-chain = { workspace = true } -# TODO @ggwpez encointer-kusama-emulated-chain = { workspace = true } +encointer-kusama-emulated-chain = { workspace = true } kusama-emulated-chain = { workspace = true } penpal-emulated-chain = { workspace = true } people-kusama-emulated-chain = { workspace = true } @@ -26,7 +26,7 @@ runtime-benchmarks = [ "asset-hub-kusama-emulated-chain/runtime-benchmarks", "bridge-hub-kusama-emulated-chain/runtime-benchmarks", "coretime-kusama-emulated-chain/runtime-benchmarks", - # TODO @ggwpez "encointer-kusama-emulated-chain/runtime-benchmarks", + "encointer-kusama-emulated-chain/runtime-benchmarks", "kusama-emulated-chain/runtime-benchmarks", "penpal-emulated-chain/runtime-benchmarks", "people-kusama-emulated-chain/runtime-benchmarks", diff --git a/integration-tests/emulated/networks/kusama-system/src/lib.rs b/integration-tests/emulated/networks/kusama-system/src/lib.rs index d374987e51..abec950ac6 100644 --- a/integration-tests/emulated/networks/kusama-system/src/lib.rs +++ b/integration-tests/emulated/networks/kusama-system/src/lib.rs @@ -16,7 +16,7 @@ pub use asset_hub_kusama_emulated_chain; pub use bridge_hub_kusama_emulated_chain; pub use coretime_kusama_emulated_chain; -// TODO @ggwpez pub use encointer_kusama_emulated_chain; +pub use encointer_kusama_emulated_chain; pub use kusama_emulated_chain; pub use penpal_emulated_chain; pub use people_kusama_emulated_chain; @@ -24,7 +24,7 @@ pub use people_kusama_emulated_chain; use asset_hub_kusama_emulated_chain::AssetHubKusama; use bridge_hub_kusama_emulated_chain::BridgeHubKusama; use coretime_kusama_emulated_chain::CoretimeKusama; -// TODO @ggwpez use encointer_kusama_emulated_chain::EncointerKusama; +use encointer_kusama_emulated_chain::EncointerKusama; use kusama_emulated_chain::Kusama; use penpal_emulated_chain::{PenpalA, PenpalB}; use people_kusama_emulated_chain::PeopleKusama; @@ -45,7 +45,7 @@ decl_test_networks! { PenpalB, PeopleKusama, CoretimeKusama, - // TODO @ggwpez EncointerKusama, + EncointerKusama, ], bridge = () }, @@ -58,6 +58,6 @@ decl_test_sender_receiver_accounts_parameter_types! { PenpalAPara { sender: ALICE, receiver: BOB }, PenpalBPara { sender: ALICE, receiver: BOB }, PeopleKusamaPara { sender: ALICE, receiver: BOB }, - CoretimeKusamaPara { sender: ALICE, receiver: BOB } - // TODO @ggwpez EncointerKusamaPara { sender: ALICE, receiver: BOB } + CoretimeKusamaPara { sender: ALICE, receiver: BOB }, + EncointerKusamaPara { sender: ALICE, receiver: BOB } } From 18017b563c2f6171415b6cfd4a354a80e0738c19 Mon Sep 17 00:00:00 2001 From: clangenb <37865735+clangenb@users.noreply.github.com> Date: Wed, 6 May 2026 12:46:17 +0200 Subject: [PATCH 29/59] integrate Penpal Asset changes (#1167) Integrated all integration test changes coming from upstream. Closes #1125. The PR fixes almost all tests, the rest is unrelated as far as I can tell. The changes are 100% identical to the polkadot-sdk integration test changes when the feature was introduced - no surprises found. Hence, I think it is safe to merge this PR as is into the release preparation branch. However, tagging @acatangiu, @franciscoaguirre here so that they can take a look at the isolated changes if they want too. --------- Co-authored-by: Christian Langenbacher --- .../parachains/testing/penpal/src/lib.rs | 10 +- integration-tests/emulated/helpers/src/lib.rs | 18 ++ .../tests/assets/asset-hub-kusama/src/lib.rs | 15 +- .../src/tests/exchange_asset.rs | 7 +- .../src/tests/foreign_assets.rs | 69 +++--- .../src/tests/hybrid_transfers.rs | 128 ++++------- .../assets/asset-hub-kusama/src/tests/mod.rs | 6 +- .../src/tests/reserve_transfer.rs | 207 +++++++----------- .../assets/asset-hub-kusama/src/tests/swap.rs | 4 +- .../asset-hub-kusama/src/tests/teleport.rs | 96 +++----- .../asset-hub-kusama/src/tests/transact.rs | 48 ++-- .../src/tests/xcm_fee_estimation.rs | 119 +++++----- .../assets/asset-hub-polkadot/src/lib.rs | 15 +- .../src/tests/exchange_asset.rs | 7 +- .../src/tests/foreign_assets.rs | 67 +++--- .../src/tests/hybrid_transfers.rs | 129 ++++------- .../asset-hub-polkadot/src/tests/mod.rs | 6 +- .../src/tests/reserve_transfer.rs | 207 +++++++----------- .../asset-hub-polkadot/src/tests/swap.rs | 4 +- .../asset-hub-polkadot/src/tests/teleport.rs | 97 +++----- .../asset-hub-polkadot/src/tests/transact.rs | 48 ++-- .../src/tests/xcm_fee_estimation.rs | 128 ++++++----- .../bridges/bridge-hub-kusama/src/lib.rs | 1 + .../src/tests/asset_transfers.rs | 24 +- .../bridges/bridge-hub-polkadot/src/lib.rs | 6 +- .../bridge-hub-polkadot/src/tests/aliases.rs | 12 +- .../src/tests/asset_transfers.rs | 124 ++++------- .../src/tests/snowbridge.rs | 6 +- .../src/tests/snowbridge_common.rs | 40 ++-- .../src/tests/snowbridge_v2_inbound.rs | 4 +- .../src/tests/snowbridge_v2_outbound.rs | 5 +- 31 files changed, 713 insertions(+), 944 deletions(-) diff --git a/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs b/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs index ea63b892b1..91d9390411 100644 --- a/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs +++ b/integration-tests/emulated/chains/parachains/testing/penpal/src/lib.rs @@ -18,10 +18,10 @@ pub use genesis::{genesis, PenpalAssetOwner, ED, PARA_ID_A, PARA_ID_B}; pub use penpal_runtime::{ self, xcm_config::{ - CustomizableAssetFromSystemAssetHub, LocalReservableFromAssetHub, - LocalTeleportableToAssetHub, RelayNetworkId as PenpalRelayNetworkId, XcmConfig, - ASSET_HUB_ASSETS_PALLET_ID as ASSETS_PALLET_ID, - PEN2_TELEPORTABLE_GENERAL_INDEX as TELEPORTABLE_ASSET_ID, RESERVABLE_ASSET_ID, + CustomizableAssetFromSystemAssetHub, LocalPen2Asset, LocalReservableFromAssetHub, + LocalTeleportableToAssetHub, PenpalNativeCurrency, RelayNetworkId as PenpalRelayNetworkId, + XcmConfig, ASSET_HUB_ASSETS_PALLET_ID, PEN2_TELEPORTABLE_GENERAL_INDEX, + PENPAL_ASSETS_PALLET_ID, RESERVABLE_ASSET_ID, }, }; @@ -58,7 +58,6 @@ decl_test_parachains! { pallets = { PolkadotXcm: penpal_runtime::PolkadotXcm, Assets: penpal_runtime::Assets, - ForeignAssets: penpal_runtime::Assets, AssetConversion: penpal_runtime::AssetConversion, Balances: penpal_runtime::Balances, } @@ -82,7 +81,6 @@ decl_test_parachains! { pallets = { PolkadotXcm: penpal_runtime::PolkadotXcm, Assets: penpal_runtime::Assets, - ForeignAssets: penpal_runtime::Assets, AssetConversion: penpal_runtime::AssetConversion, Balances: penpal_runtime::Balances, } diff --git a/integration-tests/emulated/helpers/src/lib.rs b/integration-tests/emulated/helpers/src/lib.rs index b59fce7193..faf0094156 100644 --- a/integration-tests/emulated/helpers/src/lib.rs +++ b/integration-tests/emulated/helpers/src/lib.rs @@ -30,3 +30,21 @@ pub use emulated_integration_tests_common::*; pub use xcm_emulator::Chain; pub mod common; + +/// Read the balance of an `Assets`-pallet asset on a chain. +/// +/// Centralised here so the asset-hub-{kusama,polkadot} and bridge-hub-{kusama,polkadot} +/// test crates share one definition. The polkadot-sdk emulated tests define the same +/// macro per-test-crate (it is not exported from `emulated-integration-tests-common`), +/// so we cannot pull it from upstream and instead host it here. +#[macro_export] +macro_rules! assets_balance_on { + ( $chain:ident, $id:expr, $who:expr ) => { + $crate::paste::paste! { + <$chain>::execute_with(|| { + type Assets = <$chain as [<$chain Pallet>]>::Assets; + >::balance($id, $who) + }) + } + }; +} 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 index 18a4872108..5e9dd0c1a4 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/lib.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/lib.rs @@ -37,7 +37,8 @@ pub use xcm_executor::traits::TransferType; pub use asset_hub_kusama_runtime::xcm_config::{KsmLocation, XcmConfig as AssetHubKusamaXcmConfig}; pub use asset_test_utils::xcm_helpers; pub use emulated_integration_tests_common::{ - test_parachain_is_trusted_teleporter, + create_foreign_pool_with_native_on, create_foreign_pool_with_parent_native_on, + local_penpal_asset, test_parachain_is_trusted_teleporter, xcm_emulator::{ assert_expected_events, bx, helpers::weight_within_threshold, Chain, Parachain as Para, RelayChain as Relay, Test, TestArgs, TestContext, TestExt, @@ -46,7 +47,8 @@ pub use emulated_integration_tests_common::{ PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, RESERVABLE_ASSET_ID, XCM_V5, }; pub use integration_tests_helpers::{ - test_parachain_is_trusted_teleporter_for_relay, test_relay_is_trusted_teleporter, + assets_balance_on, test_parachain_is_trusted_teleporter_for_relay, + test_relay_is_trusted_teleporter, }; pub use kusama_runtime::{xcm_config::UniversalLocation as KusamaUniversalLocation, Dmp}; pub use kusama_system_emulated_network::{ @@ -59,6 +61,7 @@ pub use kusama_system_emulated_network::{ kusama_emulated_chain::{genesis::ED as KUSAMA_ED, KusamaRelayPallet as KusamaPallet}, penpal_emulated_chain::{ penpal_runtime::xcm_config::{ + LocalPen2Asset as PenpalLocalPen2Asset, LocalReservableFromAssetHub as PenpalLocalReservableFromAssetHub, LocalTeleportableToAssetHub as PenpalLocalTeleportableToAssetHub, UniversalLocation as PenpalUniversalLocation, @@ -88,10 +91,10 @@ pub type RelayToSystemParaTest = Test; pub type RelayToParaTest = Test; pub type ParaToRelayTest = Test; pub type SystemParaToRelayTest = Test; -pub type SystemParaToParaTest = Test; -pub type ParaToSystemParaTest = Test; -pub type ParaToParaThroughRelayTest = Test; -pub type ParaToParaThroughAHTest = Test; +pub type SystemParaToParaTest = Test>; +pub type ParaToSystemParaTest = Test>; +pub type ParaToParaThroughRelayTest = Test>; +pub type ParaToParaThroughAHTest = Test>; pub type RelayToParaThroughAHTest = Test; pub type PenpalToRelayThroughAHTest = Test; diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/exchange_asset.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/exchange_asset.rs index 154339350f..d06de2406b 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/exchange_asset.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/exchange_asset.rs @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{assets_balance_on, create_pool_with_ksm_on, foreign_balance_on, *}; +use crate::{assets_balance_on, create_pool_with_ksm_on, *}; use asset_hub_kusama_runtime::{ xcm_config::KsmLocation, Balances, ExistentialDeposit, ForeignAssets, PolkadotXcm, RuntimeOrigin, @@ -172,7 +172,7 @@ fn exchange_asset_from_penpal_via_asset_hub_back_to_penpal() { ); let sender_usdt_on_penpal_before = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); let sender_usdt_on_ah_before = assets_balance_on!(AssetHubKusama, USDT_ID, &sender); let asset_hub_location_penpal_pov = PenpalA::sibling_location_of(AssetHubKusama::para_id()); @@ -268,8 +268,7 @@ fn exchange_asset_from_penpal_via_asset_hub_back_to_penpal() { }); let sender_usdt_on_ah_after = assets_balance_on!(AssetHubKusama, USDT_ID, &sender); - let sender_usdt_on_penpal_after = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + let sender_usdt_on_penpal_after = assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); assert_eq!( sender_usdt_on_penpal_after, diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/foreign_assets.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/foreign_assets.rs index 1297ed2363..68c9fabf48 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/foreign_assets.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/foreign_assets.rs @@ -13,7 +13,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{tests::send::penpal_register_foreign_asset_on_asset_hub, *}; +use crate::{ + asset_exists_on, assets_balance_on, tests::send::penpal_register_foreign_asset_on_asset_hub, *, +}; use xcm::latest::AssetTransferFilter; // Registers a new asset on Penpal, then registers it over XCM as foreign asset on Asset Hub. @@ -22,44 +24,34 @@ use xcm::latest::AssetTransferFilter; // between Penpal and AH. pub fn set_up_foreign_asset( sender: sp_runtime::AccountId32, - asset_id_on_penpal: u32, + asset_location_on_penpal: Location, asset_amount_to_send: u128, teleportable: bool, ) -> (Location, Location) { let asset_owner = PenpalAssetOwner::get(); - let to_fund = asset_amount_to_send * 2; // Give the sender enough native - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(asset_owner.clone()), - KsmLocation::get(), - sender.clone(), - to_fund, - ); + PenpalA::fund_accounts(vec![(sender.clone(), asset_amount_to_send)]); // Create the asset on Penpal - PenpalA::force_create_asset( - asset_id_on_penpal, + let to_fund = asset_amount_to_send * 2; + PenpalA::force_create_foreign_asset( + asset_location_on_penpal.clone(), asset_owner.clone(), true, ASSET_MIN_BALANCE, vec![(sender.clone(), to_fund)], ); - PenpalA::execute_with(|| { - type Assets = ::Assets; - assert!(Assets::asset_exists(asset_id_on_penpal)); - }); - let asset_location_on_penpal = Location::new( - 0, - [ - Junction::PalletInstance(ASSETS_PALLET_ID), - Junction::GeneralIndex(asset_id_on_penpal.into()), - ], - ); + + asset_exists_on!(PenpalA, asset_location_on_penpal.clone()); // Setup a pool on Penpal between native asset and newly created asset, so we can pay fees using // new asset directly. - create_pool_with_ksm_on!(PenpalA, asset_location_on_penpal.clone(), false, asset_owner.clone()); + create_foreign_pool_with_native_on!( + PenpalA, + asset_location_on_penpal.clone(), + asset_owner.clone() + ); // Register asset on Asset Hub using XCM let penpal_sovereign_account = AssetHubKusama::sovereign_account_id_of( @@ -73,10 +65,9 @@ pub fn set_up_foreign_asset( // Setup a pool on Asset Hub between native asset and newly created asset, so we can pay fees // using new asset directly. - create_pool_with_ksm_on!( + create_foreign_pool_with_parent_native_on!( AssetHubKusama, foreign_asset_at_asset_hub.clone(), - true, penpal_sovereign_account.clone() ); @@ -146,16 +137,16 @@ pub fn penpal_set_foreign_asset_reserves_on_asset_hub( fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { let sender = PenpalASender::get(); let receiver = AssetHubKusamaReceiver::get(); - let new_asset_id = 42; + let new_asset_id = local_penpal_asset(42); let asset_amount_to_send = ASSET_HUB_KUSAMA_ED * 10_000; let (asset_location_on_penpal, foreign_asset_location_on_ah) = - set_up_foreign_asset(sender.clone(), new_asset_id, asset_amount_to_send, true); + set_up_foreign_asset(sender.clone(), new_asset_id.clone(), asset_amount_to_send, true); //////////////////////////////// // Teleport it from Penpal to AH //////////////////////////////// - let penpal_sender_balance_before = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_sender_balance_before = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let ah_receiver_balance_before = foreign_balance_on!(AssetHubKusama, foreign_asset_location_on_ah.clone(), &receiver); @@ -192,7 +183,7 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { .unwrap(); }); - let penpal_sender_balance_after = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_sender_balance_after = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let ah_receiver_balance_after = foreign_balance_on!(AssetHubKusama, foreign_asset_location_on_ah.clone(), &receiver); @@ -243,7 +234,7 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { let asset_amount_to_send = ah_receiver_balance_after; let ah_sender_balance_before = foreign_balance_on!(AssetHubKusama, foreign_asset_location_on_ah.clone(), &receiver); - let penpal_receiver_balance_before = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_receiver_balance_before = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let dest = AssetHubKusama::sibling_location_of(PenpalA::para_id()); // execute xcm from asset hub to penpal @@ -300,7 +291,7 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { let ah_sender_balance_after = foreign_balance_on!(AssetHubKusama, foreign_asset_location_on_ah, &receiver); - let penpal_receiver_balance_after = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_receiver_balance_after = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); assert!(ah_sender_balance_after < ah_sender_balance_before); assert!(penpal_receiver_balance_after > penpal_receiver_balance_before); @@ -316,16 +307,16 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { let sender = PenpalASender::get(); let receiver = AssetHubKusamaReceiver::get(); - let new_asset_id = 42; + let new_asset_id = local_penpal_asset(42); let asset_amount_to_send = ASSET_HUB_KUSAMA_ED * 10_000; let (asset_location_on_penpal, foreign_asset_location_on_ah) = - set_up_foreign_asset(sender.clone(), new_asset_id, asset_amount_to_send, false); + set_up_foreign_asset(sender.clone(), new_asset_id.clone(), asset_amount_to_send, false); //////////////////////////////////////// // Reserve-transfer it from Penpal to AH //////////////////////////////////////// - let penpal_sender_balance_before = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_sender_balance_before = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let ah_receiver_balance_before = foreign_balance_on!(AssetHubKusama, foreign_asset_location_on_ah.clone(), &receiver); @@ -381,7 +372,7 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { )); }); - let penpal_sender_balance_after = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_sender_balance_after = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let ah_receiver_balance_after = foreign_balance_on!(AssetHubKusama, foreign_asset_location_on_ah.clone(), &receiver); @@ -395,7 +386,7 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { let asset_amount_to_send = ah_receiver_balance_after; let ah_sender_balance_before = foreign_balance_on!(AssetHubKusama, foreign_asset_location_on_ah.clone(), &receiver); - let penpal_receiver_balance_before = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_receiver_balance_before = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let dest = AssetHubKusama::sibling_location_of(PenpalA::para_id()); // execute xcm from asset hub to penpal @@ -451,7 +442,7 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { let ah_sender_balance_after = foreign_balance_on!(AssetHubKusama, foreign_asset_location_on_ah, &receiver); - let penpal_receiver_balance_after = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_receiver_balance_after = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); assert!(ah_sender_balance_after < ah_sender_balance_before); assert!(penpal_receiver_balance_after > penpal_receiver_balance_before); @@ -462,10 +453,10 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { #[test] fn verify_foreign_asset_origin_checks() { let sender = PenpalASender::get(); - let new_asset_id = 42; + let new_asset_id = local_penpal_asset(42); let asset_amount_to_send = ASSET_HUB_KUSAMA_ED * 10_000; let (_, foreign_asset_location_on_ah) = - set_up_foreign_asset(sender.clone(), new_asset_id, asset_amount_to_send, false); + set_up_foreign_asset(sender.clone(), new_asset_id.clone(), asset_amount_to_send, false); let penpal_sovereign = AssetHubKusama::sovereign_account_id_of( AssetHubKusama::sibling_location_of(PenpalA::para_id()), diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/hybrid_transfers.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/hybrid_transfers.rs index c9ccf7e538..bd0532bd3d 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/hybrid_transfers.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/hybrid_transfers.rs @@ -15,7 +15,7 @@ use super::reserve_transfer::*; use crate::{ - foreign_balance_on, + assets_balance_on, tests::teleport::do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using_xt, *, }; @@ -228,14 +228,10 @@ fn transfer_foreign_assets_from_asset_hub_to_para() { type ForeignAssets = ::ForeignAssets; >::balance(dot_at_kusama_parachains.clone(), &sender) }); - let receiver_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location.clone(), &receiver) - }); - let receiver_dots_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains.clone(), &receiver) - }); + let receiver_assets_before = + assets_balance_on!(PenpalA, native_asset_location.clone(), &receiver); + let receiver_dots_before = + assets_balance_on!(PenpalA, dot_at_kusama_parachains.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(system_para_to_para_sender_assertions); @@ -249,14 +245,8 @@ fn transfer_foreign_assets_from_asset_hub_to_para() { type ForeignAssets = ::ForeignAssets; >::balance(dot_at_kusama_parachains.clone(), &sender) }); - let receiver_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location, &receiver) - }); - let receiver_dots_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains, &receiver) - }); + let receiver_assets_after = assets_balance_on!(PenpalA, native_asset_location, &receiver); + let receiver_dots_after = assets_balance_on!(PenpalA, dot_at_kusama_parachains, &receiver); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_balance_after < sender_balance_before - native_amount_to_send); @@ -369,14 +359,9 @@ fn transfer_foreign_assets_from_para_to_asset_hub() { let mut test = ParaToSystemParaTest::new(test_args); // Query initial balances - let sender_native_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location.clone(), &sender) - }); - let sender_dots_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains_latest.clone(), &sender) - }); + let sender_native_before = assets_balance_on!(PenpalA, native_asset_location.clone(), &sender); + let sender_dots_before = + assets_balance_on!(PenpalA, dot_at_kusama_parachains_latest.clone(), &sender); let receiver_native_before = test.receiver.balance; let receiver_dots_before = AssetHubKusama::execute_with(|| { type ForeignAssets = ::ForeignAssets; @@ -390,22 +375,17 @@ fn transfer_foreign_assets_from_para_to_asset_hub() { test.assert(); // Query final balances - let sender_native_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location, &sender) - }); - let sender_dots_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains_latest.clone(), &sender) - }); + let sender_native_after = assets_balance_on!(PenpalA, native_asset_location, &sender); + let sender_dots_after = + assets_balance_on!(PenpalA, dot_at_kusama_parachains_latest.clone(), &sender); let receiver_native_after = test.receiver.balance; let receiver_dots_after = AssetHubKusama::execute_with(|| { type ForeignAssets = ::ForeignAssets; >::balance(dot_at_kusama_parachains, &receiver) }); - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_native_after < sender_native_before - native_amount_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_native_after, sender_native_before - native_amount_to_send); // Sender's balance is reduced by foreign amount sent assert_eq!(sender_dots_after, sender_dots_before - foreign_amount_to_send); // Receiver's balance is increased @@ -531,14 +511,9 @@ fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { let mut test = ParaToParaThroughAHTest::new(test_args); // Query initial balances - let sender_ksms_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_location.clone(), &sender) - }); - let sender_dots_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains_latest.clone(), &sender) - }); + let sender_ksms_before = assets_balance_on!(PenpalA, ksm_location.clone(), &sender); + let sender_dots_before = + assets_balance_on!(PenpalA, dot_at_kusama_parachains_latest.clone(), &sender); let ksms_in_sender_reserve_on_ahk_before = ::account_data_of(sov_of_sender_on_ah.clone()).free; let dots_in_sender_reserve_on_ahk_before = AssetHubKusama::execute_with(|| { @@ -551,14 +526,9 @@ fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { type Assets = ::ForeignAssets; >::balance(dot_at_kusama_parachains.clone(), &sov_of_receiver_on_ah) }); - let receiver_ksms_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_location.clone(), &receiver) - }); - let receiver_dots_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains_latest.clone(), &receiver) - }); + let receiver_ksms_before = assets_balance_on!(PenpalB, ksm_location.clone(), &receiver); + let receiver_dots_before = + assets_balance_on!(PenpalB, dot_at_kusama_parachains_latest.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(para_to_para_through_hop_sender_assertions); @@ -568,14 +538,9 @@ fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { test.assert(); // Query final balances - let sender_ksms_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_location.clone(), &sender) - }); - let sender_dots_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains_latest.clone(), &sender) - }); + let sender_ksms_after = assets_balance_on!(PenpalA, ksm_location.clone(), &sender); + let sender_dots_after = + assets_balance_on!(PenpalA, dot_at_kusama_parachains_latest.clone(), &sender); let dots_in_sender_reserve_on_ahk_after = AssetHubKusama::execute_with(|| { type Assets = ::ForeignAssets; >::balance(dot_at_kusama_parachains.clone(), &sov_of_sender_on_ah) @@ -588,17 +553,12 @@ fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { }); let ksms_in_receiver_reserve_on_ahk_after = ::account_data_of(sov_of_receiver_on_ah).free; - let receiver_ksms_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_location, &receiver) - }); - let receiver_dots_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains_latest, &receiver) - }); + let receiver_ksms_after = assets_balance_on!(PenpalB, ksm_location, &receiver); + let receiver_dots_after = + assets_balance_on!(PenpalB, dot_at_kusama_parachains_latest, &receiver); - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_ksms_after < sender_ksms_before - ksm_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_ksms_after, sender_ksms_before - ksm_to_send); assert_eq!(sender_dots_after, sender_dots_before - dot_to_send); // Sovereign accounts on reserve are changed accordingly assert_eq!( @@ -690,14 +650,14 @@ fn usdt_only_transfer_from_para_to_para_through_asset_hub() { // PenpalB has a pool between USDT and ksm so fees can be paid with USDT by automatically // swapping them for ksm. - create_pool_with_ksm_on!(PenpalB, usdt_location.clone(), true, PenpalAssetOwner::get()); + create_foreign_pool_with_native_on!(PenpalB, usdt_location.clone(), PenpalAssetOwner::get()); // Sender starts with a lot of USDT. - let sender_balance_before = foreign_balance_on!(PenpalA, usdt_location.clone(), &sender); + let sender_balance_before = assets_balance_on!(PenpalA, usdt_location.clone(), &sender); assert_eq!(sender_balance_before, 10_000_000_000_000); // Receiver has no USDT. - let receiver_balance_before = foreign_balance_on!(PenpalB, usdt_location.clone(), &receiver); + let receiver_balance_before = assets_balance_on!(PenpalB, usdt_location.clone(), &receiver); assert_eq!(receiver_balance_before, 0); let test_args = TestContext { @@ -725,7 +685,7 @@ fn usdt_only_transfer_from_para_to_para_through_asset_hub() { assert_expected_events!( PenpalA, vec![ - Event::ForeignAssets( + Event::Assets( pallet_assets::Event::Withdrawn { asset_id, amount, .. } ) => { asset_id: *asset_id == usdt_location.clone(), @@ -776,7 +736,7 @@ fn usdt_only_transfer_from_para_to_para_through_asset_hub() { PenpalB, vec![ // Final amount gets deposited to receiver. - Event::ForeignAssets( + Event::Assets( pallet_assets::Event::Deposited { asset_id, who, .. } ) => { asset_id: *asset_id == usdt_location, @@ -798,11 +758,11 @@ fn usdt_only_transfer_from_para_to_para_through_asset_hub() { test.assert(); // Sender has less USDT after the transfer. - let sender_balance_after = foreign_balance_on!(PenpalA, usdt_location.clone(), &sender); + let sender_balance_after = assets_balance_on!(PenpalA, usdt_location.clone(), &sender); assert_eq!(sender_balance_after, 9_000_000_000_000); // Receiver gets `transfer_amount` minus fees. - let receiver_balance_after = foreign_balance_on!(PenpalB, usdt_location.clone(), &receiver); + let receiver_balance_after = assets_balance_on!(PenpalB, usdt_location.clone(), &receiver); assert!(receiver_balance_after > receiver_balance_before); } @@ -861,10 +821,8 @@ fn transfer_native_asset_from_penpal_to_relay_through_asset_hub() { AssetHubKusama::fund_accounts(vec![(sov_penpal_on_ah.clone(), amount_to_send * 2)]); // Query initial balances - let sender_balance_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); + let sender_balance_before = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); let sov_penpal_on_ah_before = AssetHubKusama::execute_with(|| { ::Balances::free_balance(sov_penpal_on_ah.clone()) }); @@ -917,18 +875,16 @@ fn transfer_native_asset_from_penpal_to_relay_through_asset_hub() { test.assert(); // Query final balances - let sender_balance_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); + let sender_balance_after = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); let sov_penpal_on_ah_after = AssetHubKusama::execute_with(|| { ::Balances::free_balance(sov_penpal_on_ah.clone()) }); let receiver_balance_after = Kusama::execute_with(|| ::Balances::free_balance(receiver.clone())); - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_balance_after < sender_balance_before - amount_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_balance_after, sender_balance_before - amount_to_send); // Sovereign account on AH is reduced by amount sent assert_eq!(sov_penpal_on_ah_after, sov_penpal_on_ah_before - amount_to_send); // Receiver's balance is increased diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/mod.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/mod.rs index a65c4c3e6d..15d66069de 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/mod.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/mod.rs @@ -42,12 +42,12 @@ macro_rules! foreign_balance_on { } #[macro_export] -macro_rules! assets_balance_on { - ( $chain:ident, $id:expr, $who:expr ) => { +macro_rules! asset_exists_on { + ( $chain:ident, $id:expr ) => { emulated_integration_tests_common::impls::paste::paste! { <$chain>::execute_with(|| { type Assets = <$chain as [<$chain Pallet>]>::Assets; - >::balance($id, $who) + >::asset_exists($id) }) } }; diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/reserve_transfer.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/reserve_transfer.rs index 7cc691d223..ba64b50885 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/reserve_transfer.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/reserve_transfer.rs @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::*; +use crate::{assets_balance_on, *}; use emulated_integration_tests_common::xcm_helpers::fee_asset; use kusama_system_emulated_network::{ kusama_emulated_chain::kusama_runtime::Dmp, @@ -48,7 +48,7 @@ fn para_to_relay_sender_assertions(t: ParaToRelayTest) { PenpalA, vec![ // Amount to reserve transfer is transferred to Parachain's Sovereign account - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, amount, .. } ) => { asset_id: *asset_id == KsmLocation::get(), @@ -96,7 +96,7 @@ pub fn system_para_to_para_receiver_assertions(t: SystemParaToParaTest) { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == relative_id, who: *who == t.receiver.account_id, }, @@ -111,7 +111,7 @@ fn relay_to_para_assets_receiver_assertions(t: RelayToParaTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == KsmLocation::get(), who: *who == t.receiver.account_id, }, @@ -156,7 +156,7 @@ pub fn para_to_system_para_sender_assertions(t: ParaToSystemParaTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, amount } ) => { asset_id: *asset_id == expected_id, @@ -222,14 +222,14 @@ fn para_to_system_para_assets_sender_assertions(t: ParaToSystemParaTest) { PenpalA, vec![ // Fees amount to reserve transfer is burned from Parachains's sender account - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, .. } ) => { asset_id: *asset_id == system_para_native_asset_location, who: *who == t.sender.account_id, }, // Amount to reserve transfer is burned from Parachains's sender account - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, amount } ) => { asset_id: *asset_id == reservable_asset_location, @@ -252,11 +252,11 @@ fn system_para_to_para_assets_receiver_assertions(t: SystemParaToParaTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == KsmLocation::get(), who: *who == t.receiver.account_id, }, - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, amount }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, amount }) => { asset_id: *asset_id == system_para_asset_location, who: *who == t.receiver.account_id, amount: *amount == t.args.amount, @@ -300,7 +300,9 @@ fn para_to_system_para_assets_receiver_assertions(t: ParaToSystemParaTest) { ); } -pub fn para_to_para_through_hop_sender_assertions(t: Test) { +pub fn para_to_para_through_hop_sender_assertions( + t: Test>, +) { type RuntimeEvent = ::RuntimeEvent; PenpalA::assert_xcm_pallet_attempted_complete(None); @@ -311,7 +313,7 @@ pub fn para_to_para_through_hop_sender_assertions(t: Test { asset_id: *asset_id == expected_id, @@ -352,7 +354,9 @@ fn para_to_para_relay_hop_assertions(t: ParaToParaThroughRelayTest) { ); } -pub fn para_to_para_through_hop_receiver_assertions(t: Test) { +pub fn para_to_para_through_hop_receiver_assertions( + t: Test>, +) { type RuntimeEvent = ::RuntimeEvent; PenpalB::assert_xcmp_queue_success(None); @@ -361,7 +365,7 @@ pub fn para_to_para_through_hop_receiver_assertions(t: Test { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == expected_id, who: *who == t.receiver.account_id, }, @@ -613,10 +617,8 @@ fn reserve_transfer_ksm_from_relay_to_para() { // Query initial balances let sender_balance_before = test.sender.balance; - let receiver_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &receiver) - }); + let receiver_assets_before = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(relay_to_para_sender_assertions); @@ -626,10 +628,7 @@ fn reserve_transfer_ksm_from_relay_to_para() { // Query final balances let sender_balance_after = test.sender.balance; - let receiver_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &receiver) - }); + let receiver_assets_after = assets_balance_on!(PenpalA, relay_native_asset_location, &receiver); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_balance_after < sender_balance_before - amount_to_send); @@ -684,10 +683,8 @@ fn reserve_transfer_ksm_from_para_to_relay() { let mut test = ParaToRelayTest::new(test_args); // Query initial balances - let sender_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); + let sender_assets_before = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); let receiver_balance_before = test.receiver.balance; // Set assertions and dispatchables @@ -697,14 +694,11 @@ fn reserve_transfer_ksm_from_para_to_relay() { test.assert(); // Query final balances - let sender_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &sender) - }); + let sender_assets_after = assets_balance_on!(PenpalA, relay_native_asset_location, &sender); let receiver_balance_after = test.receiver.balance; - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_assets_after < sender_assets_before - amount_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_assets_after, sender_assets_before - amount_to_send); // Receiver's asset balance is increased assert!(receiver_balance_after > receiver_balance_before); // Receiver's asset balance increased by `amount_to_send - delivery_fees - bought_execution`; @@ -743,10 +737,8 @@ fn reserve_transfer_ksm_from_asset_hub_to_para() { // Query initial balances let sender_balance_before = test.sender.balance; - let receiver_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &receiver) - }); + let receiver_assets_before = + assets_balance_on!(PenpalA, system_para_native_asset_location.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(system_para_to_para_sender_assertions); @@ -756,10 +748,8 @@ fn reserve_transfer_ksm_from_asset_hub_to_para() { // Query final balances let sender_balance_after = test.sender.balance; - let receiver_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location, &receiver) - }); + let receiver_assets_after = + assets_balance_on!(PenpalA, system_para_native_asset_location, &receiver); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_balance_after < sender_balance_before - amount_to_send); @@ -814,10 +804,8 @@ fn reserve_transfer_ksm_from_para_to_asset_hub() { let mut test = ParaToSystemParaTest::new(test_args); // Query initial balances - let sender_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &sender) - }); + let sender_assets_before = + assets_balance_on!(PenpalA, system_para_native_asset_location.clone(), &sender); let receiver_balance_before = test.receiver.balance; // Set assertions and dispatchables @@ -827,14 +815,12 @@ fn reserve_transfer_ksm_from_para_to_asset_hub() { test.assert(); // Query final balances - let sender_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location, &sender) - }); + let sender_assets_after = + assets_balance_on!(PenpalA, system_para_native_asset_location, &sender); let receiver_balance_after = test.receiver.balance; - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_assets_after < sender_assets_before - amount_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_assets_after, sender_assets_before - amount_to_send); // Receiver's balance is increased assert!(receiver_balance_after > receiver_balance_before); // Receiver's balance increased by `amount_to_send - delivery_fees - bought_execution`; @@ -904,17 +890,10 @@ fn reserve_transfer_multiple_assets_from_asset_hub_to_para() { type Assets = ::Assets; >::balance(RESERVABLE_ASSET_ID, &sender) }); - let receiver_system_native_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &receiver) - }); - let receiver_foreign_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_foreign_asset_location.clone(), - &receiver, - ) - }); + let receiver_system_native_assets_before = + assets_balance_on!(PenpalA, system_para_native_asset_location.clone(), &receiver); + let receiver_foreign_assets_before = + assets_balance_on!(PenpalA, system_para_foreign_asset_location.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(system_para_to_para_assets_sender_assertions); @@ -928,14 +907,10 @@ fn reserve_transfer_multiple_assets_from_asset_hub_to_para() { type Assets = ::Assets; >::balance(RESERVABLE_ASSET_ID, &sender) }); - let receiver_system_native_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &receiver) - }); - let receiver_foreign_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_foreign_asset_location, &receiver) - }); + let receiver_system_native_assets_after = + assets_balance_on!(PenpalA, system_para_native_asset_location.clone(), &receiver); + let receiver_foreign_assets_after = + assets_balance_on!(PenpalA, system_para_foreign_asset_location, &receiver); // Sender's balance is reduced assert!(sender_balance_after < sender_balance_before); // Receiver's foreign asset balance is increased @@ -1030,14 +1005,10 @@ fn reserve_transfer_multiple_assets_from_para_to_asset_hub() { let mut test = ParaToSystemParaTest::new(para_test_args); // Query initial balances - let sender_system_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_asset_location_on_penpal.clone(), &sender) - }); - let sender_foreign_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(asset_location_on_penpal.clone(), &sender) - }); + let sender_system_assets_before = + assets_balance_on!(PenpalA, system_asset_location_on_penpal.clone(), &sender); + let sender_foreign_assets_before = + assets_balance_on!(PenpalA, asset_location_on_penpal.clone(), &sender); let receiver_balance_before = test.receiver.balance; let receiver_assets_before = AssetHubKusama::execute_with(|| { type Assets = ::Assets; @@ -1051,14 +1022,10 @@ fn reserve_transfer_multiple_assets_from_para_to_asset_hub() { test.assert(); // Query final balances - let sender_system_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_asset_location_on_penpal, &sender) - }); - let sender_foreign_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(asset_location_on_penpal, &sender) - }); + let sender_system_assets_after = + assets_balance_on!(PenpalA, system_asset_location_on_penpal, &sender); + let sender_foreign_assets_after = + assets_balance_on!(PenpalA, asset_location_on_penpal, &sender); let receiver_balance_after = test.receiver.balance; let receiver_assets_after = AssetHubKusama::execute_with(|| { type Assets = ::Assets; @@ -1115,14 +1082,10 @@ fn reserve_transfer_ksm_from_para_to_para_through_relay() { let mut test = ParaToParaThroughRelayTest::new(test_args); // Query initial balances - let sender_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &receiver) - }); + let sender_assets_before = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); + let receiver_assets_before = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(para_to_para_through_hop_sender_assertions); @@ -1132,17 +1095,12 @@ fn reserve_transfer_ksm_from_para_to_para_through_relay() { test.assert(); // Query final balances - let sender_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &receiver) - }); + let sender_assets_after = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); + let receiver_assets_after = assets_balance_on!(PenpalB, relay_native_asset_location, &receiver); - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_assets_after < sender_assets_before - amount_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_assets_after, sender_assets_before - amount_to_send); // Receiver's balance is increased assert!(receiver_assets_after > receiver_assets_before); } @@ -1220,7 +1178,7 @@ fn system_para_to_penpal_receiver_assertions(t: SystemParaToParaTest) { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == relative_id, who: *who == t.receiver.account_id, }, @@ -1254,7 +1212,11 @@ fn reserve_transfer_usdt_from_asset_hub_to_para() { let usdt_from_asset_hub = PenpalUsdtFromAssetHub::get(); // Setup the pool so we can swap the custom asset for native asset to pay for fees. - create_pool_with_ksm_on!(PenpalB, PenpalUsdtFromAssetHub::get(), true, PenpalAssetOwner::get()); + create_foreign_pool_with_native_on!( + PenpalB, + PenpalUsdtFromAssetHub::get(), + PenpalAssetOwner::get() + ); let assets: Assets = vec![( [PalletInstance(ASSETS_PALLET_ID), GeneralIndex(usdt_id.into())], @@ -1286,7 +1248,7 @@ fn reserve_transfer_usdt_from_asset_hub_to_para() { Balances::free_balance(&sender) }); let receiver_initial_balance = - foreign_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); + assets_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); fn usdt_sender_assertions(_t: SystemParaToParaTest) { AssetHubKusama::assert_xcm_pallet_attempted_complete(None); @@ -1305,7 +1267,7 @@ fn reserve_transfer_usdt_from_asset_hub_to_para() { type Balances = ::Balances; Balances::free_balance(&sender) }); - let receiver_after_balance = foreign_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); + let receiver_after_balance = assets_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); assert!(sender_after_native_balance < sender_initial_native_balance); // Sender account's balance decreases. @@ -1356,18 +1318,19 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { ); create_pool_with_ksm_on!(AssetHubKusama, usdt, false, AssetHubKusamaSender::get()); // We also need a pool between KSM and USDT on PenpalB. - create_pool_with_ksm_on!(PenpalB, PenpalUsdtFromAssetHub::get(), true, PenpalAssetOwner::get()); + create_foreign_pool_with_native_on!( + PenpalB, + PenpalUsdtFromAssetHub::get(), + PenpalAssetOwner::get() + ); let usdt_from_asset_hub = PenpalUsdtFromAssetHub::get(); - PenpalA::execute_with(|| { - use frame_support::traits::tokens::fungibles::Mutate; - type ForeignAssets = ::ForeignAssets; - assert_ok!(>::mint_into( - usdt_from_asset_hub.clone(), - &sender, - asset_amount_to_send + fee_amount_to_send, - )); - }); + PenpalA::mint_foreign_asset( + ::RuntimeOrigin::signed(PenpalAssetOwner::get()), + usdt_from_asset_hub.clone(), + sender.clone(), + asset_amount_to_send + fee_amount_to_send, + ); // Prepare assets to transfer. let assets: Assets = @@ -1444,7 +1407,7 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, amount: transferred_amount }, ) => { asset_id: *asset_id == expected_id, @@ -1464,7 +1427,7 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == expected_id, who: *who == t.receiver.account_id, }, @@ -1474,9 +1437,9 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { } // Query initial balances - let sender_assets_before = foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); + let sender_assets_before = assets_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); let receiver_assets_before = - foreign_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); + assets_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); test.set_assertion::(usdt_sender_assertions); test.set_assertion::(usdt_hop_assertions); test.set_assertion::(usdt_receiver_assertions); @@ -1484,8 +1447,8 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { test.assert(); // Query final balances - let sender_assets_after = foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); - let receiver_assets_after = foreign_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); + let sender_assets_after = assets_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); + let receiver_assets_after = assets_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); // Sender's balance is reduced by amount assert!(sender_assets_after < sender_assets_before - asset_amount_to_send); 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 2d565e34c4..f243a3981e 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 @@ -15,7 +15,6 @@ use crate::*; use emulated_integration_tests_common::test_xcm_fee_querying_apis_work_for_asset_hub; -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; @@ -115,8 +114,7 @@ fn swap_locally_on_chain_using_local_assets() { #[test] fn swap_locally_on_chain_using_foreign_assets() { let asset_native = Box::new(asset_hub_kusama_runtime::xcm_config::KsmLocation::get()); - let asset_location_on_penpal: Location = - PenpalA::execute_with(PenpalLocalTeleportableToAssetHub::get); + let asset_location_on_penpal: Location = PenpalA::execute_with(PenpalLocalPen2Asset::get); let foreign_asset_at_asset_hub_kusama = Location::new(1, [Parachain(PenpalA::para_id().into())]) .appended_with(asset_location_on_penpal) diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/teleport.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/teleport.rs index 88a0f877eb..5bed1ed2e6 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/teleport.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/teleport.rs @@ -13,12 +13,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::*; +use crate::{assets_balance_on, *}; use emulated_integration_tests_common::xcm_helpers::non_fee_asset; -use kusama_system_emulated_network::{ - kusama_emulated_chain::kusama_runtime::Dmp, - penpal_emulated_chain::LocalTeleportableToAssetHub as PenpalLocalTeleportableToAssetHub, -}; +use kusama_system_emulated_network::kusama_emulated_chain::kusama_runtime::Dmp; fn penpal_to_ah_foreign_assets_sender_assertions(t: ParaToSystemParaTest) { type RuntimeEvent = ::RuntimeEvent; @@ -31,7 +28,7 @@ fn penpal_to_ah_foreign_assets_sender_assertions(t: ParaToSystemParaTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, .. } ) => { asset_id: *asset_id == system_para_native_asset_location, @@ -99,7 +96,7 @@ fn ah_to_penpal_foreign_assets_receiver_assertions(t: SystemParaToParaTest) { amount: *amount == expected_asset_amount, }, // native asset for fee is deposited to receiver - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == Location::parent(), who: *who == t.receiver.account_id, }, @@ -224,11 +221,7 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using ) { // Init values for Parachain let fee_amount_to_send: Balance = ASSET_HUB_KUSAMA_ED * 100000; - let asset_location_on_penpal = PenpalA::execute_with(PenpalLocalTeleportableToAssetHub::get); - let asset_id_on_penpal = match asset_location_on_penpal.last() { - Some(Junction::GeneralIndex(id)) => *id as u32, - _ => unreachable!(), - }; + let asset_location_on_penpal = PenpalA::execute_with(PenpalLocalPen2Asset::get); let asset_amount_to_send = ASSET_HUB_KUSAMA_ED * 1000; let asset_owner = PenpalAssetOwner::get(); let system_para_native_asset_location = KsmLocation::get(); @@ -254,9 +247,9 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using fee_amount_to_send * 2, ); // No need to create the asset (only mint) as it exists in genesis. - PenpalA::mint_asset( + PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(asset_owner.clone()), - asset_id_on_penpal, + asset_location_on_penpal.clone(), sender.clone(), asset_amount_to_send, ); @@ -274,7 +267,7 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using // Init values for System Parachain let foreign_asset_at_asset_hub_kusama = Location::new(1, [Parachain(PenpalA::para_id().into())]) - .appended_with(asset_location_on_penpal) + .appended_with(asset_location_on_penpal.clone()) .unwrap(); let penpal_to_ah_beneficiary_id = AssetHubKusamaReceiver::get(); @@ -287,25 +280,21 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using penpal_to_ah_beneficiary_id, asset_amount_to_send, penpal_assets, - Some(asset_id_on_penpal), + Some(asset_location_on_penpal.clone()), fee_asset_index, ), }; let mut penpal_to_ah = ParaToSystemParaTest::new(penpal_to_ah_test_args); - let penpal_sender_balance_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location.clone(), - &PenpalASender::get(), - ) - }); + let penpal_sender_balance_before = assets_balance_on!( + PenpalA, + system_para_native_asset_location.clone(), + &PenpalASender::get() + ); let ah_receiver_balance_before = penpal_to_ah.receiver.balance; - let penpal_sender_assets_before = PenpalA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalASender::get()) - }); + let penpal_sender_assets_before = + assets_balance_on!(PenpalA, asset_location_on_penpal.clone(), &PenpalASender::get()); let ah_receiver_assets_before = AssetHubKusama::execute_with(|| { type Assets = ::ForeignAssets; >::balance( @@ -319,20 +308,16 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using penpal_to_ah.set_dispatchable::(para_to_ah_dispatchable); penpal_to_ah.assert(); - let penpal_sender_balance_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location.clone(), - &PenpalASender::get(), - ) - }); + let penpal_sender_balance_after = assets_balance_on!( + PenpalA, + system_para_native_asset_location.clone(), + &PenpalASender::get() + ); let ah_receiver_balance_after = penpal_to_ah.receiver.balance; - let penpal_sender_assets_after = PenpalA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalASender::get()) - }); + let penpal_sender_assets_after = + assets_balance_on!(PenpalA, asset_location_on_penpal.clone(), &PenpalASender::get()); let ah_receiver_assets_after = AssetHubKusama::execute_with(|| { type Assets = ::ForeignAssets; >::balance( @@ -394,20 +379,18 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using ah_to_penpal_beneficiary_id, asset_amount_to_send, ah_assets, - Some(asset_id_on_penpal), + Some(asset_location_on_penpal.clone()), fee_asset_index, ), }; let mut ah_to_penpal = SystemParaToParaTest::new(ah_to_penpal_test_args); let ah_sender_balance_before = ah_to_penpal.sender.balance; - let penpal_receiver_balance_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location.clone(), - &PenpalAReceiver::get(), - ) - }); + let penpal_receiver_balance_before = assets_balance_on!( + PenpalA, + system_para_native_asset_location.clone(), + &PenpalAReceiver::get() + ); let ah_sender_assets_before = AssetHubKusama::execute_with(|| { type ForeignAssets = ::ForeignAssets; @@ -416,10 +399,8 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using &AssetHubKusamaSender::get(), ) }); - let penpal_receiver_assets_before = PenpalA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalAReceiver::get()) - }); + let penpal_receiver_assets_before = + assets_balance_on!(PenpalA, asset_location_on_penpal.clone(), &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); @@ -427,13 +408,8 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using ah_to_penpal.assert(); let ah_sender_balance_after = ah_to_penpal.sender.balance; - let penpal_receiver_balance_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location, - &PenpalAReceiver::get(), - ) - }); + let penpal_receiver_balance_after = + assets_balance_on!(PenpalA, system_para_native_asset_location, &PenpalAReceiver::get()); let ah_sender_assets_after = AssetHubKusama::execute_with(|| { type ForeignAssets = ::ForeignAssets; @@ -442,10 +418,8 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using &AssetHubKusamaSender::get(), ) }); - let penpal_receiver_assets_after = PenpalA::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalAReceiver::get()) - }); + let penpal_receiver_assets_after = + assets_balance_on!(PenpalA, asset_location_on_penpal.clone(), &PenpalAReceiver::get()); // Sender's balance is reduced assert!(ah_sender_balance_after < ah_sender_balance_before); diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/transact.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/transact.rs index 8f0814643f..8fbd5a5d4d 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/transact.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/transact.rs @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{assets_balance_on, create_pool_with_ksm_on, foreign_balance_on, *}; +use crate::{assets_balance_on, create_pool_with_ksm_on, *}; use asset_hub_kusama_runtime::xcm_config::KsmLocation; use frame_support::traits::tokens::fungibles::Mutate; use xcm::latest::AssetTransferFilter; @@ -112,18 +112,24 @@ fn transact_from_para_to_para_through_asset_hub() { 1_000_000_000_000, 20_000_000_000 ); - create_pool_with_ksm_on!(PenpalA, PenpalUsdtFromAssetHub::get(), true, PenpalAssetOwner::get()); - create_pool_with_ksm_on!(PenpalB, PenpalUsdtFromAssetHub::get(), true, PenpalAssetOwner::get()); + create_foreign_pool_with_native_on!( + PenpalA, + PenpalUsdtFromAssetHub::get(), + PenpalAssetOwner::get() + ); + create_foreign_pool_with_native_on!( + PenpalB, + PenpalUsdtFromAssetHub::get(), + PenpalAssetOwner::get() + ); let usdt_from_asset_hub = PenpalUsdtFromAssetHub::get(); - PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - assert_ok!(>::mint_into( - usdt_from_asset_hub.clone(), - &sender, - fee_amount_to_send, - )); - }); + PenpalA::mint_foreign_asset( + ::RuntimeOrigin::signed(PenpalAssetOwner::get()), + usdt_from_asset_hub.clone(), + sender.clone(), + fee_amount_to_send, + ); PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -134,9 +140,9 @@ fn transact_from_para_to_para_through_asset_hub() { let receiver = PenpalBReceiver::get(); - let sender_assets_before = foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); + let sender_assets_before = assets_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); let receiver_assets_before = - foreign_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); + assets_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); let usdt_to_send: Asset = (usdt_from_asset_hub.clone(), fee_amount_to_send).into(); let asset_location_on_penpal_a = @@ -170,8 +176,8 @@ fn transact_from_para_to_para_through_asset_hub() { penpal_b_assertions(foreign_asset_at_penpal_b, expected_creator, receiver.clone()); }); - let sender_assets_after = foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); - let receiver_assets_after = foreign_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); + let sender_assets_after = assets_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); + let receiver_assets_after = assets_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); assert_eq!(sender_assets_after, sender_assets_before - fee_amount_to_send); assert!(receiver_assets_after > receiver_assets_before); @@ -204,7 +210,7 @@ fn penpal_b_assertions( assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Created { asset_id, creator, owner } ) => { asset_id: *asset_id == expected_asset, @@ -265,7 +271,7 @@ fn transact_using_authorized_alias_from_para_to_asset_hub_and_back_to_para() { }); let sender_usdt_on_penpal_before = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); let sender_usdt_on_ah_before = assets_balance_on!(AssetHubKusama, USDT_ID, &sender); let call = ::RuntimeCall::AssetConversion( @@ -387,8 +393,7 @@ fn transact_using_authorized_alias_from_para_to_asset_hub_and_back_to_para() { }); let sender_usdt_on_ah_after = assets_balance_on!(AssetHubKusama, USDT_ID, &sender); - let sender_usdt_on_penpal_after = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + let sender_usdt_on_penpal_after = assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); assert_eq!( sender_usdt_on_penpal_after, @@ -443,7 +448,7 @@ fn transact_using_sov_account_from_para_to_asset_hub_and_back_to_para() { ); let sender_usdt_on_penpal_before = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); let sender_usdt_on_ah_before = assets_balance_on!(AssetHubKusama, USDT_ID, &sov_of_sender_on_asset_hub); @@ -566,8 +571,7 @@ fn transact_using_sov_account_from_para_to_asset_hub_and_back_to_para() { let sender_usdt_on_ah_after = assets_balance_on!(AssetHubKusama, USDT_ID, &sov_of_sender_on_asset_hub); - let sender_usdt_on_penpal_after = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + let sender_usdt_on_penpal_after = assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); assert_eq!( sender_usdt_on_penpal_after, diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/xcm_fee_estimation.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/xcm_fee_estimation.rs index e5cda6503a..f6ab6eb013 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/xcm_fee_estimation.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/xcm_fee_estimation.rs @@ -16,15 +16,15 @@ //! Tests for XCM fee estimation in the runtime. use crate::{ - assert_expected_events, bx, AssetHubKusama, Chain, ParaToParaThroughAHTest, PenpalA, - PenpalAPallet, PenpalASender, PenpalAssetOwner, PenpalB, PenpalBPallet, PenpalBReceiver, - TestArgs, TestContext, TransferType, + assert_expected_events, assets_balance_on, bx, AssetHubKusama, Chain, ParaToParaThroughAHTest, + PenpalA, PenpalAPallet, PenpalASender, PenpalAssetOwner, PenpalB, PenpalBPallet, + PenpalBReceiver, TestArgs, TestContext, TransferType, }; use emulated_integration_tests_common::impls::{Parachain, TestExt}; use frame_support::{ dispatch::RawOrigin, sp_runtime::{traits::Dispatchable, DispatchResult}, - traits::fungibles::Inspect, + traits::fungible, }; use xcm::prelude::*; use xcm_runtime_apis::{ @@ -94,7 +94,7 @@ fn multi_hop_works() { .unwrap(); assert_eq!(messages_to_query.len(), 1); remote_message = messages_to_query[0].clone(); - let asset_id_for_delivery_fees = VersionedAssetId::from(Location::parent()); + let asset_id_for_delivery_fees = VersionedAssetId::from(Location::here()); let delivery_fees = Runtime::query_delivery_fees( destination_to_query.clone(), remote_message.clone(), @@ -151,19 +151,6 @@ fn multi_hop_works() { intermediate_delivery_fees_amount = get_amount_from_versioned_assets(delivery_fees); }); - // Get the final execution fees in the destination. - let mut final_execution_fees = 0; - ::execute_with(|| { - type Runtime = ::Runtime; - - let weight = Runtime::query_xcm_weight(intermediate_remote_message.clone()).unwrap(); - final_execution_fees = Runtime::query_weight_to_asset_fee( - weight, - VersionedAssetId::from(AssetId(Parent.into())), - ) - .unwrap(); - }); - // Dry-running is done. PenpalA::reset_ext(); AssetHubKusama::reset_ext(); @@ -176,16 +163,37 @@ fn multi_hop_works() { sender.clone(), amount_to_send * 2, ); + + // Get the final execution fees at the destination. + // + // Note: We need to do this after resetting the externalities to get an accurate value here. + // This is because the dry-run on Asset Hub does affect the liquidity pool distribution on + // PenpalB which affects the assets amount we have to pay. + // See side-effects: https://github.com/paritytech/polkadot-sdk/issues/11486. + let mut final_execution_fees = 0; + ::execute_with(|| { + type Runtime = ::Runtime; + + let weight = Runtime::query_xcm_weight(intermediate_remote_message.clone()).unwrap(); + final_execution_fees = + Runtime::query_weight_to_asset_fee(weight, VersionedAssetId::from(Location::parent())) + .unwrap(); + }); + AssetHubKusama::fund_accounts(vec![(sov_of_sender_on_ah, amount_to_send * 2)]); // Actually run the extrinsic. - let sender_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) + let sender_assets_before = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); + let sender_balance_before = PenpalA::execute_with(|| { + type Balances = ::Balances; + >::balance(&sender) }); - let receiver_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &beneficiary_id) + let receiver_assets_before = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &beneficiary_id); + let receiver_balance_before = PenpalB::execute_with(|| { + type Balances = ::Balances; + >::balance(&beneficiary_id) }); test.set_assertion::(sender_assertions); @@ -194,22 +202,29 @@ fn multi_hop_works() { test.set_dispatchable::(transfer_assets_para_to_para_through_ah_dispatchable); test.assert(); - let sender_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) + let sender_assets_after = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); + let sender_balance_after = PenpalA::execute_with(|| { + type Balances = ::Balances; + >::balance(&sender) }); - let receiver_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &beneficiary_id) + let receiver_assets_after = + assets_balance_on!(PenpalB, relay_native_asset_location, &beneficiary_id); + let receiver_balance_after = PenpalB::execute_with(|| { + type Balances = ::Balances; + >::balance(&beneficiary_id) }); // We know the exact fees on every hop. + assert_eq!(sender_assets_after, sender_assets_before - amount_to_send); assert_eq!( - sender_assets_after, - sender_assets_before - amount_to_send - delivery_fees_amount /* This is charged directly - * from the sender's - * account. */ + sender_balance_after, + // This is charged directly from the sender's account. + sender_balance_before - delivery_fees_amount ); + + // Receiver native balance is unchanged; received funds in relay asset, and paid in relay asset. + assert_eq!(receiver_balance_after, receiver_balance_before); assert_eq!( receiver_assets_after, receiver_assets_before + amount_to_send - @@ -226,7 +241,7 @@ fn sender_assertions(test: ParaToParaThroughAHTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, amount } ) => { asset_id: *asset_id == Location::parent(), @@ -247,7 +262,9 @@ fn hop_assertions(test: ParaToParaThroughAHTest) { RuntimeEvent::Balances( pallet_balances::Event::Withdraw { amount, .. } ) => { - amount: *amount == test.args.amount, + // Depends on: XCM execution fees + delivery fees + liquidity pool + // swap overhead at the destination. + amount: *amount >= test.args.amount * 80/100, }, ] ); @@ -260,7 +277,7 @@ fn receiver_assertions(test: ParaToParaThroughAHTest) { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Deposited { asset_id, who, .. } ) => { asset_id: *asset_id == Location::parent(), @@ -316,7 +333,7 @@ fn pay_fees_sender_assertions(test: ParaToParaThroughAHTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, .. } ) => { asset_id: *asset_id == Location::parent(), @@ -347,7 +364,7 @@ fn pay_fees_receiver_assertions(test: ParaToParaThroughAHTest) { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Deposited { asset_id, who, .. } ) => { asset_id: *asset_id == Location::parent(), @@ -532,14 +549,10 @@ fn multi_hop_pay_fees_works() { AssetHubKusama::fund_accounts(vec![(sov_of_sender_on_ah, amount_to_send * 2)]); // Actually run the extrinsic with exact fees. - let sender_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &beneficiary_id) - }); + let sender_assets_before = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); + let receiver_assets_before = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &beneficiary_id); test.set_assertion::(pay_fees_sender_assertions); test.set_assertion::(pay_fees_hop_assertions); @@ -552,14 +565,10 @@ fn multi_hop_pay_fees_works() { test.set_call(call); test.assert(); - let sender_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &beneficiary_id) - }); + let sender_assets_after = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); + let receiver_assets_after = + assets_balance_on!(PenpalB, relay_native_asset_location, &beneficiary_id); // We know the exact fees on every hop. assert_eq!(sender_assets_after, sender_assets_before - amount_to_send); 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 index 707a047a03..d0a91170a2 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/lib.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/lib.rs @@ -40,7 +40,8 @@ pub use asset_hub_polkadot_runtime::xcm_config::{ }; pub use asset_test_utils::xcm_helpers; pub use emulated_integration_tests_common::{ - test_parachain_is_trusted_teleporter, + create_foreign_pool_with_native_on, create_foreign_pool_with_parent_native_on, + local_penpal_asset, test_parachain_is_trusted_teleporter, xcm_emulator::{ assert_expected_events, bx, helpers::weight_within_threshold, Chain, Parachain as Para, RelayChain as Relay, Test, TestArgs, TestContext, TestExt, @@ -49,7 +50,8 @@ pub use emulated_integration_tests_common::{ PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, XCM_V4, }; pub use integration_tests_helpers::{ - test_parachain_is_trusted_teleporter_for_relay, test_relay_is_trusted_teleporter, + assets_balance_on, test_parachain_is_trusted_teleporter_for_relay, + test_relay_is_trusted_teleporter, }; pub use parachains_common::{AccountId, Balance}; pub use polkadot_runtime::{xcm_config::UniversalLocation as PolkadotUniversalLocation, Dmp}; @@ -66,6 +68,7 @@ pub use polkadot_system_emulated_network::{ coretime_polkadot_emulated_chain::CoretimePolkadotParaPallet as CoretimePolkadotPallet, penpal_emulated_chain::{ penpal_runtime::xcm_config::{ + LocalPen2Asset as PenpalLocalPen2Asset, LocalReservableFromAssetHub as PenpalLocalReservableFromAssetHub, LocalTeleportableToAssetHub as PenpalLocalTeleportableToAssetHub, UniversalLocation as PenpalUniversalLocation, @@ -98,10 +101,10 @@ pub type RelayToSystemParaTest = Test; pub type RelayToParaTest = Test; pub type ParaToRelayTest = Test; pub type SystemParaToRelayTest = Test; -pub type SystemParaToParaTest = Test; -pub type ParaToSystemParaTest = Test; -pub type ParaToParaThroughRelayTest = Test; -pub type ParaToParaThroughAHTest = Test; +pub type SystemParaToParaTest = Test>; +pub type ParaToSystemParaTest = Test>; +pub type ParaToParaThroughRelayTest = Test>; +pub type ParaToParaThroughAHTest = Test>; pub type RelayToParaThroughAHTest = Test; pub type PenpalToRelayThroughAHTest = Test; diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/exchange_asset.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/exchange_asset.rs index d814161bbc..238f51b322 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/exchange_asset.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/exchange_asset.rs @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{assets_balance_on, create_pool_with_dot_on, foreign_balance_on, *}; +use crate::{assets_balance_on, create_pool_with_dot_on, *}; use asset_hub_polkadot_runtime::{ xcm_config::DotLocation, Balances, ExistentialDeposit, ForeignAssets, PolkadotXcm, RuntimeOrigin, @@ -193,7 +193,7 @@ fn exchange_asset_from_penpal_via_asset_hub_back_to_penpal() { // Query initial balances let sender_usdt_on_penpal_before = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); let sender_usdt_on_ah_before = assets_balance_on!(AssetHubPolkadot, USDT_ID, &sender); let asset_hub_location_penpal_pov = PenpalA::sibling_location_of(AssetHubPolkadot::para_id()); @@ -295,8 +295,7 @@ fn exchange_asset_from_penpal_via_asset_hub_back_to_penpal() { // Query final balances let sender_usdt_on_ah_after = assets_balance_on!(AssetHubPolkadot, USDT_ID, &sender); - let sender_usdt_on_penpal_after = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + let sender_usdt_on_penpal_after = assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); // Receiver's balance is increased by usdt amount we got from exchange assert_eq!( diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/foreign_assets.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/foreign_assets.rs index 947f586a61..4d722bec1f 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/foreign_assets.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/foreign_assets.rs @@ -13,7 +13,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{tests::send::penpal_register_foreign_asset_on_asset_hub, *}; +use crate::{ + asset_exists_on, assets_balance_on, tests::send::penpal_register_foreign_asset_on_asset_hub, *, +}; use xcm::latest::AssetTransferFilter; // Registers a new asset on Penpal, then registers it over XCM as foreign asset on Asset Hub. @@ -22,44 +24,34 @@ use xcm::latest::AssetTransferFilter; // between Penpal and AH. pub fn set_up_foreign_asset( sender: sp_runtime::AccountId32, - asset_id_on_penpal: u32, + asset_location_on_penpal: Location, asset_amount_to_send: u128, teleportable: bool, ) -> (Location, Location) { let asset_owner = PenpalAssetOwner::get(); // Give the sender enough native - PenpalA::mint_foreign_asset( - ::RuntimeOrigin::signed(asset_owner.clone()), - DotLocation::get(), - sender.clone(), - asset_amount_to_send, - ); + PenpalA::fund_accounts(vec![(sender.clone(), asset_amount_to_send)]); // Create the asset on Penpal let to_fund = asset_amount_to_send * 2; - PenpalA::force_create_asset( - asset_id_on_penpal, + PenpalA::force_create_foreign_asset( + asset_location_on_penpal.clone(), asset_owner.clone(), true, ASSET_MIN_BALANCE, vec![(sender.clone(), to_fund)], ); - PenpalA::execute_with(|| { - type Assets = ::Assets; - assert!(Assets::asset_exists(asset_id_on_penpal)); - }); - let asset_location_on_penpal = Location::new( - 0, - [ - Junction::PalletInstance(ASSETS_PALLET_ID), - Junction::GeneralIndex(asset_id_on_penpal.into()), - ], - ); + + asset_exists_on!(PenpalA, asset_location_on_penpal.clone()); // Setup a pool on Penpal between native asset and newly created asset, so we can pay fees using // new asset directly. - create_pool_with_dot_on!(PenpalA, asset_location_on_penpal.clone(), false, asset_owner.clone()); + create_foreign_pool_with_native_on!( + PenpalA, + asset_location_on_penpal.clone(), + asset_owner.clone() + ); // Register asset on Asset Hub using XCM let penpal_sovereign_account = AssetHubPolkadot::sovereign_account_id_of( @@ -73,10 +65,9 @@ pub fn set_up_foreign_asset( // Setup a pool on Asset Hub between native asset and newly created asset, so we can pay fees // using new asset directly. - create_pool_with_dot_on!( + create_foreign_pool_with_parent_native_on!( AssetHubPolkadot, foreign_asset_at_asset_hub.clone(), - true, penpal_sovereign_account.clone() ); @@ -146,16 +137,16 @@ pub fn penpal_set_foreign_asset_reserves_on_asset_hub( fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { let sender = PenpalASender::get(); let receiver = AssetHubPolkadotReceiver::get(); - let new_asset_id = 42; + let new_asset_id = local_penpal_asset(42); let asset_amount_to_send = ASSET_HUB_POLKADOT_ED * 10_000; let (asset_location_on_penpal, foreign_asset_location_on_ah) = - set_up_foreign_asset(sender.clone(), new_asset_id, asset_amount_to_send, true); + set_up_foreign_asset(sender.clone(), new_asset_id.clone(), asset_amount_to_send, true); //////////////////////////////// // Teleport it from Penpal to AH //////////////////////////////// - let penpal_sender_balance_before = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_sender_balance_before = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let ah_receiver_balance_before = foreign_balance_on!(AssetHubPolkadot, foreign_asset_location_on_ah.clone(), &receiver); @@ -192,7 +183,7 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { .unwrap(); }); - let penpal_sender_balance_after = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_sender_balance_after = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let ah_receiver_balance_after = foreign_balance_on!(AssetHubPolkadot, foreign_asset_location_on_ah.clone(), &receiver); @@ -243,7 +234,7 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { let asset_amount_to_send = ah_receiver_balance_after; let ah_sender_balance_before = foreign_balance_on!(AssetHubPolkadot, foreign_asset_location_on_ah.clone(), &receiver); - let penpal_receiver_balance_before = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_receiver_balance_before = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let dest = AssetHubPolkadot::sibling_location_of(PenpalA::para_id()); // execute xcm from asset hub to penpal @@ -300,7 +291,7 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { let ah_sender_balance_after = foreign_balance_on!(AssetHubPolkadot, foreign_asset_location_on_ah, &receiver); - let penpal_receiver_balance_after = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_receiver_balance_after = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); assert!(ah_sender_balance_after < ah_sender_balance_before); assert!(penpal_receiver_balance_after > penpal_receiver_balance_before); @@ -316,16 +307,16 @@ fn bidirectional_teleport_foreign_asset_between_penpal_and_asset_hub() { fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { let sender = PenpalASender::get(); let receiver = AssetHubPolkadotReceiver::get(); - let new_asset_id = 42; + let new_asset_id = local_penpal_asset(42); let asset_amount_to_send = ASSET_HUB_POLKADOT_ED * 10_000; let (asset_location_on_penpal, foreign_asset_location_on_ah) = - set_up_foreign_asset(sender.clone(), new_asset_id, asset_amount_to_send, false); + set_up_foreign_asset(sender.clone(), new_asset_id.clone(), asset_amount_to_send, false); //////////////////////////////////////// // Reserve-transfer it from Penpal to AH //////////////////////////////////////// - let penpal_sender_balance_before = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_sender_balance_before = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let ah_receiver_balance_before = foreign_balance_on!(AssetHubPolkadot, foreign_asset_location_on_ah.clone(), &receiver); @@ -381,7 +372,7 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { )); }); - let penpal_sender_balance_after = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_sender_balance_after = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let ah_receiver_balance_after = foreign_balance_on!(AssetHubPolkadot, foreign_asset_location_on_ah.clone(), &receiver); @@ -395,7 +386,7 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { let asset_amount_to_send = ah_receiver_balance_after; let ah_sender_balance_before = foreign_balance_on!(AssetHubPolkadot, foreign_asset_location_on_ah.clone(), &receiver); - let penpal_receiver_balance_before = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_receiver_balance_before = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); let dest = AssetHubPolkadot::sibling_location_of(PenpalA::para_id()); // execute xcm from asset hub to penpal @@ -451,7 +442,7 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { let ah_sender_balance_after = foreign_balance_on!(AssetHubPolkadot, foreign_asset_location_on_ah, &receiver); - let penpal_receiver_balance_after = assets_balance_on!(PenpalA, new_asset_id, &sender); + let penpal_receiver_balance_after = assets_balance_on!(PenpalA, new_asset_id.clone(), &sender); assert!(ah_sender_balance_after < ah_sender_balance_before); assert!(penpal_receiver_balance_after > penpal_receiver_balance_before); @@ -462,10 +453,10 @@ fn bidirectional_reserve_transfer_foreign_asset_between_penpal_and_asset_hub() { #[test] fn verify_foreign_asset_origin_checks() { let sender = PenpalASender::get(); - let new_asset_id = 42; + let new_asset_id = local_penpal_asset(42); let asset_amount_to_send = ASSET_HUB_POLKADOT_ED * 10_000; let (_, foreign_asset_location_on_ah) = - set_up_foreign_asset(sender.clone(), new_asset_id, asset_amount_to_send, false); + set_up_foreign_asset(sender.clone(), new_asset_id.clone(), asset_amount_to_send, false); let penpal_sovereign = AssetHubPolkadot::sovereign_account_id_of( AssetHubPolkadot::sibling_location_of(PenpalA::para_id()), diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/hybrid_transfers.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/hybrid_transfers.rs index d92eb515ef..efe130692d 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/hybrid_transfers.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/hybrid_transfers.rs @@ -15,7 +15,7 @@ use super::reserve_transfer::*; use crate::{ - foreign_balance_on, + assets_balance_on, tests::teleport::do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using_xt, *, }; @@ -250,14 +250,10 @@ fn transfer_foreign_assets_from_asset_hub_to_para() { type ForeignAssets = ::ForeignAssets; >::balance(ksm_at_polkadot_parachains.clone(), &sender) }); - let receiver_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location.clone(), &receiver) - }); - let receiver_ksm_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains_latest.clone(), &receiver) - }); + let receiver_assets_before = + assets_balance_on!(PenpalB, native_asset_location.clone(), &receiver); + let receiver_ksm_before = + assets_balance_on!(PenpalB, ksm_at_polkadot_parachains_latest.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(system_para_to_para_sender_assertions); @@ -271,14 +267,9 @@ fn transfer_foreign_assets_from_asset_hub_to_para() { type ForeignAssets = ::ForeignAssets; >::balance(ksm_at_polkadot_parachains.clone(), &sender) }); - let receiver_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location, &receiver) - }); - let receiver_ksm_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains_latest, &receiver) - }); + let receiver_assets_after = assets_balance_on!(PenpalB, native_asset_location, &receiver); + let receiver_ksm_after = + assets_balance_on!(PenpalB, ksm_at_polkadot_parachains_latest, &receiver); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_balance_after < sender_balance_before - native_amount_to_send); @@ -392,14 +383,9 @@ fn transfer_foreign_assets_from_para_to_asset_hub() { let mut test = ParaToSystemParaTest::new(test_args); // Query initial balances - let sender_native_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location.clone(), &sender) - }); - let sender_ksm_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains_latest.clone(), &sender) - }); + let sender_native_before = assets_balance_on!(PenpalB, native_asset_location.clone(), &sender); + let sender_ksm_before = + assets_balance_on!(PenpalB, ksm_at_polkadot_parachains_latest.clone(), &sender); let receiver_native_before = test.receiver.balance; let receiver_ksm_before = AssetHubPolkadot::execute_with(|| { type ForeignAssets = ::ForeignAssets; @@ -413,22 +399,17 @@ fn transfer_foreign_assets_from_para_to_asset_hub() { test.assert(); // Query final balances - let sender_native_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(native_asset_location, &sender) - }); - let sender_ksm_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains_latest.clone(), &sender) - }); + let sender_native_after = assets_balance_on!(PenpalB, native_asset_location, &sender); + let sender_ksm_after = + assets_balance_on!(PenpalB, ksm_at_polkadot_parachains_latest.clone(), &sender); let receiver_native_after = test.receiver.balance; let receiver_ksm_after = AssetHubPolkadot::execute_with(|| { type ForeignAssets = ::ForeignAssets; >::balance(ksm_at_polkadot_parachains, &receiver) }); - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_native_after < sender_native_before - native_amount_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_native_after, sender_native_before - native_amount_to_send); // Sender's balance is reduced by foreign amount sent assert_eq!(sender_ksm_after, sender_ksm_before - foreign_amount_to_send); // Receiver's balance is increased @@ -554,14 +535,9 @@ fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { let mut test = ParaToParaThroughAHTest::new(test_args); // Query initial balances - let sender_dot_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_location.clone(), &sender) - }); - let sender_ksm_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains_latest.clone(), &sender) - }); + let sender_dot_before = assets_balance_on!(PenpalB, dot_location.clone(), &sender); + let sender_ksm_before = + assets_balance_on!(PenpalB, ksm_at_polkadot_parachains_latest.clone(), &sender); let dot_in_sender_reserve_on_ahp_before = ::account_data_of(sov_of_sender_on_ah.clone()).free; let ksm_in_sender_reserve_on_ahp_before = AssetHubPolkadot::execute_with(|| { @@ -574,14 +550,9 @@ fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { type Assets = ::ForeignAssets; >::balance(ksm_at_polkadot_parachains.clone(), &sov_of_receiver_on_ah) }); - let receiver_dot_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_location.clone(), &receiver) - }); - let receiver_ksm_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains_latest.clone(), &receiver) - }); + let receiver_dot_before = assets_balance_on!(PenpalA, dot_location.clone(), &receiver); + let receiver_ksm_before = + assets_balance_on!(PenpalA, ksm_at_polkadot_parachains_latest.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(para_to_para_through_hop_sender_assertions); @@ -591,14 +562,9 @@ fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { test.assert(); // Query final balances - let sender_dot_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_location.clone(), &sender) - }); - let sender_ksm_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains_latest.clone(), &sender) - }); + let sender_dot_after = assets_balance_on!(PenpalB, dot_location.clone(), &sender); + let sender_ksm_after = + assets_balance_on!(PenpalB, ksm_at_polkadot_parachains_latest.clone(), &sender); let ksm_in_sender_reserve_on_ahp_after = AssetHubPolkadot::execute_with(|| { type Assets = ::ForeignAssets; >::balance(ksm_at_polkadot_parachains.clone(), &sov_of_sender_on_ah) @@ -611,17 +577,12 @@ fn transfer_foreign_assets_from_para_to_para_through_asset_hub() { }); let dot_in_receiver_reserve_on_ahp_after = ::account_data_of(sov_of_receiver_on_ah).free; - let receiver_dot_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_location, &receiver) - }); - let receiver_ksm_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains_latest, &receiver) - }); + let receiver_dot_after = assets_balance_on!(PenpalA, dot_location, &receiver); + let receiver_ksm_after = + assets_balance_on!(PenpalA, ksm_at_polkadot_parachains_latest, &receiver); - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_dot_after < sender_dot_before - dot_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_dot_after, sender_dot_before - dot_to_send); assert_eq!(sender_ksm_after, sender_ksm_before - ksm_to_send); // Sovereign accounts on reserve are changed accordingly assert_eq!( @@ -715,14 +676,14 @@ fn usdt_only_transfer_from_para_to_para_through_asset_hub() { // PenpalB has a pool between USDT and DOT so fees can be paid with USDT by automatically // swapping them for DOT. - create_pool_with_dot_on!(PenpalB, usdt_location.clone(), true, PenpalAssetOwner::get()); + create_foreign_pool_with_native_on!(PenpalB, usdt_location.clone(), PenpalAssetOwner::get()); // Sender starts with a lot of USDT. - let sender_balance_before = foreign_balance_on!(PenpalA, usdt_location.clone(), &sender); + let sender_balance_before = assets_balance_on!(PenpalA, usdt_location.clone(), &sender); assert_eq!(sender_balance_before, 10_000_000_000_000); // Receiver has no USDT. - let receiver_balance_before = foreign_balance_on!(PenpalB, usdt_location.clone(), &receiver); + let receiver_balance_before = assets_balance_on!(PenpalB, usdt_location.clone(), &receiver); assert_eq!(receiver_balance_before, 0); let test_args = TestContext { @@ -750,7 +711,7 @@ fn usdt_only_transfer_from_para_to_para_through_asset_hub() { assert_expected_events!( PenpalA, vec![ - Event::ForeignAssets( + Event::Assets( pallet_assets::Event::Withdrawn { asset_id, amount, .. } ) => { asset_id: *asset_id == usdt_location.clone(), @@ -801,7 +762,7 @@ fn usdt_only_transfer_from_para_to_para_through_asset_hub() { PenpalB, vec![ // Final amount gets deposited to receiver. - Event::ForeignAssets( + Event::Assets( pallet_assets::Event::Deposited { asset_id, who, .. } ) => { asset_id: *asset_id == usdt_location, @@ -823,11 +784,11 @@ fn usdt_only_transfer_from_para_to_para_through_asset_hub() { test.assert(); // Sender has less USDT after the transfer. - let sender_balance_after = foreign_balance_on!(PenpalA, usdt_location.clone(), &sender); + let sender_balance_after = assets_balance_on!(PenpalA, usdt_location.clone(), &sender); assert_eq!(sender_balance_after, 9_000_000_000_000); // Receiver gets `transfer_amount` minus fees. - let receiver_balance_after = foreign_balance_on!(PenpalB, usdt_location.clone(), &receiver); + let receiver_balance_after = assets_balance_on!(PenpalB, usdt_location.clone(), &receiver); assert!(receiver_balance_after > receiver_balance_before); } @@ -886,10 +847,8 @@ fn transfer_native_asset_from_penpal_to_relay_through_asset_hub() { AssetHubPolkadot::fund_accounts(vec![(sov_penpal_on_ah.clone(), amount_to_send * 2)]); // Query initial balances - let sender_balance_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); + let sender_balance_before = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &sender); let sov_penpal_on_ah_before = AssetHubPolkadot::execute_with(|| { ::Balances::free_balance( sov_penpal_on_ah.clone(), @@ -945,10 +904,8 @@ fn transfer_native_asset_from_penpal_to_relay_through_asset_hub() { test.assert(); // Query final balances - let sender_balance_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); + let sender_balance_after = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &sender); let sov_penpal_on_ah_after = AssetHubPolkadot::execute_with(|| { ::Balances::free_balance( sov_penpal_on_ah.clone(), @@ -958,8 +915,8 @@ fn transfer_native_asset_from_penpal_to_relay_through_asset_hub() { ::Balances::free_balance(receiver.clone()) }); - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_balance_after < sender_balance_before - amount_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_balance_after, sender_balance_before - amount_to_send); // Sovereign account on AH is reduced by amount sent assert_eq!(sov_penpal_on_ah_after, sov_penpal_on_ah_before - amount_to_send); // Receiver's balance is increased diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs index 61185eea72..07b78fcdcd 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs @@ -43,12 +43,12 @@ macro_rules! foreign_balance_on { } #[macro_export] -macro_rules! assets_balance_on { - ( $chain:ident, $id:expr, $who:expr ) => { +macro_rules! asset_exists_on { + ( $chain:ident, $id:expr ) => { emulated_integration_tests_common::impls::paste::paste! { <$chain>::execute_with(|| { type Assets = <$chain as [<$chain Pallet>]>::Assets; - >::balance($id, $who) + >::asset_exists($id) }) } }; diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs index 24d341a6f4..d090ffa994 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{create_pool_with_dot_on, foreign_balance_on, *}; +use crate::{assets_balance_on, create_pool_with_dot_on, *}; use emulated_integration_tests_common::{xcm_helpers::fee_asset, RESERVABLE_ASSET_ID}; use polkadot_system_emulated_network::{ penpal_emulated_chain::LocalReservableFromAssetHub as PenpalLocalReservableFromAssetHub, @@ -48,7 +48,7 @@ fn para_to_relay_sender_assertions(t: ParaToRelayTest) { PenpalA, vec![ // Amount to reserve transfer is transferred to Parachain's Sovereign account - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, amount, .. } ) => { asset_id: *asset_id == DotLocation::get(), @@ -96,7 +96,7 @@ pub fn system_para_to_para_receiver_assertions(t: SystemParaToParaTest) { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == relative_id, who: *who == t.receiver.account_id, }, @@ -111,7 +111,7 @@ fn relay_to_para_assets_receiver_assertions(t: RelayToParaTest) { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == DotLocation::get(), who: *who == t.receiver.account_id, }, @@ -156,7 +156,7 @@ pub fn para_to_system_para_sender_assertions(t: ParaToSystemParaTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, amount } ) => { asset_id: *asset_id == expected_id, @@ -223,14 +223,14 @@ fn para_to_system_para_assets_sender_assertions(t: ParaToSystemParaTest) { PenpalB, vec![ // Fees amount to reserve transfer is burned from Parachains's sender account - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, .. } ) => { asset_id: *asset_id == system_para_native_asset_location, who: *who == t.sender.account_id, }, // Amount to reserve transfer is burned from Parachains's sender account - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, amount } ) => { asset_id: *asset_id == reservable_asset_location, @@ -253,11 +253,11 @@ fn system_para_to_para_assets_receiver_assertions(t: SystemParaToParaTest) { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == DotLocation::get(), who: *who == t.receiver.account_id, }, - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, amount }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, amount }) => { asset_id: *asset_id == system_para_asset_location, who: *who == t.receiver.account_id, amount: *amount == t.args.amount, @@ -300,7 +300,9 @@ fn para_to_system_para_assets_receiver_assertions(t: ParaToSystemParaTest) { ); } -pub fn para_to_para_through_hop_sender_assertions(t: Test) { +pub fn para_to_para_through_hop_sender_assertions( + t: Test>, +) { type RuntimeEvent = ::RuntimeEvent; PenpalB::assert_xcm_pallet_attempted_complete(None); @@ -311,7 +313,7 @@ pub fn para_to_para_through_hop_sender_assertions(t: Test { asset_id: *asset_id == expected_id, @@ -352,7 +354,9 @@ fn para_to_para_relay_hop_assertions(t: ParaToParaThroughRelayTest) { ); } -pub fn para_to_para_through_hop_receiver_assertions(t: Test) { +pub fn para_to_para_through_hop_receiver_assertions( + t: Test>, +) { type RuntimeEvent = ::RuntimeEvent; PenpalA::assert_xcmp_queue_success(None); @@ -361,7 +365,7 @@ pub fn para_to_para_through_hop_receiver_assertions(t: Test { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == expected_id, who: *who == t.receiver.account_id, }, @@ -613,10 +617,8 @@ fn reserve_transfer_dot_from_relay_to_para() { // Query initial balances let sender_balance_before = test.sender.balance; - let receiver_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &receiver) - }); + let receiver_assets_before = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(relay_to_para_sender_assertions); @@ -626,10 +628,7 @@ fn reserve_transfer_dot_from_relay_to_para() { // Query final balances let sender_balance_after = test.sender.balance; - let receiver_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &receiver) - }); + let receiver_assets_after = assets_balance_on!(PenpalB, relay_native_asset_location, &receiver); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_balance_after < sender_balance_before - amount_to_send); @@ -684,10 +683,8 @@ fn reserve_transfer_dot_from_para_to_relay() { let mut test = ParaToRelayTest::new(test_args); // Query initial balances - let sender_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); + let sender_assets_before = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &sender); let receiver_balance_before = test.receiver.balance; // Set assertions and dispatchables @@ -697,14 +694,11 @@ fn reserve_transfer_dot_from_para_to_relay() { test.assert(); // Query final balances - let sender_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &sender) - }); + let sender_assets_after = assets_balance_on!(PenpalA, relay_native_asset_location, &sender); let receiver_balance_after = test.receiver.balance; - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_assets_after < sender_assets_before - amount_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_assets_after, sender_assets_before - amount_to_send); // Receiver's asset balance is increased assert!(receiver_balance_after > receiver_balance_before); // Receiver's asset balance increased by `amount_to_send - delivery_fees - bought_execution`; @@ -743,10 +737,8 @@ fn reserve_transfer_dot_from_asset_hub_to_para() { // Query initial balances let sender_balance_before = test.sender.balance; - let receiver_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &receiver) - }); + let receiver_assets_before = + assets_balance_on!(PenpalB, system_para_native_asset_location.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(system_para_to_para_sender_assertions); @@ -756,10 +748,8 @@ fn reserve_transfer_dot_from_asset_hub_to_para() { // Query final balances let sender_balance_after = test.sender.balance; - let receiver_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location, &receiver) - }); + let receiver_assets_after = + assets_balance_on!(PenpalB, system_para_native_asset_location, &receiver); // Sender's balance is reduced by amount sent plus delivery fees assert!(sender_balance_after < sender_balance_before - amount_to_send); @@ -816,10 +806,8 @@ fn reserve_transfer_dot_from_para_to_asset_hub() { let mut test = ParaToSystemParaTest::new(test_args); // Query initial balances - let sender_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &sender) - }); + let sender_assets_before = + assets_balance_on!(PenpalB, system_para_native_asset_location.clone(), &sender); let receiver_balance_before = test.receiver.balance; // Set assertions and dispatchables @@ -829,14 +817,12 @@ fn reserve_transfer_dot_from_para_to_asset_hub() { test.assert(); // Query final balances - let sender_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location, &sender) - }); + let sender_assets_after = + assets_balance_on!(PenpalB, system_para_native_asset_location, &sender); let receiver_balance_after = test.receiver.balance; - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_assets_after < sender_assets_before - amount_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_assets_after, sender_assets_before - amount_to_send); // Receiver's balance is increased assert!(receiver_balance_after > receiver_balance_before); // Receiver's balance increased by `amount_to_send - delivery_fees - bought_execution`; @@ -907,17 +893,10 @@ fn reserve_transfer_multiple_assets_from_asset_hub_to_para() { type Assets = ::Assets; >::balance(RESERVABLE_ASSET_ID, &sender) }); - let receiver_system_native_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &receiver) - }); - let receiver_foreign_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_foreign_asset_location.clone(), - &receiver, - ) - }); + let receiver_system_native_assets_before = + assets_balance_on!(PenpalB, system_para_native_asset_location.clone(), &receiver); + let receiver_foreign_assets_before = + assets_balance_on!(PenpalB, system_para_foreign_asset_location.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(system_para_to_para_assets_sender_assertions); @@ -931,14 +910,10 @@ fn reserve_transfer_multiple_assets_from_asset_hub_to_para() { type Assets = ::Assets; >::balance(RESERVABLE_ASSET_ID, &sender) }); - let receiver_system_native_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_native_asset_location.clone(), &receiver) - }); - let receiver_foreign_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_para_foreign_asset_location, &receiver) - }); + let receiver_system_native_assets_after = + assets_balance_on!(PenpalB, system_para_native_asset_location.clone(), &receiver); + let receiver_foreign_assets_after = + assets_balance_on!(PenpalB, system_para_foreign_asset_location, &receiver); // Sender's balance is reduced assert!(sender_balance_after < sender_balance_before); // Receiver's foreign asset balance is increased @@ -1034,14 +1009,10 @@ fn reserve_transfer_multiple_assets_from_para_to_asset_hub() { let mut test = ParaToSystemParaTest::new(para_test_args); // Query initial balances - let sender_system_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_asset_location_on_penpal.clone(), &sender) - }); - let sender_foreign_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(asset_location_on_penpal.clone(), &sender) - }); + let sender_system_assets_before = + assets_balance_on!(PenpalB, system_asset_location_on_penpal.clone(), &sender); + let sender_foreign_assets_before = + assets_balance_on!(PenpalB, asset_location_on_penpal.clone(), &sender); let receiver_balance_before = test.receiver.balance; let receiver_assets_before = AssetHubPolkadot::execute_with(|| { type Assets = ::Assets; @@ -1055,14 +1026,10 @@ fn reserve_transfer_multiple_assets_from_para_to_asset_hub() { test.assert(); // Query final balances - let sender_system_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(system_asset_location_on_penpal, &sender) - }); - let sender_foreign_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(asset_location_on_penpal, &sender) - }); + let sender_system_assets_after = + assets_balance_on!(PenpalB, system_asset_location_on_penpal, &sender); + let sender_foreign_assets_after = + assets_balance_on!(PenpalB, asset_location_on_penpal, &sender); let receiver_balance_after = test.receiver.balance; let receiver_assets_after = AssetHubPolkadot::execute_with(|| { type Assets = ::Assets; @@ -1119,14 +1086,10 @@ fn reserve_transfer_dot_from_para_to_para_through_relay() { let mut test = ParaToParaThroughRelayTest::new(test_args); // Query initial balances - let sender_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &receiver) - }); + let sender_assets_before = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &sender); + let receiver_assets_before = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &receiver); // Set assertions and dispatchables test.set_assertion::(para_to_para_through_hop_sender_assertions); @@ -1136,17 +1099,12 @@ fn reserve_transfer_dot_from_para_to_para_through_relay() { test.assert(); // Query final balances - let sender_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &receiver) - }); + let sender_assets_after = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &sender); + let receiver_assets_after = assets_balance_on!(PenpalA, relay_native_asset_location, &receiver); - // Sender's balance is reduced by amount sent plus delivery fees - assert!(sender_assets_after < sender_assets_before - amount_to_send); + // Sender's balance is reduced by amount sent (delivery fees are charged in native tokens). + assert_eq!(sender_assets_after, sender_assets_before - amount_to_send); // Receiver's balance is increased assert!(receiver_assets_after > receiver_assets_before); } @@ -1169,7 +1127,7 @@ fn system_para_to_penpal_receiver_assertions(t: SystemParaToParaTest) { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == relative_id, who: *who == t.receiver.account_id, }, @@ -1203,7 +1161,11 @@ fn reserve_transfer_usdt_from_asset_hub_to_para() { let usdt_from_asset_hub = PenpalUsdtFromAssetHub::get(); // Setup the pool so we can swap the custom asset for native asset to pay for fees. - create_pool_with_dot_on!(PenpalB, PenpalUsdtFromAssetHub::get(), true, PenpalAssetOwner::get()); + create_foreign_pool_with_native_on!( + PenpalB, + PenpalUsdtFromAssetHub::get(), + PenpalAssetOwner::get() + ); let assets: Assets = vec![( [PalletInstance(ASSETS_PALLET_ID), GeneralIndex(usdt_id.into())], @@ -1235,7 +1197,7 @@ fn reserve_transfer_usdt_from_asset_hub_to_para() { Balances::free_balance(&sender) }); let receiver_initial_balance = - foreign_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); + assets_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); fn usdt_sender_assertions(_t: SystemParaToParaTest) { AssetHubPolkadot::assert_xcm_pallet_attempted_complete(None); @@ -1254,7 +1216,7 @@ fn reserve_transfer_usdt_from_asset_hub_to_para() { type Balances = ::Balances; Balances::free_balance(&sender) }); - let receiver_after_balance = foreign_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); + let receiver_after_balance = assets_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); assert!(sender_after_native_balance < sender_initial_native_balance); // Sender account's balance decreases. @@ -1305,18 +1267,19 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { ); create_pool_with_dot_on!(AssetHubPolkadot, usdt, false, AssetHubPolkadotSender::get()); // We also need a pool between DOT and USDT on PenpalB. - create_pool_with_dot_on!(PenpalB, PenpalUsdtFromAssetHub::get(), true, PenpalAssetOwner::get()); + create_foreign_pool_with_native_on!( + PenpalB, + PenpalUsdtFromAssetHub::get(), + PenpalAssetOwner::get() + ); let usdt_from_asset_hub = PenpalUsdtFromAssetHub::get(); - PenpalA::execute_with(|| { - use frame_support::traits::tokens::fungibles::Mutate; - type ForeignAssets = ::ForeignAssets; - assert_ok!(>::mint_into( - usdt_from_asset_hub.clone(), - &sender, - asset_amount_to_send + fee_amount_to_send, - )); - }); + PenpalA::mint_foreign_asset( + ::RuntimeOrigin::signed(PenpalAssetOwner::get()), + usdt_from_asset_hub.clone(), + sender.clone(), + asset_amount_to_send + fee_amount_to_send, + ); // Prepare assets to transfer. let assets: Assets = @@ -1393,7 +1356,7 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, amount: transferred_amount }, ) => { asset_id: *asset_id == expected_id, @@ -1413,7 +1376,7 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == expected_id, who: *who == t.receiver.account_id, }, @@ -1423,9 +1386,9 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { } // Query initial balances - let sender_assets_before = foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); + let sender_assets_before = assets_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); let receiver_assets_before = - foreign_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); + assets_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); test.set_assertion::(usdt_sender_assertions); test.set_assertion::(usdt_hop_assertions); test.set_assertion::(usdt_receiver_assertions); @@ -1433,8 +1396,8 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() { test.assert(); // Query final balances - let sender_assets_after = foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); - let receiver_assets_after = foreign_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); + let sender_assets_after = assets_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); + let receiver_assets_after = assets_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); // Sender's balance is reduced by amount assert!(sender_assets_after < sender_assets_before - asset_amount_to_send); diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/swap.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/swap.rs index 5d05fbfbb5..73182f6fee 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/swap.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/swap.rs @@ -15,7 +15,6 @@ use crate::*; use emulated_integration_tests_common::test_xcm_fee_querying_apis_work_for_asset_hub; -use polkadot_system_emulated_network::penpal_emulated_chain::LocalTeleportableToAssetHub as PenpalLocalTeleportableToAssetHub; use system_parachains_constants::polkadot::currency::SYSTEM_PARA_EXISTENTIAL_DEPOSIT; #[test] @@ -122,8 +121,7 @@ fn swap_locally_on_chain_using_local_assets() { #[test] fn swap_locally_on_chain_using_foreign_assets() { let asset_native = Box::new(asset_hub_polkadot_runtime::xcm_config::DotLocation::get()); - let asset_location_on_penpal: Location = - PenpalA::execute_with(PenpalLocalTeleportableToAssetHub::get); + let asset_location_on_penpal: Location = PenpalA::execute_with(PenpalLocalPen2Asset::get); let foreign_asset_at_asset_hub_polkadot = Location::new(1, [Parachain(PenpalA::para_id().into())]) .appended_with(asset_location_on_penpal) diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/teleport.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/teleport.rs index 7f4529ec81..134008a664 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/teleport.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/teleport.rs @@ -13,13 +13,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::*; +use crate::{assets_balance_on, *}; use asset_hub_polkadot_runtime::xcm_config::XcmConfig as AssetHubPolkadotXcmConfig; use emulated_integration_tests_common::xcm_helpers::non_fee_asset; -use polkadot_system_emulated_network::{ - penpal_emulated_chain::LocalTeleportableToAssetHub as PenpalLocalTeleportableToAssetHub, - polkadot_emulated_chain::polkadot_runtime::Dmp, -}; +use polkadot_system_emulated_network::polkadot_emulated_chain::polkadot_runtime::Dmp; fn penpal_to_ah_foreign_assets_sender_assertions(t: ParaToSystemParaTest) { type RuntimeEvent = ::RuntimeEvent; @@ -32,7 +29,7 @@ fn penpal_to_ah_foreign_assets_sender_assertions(t: ParaToSystemParaTest) { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, .. } ) => { asset_id: *asset_id == system_para_native_asset_location, @@ -101,7 +98,7 @@ fn ah_to_penpal_foreign_assets_receiver_assertions(t: SystemParaToParaTest) { amount: *amount == expected_asset_amount, }, // native asset for fee is deposited to receiver - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == Location::parent(), who: *who == t.receiver.account_id, }, @@ -226,11 +223,7 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using ) { // Init values for Parachain let fee_amount_to_send: Balance = ASSET_HUB_POLKADOT_ED * 10000; - let asset_location_on_penpal = PenpalA::execute_with(PenpalLocalTeleportableToAssetHub::get); - let asset_id_on_penpal = match asset_location_on_penpal.last() { - Some(GeneralIndex(id)) => *id as u32, - _ => unreachable!(), - }; + let asset_location_on_penpal = PenpalA::execute_with(PenpalLocalPen2Asset::get); let asset_amount_to_send = ASSET_HUB_POLKADOT_ED * 1000; let asset_owner = PenpalAssetOwner::get(); let system_para_native_asset_location = DotLocation::get(); @@ -256,9 +249,9 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using fee_amount_to_send * 2, ); // No need to create the asset (only mint) as it exists in genesis. - PenpalB::mint_asset( + PenpalB::mint_foreign_asset( ::RuntimeOrigin::signed(asset_owner.clone()), - asset_id_on_penpal, + asset_location_on_penpal.clone(), sender.clone(), asset_amount_to_send, ); @@ -274,10 +267,9 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using )]); // Init values for System Parachain - let asset_location_on_penpal_v4: Location = asset_location_on_penpal.clone(); let foreign_asset_at_asset_hub_polkadot = Location::new(1, [Parachain(PenpalB::para_id().into())]) - .appended_with(asset_location_on_penpal_v4) + .appended_with(asset_location_on_penpal.clone()) .unwrap(); let penpal_to_ah_beneficiary_id = AssetHubPolkadotReceiver::get(); @@ -290,25 +282,21 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using penpal_to_ah_beneficiary_id, asset_amount_to_send, penpal_assets, - Some(asset_id_on_penpal), + Some(asset_location_on_penpal.clone()), fee_asset_index, ), }; let mut penpal_to_ah = ParaToSystemParaTest::new(penpal_to_ah_test_args); - let penpal_sender_balance_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location.clone(), - &PenpalBSender::get(), - ) - }); + let penpal_sender_balance_before = assets_balance_on!( + PenpalB, + system_para_native_asset_location.clone(), + &PenpalBSender::get() + ); let ah_receiver_balance_before = penpal_to_ah.receiver.balance; - let penpal_sender_assets_before = PenpalB::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalBSender::get()) - }); + let penpal_sender_assets_before = + assets_balance_on!(PenpalB, asset_location_on_penpal.clone(), &PenpalBSender::get()); let ah_receiver_assets_before = AssetHubPolkadot::execute_with(|| { type Assets = ::ForeignAssets; >::balance( @@ -322,20 +310,16 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using penpal_to_ah.set_dispatchable::(para_to_ah_dispatchable); penpal_to_ah.assert(); - let penpal_sender_balance_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location.clone(), - &PenpalBSender::get(), - ) - }); + let penpal_sender_balance_after = assets_balance_on!( + PenpalB, + system_para_native_asset_location.clone(), + &PenpalBSender::get() + ); let ah_receiver_balance_after = penpal_to_ah.receiver.balance; - let penpal_sender_assets_after = PenpalB::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalBSender::get()) - }); + let penpal_sender_assets_after = + assets_balance_on!(PenpalB, asset_location_on_penpal.clone(), &PenpalBSender::get()); let ah_receiver_assets_after = AssetHubPolkadot::execute_with(|| { type Assets = ::ForeignAssets; >::balance( @@ -397,20 +381,18 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using ah_to_penpal_beneficiary_id, asset_amount_to_send, ah_assets, - Some(asset_id_on_penpal), + Some(asset_location_on_penpal.clone()), fee_asset_index, ), }; let mut ah_to_penpal = SystemParaToParaTest::new(ah_to_penpal_test_args); let ah_sender_balance_before = ah_to_penpal.sender.balance; - let penpal_receiver_balance_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location.clone(), - &PenpalBReceiver::get(), - ) - }); + let penpal_receiver_balance_before = assets_balance_on!( + PenpalB, + system_para_native_asset_location.clone(), + &PenpalBReceiver::get() + ); let ah_sender_assets_before = AssetHubPolkadot::execute_with(|| { type ForeignAssets = ::ForeignAssets; @@ -419,10 +401,8 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using &AssetHubPolkadotSender::get(), ) }); - let penpal_receiver_assets_before = PenpalB::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalBReceiver::get()) - }); + let penpal_receiver_assets_before = + assets_balance_on!(PenpalB, asset_location_on_penpal.clone(), &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); @@ -430,13 +410,8 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using ah_to_penpal.assert(); let ah_sender_balance_after = ah_to_penpal.sender.balance; - let penpal_receiver_balance_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance( - system_para_native_asset_location, - &PenpalBReceiver::get(), - ) - }); + let penpal_receiver_balance_after = + assets_balance_on!(PenpalB, system_para_native_asset_location, &PenpalBReceiver::get()); let ah_sender_assets_after = AssetHubPolkadot::execute_with(|| { type ForeignAssets = ::ForeignAssets; @@ -445,10 +420,8 @@ pub fn do_bidirectional_teleport_foreign_assets_between_para_and_asset_hub_using &AssetHubPolkadotSender::get(), ) }); - let penpal_receiver_assets_after = PenpalB::execute_with(|| { - type Assets = ::Assets; - >::balance(asset_id_on_penpal, &PenpalBReceiver::get()) - }); + let penpal_receiver_assets_after = + assets_balance_on!(PenpalB, asset_location_on_penpal.clone(), &PenpalBReceiver::get()); // Sender's balance is reduced assert!(ah_sender_balance_after < ah_sender_balance_before); diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/transact.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/transact.rs index debef1fb7e..8b158f3502 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/transact.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/transact.rs @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{assets_balance_on, create_pool_with_dot_on, foreign_balance_on, *}; +use crate::{assets_balance_on, create_pool_with_dot_on, *}; use asset_hub_polkadot_runtime::xcm_config::DotLocation; use frame_support::traits::tokens::fungibles::Mutate; use xcm::latest::AssetTransferFilter; @@ -125,19 +125,25 @@ fn transact_from_para_to_para_through_asset_hub() { 20_000_000_000 ); // We also need a pool between DOT and USDT on PenpalA. - create_pool_with_dot_on!(PenpalA, PenpalUsdtFromAssetHub::get(), true, PenpalAssetOwner::get()); + create_foreign_pool_with_native_on!( + PenpalA, + PenpalUsdtFromAssetHub::get(), + PenpalAssetOwner::get() + ); // We also need a pool between DOT and USDT on PenpalB. - create_pool_with_dot_on!(PenpalB, PenpalUsdtFromAssetHub::get(), true, PenpalAssetOwner::get()); + create_foreign_pool_with_native_on!( + PenpalB, + PenpalUsdtFromAssetHub::get(), + PenpalAssetOwner::get() + ); let usdt_from_asset_hub = PenpalUsdtFromAssetHub::get(); - PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - assert_ok!(>::mint_into( - usdt_from_asset_hub.clone(), - &sender, - fee_amount_to_send, - )); - }); + PenpalA::mint_foreign_asset( + ::RuntimeOrigin::signed(PenpalAssetOwner::get()), + usdt_from_asset_hub.clone(), + sender.clone(), + fee_amount_to_send, + ); // Give the sender enough Relay tokens to pay for local delivery fees. PenpalA::mint_foreign_asset( @@ -151,9 +157,9 @@ fn transact_from_para_to_para_through_asset_hub() { let receiver = PenpalBReceiver::get(); // Query initial balances - let sender_assets_before = foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); + let sender_assets_before = assets_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); let receiver_assets_before = - foreign_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); + assets_balance_on!(PenpalB, usdt_from_asset_hub.clone(), &receiver); // Now register a new asset on PenpalB from PenpalA/sender account while paying fees using USDT // (going through Asset Hub) @@ -195,8 +201,8 @@ fn transact_from_para_to_para_through_asset_hub() { }); // Query final balances - let sender_assets_after = foreign_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); - let receiver_assets_after = foreign_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); + let sender_assets_after = assets_balance_on!(PenpalA, usdt_from_asset_hub.clone(), &sender); + let receiver_assets_after = assets_balance_on!(PenpalB, usdt_from_asset_hub, &receiver); // Sender's balance is reduced by amount assert_eq!(sender_assets_after, sender_assets_before - fee_amount_to_send); @@ -232,7 +238,7 @@ fn penpal_b_assertions( assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Created { asset_id, creator, owner } ) => { asset_id: *asset_id == expected_asset, @@ -303,7 +309,7 @@ fn transact_using_authorized_alias_from_para_to_asset_hub_and_back_to_para() { // Query initial balances let sender_usdt_on_penpal_before = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); let sender_usdt_on_ah_before = assets_balance_on!(AssetHubPolkadot, USDT_ID, &sender); // Encoded `swap_tokens_for_exact_tokens` call to be executed in AH @@ -434,8 +440,7 @@ fn transact_using_authorized_alias_from_para_to_asset_hub_and_back_to_para() { // Query final balances let sender_usdt_on_ah_after = assets_balance_on!(AssetHubPolkadot, USDT_ID, &sender); - let sender_usdt_on_penpal_after = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + let sender_usdt_on_penpal_after = assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); // Receiver's balance is increased by usdt amount we got from exchange assert_eq!( @@ -497,7 +502,7 @@ fn transact_using_sov_account_from_para_to_asset_hub_and_back_to_para() { // Query initial balances let sender_usdt_on_penpal_before = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); let sender_usdt_on_ah_before = assets_balance_on!(AssetHubPolkadot, USDT_ID, &sov_of_sender_on_asset_hub); @@ -627,8 +632,7 @@ fn transact_using_sov_account_from_para_to_asset_hub_and_back_to_para() { // Query final balances let sender_usdt_on_ah_after = assets_balance_on!(AssetHubPolkadot, USDT_ID, &sov_of_sender_on_asset_hub); - let sender_usdt_on_penpal_after = - foreign_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); + let sender_usdt_on_penpal_after = assets_balance_on!(PenpalA, usdt_penpal_pov.clone(), &sender); // Receiver's balance is increased by usdt amount we got from exchange assert_eq!( diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/xcm_fee_estimation.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/xcm_fee_estimation.rs index 57699471b9..651accc455 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/xcm_fee_estimation.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/xcm_fee_estimation.rs @@ -16,11 +16,11 @@ //! Tests for XCM fee estimation in the runtime. use crate::{ - assert_expected_events, bx, create_pool_with_dot_on, AssetHubPolkadot, - AssetHubPolkadotAssetOwner, AssetHubPolkadotPallet, AssetHubPolkadotSender, Chain, - ParaToParaThroughAHTest, PenpalA, PenpalAPallet, PenpalAReceiver, PenpalAssetOwner, PenpalB, - PenpalBPallet, PenpalBSender, PenpalUsdtFromAssetHub, TestArgs, TestContext, TransferType, - ASSETS_PALLET_ID, + assert_expected_events, assets_balance_on, bx, create_foreign_pool_with_native_on, + create_pool_with_dot_on, AssetHubPolkadot, AssetHubPolkadotAssetOwner, AssetHubPolkadotPallet, + AssetHubPolkadotSender, Chain, ParaToParaThroughAHTest, PenpalA, PenpalAPallet, + PenpalAReceiver, PenpalAssetOwner, PenpalB, PenpalBPallet, PenpalBSender, + PenpalUsdtFromAssetHub, TestArgs, TestContext, TransferType, ASSETS_PALLET_ID, }; use emulated_integration_tests_common::{ impls::{Parachain, TestExt}, @@ -30,7 +30,7 @@ use frame_support::{ assert_ok, dispatch::RawOrigin, sp_runtime::{traits::Dispatchable, DispatchResult}, - traits::fungibles::Inspect, + traits::fungible, BoundedVec, }; use xcm::{latest::AssetTransferFilter, prelude::*}; @@ -102,7 +102,7 @@ fn multi_hop_works() { .unwrap(); assert_eq!(messages_to_query.len(), 1); remote_message = messages_to_query[0].clone(); - let asset_id_for_delivery_fees = VersionedAssetId::from(Location::parent()); + let asset_id_for_delivery_fees = VersionedAssetId::from(Location::here()); let delivery_fees = Runtime::query_delivery_fees( destination_to_query.clone(), remote_message.clone(), @@ -159,19 +159,6 @@ fn multi_hop_works() { intermediate_delivery_fees_amount = get_amount_from_versioned_assets(delivery_fees); }); - // Get the final execution fees in the destination. - let mut final_execution_fees = 0; - ::execute_with(|| { - type Runtime = ::Runtime; - - let weight = Runtime::query_xcm_weight(intermediate_remote_message.clone()).unwrap(); - final_execution_fees = Runtime::query_weight_to_asset_fee( - weight, - VersionedAssetId::from(AssetId(Location::parent())), - ) - .unwrap(); - }); - // Dry-running is done. PenpalB::reset_ext(); AssetHubPolkadot::reset_ext(); @@ -184,16 +171,37 @@ fn multi_hop_works() { sender.clone(), amount_to_send * 2, ); + + // Get the final execution fees at the destination. + // + // Note: We need to do this after resetting the externalities to get an accurate value here. + // This is because the dry-run on Asset Hub does affect the liquidity pool distribution on + // PenpalA which affects the assets amount we have to pay. + // See side-effects: https://github.com/paritytech/polkadot-sdk/issues/11486. + let mut final_execution_fees = 0; + ::execute_with(|| { + type Runtime = ::Runtime; + + let weight = Runtime::query_xcm_weight(intermediate_remote_message.clone()).unwrap(); + final_execution_fees = + Runtime::query_weight_to_asset_fee(weight, VersionedAssetId::from(Location::parent())) + .unwrap(); + }); + AssetHubPolkadot::fund_accounts(vec![(sov_of_sender_on_ah, amount_to_send * 2)]); // Actually run the extrinsic. - let sender_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) + let sender_assets_before = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &sender); + let sender_balance_before = PenpalB::execute_with(|| { + type Balances = ::Balances; + >::balance(&sender) }); - let receiver_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &beneficiary_id) + let receiver_assets_before = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &beneficiary_id); + let receiver_balance_before = PenpalA::execute_with(|| { + type Balances = ::Balances; + >::balance(&beneficiary_id) }); test.set_assertion::(sender_assertions); @@ -202,22 +210,29 @@ fn multi_hop_works() { test.set_dispatchable::(transfer_assets_para_to_para_through_ah_dispatchable); test.assert(); - let sender_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) + let sender_assets_after = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &sender); + let sender_balance_after = PenpalB::execute_with(|| { + type Balances = ::Balances; + >::balance(&sender) }); - let receiver_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &beneficiary_id) + let receiver_assets_after = + assets_balance_on!(PenpalA, relay_native_asset_location, &beneficiary_id); + let receiver_balance_after = PenpalA::execute_with(|| { + type Balances = ::Balances; + >::balance(&beneficiary_id) }); // We know the exact fees on every hop. + assert_eq!(sender_assets_after, sender_assets_before - amount_to_send); assert_eq!( - sender_assets_after, - sender_assets_before - amount_to_send - delivery_fees_amount /* This is charged directly - * from the sender's - * account. */ + sender_balance_after, + // This is charged directly from the sender's account. + sender_balance_before - delivery_fees_amount ); + + // Receiver native balance is unchanged; received funds in relay asset, and paid in relay asset. + assert_eq!(receiver_balance_after, receiver_balance_before); assert_eq!( receiver_assets_after, receiver_assets_before + amount_to_send - @@ -234,7 +249,7 @@ fn sender_assertions(test: ParaToParaThroughAHTest) { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, amount } ) => { asset_id: *asset_id == Location::parent(), @@ -255,7 +270,9 @@ fn hop_assertions(test: ParaToParaThroughAHTest) { RuntimeEvent::Balances( pallet_balances::Event::Withdraw { amount, .. } ) => { - amount: *amount == test.args.amount, + // Depends on: XCM execution fees + delivery fees + liquidity pool + // swap overhead at the destination. + amount: *amount >= test.args.amount * 80/100, }, ] ); @@ -268,7 +285,7 @@ fn receiver_assertions(test: ParaToParaThroughAHTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Deposited { asset_id, who, .. } ) => { asset_id: *asset_id == Location::parent(), @@ -316,7 +333,7 @@ fn pay_fees_sender_assertions(test: ParaToParaThroughAHTest) { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Withdrawn { asset_id, who, .. } ) => { asset_id: *asset_id == Location::parent(), @@ -347,7 +364,7 @@ fn pay_fees_receiver_assertions(test: ParaToParaThroughAHTest) { assert_expected_events!( PenpalA, vec![ - RuntimeEvent::ForeignAssets( + RuntimeEvent::Assets( pallet_assets::Event::Deposited { asset_id, who, .. } ) => { asset_id: *asset_id == Location::parent(), @@ -533,14 +550,10 @@ fn multi_hop_pay_fees_works() { AssetHubPolkadot::fund_accounts(vec![(sov_of_sender_on_ah, amount_to_send * 2)]); // Actually run the extrinsic with exact fees. - let sender_assets_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &beneficiary_id) - }); + let sender_assets_before = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &sender); + let receiver_assets_before = + assets_balance_on!(PenpalA, relay_native_asset_location.clone(), &beneficiary_id); test.set_assertion::(pay_fees_sender_assertions); test.set_assertion::(pay_fees_hop_assertions); @@ -553,14 +566,10 @@ fn multi_hop_pay_fees_works() { test.set_call(call); test.assert(); - let sender_assets_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location.clone(), &sender) - }); - let receiver_assets_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(relay_native_asset_location, &beneficiary_id) - }); + let sender_assets_after = + assets_balance_on!(PenpalB, relay_native_asset_location.clone(), &sender); + let receiver_assets_after = + assets_balance_on!(PenpalA, relay_native_asset_location, &beneficiary_id); // We know the exact fees on every hop. assert_eq!(sender_assets_after, sender_assets_before - amount_to_send); @@ -655,12 +664,11 @@ fn usdt_fee_estimation_in_usdt_works() { 1_000_000_000_000, // 100 DOT 200_000_000 // 200 USDT ); - create_pool_with_dot_on!( + create_foreign_pool_with_native_on!( PenpalB, usdt_location_on_penpal.clone(), - true, PenpalAssetOwner::get(), - 1_000_000_000_000, // 100 DOT + 1_000_000_000_000, // 100 PEN 200_000_000 // 200 USDT ); let beneficiary_id = PenpalAReceiver::get(); 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 index 52ad1341c0..ecea1700e4 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/lib.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/lib.rs @@ -44,6 +44,7 @@ pub use emulated_integration_tests_common::{ xcm_helpers::{xcm_transact_paid_execution, xcm_transact_unpaid_execution}, ASSETS_PALLET_ID, PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, XCM_V4, }; +pub use integration_tests_helpers::assets_balance_on; pub use kusama_polkadot_system_emulated_network::{ asset_hub_kusama_emulated_chain::{ genesis::ED as ASSET_HUB_KUSAMA_ED, AssetHubKusamaParaPallet as AssetHubKusamaPallet, 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 index fdba71af39..388b23f236 100644 --- 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 @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::tests::*; +use crate::{assets_balance_on, tests::*}; fn send_assets_over_bridge(send_fn: F) { // fund the KAH's SA on BHR for paying bridge transport fees @@ -476,10 +476,8 @@ fn send_ksm_from_penpal_kusama_through_asset_hub_kusama_to_asset_hub_polkadot() ); let ksm_in_reserve_on_kah_before = ::account_data_of(sov_pah_on_kah.clone()).free; - let sender_ksm_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_kusama_parachains_latest.clone(), &sender) - }); + let sender_ksm_before = + assets_balance_on!(PenpalA, ksm_at_kusama_parachains_latest.clone(), &sender); let receiver_ksm_before = foreign_balance_on_ah_polkadot(ksm_at_asset_hub_polkadot.clone(), &receiver); @@ -536,10 +534,7 @@ fn send_ksm_from_penpal_kusama_through_asset_hub_kusama_to_asset_hub_polkadot() ); }); - let sender_ksm_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_kusama_parachains_latest, &sender) - }); + let sender_ksm_after = assets_balance_on!(PenpalA, ksm_at_kusama_parachains_latest, &sender); let receiver_ksm_after = foreign_balance_on_ah_polkadot(ksm_at_asset_hub_polkadot, &receiver); let ksm_in_reserve_on_kah_after = ::account_data_of(sov_pah_on_kah.clone()).free; @@ -598,10 +593,8 @@ fn send_back_dot_from_penpal_kusama_through_asset_hub_kusama_to_asset_hub_polkad AssetHubPolkadot::fund_accounts(vec![(sov_kah_on_pah.clone(), amount * 2)]); // balances before - let sender_dot_before = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains_latest.clone(), &sender) - }); + let sender_dot_before = + assets_balance_on!(PenpalA, dot_at_kusama_parachains_latest.clone(), &sender); let receiver_dot_before = ::account_data_of(receiver.clone()).free; // send DOTs over the bridge, KSMs only used to pay fees on local AH, pay with DOT on remote AH @@ -678,10 +671,7 @@ fn send_back_dot_from_penpal_kusama_through_asset_hub_kusama_to_asset_hub_polkad ); }); - let sender_dot_after = PenpalA::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains_latest, &sender) - }); + let sender_dot_after = assets_balance_on!(PenpalA, dot_at_kusama_parachains_latest, &sender); let receiver_dot_after = ::account_data_of(receiver).free; // Sender's balance is reduced by sent "amount" 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 index bf323c3d5d..5e737456c6 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/lib.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/lib.rs @@ -35,6 +35,7 @@ pub use bp_messages::LegacyLaneId; // Cumulus pub use emulated_integration_tests_common::{ accounts::{ALICE, BOB}, + create_foreign_pool_with_native_on, create_foreign_pool_with_parent_native_on, impls::Inspect, test_parachain_is_trusted_teleporter, test_parachain_is_trusted_teleporter_for_relay, test_relay_is_trusted_teleporter, @@ -45,7 +46,10 @@ pub use emulated_integration_tests_common::{ xcm_helpers::{xcm_transact_paid_execution, xcm_transact_unpaid_execution}, ASSETS_PALLET_ID, PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, XCM_V4, }; -pub use integration_tests_helpers::common::snowbridge::{MIN_ETHER_BALANCE, WETH}; +pub use integration_tests_helpers::{ + assets_balance_on, + common::snowbridge::{MIN_ETHER_BALANCE, WETH}, +}; pub use kusama_polkadot_system_emulated_network::{ asset_hub_kusama_emulated_chain::{ genesis::ED as ASSET_HUB_KUSAMA_ED, AssetHubKusamaParaPallet as AssetHubKusamaPallet, diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/aliases.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/aliases.rs index 5a9a08cb0b..6ed917c8c5 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/aliases.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/aliases.rs @@ -32,7 +32,9 @@ fn account_on_sibling_chain_cannot_alias_into_same_local_account() { // origin and target are the same account on different chains let origin: AccountId = [1; 32].into(); let target = origin.clone(); - let fees = POLKADOT_ED * 10; + // Depends on: XCM execution fees + liquidity pool swap overhead at the + // destination (asset conversion cost from relay token to native). + let fees = POLKADOT_ED * 20; PenpalB::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -63,7 +65,9 @@ fn account_on_sibling_chain_cannot_alias_into_different_local_account() { // origin and target are different accounts on different chains let origin: AccountId = [1; 32].into(); let target: AccountId = [2; 32].into(); - let fees = POLKADOT_ED * 10; + // Depends on: XCM execution fees + liquidity pool swap overhead at the + // destination (asset conversion cost from relay token to native). + let fees = POLKADOT_ED * 20; PenpalB::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -92,7 +96,9 @@ fn authorized_cross_chain_aliases() { let origin: AccountId = [100; 32].into(); let bad_origin: AccountId = [150; 32].into(); let target: AccountId = [200; 32].into(); - let fees = POLKADOT_ED * 10; + // Depends on: XCM execution fees + liquidity pool swap overhead at the + // destination (asset conversion cost from relay token to native). + let fees = POLKADOT_ED * 20; let pal_admin = ::RuntimeOrigin::signed(PenpalAssetOwner::get()); PenpalB::mint_foreign_asset(pal_admin.clone(), Location::parent(), origin.clone(), fees * 10); 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 index be3dad37c3..163e0ba95d 100644 --- 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 @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::tests::*; +use crate::{assets_balance_on, tests::*}; use bp_bridge_hub_polkadot::snowbridge::EthereumNetwork; use snowbridge_inbound_queue_primitives::EthereumLocationsConverterFor; use xcm_executor::traits::ConvertLocation; @@ -44,10 +44,9 @@ fn set_up_dot_for_penpal_polkadot_through_pah_to_kah( let dot_at_asset_hub_kusama = bridged_dot_at_ah_kusama(); let reserves = vec![(asset_hub_polkadot_global_location(), false).into()]; create_foreign_on_ah_kusama(dot_at_asset_hub_kusama.clone(), true, reserves); - create_pool_with_native_on!( + create_foreign_pool_with_parent_native_on!( AssetHubKusama, dot_at_asset_hub_kusama.clone(), - true, AssetHubKusamaSender::get() ); @@ -102,10 +101,9 @@ fn send_dot_usdt_and_weth_from_asset_hub_polkadot_to_asset_hub_kusama() { let reserves = vec![(asset_hub_polkadot_global_location(), false).into()]; create_foreign_on_ah_kusama(bridged_dot_at_asset_hub_kusama.clone(), true, reserves); - create_pool_with_native_on!( + create_foreign_pool_with_parent_native_on!( AssetHubKusama, bridged_dot_at_asset_hub_kusama.clone(), - true, AssetHubKusamaSender::get() ); @@ -202,10 +200,9 @@ fn send_dot_usdt_and_weth_from_asset_hub_polkadot_to_asset_hub_kusama() { ); let reserves = vec![(asset_hub_polkadot_global_location(), false).into()]; create_foreign_on_ah_kusama(bridged_usdt_at_asset_hub_kusama.clone(), true, reserves); - create_pool_with_native_on!( + create_foreign_pool_with_parent_native_on!( AssetHubKusama, bridged_usdt_at_asset_hub_kusama.clone(), - true, AssetHubKusamaSender::get() ); @@ -359,10 +356,9 @@ fn send_dot_from_polkadot_relay_through_asset_hub_polkadot_to_asset_hub_kusama() let reserves = vec![(asset_hub_polkadot_global_location(), false).into()]; create_foreign_on_ah_kusama(bridged_dot_at_ah_kusama.clone(), true, reserves); - create_pool_with_native_on!( + create_foreign_pool_with_parent_native_on!( AssetHubKusama, bridged_dot_at_ah_kusama.clone(), - true, AssetHubKusamaSender::get() ); @@ -479,10 +475,8 @@ fn send_dot_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_kusama( ); let dot_in_reserve_on_pah_before = ::account_data_of(sov_kah_on_pah.clone()).free; - let sender_dot_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_polkadot_parachains.clone(), &sender) - }); + let sender_dot_before = + assets_balance_on!(PenpalB, dot_at_polkadot_parachains.clone(), &sender); let receiver_dot_before = foreign_balance_on_ah_kusama(dot_at_asset_hub_kusama.clone(), &receiver); @@ -535,10 +529,7 @@ fn send_dot_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_kusama( ); }); - let sender_dot_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_polkadot_parachains, &sender) - }); + let sender_dot_after = assets_balance_on!(PenpalB, dot_at_polkadot_parachains, &sender); let receiver_dot_after = foreign_balance_on_ah_kusama(dot_at_asset_hub_kusama, &receiver); let dot_in_reserve_on_pah_after = ::account_data_of(sov_kah_on_pah.clone()).free; @@ -580,7 +571,11 @@ fn send_dot_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_kusama_ )], )); }); - create_pool_with_native_on!(PenpalA, dot_at_kusama_parachains.clone(), true, asset_owner); + create_foreign_pool_with_native_on!( + PenpalA, + dot_at_kusama_parachains.clone(), + asset_owner.clone() + ); let sov_kah_on_pah = AssetHubPolkadot::sovereign_account_of_parachain_on_other_global_consensus( Kusama, @@ -588,14 +583,10 @@ fn send_dot_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_kusama_ ); let dot_in_reserve_on_pah_before = ::account_data_of(sov_kah_on_pah.clone()).free; - let sender_dot_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_polkadot_parachains.clone(), &sender) - }); - let receiver_dot_before = PenpalA::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains.clone(), &receiver) - }); + let sender_dot_before = + assets_balance_on!(PenpalB, dot_at_polkadot_parachains.clone(), &sender); + let receiver_dot_before = + assets_balance_on!(PenpalA, dot_at_kusama_parachains.clone(), &receiver); // Send dot over bridge { @@ -657,14 +648,8 @@ fn send_dot_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_kusama_ PenpalA::assert_xcmp_queue_success(None); }); - let sender_dot_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(dot_at_polkadot_parachains, &sender) - }); - let receiver_dot_after = PenpalA::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains, &receiver) - }); + let sender_dot_after = assets_balance_on!(PenpalB, dot_at_polkadot_parachains, &sender); + let receiver_dot_after = assets_balance_on!(PenpalA, dot_at_kusama_parachains, &receiver); let dot_in_reserve_on_pah_after = ::account_data_of(sov_kah_on_pah.clone()).free; @@ -689,10 +674,9 @@ fn send_dot_from_polkadot_relay_through_asset_hub_polkadot_to_asset_hub_kusama_t // create foreign DOT on AH Kusama let reserves = vec![(asset_hub_polkadot_global_location(), false).into()]; create_foreign_on_ah_kusama(dot_at_kusama_parachains.clone(), true, reserves); - create_pool_with_native_on!( + create_foreign_pool_with_parent_native_on!( AssetHubKusama, dot_at_kusama_parachains.clone(), - true, AssetHubKusamaSender::get() ); // create foreign DOT on Penpal Kusama @@ -714,7 +698,11 @@ fn send_dot_from_polkadot_relay_through_asset_hub_polkadot_to_asset_hub_kusama_t )], )); }); - create_pool_with_native_on!(PenpalA, dot_at_kusama_parachains.clone(), true, asset_owner); + create_foreign_pool_with_native_on!( + PenpalA, + dot_at_kusama_parachains.clone(), + asset_owner.clone() + ); Polkadot::execute_with(|| { let root_origin = ::RuntimeOrigin::root(); @@ -737,10 +725,8 @@ fn send_dot_from_polkadot_relay_through_asset_hub_polkadot_to_asset_hub_kusama_t let dot_in_reserve_on_pah_before = ::account_data_of(sov_kah_on_pah.clone()).free; let sender_dot_before = ::account_data_of(sender.clone()).free; - let receiver_dot_before = PenpalA::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains.clone(), &receiver) - }); + let receiver_dot_before = + assets_balance_on!(PenpalA, dot_at_kusama_parachains.clone(), &receiver); // Send dot from Polkadot to PAH over bridge to KAH then onto Penpal parachain { @@ -835,10 +821,7 @@ fn send_dot_from_polkadot_relay_through_asset_hub_polkadot_to_asset_hub_kusama_t }); let sender_dot_after = ::account_data_of(sender.clone()).free; - let receiver_dot_after = PenpalA::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance(dot_at_kusama_parachains, &receiver) - }); + let receiver_dot_after = assets_balance_on!(PenpalA, dot_at_kusama_parachains, &receiver); let dot_in_reserve_on_pah_after = ::account_data_of(sov_kah_on_pah.clone()).free; @@ -901,10 +884,8 @@ fn send_back_ksm_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_ku AssetHubKusama::fund_accounts(vec![(sov_pah_on_kah.clone(), amount * 2)]); // balances before - let sender_ksm_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains_latest.clone(), &sender) - }); + let sender_ksm_before = + assets_balance_on!(PenpalB, ksm_at_polkadot_parachains_latest.clone(), &sender); let receiver_ksm_before = ::account_data_of(receiver.clone()).free; // send KSMs over the bridge, DOTs only used to pay fees on local AH, pay with KSM on remote AH @@ -980,10 +961,7 @@ fn send_back_ksm_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_ku ); }); - let sender_ksm_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains_latest, &sender) - }); + let sender_ksm_after = assets_balance_on!(PenpalB, ksm_at_polkadot_parachains_latest, &sender); let receiver_ksm_after = ::account_data_of(receiver).free; // Sender's balance is reduced by sent "amount" @@ -1013,10 +991,9 @@ fn send_back_ksm_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_ku reserves, prefund_accounts, ); - create_pool_with_native_on!( + create_foreign_pool_with_parent_native_on!( AssetHubPolkadot, ksm_at_polkadot_parachains.clone(), - true, AssetHubKusamaSender::get() ); let asset_owner: AccountId = AssetHubPolkadot::account_id_of(ALICE); @@ -1054,14 +1031,10 @@ fn send_back_ksm_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_ku AssetHubKusama::fund_accounts(vec![(sov_pah_on_kah.clone(), amount * 2)]); // balances before - let sender_ksm_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains.clone(), &sender) - }); - let receiver_ksm_before = PenpalA::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance(ksm_at_kusama_parachains.clone(), &receiver) - }); + let sender_ksm_before = + assets_balance_on!(PenpalB, ksm_at_polkadot_parachains.clone(), &sender); + let receiver_ksm_before = + assets_balance_on!(PenpalA, ksm_at_kusama_parachains.clone(), &receiver); // send KSMs over the bridge, all fees paid with KSM along the way { @@ -1169,14 +1142,9 @@ fn send_back_ksm_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_ku PenpalA::assert_xcmp_queue_success(None); }); - let sender_ksm_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains, &sender) - }); - let receiver_ksm_after = PenpalA::execute_with(|| { - type Assets = ::ForeignAssets; - >::balance(ksm_at_kusama_parachains.clone(), &receiver) - }); + let sender_ksm_after = assets_balance_on!(PenpalB, ksm_at_polkadot_parachains, &sender); + let receiver_ksm_after = + assets_balance_on!(PenpalA, ksm_at_kusama_parachains.clone(), &receiver); // Sender's balance is reduced by sent "amount" assert_eq!(sender_ksm_after, sender_ksm_before - amount); @@ -1205,10 +1173,9 @@ fn send_back_ksm_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_ku reserves, prefund_accounts, ); - create_pool_with_native_on!( + create_foreign_pool_with_parent_native_on!( AssetHubPolkadot, ksm_at_polkadot_parachains.clone(), - true, AssetHubKusamaSender::get() ); let asset_owner: AccountId = AssetHubPolkadot::account_id_of(ALICE); @@ -1249,10 +1216,8 @@ fn send_back_ksm_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_ku Kusama::fund_accounts(vec![(::XcmPallet::check_account(), amount)]); // balances before - let sender_ksm_before = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains.clone(), &sender) - }); + let sender_ksm_before = + assets_balance_on!(PenpalB, ksm_at_polkadot_parachains.clone(), &sender); let receiver_ksm_before = ::account_data_of(receiver.clone()).free; // send KSMs over the bridge, all fees paid with KSM along the way @@ -1358,10 +1323,7 @@ fn send_back_ksm_from_penpal_polkadot_through_asset_hub_polkadot_to_asset_hub_ku ); }); - let sender_ksm_after = PenpalB::execute_with(|| { - type ForeignAssets = ::ForeignAssets; - >::balance(ksm_at_polkadot_parachains, &sender) - }); + let sender_ksm_after = assets_balance_on!(PenpalB, ksm_at_polkadot_parachains, &sender); let receiver_ksm_after = ::account_data_of(receiver.clone()).free; // Sender's balance is reduced by sent "amount" diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge.rs index a092e56adf..07b18c6ca2 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge.rs @@ -150,7 +150,7 @@ fn send_token_from_ethereum_to_penpal() { )], )); - assert_ok!(::ForeignAssets::force_create( + assert_ok!(::Assets::force_create( ::RuntimeOrigin::root(), weth_asset_location.clone(), asset_hub_sovereign.clone().into(), @@ -158,7 +158,7 @@ fn send_token_from_ethereum_to_penpal() { 1000 )); - assert!(::ForeignAssets::asset_exists(weth_asset_location)); + assert!(::Assets::asset_exists(weth_asset_location)); }); BridgeHubPolkadot::execute_with(|| { @@ -218,7 +218,7 @@ fn send_token_from_ethereum_to_penpal() { assert_expected_events!( PenpalB, vec![ - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { .. }) => {}, + RuntimeEvent::Assets(pallet_assets::Event::Deposited { .. }) => {}, ] ); }); diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_common.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_common.rs index 583f0f4a18..65e0cfda5f 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_common.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_common.rs @@ -19,12 +19,13 @@ use asset_hub_polkadot_runtime::xcm_config::{ }; use bp_bridge_hub_polkadot::snowbridge::EthereumNetwork; use emulated_integration_tests_common::{ - create_pool_with_native_on, PenpalBPen2TeleportableAssetLocation, + create_foreign_pool_with_native_on, create_foreign_pool_with_parent_native_on, + PenpalBPen2TeleportableAssetLocation, }; use frame_support::traits::fungibles::Mutate; use hex_literal::hex; use polkadot_system_emulated_network::penpal_emulated_chain::{ - penpal_runtime::xcm_config::{CheckingAccount, TELEPORTABLE_ASSET_ID}, + penpal_runtime::xcm_config::{CheckingAccount, LocalPen2Asset}, PenpalAssetOwner, }; use snowbridge_core::AssetMetadata; @@ -268,62 +269,62 @@ pub fn prefund_accounts_on_penpal_b() { (sudo_account.clone(), INITIAL_FUND), ]); PenpalB::execute_with(|| { - assert_ok!(::ForeignAssets::mint_into( + assert_ok!(::Assets::mint_into( Location::parent(), &PenpalBReceiver::get(), INITIAL_FUND, )); - assert_ok!(::ForeignAssets::mint_into( + assert_ok!(::Assets::mint_into( Location::parent(), &PenpalBSender::get(), INITIAL_FUND, )); - assert_ok!(::ForeignAssets::mint_into( + assert_ok!(::Assets::mint_into( Location::parent(), &sudo_account, INITIAL_FUND, )); assert_ok!(::Assets::mint_into( - TELEPORTABLE_ASSET_ID, + LocalPen2Asset::get(), &PenpalBReceiver::get(), INITIAL_FUND, )); assert_ok!(::Assets::mint_into( - TELEPORTABLE_ASSET_ID, + LocalPen2Asset::get(), &PenpalBSender::get(), INITIAL_FUND, )); assert_ok!(::Assets::mint_into( - TELEPORTABLE_ASSET_ID, + LocalPen2Asset::get(), &sudo_account, INITIAL_FUND, )); - assert_ok!(::ForeignAssets::mint_into( + assert_ok!(::Assets::mint_into( weth_location(), &PenpalBReceiver::get(), INITIAL_FUND, )); - assert_ok!(::ForeignAssets::mint_into( + assert_ok!(::Assets::mint_into( weth_location(), &PenpalBSender::get(), INITIAL_FUND, )); - assert_ok!(::ForeignAssets::mint_into( + assert_ok!(::Assets::mint_into( weth_location(), &sudo_account, INITIAL_FUND, )); - assert_ok!(::ForeignAssets::mint_into( + assert_ok!(::Assets::mint_into( eth_location(), &PenpalBReceiver::get(), INITIAL_FUND, )); - assert_ok!(::ForeignAssets::mint_into( + assert_ok!(::Assets::mint_into( eth_location(), &PenpalBSender::get(), INITIAL_FUND, )); - assert_ok!(::ForeignAssets::mint_into( + assert_ok!(::Assets::mint_into( eth_location(), &sudo_account, INITIAL_FUND, @@ -412,10 +413,9 @@ pub(crate) fn set_up_foreign_asset_and_dot_pool_on_polkadot_asset_hub(asset: Loc INITIAL_FUND, )); }); - create_pool_with_native_on!( + create_foreign_pool_with_parent_native_on!( AssetHubPolkadot, asset, - true, ethereum_sovereign.clone(), DOT_POOL_AMOUNT, ETH_POOL_AMOUNT @@ -427,16 +427,15 @@ pub(crate) fn set_up_eth_and_dot_pool_on_penpal() { let ethereum_sovereign = ethereum_sovereign(); PenpalB::fund_accounts(vec![(ethereum_sovereign.clone(), INITIAL_FUND)]); PenpalB::execute_with(|| { - assert_ok!(::ForeignAssets::mint_into( + assert_ok!(::Assets::mint_into( eth_location(), ðereum_sovereign.clone(), INITIAL_FUND, )); }); - create_pool_with_native_on!( + create_foreign_pool_with_native_on!( PenpalB, eth_location(), - true, ethereum_sovereign.clone(), DOT_POOL_AMOUNT, ETH_POOL_AMOUNT @@ -457,10 +456,9 @@ pub(crate) fn set_up_eth_and_ksm_pool_on_kusama_asset_hub() { )); }); AssetHubKusama::fund_accounts(vec![(sa_of_pah_on_kah.clone(), INITIAL_FUND)]); - create_pool_with_native_on!( + create_foreign_pool_with_parent_native_on!( AssetHubKusama, eth_location(), - true, sa_of_pah_on_kah.clone(), DOT_POOL_AMOUNT, ETH_POOL_AMOUNT diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_inbound.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_inbound.rs index 2caea50288..b0a11b0d95 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_inbound.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_inbound.rs @@ -612,12 +612,12 @@ fn send_token_to_penpal_v2() { pallet_message_queue::Event::Processed { success: true, .. } ) => {}, // Token was issued to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == token_location, who: *who == beneficiary_acc_bytes.into(), }, // Leftover fees was deposited to beneficiary - RuntimeEvent::ForeignAssets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { + RuntimeEvent::Assets(pallet_assets::Event::Deposited { asset_id, who, .. }) => { asset_id: *asset_id == eth_location(), who: *who == beneficiary_acc_bytes.into(), }, diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound.rs index 15b82a24f6..39e63f31a1 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound.rs @@ -22,7 +22,7 @@ use bridge_hub_polkadot_runtime::{ }; use emulated_integration_tests_common::{impls::Decode, PenpalBPen2TeleportableAssetLocation}; use frame_support::{assert_err_ignore_postinfo, pallet_prelude::TypeInfo, BoundedVec}; -use polkadot_system_emulated_network::penpal_emulated_chain::penpal_runtime::xcm_config::LocalTeleportableToAssetHub; +use polkadot_system_emulated_network::penpal_emulated_chain::penpal_runtime::xcm_config::LocalPen2Asset; use snowbridge_core::{reward::MessageId, AssetMetadata, BasicOperatingMode}; use snowbridge_outbound_queue_primitives::v2::{ContractCall, DeliveryReceipt}; use snowbridge_pallet_outbound_queue_v2::Error; @@ -818,8 +818,7 @@ fn send_message_from_penpal_to_ethereum(sudo: bool) { let remote_fee_asset_on_ethereum = Asset { id: AssetId(eth_location()), fun: Fungible(REMOTE_FEE_AMOUNT_IN_ETHER) }; - let pna = - Asset { id: AssetId(LocalTeleportableToAssetHub::get()), fun: Fungible(TOKEN_AMOUNT) }; + let pna = Asset { id: AssetId(LocalPen2Asset::get()), fun: Fungible(TOKEN_AMOUNT) }; let ena = Asset { id: AssetId(weth_location()), fun: Fungible(TOKEN_AMOUNT / 2) }; From dbed9d6e93176b64fd515c3dd8a70c153eeb96d5 Mon Sep 17 00:00:00 2001 From: Monica Jin Date: Wed, 6 May 2026 19:40:56 +0200 Subject: [PATCH 30/59] AH-Polkadot/Kusama: enable pallet-revive AutoMap (#11416) (#1165) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Completes [polkadot-sdk#11416](https://github.com/paritytech/polkadot-sdk/pull/11416) on AH-Polkadot and AH-Kusama. - `frame_system::Config::OnNewAccount`/`OnKilledAccount` → `pallet_revive::AutoMapper` - `pallet_revive::Config::AutoMap` → `ConstBool` - Append `pallet_revive::migrations::v3::Migration` to `MbmMigrations` --- system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs | 6 +++--- .../asset-hubs/asset-hub-kusama/src/migrations.rs | 1 + system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs | 6 +++--- .../asset-hubs/asset-hub-polkadot/src/migrations.rs | 1 + 4 files changed, 8 insertions(+), 6 deletions(-) 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 af91102799..c1d7944cbb 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -213,8 +213,8 @@ impl frame_system::Config for Runtime { type DbWeight = InMemoryDbWeight; type Version = Version; type PalletInfo = PalletInfo; - type OnNewAccount = (); - type OnKilledAccount = (); + type OnNewAccount = pallet_revive::AutoMapper; + type OnKilledAccount = pallet_revive::AutoMapper; type AccountData = pallet_balances::AccountData; type SystemWeightInfo = weights::frame_system::WeightInfo; type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo; @@ -1267,7 +1267,7 @@ impl pallet_revive::Config for Runtime { type MaxEthExtrinsicWeight = MaxEthExtrinsicWeight; // Must be set to `false` in a live chain type DebugEnabled = ConstBool; - type AutoMap = ConstBool; + type AutoMap = ConstBool; type GasScale = ConstU32<100_000>; type OnBurn = (); } diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs index 161a7c1fac..982b229f2a 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs @@ -66,6 +66,7 @@ mod multiblock_migrations { ForeignAssetsInstance, pallet_assets_precompiles::weights::SubstrateWeight, >, + pallet_revive::migrations::v3::Migration, ); /// This type provides reserves information for `asset_id`. Meant to be used in a migration diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 0a1bd8353e..99e984e05a 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -263,8 +263,8 @@ impl frame_system::Config for Runtime { type DbWeight = InMemoryDbWeight; type Version = Version; type PalletInfo = PalletInfo; - type OnNewAccount = (); - type OnKilledAccount = (); + type OnNewAccount = pallet_revive::AutoMapper; + type OnKilledAccount = pallet_revive::AutoMapper; type AccountData = pallet_balances::AccountData; type SystemWeightInfo = weights::frame_system::WeightInfo; type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo; @@ -1465,7 +1465,7 @@ impl pallet_revive::Config for Runtime { type MaxEthExtrinsicWeight = MaxEthExtrinsicWeight; // Must be set to `false` in a live chain type DebugEnabled = ConstBool; - type AutoMap = ConstBool; + type AutoMap = ConstBool; type GasScale = ConstU32<80_000>; type OnBurn = Dap; } diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs index eed9243dc9..62173aa2cd 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs @@ -133,6 +133,7 @@ mod multiblock_migrations { ForeignAssetsInstance, pallet_assets_precompiles::weights::SubstrateWeight, >, + pallet_revive::migrations::v3::Migration, ); /// This type provides reserves information for `asset_id`. Meant to be used in a migration From 36e1b0b26b433a882b35771334920c7c6f99739c Mon Sep 17 00:00:00 2001 From: Adrian Catangiu Date: Thu, 7 May 2026 14:13:52 +0300 Subject: [PATCH 31/59] integrate unpaid pallet_xcm_bridge_hub_router changes (polkadot-sdk PR #11694) Signed-off-by: Adrian Catangiu --- .../bridges/bridge-hub-kusama/src/tests/asset_transfers.rs | 3 --- .../tests/bridges/bridge-hub-kusama/src/tests/mod.rs | 2 -- .../bridge-hub-kusama/src/tests/register_bridged_assets.rs | 3 --- .../tests/bridges/bridge-hub-kusama/src/tests/send_xcm.rs | 2 -- .../bridge-hub-polkadot/src/tests/asset_transfers.rs | 3 --- .../bridge-hub-polkadot/src/tests/bridged_fellowship.rs | 3 --- .../tests/bridges/bridge-hub-polkadot/src/tests/mod.rs | 2 -- .../src/tests/register_bridged_assets.rs | 3 --- .../bridges/bridge-hub-polkadot/src/tests/send_xcm.rs | 2 -- .../bridges/bridge-hub-polkadot/src/tests/snowbridge.rs | 2 -- .../src/tests/snowbridge_v2_outbound_from_kusama.rs | 5 ----- .../asset-hubs/asset-hub-kusama/tests/tests.rs | 5 ++--- .../asset-hubs/asset-hub-polkadot/tests/tests.rs | 7 +++---- 13 files changed, 5 insertions(+), 37 deletions(-) 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 index 388b23f236..6fb3274e61 100644 --- 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 @@ -16,9 +16,6 @@ use crate::{assets_balance_on, tests::*}; fn send_assets_over_bridge(send_fn: F) { - // fund the KAH's SA on BHR for paying bridge transport fees - BridgeHubKusama::fund_para_sovereign(AssetHubKusama::para_id(), 10_000_000_000_000u128); - // set XCM versions let local_asset_hub = PenpalA::sibling_location_of(AssetHubKusama::para_id()); PenpalA::force_xcm_version(local_asset_hub.clone(), XCM_VERSION); 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 index 2457d5fccb..932830085e 100644 --- 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 @@ -234,8 +234,6 @@ pub(crate) fn assert_bridge_hub_kusama_message_accepted(expected_processed: bool assert_expected_events!( BridgeHubKusama, vec![ - // pay for bridge fees - RuntimeEvent::Balances(pallet_balances::Event::Withdraw { .. }) => {}, // message exported RuntimeEvent::BridgePolkadotMessages( pallet_bridge_messages::Event::MessageAccepted { .. } diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/register_bridged_assets.rs b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/register_bridged_assets.rs index ca9c6940e8..a3c0f9b616 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/register_bridged_assets.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-kusama/src/tests/register_bridged_assets.rs @@ -58,9 +58,6 @@ fn register_kusama_asset_on_pah_from_kah() { let destination = asset_hub_polkadot_location(); - // fund the KAH's SA on KBH 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.clone(), XCM_VERSION); BridgeHubKusama::force_xcm_version(bridge_hub_polkadot_location(), XCM_VERSION); 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 index 6f30118d77..c41c2de198 100644 --- 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 @@ -75,8 +75,6 @@ fn send_xcm_through_opened_lane_with_different_xcm_version_on_hops_works() { let native_token = Location::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(), amount * 10)]); 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 index 163e0ba95d..565a513c75 100644 --- 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 @@ -19,9 +19,6 @@ use snowbridge_inbound_queue_primitives::EthereumLocationsConverterFor; use xcm_executor::traits::ConvertLocation; fn send_assets_over_bridge(send_fn: F) { - // fund the PAH's SA on PBH for paying bridge transport fees - BridgeHubPolkadot::fund_para_sovereign(AssetHubPolkadot::para_id(), 10_000_000_000_000u128); - // set XCM versions let local_asset_hub = PenpalB::sibling_location_of(AssetHubPolkadot::para_id()); PenpalB::force_xcm_version(local_asset_hub.clone(), XCM_VERSION); diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/bridged_fellowship.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/bridged_fellowship.rs index 09c0b59416..cb1ce835cc 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/bridged_fellowship.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/bridged_fellowship.rs @@ -65,9 +65,6 @@ fn fellowship_whitelist_on_kah() { }, ])); - // Fund AHP's SA on BHP for bridge transport fees - BridgeHubPolkadot::fund_para_sovereign(AssetHubPolkadot::para_id(), 10_000_000_000_000u128); - // Set XCM versions AssetHubPolkadot::force_xcm_version(asset_hub_kusama_location(), XCM_VERSION); BridgeHubPolkadot::force_xcm_version(bridge_hub_kusama_location(), XCM_VERSION); 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 index 0e5b4ee4f3..327aff9fed 100644 --- 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 @@ -178,8 +178,6 @@ pub(crate) fn assert_bridge_hub_polkadot_message_accepted(expected_processed: bo assert_expected_events!( BridgeHubPolkadot, vec![ - // pay for bridge fees - RuntimeEvent::Balances(pallet_balances::Event::Withdraw { .. }) => {}, // message exported RuntimeEvent::BridgeKusamaMessages( pallet_bridge_messages::Event::MessageAccepted { .. } diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/register_bridged_assets.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/register_bridged_assets.rs index 9c020a1e70..bfc6fcb465 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/register_bridged_assets.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/register_bridged_assets.rs @@ -78,9 +78,6 @@ fn register_asset_on_kah_from_pah(bridged_asset_at_kah: Location) { let destination = asset_hub_kusama_location(); - // fund the PAH's SA on PBH 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.clone(), XCM_VERSION); BridgeHubPolkadot::force_xcm_version(bridge_hub_kusama_location(), XCM_VERSION); 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 index 5108c0465d..a65134a1db 100644 --- 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 @@ -75,8 +75,6 @@ fn send_xcm_through_opened_lane_with_different_xcm_version_on_hops_works() { let native_token = Location::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(), amount * 10)]); diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge.rs index 07b18c6ca2..e55b430350 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge.rs @@ -1389,8 +1389,6 @@ fn send_weth_from_ethereum_to_ahp_to_ahk_and_back() { assert_expected_events!( BridgeHubKusama, vec![ - // pay for bridge fees - RuntimeEvent::Balances(pallet_balances::Event::Withdraw { .. }) => {}, // message exported RuntimeEvent::BridgePolkadotMessages( pallet_bridge_messages::Event::MessageAccepted { .. } diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound_from_kusama.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound_from_kusama.rs index 0d74071257..740580d050 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound_from_kusama.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_outbound_from_kusama.rs @@ -95,8 +95,6 @@ pub(crate) fn assert_bridge_hub_kusama_message_accepted(expected_processed: bool assert_expected_events!( BridgeHubKusama, vec![ - // pay for bridge fees - RuntimeEvent::Balances(pallet_balances::Event::Withdraw { .. }) => {}, // message exported RuntimeEvent::BridgePolkadotMessages( pallet_bridge_messages::Event::MessageAccepted { .. } @@ -344,9 +342,6 @@ fn register_kusama_asset_on_ethereum_from_rah() { let destination = asset_hub_polkadot_location(); - // fund the RAH's SA on RBH for paying bridge delivery fees - BridgeHubKusama::fund_para_sovereign(AssetHubKusama::para_id(), 10_000_000_000_000u128); - // set XCM versions AssetHubKusama::force_xcm_version(destination.clone(), XCM_VERSION); BridgeHubKusama::force_xcm_version(bridge_hub_polkadot_location(), XCM_VERSION); diff --git a/system-parachains/asset-hubs/asset-hub-kusama/tests/tests.rs b/system-parachains/asset-hubs/asset-hub-kusama/tests/tests.rs index 1fd8f185a7..b6c5b58bdd 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/tests/tests.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/tests/tests.rs @@ -22,8 +22,7 @@ extern crate alloc; use alloc::boxed::Box; use asset_hub_kusama_runtime::{ xcm_config::{ - bridging::{self, XcmBridgeHubRouterFeeAssetId}, - CheckingAccount, KsmLocation, LocationToAccountId, RelayChainLocation, + bridging, CheckingAccount, KsmLocation, LocationToAccountId, RelayChainLocation, RelayTreasuryPalletAccount, StakingPot, TrustBackedAssetsPalletLocation, XcmConfig, }, AllPalletsWithoutSystem, AssetDeposit, Assets, Balances, Block, ExistentialDeposit, @@ -394,7 +393,7 @@ fn limited_reserve_transfer_assets_for_native_asset_to_asset_hub_polkadot_works( }), bridging_to_asset_hub_polkadot, WeightLimit::Unlimited, - Some(XcmBridgeHubRouterFeeAssetId::get()), + None, Some(RelayTreasuryPalletAccount::get()), ) }); diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs b/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs index 405c6c4e80..88e14509f1 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs @@ -19,9 +19,8 @@ use asset_hub_polkadot_runtime::{ xcm_config::{ - bridging, bridging::XcmBridgeHubRouterFeeAssetId, CheckingAccount, DotLocation, - LocationToAccountId, RelayChainLocation, RelayTreasuryPalletAccount, StakingPot, - TrustBackedAssetsPalletLocation, XcmConfig, + bridging, CheckingAccount, DotLocation, LocationToAccountId, RelayChainLocation, + RelayTreasuryPalletAccount, StakingPot, TrustBackedAssetsPalletLocation, XcmConfig, }, AllPalletsWithoutSystem, AssetDeposit, Assets, Balances, Block, Dap, ExistentialDeposit, ForeignAssets, ForeignAssetsInstance, MetadataDepositBase, MetadataDepositPerByte, @@ -390,7 +389,7 @@ fn limited_reserve_transfer_assets_for_native_asset_to_asset_hub_kusama_works() }), bridging_to_asset_hub_kusama, WeightLimit::Unlimited, - Some(XcmBridgeHubRouterFeeAssetId::get()), + None, Some(RelayTreasuryPalletAccount::get()), ) } From 2b1f5c643c152f03b1cb5eb692c0ad2e331dca77 Mon Sep 17 00:00:00 2001 From: Andrei Trandafir <142614787+andreitrand@users.noreply.github.com> Date: Thu, 7 May 2026 14:32:03 +0300 Subject: [PATCH 32/59] Integrate the DAP staging account (#1171) The DAP now also has an intermediate staging account, whose funds are periodically drained and deactivated into the main account. We pre-fund it as well and also test the flow of funds through both accounts. --- .../src/genesis_config_presets.rs | 10 +-- .../asset-hub-polkadot/tests/tests.rs | 61 +++++++++++++------ 2 files changed, 45 insertions(+), 26 deletions(-) diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs index dbeeac3cd1..b60c527011 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs @@ -16,9 +16,8 @@ //! Genesis configs presets for the AssetHubPolkadot runtime -use crate::{staking::DapPalletId, xcm_config::UniversalLocation, *}; +use crate::{xcm_config::UniversalLocation, *}; use alloc::vec::Vec; -use frame_support::sp_runtime::traits::AccountIdConversion; use pallet_revive::AddressMapper; use parachains_common::AssetHubPolkadotAuraId; use sp_core::sr25519; @@ -30,10 +29,6 @@ use xcm_executor::traits::ConvertLocation; const ASSET_HUB_POLKADOT_ED: Balance = ExistentialDeposit::get(); -fn dap_buffer_account() -> AccountId { - DapPalletId::get().into_account_truncating() -} - /// Invulnerable Collators for the particular case of AssetHubPolkadot pub fn invulnerables_asset_hub_polkadot() -> Vec<(AccountId, AssetHubPolkadotAuraId)> { vec![ @@ -60,7 +55,8 @@ fn asset_hub_polkadot_genesis( .cloned() .map(|k| (k, ASSET_HUB_POLKADOT_ED * 4096 * 4096)) .collect(); - balances.push((dap_buffer_account(), ASSET_HUB_POLKADOT_ED)); + balances.push((Dap::buffer_account(), ASSET_HUB_POLKADOT_ED)); + balances.push((Dap::staging_account(), ASSET_HUB_POLKADOT_ED)); serde_json::json!({ "balances": BalancesConfig { diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs b/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs index 88e14509f1..494ae79298 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs @@ -40,6 +40,7 @@ use codec::{Decode, Encode}; use frame_support::{ assert_err, assert_ok, traits::{fungibles::InspectEnumerable, ContainsPair}, + weights::Weight, }; use parachains_common::{ AccountId, AssetHubPolkadotAuraId as AuraId, AssetIdForTrustBackedAssets, Balance, @@ -1255,23 +1256,22 @@ fn pure_proxy_stash_can_delegate_to_staking_operator() { #[test] fn slash_goes_to_dap_buffer_account() { - use asset_hub_polkadot_runtime::staking::DapPalletId; - use frame_support::{ - sp_runtime::traits::AccountIdConversion, - traits::{ - fungible::{Balanced, Inspect}, - OnUnbalanced, - }, + use frame_support::traits::{ + fungible::{Balanced, Inspect}, + Hooks, OnUnbalanced, }; use sp_runtime::BuildStorage; - let dap_buffer: AccountId = DapPalletId::get().into_account_truncating(); + let dap_buffer = pallet_dap::Pallet::::buffer_account(); + let dap_staging = pallet_dap::Pallet::::staging_account(); + let ed = ExistentialDeposit::get(); let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); pallet_balances::GenesisConfig:: { balances: vec![ (AccountId::from(ALICE), 1_000 * UNITS), - (dap_buffer.clone(), ExistentialDeposit::get()), + (dap_buffer.clone(), ed), + (dap_staging.clone(), ed), ], ..Default::default() } @@ -1279,28 +1279,51 @@ fn slash_goes_to_dap_buffer_account() { .unwrap(); sp_io::TestExternalities::from(t).execute_with(|| { - let buffer = dap_buffer.clone(); - let ed = >::minimum_balance(); - - // Given: buffer account exists and has ED - assert!(frame_system::Pallet::::account_exists(&buffer)); - assert_eq!(Balances::free_balance(&buffer), ed); + let dap_buffer_before = >::balance(&dap_buffer); + let dap_staging_before = >::balance(&dap_staging); // When: a slash occurs (simulating staking slash via OnUnbalanced) let slash_amount = 100 * UNITS; let credit = >::issue(slash_amount); Dap::on_unbalanced(credit); - // Then: buffer has ED + slash amount - assert_eq!(Balances::free_balance(&buffer), ed + slash_amount); + // Slash lands in staging first, not directly in the buffer. + assert_eq!( + >::balance(&dap_staging), + dap_staging_before + slash_amount + ); + assert_eq!(>::balance(&dap_buffer), dap_buffer_before); + + // on_idle drains staging into buffer and deactivates. + pallet_dap::Pallet::::on_idle(1, Weight::MAX); + assert_eq!(>::balance(&dap_staging), dap_staging_before); + assert_eq!( + >::balance(&dap_buffer), + dap_buffer_before + slash_amount + ); // When: another slash occurs let slash_amount_2 = 50 * UNITS; let credit2 = >::issue(slash_amount_2); Dap::on_unbalanced(credit2); - // Then: buffer accumulates both slashes - assert_eq!(Balances::free_balance(&buffer), ed + slash_amount + slash_amount_2); + // Lands in staging again. + assert_eq!( + >::balance(&dap_staging), + dap_staging_before + slash_amount_2 + ); + assert_eq!( + >::balance(&dap_buffer), + dap_buffer_before + slash_amount + ); + + // After on_idle: staging drains into buffer and deactivates. + pallet_dap::Pallet::::on_idle(2, Weight::MAX); + assert_eq!(>::balance(&dap_staging), dap_staging_before); + assert_eq!( + >::balance(&dap_buffer), + dap_buffer_before + slash_amount + slash_amount_2 + ); }); } From 78d3e838190335cce50b54b432bd0d76c83f50a8 Mon Sep 17 00:00:00 2001 From: Christian Langenbacher Date: Fri, 8 May 2026 17:35:38 +0200 Subject: [PATCH 33/59] bump encointer-meetup-validation --- Cargo.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7a4ae54cd8..ec85c2ad19 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1890,7 +1890,7 @@ version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90dbd31c98227229239363921e60fcf5e558e43ec69094d46fc4996f08d1d5bc" dependencies = [ - "bitcoin_hashes 0.14.1", + "bitcoin_hashes 0.13.0", "rand 0.8.5", "rand_core 0.6.4", "serde", @@ -5284,9 +5284,9 @@ dependencies = [ [[package]] name = "encointer-meetup-validation" -version = "22.2.0" +version = "22.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19a999be8501a291e989930baaa14cc3eb6b3659231dbd29c1aa380cd3d0b278" +checksum = "9abbf8cd1bb2dd41114233a477d611c74fc4452e068d25190094d5c6ea906e1f" dependencies = [ "encointer-primitives", "parity-scale-codec", @@ -5466,7 +5466,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -6941,7 +6941,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.2", + "socket2 0.5.10", "system-configuration 0.7.0", "tokio", "tower-service", @@ -9156,7 +9156,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -9275,7 +9275,7 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ - "proc-macro-crate 3.4.0", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", "syn 2.0.114", @@ -13235,8 +13235,8 @@ version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ - "heck 0.5.0", - "itertools 0.14.0", + "heck 0.4.1", + "itertools 0.12.1", "log", "multimap", "once_cell", @@ -13255,8 +13255,8 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ - "heck 0.5.0", - "itertools 0.14.0", + "heck 0.4.1", + "itertools 0.12.1", "log", "multimap", "petgraph 0.8.3", @@ -13288,7 +13288,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.12.1", "proc-macro2", "quote", "syn 2.0.114", @@ -13301,7 +13301,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.12.1", "proc-macro2", "quote", "syn 2.0.114", @@ -13413,7 +13413,7 @@ dependencies = [ "quinn-udp", "rustc-hash 2.1.1", "rustls 0.23.36", - "socket2 0.6.2", + "socket2 0.5.10", "thiserror 2.0.18", "tokio", "tracing", @@ -13450,9 +13450,9 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.2", + "socket2 0.5.10", "tracing", - "windows-sys 0.60.2", + "windows-sys 0.52.0", ] [[package]] @@ -14190,7 +14190,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -18822,7 +18822,7 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -20573,7 +20573,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]] From a0a65dc4bf465f73b12ea903d8ccbf70ac22961d Mon Sep 17 00:00:00 2001 From: Ankan <10196091+Ank4n@users.noreply.github.com> Date: Mon, 18 May 2026 14:51:39 +0200 Subject: [PATCH 34/59] Staking updates to 1159 (#1178) --- Cargo.lock | 1 + Cargo.toml | 1 + .../asset-hub-kusama/src/staking/mod.rs | 1 + .../asset-hub-kusama/src/xcm_config.rs | 2 -- .../asset-hubs/asset-hub-polkadot/Cargo.toml | 2 ++ .../asset-hub-polkadot/src/governance/mod.rs | 2 +- .../asset-hubs/asset-hub-polkadot/src/lib.rs | 10 +++--- .../asset-hub-polkadot/src/staking/mod.rs | 7 ++-- .../asset-hub-polkadot/src/treasury.rs | 2 +- .../asset-hub-polkadot/src/weights/mod.rs | 1 + .../src/weights/pallet_dap.rs | 34 +++++++++++++++++++ .../asset-hub-polkadot/src/xcm_config.rs | 9 +++-- 12 files changed, 56 insertions(+), 16 deletions(-) create mode 100644 system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_dap.rs diff --git a/Cargo.lock b/Cargo.lock index ec85c2ad19..d6f3f78f17 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1476,6 +1476,7 @@ dependencies = [ "sp-consensus-beefy", "sp-consensus-grandpa", "sp-core 41.0.0", + "sp-dap", "sp-genesis-builder 0.23.0", "sp-inherents 42.0.0", "sp-io 46.0.0", diff --git a/Cargo.toml b/Cargo.toml index 1f353bc0ee..64bd0a1f54 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -253,6 +253,7 @@ sp-arithmetic = { version = "28.0.1", default-features = false } sp-block-builder = { version = "42.0.0", default-features = false } sp-consensus-aura = { version = "0.48.0", default-features = false } sp-core = { version = "41.0.0", default-features = false } +sp-dap = { version = "0.2.0", default-features = false } sp-debug-derive = { version = "15.0.0", default-features = false } sp-genesis-builder = { version = "0.23.0", default-features = false } sp-inherents = { version = "42.0.0", default-features = false } diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/staking/mod.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/staking/mod.rs index 22a2dbcb09..5bc610fa1d 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/staking/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/staking/mod.rs @@ -418,6 +418,7 @@ impl pallet_staking_async::Config for Runtime { type DisableMinting = ConstBool; // Unused in legacy minting mode (no era pots are created), but required to compile. type UnclaimedRewardHandler = (); + // Unused in legacy minting mode type RewardPots = pallet_staking_async::Seed; type StakerRewardCalculator = pallet_staking_async::reward::DefaultStakerRewardCalculator; diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/xcm_config.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/xcm_config.rs index 9491e4fe4c..0813606836 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/xcm_config.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/xcm_config.rs @@ -88,7 +88,6 @@ parameter_types! { PalletInstance(::index() as u8).into(); pub CheckingAccount: AccountId = PolkadotXcm::check_account(); pub RelayTreasuryLocation: Location = (Parent, PalletInstance(kusama_runtime_constants::TREASURY_PALLET_ID)).into(); - // TODO: replace this with DAP account (for collecting fees) #1137 pub StakingPot: AccountId = CollatorSelection::account_id(); // Test [`crate::tests::treasury_pallet_account_not_none`] ensures that the result of location // conversion is not `None`. @@ -103,7 +102,6 @@ parameter_types! { pub SelfParaId: ParaId = ParachainInfo::parachain_id(); } -// TODO: replace this with DAP account (for collecting fees) #1137 /// Treasury account that changes once migration ends. pub type TreasuryAccount = PostMigrationTreasuryAccount; diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml b/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml index 1ced28c977..ac5a1a7d9b 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml +++ b/system-parachains/asset-hubs/asset-hub-polkadot/Cargo.toml @@ -94,6 +94,7 @@ grandpa-primitives = { workspace = true } polkadot-primitives = { workspace = true } sp-consensus-aura = { workspace = true } sp-core = { workspace = true } +sp-dap = { workspace = true } sp-genesis-builder = { workspace = true } sp-io = { workspace = true } sp-inherents = { workspace = true } @@ -432,6 +433,7 @@ std = [ "sp-block-builder/std", "sp-consensus-aura/std", "sp-core/std", + "sp-dap/std", "sp-genesis-builder/std", "sp-inherents/std", "sp-io/std", diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/governance/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/governance/mod.rs index 94a2bafcef..d6e1e2873d 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/governance/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/governance/mod.rs @@ -81,7 +81,7 @@ impl pallet_referenda::Config for Runtime { type SubmitOrigin = frame_system::EnsureSigned; type CancelOrigin = EitherOf, ReferendumCanceller>; type KillOrigin = EitherOf, ReferendumKiller>; - type Slash = Treasury; + type Slash = pallet_dap::DapLegacyAdapter; type Votes = pallet_conviction_voting::VotesOf; type Tally = pallet_conviction_voting::TallyOf; type SubmissionDeposit = SubmissionDeposit; diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 99e984e05a..3c17d01f55 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -362,8 +362,10 @@ parameter_types! { impl pallet_transaction_payment::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type OnChargeTransaction = - pallet_transaction_payment::FungibleAdapter>; + type OnChargeTransaction = pallet_transaction_payment::FungibleAdapter< + Balances, + ResolveTo, + >; type WeightToFee = DotWeightToFee; type LengthToFee = ConstantMultiplier; type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; @@ -974,7 +976,7 @@ impl pallet_asset_conversion_tx_payment::Config for Runtime { DotLocation, NativeAndAssets, AssetConversion, - ResolveAssetTo, + ResolveAssetTo, >; type WeightInfo = weights::pallet_asset_conversion_tx_payment::WeightInfo; #[cfg(feature = "runtime-benchmarks")] @@ -1152,7 +1154,7 @@ impl pallet_asset_conversion::Config for Runtime { type PoolAssets = PoolAssets; type PoolSetupFee = PoolSetupFee; type PoolSetupFeeAsset = DotLocation; - type PoolSetupFeeTarget = ResolveAssetTo; + type PoolSetupFeeTarget = ResolveAssetTo; type LiquidityWithdrawalFee = LiquidityWithdrawalFee; type LPFee = LpFee; type PalletId = AssetConversionPalletId; diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs index 4b5ba3fd46..478d22165a 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs @@ -115,7 +115,8 @@ impl pallet_bags_list::Config for Runtime { parameter_types! { pub const DelegatedStakingPalletId: PalletId = PalletId(*b"py/dlstk"); pub const SlashRewardFraction: Perbill = Perbill::from_percent(1); - pub const DapPalletId: PalletId = PalletId(*b"dap/buff"); + pub const DapPalletId: PalletId = sp_dap::DAP_PALLET_ID; + pub DapStagingAccount: AccountId = pallet_dap::Pallet::::staging_account(); pub const StakingPotsPalletId: PalletId = PalletId(*b"py/stkng"); /// Minimum time (ms) between issuance drips. 60s = drip at most once per minute. pub const DapIssuanceCadence: u64 = 60_000; @@ -150,7 +151,7 @@ impl pallet_dap::Config for Runtime { type IssuanceCadence = DapIssuanceCadence; type MaxElapsedPerDrip = DapMaxElapsedPerDrip; type BudgetOrigin = EitherOfDiverse, StakingAdmin>; - type WeightInfo = (); + type WeightInfo = weights::pallet_dap::WeightInfo; } #[cfg(feature = "runtime-benchmarks")] @@ -462,7 +463,7 @@ impl pallet_staking_async::Config for Runtime { type RuntimeHoldReason = RuntimeHoldReason; type CurrencyToVote = sp_staking::currency_to_vote::SaturatingCurrencyToVote; // Non-minting mode: `RewardRemainder` is unused (kept for compile / legacy path). - type RewardRemainder = ResolveTo; + type RewardRemainder = ResolveTo; type Slash = Dap; type Reward = (); type SessionsPerEra = SessionsPerEra; diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/treasury.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/treasury.rs index 1a6a3bec3b..d159c5f6a5 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/treasury.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/treasury.rs @@ -116,7 +116,7 @@ impl pallet_bounties::Config for Runtime { type ChildBountyManager = ChildBounties; type DataDepositPerByte = DataDepositPerByte; type MaximumReasonLength = MaximumReasonLength; - type OnSlash = Treasury; + type OnSlash = pallet_dap::DapLegacyAdapter; type WeightInfo = weights::pallet_bounties::WeightInfo; type TransferAllAssets = TransferAllFungibles; } diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/mod.rs index f73be00896..bd15fccd98 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/mod.rs @@ -35,6 +35,7 @@ pub mod pallet_bounties; pub mod pallet_child_bounties; pub mod pallet_collator_selection; pub mod pallet_conviction_voting; +pub mod pallet_dap; pub mod pallet_election_provider_multi_block; pub mod pallet_election_provider_multi_block_signed; pub mod pallet_election_provider_multi_block_unsigned; diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_dap.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_dap.rs new file mode 100644 index 0000000000..297f01d943 --- /dev/null +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_dap.rs @@ -0,0 +1,34 @@ +// 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. + + +#![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 `pallet_dap`. +pub struct WeightInfo(PhantomData); +impl pallet_dap::weights::WeightInfo for WeightInfo { + fn set_budget_allocation() -> Weight { + Weight::default() + } + fn drip_issuance() -> Weight { + Weight::default() + } +} diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs index 64c405f606..52010554f7 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs @@ -72,6 +72,7 @@ use xcm_builder::{ }; use xcm_executor::{traits::ConvertLocation, XcmExecutor}; +use crate::staking::DapStagingAccount; pub use system_parachains_constants::polkadot::locations::{AssetHubLocation, RelayChainLocation}; parameter_types! { @@ -90,7 +91,6 @@ parameter_types! { pub RelayTreasuryLocation: Location = (Parent, PalletInstance(polkadot_runtime_constants::TREASURY_PALLET_ID)).into(); pub PoolAssetsPalletLocation: Location = PalletInstance(::index() as u8).into(); - // TODO: replace this with DAP account (for collecting fees) #1137 pub StakingPot: AccountId = CollatorSelection::account_id(); pub PostMigrationTreasuryAccount: AccountId = treasury::TreasuryAccount::get(); /// The Checking Account along with the indication that the local chain is able to mint tokens. @@ -106,7 +106,6 @@ parameter_types! { .unwrap_or(treasury::TreasuryAccount::get()); } -// TODO: replace this with DAP account (for collecting fees) #1137 /// Treasury account that changes once migration ends. pub type TreasuryAccount = PostMigrationTreasuryAccount; @@ -484,7 +483,7 @@ impl xcm_executor::Config for XcmConfig { DotLocation, AccountId, Balances, - ResolveTo, + ResolveTo, >, // This trader allows to pay with any assets exchangeable to DOT with // [`AssetConversion`]. @@ -497,7 +496,7 @@ impl xcm_executor::Config for XcmConfig { TrustBackedAssetsAsLocation, ForeignAssetsConvertedConcreteId, ), - ResolveAssetTo, + ResolveAssetTo, AccountId, >, ); @@ -510,7 +509,7 @@ impl xcm_executor::Config for XcmConfig { type AssetExchanger = PoolAssetsExchanger; type FeeManager = XcmFeeManagerFromComponents< WaivedLocations, - SendXcmFeeToAccount, + SendXcmFeeToAccount, >; type MessageExporter = (); type UniversalAliases = From 0c3fc4e9ce9d097577fa79e690f747b83291fb29 Mon Sep 17 00:00:00 2001 From: Ankan <10196091+Ank4n@users.noreply.github.com> Date: Mon, 18 May 2026 20:17:00 +0200 Subject: [PATCH 35/59] Updates to 1159 (#1179) --- .../asset-hub-polkadot/src/staking/mod.rs | 117 ++++-------------- system-parachains/common/src/lib.rs | 11 +- 2 files changed, 34 insertions(+), 94 deletions(-) diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs index 478d22165a..3c4448fae8 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs @@ -150,7 +150,7 @@ impl pallet_dap::Config for Runtime { type Time = pallet_timestamp::Pallet; type IssuanceCadence = DapIssuanceCadence; type MaxElapsedPerDrip = DapMaxElapsedPerDrip; - type BudgetOrigin = EitherOfDiverse, StakingAdmin>; + type BudgetOrigin = EnsureRoot; type WeightInfo = weights::pallet_dap::WeightInfo; } @@ -374,45 +374,21 @@ impl EraPayout { FixedU128::from_rational(1, 2).saturating_mul_int(two_year_emission) } + /// Expected inflation in the next era. pub(crate) fn impl_experimental_inflation_info() -> InflationInfo { // We assume un-delayed 24h eras. let era_duration = 24 * 60 * 60 * 1000; - let next_mint = - >::era_payout(0, 0, era_duration); + let daily_emission = >::issue( + 0, // ignored + era_duration, + ); // What is our effective issuance rate now? - let total = next_mint.0 + next_mint.1; - let annual_issuance = total * 36525 / 100; + let annual_issuance = daily_emission * 36525 / 100; let ti = pallet_balances::TotalIssuance::::get(); let issuance = Perquintill::from_rational(annual_issuance, ti); - InflationInfo { issuance, next_mint } - } -} - -impl pallet_staking_async::EraPayout for EraPayout { - fn era_payout( - _total_staked: Balance, - _total_issuance: Balance, - era_duration_millis: u64, - ) -> (Balance, Balance) { - // A normal-sized era will have 1 / 365.25 here, though the value wobbles a bit: - let relative_era_len = FixedU128::from_rational( - era_duration_millis.into(), - Self::MILLISECONDS_PER_YEAR.into(), - ); - - let relay_block_num = - as BlockNumberProvider>::current_block_number(); - let yearly_emission = Self::yearly_after_hard_cap(relay_block_num); - - let era_emission = - relative_era_len.saturating_mul_int(yearly_emission).min(Self::MAX_ERA_EMISSION); - // 15% to treasury, as per Polkadot ref 1139. - let to_treasury = FixedU128::from_rational(15, 100).saturating_mul_int(era_emission); - let to_stakers = era_emission.saturating_sub(to_treasury); - - (to_stakers.saturated_into(), to_treasury.saturated_into()) + InflationInfo { issuance, next_mint: (daily_emission, 0) } } } @@ -786,9 +762,9 @@ mod tests { use cumulus_primitives_core::{ relay_chain::BlockNumber as RC_BlockNumber, PersistedValidationData, }; - use pallet_staking_async::EraPayout as _; use polkadot_runtime_constants::time::YEARS as RC_YEARS; use sp_runtime::Percent; + use sp_staking::budget::IssuanceCurve as _; use sp_weights::constants::{WEIGHT_PROOF_SIZE_PER_KB, WEIGHT_REF_TIME_PER_MILLIS}; // TODO: in the future, make these tests use remote-ext and increase their longevity. @@ -817,13 +793,7 @@ mod tests { pallet_balances::pallet::TotalIssuance::::set(EraPayout::MARCH_2026_TI); set_relay_number(MARCH_14_2026); - let (to_stakers, to_treasury) = EraPayout::era_payout( - 123, // ignored - 456, // ignored - MILLISECONDS_PER_DAY, - ); - - let total_era_payout = to_stakers + to_treasury; + let total_era_payout = EraPayout::issue(0 /* ignored */, MILLISECONDS_PER_DAY); let expected = 153_000 * UNITS; assert_relative_eq!( total_era_payout as f64, @@ -842,15 +812,11 @@ mod tests { // First period - March 14, 2026 -> March 14, 2028. set_relay_number(MARCH_14_2026); - let (to_stakers, to_treasury) = EraPayout::era_payout( - 123, // ignored - 456, // ignored - MILLISECONDS_PER_DAY, - ); + let daily_emission = EraPayout::issue(0 /* ignored */, MILLISECONDS_PER_DAY); let two_year_rate = EraPayout::BI_ANNUAL_RATE; let first_period_emission = two_year_rate * (TARGET_TI - MARCH_TI); assert_relative_eq!( - (to_stakers as f64 + to_treasury as f64) * 365.25 * 2.0, + daily_emission as f64 * 365.25 * 2.0, first_period_emission as f64, max_relative = 0.00001 ); @@ -858,15 +824,11 @@ mod tests { // Second period - March 14, 2028 -> March 14, 2030. let march_14_2028 = MARCH_14_2026 + two_years; set_relay_number(march_14_2028); - let (to_stakers, to_treasury) = EraPayout::era_payout( - 123, // ignored - 456, // ignored - MILLISECONDS_PER_DAY, - ); + let daily_emission = EraPayout::issue(0 /* ignored */, MILLISECONDS_PER_DAY); let ti_at_2028 = MARCH_TI + first_period_emission; let second_period_emission = two_year_rate * (TARGET_TI - ti_at_2028); assert_relative_eq!( - (to_stakers as f64 + to_treasury as f64) * 365.25 * 2.0, + daily_emission as f64 * 365.25 * 2.0, second_period_emission as f64, max_relative = 0.00001 ); @@ -874,15 +836,11 @@ mod tests { // Third period - March 14, 2030 -> March 14, 2032. let march_14_2030 = march_14_2028 + two_years; set_relay_number(march_14_2030); - let (to_stakers, to_treasury) = EraPayout::era_payout( - 123, // ignored - 456, // ignored - MILLISECONDS_PER_DAY, - ); + let daily_emission = EraPayout::issue(0 /* ignored */, MILLISECONDS_PER_DAY); let ti_at_2030 = ti_at_2028 + second_period_emission; let third_period_emission = two_year_rate * (TARGET_TI - ti_at_2030); assert_relative_eq!( - (to_stakers as f64 + to_treasury as f64) * 365.25 * 2.0, + daily_emission as f64 * 365.25 * 2.0, third_period_emission as f64, max_relative = 0.00001 ); @@ -898,23 +856,15 @@ mod tests { // Get payout at the beginning of the first stepped period. set_relay_number(MARCH_14_2026); - let (to_stakers_start, to_treasury_start) = EraPayout::era_payout( - 123, // ignored - 456, // ignored - MILLISECONDS_PER_DAY, - ); + let payout_start = EraPayout::issue(0 /* ignored */, MILLISECONDS_PER_DAY); // Get payout just before the end of the first stepped period. let almost_two_years_later: RC_BlockNumber = MARCH_14_2026 + two_years - 1; set_relay_number(almost_two_years_later); - let (to_stakers_end, to_treasury_end) = EraPayout::era_payout( - 123, // ignored - 456, // ignored - MILLISECONDS_PER_DAY, - ); + let payout_end = EraPayout::issue(0 /* ignored */, MILLISECONDS_PER_DAY); // Payout identical. - assert_eq!(to_stakers_start + to_treasury_start, to_stakers_end + to_treasury_end); + assert_eq!(payout_start, payout_end); }); } @@ -926,25 +876,17 @@ mod tests { let forseeable_future: RC_BlockNumber = MARCH_14_2026 + (RC_YEARS * 80); set_relay_number(forseeable_future); - let (to_stakers, to_treasury) = EraPayout::era_payout( - 123, // ignored - 456, // ignored - MILLISECONDS_PER_DAY, - ); + let daily_emission = EraPayout::issue(0 /* ignored */, MILLISECONDS_PER_DAY); // Payout is less than 1 UNIT after 41 steps. - assert!(to_stakers + to_treasury < UNITS); + assert!(daily_emission < UNITS); let far_future: RC_BlockNumber = MARCH_14_2026 + (RC_YEARS * 500); set_relay_number(far_future); - let (to_stakers, to_treasury) = EraPayout::era_payout( - 123, // ignored - 456, // ignored - MILLISECONDS_PER_DAY, - ); + let daily_emission = EraPayout::issue(0 /* ignored */, MILLISECONDS_PER_DAY); // TI has converged on asymptote. Payout is zero. - assert_eq!(to_stakers + to_treasury, 0); + assert_eq!(daily_emission, 0); }); } @@ -964,10 +906,7 @@ mod tests { for _ in 0..250 { set_relay_number(current_bn); - let (to_stakers, to_treasury) = - EraPayout::era_payout(123, 456, MILLISECONDS_PER_DAY); - - let daily_emission = to_stakers + to_treasury; + let daily_emission = EraPayout::issue(0 /* ignored */, MILLISECONDS_PER_DAY); let period_emission = (daily_emission * 7305) / 10; current_ti += period_emission; @@ -989,14 +928,10 @@ mod tests { // Simulate an era that lasted 100 years (anomalous). let anomalous_duration = 36525 * MILLISECONDS_PER_DAY; - let (to_stakers, to_treasury) = EraPayout::era_payout( - 123, // ignored - 456, // ignored - anomalous_duration, - ); + let emission = EraPayout::issue(0 /* ignored */, anomalous_duration); // Capped at MAX_ERA_EMISSION. - assert_eq!(to_stakers + to_treasury, EraPayout::MAX_ERA_EMISSION); + assert_eq!(emission, EraPayout::MAX_ERA_EMISSION); }); } diff --git a/system-parachains/common/src/lib.rs b/system-parachains/common/src/lib.rs index 69e5dd6680..8ee990007f 100644 --- a/system-parachains/common/src/lib.rs +++ b/system-parachains/common/src/lib.rs @@ -47,10 +47,15 @@ pub mod apis { pub struct InflationInfo { /// The rate of issuance estimated per annum, represented as a `Perquintill`. pub issuance: sp_runtime::Perquintill, - /// Next amount that we anticipate to mint. + /// Next amount that we anticipate to mint in an era. /// - /// First item is the amount that goes to stakers, second is the leftover that is usually - /// forwarded to the treasury. + /// On Kusama, the first item is the amount that goes to stakers and the second is the + /// leftover that is usually forwarded to the treasury. + /// + /// On Polkadot, the first item is the total era emission and the second is always zero. + /// The staker/treasury split is performed downstream by pallet-dap based on its budget + /// recipients and configured portions; mints are dripped every minute (or as configured). + /// For the DAP split, see the `budget_recipients` view function in pallet-dap. pub next_mint: (polkadot_primitives::Balance, polkadot_primitives::Balance), } From 50ffc01ad880930287d7db497a6e841d30ea7f15 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Mon, 18 May 2026 23:30:36 +0200 Subject: [PATCH 36/59] CHANGELOG Signed-off-by: Oliver Tale-Yazdi --- CHANGELOG.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3cdedeb387..9807a2d126 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,8 +8,21 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added -- Asset Hub Polkadot & Kusama: add `PrevalidateAttests` transaction extension to the `TxExtension` ([#1156](https://github.com/polkadot-fellows/runtimes/pull/1156)) -- Zombienet SDK integration tests for elastic scaling on Asset Hub Polkadot and People Polkadot. +- PAH: staking switched to non-minting; emission via `pallet-dap` drips ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +- PAH: `DapStagingAccount` is the sink for fees, slashes and `RewardRemainder` ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +- KAH: `pallet_recovery` modernized ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +- PAH & KAH: add asset-conversion and vesting precompiles ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +- PAH & KAH: `pallet_revive::EthExtra` supports multi-version Ethereum extensions ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +- Bridge Hub Polkadot: expose Snowbridge `InboundQueueV2Api::is_message_relayed` runtime API ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +- PAH & KAH: add `PrevalidateAttests` transaction extension to the `TxExtension` ([#1156](https://github.com/polkadot-fellows/runtimes/pull/1156)) + +### Changed + +- Update all runtimes to `polkadot-sdk` `unstable2604` ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +- PAH & KAH: K↔P bridge router exports unpaid (`UnpaidExport = true`) ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +- PAH & KAH: enable `pallet_revive` auto mapping feature ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +- PAH & KAH: ERC-20 assets precompile `permit()` renamed to `use_permit()` ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) + ## [2.2.2] 23.04.2026 ### Changed From 37e091249910572eb0d81c6991f426ade68878fb Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 19 May 2026 00:55:57 +0200 Subject: [PATCH 37/59] KRC: undeploy recovery pallet Signed-off-by: Oliver Tale-Yazdi --- CHANGELOG.md | 4 ++++ relay/kusama/src/lib.rs | 42 +++++++++++------------------------------ 2 files changed, 15 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9807a2d126..6c82bf8761 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - PAH & KAH: enable `pallet_revive` auto mapping feature ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) - PAH & KAH: ERC-20 assets precompile `permit()` renamed to `use_permit()` ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +### Removed + +- KAH: remove `pallet_recovery` ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) + ## [2.2.2] 23.04.2026 ### Changed diff --git a/relay/kusama/src/lib.rs b/relay/kusama/src/lib.rs index 2b376fd084..3dd5e6f1d5 100644 --- a/relay/kusama/src/lib.rs +++ b/relay/kusama/src/lib.rs @@ -226,8 +226,7 @@ impl Contains for PostAhmFilter { Slots(..) | Auctions(..) | AssetRate(..) | - Society(..) | - Recovery(..) => false, + Society(..) => false, // Crowdloan: only dissolve, refund, and withdraw are allowed. Crowdloan( @@ -1247,24 +1246,6 @@ impl pallet_multisig::Config for Runtime { type BlockNumberProvider = System; } -parameter_types! { - pub const RecoverySecurityDeposit: Balance = 500 * CENTS; -} - -impl pallet_recovery::Config for Runtime { - type RuntimeCall = RuntimeCall; - type RuntimeHoldReason = RuntimeHoldReason; - type BlockNumberProvider = frame_system::Pallet; - type Currency = Balances; - type FriendGroupsConsideration = (); - type AttemptConsideration = (); - type InheritorConsideration = (); - type SecurityDeposit = RecoverySecurityDeposit; - type Slash = (); // burn - type MaxFriendsPerConfig = ConstU32<9>; - type WeightInfo = (); -} - parameter_types! { pub const SocietyPalletId: PalletId = PalletId(*b"py/socie"); } @@ -1377,13 +1358,6 @@ impl InstanceFilter for TransparentProxyType { RuntimeCall::Claims(..) | RuntimeCall::Utility(..) | RuntimeCall::Society(..) | - RuntimeCall::Recovery(pallet_recovery::Call::set_friend_groups {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::initiate_attempt {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::approve_attempt {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::finish_attempt {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::cancel_attempt {..}) | - RuntimeCall::Recovery(pallet_recovery::Call::slash_attempt {..}) | - // Specifically omitting Recovery `control_inherited_account`, `revoke_inheritor` RuntimeCall::Vesting(pallet_vesting::Call::vest {..}) | RuntimeCall::Vesting(pallet_vesting::Call::vest_other {..}) | // Specifically omitting Vesting `vested_transfer`, and `force_vested_transfer` @@ -2001,9 +1975,6 @@ construct_runtime! { // Society module. Society: pallet_society = 26, - // Social recovery module. - Recovery: pallet_recovery = 27, - // Vesting. Usable initially, but removed once all vesting is finished. Vesting: pallet_vesting = 28, @@ -2129,12 +2100,22 @@ pub type TxExtension = ( pub mod migrations { use super::*; + parameter_types! { + pub const RecoveryPalletName: &'static str = "Recovery"; + } + + pub type RemoveRecoveryPallet = frame_support::migrations::RemovePallet< + RecoveryPalletName, + ::DbWeight, + >; + /// Unreleased migrations. Add new ones here: pub type Unreleased = ( parachains_on_demand::migration::MigrateV1ToV2, parachains_scheduler::migration::MigrateV3ToV4, parachains_configuration::migration::v13::MigrateToV13, parachains_shared::migration::MigrateToV2, + RemoveRecoveryPallet, ); /// Migrations/checks that do not need to be versioned and can run on every update. @@ -2199,7 +2180,6 @@ mod benches { [pallet_preimage, Preimage] [pallet_proxy, Proxy] [pallet_ranked_collective, FellowshipCollective] - [pallet_recovery, Recovery] [pallet_referenda, Referenda] [pallet_referenda, FellowshipReferenda] [pallet_scheduler, Scheduler] From 063667b6159b425496e9b2da2300745f730e8e34 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 19 May 2026 00:58:06 +0200 Subject: [PATCH 38/59] KAH: migration recovery pallet Signed-off-by: Oliver Tale-Yazdi --- system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs | 4 ++++ .../asset-hubs/asset-hub-kusama/src/migrations.rs | 1 + 2 files changed, 5 insertions(+) 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 c1d7944cbb..ef99b2a099 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -1426,6 +1426,10 @@ impl pallet_recovery::Config for Runtime { type WeightInfo = weights::pallet_recovery::WeightInfo; } +impl pallet_recovery::migrations::v0::MigrationConfig for Runtime { + type Currency = Balances; +} + /// Defines what origin can modify which dynamic parameters. pub struct DynamicParameterOrigin; impl EnsureOriginWithArg for DynamicParameterOrigin { diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs index 982b229f2a..d7f550c860 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs @@ -67,6 +67,7 @@ mod multiblock_migrations { pallet_assets_precompiles::weights::SubstrateWeight, >, pallet_revive::migrations::v3::Migration, + pallet_recovery::migrations::v1::MigrateV0ToV1, ); /// This type provides reserves information for `asset_id`. Meant to be used in a migration From 580ffa502b2166484f4645a40267de055ddad726 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 19 May 2026 00:59:14 +0200 Subject: [PATCH 39/59] DNM encointer-kusama: add ad-hoc migration for parachain system Signed-off-by: Oliver Tale-Yazdi --- system-parachains/encointer/src/lib.rs | 33 ++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/system-parachains/encointer/src/lib.rs b/system-parachains/encointer/src/lib.rs index f47bd6d6fc..4ae665d4e1 100644 --- a/system-parachains/encointer/src/lib.rs +++ b/system-parachains/encointer/src/lib.rs @@ -953,11 +953,44 @@ pub type UncheckedExtrinsic = #[allow(deprecated, missing_docs)] pub mod migrations { use super::*; + use frame_support::traits::OnRuntimeUpgrade; + + /// DNM hack: post-#10477 `PoVMessages` adds `hrmp_outbound_recipients: Vec` but no + /// SDK-side migration was written. On-chain values from stable2603 are 42 bytes; the new + /// decoder expects 43. Append a single 0x00 (empty `Vec` compact length) so existing values + /// decode under the new shape. + pub struct FixPoVMessagesTracker; + impl OnRuntimeUpgrade for FixPoVMessagesTracker { + fn on_runtime_upgrade() -> Weight { + const KEY: [u8; 32] = hex_literal::hex!( + "45323df7cc47150b3930e2666b0aa31322f3096ef79c4c691c3a9210667dbadc" + ); + if let Some(raw) = frame_support::storage::unhashed::get_raw(&KEY) { + if raw.len() == 42 { + let mut patched = raw; + patched.push(0); + frame_support::storage::unhashed::put_raw(&KEY, &patched); + log::info!( + target: "runtime::parachain-system", + "FixPoVMessagesTracker: appended empty Vec tail to 42-byte value", + ); + } else { + log::info!( + target: "runtime::parachain-system", + "FixPoVMessagesTracker: skipped, value is {} bytes (not 42)", + raw.len(), + ); + } + } + ::DbWeight::get().reads_writes(1, 1) + } + } /// Unreleased migrations. Add new ones here: pub type Unreleased = ( pallet_encointer_democracy::migrations::v2::MigrateV1toV2, cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + FixPoVMessagesTracker, ); /// All migrations that will run on the next runtime upgrade. From 46733b703f4ddc9c56669abd135beeaac813f83d Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 19 May 2026 12:28:58 +0200 Subject: [PATCH 40/59] Revert "DNM encointer-kusama: add ad-hoc migration for parachain system" This reverts commit 580ffa502b2166484f4645a40267de055ddad726. --- system-parachains/encointer/src/lib.rs | 33 -------------------------- 1 file changed, 33 deletions(-) diff --git a/system-parachains/encointer/src/lib.rs b/system-parachains/encointer/src/lib.rs index 4ae665d4e1..f47bd6d6fc 100644 --- a/system-parachains/encointer/src/lib.rs +++ b/system-parachains/encointer/src/lib.rs @@ -953,44 +953,11 @@ pub type UncheckedExtrinsic = #[allow(deprecated, missing_docs)] pub mod migrations { use super::*; - use frame_support::traits::OnRuntimeUpgrade; - - /// DNM hack: post-#10477 `PoVMessages` adds `hrmp_outbound_recipients: Vec` but no - /// SDK-side migration was written. On-chain values from stable2603 are 42 bytes; the new - /// decoder expects 43. Append a single 0x00 (empty `Vec` compact length) so existing values - /// decode under the new shape. - pub struct FixPoVMessagesTracker; - impl OnRuntimeUpgrade for FixPoVMessagesTracker { - fn on_runtime_upgrade() -> Weight { - const KEY: [u8; 32] = hex_literal::hex!( - "45323df7cc47150b3930e2666b0aa31322f3096ef79c4c691c3a9210667dbadc" - ); - if let Some(raw) = frame_support::storage::unhashed::get_raw(&KEY) { - if raw.len() == 42 { - let mut patched = raw; - patched.push(0); - frame_support::storage::unhashed::put_raw(&KEY, &patched); - log::info!( - target: "runtime::parachain-system", - "FixPoVMessagesTracker: appended empty Vec tail to 42-byte value", - ); - } else { - log::info!( - target: "runtime::parachain-system", - "FixPoVMessagesTracker: skipped, value is {} bytes (not 42)", - raw.len(), - ); - } - } - ::DbWeight::get().reads_writes(1, 1) - } - } /// Unreleased migrations. Add new ones here: pub type Unreleased = ( pallet_encointer_democracy::migrations::v2::MigrateV1toV2, cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, - FixPoVMessagesTracker, ); /// All migrations that will run on the next runtime upgrade. From 78f5ad60ac4c892cab2700c8be775e7d4b350146 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 19 May 2026 12:39:32 +0200 Subject: [PATCH 41/59] all system chains: delete stray PoV tracker storage key Signed-off-by: Oliver Tale-Yazdi --- Cargo.lock | 11 +++++ .../asset-hubs/asset-hub-kusama/src/lib.rs | 10 ++++ .../asset-hub-kusama/src/migrations.rs | 3 ++ .../asset-hubs/asset-hub-polkadot/src/lib.rs | 10 ++++ .../asset-hub-polkadot/src/migrations.rs | 3 ++ .../bridge-hubs/bridge-hub-kusama/Cargo.toml | 4 ++ .../bridge-hubs/bridge-hub-kusama/src/lib.rs | 7 ++- .../bridge-hub-polkadot/Cargo.toml | 4 ++ .../bridge-hub-polkadot/src/lib.rs | 7 ++- .../bulletin/bulletin-polkadot/Cargo.toml | 4 ++ .../bulletin-polkadot/src/migrations.rs | 6 ++- .../collectives-polkadot/Cargo.toml | 4 ++ .../collectives-polkadot/src/lib.rs | 7 ++- system-parachains/common/Cargo.toml | 1 + system-parachains/common/src/lib.rs | 1 + system-parachains/common/src/migrations.rs | 46 +++++++++++++++++++ .../coretime/coretime-kusama/Cargo.toml | 4 ++ .../coretime/coretime-kusama/src/lib.rs | 7 ++- .../coretime/coretime-polkadot/Cargo.toml | 4 ++ .../coretime/coretime-polkadot/src/lib.rs | 7 ++- system-parachains/encointer/Cargo.toml | 4 ++ system-parachains/encointer/src/lib.rs | 3 ++ .../gluttons/glutton-kusama/Cargo.toml | 4 ++ .../gluttons/glutton-kusama/src/lib.rs | 6 ++- .../people/people-kusama/Cargo.toml | 4 ++ .../people/people-kusama/src/lib.rs | 7 ++- .../people/people-polkadot/Cargo.toml | 4 ++ .../people/people-polkadot/src/lib.rs | 7 ++- 28 files changed, 180 insertions(+), 9 deletions(-) create mode 100644 system-parachains/common/src/migrations.rs diff --git a/Cargo.lock b/Cargo.lock index 65b6ef137a..a7517f1003 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2523,6 +2523,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", + "system-parachains-common", "system-parachains-constants", "tuplex", "xcm-runtime-apis", @@ -2705,6 +2706,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", + "system-parachains-common", "system-parachains-constants", "tuplex", "xcm-runtime-apis", @@ -2896,6 +2898,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", + "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -3342,6 +3345,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", + "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -3644,6 +3648,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", + "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -3753,6 +3758,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", + "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -5279,6 +5285,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", + "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -6369,6 +6376,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", + "system-parachains-common", "system-parachains-constants", ] @@ -12015,6 +12023,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", + "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -12133,6 +12142,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", + "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -18797,6 +18807,7 @@ dependencies = [ "cumulus-pallet-parachain-system", "cumulus-primitives-core", "frame-support", + "hex-literal", "log", "pallet-multi-asset-bounties", "parity-scale-codec", 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 ef99b2a099..8effc64432 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -2904,6 +2904,16 @@ mod tests { type WeightToFee = KsmWeightToFee; + #[test] + fn pov_migration_key_sane() { + assert_eq!( + cumulus_pallet_parachain_system::PoVMessagesTracker::::hashed_key(), + system_parachains_common::migrations::FixPoVMessagesTracker::< + ::DbWeight, + >::storage_key(), + ); + } + /// We can fit at least 1000 transfers in a block. #[test] fn sane_block_weight() { diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs index d7f550c860..bc07deb45f 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs @@ -19,6 +19,9 @@ pub type Unreleased = ( RemoveAhMigratorPallet, cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, ); /// Migrations/checks that do not need to be versioned and can run on every update. diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 3c17d01f55..c994d5ddf5 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -2794,6 +2794,16 @@ mod tests { type WeightToFee = DotWeightToFee; + #[test] + fn pov_migration_key_sane() { + assert_eq!( + cumulus_pallet_parachain_system::PoVMessagesTracker::::hashed_key(), + system_parachains_common::migrations::FixPoVMessagesTracker::< + ::DbWeight, + >::storage_key(), + ); + } + /// We can fit at least 1000 transfers in a block. #[test] fn sane_block_weight() { diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs index 62173aa2cd..3a2f5b87a6 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs @@ -92,6 +92,9 @@ pub type Unreleased = ( DefaultDapBudget, crate::dynamic_params::staking_election::MaxEraDuration, >, + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, ); /// Migrations/checks that do not need to be versioned and can run on every update. diff --git a/system-parachains/bridge-hubs/bridge-hub-kusama/Cargo.toml b/system-parachains/bridge-hubs/bridge-hub-kusama/Cargo.toml index 12ddfe82f4..aa08171a1a 100644 --- a/system-parachains/bridge-hubs/bridge-hub-kusama/Cargo.toml +++ b/system-parachains/bridge-hubs/bridge-hub-kusama/Cargo.toml @@ -86,6 +86,7 @@ cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } +system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } # Bridges @@ -196,6 +197,7 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", + "system-parachains-common/std", "system-parachains-constants/std", "tuplex/std", "xcm-builder/std", @@ -244,6 +246,7 @@ runtime-benchmarks = [ "polkadot-runtime-common/runtime-benchmarks", "polkadot-runtime-constants/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -283,6 +286,7 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", + "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs index 574ec0c863..65319c8488 100644 --- a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs @@ -148,7 +148,12 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/bridge-hubs/bridge-hub-polkadot/Cargo.toml b/system-parachains/bridge-hubs/bridge-hub-polkadot/Cargo.toml index 9044369f83..bddaf76c72 100644 --- a/system-parachains/bridge-hubs/bridge-hub-polkadot/Cargo.toml +++ b/system-parachains/bridge-hubs/bridge-hub-polkadot/Cargo.toml @@ -86,6 +86,7 @@ cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } +system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } # Bridges @@ -238,6 +239,7 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", + "system-parachains-common/std", "system-parachains-constants/std", "tuplex/std", "xcm-builder/std", @@ -302,6 +304,7 @@ runtime-benchmarks = [ "snowbridge-runtime-common/runtime-benchmarks", "snowbridge-runtime-test-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -350,6 +353,7 @@ try-runtime = [ "snowbridge-pallet-system/try-runtime", "snowbridge-runtime-common/try-runtime", "sp-runtime/try-runtime", + "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs index f01fd5eca4..056cccfbc6 100644 --- a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs @@ -160,7 +160,12 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/bulletin/bulletin-polkadot/Cargo.toml b/system-parachains/bulletin/bulletin-polkadot/Cargo.toml index 9333c1a32f..4cd39b079a 100644 --- a/system-parachains/bulletin/bulletin-polkadot/Cargo.toml +++ b/system-parachains/bulletin/bulletin-polkadot/Cargo.toml @@ -77,6 +77,7 @@ cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } +system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [dev-dependencies] @@ -144,6 +145,7 @@ std = [ "sp-version/std", "sp-weights/std", "substrate-wasm-builder", + "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -176,6 +178,7 @@ runtime-benchmarks = [ "polkadot-runtime-common/runtime-benchmarks", "polkadot-runtime-constants/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -207,6 +210,7 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", + "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs b/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs index 25c4f7ed8f..3138545856 100644 --- a/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs +++ b/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs @@ -18,7 +18,11 @@ use super::*; /// Unreleased migrations. Add new ones here: -pub type Unreleased = (); +pub type Unreleased = ( + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, +); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = (pallet_xcm::migration::MigrateToLatestXcmVersion,); diff --git a/system-parachains/collectives/collectives-polkadot/Cargo.toml b/system-parachains/collectives/collectives-polkadot/Cargo.toml index c21f8a9afd..18caf1b7aa 100644 --- a/system-parachains/collectives/collectives-polkadot/Cargo.toml +++ b/system-parachains/collectives/collectives-polkadot/Cargo.toml @@ -85,6 +85,7 @@ collectives-polkadot-runtime-constants = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } +system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [dev-dependencies] @@ -133,6 +134,7 @@ runtime-benchmarks = [ "polkadot-runtime-common/runtime-benchmarks", "polkadot-runtime-constants/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -175,6 +177,7 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", + "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] std = [ @@ -244,6 +247,7 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", + "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", diff --git a/system-parachains/collectives/collectives-polkadot/src/lib.rs b/system-parachains/collectives/collectives-polkadot/src/lib.rs index 9d316d923d..d30e4e9799 100644 --- a/system-parachains/collectives/collectives-polkadot/src/lib.rs +++ b/system-parachains/collectives/collectives-polkadot/src/lib.rs @@ -859,7 +859,12 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/common/Cargo.toml b/system-parachains/common/Cargo.toml index f31e901a35..9a73b7c3be 100644 --- a/system-parachains/common/Cargo.toml +++ b/system-parachains/common/Cargo.toml @@ -8,6 +8,7 @@ repository.workspace = true version.workspace = true [dependencies] +hex-literal = { workspace = true } log = { workspace = true } codec = { features = ["derive", "max-encoded-len"], workspace = true } scale-info = { features = ["derive"], workspace = true } diff --git a/system-parachains/common/src/lib.rs b/system-parachains/common/src/lib.rs index 8ee990007f..30738f213d 100644 --- a/system-parachains/common/src/lib.rs +++ b/system-parachains/common/src/lib.rs @@ -19,6 +19,7 @@ use frame_support::migrations::FailedMigrationHandling; +pub mod migrations; pub mod randomness; #[cfg(feature = "multi-asset-bounties")] diff --git a/system-parachains/common/src/migrations.rs b/system-parachains/common/src/migrations.rs new file mode 100644 index 0000000000..0ea8c96872 --- /dev/null +++ b/system-parachains/common/src/migrations.rs @@ -0,0 +1,46 @@ +// 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 . + +//! Shared single-block migrations for system-parachain runtimes. + +use frame_support::{traits::OnRuntimeUpgrade, weights::Weight}; +use sp_runtime::traits::Get; + +/// See: https://github.com/paritytech/polkadot-sdk/pull/10477#discussion_r3262614144 +pub struct FixPoVMessagesTracker(core::marker::PhantomData); + +impl FixPoVMessagesTracker { + /// Storage key of `ParachainSystem::PoVMessagesTracker`. + pub const fn storage_key() -> [u8; 32] { + hex_literal::hex!("45323df7cc47150b3930e2666b0aa31322f3096ef79c4c691c3a9210667dbadc") + } +} + +impl> OnRuntimeUpgrade + for FixPoVMessagesTracker +{ + fn on_runtime_upgrade() -> Weight { + let key = Self::storage_key(); + if frame_support::storage::unhashed::get_raw(&key).map(|v| v.len()) == Some(42) { + frame_support::storage::unhashed::kill(&key); + log::info!( + target: "runtime::parachain-system", + "FixPoVMessagesTracker: cleared legacy PoVMessagesTracker value", + ); + } + DbWeight::get().reads_writes(1, 1) + } +} diff --git a/system-parachains/coretime/coretime-kusama/Cargo.toml b/system-parachains/coretime/coretime-kusama/Cargo.toml index 6744f9cbd8..b1e8628fcb 100644 --- a/system-parachains/coretime/coretime-kusama/Cargo.toml +++ b/system-parachains/coretime/coretime-kusama/Cargo.toml @@ -18,6 +18,7 @@ serde_json = { features = ["alloc"], workspace = true } # Local kusama-runtime-constants = { workspace = true } +system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } # Substrate @@ -144,6 +145,7 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", + "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -179,6 +181,7 @@ runtime-benchmarks = [ "polkadot-parachain-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -213,6 +216,7 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", + "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/coretime/coretime-kusama/src/lib.rs b/system-parachains/coretime/coretime-kusama/src/lib.rs index 2c3b167956..0aa612ea05 100644 --- a/system-parachains/coretime/coretime-kusama/src/lib.rs +++ b/system-parachains/coretime/coretime-kusama/src/lib.rs @@ -124,7 +124,12 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/coretime/coretime-polkadot/Cargo.toml b/system-parachains/coretime/coretime-polkadot/Cargo.toml index 91308f2a54..856fc862d6 100644 --- a/system-parachains/coretime/coretime-polkadot/Cargo.toml +++ b/system-parachains/coretime/coretime-polkadot/Cargo.toml @@ -18,6 +18,7 @@ serde_json = { features = ["alloc"], workspace = true } # Local polkadot-runtime-constants = { workspace = true } +system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } # Substrate @@ -146,6 +147,7 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", + "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -181,6 +183,7 @@ runtime-benchmarks = [ "polkadot-runtime-common/runtime-benchmarks", "polkadot-runtime-constants/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -215,6 +218,7 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", + "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/coretime/coretime-polkadot/src/lib.rs b/system-parachains/coretime/coretime-polkadot/src/lib.rs index 196bbdb62e..65a2d71061 100644 --- a/system-parachains/coretime/coretime-polkadot/src/lib.rs +++ b/system-parachains/coretime/coretime-polkadot/src/lib.rs @@ -126,7 +126,12 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/encointer/Cargo.toml b/system-parachains/encointer/Cargo.toml index 631a810022..a1b971c2b5 100644 --- a/system-parachains/encointer/Cargo.toml +++ b/system-parachains/encointer/Cargo.toml @@ -108,6 +108,7 @@ parachain-info = { workspace = true } parachains-common = { workspace = true } polkadot-core-primitives = { workspace = true } polkadot-primitives = { workspace = true } +system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [build-dependencies] @@ -167,6 +168,7 @@ runtime-benchmarks = [ "polkadot-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -254,6 +256,7 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", + "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -306,6 +309,7 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", + "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/encointer/src/lib.rs b/system-parachains/encointer/src/lib.rs index f47bd6d6fc..a452c7ac42 100644 --- a/system-parachains/encointer/src/lib.rs +++ b/system-parachains/encointer/src/lib.rs @@ -958,6 +958,9 @@ pub mod migrations { pub type Unreleased = ( pallet_encointer_democracy::migrations::v2::MigrateV1toV2, cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, ); /// All migrations that will run on the next runtime upgrade. diff --git a/system-parachains/gluttons/glutton-kusama/Cargo.toml b/system-parachains/gluttons/glutton-kusama/Cargo.toml index 7c3dc99297..7b75bfb213 100644 --- a/system-parachains/gluttons/glutton-kusama/Cargo.toml +++ b/system-parachains/gluttons/glutton-kusama/Cargo.toml @@ -47,6 +47,7 @@ cumulus-pallet-xcm = { workspace = true } cumulus-primitives-core = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } +system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [build-dependencies] @@ -66,6 +67,7 @@ runtime-benchmarks = [ "pallet-sudo?/runtime-benchmarks", "parachains-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -101,6 +103,7 @@ std = [ "sp-storage/std", "sp-transaction-pool/std", "sp-version/std", + "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -119,6 +122,7 @@ try-runtime = [ "parachain-info/try-runtime", "parachains-common/try-runtime", "sp-runtime/try-runtime", + "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/gluttons/glutton-kusama/src/lib.rs b/system-parachains/gluttons/glutton-kusama/src/lib.rs index 4cb41a0d9b..e64fca3a1f 100644 --- a/system-parachains/gluttons/glutton-kusama/src/lib.rs +++ b/system-parachains/gluttons/glutton-kusama/src/lib.rs @@ -176,7 +176,11 @@ impl frame_system::Config for Runtime { type SS58Prefix = SS58Prefix; type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; type MaxConsumers = frame_support::traits::ConstU32<16>; - type SingleBlockMigrations = (); + type SingleBlockMigrations = ( + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, + ); type MultiBlockMigrator = (); type PreInherents = (); type PostInherents = (); diff --git a/system-parachains/people/people-kusama/Cargo.toml b/system-parachains/people/people-kusama/Cargo.toml index c1216878e7..db0f090657 100644 --- a/system-parachains/people/people-kusama/Cargo.toml +++ b/system-parachains/people/people-kusama/Cargo.toml @@ -77,6 +77,7 @@ cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } +system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [dev-dependencies] @@ -146,6 +147,7 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", + "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -183,6 +185,7 @@ runtime-benchmarks = [ "polkadot-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -218,6 +221,7 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", + "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/people/people-kusama/src/lib.rs b/system-parachains/people/people-kusama/src/lib.rs index 02525de862..10f86461fc 100644 --- a/system-parachains/people/people-kusama/src/lib.rs +++ b/system-parachains/people/people-kusama/src/lib.rs @@ -144,7 +144,12 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/people/people-polkadot/Cargo.toml b/system-parachains/people/people-polkadot/Cargo.toml index ae000de5fd..6dbe928af4 100644 --- a/system-parachains/people/people-polkadot/Cargo.toml +++ b/system-parachains/people/people-polkadot/Cargo.toml @@ -81,6 +81,7 @@ cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } +system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [dev-dependencies] @@ -154,6 +155,7 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", + "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -195,6 +197,7 @@ runtime-benchmarks = [ "polkadot-runtime-common/runtime-benchmarks", "polkadot-runtime-constants/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -235,6 +238,7 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", + "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/people/people-polkadot/src/lib.rs b/system-parachains/people/people-polkadot/src/lib.rs index 5a08ba9484..7339382070 100644 --- a/system-parachains/people/people-polkadot/src/lib.rs +++ b/system-parachains/people/people-polkadot/src/lib.rs @@ -135,7 +135,12 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + system_parachains_common::migrations::FixPoVMessagesTracker< + ::DbWeight, + >, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; From 7a420d264b98a6e96221f3019dc44f49a9311b30 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 19 May 2026 15:06:56 +0200 Subject: [PATCH 42/59] all paras: allow multiple blocks per slot Signed-off-by: Oliver Tale-Yazdi --- CHANGELOG.md | 1 + system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs | 4 ++-- system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs | 4 ++-- system-parachains/collectives/collectives-polkadot/src/lib.rs | 4 ++-- system-parachains/coretime/coretime-kusama/src/lib.rs | 4 ++-- system-parachains/coretime/coretime-polkadot/src/lib.rs | 4 ++-- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c82bf8761..2b1ff09779 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Changed +- Enable multiple blocks per slot for all remaining system parachains (BridgeHub Polkadot/Kusama, Coretime Polkadot/Kusama, Collectives Polkadot) ([#1154](https://github.com/polkadot-fellows/runtimes/pull/1154)) - Update all runtimes to `polkadot-sdk` `unstable2604` ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) - PAH & KAH: K↔P bridge router exports unpaid (`UnpaidExport = true`) ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) - PAH & KAH: enable `pallet_revive` auto mapping feature ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) diff --git a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs index 65319c8488..ccb2719bd3 100644 --- a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs @@ -289,7 +289,7 @@ impl pallet_timestamp::Config for Runtime { /// A timestamp: milliseconds since the unix epoch. type Moment = u64; type OnTimestampSet = Aura; - type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; + type MinimumPeriod = ConstU64<0>; type WeightInfo = weights::pallet_timestamp::WeightInfo; } @@ -482,7 +482,7 @@ impl pallet_aura::Config for Runtime { type AuthorityId = AuraId; type DisabledValidators = (); type MaxAuthorities = ConstU32<100_000>; - type AllowMultipleBlocksPerSlot = ConstBool; + type AllowMultipleBlocksPerSlot = ConstBool; type SlotDuration = ConstU64; } diff --git a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs index 056cccfbc6..6be0916cff 100644 --- a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs @@ -301,7 +301,7 @@ impl pallet_timestamp::Config for Runtime { /// A timestamp: milliseconds since the unix epoch. type Moment = u64; type OnTimestampSet = Aura; - type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; + type MinimumPeriod = ConstU64<0>; type WeightInfo = weights::pallet_timestamp::WeightInfo; } @@ -497,7 +497,7 @@ impl pallet_aura::Config for Runtime { type AuthorityId = AuraId; type DisabledValidators = (); type MaxAuthorities = ConstU32<100_000>; - type AllowMultipleBlocksPerSlot = ConstBool; + type AllowMultipleBlocksPerSlot = ConstBool; type SlotDuration = ConstU64; } diff --git a/system-parachains/collectives/collectives-polkadot/src/lib.rs b/system-parachains/collectives/collectives-polkadot/src/lib.rs index d30e4e9799..1e0a61e282 100644 --- a/system-parachains/collectives/collectives-polkadot/src/lib.rs +++ b/system-parachains/collectives/collectives-polkadot/src/lib.rs @@ -216,7 +216,7 @@ impl pallet_timestamp::Config for Runtime { /// A timestamp: milliseconds since the unix epoch. type Moment = u64; type OnTimestampSet = Aura; - type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; + type MinimumPeriod = ConstU64<0>; type WeightInfo = weights::pallet_timestamp::WeightInfo; } @@ -567,7 +567,7 @@ impl pallet_aura::Config for Runtime { type AuthorityId = AuraId; type DisabledValidators = (); type MaxAuthorities = ConstU32<100_000>; - type AllowMultipleBlocksPerSlot = ConstBool; + type AllowMultipleBlocksPerSlot = ConstBool; type SlotDuration = ConstU64; } diff --git a/system-parachains/coretime/coretime-kusama/src/lib.rs b/system-parachains/coretime/coretime-kusama/src/lib.rs index 0aa612ea05..4a80a9338e 100644 --- a/system-parachains/coretime/coretime-kusama/src/lib.rs +++ b/system-parachains/coretime/coretime-kusama/src/lib.rs @@ -274,7 +274,7 @@ impl pallet_timestamp::Config for Runtime { /// A timestamp: milliseconds since the unix epoch. type Moment = u64; type OnTimestampSet = Aura; - type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; + type MinimumPeriod = ConstU64<0>; type WeightInfo = weights::pallet_timestamp::WeightInfo; } @@ -459,7 +459,7 @@ impl pallet_aura::Config for Runtime { type AuthorityId = AuraId; type DisabledValidators = (); type MaxAuthorities = ConstU32<100_000>; - type AllowMultipleBlocksPerSlot = ConstBool; + type AllowMultipleBlocksPerSlot = ConstBool; type SlotDuration = ConstU64; } diff --git a/system-parachains/coretime/coretime-polkadot/src/lib.rs b/system-parachains/coretime/coretime-polkadot/src/lib.rs index 65a2d71061..f91937fc29 100644 --- a/system-parachains/coretime/coretime-polkadot/src/lib.rs +++ b/system-parachains/coretime/coretime-polkadot/src/lib.rs @@ -282,7 +282,7 @@ impl pallet_timestamp::Config for Runtime { /// A timestamp: milliseconds since the unix epoch. type Moment = u64; type OnTimestampSet = Aura; - type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; + type MinimumPeriod = ConstU64<0>; type WeightInfo = weights::pallet_timestamp::WeightInfo; } @@ -464,7 +464,7 @@ impl pallet_aura::Config for Runtime { type AuthorityId = AuraId; type DisabledValidators = (); type MaxAuthorities = ConstU32<100_000>; - type AllowMultipleBlocksPerSlot = ConstBool; + type AllowMultipleBlocksPerSlot = ConstBool; type SlotDuration = ConstU64; } From 146bc8505e31c7a77b0739887f6cddf5dd370945 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 19 May 2026 16:22:30 +0200 Subject: [PATCH 43/59] integration tests: bump fees to make test work Signed-off-by: Oliver Tale-Yazdi --- .../tests/assets/asset-hub-polkadot/src/tests/aliases.rs | 6 +++--- .../tests/bulletin/bulletin-polkadot/src/tests/aliases.rs | 6 +++--- .../collectives/collectives-polkadot/src/tests/aliases.rs | 6 +++--- .../tests/coretime/coretime-polkadot/src/tests/aliases.rs | 6 +++--- .../tests/people/people-polkadot/src/tests/aliases.rs | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/aliases.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/aliases.rs index f1d926efeb..9d58e1aab0 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/aliases.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/aliases.rs @@ -35,7 +35,7 @@ fn account_on_sibling_chain_cannot_alias_into_same_local_account() { // origin and target are the same account on different chains let origin: AccountId = [1; 32].into(); let target = origin.clone(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -73,7 +73,7 @@ fn account_on_sibling_chain_cannot_alias_into_different_local_account() { // origin and target are different accounts on different chains let origin: AccountId = [1; 32].into(); let target: AccountId = [2; 32].into(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -108,7 +108,7 @@ fn authorized_cross_chain_aliases() { let origin: AccountId = [100; 32].into(); let bad_origin: AccountId = [150; 32].into(); let target: AccountId = [200; 32].into(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; let pal_admin = ::RuntimeOrigin::signed(PenpalAssetOwner::get()); PenpalB::mint_foreign_asset(pal_admin.clone(), Location::parent(), origin.clone(), fees * 10); diff --git a/integration-tests/emulated/tests/bulletin/bulletin-polkadot/src/tests/aliases.rs b/integration-tests/emulated/tests/bulletin/bulletin-polkadot/src/tests/aliases.rs index 08fb4ce82a..2fe411b102 100644 --- a/integration-tests/emulated/tests/bulletin/bulletin-polkadot/src/tests/aliases.rs +++ b/integration-tests/emulated/tests/bulletin/bulletin-polkadot/src/tests/aliases.rs @@ -32,7 +32,7 @@ fn account_on_sibling_syschain_aliases_into_same_local_account() { // origin and target are the same account on different chains let origin: AccountId = [1; 32].into(); let target = origin.clone(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -66,7 +66,7 @@ fn account_on_sibling_chain_cannot_alias_into_different_local_account() { // origin and target are different accounts on different chains let origin: AccountId = [1; 32].into(); let target: AccountId = [2; 32].into(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -197,7 +197,7 @@ fn authorized_cross_chain_aliases() { let origin: AccountId = [100; 32].into(); let bad_origin: AccountId = [150; 32].into(); let target: AccountId = [200; 32].into(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; let pal_admin = ::RuntimeOrigin::signed(PenpalAssetOwner::get()); PenpalA::mint_foreign_asset(pal_admin.clone(), Location::parent(), origin.clone(), fees * 10); diff --git a/integration-tests/emulated/tests/collectives/collectives-polkadot/src/tests/aliases.rs b/integration-tests/emulated/tests/collectives/collectives-polkadot/src/tests/aliases.rs index 386192f882..3b72b04721 100644 --- a/integration-tests/emulated/tests/collectives/collectives-polkadot/src/tests/aliases.rs +++ b/integration-tests/emulated/tests/collectives/collectives-polkadot/src/tests/aliases.rs @@ -32,7 +32,7 @@ fn account_on_sibling_syschain_aliases_into_same_local_account() { // origin and target are the same account on different chains let origin: AccountId = [1; 32].into(); let target = origin.clone(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -66,7 +66,7 @@ fn account_on_sibling_chain_cannot_alias_into_different_local_account() { // origin and target are different accounts on different chains let origin: AccountId = [1; 32].into(); let target: AccountId = [2; 32].into(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -101,7 +101,7 @@ fn authorized_cross_chain_aliases() { let origin: AccountId = [100; 32].into(); let bad_origin: AccountId = [150; 32].into(); let target: AccountId = [200; 32].into(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; let pal_admin = ::RuntimeOrigin::signed(PenpalAssetOwner::get()); PenpalA::mint_foreign_asset(pal_admin.clone(), Location::parent(), origin.clone(), fees * 10); diff --git a/integration-tests/emulated/tests/coretime/coretime-polkadot/src/tests/aliases.rs b/integration-tests/emulated/tests/coretime/coretime-polkadot/src/tests/aliases.rs index 81bb7afdb2..bff6388bad 100644 --- a/integration-tests/emulated/tests/coretime/coretime-polkadot/src/tests/aliases.rs +++ b/integration-tests/emulated/tests/coretime/coretime-polkadot/src/tests/aliases.rs @@ -32,7 +32,7 @@ fn account_on_sibling_syschain_aliases_into_same_local_account() { // origin and target are the same account on different chains let origin: AccountId = [1; 32].into(); let target = origin.clone(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -66,7 +66,7 @@ fn account_on_sibling_chain_cannot_alias_into_different_local_account() { // origin and target are different accounts on different chains let origin: AccountId = [1; 32].into(); let target: AccountId = [2; 32].into(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -101,7 +101,7 @@ fn authorized_cross_chain_aliases() { let origin: AccountId = [100; 32].into(); let bad_origin: AccountId = [150; 32].into(); let target: AccountId = [200; 32].into(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; let pal_admin = ::RuntimeOrigin::signed(PenpalAssetOwner::get()); PenpalA::mint_foreign_asset(pal_admin.clone(), Location::parent(), origin.clone(), fees * 10); diff --git a/integration-tests/emulated/tests/people/people-polkadot/src/tests/aliases.rs b/integration-tests/emulated/tests/people/people-polkadot/src/tests/aliases.rs index f68d705465..e59f4d3347 100644 --- a/integration-tests/emulated/tests/people/people-polkadot/src/tests/aliases.rs +++ b/integration-tests/emulated/tests/people/people-polkadot/src/tests/aliases.rs @@ -32,7 +32,7 @@ fn account_on_sibling_syschain_aliases_into_same_local_account() { // origin and target are the same account on different chains let origin: AccountId = [1; 32].into(); let target = origin.clone(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -66,7 +66,7 @@ fn account_on_sibling_chain_cannot_alias_into_different_local_account() { // origin and target are different accounts on different chains let origin: AccountId = [1; 32].into(); let target: AccountId = [2; 32].into(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; PenpalA::mint_foreign_asset( ::RuntimeOrigin::signed(PenpalAssetOwner::get()), @@ -101,7 +101,7 @@ fn authorized_cross_chain_aliases() { let origin: AccountId = [100; 32].into(); let bad_origin: AccountId = [150; 32].into(); let target: AccountId = [200; 32].into(); - let fees = POLKADOT_ED * 10; + let fees = POLKADOT_ED * 20; let pal_admin = ::RuntimeOrigin::signed(PenpalAssetOwner::get()); PenpalA::mint_foreign_asset(pal_admin.clone(), Location::parent(), origin.clone(), fees * 10); From 914a7b8fc3e2c6c6eba7e2c74cbc38a536d48612 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 19 May 2026 16:37:43 +0200 Subject: [PATCH 44/59] pah: redirect xcm trader fees to DAP Signed-off-by: Oliver Tale-Yazdi --- CHANGELOG.md | 1 + .../asset-hub-polkadot/tests/weight_trader.rs | 52 ++++++++++++------- 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b1ff09779..3e8b7f3920 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - PAH & KAH: K↔P bridge router exports unpaid (`UnpaidExport = true`) ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) - PAH & KAH: enable `pallet_revive` auto mapping feature ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) - PAH & KAH: ERC-20 assets precompile `permit()` renamed to `use_permit()` ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +- PAH: redirect XCM trader fees (native and swap) to `DapStagingAccount` instead of `StakingPot` ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) ### Removed diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/tests/weight_trader.rs b/system-parachains/asset-hubs/asset-hub-polkadot/tests/weight_trader.rs index aab0f71991..3422a13899 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/tests/weight_trader.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/tests/weight_trader.rs @@ -16,7 +16,7 @@ //! Tests for `WeighTrader` type of XCM Executor. use asset_hub_polkadot_runtime::{ - xcm_config::{DotLocation, StakingPot, TrustBackedAssetsPalletLocation, XcmConfig}, + xcm_config::{DotLocation, TrustBackedAssetsPalletLocation, XcmConfig}, AllPalletsWithoutSystem, AssetConversion, Assets, Balances, ForeignAssets, Runtime, SessionKeys, }; @@ -54,12 +54,12 @@ fn test_buy_and_refund_weight_with_native() { .build() .execute_with(|| { let bob: AccountId = SOME_ASSET_ADMIN.into(); - let staking_pot = StakingPot::get(); + let dap_staging_account = pallet_dap::Pallet::::staging_account(); let native_location = DotLocation::get(); let initial_balance = 200 * UNITS; assert_ok!(Balances::mint_into(&bob, initial_balance)); - assert_ok!(Balances::mint_into(&staking_pot, initial_balance)); + assert_ok!(Balances::mint_into(&dap_staging_account, initial_balance)); // keep initial total issuance to assert later. let total_issuance = Balances::total_issuance(); @@ -95,11 +95,11 @@ fn test_buy_and_refund_weight_with_native() { assert_eq!(actual_refund, expected_refund); // assert. - assert_eq!(Balances::balance(&staking_pot), initial_balance); - // only after `trader` is dropped we expect the fee to be resolved into the treasury - // account. + assert_eq!(Balances::balance(&dap_staging_account), initial_balance); + // only after `trader` is dropped we expect the fee to be resolved into the DAP + // staging account. drop(trader); - assert_eq!(Balances::balance(&staking_pot), initial_balance + fee - refund); + assert_eq!(Balances::balance(&dap_staging_account), initial_balance + fee - refund); // Balanced operations: fee is transferred, not minted, so total issuance // stays the same. assert_eq!(Balances::total_issuance(), total_issuance); @@ -118,7 +118,7 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { .build() .execute_with(|| { let bob: AccountId = SOME_ASSET_ADMIN.into(); - let staking_pot = StakingPot::get(); + let dap_staging_account = pallet_dap::Pallet::::staging_account(); let asset_1: u32 = 1; let native_location = DotLocation::get(); let asset_1_location = AssetIdForTrustBackedAssetsConvert::< @@ -136,7 +136,7 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { assert_ok!(Assets::mint_into(asset_1, &bob, initial_balance)); assert_ok!(Balances::mint_into(&bob, initial_balance)); - assert_ok!(Balances::mint_into(&staking_pot, initial_balance)); + assert_ok!(Balances::mint_into(&dap_staging_account, initial_balance)); assert_ok!(AssetConversion::create_pool( RuntimeHelper::origin_of(bob.clone()), @@ -158,6 +158,10 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { // keep initial total issuance to assert later. let asset_total_issuance = Assets::total_issuance(asset_1); let native_total_issuance = Balances::total_issuance(); + // snapshot the DAP staging account *after* pool setup (the pool setup fee is + // resolved there) so that subsequent assertions check the delta caused by the + // trader alone. + let dap_staging_after_pool_setup = Balances::balance(&dap_staging_account); // prepare input to buy weight. let weight = Weight::from_parts(4_000_000_000, 0); @@ -197,11 +201,14 @@ fn test_buy_and_refund_weight_with_swap_local_asset_xcm_trader() { assert_eq!(actual_refund, expected_refund); // assert. - assert_eq!(Balances::balance(&staking_pot), initial_balance); - // only after `trader` is dropped we expect the fee to be resolved into the treasury - // account. + assert_eq!(Balances::balance(&dap_staging_account), dap_staging_after_pool_setup); + // only after `trader` is dropped we expect the fee to be resolved into the DAP + // staging account. drop(trader); - assert_eq!(Balances::balance(&staking_pot), initial_balance + fee - refund); + assert_eq!( + Balances::balance(&dap_staging_account), + dap_staging_after_pool_setup + fee - refund + ); // Balanced operations: swap doesn't change total issuance. assert_eq!(Assets::total_issuance(asset_1), asset_total_issuance); assert_eq!(Balances::total_issuance(), native_total_issuance); @@ -220,7 +227,7 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { .build() .execute_with(|| { let bob: AccountId = SOME_ASSET_ADMIN.into(); - let staking_pot = StakingPot::get(); + let dap_staging_account = pallet_dap::Pallet::::staging_account(); let native_location = DotLocation::get(); let foreign_location = Location { parents: 1, interior: (Parachain(1234), GeneralIndex(12345)).into() }; @@ -239,7 +246,7 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { assert_ok!(ForeignAssets::mint_into(foreign_location.clone(), &bob, initial_balance)); assert_ok!(Balances::mint_into(&bob, initial_balance)); - assert_ok!(Balances::mint_into(&staking_pot, initial_balance)); + assert_ok!(Balances::mint_into(&dap_staging_account, initial_balance)); assert_ok!(AssetConversion::create_pool( RuntimeHelper::origin_of(bob.clone()), @@ -261,6 +268,10 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { // keep initial total issuance to assert later. let asset_total_issuance = ForeignAssets::total_issuance(foreign_location.clone()); let native_total_issuance = Balances::total_issuance(); + // snapshot the DAP staging account *after* pool setup (the pool setup fee is + // resolved there) so that subsequent assertions check the delta caused by the + // trader alone. + let dap_staging_after_pool_setup = Balances::balance(&dap_staging_account); // prepare input to buy weight. let weight = Weight::from_parts(4_000_000_000, 0); @@ -302,11 +313,14 @@ fn test_buy_and_refund_weight_with_swap_foreign_asset_xcm_trader() { assert_eq!(actual_refund, expected_refund); // assert. - assert_eq!(Balances::balance(&staking_pot), initial_balance); - // only after `trader` is dropped we expect the fee to be resolved into the treasury - // account. + assert_eq!(Balances::balance(&dap_staging_account), dap_staging_after_pool_setup); + // only after `trader` is dropped we expect the fee to be resolved into the DAP + // staging account. drop(trader); - assert_eq!(Balances::balance(&staking_pot), initial_balance + fee - refund); + assert_eq!( + Balances::balance(&dap_staging_account), + dap_staging_after_pool_setup + fee - refund + ); // Balanced operations: swap doesn't change total issuance. assert_eq!(ForeignAssets::total_issuance(foreign_location), asset_total_issuance); assert_eq!(Balances::total_issuance(), native_total_issuance); From a4f48b638ad95dbabd8e4cf975ad8dee41377190 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 19 May 2026 17:16:59 +0200 Subject: [PATCH 45/59] pah: fix remaining tests for DAP fee redirect Signed-off-by: Oliver Tale-Yazdi --- .../assets/asset-hub-polkadot/src/genesis.rs | 12 +++++++-- .../asset-hub-polkadot/tests/tests.rs | 27 ++++++++++--------- 2 files changed, 24 insertions(+), 15 deletions(-) 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 index 1a71fbab91..d4858bc7e6 100644 --- 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 @@ -13,7 +13,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -use asset_hub_polkadot_runtime::xcm_config::{CheckingAccount, StakingPot, TreasuryAccount}; +use asset_hub_polkadot_runtime::{ + xcm_config::{CheckingAccount, StakingPot, TreasuryAccount}, + Dap, +}; use emulated_integration_tests_common::{ accounts, build_genesis_storage, xcm_emulator::ConvertLocation, PenpalALocation, PenpalAPen2TeleportableAssetLocation, PenpalASiblingSovereignAccount, PenpalBLocation, @@ -59,7 +62,12 @@ pub fn genesis() -> sp_core::storage::Storage { balances: asset_hub_polkadot_runtime::BalancesConfig { balances: accounts::init_balances() .into_iter() - .chain([TreasuryAccount::get(), StakingPot::get()]) + .chain([ + TreasuryAccount::get(), + StakingPot::get(), + Dap::buffer_account(), + Dap::staging_account(), + ]) .map(|k| (k, ED * 4096 * 4096)) // pre-fund checking account to avoid pre-funding for every test scenario // teleporting funds to asset hub diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs b/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs index 494ae79298..6f50c42f7c 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/tests/tests.rs @@ -20,7 +20,7 @@ use asset_hub_polkadot_runtime::{ xcm_config::{ bridging, CheckingAccount, DotLocation, LocationToAccountId, RelayChainLocation, - RelayTreasuryPalletAccount, StakingPot, TrustBackedAssetsPalletLocation, XcmConfig, + TrustBackedAssetsPalletLocation, XcmConfig, }, AllPalletsWithoutSystem, AssetDeposit, Assets, Balances, Block, Dap, ExistentialDeposit, ForeignAssets, ForeignAssetsInstance, MetadataDepositBase, MetadataDepositPerByte, @@ -391,7 +391,7 @@ fn limited_reserve_transfer_assets_for_native_asset_to_asset_hub_kusama_works() bridging_to_asset_hub_kusama, WeightLimit::Unlimited, None, - Some(RelayTreasuryPalletAccount::get()), + Some(pallet_dap::Pallet::::staging_account()), ) } @@ -399,7 +399,7 @@ fn limited_reserve_transfer_assets_for_native_asset_to_asset_hub_kusama_works() fn receive_reserve_asset_deposited_ksm_from_asset_hub_kusama_fees_paid_by_pool_swap_works() { const BLOCK_AUTHOR_ACCOUNT: [u8; 32] = [13; 32]; let block_author_account = AccountId::from(BLOCK_AUTHOR_ACCOUNT); - let staking_pot = StakingPot::get(); + let dap_staging_account = pallet_dap::Pallet::::staging_account(); let foreign_asset_id_location_v5 = Location::new(2, [GlobalConsensus(NetworkId::Kusama)]); let reserve_location = Location::new(2, [GlobalConsensus(NetworkId::Kusama), Parachain(1000)]); @@ -439,10 +439,10 @@ fn receive_reserve_asset_deposited_ksm_from_asset_hub_kusama_fees_paid_by_pool_s Runtime, RuntimeOrigin, >(ExistentialDeposit::get(), pool_params); - // staking pot account for collecting local native fees from `BuyExecution` + // DAP staging account for collecting local native fees from `BuyExecution` let _ = Balances::force_set_balance( RuntimeOrigin::root(), - StakingPot::get().into(), + pallet_dap::Pallet::::staging_account().into(), ExistentialDeposit::get(), ); // prepare bridge configuration @@ -457,20 +457,21 @@ fn receive_reserve_asset_deposited_ksm_from_asset_hub_kusama_fees_paid_by_pool_s [Parachain(1000)].into(), ), || { - // check staking pot for ED - assert_eq!(Balances::free_balance(&staking_pot), ExistentialDeposit::get()); - // check now foreign asset for staking pot + // check DAP staging account for ED + assert_eq!(Balances::free_balance(&dap_staging_account), ExistentialDeposit::get()); + // check now foreign asset for DAP staging account assert_eq!( - ForeignAssets::balance(foreign_asset_id_location_v5.clone(), &staking_pot), + ForeignAssets::balance(foreign_asset_id_location_v5.clone(), &dap_staging_account), 0 ); }, || { - // `SwapFirstAssetTrader` - staking pot receives xcm fees in KSMs - assert!(Balances::free_balance(&staking_pot) > ExistentialDeposit::get()); - // staking pot receives no foreign assets + // `SwapFirstAssetTrader` - DAP staging account receives xcm fees in KSMs (swapped + // to DOT) + assert!(Balances::free_balance(&dap_staging_account) > ExistentialDeposit::get()); + // DAP staging account receives no foreign assets assert_eq!( - ForeignAssets::balance(foreign_asset_id_location_v5.clone(), &staking_pot), + ForeignAssets::balance(foreign_asset_id_location_v5.clone(), &dap_staging_account), 0 ); }, From 97eb89c347198022725a9fce108338670c08ec51 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Tue, 19 May 2026 18:20:56 +0200 Subject: [PATCH 46/59] integration-tests: fix tests Signed-off-by: Oliver Tale-Yazdi --- .../src/tests/snowbridge_v2_inbound.rs | 7 +- .../src/tests/coretime_interface.rs | 168 ++++++------------ .../src/tests/coretime_interface.rs | 155 +++++----------- 3 files changed, 109 insertions(+), 221 deletions(-) diff --git a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_inbound.rs b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_inbound.rs index b0a11b0d95..13eb835d57 100644 --- a/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_inbound.rs +++ b/integration-tests/emulated/tests/bridges/bridge-hub-polkadot/src/tests/snowbridge_v2_inbound.rs @@ -624,9 +624,12 @@ fn send_token_to_penpal_v2() { ] ); - // Beneficiary received the token transfer value + // Beneficiary received the token transfer value. assert_eq!( - ForeignAssets::balance(token_location, AccountId::from(beneficiary_acc_bytes)), + ::Assets::balance( + token_location, + AccountId::from(beneficiary_acc_bytes), + ), TOKEN_AMOUNT ); }); diff --git a/integration-tests/emulated/tests/coretime/coretime-kusama/src/tests/coretime_interface.rs b/integration-tests/emulated/tests/coretime/coretime-kusama/src/tests/coretime_interface.rs index 474230b942..fc86253c3c 100644 --- a/integration-tests/emulated/tests/coretime/coretime-kusama/src/tests/coretime_interface.rs +++ b/integration-tests/emulated/tests/coretime/coretime-kusama/src/tests/coretime_interface.rs @@ -17,22 +17,11 @@ use crate::*; use frame_support::traits::OnInitialize; use kusama_runtime::Dmp; use kusama_runtime_constants::system_parachain::coretime::TIMESLICE_PERIOD; -use pallet_broker::{ConfigRecord, Configuration, CoreAssignment, CoreMask, ScheduleItem}; +use pallet_broker::{ConfigRecord, CoreAssignment, CoreMask, ScheduleItem}; use sp_runtime::Perbill; #[test] fn broker_transacts_are_processed_by_relay() { - // Verify that the three UMP transacts sent from the Coretime Chain to the Relay Chain across - // the CoretimeInterface are processed successfully. This serves as a smoke test for the - // relay call encoding (pallet index 74, call indices 1-4) and confirms: - // - Request core count - triggered directly by `start_sales` or `request_core_count` - // extrinsics. - // - Request revenue info - triggered when each timeslice is committed. - // - Assign core - triggered when an entry is encountered in the workplan for the next - // timeslice. - - // RuntimeEvent aliases to avoid warning from usage of qualified paths in assertions due to - // type CoretimeEvent = ::RuntimeEvent; type RelayEvent = ::RuntimeEvent; @@ -40,17 +29,15 @@ fn broker_transacts_are_processed_by_relay() { Dmp::make_parachain_reachable(CoretimeKusama::para_id()); }); - // Reserve a workload, configure broker and start sales. CoretimeKusama::execute_with(|| { - // Hooks don't run in emulated tests - workaround as we need `on_initialize` to tick things - // along and have no concept of time passing otherwise. + // Hooks don't run in emulated tests; tick the broker manually here and inside the loop + // below so `do_tick` runs with the current relay block. ::Broker::on_initialize( ::System::block_number(), ); let coretime_root_origin = ::RuntimeOrigin::root(); - // Create and populate schedule with the worst case assignment on this core. let mut schedule = Vec::new(); for i in 0..80 { schedule.push(ScheduleItem { @@ -64,7 +51,6 @@ fn broker_transacts_are_processed_by_relay() { schedule.try_into().expect("Vector is within bounds."), )); - // Configure broker and start sales. let config = ConfigRecord { advance_notice: 2, interlude_length: 1, @@ -107,8 +93,6 @@ fn broker_transacts_are_processed_by_relay() { ); }); - // Check that the request_core_count message was processed successfully on the relay. This - // will fail if the relay call encoding (pallet/call indices) is wrong. Kusama::execute_with(|| { Kusama::assert_ump_queue_processed(true, Some(CoretimeKusama::para_id()), None); @@ -122,108 +106,68 @@ fn broker_transacts_are_processed_by_relay() { ); }); - // Keep track of the relay chain block number so we can fast forward while still checking the - // right block. let mut block_number_cursor = Kusama::ext_wrapper(::System::block_number); - let config = CoretimeKusama::ext_wrapper(|| { - Configuration::<::Runtime>::get() - .expect("Pallet was configured earlier.") - }); - - // Now run up to the block before the sale is rotated. - while block_number_cursor < TIMESLICE_PERIOD - config.advance_notice - 1 { + let mut found_sale_initialized = false; + let mut found_core_assigned = false; + let mut found_history_dropped = false; + let mut found_relay_core_assigned = false; + let mut relay_ump_processed = 0u32; + // `HistoryDropped` is the terminal event of the round-trip, so it implies all earlier + // broker/relay steps have already fired in prior iterations. + while !found_history_dropped && block_number_cursor < TIMESLICE_PERIOD * 100 { CoretimeKusama::execute_with(|| { - // Hooks don't run in emulated tests - workaround. ::Broker::on_initialize( ::System::block_number(), ); + + for event in &::System::events() { + match &event.event { + CoretimeEvent::Broker(pallet_broker::Event::SaleInitialized { .. }) => + found_sale_initialized = true, + CoretimeEvent::Broker(pallet_broker::Event::CoreAssigned { .. }) => + found_core_assigned = true, + CoretimeEvent::Broker(pallet_broker::Event::HistoryDropped { + when: 0, + revenue: 0, + }) => found_history_dropped = true, + _ => {}, + } + } }); - Kusama::ext_wrapper(|| { + // `Kusama::execute_with` (not `ext_wrapper`) is required: the relay's outgoing DMPs only + // get flushed into the emulator's downward queue from within a relay `execute_with`, and + // that's the path by which `notify_revenue` reaches the broker. + Kusama::execute_with(|| { + for event in &::System::events() { + match &event.event { + RelayEvent::MessageQueue(pallet_message_queue::Event::Processed { + success: true, + .. + }) => relay_ump_processed += 1, + RelayEvent::Coretime(runtime_parachains::coretime::Event::CoreAssigned { + .. + }) => found_relay_core_assigned = true, + _ => {}, + } + } + block_number_cursor = ::System::block_number(); }); } - - // In this block we trigger assign core. - CoretimeKusama::execute_with(|| { - // Hooks don't run in emulated tests - workaround. - ::Broker::on_initialize( - ::System::block_number(), - ); - - assert_expected_events!( - CoretimeKusama, - vec![ - CoretimeEvent::Broker( - pallet_broker::Event::SaleInitialized { .. } - ) => {}, - CoretimeEvent::Broker( - pallet_broker::Event::CoreAssigned { .. } - ) => {}, - CoretimeEvent::ParachainSystem( - cumulus_pallet_parachain_system::Event::UpwardMessageSent { .. } - ) => {}, - ] - ); - }); - - // In this block we trigger request revenue. - CoretimeKusama::execute_with(|| { - // Hooks don't run in emulated tests - workaround. - ::Broker::on_initialize( - ::System::block_number(), - ); - - assert_expected_events!( - CoretimeKusama, - vec![ - CoretimeEvent::ParachainSystem( - cumulus_pallet_parachain_system::Event::UpwardMessageSent { .. } - ) => {}, - ] - ); - }); - - // Check that the assign_core and request_revenue_info_at messages were processed successfully. - // This will fail if the relay call encoding (pallet/call indices) is wrong. - Kusama::execute_with(|| { - Kusama::assert_ump_queue_processed(true, Some(CoretimeKusama::para_id()), None); - - assert_expected_events!( - Kusama, - vec![ - RelayEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - RelayEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - RelayEvent::Coretime( - runtime_parachains::coretime::Event::CoreAssigned { .. } - ) => {}, - ] - ); - }); - - // Here we receive and process the notify_revenue XCM with zero revenue. - CoretimeKusama::execute_with(|| { - // Hooks don't run in emulated tests - workaround. - ::Broker::on_initialize( - ::System::block_number(), - ); - - assert_expected_events!( - CoretimeKusama, - vec![ - CoretimeEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - // Zero revenue in first timeslice so history is immediately dropped. - CoretimeEvent::Broker( - pallet_broker::Event::HistoryDropped { when: 0, revenue: 0 } - ) => {}, - ] - ); - }); + assert!(found_sale_initialized, "broker never emitted `SaleInitialized`"); + assert!(found_core_assigned, "broker never emitted `CoreAssigned`"); + assert!( + found_history_dropped, + "broker never emitted `HistoryDropped` (revenue round-trip did not complete)", + ); + assert!( + relay_ump_processed >= 2, + "relay processed fewer UMPs than expected: got {relay_ump_processed}", + ); + assert!( + found_relay_core_assigned, + "relay never emitted `coretime::CoreAssigned` (assign_core dispatch failed)", + ); } diff --git a/integration-tests/emulated/tests/coretime/coretime-polkadot/src/tests/coretime_interface.rs b/integration-tests/emulated/tests/coretime/coretime-polkadot/src/tests/coretime_interface.rs index 10380a79ba..f0f4eb70de 100644 --- a/integration-tests/emulated/tests/coretime/coretime-polkadot/src/tests/coretime_interface.rs +++ b/integration-tests/emulated/tests/coretime/coretime-polkadot/src/tests/coretime_interface.rs @@ -22,17 +22,6 @@ use sp_runtime::Perbill; #[test] fn broker_transacts_are_processed_by_relay() { - // Verify that the three UMP transacts sent from the Coretime Chain to the Relay Chain across - // the CoretimeInterface are processed successfully. This serves as a smoke test for the - // relay call encoding (pallet index 74, call indices 1-4) and confirms: - // - Request core count - triggered directly by `start_sales` or `request_core_count` - // extrinsics. - // - Request revenue info - triggered when each timeslice is committed. - // - Assign core - triggered when an entry is encountered in the workplan for the next - // timeslice. - - // RuntimeEvent aliases to avoid warning from usage of qualified paths in assertions due to - // type CoretimeEvent = ::RuntimeEvent; type RelayEvent = ::RuntimeEvent; @@ -40,17 +29,15 @@ fn broker_transacts_are_processed_by_relay() { Dmp::make_parachain_reachable(CoretimePolkadot::para_id()); }); - // Reserve a workload, configure broker and start sales. CoretimePolkadot::execute_with(|| { - // Hooks don't run in emulated tests - workaround as we need `on_initialize` to tick things - // along and have no concept of time passing otherwise. + // Hooks don't run in emulated tests; tick the broker manually here and inside the loop + // below so `do_tick` runs with the current relay block. ::Broker::on_initialize( ::System::block_number(), ); let coretime_root_origin = ::RuntimeOrigin::root(); - // Create and populate schedule with the worst case assignment on this core. let mut schedule = Vec::new(); for i in 0..80 { schedule.push(ScheduleItem { @@ -64,7 +51,6 @@ fn broker_transacts_are_processed_by_relay() { schedule.try_into().expect("Vector is within bounds."), )); - // Configure broker and start sales. let config = ConfigRecord { advance_notice: 2, interlude_length: 1, @@ -107,8 +93,6 @@ fn broker_transacts_are_processed_by_relay() { ); }); - // Check that the request_core_count message was processed successfully on the relay. This - // will fail if the relay call encoding (pallet/call indices) is wrong. Polkadot::execute_with(|| { Polkadot::assert_ump_queue_processed(true, Some(CoretimePolkadot::para_id()), None); @@ -122,111 +106,68 @@ fn broker_transacts_are_processed_by_relay() { ); }); - // Keep track of the relay chain block number so we can fast forward while still checking the - // right block. let mut block_number_cursor = Polkadot::ext_wrapper(::System::block_number); - // Run blocks until the sale is initialized and a core is assigned. The broker triggers these - // events when it detects the relay chain approaching the next timeslice boundary. Exact - // timing depends on how many relay blocks each para block advances in the emulator, which can - // shift when other parachains' slot durations change, so loop until the events are observed - // (with a safety bound). let mut found_sale_initialized = false; let mut found_core_assigned = false; - let mut found_upward_message = false; - while !(found_sale_initialized && found_core_assigned && found_upward_message) && - block_number_cursor < TIMESLICE_PERIOD * 100 - // against infinite loop - { + let mut found_history_dropped = false; + let mut found_relay_core_assigned = false; + let mut relay_ump_processed = 0u32; + // `HistoryDropped` is the terminal event of the round-trip, so it implies all earlier + // broker/relay steps have already fired in prior iterations. + while !found_history_dropped && block_number_cursor < TIMESLICE_PERIOD * 100 { CoretimePolkadot::execute_with(|| { - // Hooks don't run in emulated tests - workaround. ::Broker::on_initialize( ::System::block_number(), ); - let events = ::System::events(); - for event in &events { + for event in &::System::events() { match &event.event { - CoretimeEvent::Broker(pallet_broker::Event::SaleInitialized { .. }) => { - found_sale_initialized = true; - }, - CoretimeEvent::Broker(pallet_broker::Event::CoreAssigned { .. }) => { - found_core_assigned = true; - }, - CoretimeEvent::ParachainSystem( - cumulus_pallet_parachain_system::Event::UpwardMessageSent { .. }, - ) => { - found_upward_message = true; - }, + CoretimeEvent::Broker(pallet_broker::Event::SaleInitialized { .. }) => + found_sale_initialized = true, + CoretimeEvent::Broker(pallet_broker::Event::CoreAssigned { .. }) => + found_core_assigned = true, + CoretimeEvent::Broker(pallet_broker::Event::HistoryDropped { + when: 0, + revenue: 0, + }) => found_history_dropped = true, _ => {}, } } }); - Polkadot::ext_wrapper(|| { + // `Polkadot::execute_with` (not `ext_wrapper`) is required: the relay's outgoing DMPs + // only get flushed into the emulator's downward queue from within a relay `execute_with`, + // and that's the path by which `notify_revenue` reaches the broker. + Polkadot::execute_with(|| { + for event in &::System::events() { + match &event.event { + RelayEvent::MessageQueue(pallet_message_queue::Event::Processed { + success: true, + .. + }) => relay_ump_processed += 1, + RelayEvent::Coretime(runtime_parachains::coretime::Event::CoreAssigned { + .. + }) => found_relay_core_assigned = true, + _ => {}, + } + } + block_number_cursor = ::System::block_number(); }); } - assert!(found_sale_initialized); - assert!(found_core_assigned); - assert!(found_upward_message); - - // In this block we trigger request revenue. - CoretimePolkadot::execute_with(|| { - // Hooks don't run in emulated tests - workaround. - ::Broker::on_initialize( - ::System::block_number(), - ); - - assert_expected_events!( - CoretimePolkadot, - vec![ - CoretimeEvent::ParachainSystem( - cumulus_pallet_parachain_system::Event::UpwardMessageSent { .. } - ) => {}, - ] - ); - }); - - // Check that the assign_core and request_revenue_info_at messages were processed successfully. - // This will fail if the relay call encoding (pallet/call indices) is wrong. - Polkadot::execute_with(|| { - Polkadot::assert_ump_queue_processed(true, Some(CoretimePolkadot::para_id()), None); - - assert_expected_events!( - Polkadot, - vec![ - RelayEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - RelayEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - RelayEvent::Coretime( - runtime_parachains::coretime::Event::CoreAssigned { .. } - ) => {}, - ] - ); - }); - - // Here we receive and process the notify_revenue XCM with zero revenue. - CoretimePolkadot::execute_with(|| { - // Hooks don't run in emulated tests - workaround. - ::Broker::on_initialize( - ::System::block_number(), - ); - - assert_expected_events!( - CoretimePolkadot, - vec![ - CoretimeEvent::MessageQueue( - pallet_message_queue::Event::Processed { success: true, .. } - ) => {}, - // Zero revenue in first timeslice so history is immediately dropped. - CoretimeEvent::Broker( - pallet_broker::Event::HistoryDropped { when: 0, revenue: 0 } - ) => {}, - ] - ); - }); + assert!(found_sale_initialized, "broker never emitted `SaleInitialized`"); + assert!(found_core_assigned, "broker never emitted `CoreAssigned`"); + assert!( + found_history_dropped, + "broker never emitted `HistoryDropped` (revenue round-trip did not complete)", + ); + assert!( + relay_ump_processed >= 2, + "relay processed fewer UMPs than expected: got {relay_ump_processed}", + ); + assert!( + found_relay_core_assigned, + "relay never emitted `coretime::CoreAssigned` (assign_core dispatch failed)", + ); } From c3543fdaf2fd1fa05fe46ff3ab3cfbe477909ad5 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Wed, 20 May 2026 21:00:27 +0200 Subject: [PATCH 47/59] Remove pallet-revive v3 migration Signed-off-by: Oliver Tale-Yazdi --- .../asset-hubs/asset-hub-kusama/src/migrations.rs | 3 ++- .../asset-hubs/asset-hub-polkadot/src/migrations.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs index bc07deb45f..fc48e61ada 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs @@ -69,7 +69,8 @@ mod multiblock_migrations { ForeignAssetsInstance, pallet_assets_precompiles::weights::SubstrateWeight, >, - pallet_revive::migrations::v3::Migration, + // Not added: we do it with a manual TX + //pallet_revive::migrations::v3::Migration, pallet_recovery::migrations::v1::MigrateV0ToV1, ); diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs index 3a2f5b87a6..0ee44b2bd6 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs @@ -136,7 +136,8 @@ mod multiblock_migrations { ForeignAssetsInstance, pallet_assets_precompiles::weights::SubstrateWeight, >, - pallet_revive::migrations::v3::Migration, + // Not added: we do it with a manual TX + //pallet_revive::migrations::v3::Migration, ); /// This type provides reserves information for `asset_id`. Meant to be used in a migration From 1c7a721939482958c6be5ea92acd31f5ed5525df Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 22 May 2026 13:31:54 +0300 Subject: [PATCH 48/59] Update to 2604-rc2 Signed-off-by: Oliver Tale-Yazdi --- Cargo.lock | 971 +++++++++++++++++++++++++++++------------------------ Cargo.toml | 256 +++++++------- 2 files changed, 653 insertions(+), 574 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a7517f1003..c20fcf1e84 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1189,7 +1189,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-executive", "frame-metadata-hash-extension", @@ -1245,8 +1245,8 @@ dependencies = [ "pallet-staking-async-rc-client", "pallet-staking-runtime-api", "pallet-state-trie-migration", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury", "pallet-uniques", @@ -1383,7 +1383,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-executive", "frame-metadata-hash-extension", @@ -1438,8 +1438,8 @@ dependencies = [ "pallet-staking-async-rc-client", "pallet-staking-runtime-api", "pallet-state-trie-migration", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury", "pallet-uniques", @@ -1503,9 +1503,9 @@ dependencies = [ [[package]] name = "asset-test-utils" -version = "31.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ddce94b873a0b2b935d08ae99c74476f36da4448ed2e2d04d16adb8eb3cd4cc" +checksum = "4609df453374413168547cb49ce7f5f4bdbbdc6992220c4030997f1ed256e875" dependencies = [ "assets-common", "cumulus-pallet-parachain-system", @@ -1518,7 +1518,7 @@ dependencies = [ "pallet-balances", "pallet-collator-selection", "pallet-session", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "pallet-xcm", "pallet-xcm-bridge-hub-router", "parachains-common", @@ -1535,9 +1535,9 @@ dependencies = [ [[package]] name = "assets-common" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8466c29d8ed20032995f698dca7333aef406ce541f397fa4fff213e9106a6238" +checksum = "9ec653f113c0ed4d5d86db31650ce838d5fed6342690260501db0943f0864ac9" dependencies = [ "cumulus-primitives-core", "ethereum-standards", @@ -2144,9 +2144,9 @@ dependencies = [ [[package]] name = "bp-bridge-hub-cumulus" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bb185eb63d9e62f252758852d88d5de1754745bb5978d989df7b7352a71f440" +checksum = "57bb7cb9581890cab93090f9ffdc71f7d89acfd8401d9ab269f19423458937d3" dependencies = [ "bp-messages", "bp-polkadot-core", @@ -2270,9 +2270,9 @@ dependencies = [ [[package]] name = "bp-relayers" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7307bc43700f770a9e9c0c2d24f13ba487f8d8616fe3788b186b489253854bc9" +checksum = "89f493f246a0ac741b719ce574802c35073da35d9b39889e7c584d8fb1649a15" dependencies = [ "bp-header-chain", "bp-messages", @@ -2289,9 +2289,9 @@ dependencies = [ [[package]] name = "bp-runtime" -version = "0.27.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b533f60ba5be417ee53b67afb755eeffd71cf9b38449f1b888c6b8feaaaf0608" +checksum = "6d3949a24059cf7080afc6f48e6f602a704f16477ebf88db6deac763fc75ee4b" dependencies = [ "frame-support", "frame-system", @@ -2365,9 +2365,9 @@ dependencies = [ [[package]] name = "bridge-hub-common" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b9d31d31873281594cc85d2fa32895a8271e41fe7ce4e2b0a9abd4f56a751e" +checksum = "7727e7c07caf4cb2553f7e7472257fd5a152d2e5feed05d99f3d85d0c295d56e" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2464,7 +2464,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -2487,8 +2487,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -2626,7 +2626,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -2649,8 +2649,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -2714,9 +2714,9 @@ dependencies = [ [[package]] name = "bridge-hub-test-utils" -version = "0.30.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e09cbb97ee6d2f884ddb3d765c2b9ec4281ee39e7fa6f29d4b90c9c529705dca" +checksum = "a9e482b170219f7732146581b30d7465a97aaaf438a9f6b00788d0f94080514f" dependencies = [ "asset-test-utils", "bp-header-chain", @@ -2736,7 +2736,7 @@ dependencies = [ "pallet-bridge-messages", "pallet-bridge-parachains", "pallet-bridge-relayers", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "pallet-utility", "pallet-xcm", "pallet-xcm-bridge-hub", @@ -2757,9 +2757,9 @@ dependencies = [ [[package]] name = "bridge-runtime-common" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6126cda84d9603d310ef778d8e244e04feef81bead80679ebb5e38913b9660f7" +checksum = "3f88c7a3af32903dd6e7360ea5fb3b1b0e356c48d3ec58c3042fffbdeaaad62a" dependencies = [ "bp-header-chain", "bp-messages", @@ -2773,7 +2773,7 @@ dependencies = [ "pallet-bridge-messages", "pallet-bridge-parachains", "pallet-bridge-relayers", - "pallet-transaction-payment", + "pallet-transaction-payment 48.0.0", "pallet-utility", "parity-scale-codec", "scale-info", @@ -2847,7 +2847,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -2863,8 +2863,8 @@ dependencies = [ "pallet-message-queue", "pallet-session", "pallet-skip-feeless-payment", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -3283,7 +3283,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -3310,8 +3310,8 @@ dependencies = [ "pallet-salary", "pallet-scheduler", "pallet-session", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury", "pallet-utility", @@ -3596,7 +3596,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -3616,8 +3616,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -3705,7 +3705,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -3724,8 +3724,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -4204,15 +4204,15 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77e4e2eabcd039fa312527c106febf4ab51a7878b3b82b57dd5b51e0294eb08" +checksum = "e6580ef26f38d4c792a36f99efd4d1f8583803bc99c54ab9953fb27c9af48f99" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", "frame-system", "pallet-aura", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "parity-scale-codec", "scale-info", "sp-application-crypto 46.0.0", @@ -4222,9 +4222,9 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7584e55f8f82926d36126168a0b94712ad6fe01e03dd83b27d7ae5ad70184fc0" +checksum = "25f61ed90405269cd880934c06b2f43df2d0b68b7104cbedad1648749ac138c5" dependencies = [ "array-bytes 6.2.3", "bytes", @@ -4235,7 +4235,7 @@ dependencies = [ "derive-where", "docify", "environmental", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "hashbrown 0.15.5", @@ -4278,11 +4278,11 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" -version = "28.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfc645400b6f8c249406daf573c298908f87a9eb41ed6b59b18856a97fc53a26" +checksum = "2b92fa477e5f60add7a418c80db01d90672afcb45074f2a15aed7c5a007eb56a" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "pallet-session", @@ -4292,14 +4292,14 @@ dependencies = [ [[package]] name = "cumulus-pallet-weight-reclaim" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c35f07e0f5f3ff2448938d63f71cb9a2d587933c1f011e0a4dd9f3a1ec61b237" +checksum = "31758512300537aaf11c713fb6121c5286a6afcb47dc771268218ce4498a0e98" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "derive-where", "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -4328,16 +4328,16 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc83b39f928db62f3d3b13337cd856da414a324072a89a404dbd05d0a663463f" +checksum = "39282e0bb47f2b54b5f11e047fd1041cf30a09bd428ef060220559ece2e8369e" dependencies = [ "approx", "bitflags 1.3.2", "bounded-collections", "bp-xcm-bridge-hub-router", "cumulus-primitives-core", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "pallet-message-queue", @@ -4410,14 +4410,14 @@ dependencies = [ [[package]] name = "cumulus-primitives-storage-weight-reclaim" -version = "18.0.0" +version = "19.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad827cc26c1d34927f34d306f62a93f9104485d05cf7bd02e27d2168d5c6991" +checksum = "476449f38b0424adae257fc659dd82b98f0e3673d69802055913f55dfa52e622" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-proof-size-hostfunction", "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -4428,9 +4428,9 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a790fbfc051215754cebac5644c63e3c20d75f5c908022160a930a234e9f08b1" +checksum = "1661a7583cb9d3e5d6cc73f2554161d4f8500b37ed5061d8bb7cec3631eeb5e9" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -5046,9 +5046,9 @@ checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" [[package]] name = "emulated-integration-tests-common" -version = "30.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1598710fc59310262898a74a1406e26023ff8b44055207da739e8e013a856386" +checksum = "4d76d914b30e9e7a9f3793a96717e405ef08f57b8c73999a4ee0f724b7160917" dependencies = [ "asset-test-utils", "bp-messages", @@ -5116,10 +5116,10 @@ dependencies = [ "frame-support", "frame-system", "log", - "pallet-asset-tx-payment", + "pallet-asset-tx-payment 47.0.0", "pallet-encointer-balances", "pallet-encointer-ceremonies", - "pallet-transaction-payment", + "pallet-transaction-payment 47.0.0", "sp-runtime 47.0.0", ] @@ -5212,7 +5212,7 @@ dependencies = [ "encointer-balances-tx-payment", "encointer-balances-tx-payment-rpc-runtime-api", "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -5223,7 +5223,7 @@ dependencies = [ "hex-literal", "kusama-runtime-constants", "log", - "pallet-asset-tx-payment", + "pallet-asset-tx-payment 48.0.0", "pallet-assets", "pallet-aura", "pallet-authorship", @@ -5251,8 +5251,8 @@ dependencies = [ "pallet-proxy", "pallet-scheduler", "pallet-session", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -5784,6 +5784,32 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "frame-benchmarking" +version = "48.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bac5bf601c69cb27aee945517b723c2df4ecfc0bdd7b498f04998307d7ce5c13" +dependencies = [ + "anyhow", + "frame-support", + "frame-support-procedural", + "frame-system", + "linregress", + "log", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "sp-api 42.0.0", + "sp-application-crypto 46.0.0", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-runtime-interface 35.0.0", + "sp-storage 23.0.0", + "static_assertions", +] + [[package]] name = "frame-decode" version = "0.8.3" @@ -6025,11 +6051,11 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13bd3b8a3cc61742a9033608420e47a2dab4ff9d9127a55a56199359637aef5c" +checksum = "e1a4b94405b4f92766969ac9143a0740b1bc0e5af8f5c9fc4223df9b3c9d4cc5" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -6346,7 +6372,7 @@ dependencies = [ "cumulus-pallet-parachain-system", "cumulus-pallet-xcm", "cumulus-primitives-core", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-support", "frame-system", @@ -9165,7 +9191,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -9459,11 +9485,11 @@ dependencies = [ [[package]] name = "pallet-accumulate-and-forward" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04b4c0c7ea6ab1ee5e8baf46d260578822e6ebf15ed14c04feb4c3edfd795183" +checksum = "70a06a4007d81c38e6a450742f209b61252f091440328ffb7ddb8365c5871f59" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -9477,7 +9503,7 @@ name = "pallet-ah-ops" version = "0.1.0" dependencies = [ "cumulus-primitives-core", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -9487,7 +9513,7 @@ dependencies = [ "pallet-election-provider-multi-block", "pallet-staking-async", "pallet-staking-async-rc-client", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "parity-scale-codec", "scale-info", "sp-application-crypto 46.0.0", @@ -9500,12 +9526,12 @@ dependencies = [ [[package]] name = "pallet-alliance" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "813363bf893ceeb4e8ab46325d3bcf70a7f52b449eeee6b755fe3bc47a1e8454" +checksum = "815056b7948ef57cb149b56bb816e7e66e9edd3abc424b293d64b68669afe805" dependencies = [ "array-bytes 6.2.3", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -9521,11 +9547,11 @@ dependencies = [ [[package]] name = "pallet-asset-conversion" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f5181c48fa3ea50bf9f3b3a19e4cf708e7e0d0ee6397961e2c176a215d9ebf3" +checksum = "7331060ed8eb72522a1ef81ef5803de08919fd29a5517365435def45476c77a3" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -9540,9 +9566,9 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-precompiles" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703250477bdfdd3fb91c141a68f7520dd4760693a06315a24d6d16778ef0ca9e" +checksum = "51a23011cfbfb8c1742d0ed68d17f53899a2e84d884680dc1e01aa9d24d5f263" dependencies = [ "frame-support", "frame-system", @@ -9556,15 +9582,15 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-tx-payment" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfc50cfade1e1ed4f89ccce19163d4a7b9289173a9659535251721ea916aa8e0" +checksum = "8cbc1bab2aaa9985bb32e18ba508350e1422ab18e5d3b57ed7aa7f321a717fca" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "pallet-asset-conversion", - "pallet-transaction-payment", + "pallet-transaction-payment 48.0.0", "parity-scale-codec", "scale-info", "sp-runtime 47.0.0", @@ -9572,11 +9598,11 @@ dependencies = [ [[package]] name = "pallet-asset-rate" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db795f12bd78b65725d382e5cf85ef2d3751bdfbf2e2dd417b3acebd13590379" +checksum = "d85da1aca868a63ebc24fe20e03fceba9932db588c87ea1a671a5f0b372bd96b" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -9591,10 +9617,27 @@ version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dbf12ef714ba9068629f0e204677b3f113dcdabdd04c1b6d0e68e3d72b722c3" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 47.0.0", + "frame-support", + "frame-system", + "pallet-transaction-payment 47.0.0", + "parity-scale-codec", + "scale-info", + "serde", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-asset-tx-payment" +version = "48.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "017113f0b67563bdea68388389245b085b3ac034fed74cdda24cd3758297930d" +dependencies = [ + "frame-benchmarking 48.0.0", "frame-support", "frame-system", - "pallet-transaction-payment", + "pallet-transaction-payment 48.0.0", "parity-scale-codec", "scale-info", "serde", @@ -9604,11 +9647,11 @@ dependencies = [ [[package]] name = "pallet-assets" -version = "50.0.0" +version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a12ce465455024ddb679ca6425f63a6f7c40763a86f7482a8b02dd6c85e5a32" +checksum = "5752ea378a98c5ead92025b916fad0981dfb46ac712842d69b2bbf4260acce5f" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -9621,11 +9664,11 @@ dependencies = [ [[package]] name = "pallet-assets-holder" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9149a0f06545f1ebeacdfbc54fef8bf3ad9fd7e8a3bc6161de32ff19b812b54d" +checksum = "f5ff68417c4ef999aa1962709ae739271f1eddbc6a898e3dcf7cebc8f36af1e8" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -9637,19 +9680,19 @@ dependencies = [ [[package]] name = "pallet-assets-precompiles" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "600be4f3db354d9e2041864fbaec3a961576f5ce9ab5d1aa6c377b2ada718df3" +checksum = "82db74bb122110065622182608c0c17c9e8c616e42c94d9127c4966f267ca5b8" dependencies = [ "const-crypto", "ethereum-standards", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", "pallet-assets", "pallet-revive", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "parity-scale-codec", "scale-info", "sp-core 41.0.0", @@ -9660,14 +9703,14 @@ dependencies = [ [[package]] name = "pallet-aura" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d189a393438200a3f0302847e6c646376a423c290d58c629e8283e3ea9a40795" +checksum = "40e28873a69c8343e303b4a5bf0156a5965d8eae96623dcb3afca25f99c8ca15" dependencies = [ "frame-support", "frame-system", "log", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "parity-scale-codec", "scale-info", "sp-application-crypto 46.0.0", @@ -9677,9 +9720,9 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9757ea14adec92eb42718e1801b7406a7c2bfea4a82fc77455eb2c558f3ce1d" +checksum = "8534c65146d23e618c803bc1217b102067d0d8a4c65a612a8c8bea9edfe45bb1" dependencies = [ "frame-support", "frame-system", @@ -9707,17 +9750,17 @@ dependencies = [ [[package]] name = "pallet-babe" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "351943c9049b6469a94386edb96848b8b11b72b491a29c3f368eaeb3fd430e20" +checksum = "3f50441ab81c511e8878754e0b8884f6089c1d15c94297c7fe6222844b28fd31" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", "pallet-authorship", "pallet-session", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "parity-scale-codec", "scale-info", "sp-application-crypto 46.0.0", @@ -9731,13 +9774,13 @@ dependencies = [ [[package]] name = "pallet-bags-list" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00bdc9f9b8506797a012ad36767aa117cae2745244fad8b87b514da31dd75d7" +checksum = "4a7c4476b0780e60c6727ec9f13037361557d8513e8bb72421f0be08cb6bd6fe" dependencies = [ "aquamarine", "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -9753,12 +9796,12 @@ dependencies = [ [[package]] name = "pallet-balances" -version = "48.0.0" +version = "49.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7eeb90835154816cffa771fa82689e94b8afe33eba30de3f8d1dcd2f2b42a3" +checksum = "082c8405f9664430eaf30e4f62b94f50a6b831414fafb607b03a4abd148d1d47" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -9770,9 +9813,9 @@ dependencies = [ [[package]] name = "pallet-beefy" -version = "48.0.0" +version = "49.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ee9536ff175ca442714e599c3753597d7f396d351ebc2b2860144520eed0e" +checksum = "3a9bbe39703709e7facd8465eb135066836117d284e5c62c938d2c481d19aa5e" dependencies = [ "frame-support", "frame-system", @@ -9790,13 +9833,13 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" -version = "48.0.0" +version = "49.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2255b4ac8dcc82f82ded6bb8c3e32aedc6e67f85fbc165af8ca200ecb086f34b" +checksum = "be55642d71a77b0addd28ab9306f68b4115c81bda7c855722d4e02d26db15d44" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -9816,11 +9859,11 @@ dependencies = [ [[package]] name = "pallet-bounties" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4df70034de4c1539b09c64ae8852bb3bfa60d34dfcb40eeec9c096e99bf6d877" +checksum = "643916c92f3760ed66face67e872aa2ae450ca0bb1856e5ffd9645c460ecf8b8" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -9834,14 +9877,14 @@ dependencies = [ [[package]] name = "pallet-bridge-grandpa" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3962d02f9072473ca462b8a860d422e1b575f476085e07ad0f3b5a4bf8fbd07" +checksum = "b515a3264ea79a70d67d538cf7383870e240f27f1b809fad453b4071996984cc" dependencies = [ "bp-header-chain", "bp-runtime", "bp-test-utils", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -9854,14 +9897,14 @@ dependencies = [ [[package]] name = "pallet-bridge-messages" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac7e32dbd16530d52351f9ec4904031297a3e249d31956ff93e03e5ac2e55fe3" +checksum = "218433924fddf9d1a94d848f1d5f11dd2d51274719bcb4b468fd26ef364eb83b" dependencies = [ "bp-header-chain", "bp-messages", "bp-runtime", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -9874,15 +9917,15 @@ dependencies = [ [[package]] name = "pallet-bridge-parachains" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10ad880bd4c96b7754ccfdeaa3f2d52a9151ac6499290c4535434415a8198b9c" +checksum = "fcae0cb477225a03517afa62fb6af0d3b1fe454d25314fb602eaf61dba731519" dependencies = [ "bp-header-chain", "bp-parachains", "bp-polkadot-core", "bp-runtime", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "pallet-bridge-grandpa", @@ -9895,21 +9938,21 @@ dependencies = [ [[package]] name = "pallet-bridge-relayers" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4593459485c948cb211151f314b61dc6970a945389d7bbc1fab0f5cf802027" +checksum = "a82b341f2f6e883cc1cf51282698c7554becf46d4c25413eda997b24b0a20041" dependencies = [ "bp-header-chain", "bp-messages", "bp-relayers", "bp-runtime", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "pallet-bridge-grandpa", "pallet-bridge-messages", "pallet-bridge-parachains", - "pallet-transaction-payment", + "pallet-transaction-payment 48.0.0", "parity-scale-codec", "scale-info", "sp-arithmetic", @@ -9919,12 +9962,12 @@ dependencies = [ [[package]] name = "pallet-broker" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7b0bbf7fa5c78b3d32aa1437ff60bd432e2f3dec69deb477fddcd192d2d2c2c" +checksum = "c9618c786871aa77af41927d6ee6cb0829aaed0e5f4e42e26b83046bab08ce15" dependencies = [ "bitvec", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -9938,11 +9981,11 @@ dependencies = [ [[package]] name = "pallet-child-bounties" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b11591516db4a6d2fa91fbb0a577147db72b1743f47249e56d4bfb3932ee2c00" +checksum = "fdcf339e677a103c244ee38ca4bf89e5ad93a40896ff2126418218539a5e3156" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -9957,12 +10000,12 @@ dependencies = [ [[package]] name = "pallet-collator-selection" -version = "28.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c34bf518141c1cd2344edbe9baa28205b0c60bf5f73ff92e0ff5e565f8d94b" +checksum = "d16087568d6d7b14d5218f81961104d364c310b5be2dc9fd44673e8bba7c7a63" dependencies = [ "cumulus-pallet-session-benchmarking", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -9978,12 +10021,12 @@ dependencies = [ [[package]] name = "pallet-collective" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b61f80b5880ce665ac3b9b0f4893db57b521c16d30a6499c56aace4accf8b5a5" +checksum = "002fc65aee1338de242813679587c1601e4ed17e9d6e7958c711a411d37bb625" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -9996,12 +10039,12 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d510e1ffa3cacf45fff188bc327aa5f9ee0aa95b85f24d9d1c89490a1857812" +checksum = "f077a0cb2995747d43181d3208a3a102f5e202ffb563e4f95b5c51704c9b1b36" dependencies = [ "assert_matches", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -10013,11 +10056,11 @@ dependencies = [ [[package]] name = "pallet-core-fellowship" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ed362aa84504b5ffb640d37302ae455fae676882ac3315bbba7a2e97ad2484" +checksum = "e20192ad1e81be92b743d02ab0e929acea73771fec698b6bfe14785eefc58c57" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -10032,15 +10075,15 @@ dependencies = [ [[package]] name = "pallet-dap" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf956b32e26abf6f133935472c2289471c4bd7111094a1af1a9b8ac04f052c3" +checksum = "34a7105876930a81599187f29beb56790622f54255b82713a53f8e535e4f01ca" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "parity-scale-codec", "scale-info", "sp-dap", @@ -10066,11 +10109,11 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-block" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "654b196f666c58117c903c81d0f4c068be261d807590f12fec4617bdbdd09563" +checksum = "84769710c4ea5bd2d864932680c73728799ce1f38dfe2d7372be36a521f27f09" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -10088,11 +10131,11 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ab6a9d55d2e0045af2080d6c93c56745fb22e5dfd6e64b8e7b7106758f64ac5" +checksum = "e1a3506794df6805450cb787db4203a442a17f0c50ccb9597a9146c675fea26a" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -10110,11 +10153,11 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec6ef314b8d355841a3048988ea49cc9a5113dd67dc97799557ffbf989c0b178" +checksum = "a31e7819dd30f7faa2a35ef1b9a2fadba30cad5f67b123496f27028499c5b76f" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-system", "parity-scale-codec", @@ -10130,12 +10173,12 @@ checksum = "b321e4edd6f218eb6a74bc6dfa79d2cfb6dc6b21514360a58ce90031ab6b2370" dependencies = [ "approx", "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 47.0.0", "frame-support", "frame-system", "log", - "pallet-asset-tx-payment", - "pallet-transaction-payment", + "pallet-asset-tx-payment 47.0.0", + "pallet-transaction-payment 47.0.0", "parity-scale-codec", "scale-info", "sp-runtime 47.0.0", @@ -10149,7 +10192,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "012e471a9cc3441daea1037d620d59f35bbd6edb7fe25d72962b0cb99d21f1a4" dependencies = [ "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 47.0.0", "frame-support", "frame-system", "log", @@ -10182,14 +10225,14 @@ dependencies = [ "encointer-ceremonies-assignment", "encointer-meetup-validation", "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 47.0.0", "frame-support", "frame-system", "log", "pallet-encointer-balances", "pallet-encointer-communities", "pallet-encointer-scheduler", - "pallet-timestamp", + "pallet-timestamp 46.0.0", "parity-scale-codec", "scale-info", "sp-application-crypto 46.0.0", @@ -10219,7 +10262,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fd6d09d7b9dcd3abacc14fac4bd2fafe9ff35f7e9ce6a32a891e3cc5681b5f1" dependencies = [ "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 47.0.0", "frame-support", "frame-system", "log", @@ -10251,7 +10294,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a15c5a01a0a26a98175992fa6d16877a8d66c3388ef8f7ff8af8bafa70d9f8a7" dependencies = [ "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 47.0.0", "frame-support", "frame-system", "log", @@ -10260,7 +10303,7 @@ dependencies = [ "pallet-encointer-reputation-commitments", "pallet-encointer-scheduler", "pallet-encointer-treasuries", - "pallet-timestamp", + "pallet-timestamp 46.0.0", "parity-scale-codec", "scale-info", "sp-application-crypto 46.0.0", @@ -10278,7 +10321,7 @@ checksum = "032575c0fa002ba526bc51667c27c15667b77198d16bc007a3b16a2448b143b9" dependencies = [ "approx", "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 47.0.0", "frame-support", "frame-system", "log", @@ -10309,7 +10352,7 @@ dependencies = [ "ark-std 0.4.0", "encointer-offline-payment-core", "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 47.0.0", "frame-support", "frame-system", "log", @@ -10331,14 +10374,14 @@ checksum = "08bbb65b709bf9f1a6d20b2c6e04fff525b2343cbfe7a5495867c64d4490708c" dependencies = [ "approx", "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 47.0.0", "frame-support", "frame-system", "log", "pallet-encointer-ceremonies", "pallet-encointer-communities", "pallet-encointer-scheduler", - "pallet-timestamp", + "pallet-timestamp 46.0.0", "parity-scale-codec", "scale-info", "sp-core 41.0.0", @@ -10353,7 +10396,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d79d9fbe78327197dccb879075f757ddd1f4e6c7f4bc5c3f1e65b8b5931d2bf2" dependencies = [ "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 47.0.0", "frame-support", "frame-system", "log", @@ -10375,12 +10418,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a10be0263a361130b20aa2de8d7c60d8ffdff75c9a82e5383848a645c515929" dependencies = [ "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 47.0.0", "frame-support", "frame-system", "impl-trait-for-tuples", "log", - "pallet-timestamp", + "pallet-timestamp 46.0.0", "parity-scale-codec", "scale-info", "sp-runtime 47.0.0", @@ -10395,14 +10438,14 @@ checksum = "9af0e3f605de67dbb1085e6460e5e3e23c2c393bca0b48fd67e54cbfc902f548" dependencies = [ "approx", "encointer-primitives", - "frame-benchmarking", + "frame-benchmarking 47.0.0", "frame-support", "frame-system", "log", "pallet-encointer-balances", "pallet-encointer-communities", "pallet-encointer-reputation-commitments", - "pallet-timestamp", + "pallet-timestamp 46.0.0", "parity-scale-codec", "scale-info", "sp-core 41.0.0", @@ -10426,12 +10469,12 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56a48ad630cd73726eabeb376698d2b32375a4e134f1e36f075490b19e724508" +checksum = "c22b0394236a0e3faf9c90cf9dfb98b2f5319bcc23103136d9ba26c9c3e56d17" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -10445,12 +10488,12 @@ dependencies = [ [[package]] name = "pallet-glutton" -version = "33.0.0" +version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36571ad0f4c3d3effb88f0975853f5cb1f9afcd556ca20040d67e6d9c2c99e15" +checksum = "01d49901940524b7e0d1d5c1941934b415288e6b1cd421a7eb8162c22c27d06f" dependencies = [ "blake2 0.10.6", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -10464,11 +10507,11 @@ dependencies = [ [[package]] name = "pallet-grandpa" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82f8a269e4a09f4160a0b9383a5d5c0b4fe67dbc80f8bcedceb02fce72daea37" +checksum = "315652f265f2f3f6ecf9e5ecd589ba01d52d9f2df0ea287c5bf654038b15b304" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -10487,12 +10530,12 @@ dependencies = [ [[package]] name = "pallet-identity" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11e5cf703eccd877f4d075a7103a8a539f3685690943c6f349f76f7742f7e8a7" +checksum = "88febdcdd4d5ce92c1c373e9de440488a94f14d076019c185fa7770c0e0e21d2" dependencies = [ "enumflags2", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -10504,11 +10547,11 @@ dependencies = [ [[package]] name = "pallet-im-online" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2c4b8e4a80ed879b610d5f1af20d353a11dad4ff848dfd81447fb9997ad6e80" +checksum = "7580657dc96a3ed59ea981d93612bf026356323813e530c7f12a95ebd8a60276" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -10524,11 +10567,11 @@ dependencies = [ [[package]] name = "pallet-indices" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4de59e07085583f32f41f4c70dd1ea5fe94642f4edc022f06f292f390096cda6" +checksum = "a558bc7f51901e229488259c370e8d49d96cd9752143df0031504ce071fa4926" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -10540,9 +10583,9 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" -version = "35.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff2f6faeef6341736fcc834faf9a8830db754505c7e704b3f2dbcb52a22cead1" +checksum = "30f15e853dad976a51c39aa7ce2d8ffacd9ed1e9715775530a9c909671c10a8c" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10552,11 +10595,11 @@ dependencies = [ [[package]] name = "pallet-membership" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77fab153395658c7a37a288604daae8e9cd5b6b0d79849710cd5572679eeea6c" +checksum = "f6f106e900e384e1b99af2c5df212a79cdcaeab73670140aa5965ba1687dc385" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -10569,12 +10612,12 @@ dependencies = [ [[package]] name = "pallet-message-queue" -version = "50.0.0" +version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdab19a61b19a6ff4ba65561524fe57580413414afd1ff935b2e32d0f49d13c" +checksum = "7c6518c1ce59b1fb63b127d462a0371e52b2a014d51ee2adfe283c1d276dcf3d" dependencies = [ "environmental", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -10589,12 +10632,12 @@ dependencies = [ [[package]] name = "pallet-migrations" -version = "17.0.0" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae37dccae86cf412a24a5cb7065cda03950bd69bcf138dcf3c7e9ae658d269d" +checksum = "90e53c0720cc71309be3da638e75591bf02d3141590f7c6e004e326ed307b4ff" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -10609,9 +10652,9 @@ dependencies = [ [[package]] name = "pallet-mmr" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5877919fe2e2c18fa23fd4de8e8530c5f2049247aecbfa6bc5ee59372f355eb" +checksum = "31125bba03adf8c2163ca67146ee9005fc44aee069dbff2a32a56aabf41ced9f" dependencies = [ "log", "parity-scale-codec", @@ -10622,12 +10665,12 @@ dependencies = [ [[package]] name = "pallet-multi-asset-bounties" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9f6ad4dc1e04ba31fb2ea64fbe3310eb51694d955211b20cb7d8979b7cecbe2" +checksum = "89608a9d14cef8c242fbaeec570a9bcc7e372ca1ef72ca66a8a0225067d3c4a3" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -10640,9 +10683,9 @@ dependencies = [ [[package]] name = "pallet-multisig" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d059159fb4a4decdf8df27a12c654222aad18c69535e68acf085ee7c2b007b7" +checksum = "193636d6e536e0ed75d8963b95e556e86feb09b319bd6cfc60f2a8a328d766d6" dependencies = [ "log", "parity-scale-codec", @@ -10652,9 +10695,9 @@ dependencies = [ [[package]] name = "pallet-nft-fractionalization" -version = "31.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e81c7f8049897d982caab7f1c0168ada8c4864da64c999184b694350634153e" +checksum = "c92d4572ba890fca812a3c09680d13f4d87bd63727a39e2056c3206ace985799" dependencies = [ "log", "pallet-assets", @@ -10666,12 +10709,12 @@ dependencies = [ [[package]] name = "pallet-nfts" -version = "41.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e344097aec19ec0ff34baa616bd52465c9b8468b050773553ff966cb8db05a" +checksum = "8aee15c810bacb51dfd440b19e15aa55ea7ba41f3df8f8a90eac151e45cb0942" dependencies = [ "enumflags2", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -10694,9 +10737,9 @@ dependencies = [ [[package]] name = "pallet-nis" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "050118d61feee4e040e097b64dc9f505a63ea1e37ef98a98dca76c91928b82e0" +checksum = "dae8e340b3821012f2d96e066e51eeb5f62db5679d41cadb8c6b2d530b328fb4" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10705,9 +10748,9 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9dd55e0eb67a0fc1375b73b63b0385409fa6cc31f5423e0cd00716fa40d5ecc" +checksum = "962c84efb2f0a86bf16a179693015efc834d45925270f8ff5d044b34a33a2e46" dependencies = [ "frame-support", "frame-system", @@ -10724,11 +10767,11 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" -version = "45.0.0" +version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25ccda02ee2df9e6b31b28ed7185b941de59f3622fc9ad4367b28365bc7754b5" +checksum = "7faf7e000bccbb24aa7f58339affb32d43254540065053d1d26699725026fd05" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -10745,9 +10788,9 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" -version = "43.0.0" +version = "44.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1320b1e0b25fd6fa9d236dcee5dceabc56472895a6cd0888335d9ada18f29204" +checksum = "23aebc03234dbc9b34a77b5f4f28e4e4eeb90f1cb78aeba923200dc2e04f586d" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -10772,11 +10815,11 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05383410fe93c18a14cdd64c31751338b3f88e36930c8e484a7d84b6822efaf8" +checksum = "2104dce460d3854c9990f8fcd308210047399cf015ac2a6dabad2503ef0fbf1b" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -10797,12 +10840,12 @@ dependencies = [ [[package]] name = "pallet-parameters" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef9c83d0be86b44ee9bb565dbeee6afe41fc1aa5def96ebe611cc9b465367c2" +checksum = "6c366e15feb3d7b099caf0497a3522dcb1d391302c7092a2f8e0462e09e8fe16" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -10815,11 +10858,11 @@ dependencies = [ [[package]] name = "pallet-preimage" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f8c81df965e6b023c5008c807780616780b822d9679958072e9930f08cfe06" +checksum = "36177a6102deab0ee1da34caf211b8326d07e123cf343dd959467bb3e9052044" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -10832,9 +10875,9 @@ dependencies = [ [[package]] name = "pallet-proxy" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ec078a884266ba3093b8955854d54890971e98c76a51ac7aabdbaf36db0f89f" +checksum = "716d1a543341e57c454a87f793971941a9ffbfe5adbbe3db2aa6bf6d5f1b1478" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10843,11 +10886,11 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3691669ab75f152dcc1937d038b4fa5fe44a07844f97c68864cb599f5daeda14" +checksum = "be41830e22ac02120ba83e91bbc250329cdf4fbac67620c6a6b4e529f87ea0d1" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -10864,7 +10907,7 @@ dependencies = [ name = "pallet-rc-migrator" version = "0.1.0" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -10916,9 +10959,9 @@ dependencies = [ [[package]] name = "pallet-recovery" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb002713c4efc06a45f9d5a06320a33f5db78ef4163c065b5e6aa081f155ee68" +checksum = "5e4112f40888eba880317e2000b0b239e1b07fc9237e74849b091af98bd24515" dependencies = [ "frame-support", "frame-system", @@ -10930,12 +10973,12 @@ dependencies = [ [[package]] name = "pallet-referenda" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e27f4e497e2bdc2e484c2559ec73c4b601aeb6766412457599c96ba8e5727a9" +checksum = "4e9a9885c7315b309d4904cf504e03a02e7ea12c98386648e9838530b342620f" dependencies = [ "assert_matches", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -10953,7 +10996,7 @@ version = "1.0.0" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-primitives-core", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "pallet-balances", @@ -10970,9 +11013,9 @@ dependencies = [ [[package]] name = "pallet-revive" -version = "0.15.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fab67b2ff0965beb519a1c68749ec1f58debc926e0b9cda06201f6dd475d686" +checksum = "248798d428e07ed36e1fdd1bb09c2cb7cca63df3ef9930015a61def593bbfe97" dependencies = [ "alloy-consensus", "alloy-core", @@ -10981,7 +11024,7 @@ dependencies = [ "environmental", "ethereum-standards", "ethereum-types", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "hex-literal", @@ -10995,7 +11038,7 @@ dependencies = [ "pallet-revive-fixtures", "pallet-revive-proc-macro", "pallet-revive-uapi", - "pallet-transaction-payment", + "pallet-transaction-payment 48.0.0", "parity-scale-codec", "paste", "polkavm 0.33.1", @@ -11068,9 +11111,9 @@ dependencies = [ [[package]] name = "pallet-salary" -version = "32.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989970f3b14598c23d87d813023aa92391e05be0f57d8c88265009bdce42c8a2" +checksum = "651f5daae9367b53ab0a615e5fc2b5404849afa8f0481fa42582ce074f8b6232" dependencies = [ "log", "pallet-ranked-collective", @@ -11081,12 +11124,12 @@ dependencies = [ [[package]] name = "pallet-scheduler" -version = "48.0.0" +version = "49.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d673d918e8441c87fd31cfe2922bf0b3535b4d25e7a3c4758d8b1c017d567164" +checksum = "0b2a852a3c1a4d38d2805789623531e133e1fe91c2663b7f1420852db074b273" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -11099,16 +11142,16 @@ dependencies = [ [[package]] name = "pallet-session" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794e88d1cc5d0a569d1d60065d75abf50ff8f694d08a632a3f559dc67f3288d" +checksum = "9652248c8ffa9edac00d7d217d96e1d0210624f4707abeac20990044472694e6" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "log", "pallet-balances", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "parity-scale-codec", "scale-info", "sp-core 41.0.0", @@ -11122,11 +11165,11 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46cba5f49593c0bcae3843eb10df4fd02202bfea85fccba556735c96a0a1e3d" +checksum = "967870778286031509f4a434ff8daebd0ef02cee577b5ed681d197442547bec4" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "pallet-session", @@ -11152,11 +11195,11 @@ dependencies = [ [[package]] name = "pallet-society" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843304bdc95d50e007f43ce0c024fdd3d3eb7425c9ff1877c50f85f11292ede5" +checksum = "adac0b16435d6a0f04a26913cffe5add14372b5b2e988bae9b22f766563a4247" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -11170,11 +11213,11 @@ dependencies = [ [[package]] name = "pallet-staking" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5c539d9f19cf7854bc9cfd719ba4e9011e0787e8927b8110a913b3aaf23742" +checksum = "e920112ca92ec9b5b1797e56fddf89e24b941ea77d6c8191d60ccc485da1b86e" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -11193,11 +11236,11 @@ dependencies = [ [[package]] name = "pallet-staking-async" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f1343e91a16249fa860f4302940ab05026cfb2f222e4c909b359ea28119d39" +checksum = "9aa72c124fec0ec8581a423103db67e4fbb6fb047f4bf01548734863f2051b33" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -11219,11 +11262,11 @@ dependencies = [ [[package]] name = "pallet-staking-async-ah-client" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5db8a0ab71eca01b13d886f79f82bbb5696751805e2eb606441aa4ee832dc42" +checksum = "2e6b5eba70f758f082921f4f3682638cac3ac2e9694f22dec9d32d3b79b4b71d" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -11240,11 +11283,11 @@ dependencies = [ [[package]] name = "pallet-staking-async-rc-client" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a99995f064fa68758bb0edff4e522d1bb74fdbe28874572a60c8bee49c84f422" +checksum = "72fc88bf30b41e78cbf62c1245841d6ed83ef6d2637efe0f2dcef3683c57a5ae" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -11294,11 +11337,11 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" -version = "52.0.0" +version = "53.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b051e46ee13990aea932c8320c1df918d5e783210ca1f2bc3d961ba6e6ef0b2" +checksum = "1ca8379fdbff6ce11967f0d47994de4fff57b11e1d72292c7c76bc273280e029" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -11311,12 +11354,12 @@ dependencies = [ [[package]] name = "pallet-sudo" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4e3a4cc006a45ecad59c02583b814a7f02fb504c5f9f547bbd4238690229f9" +checksum = "737608123d713af4d7619df47f22dbcd6fd55dbe5068f9ea429818bc3993bea7" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -11332,7 +11375,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dd8823ea19e3b764aad58089e1078c211d93e0cfc1291cb7ed0dfa1fe1d6136" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 47.0.0", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-inherents 42.0.0", + "sp-runtime 47.0.0", + "sp-storage 23.0.0", + "sp-timestamp", +] + +[[package]] +name = "pallet-timestamp" +version = "47.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb51deebc7013789cb29d7e27a1be156fe3fdb51b02a4f8a16c76daded664adf" +dependencies = [ + "docify", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -11350,7 +11412,24 @@ version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25f17aff98f52ffb1b5d488bb140e88193fbb30c82a92113217e853c84c9586f" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 47.0.0", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-transaction-payment" +version = "48.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9041abf1095150239fec5bc98c9c28b50708e5633392f9ca1b3df9f0f03d2d72" +dependencies = [ + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -11363,11 +11442,11 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9849f59095432e6602658eb553aec99ed665f13f9562eaf5d1adadfca3ecc9d7" +checksum = "5e76d71c23c93bf392aa69ac40041d39461f2083abf30abe05b753951cd7eefa" dependencies = [ - "pallet-transaction-payment", + "pallet-transaction-payment 48.0.0", "parity-scale-codec", "sp-api 42.0.0", "sp-runtime 47.0.0", @@ -11376,12 +11455,12 @@ dependencies = [ [[package]] name = "pallet-treasury" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a811bf3b0eafe84bf211b9ee71ebc0ea9207b5f844391ea0bf9c20789d24ec1b" +checksum = "13738baf24d75c8d41f706e522b243d98c282b331243d075e86231acfdd2c23e" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -11396,11 +11475,11 @@ dependencies = [ [[package]] name = "pallet-uniques" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c834b115ff9f64c7368bedcd3a74b42321ba696ea025ba440ca261d83f1168" +checksum = "8eb59ceb18b96668033944eb77288add7ff1960b76f31af484d6d03f9068ab6f" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -11411,11 +11490,11 @@ dependencies = [ [[package]] name = "pallet-utility" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c09d089fda68a361c4c80ca80d3309e0a132a3d6200ce6819b121ca8dcb43681" +checksum = "6f6a381375b03d44183d0140868493a87cc346eea561aa534de0a9332088227f" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -11427,11 +11506,11 @@ dependencies = [ [[package]] name = "pallet-vesting" -version = "47.0.0" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2ab878c9d72842c04db11ff0ecf7ab2901611e752809b852ee05eeb9f14085" +checksum = "0bd960d8545bf592283bf630b9edfa88241adc0d3d98be843ae1c53bcea4fd30" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "log", @@ -11442,17 +11521,17 @@ dependencies = [ [[package]] name = "pallet-vesting-precompiles" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531a267a2aeeba499b2b7320d7a0a26a70e2c40ca0b1923f3fdb4407debcbc76" +checksum = "c18538589f9ed23b5b0f3e212ceb7e868d8cc44d2b94ac2b9901443a3fc350c0" dependencies = [ "alloy-core", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "pallet-balances", "pallet-revive", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "pallet-vesting", "parity-scale-codec", "scale-info", @@ -11463,9 +11542,9 @@ dependencies = [ [[package]] name = "pallet-whitelist" -version = "46.0.0" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b47358271800bb1d0a951ae82e1a192d2d30f765dfe64489b123211758517106" +checksum = "07e582aaaeeafc15873f018a81568f6cfb76a3921d9d8719f7bb2b286dbf2833" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -11474,12 +11553,12 @@ dependencies = [ [[package]] name = "pallet-xcm" -version = "27.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d035f6e566e48f6a0d35324ab36b7a84d8618ed8d785997af902c0f68939bee6" +checksum = "f6bd4996a599499dc6e3b5638020cde72bca0f329279edb678f8e22522645016" dependencies = [ "bounded-collections", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "hex-literal", @@ -11499,11 +11578,11 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" -version = "27.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdae2b05f6e921c40b68cefaea45fd6ff91491e916cca95f81b3d11e8442f27a" +checksum = "507e7010782bc98b905c7a4234586b73d576ebdd52b26cc832f29c5ddf0456e4" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -11517,9 +11596,9 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c45573d7737579a85f3f6cae813d8fcb9f92b3042fcfcef7c99e32e7b0ff1ef5" +checksum = "61478eddb7e38f3e66c27ff525798b242202b027c661b287334ff7526b22a7ca" dependencies = [ "bp-messages", "bp-runtime", @@ -11540,12 +11619,12 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub-router" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc8da5fffc72a732e2e2d5eba7a3c92b1c1aa3671789d2fc4d9bd63bfc6a7b" +checksum = "26b553f05719498ff8315eb5907595254bb797bb6621b066395d3349673ae003" dependencies = [ "bp-xcm-bridge-hub-router", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -11561,9 +11640,9 @@ dependencies = [ [[package]] name = "pallet-xcm-precompiles" -version = "0.5.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a77da8eed45670c81bdfb8a6f7fc8fbe9395a4a54f10db09421714096b88f82" +checksum = "7950f7a5680e195934eeb5863b0aab266b5d61c1335b3cf70aa442dc8517494d" dependencies = [ "frame-support", "pallet-revive", @@ -11576,15 +11655,15 @@ dependencies = [ [[package]] name = "parachains-common" -version = "29.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5afa6e3e17fb738bb50374c6d1be0c3c1202b9793989bf962854f84a12769e9" +checksum = "b42a16a3e8983b91f0c00ac2b27167e4496ab324f3091d5aeadd43096dd50501" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", "frame-support", "frame-system", - "pallet-asset-tx-payment", + "pallet-asset-tx-payment 48.0.0", "pallet-assets", "pallet-authorship", "pallet-balances", @@ -11621,9 +11700,9 @@ dependencies = [ [[package]] name = "parachains-runtimes-test-utils" -version = "30.0.0" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a0d1d9983d8aca4d6c080c1133d84524e27e073f64da3197caca8b7fa726287" +checksum = "5081c0b16fab650cfc2f0825ab13bded39861042fc1c481011f6b5651345f658" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-pallet-xcmp-queue", @@ -11635,7 +11714,7 @@ dependencies = [ "pallet-balances", "pallet-collator-selection", "pallet-session", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "pallet-xcm", "parachains-common", "parity-scale-codec", @@ -11845,9 +11924,9 @@ dependencies = [ [[package]] name = "penpal-runtime" -version = "0.37.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa3f904687474a70fe9bbf25a9969bcaae53eb32f2a8d6841b96309251c96f8" +checksum = "1c3ef87d150ee105d5b05dcf33ce6881f75e94a7fd1b986e2f4ab093bee1a84c" dependencies = [ "assets-common", "cumulus-pallet-aura-ext", @@ -11858,7 +11937,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -11878,8 +11957,8 @@ dependencies = [ "pallet-revive", "pallet-session", "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -11970,7 +12049,7 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", "enumflags2", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -11991,8 +12070,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -12086,7 +12165,7 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", "enumflags2", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -12097,7 +12176,7 @@ dependencies = [ "hex-literal", "log", "pallet-asset-rate", - "pallet-asset-tx-payment", + "pallet-asset-tx-payment 48.0.0", "pallet-assets", "pallet-assets-holder", "pallet-aura", @@ -12110,8 +12189,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -12418,7 +12497,7 @@ version = "1.0.0" dependencies = [ "approx", "binary-merkle-tree", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-executive", "frame-metadata-hash-extension", @@ -12470,8 +12549,8 @@ dependencies = [ "pallet-staking-reward-fn", "pallet-staking-runtime-api", "pallet-state-trie-migration", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury", "pallet-utility", @@ -12523,12 +12602,12 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3be164ceb034e3fef2bc2dc4e3849a9e93533b2f486d91a297ec47a8b9bead8" +checksum = "0ff99b6a05b433f4611bb8c12797d168232f01f27901fe5fb1da3ac54e856f7b" dependencies = [ "bitvec", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -12546,8 +12625,8 @@ dependencies = [ "pallet-session", "pallet-staking", "pallet-staking-reward-fn", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-treasury", "pallet-vesting", "parity-scale-codec", @@ -12593,12 +12672,12 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "27.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbac0cbb97c16815a0e0b699839de7f877d005efcbacb7a7f15adc5ffc436950" +checksum = "397ccc07bbf236d7cc1b23abbea6fb3915e21b808023d8854416c05868d3865c" dependencies = [ "bs58", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "parity-scale-codec", "polkadot-primitives", "sp-tracing", @@ -12606,13 +12685,13 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "746067899af0c001151863973c80ca6bad987c4dd52f33ede9a78034e221848d" +checksum = "67cf7c7c41cb77746c2ce746428815bb17d7c0a9e12bac6d5fa857319eef911f" dependencies = [ "bitflags 1.3.2", "bitvec", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-support", "frame-system", @@ -12628,7 +12707,7 @@ dependencies = [ "pallet-session", "pallet-session-benchmarking", "pallet-staking", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "parity-scale-codec", "polkadot-core-primitives", "polkadot-parachain-primitives", @@ -12657,12 +12736,12 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9478bb8d5ebf45390add809a76536fc752a974711a6d0795ea1127b73d156c5a" +checksum = "c3007df186bc582c62d7719eac0b88d35e7bd7bccaaedc3d8b2f9be802774853" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-executive", "frame-support", "frame-system", @@ -14052,9 +14131,9 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" -version = "27.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb1a96be6e424dd5e90157ec386296af7e66a1dc19a2a2ade67d1927caf68cb6" +checksum = "ca2a24aeefb723fd15d088330c740c926a17eeb68abad5ea3df741dc0faebfca" dependencies = [ "frame-support", "polkadot-primitives", @@ -16151,9 +16230,9 @@ dependencies = [ [[package]] name = "snowbridge-core" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac551b6bacfd11f8f78f789e94824f3daf2f54a524aa881fee96c9963f2eb6e7" +checksum = "7ed321840bbea73126905d32bcc268ca7ae4ac6d949acc801770cde7dafbfc8c" dependencies = [ "bp-relayers", "frame-support", @@ -16176,9 +16255,9 @@ dependencies = [ [[package]] name = "snowbridge-inbound-queue-primitives" -version = "0.9.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4997b3817756a1b265e98ae1e208170f9b1ac094ef7968115d1e911ce7797f4" +checksum = "beaaf83a08d8e7859bb6524731febf585c565801bd94390cdfa2a711854b4535" dependencies = [ "alloy-core", "assets-common", @@ -16230,9 +16309,9 @@ dependencies = [ [[package]] name = "snowbridge-outbound-queue-primitives" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec95ca08b0b3833cecb7d8c367d38685bacf6781dc4605c37a6a46fef43ba1be" +checksum = "7bb79a974972bbb78508e8d44d10d38aa3ef727f6a01714b972d75980e310115" dependencies = [ "alloy-core", "ethabi-decode", @@ -16257,9 +16336,9 @@ dependencies = [ [[package]] name = "snowbridge-outbound-queue-runtime-api" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63a5c02f8d56aa43bb9711d8c3dd0af6feabee8430482c61b24633fbe3ff3c16" +checksum = "5a3791bc49ec1c43f340023178304b00d0003b8a79ee44ba2847812ef33e7ecf" dependencies = [ "frame-support", "parity-scale-codec", @@ -16286,16 +16365,16 @@ dependencies = [ [[package]] name = "snowbridge-pallet-ethereum-client" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd40d49ad6040538fc3b1c5c31971eca5a1176ada505131c3b89d4820e771fd" +checksum = "48278b2dc719151611093bd4ccedac8b57990b983cd2d1aff8978444aa15fa47" dependencies = [ "alloy-primitives", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "hex-literal", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "parity-scale-codec", "scale-info", "serde", @@ -16313,9 +16392,9 @@ dependencies = [ [[package]] name = "snowbridge-pallet-ethereum-client-fixtures" -version = "0.28.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c630e92fc782ce55d6a76b81db1a376f1180097202a7daaf46f2f58fdd03b6" +checksum = "c04a933753afedfe0b6f42589a27878b134384dcb9d3903433aed96592d57d4a" dependencies = [ "hex-literal", "snowbridge-beacon-primitives", @@ -16326,12 +16405,12 @@ dependencies = [ [[package]] name = "snowbridge-pallet-inbound-queue" -version = "0.20.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e01de4d969a64d1ed0885247dc3a50c66eee5672d4bbe253dad1538fd781e4e" +checksum = "0be7a807df7c769ea3c74710d7246c08a8d3a00d1bfcedeb3424452c929a9440" dependencies = [ "alloy-core", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "pallet-balances", @@ -16353,9 +16432,9 @@ dependencies = [ [[package]] name = "snowbridge-pallet-inbound-queue-fixtures" -version = "0.28.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c091f928d3f0176d5bb6a7f6d71c4ad5fd82ec3b4a4116df782ed0458ce5d5c" +checksum = "39b94ab4298c6e4f5cedd32809313ab8a4e7640c47e69b8d3f4f993a4eb3957b" dependencies = [ "hex-literal", "snowbridge-beacon-primitives", @@ -16367,13 +16446,13 @@ dependencies = [ [[package]] name = "snowbridge-pallet-inbound-queue-v2" -version = "0.9.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487e0910c0297ce54bb206db507e134ccd12a36e04fdfe40c3951d35303eafd8" +checksum = "45616444ca2825b829bc445a00f9f9751c2e2bb7394964506bfb7e60be169f4e" dependencies = [ "alloy-core", "bp-relayers", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "pallet-balances", @@ -16395,9 +16474,9 @@ dependencies = [ [[package]] name = "snowbridge-pallet-inbound-queue-v2-fixtures" -version = "0.9.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f9c854e4fa0ecc4ee6a946a3c5a65aafcdb78513fab06a4f817081a8983210" +checksum = "23e77be5b1c332913daaedd2e29e962d620bb07673ac7df91dd0d9a0bcdf8374" dependencies = [ "hex-literal", "snowbridge-beacon-primitives", @@ -16409,13 +16488,13 @@ dependencies = [ [[package]] name = "snowbridge-pallet-outbound-queue" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8d2adbf7cc759f596e4f37d74e261b91e22600b92c55a79695800ce2fd86d1" +checksum = "6f33ead947f81a54c12947f95376be7fd2b9fad7b3416a909acc28d9acca3301" dependencies = [ "bridge-hub-common", "ethabi-decode", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -16433,14 +16512,14 @@ dependencies = [ [[package]] name = "snowbridge-pallet-outbound-queue-v2" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fedeadbcef05a904e905816ae023b7957f58432a614a5745ebabe6b0b1842529" +checksum = "6388fd1de1b9b23741c31a83d7dc2442510b3a02852fd1e7115ef7f17fe3193b" dependencies = [ "alloy-core", "bp-relayers", "ethabi-decode", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "hex-literal", @@ -16464,11 +16543,11 @@ dependencies = [ [[package]] name = "snowbridge-pallet-system" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c47c77a9649a199b4ad83b3c311a1ee705331b59f117719fbcb8d0fb0fbeb2ff" +checksum = "93940f404536296e5c84b10ac51f166cc936af7c6cff4ffcad5e4c106063dfb8" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -16486,11 +16565,11 @@ dependencies = [ [[package]] name = "snowbridge-pallet-system-frontend" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bda270a2e495e476c5112b1b68617ac7e4b44dd785b3c65f17894d5ef0877b7" +checksum = "522a11154d52b76f85d703b2e45c088ed9a0e8e3bd082e06e6fd75de3ee99ffc" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "pallet-asset-conversion", @@ -16508,11 +16587,11 @@ dependencies = [ [[package]] name = "snowbridge-pallet-system-v2" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "762407c6f2ae057264f702d68440111a3b45993364bb508eec15dd7f92e8a587" +checksum = "4d83f8f8535a46ecf07fa28d8dd8f2356e6fe4050c1ce4ffe549b81293bdd364" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "frame-system", "parity-scale-codec", @@ -16531,9 +16610,9 @@ dependencies = [ [[package]] name = "snowbridge-runtime-common" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83928c9e70fbaf1c0359ae4d0756bb61a6317c94940e1a9f4dd309bd2af23bda" +checksum = "ff5cd6741c917e00dc6969df416ba7512bc205adafb8362ac8d4e5b4b7a15797" dependencies = [ "frame-support", "frame-system", @@ -16549,9 +16628,9 @@ dependencies = [ [[package]] name = "snowbridge-runtime-test-common" -version = "0.23.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e869a43ebfb02138ce751d8bd8b517ac0fbcad9f885aee8982494c361e2f7934" +checksum = "7a662f01068089ab06ac2ee7b91ff49ffc44e7166e5493765f8fd58665c85f0e" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -16560,7 +16639,7 @@ dependencies = [ "pallet-collator-selection", "pallet-message-queue", "pallet-session", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "pallet-utility", "pallet-xcm", "parachains-runtimes-test-utils", @@ -16581,9 +16660,9 @@ dependencies = [ [[package]] name = "snowbridge-system-runtime-api" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc743c9a813eee1f453da8fe64b6b9c8484f37da382edfd814f3781a8585c4cb" +checksum = "abf8af7309bfc563f8453718a301dfd3c103a0fd1fd6697d3fb4fc70cc1317ad" dependencies = [ "parity-scale-codec", "snowbridge-core", @@ -16594,9 +16673,9 @@ dependencies = [ [[package]] name = "snowbridge-system-v2-runtime-api" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "596a124904afc18742a8e73303bc8c2587e1da73bd0227661c419db046df7478" +checksum = "69288d5580b5f315997f4021a9ad6960f61e7ea1c2c332795988e956664b3bed" dependencies = [ "parity-scale-codec", "snowbridge-core", @@ -16607,9 +16686,9 @@ dependencies = [ [[package]] name = "snowbridge-verification-primitives" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4b0b2e9e1d6b4d3268febada099e4f0a016bce988aab102578202f6eb42d81" +checksum = "85517244d52c68a6474318542e89e2b49f8ec3540ac4fd76e6b04e8642b38929" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -17947,7 +18026,7 @@ name = "staging-kusama-runtime" version = "1.0.0" dependencies = [ "binary-merkle-tree", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-election-provider-support", "frame-executive", "frame-metadata-hash-extension", @@ -18002,8 +18081,8 @@ dependencies = [ "pallet-staking-async-ah-client", "pallet-staking-async-rc-client", "pallet-staking-runtime-api", - "pallet-timestamp", - "pallet-transaction-payment", + "pallet-timestamp 47.0.0", + "pallet-transaction-payment 48.0.0", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury", "pallet-utility", @@ -18067,9 +18146,9 @@ dependencies = [ [[package]] name = "staging-xcm" -version = "23.0.0" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb5279820f8b83ad3fa0b1881e8a9689dc9e8886345bb4e35089926a7ef667db" +checksum = "2b56f822ed85d21c534b84eac13db89c7d019c7357f017891f6b69b9959d5c30" dependencies = [ "array-bytes 6.2.3", "bounded-collections", @@ -18089,9 +18168,9 @@ dependencies = [ [[package]] name = "staging-xcm-builder" -version = "27.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc3f16414bc5640b3710035ac5b835b42425b72dd0562621b3b9b2ac5aeb46a4" +checksum = "ab142ef7d78b19eabb76b1c6492caa4305e2b357dcba3b0775de63d7a773bb4a" dependencies = [ "environmental", "frame-support", @@ -18099,7 +18178,7 @@ dependencies = [ "impl-trait-for-tuples", "pallet-accumulate-and-forward", "pallet-asset-conversion", - "pallet-transaction-payment", + "pallet-transaction-payment 48.0.0", "parity-scale-codec", "polkadot-parachain-primitives", "scale-info", @@ -18115,12 +18194,12 @@ dependencies = [ [[package]] name = "staging-xcm-executor" -version = "26.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a043b67f0ae191f95f8fe7d1db3bd7a7299d88a9bacb600a7dedd2d0961f361" +checksum = "57c9b0e1c37267245cb593be21a3c12067dd6de52edbf04b299f19f8851e0b6b" dependencies = [ "environmental", - "frame-benchmarking", + "frame-benchmarking 48.0.0", "frame-support", "impl-trait-for-tuples", "parity-scale-codec", @@ -18895,9 +18974,9 @@ checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" [[package]] name = "testnet-parachains-constants" -version = "20.0.0" +version = "21.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d0a4e14985346a86e20e74bc07a867e0eadf2b1edd4780a158dc4263140bc12" +checksum = "cfaa5e56d06e4c78a7feb6cc8b2c4dbbbb1115a9d240546af28eb770f190fc70" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -20572,9 +20651,9 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "westend-runtime-constants" -version = "27.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "338d9a85e15730b1618bc831a7b81ea8675c11ff3af41d39e320a28c07e814c0" +checksum = "4048fec2309483e098cd6bcc3a00213100c7ce576ae0c4a0839864bd7749b2bd" dependencies = [ "frame-support", "polkadot-primitives", @@ -21188,9 +21267,9 @@ dependencies = [ [[package]] name = "xcm-emulator" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60f1b54f86602de2ef4a047cb4eec580922d09574c050ee9feee207cb4acc1" +checksum = "311b3ee8adee2b1423ab30e289e1a6bbf2d36d8b9010dd3b22c717b7d579be79" dependencies = [ "array-bytes 6.2.3", "cumulus-pallet-parachain-system", @@ -21203,7 +21282,7 @@ dependencies = [ "pallet-aura", "pallet-balances", "pallet-message-queue", - "pallet-timestamp", + "pallet-timestamp 47.0.0", "parachains-common", "parity-scale-codec", "paste", @@ -21237,9 +21316,9 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1852cc835d877d4e7854c8e2b22266e2463091d31ec6c1e4811e0ae4efad0c" +checksum = "09fa93d5c8c9eeb4f36537d1408b438226fa54d96b5e8b46b86458af85cdf58c" dependencies = [ "frame-support", "parity-scale-codec", @@ -21252,9 +21331,9 @@ dependencies = [ [[package]] name = "xcm-simulator" -version = "27.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f77efe010ec22795756f6f0cb8555a666c236394afa6f4e7ae56b6ddda5b8970" +checksum = "e81fef25e8cfbb1f9f06fec987e25a143d4ff8688cb1ffcff5de53cbd59026a1" dependencies = [ "frame-support", "frame-system", diff --git a/Cargo.toml b/Cargo.toml index 3d3da0f2b3..a903079092 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,8 +8,8 @@ license = "GPL-3.0-only" # TODO Date: Fri, 22 May 2026 13:56:16 +0300 Subject: [PATCH 49/59] disable encointer Signed-off-by: Oliver Tale-Yazdi --- Cargo.lock | 1380 ++++------------- Cargo.toml | 46 +- chain-spec-generator/Cargo.toml | 10 +- chain-spec-generator/src/common.rs | 7 +- chain-spec-generator/src/main.rs | 4 +- .../src/system_parachains_specs.rs | 6 +- .../networks/kusama-system/Cargo.toml | 4 +- .../networks/kusama-system/src/lib.rs | 10 +- 8 files changed, 327 insertions(+), 1140 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c20fcf1e84..1892077765 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -529,17 +529,6 @@ dependencies = [ "ark-std 0.5.0", ] -[[package]] -name = "ark-bn254" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-std 0.4.0", -] - [[package]] name = "ark-bn254" version = "0.5.0" @@ -548,30 +537,10 @@ checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" dependencies = [ "ark-ec 0.5.0", "ark-ff 0.5.0", - "ark-r1cs-std 0.5.0", + "ark-r1cs-std", "ark-std 0.5.0", ] -[[package]] -name = "ark-crypto-primitives" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-r1cs-std 0.4.0", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-snark", - "ark-std 0.4.0", - "blake2 0.10.6", - "derivative", - "digest 0.10.7", - "sha2 0.10.9", - "tracing", -] - [[package]] name = "ark-ec" version = "0.4.2" @@ -748,21 +717,6 @@ dependencies = [ "syn 2.0.114", ] -[[package]] -name = "ark-groth16" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" -dependencies = [ - "ark-crypto-primitives", - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-poly 0.4.2", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-std 0.4.0", -] - [[package]] name = "ark-poly" version = "0.4.2" @@ -791,23 +745,6 @@ dependencies = [ "hashbrown 0.15.5", ] -[[package]] -name = "ark-r1cs-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de1d1472e5cb020cb3405ce2567c91c8d43f21b674aef37b0202f5c3304761db" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-relations 0.4.0", - "ark-std 0.4.0", - "derivative", - "num-bigint", - "num-integer", - "num-traits", - "tracing", -] - [[package]] name = "ark-r1cs-std" version = "0.5.0" @@ -816,7 +753,7 @@ checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" dependencies = [ "ark-ec 0.5.0", "ark-ff 0.5.0", - "ark-relations 0.5.1", + "ark-relations", "ark-std 0.5.0", "educe", "num-bigint", @@ -825,18 +762,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "ark-relations" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" -dependencies = [ - "ark-ff 0.4.2", - "ark-std 0.4.0", - "tracing", - "tracing-subscriber 0.2.25", -] - [[package]] name = "ark-relations" version = "0.5.1" @@ -906,18 +831,6 @@ dependencies = [ "syn 2.0.114", ] -[[package]] -name = "ark-snark" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" -dependencies = [ - "ark-ff 0.4.2", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-std 0.4.0", -] - [[package]] name = "ark-std" version = "0.3.0" @@ -1189,7 +1102,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-executive", "frame-metadata-hash-extension", @@ -1245,8 +1158,8 @@ dependencies = [ "pallet-staking-async-rc-client", "pallet-staking-runtime-api", "pallet-state-trie-migration", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury", "pallet-uniques", @@ -1383,7 +1296,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-executive", "frame-metadata-hash-extension", @@ -1438,8 +1351,8 @@ dependencies = [ "pallet-staking-async-rc-client", "pallet-staking-runtime-api", "pallet-state-trie-migration", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury", "pallet-uniques", @@ -1518,7 +1431,7 @@ dependencies = [ "pallet-balances", "pallet-collator-selection", "pallet-session", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "pallet-xcm", "pallet-xcm-bridge-hub-router", "parachains-common", @@ -2464,7 +2377,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -2487,8 +2400,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -2626,7 +2539,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -2649,8 +2562,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -2736,7 +2649,7 @@ dependencies = [ "pallet-bridge-messages", "pallet-bridge-parachains", "pallet-bridge-relayers", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "pallet-utility", "pallet-xcm", "pallet-xcm-bridge-hub", @@ -2773,7 +2686,7 @@ dependencies = [ "pallet-bridge-messages", "pallet-bridge-parachains", "pallet-bridge-relayers", - "pallet-transaction-payment 48.0.0", + "pallet-transaction-payment", "pallet-utility", "parity-scale-codec", "scale-info", @@ -2847,7 +2760,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -2863,8 +2776,8 @@ dependencies = [ "pallet-message-queue", "pallet-session", "pallet-skip-feeless-payment", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -3088,7 +3001,6 @@ dependencies = [ "collectives-polkadot-runtime", "coretime-kusama-runtime", "coretime-polkadot-runtime", - "encointer-kusama-runtime", "glutton-kusama-runtime", "people-kusama-runtime", "people-polkadot-runtime", @@ -3283,7 +3195,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -3310,8 +3222,8 @@ dependencies = [ "pallet-salary", "pallet-scheduler", "pallet-session", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury", "pallet-utility", @@ -3596,7 +3508,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -3616,8 +3528,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -3705,7 +3617,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -3724,8 +3636,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -4212,7 +4124,7 @@ dependencies = [ "frame-support", "frame-system", "pallet-aura", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-application-crypto 46.0.0", @@ -4235,7 +4147,7 @@ dependencies = [ "derive-where", "docify", "environmental", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "hashbrown 0.15.5", @@ -4282,7 +4194,7 @@ version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b92fa477e5f60add7a418c80db01d90672afcb45074f2a15aed7c5a007eb56a" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "pallet-session", @@ -4299,7 +4211,7 @@ dependencies = [ "cumulus-primitives-storage-weight-reclaim", "derive-where", "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -4337,7 +4249,7 @@ dependencies = [ "bounded-collections", "bp-xcm-bridge-hub-router", "cumulus-primitives-core", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "pallet-message-queue", @@ -4417,7 +4329,7 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-proof-size-hostfunction", "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -5106,243 +5018,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "encointer-balances-tx-payment" -version = "22.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c5993aedbf3af1b393ab08707887a10c856d439cf97fbf19b35c4f6e448982" -dependencies = [ - "encointer-primitives", - "frame-support", - "frame-system", - "log", - "pallet-asset-tx-payment 47.0.0", - "pallet-encointer-balances", - "pallet-encointer-ceremonies", - "pallet-transaction-payment 47.0.0", - "sp-runtime 47.0.0", -] - -[[package]] -name = "encointer-balances-tx-payment-rpc-runtime-api" -version = "22.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef881a9d87e5f8ddfef0396c82a4d759a3c14c5111e1c513a195ee933c7ef822" -dependencies = [ - "encointer-primitives", - "frame-support", - "parity-scale-codec", - "scale-info", - "sp-api 42.0.0", - "sp-std", -] - -[[package]] -name = "encointer-ceremonies-assignment" -version = "22.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc16952be85f06a637863c4d735cb854f726577feff1c5eeae18deaa3b6d3ceb" -dependencies = [ - "encointer-primitives", - "sp-runtime 47.0.0", - "sp-std", -] - -[[package]] -name = "encointer-kusama-emulated-chain" -version = "1.0.0" -dependencies = [ - "cumulus-primitives-core", - "emulated-integration-tests-common", - "encointer-kusama-runtime", - "frame-support", - "integration-tests-helpers", - "kusama-emulated-chain", - "parachains-common", - "polkadot-parachain-primitives", - "sp-core 41.0.0", - "sp-keyring", - "staging-xcm", - "staging-xcm-builder", -] - -[[package]] -name = "encointer-kusama-integration-tests" -version = "1.0.0" -dependencies = [ - "asset-hub-kusama-runtime", - "asset-test-utils", - "cumulus-pallet-parachain-system", - "emulated-integration-tests-common", - "encointer-kusama-runtime", - "frame-support", - "integration-tests-helpers", - "kusama-runtime-constants", - "kusama-system-emulated-network", - "pallet-assets", - "pallet-balances", - "pallet-identity", - "pallet-message-queue", - "pallet-xcm", - "parachains-common", - "parity-scale-codec", - "polkadot-runtime-common", - "sp-runtime 47.0.0", - "sp-tracing", - "staging-kusama-runtime", - "staging-xcm", - "staging-xcm-builder", - "staging-xcm-executor", - "xcm-runtime-apis", -] - -[[package]] -name = "encointer-kusama-runtime" -version = "1.0.0" -dependencies = [ - "cumulus-pallet-aura-ext", - "cumulus-pallet-parachain-system", - "cumulus-pallet-session-benchmarking", - "cumulus-pallet-weight-reclaim", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-aura", - "cumulus-primitives-core", - "cumulus-primitives-utility", - "encointer-balances-tx-payment", - "encointer-balances-tx-payment-rpc-runtime-api", - "encointer-primitives", - "frame-benchmarking 48.0.0", - "frame-executive", - "frame-metadata-hash-extension", - "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 48.0.0", - "pallet-assets", - "pallet-aura", - "pallet-authorship", - "pallet-balances", - "pallet-collator-selection", - "pallet-collective", - "pallet-encointer-balances", - "pallet-encointer-bazaar", - "pallet-encointer-bazaar-rpc-runtime-api", - "pallet-encointer-ceremonies", - "pallet-encointer-ceremonies-rpc-runtime-api", - "pallet-encointer-communities", - "pallet-encointer-communities-rpc-runtime-api", - "pallet-encointer-democracy", - "pallet-encointer-faucet", - "pallet-encointer-offline-payment", - "pallet-encointer-reputation-commitments", - "pallet-encointer-reputation-rings", - "pallet-encointer-scheduler", - "pallet-encointer-treasuries", - "pallet-encointer-treasuries-rpc-runtime-api", - "pallet-insecure-randomness-collective-flip", - "pallet-membership", - "pallet-message-queue", - "pallet-proxy", - "pallet-scheduler", - "pallet-session", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-utility", - "pallet-xcm", - "pallet-xcm-benchmarks", - "parachains-common", - "parachains-runtimes-test-utils", - "parity-scale-codec", - "polkadot-core-primitives", - "polkadot-parachain-primitives", - "polkadot-primitives", - "polkadot-runtime-common", - "scale-info", - "serde_json", - "smallvec", - "sp-api 42.0.0", - "sp-block-builder", - "sp-consensus-aura", - "sp-core 41.0.0", - "sp-genesis-builder 0.23.0", - "sp-inherents 42.0.0", - "sp-io 46.0.0", - "sp-offchain", - "sp-runtime 47.0.0", - "sp-session", - "sp-tracing", - "sp-transaction-pool", - "sp-version 45.0.0", - "staging-parachain-info", - "staging-xcm", - "staging-xcm-builder", - "staging-xcm-executor", - "substrate-wasm-builder", - "system-parachains-common", - "system-parachains-constants", - "xcm-runtime-apis", -] - -[[package]] -name = "encointer-meetup-validation" -version = "22.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9abbf8cd1bb2dd41114233a477d611c74fc4452e068d25190094d5c6ea906e1f" -dependencies = [ - "encointer-primitives", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime 47.0.0", - "sp-std", -] - -[[package]] -name = "encointer-offline-payment-core" -version = "22.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b86da78e51e01472f0113617db6075aa7a39284d85b80c30e95282d621d7d48" -dependencies = [ - "ark-bn254 0.4.0", - "ark-crypto-primitives", - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-groth16", - "ark-r1cs-std 0.4.0", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-snark", - "ark-std 0.4.0", -] - -[[package]] -name = "encointer-primitives" -version = "22.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c80e67fe683550432adc7872c3d6f97dbb768aa170be239bfe57e4c67f38bf42" -dependencies = [ - "bs58", - "crc", - "ep-core", - "frame-support", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-runtime 47.0.0", - "sp-std", - "substrate-geohash", -] - [[package]] name = "enum-as-inner" version = "0.6.1" @@ -5433,34 +5108,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] -name = "ep-core" -version = "22.1.0" +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "erased-serde" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43117f6576231962578c50dd745dc4ec2c1e0858d51ab86bc5f59ed9e6bf6887" -dependencies = [ - "array-bytes 6.2.3", - "impl-serde", - "parity-scale-codec", - "scale-info", - "serde", - "sp-arithmetic", - "sp-core 41.0.0", - "sp-runtime 47.0.0", - "sp-std", - "substrate-fixed", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "erased-serde" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" +checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" dependencies = [ "serde", "serde_core", @@ -5758,32 +5415,6 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" -[[package]] -name = "frame-benchmarking" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eefadb34832df54ce9421ddd6f182d756f188197f8e507651d012150e125ee0" -dependencies = [ - "anyhow", - "frame-support", - "frame-support-procedural", - "frame-system", - "linregress", - "log", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "sp-api 42.0.0", - "sp-application-crypto 46.0.0", - "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-runtime 47.0.0", - "sp-runtime-interface 35.0.0", - "sp-storage 23.0.0", - "static_assertions", -] - [[package]] name = "frame-benchmarking" version = "48.0.0" @@ -6055,7 +5686,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1a4b94405b4f92766969ac9143a0740b1bc0e5af8f5c9fc4223df9b3c9d4cc5" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -6372,7 +6003,7 @@ dependencies = [ "cumulus-pallet-parachain-system", "cumulus-pallet-xcm", "cumulus-primitives-core", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-executive", "frame-support", "frame-system", @@ -7875,7 +7506,6 @@ dependencies = [ "bridge-hub-kusama-emulated-chain", "coretime-kusama-emulated-chain", "emulated-integration-tests-common", - "encointer-kusama-emulated-chain", "kusama-emulated-chain", "penpal-emulated-chain", "people-kusama-emulated-chain", @@ -9489,7 +9119,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70a06a4007d81c38e6a450742f209b61252f091440328ffb7ddb8365c5871f59" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -9503,7 +9133,7 @@ name = "pallet-ah-ops" version = "0.1.0" dependencies = [ "cumulus-primitives-core", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -9513,7 +9143,7 @@ dependencies = [ "pallet-election-provider-multi-block", "pallet-staking-async", "pallet-staking-async-rc-client", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-application-crypto 46.0.0", @@ -9531,7 +9161,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "815056b7948ef57cb149b56bb816e7e66e9edd3abc424b293d64b68669afe805" dependencies = [ "array-bytes 6.2.3", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -9551,7 +9181,7 @@ version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7331060ed8eb72522a1ef81ef5803de08919fd29a5517365435def45476c77a3" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -9586,11 +9216,11 @@ version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8cbc1bab2aaa9985bb32e18ba508350e1422ab18e5d3b57ed7aa7f321a717fca" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "pallet-asset-conversion", - "pallet-transaction-payment 48.0.0", + "pallet-transaction-payment", "parity-scale-codec", "scale-info", "sp-runtime 47.0.0", @@ -9602,7 +9232,7 @@ version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d85da1aca868a63ebc24fe20e03fceba9932db588c87ea1a671a5f0b372bd96b" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -9611,33 +9241,16 @@ dependencies = [ "sp-runtime 47.0.0", ] -[[package]] -name = "pallet-asset-tx-payment" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dbf12ef714ba9068629f0e204677b3f113dcdabdd04c1b6d0e68e3d72b722c3" -dependencies = [ - "frame-benchmarking 47.0.0", - "frame-support", - "frame-system", - "pallet-transaction-payment 47.0.0", - "parity-scale-codec", - "scale-info", - "serde", - "sp-io 46.0.0", - "sp-runtime 47.0.0", -] - [[package]] name = "pallet-asset-tx-payment" version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "017113f0b67563bdea68388389245b085b3ac034fed74cdda24cd3758297930d" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", - "pallet-transaction-payment 48.0.0", + "pallet-transaction-payment", "parity-scale-codec", "scale-info", "serde", @@ -9651,7 +9264,7 @@ version = "51.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5752ea378a98c5ead92025b916fad0981dfb46ac712842d69b2bbf4260acce5f" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -9668,7 +9281,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5ff68417c4ef999aa1962709ae739271f1eddbc6a898e3dcf7cebc8f36af1e8" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -9686,13 +9299,13 @@ checksum = "82db74bb122110065622182608c0c17c9e8c616e42c94d9127c4966f267ca5b8" dependencies = [ "const-crypto", "ethereum-standards", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", "pallet-assets", "pallet-revive", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-core 41.0.0", @@ -9710,7 +9323,7 @@ dependencies = [ "frame-support", "frame-system", "log", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-application-crypto 46.0.0", @@ -9754,13 +9367,13 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f50441ab81c511e8878754e0b8884f6089c1d15c94297c7fe6222844b28fd31" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", "pallet-authorship", "pallet-session", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-application-crypto 46.0.0", @@ -9780,7 +9393,7 @@ checksum = "4a7c4476b0780e60c6727ec9f13037361557d8513e8bb72421f0be08cb6bd6fe" dependencies = [ "aquamarine", "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -9801,7 +9414,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "082c8405f9664430eaf30e4f62b94f50a6b831414fafb607b03a4abd148d1d47" dependencies = [ "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -9839,7 +9452,7 @@ checksum = "be55642d71a77b0addd28ab9306f68b4115c81bda7c855722d4e02d26db15d44" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -9863,7 +9476,7 @@ version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "643916c92f3760ed66face67e872aa2ae450ca0bb1856e5ffd9645c460ecf8b8" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -9877,594 +9490,292 @@ dependencies = [ [[package]] name = "pallet-bridge-grandpa" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b515a3264ea79a70d67d538cf7383870e240f27f1b809fad453b4071996984cc" -dependencies = [ - "bp-header-chain", - "bp-runtime", - "bp-test-utils", - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-consensus-grandpa", - "sp-runtime 47.0.0", - "sp-std", - "tracing", -] - -[[package]] -name = "pallet-bridge-messages" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "218433924fddf9d1a94d848f1d5f11dd2d51274719bcb4b468fd26ef364eb83b" -dependencies = [ - "bp-header-chain", - "bp-messages", - "bp-runtime", - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-runtime 47.0.0", - "sp-std", - "sp-trie 44.0.0", - "tracing", -] - -[[package]] -name = "pallet-bridge-parachains" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcae0cb477225a03517afa62fb6af0d3b1fe454d25314fb602eaf61dba731519" -dependencies = [ - "bp-header-chain", - "bp-parachains", - "bp-polkadot-core", - "bp-runtime", - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "pallet-bridge-grandpa", - "parity-scale-codec", - "scale-info", - "sp-runtime 47.0.0", - "sp-std", - "tracing", -] - -[[package]] -name = "pallet-bridge-relayers" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82b341f2f6e883cc1cf51282698c7554becf46d4c25413eda997b24b0a20041" -dependencies = [ - "bp-header-chain", - "bp-messages", - "bp-relayers", - "bp-runtime", - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "pallet-bridge-grandpa", - "pallet-bridge-messages", - "pallet-bridge-parachains", - "pallet-transaction-payment 48.0.0", - "parity-scale-codec", - "scale-info", - "sp-arithmetic", - "sp-runtime 47.0.0", - "tracing", -] - -[[package]] -name = "pallet-broker" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9618c786871aa77af41927d6ee6cb0829aaed0e5f4e42e26b83046bab08ce15" -dependencies = [ - "bitvec", - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-api 42.0.0", - "sp-arithmetic", - "sp-core 41.0.0", - "sp-runtime 47.0.0", -] - -[[package]] -name = "pallet-child-bounties" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdcf339e677a103c244ee38ca4bf89e5ad93a40896ff2126418218539a5e3156" -dependencies = [ - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "log", - "pallet-bounties", - "pallet-treasury", - "parity-scale-codec", - "scale-info", - "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-runtime 47.0.0", -] - -[[package]] -name = "pallet-collator-selection" -version = "29.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16087568d6d7b14d5218f81961104d364c310b5be2dc9fd44673e8bba7c7a63" -dependencies = [ - "cumulus-pallet-session-benchmarking", - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-balances", - "pallet-session", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sp-runtime 47.0.0", - "sp-staking", -] - -[[package]] -name = "pallet-collective" -version = "48.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "002fc65aee1338de242813679587c1601e4ed17e9d6e7958c711a411d37bb625" -dependencies = [ - "docify", - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-runtime 47.0.0", -] - -[[package]] -name = "pallet-conviction-voting" -version = "48.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077a0cb2995747d43181d3208a3a102f5e202ffb563e4f95b5c51704c9b1b36" -dependencies = [ - "assert_matches", - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "serde", - "sp-io 46.0.0", - "sp-runtime 47.0.0", -] - -[[package]] -name = "pallet-core-fellowship" -version = "32.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e20192ad1e81be92b743d02ab0e929acea73771fec698b6bfe14785eefc58c57" -dependencies = [ - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "log", - "pallet-ranked-collective", - "parity-scale-codec", - "scale-info", - "sp-arithmetic", - "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-runtime 47.0.0", -] - -[[package]] -name = "pallet-dap" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34a7105876930a81599187f29beb56790622f54255b82713a53f8e535e4f01ca" -dependencies = [ - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "log", - "pallet-timestamp 47.0.0", - "parity-scale-codec", - "scale-info", - "sp-dap", - "sp-runtime 47.0.0", - "sp-staking", -] - -[[package]] -name = "pallet-delegated-staking" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bdc01a02483b132c5cf8e36d2b63c569a25611597f029eb3880f625df2ab224" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-io 46.0.0", - "sp-runtime 47.0.0", - "sp-staking", -] - -[[package]] -name = "pallet-election-provider-multi-block" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84769710c4ea5bd2d864932680c73728799ce1f38dfe2d7372be36a521f27f09" -dependencies = [ - "frame-benchmarking 48.0.0", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sp-arithmetic", - "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-npos-elections", - "sp-runtime 47.0.0", - "sp-std", -] - -[[package]] -name = "pallet-election-provider-multi-phase" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1a3506794df6805450cb787db4203a442a17f0c50ccb9597a9146c675fea26a" -dependencies = [ - "frame-benchmarking 48.0.0", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sp-arithmetic", - "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-npos-elections", - "sp-runtime 47.0.0", - "strum 0.26.3", -] - -[[package]] -name = "pallet-election-provider-support-benchmarking" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31e7819dd30f7faa2a35ef1b9a2fadba30cad5f67b123496f27028499c5b76f" -dependencies = [ - "frame-benchmarking 48.0.0", - "frame-election-provider-support", - "frame-system", - "parity-scale-codec", - "sp-npos-elections", - "sp-runtime 47.0.0", -] - -[[package]] -name = "pallet-encointer-balances" -version = "22.3.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b321e4edd6f218eb6a74bc6dfa79d2cfb6dc6b21514360a58ce90031ab6b2370" +checksum = "b515a3264ea79a70d67d538cf7383870e240f27f1b809fad453b4071996984cc" dependencies = [ - "approx", - "encointer-primitives", - "frame-benchmarking 47.0.0", + "bp-header-chain", + "bp-runtime", + "bp-test-utils", + "frame-benchmarking", "frame-support", "frame-system", - "log", - "pallet-asset-tx-payment 47.0.0", - "pallet-transaction-payment 47.0.0", "parity-scale-codec", "scale-info", + "sp-consensus-grandpa", "sp-runtime 47.0.0", "sp-std", + "tracing", ] [[package]] -name = "pallet-encointer-bazaar" -version = "22.2.0" +name = "pallet-bridge-messages" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "012e471a9cc3441daea1037d620d59f35bbd6edb7fe25d72962b0cb99d21f1a4" +checksum = "218433924fddf9d1a94d848f1d5f11dd2d51274719bcb4b468fd26ef364eb83b" dependencies = [ - "encointer-primitives", - "frame-benchmarking 47.0.0", + "bp-header-chain", + "bp-messages", + "bp-runtime", + "frame-benchmarking", "frame-support", "frame-system", - "log", - "pallet-encointer-communities", "parity-scale-codec", "scale-info", - "sp-core 41.0.0", + "sp-runtime 47.0.0", "sp-std", + "sp-trie 44.0.0", + "tracing", ] [[package]] -name = "pallet-encointer-bazaar-rpc-runtime-api" -version = "22.2.0" +name = "pallet-bridge-parachains" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32126b0df1585997c85bea70f17ded2379b84899629c47b4d9452e2728ae867e" +checksum = "fcae0cb477225a03517afa62fb6af0d3b1fe454d25314fb602eaf61dba731519" dependencies = [ - "encointer-primitives", + "bp-header-chain", + "bp-parachains", + "bp-polkadot-core", + "bp-runtime", + "frame-benchmarking", "frame-support", + "frame-system", + "pallet-bridge-grandpa", "parity-scale-codec", - "sp-api 42.0.0", + "scale-info", + "sp-runtime 47.0.0", "sp-std", + "tracing", ] [[package]] -name = "pallet-encointer-ceremonies" -version = "22.2.0" +name = "pallet-bridge-relayers" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357943fb68ca225c5cb5e0a00820a38565f54026813ede9e0cd1ea12da3e4026" +checksum = "a82b341f2f6e883cc1cf51282698c7554becf46d4c25413eda997b24b0a20041" dependencies = [ - "encointer-ceremonies-assignment", - "encointer-meetup-validation", - "encointer-primitives", - "frame-benchmarking 47.0.0", + "bp-header-chain", + "bp-messages", + "bp-relayers", + "bp-runtime", + "frame-benchmarking", "frame-support", "frame-system", - "log", - "pallet-encointer-balances", - "pallet-encointer-communities", - "pallet-encointer-scheduler", - "pallet-timestamp 46.0.0", + "pallet-bridge-grandpa", + "pallet-bridge-messages", + "pallet-bridge-parachains", + "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-application-crypto 46.0.0", - "sp-core 41.0.0", - "sp-io 46.0.0", + "sp-arithmetic", "sp-runtime 47.0.0", - "sp-std", + "tracing", ] [[package]] -name = "pallet-encointer-ceremonies-rpc-runtime-api" -version = "22.2.0" +name = "pallet-broker" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26eb2dc7fc48bf2199e6bf513b4afd41903531d3ed1105fd670b99fc4bd1d641" +checksum = "c9618c786871aa77af41927d6ee6cb0829aaed0e5f4e42e26b83046bab08ce15" dependencies = [ - "encointer-primitives", + "bitvec", + "frame-benchmarking", "frame-support", + "frame-system", + "log", "parity-scale-codec", + "scale-info", "sp-api 42.0.0", - "sp-std", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-runtime 47.0.0", ] [[package]] -name = "pallet-encointer-communities" -version = "22.2.0" +name = "pallet-child-bounties" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fd6d09d7b9dcd3abacc14fac4bd2fafe9ff35f7e9ce6a32a891e3cc5681b5f1" +checksum = "fdcf339e677a103c244ee38ca4bf89e5ad93a40896ff2126418218539a5e3156" dependencies = [ - "encointer-primitives", - "frame-benchmarking 47.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-encointer-balances", - "pallet-encointer-scheduler", + "pallet-bounties", + "pallet-treasury", "parity-scale-codec", "scale-info", + "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", - "sp-std", ] [[package]] -name = "pallet-encointer-communities-rpc-runtime-api" -version = "22.2.0" +name = "pallet-collator-selection" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d79e9ecd66438021948b1d3e8ea8d17712dec9541c23db800667e342a89aaca" +checksum = "d16087568d6d7b14d5218f81961104d364c310b5be2dc9fd44673e8bba7c7a63" dependencies = [ - "encointer-primitives", + "cumulus-pallet-session-benchmarking", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-balances", + "pallet-session", "parity-scale-codec", - "sp-api 42.0.0", - "sp-std", + "rand 0.8.5", + "scale-info", + "sp-runtime 47.0.0", + "sp-staking", ] [[package]] -name = "pallet-encointer-democracy" -version = "22.8.0" +name = "pallet-collective" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15c5a01a0a26a98175992fa6d16877a8d66c3388ef8f7ff8af8bafa70d9f8a7" +checksum = "002fc65aee1338de242813679587c1601e4ed17e9d6e7958c711a411d37bb625" dependencies = [ - "encointer-primitives", - "frame-benchmarking 47.0.0", + "docify", + "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-encointer-ceremonies", - "pallet-encointer-communities", - "pallet-encointer-reputation-commitments", - "pallet-encointer-scheduler", - "pallet-encointer-treasuries", - "pallet-timestamp 46.0.0", "parity-scale-codec", "scale-info", - "sp-application-crypto 46.0.0", "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", - "sp-std", ] [[package]] -name = "pallet-encointer-faucet" -version = "22.3.0" +name = "pallet-conviction-voting" +version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "032575c0fa002ba526bc51667c27c15667b77198d16bc007a3b16a2448b143b9" +checksum = "f077a0cb2995747d43181d3208a3a102f5e202ffb563e4f95b5c51704c9b1b36" dependencies = [ - "approx", - "encointer-primitives", - "frame-benchmarking 47.0.0", + "assert_matches", + "frame-benchmarking", "frame-support", "frame-system", - "log", - "pallet-encointer-communities", - "pallet-encointer-reputation-commitments", "parity-scale-codec", "scale-info", - "sp-core 41.0.0", + "serde", + "sp-io 46.0.0", "sp-runtime 47.0.0", - "sp-std", ] [[package]] -name = "pallet-encointer-offline-payment" -version = "22.1.0" +name = "pallet-core-fellowship" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "355d14d43e217770a237fa682305760ae9007cd4b9be80303ea3a6c25b2bc118" +checksum = "e20192ad1e81be92b743d02ab0e929acea73771fec698b6bfe14785eefc58c57" dependencies = [ - "ark-bn254 0.4.0", - "ark-crypto-primitives", - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-groth16", - "ark-r1cs-std 0.4.0", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-snark", - "ark-std 0.4.0", - "encointer-offline-payment-core", - "encointer-primitives", - "frame-benchmarking 47.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-encointer-balances", - "pallet-encointer-communities", + "pallet-ranked-collective", "parity-scale-codec", "scale-info", + "sp-arithmetic", "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", - "sp-std", ] [[package]] -name = "pallet-encointer-reputation-commitments" -version = "22.2.0" +name = "pallet-dap" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bbb65b709bf9f1a6d20b2c6e04fff525b2343cbfe7a5495867c64d4490708c" +checksum = "34a7105876930a81599187f29beb56790622f54255b82713a53f8e535e4f01ca" dependencies = [ - "approx", - "encointer-primitives", - "frame-benchmarking 47.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-encointer-ceremonies", - "pallet-encointer-communities", - "pallet-encointer-scheduler", - "pallet-timestamp 46.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 41.0.0", + "sp-dap", "sp-runtime 47.0.0", - "sp-std", + "sp-staking", ] [[package]] -name = "pallet-encointer-reputation-rings" -version = "22.1.0" +name = "pallet-delegated-staking" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d79d9fbe78327197dccb879075f757ddd1f4e6c7f4bc5c3f1e65b8b5931d2bf2" +checksum = "8bdc01a02483b132c5cf8e36d2b63c569a25611597f029eb3880f625df2ab224" dependencies = [ - "encointer-primitives", - "frame-benchmarking 47.0.0", "frame-support", "frame-system", "log", - "pallet-encointer-ceremonies", - "pallet-encointer-communities", - "pallet-encointer-scheduler", "parity-scale-codec", "scale-info", - "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", - "sp-std", + "sp-staking", ] [[package]] -name = "pallet-encointer-scheduler" -version = "22.2.0" +name = "pallet-election-provider-multi-block" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a10be0263a361130b20aa2de8d7c60d8ffdff75c9a82e5383848a645c515929" +checksum = "84769710c4ea5bd2d864932680c73728799ce1f38dfe2d7372be36a521f27f09" dependencies = [ - "encointer-primitives", - "frame-benchmarking 47.0.0", + "frame-benchmarking", + "frame-election-provider-support", "frame-support", "frame-system", - "impl-trait-for-tuples", "log", - "pallet-timestamp 46.0.0", "parity-scale-codec", + "rand 0.8.5", "scale-info", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-npos-elections", "sp-runtime 47.0.0", "sp-std", ] [[package]] -name = "pallet-encointer-treasuries" -version = "22.8.0" +name = "pallet-election-provider-multi-phase" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9af0e3f605de67dbb1085e6460e5e3e23c2c393bca0b48fd67e54cbfc902f548" +checksum = "e1a3506794df6805450cb787db4203a442a17f0c50ccb9597a9146c675fea26a" dependencies = [ - "approx", - "encointer-primitives", - "frame-benchmarking 47.0.0", + "frame-benchmarking", + "frame-election-provider-support", "frame-support", "frame-system", "log", - "pallet-encointer-balances", - "pallet-encointer-communities", - "pallet-encointer-reputation-commitments", - "pallet-timestamp 46.0.0", "parity-scale-codec", + "rand 0.8.5", "scale-info", + "sp-arithmetic", "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-npos-elections", "sp-runtime 47.0.0", - "sp-std", + "strum 0.26.3", ] [[package]] -name = "pallet-encointer-treasuries-rpc-runtime-api" -version = "22.4.0" +name = "pallet-election-provider-support-benchmarking" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a9466efd1b710b8b6c3e666df5dd37288f02675e86dbe6853ab92f649c9bd3e" +checksum = "a31e7819dd30f7faa2a35ef1b9a2fadba30cad5f67b123496f27028499c5b76f" dependencies = [ - "encointer-primitives", - "frame-support", + "frame-benchmarking", + "frame-election-provider-support", + "frame-system", "parity-scale-codec", - "scale-info", - "sp-api 42.0.0", - "sp-std", + "sp-npos-elections", + "sp-runtime 47.0.0", ] [[package]] @@ -10474,7 +9785,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c22b0394236a0e3faf9c90cf9dfb98b2f5319bcc23103136d9ba26c9c3e56d17" dependencies = [ "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -10493,7 +9804,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01d49901940524b7e0d1d5c1941934b415288e6b1cd421a7eb8162c22c27d06f" dependencies = [ "blake2 0.10.6", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -10511,7 +9822,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "315652f265f2f3f6ecf9e5ecd589ba01d52d9f2df0ea287c5bf654038b15b304" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -10535,7 +9846,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88febdcdd4d5ce92c1c373e9de440488a94f14d076019c185fa7770c0e0e21d2" dependencies = [ "enumflags2", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -10551,7 +9862,7 @@ version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7580657dc96a3ed59ea981d93612bf026356323813e530c7f12a95ebd8a60276" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -10571,38 +9882,9 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a558bc7f51901e229488259c370e8d49d96cd9752143df0031504ce071fa4926" dependencies = [ - "frame-benchmarking 48.0.0", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-runtime 47.0.0", -] - -[[package]] -name = "pallet-insecure-randomness-collective-flip" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30f15e853dad976a51c39aa7ce2d8ffacd9ed1e9715775530a9c909671c10a8c" -dependencies = [ - "parity-scale-codec", - "polkadot-sdk-frame", - "safe-mix", - "scale-info", -] - -[[package]] -name = "pallet-membership" -version = "48.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f106e900e384e1b99af2c5df212a79cdcaeab73670140aa5965ba1687dc385" -dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", - "log", "parity-scale-codec", "scale-info", "sp-core 41.0.0", @@ -10617,7 +9899,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c6518c1ce59b1fb63b127d462a0371e52b2a014d51ee2adfe283c1d276dcf3d" dependencies = [ "environmental", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -10637,7 +9919,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90e53c0720cc71309be3da638e75591bf02d3141590f7c6e004e326ed307b4ff" dependencies = [ "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -10670,7 +9952,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89608a9d14cef8c242fbaeec570a9bcc7e372ca1ef72ca66a8a0225067d3c4a3" dependencies = [ "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -10714,7 +9996,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8aee15c810bacb51dfd440b19e15aa55ea7ba41f3df8f8a90eac151e45cb0942" dependencies = [ "enumflags2", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -10771,7 +10053,7 @@ version = "46.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7faf7e000bccbb24aa7f58339affb32d43254540065053d1d26699725026fd05" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -10819,7 +10101,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2104dce460d3854c9990f8fcd308210047399cf015ac2a6dabad2503ef0fbf1b" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -10845,7 +10127,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c366e15feb3d7b099caf0497a3522dcb1d391302c7092a2f8e0462e09e8fe16" dependencies = [ "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -10862,7 +10144,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "36177a6102deab0ee1da34caf211b8326d07e123cf343dd959467bb3e9052044" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -10890,7 +10172,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be41830e22ac02120ba83e91bbc250329cdf4fbac67620c6a6b4e529f87ea0d1" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -10907,7 +10189,7 @@ dependencies = [ name = "pallet-rc-migrator" version = "0.1.0" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -10978,7 +10260,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e9a9885c7315b309d4904cf504e03a02e7ea12c98386648e9838530b342620f" dependencies = [ "assert_matches", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -10996,7 +10278,7 @@ version = "1.0.0" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-primitives-core", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "pallet-balances", @@ -11024,7 +10306,7 @@ dependencies = [ "environmental", "ethereum-standards", "ethereum-types", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "hex-literal", @@ -11038,7 +10320,7 @@ dependencies = [ "pallet-revive-fixtures", "pallet-revive-proc-macro", "pallet-revive-uapi", - "pallet-transaction-payment 48.0.0", + "pallet-transaction-payment", "parity-scale-codec", "paste", "polkavm 0.33.1", @@ -11129,7 +10411,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b2a852a3c1a4d38d2805789623531e133e1fe91c2663b7f1420852db074b273" dependencies = [ "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -11151,7 +10433,7 @@ dependencies = [ "impl-trait-for-tuples", "log", "pallet-balances", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-core 41.0.0", @@ -11169,7 +10451,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "967870778286031509f4a434ff8daebd0ef02cee577b5ed681d197442547bec4" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "pallet-session", @@ -11199,7 +10481,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adac0b16435d6a0f04a26913cffe5add14372b5b2e988bae9b22f766563a4247" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -11217,7 +10499,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e920112ca92ec9b5b1797e56fddf89e24b941ea77d6c8191d60ccc485da1b86e" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -11240,7 +10522,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aa72c124fec0ec8581a423103db67e4fbb6fb047f4bf01548734863f2051b33" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -11266,7 +10548,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e6b5eba70f758f082921f4f3682638cac3ac2e9694f22dec9d32d3b79b4b71d" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -11287,7 +10569,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72fc88bf30b41e78cbf62c1245841d6ed83ef6d2637efe0f2dcef3683c57a5ae" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -11341,7 +10623,7 @@ version = "53.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ca8379fdbff6ce11967f0d47994de4fff57b11e1d72292c7c76bc273280e029" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -11359,7 +10641,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "737608123d713af4d7619df47f22dbcd6fd55dbe5068f9ea429818bc3993bea7" dependencies = [ "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -11368,25 +10650,6 @@ dependencies = [ "sp-runtime 47.0.0", ] -[[package]] -name = "pallet-timestamp" -version = "46.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd8823ea19e3b764aad58089e1078c211d93e0cfc1291cb7ed0dfa1fe1d6136" -dependencies = [ - "docify", - "frame-benchmarking 47.0.0", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-inherents 42.0.0", - "sp-runtime 47.0.0", - "sp-storage 23.0.0", - "sp-timestamp", -] - [[package]] name = "pallet-timestamp" version = "47.0.0" @@ -11394,7 +10657,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb51deebc7013789cb29d7e27a1be156fe3fdb51b02a4f8a16c76daded664adf" dependencies = [ "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -11406,30 +10669,13 @@ dependencies = [ "sp-timestamp", ] -[[package]] -name = "pallet-transaction-payment" -version = "47.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f17aff98f52ffb1b5d488bb140e88193fbb30c82a92113217e853c84c9586f" -dependencies = [ - "frame-benchmarking 47.0.0", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-io 46.0.0", - "sp-runtime 47.0.0", -] - [[package]] name = "pallet-transaction-payment" version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9041abf1095150239fec5bc98c9c28b50708e5633392f9ca1b3df9f0f03d2d72" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -11446,7 +10692,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e76d71c23c93bf392aa69ac40041d39461f2083abf30abe05b753951cd7eefa" dependencies = [ - "pallet-transaction-payment 48.0.0", + "pallet-transaction-payment", "parity-scale-codec", "sp-api 42.0.0", "sp-runtime 47.0.0", @@ -11460,7 +10706,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13738baf24d75c8d41f706e522b243d98c282b331243d075e86231acfdd2c23e" dependencies = [ "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -11479,7 +10725,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eb59ceb18b96668033944eb77288add7ff1960b76f31af484d6d03f9068ab6f" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -11494,7 +10740,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f6a381375b03d44183d0140868493a87cc346eea561aa534de0a9332088227f" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -11510,7 +10756,7 @@ version = "48.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bd960d8545bf592283bf630b9edfa88241adc0d3d98be843ae1c53bcea4fd30" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -11526,12 +10772,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c18538589f9ed23b5b0f3e212ceb7e868d8cc44d2b94ac2b9901443a3fc350c0" dependencies = [ "alloy-core", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "pallet-balances", "pallet-revive", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "pallet-vesting", "parity-scale-codec", "scale-info", @@ -11558,7 +10804,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6bd4996a599499dc6e3b5638020cde72bca0f329279edb678f8e22522645016" dependencies = [ "bounded-collections", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "hex-literal", @@ -11582,7 +10828,7 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "507e7010782bc98b905c7a4234586b73d576ebdd52b26cc832f29c5ddf0456e4" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -11624,7 +10870,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26b553f05719498ff8315eb5907595254bb797bb6621b066395d3349673ae003" dependencies = [ "bp-xcm-bridge-hub-router", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -11663,7 +10909,7 @@ dependencies = [ "cumulus-primitives-utility", "frame-support", "frame-system", - "pallet-asset-tx-payment 48.0.0", + "pallet-asset-tx-payment", "pallet-assets", "pallet-authorship", "pallet-balances", @@ -11714,7 +10960,7 @@ dependencies = [ "pallet-balances", "pallet-collator-selection", "pallet-session", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "pallet-xcm", "parachains-common", "parity-scale-codec", @@ -11937,7 +11183,7 @@ dependencies = [ "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -11957,8 +11203,8 @@ dependencies = [ "pallet-revive", "pallet-session", "pallet-sudo", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -12049,7 +11295,7 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", "enumflags2", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -12070,8 +11316,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -12165,7 +11411,7 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", "enumflags2", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -12176,7 +11422,7 @@ dependencies = [ "hex-literal", "log", "pallet-asset-rate", - "pallet-asset-tx-payment 48.0.0", + "pallet-asset-tx-payment", "pallet-assets", "pallet-assets-holder", "pallet-aura", @@ -12189,8 +11435,8 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", @@ -12497,7 +11743,7 @@ version = "1.0.0" dependencies = [ "approx", "binary-merkle-tree", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-executive", "frame-metadata-hash-extension", @@ -12549,8 +11795,8 @@ dependencies = [ "pallet-staking-reward-fn", "pallet-staking-runtime-api", "pallet-state-trie-migration", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury", "pallet-utility", @@ -12607,7 +11853,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ff99b6a05b433f4611bb8c12797d168232f01f27901fe5fb1da3ac54e856f7b" dependencies = [ "bitvec", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -12625,8 +11871,8 @@ dependencies = [ "pallet-session", "pallet-staking", "pallet-staking-reward-fn", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-treasury", "pallet-vesting", "parity-scale-codec", @@ -12677,7 +11923,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "397ccc07bbf236d7cc1b23abbea6fb3915e21b808023d8854416c05868d3865c" dependencies = [ "bs58", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "parity-scale-codec", "polkadot-primitives", "sp-tracing", @@ -12691,7 +11937,7 @@ checksum = "67cf7c7c41cb77746c2ce746428815bb17d7c0a9e12bac6d5fa857319eef911f" dependencies = [ "bitflags 1.3.2", "bitvec", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -12707,7 +11953,7 @@ dependencies = [ "pallet-session", "pallet-session-benchmarking", "pallet-staking", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "parity-scale-codec", "polkadot-core-primitives", "polkadot-parachain-primitives", @@ -12741,7 +11987,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3007df186bc582c62d7719eac0b88d35e7bd7bccaaedc3d8b2f9be802774853" dependencies = [ "docify", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-executive", "frame-support", "frame-system", @@ -14018,7 +13264,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cee3f336b83621294b4cfe84d817e3eef6f3d0fce00951973364cc7f860424d" dependencies = [ "ark-bls12-381 0.5.0", - "ark-bn254 0.5.0", + "ark-bn254", "ark-ec 0.5.0", "ark-ff 0.5.0", "ark-serialize 0.5.0", @@ -14234,15 +13480,6 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - [[package]] name = "rustc_version" version = "0.3.3" @@ -14442,15 +13679,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" -[[package]] -name = "safe-mix" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" -dependencies = [ - "rustc_version 0.2.3", -] - [[package]] name = "safe_arch" version = "0.7.4" @@ -15668,15 +14896,6 @@ dependencies = [ "semver-parser 0.7.0", ] -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser 0.7.0", -] - [[package]] name = "semver" version = "0.11.0" @@ -16370,11 +15589,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48278b2dc719151611093bd4ccedac8b57990b983cd2d1aff8978444aa15fa47" dependencies = [ "alloy-primitives", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "hex-literal", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", "serde", @@ -16410,7 +15629,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0be7a807df7c769ea3c74710d7246c08a8d3a00d1bfcedeb3424452c929a9440" dependencies = [ "alloy-core", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "pallet-balances", @@ -16452,7 +15671,7 @@ checksum = "45616444ca2825b829bc445a00f9f9751c2e2bb7394964506bfb7e60be169f4e" dependencies = [ "alloy-core", "bp-relayers", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "pallet-balances", @@ -16494,7 +15713,7 @@ checksum = "6f33ead947f81a54c12947f95376be7fd2b9fad7b3416a909acc28d9acca3301" dependencies = [ "bridge-hub-common", "ethabi-decode", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -16519,7 +15738,7 @@ dependencies = [ "alloy-core", "bp-relayers", "ethabi-decode", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "hex-literal", @@ -16547,7 +15766,7 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93940f404536296e5c84b10ac51f166cc936af7c6cff4ffcad5e4c106063dfb8" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -16569,7 +15788,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "522a11154d52b76f85d703b2e45c088ed9a0e8e3bd082e06e6fd75de3ee99ffc" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "pallet-asset-conversion", @@ -16591,7 +15810,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d83f8f8535a46ecf07fa28d8dd8f2356e6fe4050c1ce4ffe549b81293bdd364" dependencies = [ - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -16639,7 +15858,7 @@ dependencies = [ "pallet-collator-selection", "pallet-message-queue", "pallet-session", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "pallet-utility", "pallet-xcm", "parachains-runtimes-test-utils", @@ -18026,7 +17245,7 @@ name = "staging-kusama-runtime" version = "1.0.0" dependencies = [ "binary-merkle-tree", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-election-provider-support", "frame-executive", "frame-metadata-hash-extension", @@ -18081,8 +17300,8 @@ dependencies = [ "pallet-staking-async-ah-client", "pallet-staking-async-rc-client", "pallet-staking-runtime-api", - "pallet-timestamp 47.0.0", - "pallet-transaction-payment 48.0.0", + "pallet-timestamp", + "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury", "pallet-utility", @@ -18178,7 +17397,7 @@ dependencies = [ "impl-trait-for-tuples", "pallet-accumulate-and-forward", "pallet-asset-conversion", - "pallet-transaction-payment 48.0.0", + "pallet-transaction-payment", "parity-scale-codec", "polkadot-parachain-primitives", "scale-info", @@ -18199,7 +17418,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c9b0e1c37267245cb593be21a3c12067dd6de52edbf04b299f19f8851e0b6b" dependencies = [ "environmental", - "frame-benchmarking 48.0.0", + "frame-benchmarking", "frame-support", "impl-trait-for-tuples", "parity-scale-codec", @@ -18295,29 +17514,6 @@ dependencies = [ "rustc-hex", ] -[[package]] -name = "substrate-fixed" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a58670b92bb23e63b32b32167ff4edf8a34a2d53a2bdfcd60a6d8ead57bd563" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "substrate-typenum", -] - -[[package]] -name = "substrate-geohash" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c822853591796a4f735f88ad603d32062090374d3c1c8118c62c28d6f85a683" -dependencies = [ - "parity-scale-codec", - "scale-info", - "substrate-fixed", -] - [[package]] name = "substrate-prometheus-endpoint" version = "0.17.7" @@ -18347,16 +17543,6 @@ dependencies = [ "sp-runtime 47.0.0", ] -[[package]] -name = "substrate-typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cd64d3efe988228b8496698197ee60cfbfcedbf226961300e559870c1a3e8e0" -dependencies = [ - "parity-scale-codec", - "scale-info", -] - [[package]] name = "substrate-wasm-builder" version = "33.0.0" @@ -21282,7 +20468,7 @@ dependencies = [ "pallet-aura", "pallet-balances", "pallet-message-queue", - "pallet-timestamp 47.0.0", + "pallet-timestamp", "parachains-common", "parity-scale-codec", "paste", diff --git a/Cargo.toml b/Cargo.toml index a903079092..c10499c688 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -67,11 +67,11 @@ cumulus-primitives-aura = { version = "0.23.0", default-features = false } cumulus-primitives-core = { version = "0.25.0", default-features = false } cumulus-primitives-utility = { version = "0.28.0", default-features = false } emulated-integration-tests-common = { version = "32.0.0" } -encointer-balances-tx-payment = { version = "~22.2.0", default-features = false } -encointer-balances-tx-payment-rpc-runtime-api = { version = "~22.2.0", default-features = false } -encointer-kusama-runtime = { path = "system-parachains/encointer" } -encointer-kusama-emulated-chain = { path = "integration-tests/emulated/chains/parachains/encointer/encointer-kusama" } -encointer-primitives = { version = "~22.6.0", default-features = false } +# TODO @ggwpez encointer-balances-tx-payment = { version = "~22.2.0", default-features = false } +# TODO @ggwpez encointer-balances-tx-payment-rpc-runtime-api = { version = "~22.2.0", default-features = false } +# TODO @ggwpez encointer-kusama-runtime = { path = "system-parachains/encointer" } +# TODO @ggwpez encointer-kusama-emulated-chain = { path = "integration-tests/emulated/chains/parachains/encointer/encointer-kusama" } +# TODO @ggwpez encointer-primitives = { version = "~22.6.0", default-features = false } enumflags2 = { version = "0.7.7" } frame-benchmarking = { version = "48.0.0", default-features = false } frame-election-provider-support = { version = "47.0.0", default-features = false } @@ -123,21 +123,21 @@ pallet-dap = { version = "0.5.0", default-features = false } pallet-core-fellowship = { version = "32.0.0", default-features = false } pallet-election-provider-multi-phase = { version = "47.0.0", default-features = false } pallet-election-provider-support-benchmarking = { version = "47.0.0", default-features = false } -pallet-encointer-balances = { version = "~22.3.0", default-features = false } -pallet-encointer-bazaar = { version = "~22.2.0", default-features = false } -pallet-encointer-bazaar-rpc-runtime-api = { version = "~22.2.0", default-features = false } -pallet-encointer-ceremonies = { version = "~22.2.0", default-features = false } -pallet-encointer-ceremonies-rpc-runtime-api = { version = "~22.2.0", default-features = false } -pallet-encointer-communities = { version = "~22.2.0", default-features = false } -pallet-encointer-communities-rpc-runtime-api = { version = "~22.2.0", default-features = false } -pallet-encointer-democracy = { version = "~22.8.0", default-features = false } -pallet-encointer-faucet = { version = "~22.3.0", default-features = false } -pallet-encointer-offline-payment = { version = "~22.1.0", default-features = false } -pallet-encointer-reputation-commitments = { version = "~22.2.0", default-features = false } -pallet-encointer-reputation-rings = { version = "~22.1.0", default-features = false } -pallet-encointer-scheduler = { version = "~22.2.0", default-features = false } -pallet-encointer-treasuries = { version = "~22.8.0", default-features = false } -pallet-encointer-treasuries-rpc-runtime-api = { version = "~22.4.0", default-features = false } +# TODO @ggwpez pallet-encointer-balances = { version = "~22.3.0", default-features = false } +# TODO @ggwpez pallet-encointer-bazaar = { version = "~22.2.0", default-features = false } +# TODO @ggwpez pallet-encointer-bazaar-rpc-runtime-api = { version = "~22.2.0", default-features = false } +# TODO @ggwpez pallet-encointer-ceremonies = { version = "~22.2.0", default-features = false } +# TODO @ggwpez pallet-encointer-ceremonies-rpc-runtime-api = { version = "~22.2.0", default-features = false } +# TODO @ggwpez pallet-encointer-communities = { version = "~22.2.0", default-features = false } +# TODO @ggwpez pallet-encointer-communities-rpc-runtime-api = { version = "~22.2.0", default-features = false } +# TODO @ggwpez pallet-encointer-democracy = { version = "~22.8.0", default-features = false } +# TODO @ggwpez pallet-encointer-faucet = { version = "~22.3.0", default-features = false } +# TODO @ggwpez pallet-encointer-offline-payment = { version = "~22.1.0", default-features = false } +# TODO @ggwpez pallet-encointer-reputation-commitments = { version = "~22.2.0", default-features = false } +# TODO @ggwpez pallet-encointer-reputation-rings = { version = "~22.1.0", default-features = false } +# TODO @ggwpez pallet-encointer-scheduler = { version = "~22.2.0", default-features = false } +# TODO @ggwpez pallet-encointer-treasuries = { version = "~22.8.0", default-features = false } +# TODO @ggwpez pallet-encointer-treasuries-rpc-runtime-api = { version = "~22.4.0", default-features = false } pallet-fast-unstake = { version = "47.0.0", default-features = false } pallet-glutton = { version = "34.0.0", default-features = false } pallet-grandpa = { version = "48.0.0", default-features = false } @@ -303,7 +303,7 @@ members = [ "integration-tests/emulated/chains/parachains/collectives/collectives-polkadot", "integration-tests/emulated/chains/parachains/coretime/coretime-kusama", "integration-tests/emulated/chains/parachains/coretime/coretime-polkadot", - "integration-tests/emulated/chains/parachains/encointer/encointer-kusama", + # TODO @ggwpez "integration-tests/emulated/chains/parachains/encointer/encointer-kusama", "integration-tests/emulated/chains/parachains/people/people-kusama", "integration-tests/emulated/chains/parachains/people/people-polkadot", "integration-tests/emulated/chains/parachains/testing/penpal", @@ -321,7 +321,7 @@ members = [ "integration-tests/emulated/tests/collectives/collectives-polkadot", "integration-tests/emulated/tests/coretime/coretime-kusama", "integration-tests/emulated/tests/coretime/coretime-polkadot", - "integration-tests/emulated/tests/encointer/encointer-kusama", + # TODO @ggwpez "integration-tests/emulated/tests/encointer/encointer-kusama", "integration-tests/emulated/tests/governance/kusama", "integration-tests/emulated/tests/governance/polkadot", "integration-tests/emulated/tests/people/people-kusama", @@ -350,7 +350,7 @@ members = [ "system-parachains/constants", "system-parachains/coretime/coretime-kusama", "system-parachains/coretime/coretime-polkadot", - "system-parachains/encointer", + # TODO @ggwpez "system-parachains/encointer", "system-parachains/gluttons/glutton-kusama", "system-parachains/people/people-kusama", "system-parachains/people/people-polkadot", diff --git a/chain-spec-generator/Cargo.toml b/chain-spec-generator/Cargo.toml index 9aed552e44..d4b773c1ab 100644 --- a/chain-spec-generator/Cargo.toml +++ b/chain-spec-generator/Cargo.toml @@ -23,7 +23,7 @@ bulletin-polkadot-runtime = { workspace = true, optional = true } collectives-polkadot-runtime = { workspace = true, optional = true } bridge-hub-polkadot-runtime = { workspace = true, optional = true } bridge-hub-kusama-runtime = { workspace = true, optional = true } -encointer-kusama-runtime = { workspace = true, optional = true } +# TODO @ggwpez encointer-kusama-runtime = { workspace = true, optional = true } glutton-kusama-runtime = { workspace = true, optional = true } coretime-kusama-runtime = { workspace = true, optional = true } coretime-polkadot-runtime = { workspace = true, optional = true } @@ -42,7 +42,7 @@ runtime-benchmarks = [ "collectives-polkadot-runtime?/runtime-benchmarks", "coretime-kusama-runtime?/runtime-benchmarks", "coretime-polkadot-runtime?/runtime-benchmarks", - "encointer-kusama-runtime?/runtime-benchmarks", + # TODO @ggwpez "encointer-kusama-runtime?/runtime-benchmarks", "glutton-kusama-runtime?/runtime-benchmarks", "kusama-runtime?/runtime-benchmarks", "people-kusama-runtime?/runtime-benchmarks", @@ -59,7 +59,7 @@ on-chain-release-build = [ "collectives-polkadot-runtime?/on-chain-release-build", "coretime-kusama-runtime?/on-chain-release-build", "coretime-polkadot-runtime?/on-chain-release-build", - "encointer-kusama-runtime?/on-chain-release-build", + # TODO @ggwpez "encointer-kusama-runtime?/on-chain-release-build", "glutton-kusama-runtime?/on-chain-release-build", "kusama-runtime?/on-chain-release-build", "people-kusama-runtime?/on-chain-release-build", @@ -78,7 +78,7 @@ collectives-polkadot = ["collectives-polkadot-runtime"] bridge-hub-polkadot = ["bridge-hub-polkadot-runtime"] bridge-hub-kusama = ["bridge-hub-kusama-runtime"] bulletin-polkadot = ["bulletin-polkadot-runtime"] -encointer-kusama = ["encointer-kusama-runtime"] +# TODO @ggwpez encointer-kusama = ["encointer-kusama-runtime"] glutton-kusama = ["glutton-kusama-runtime"] coretime-kusama = ["coretime-kusama-runtime"] coretime-polkadot = ["coretime-polkadot-runtime"] @@ -98,7 +98,7 @@ all-kusama = [ "asset-hub-kusama", "bridge-hub-kusama", "coretime-kusama", - "encointer-kusama", + # TODO @ggwpez "encointer-kusama", "glutton-kusama", "kusama", "people-kusama", diff --git a/chain-spec-generator/src/common.rs b/chain-spec-generator/src/common.rs index ccd75bf2e3..7c9a416d4b 100644 --- a/chain-spec-generator/src/common.rs +++ b/chain-spec-generator/src/common.rs @@ -20,7 +20,8 @@ use crate::{ system_parachains_specs::{ AssetHubKusamaChainSpec, AssetHubPolkadotChainSpec, BridgeHubKusamaChainSpec, BridgeHubPolkadotChainSpec, CollectivesPolkadotChainSpec, CoretimeKusamaChainSpec, - CoretimePolkadotChainSpec, EncointerKusamaChainSpec, GluttonKusamaChainSpec, + CoretimePolkadotChainSpec, GluttonKusamaChainSpec, + // TODO @ggwpez EncointerKusamaChainSpec, PeopleKusamaChainSpec, PeoplePolkadotChainSpec, }, ChainSpec, @@ -58,8 +59,8 @@ pub fn from_json_file(filepath: &str, supported: String) -> Result Ok(Box::new(GluttonKusamaChainSpec::from_json_file(path)?)), - x if x.starts_with("encointer-kusama") => - Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), + /* TODO @ggwpez x if x.starts_with("encointer-kusama") => + Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), */ x if x.starts_with("people-kusama") => Ok(Box::new(PeopleKusamaChainSpec::from_json_file(path)?)), x if x.starts_with("people-polkadot") => diff --git a/chain-spec-generator/src/main.rs b/chain-spec-generator/src/main.rs index e2dd3aee7d..7b91bb76da 100644 --- a/chain-spec-generator/src/main.rs +++ b/chain-spec-generator/src/main.rs @@ -82,11 +82,11 @@ fn main() -> Result<(), String> { "glutton-kusama-local", Box::new(system_parachains_specs::glutton_kusama_local_testnet_config) as Box<_>, ), - #[cfg(feature = "encointer-kusama")] + /* TODO @ggwpez #[cfg(feature = "encointer-kusama")] ( "encointer-kusama-local", Box::new(system_parachains_specs::encointer_kusama_local_testnet_config) as Box<_>, - ), + ), */ #[cfg(feature = "coretime-kusama")] ( "coretime-kusama", diff --git a/chain-spec-generator/src/system_parachains_specs.rs b/chain-spec-generator/src/system_parachains_specs.rs index d9ca1dd9ee..3f7b8ac88a 100644 --- a/chain-spec-generator/src/system_parachains_specs.rs +++ b/chain-spec-generator/src/system_parachains_specs.rs @@ -40,7 +40,7 @@ pub type BridgeHubKusamaChainSpec = sc_chain_spec::GenericChainSpec; pub type GluttonKusamaChainSpec = sc_chain_spec::GenericChainSpec; -pub type EncointerKusamaChainSpec = sc_chain_spec::GenericChainSpec; +// TODO @ggwpez pub type EncointerKusamaChainSpec = sc_chain_spec::GenericChainSpec; pub type CoretimeKusamaChainSpec = sc_chain_spec::GenericChainSpec; @@ -183,7 +183,7 @@ pub fn glutton_kusama_local_testnet_config() -> Result Result, String> { let mut properties = sc_chain_spec::Properties::new(); @@ -203,7 +203,7 @@ pub fn encointer_kusama_local_testnet_config() -> Result Result, String> { diff --git a/integration-tests/emulated/networks/kusama-system/Cargo.toml b/integration-tests/emulated/networks/kusama-system/Cargo.toml index fc91409e4a..ed3f73ef6a 100644 --- a/integration-tests/emulated/networks/kusama-system/Cargo.toml +++ b/integration-tests/emulated/networks/kusama-system/Cargo.toml @@ -15,7 +15,7 @@ emulated-integration-tests-common = { workspace = true } # Runtimes asset-hub-kusama-emulated-chain = { workspace = true } bridge-hub-kusama-emulated-chain = { workspace = true } -encointer-kusama-emulated-chain = { workspace = true } +# TODO @ggwpez encointer-kusama-emulated-chain = { workspace = true } kusama-emulated-chain = { workspace = true } penpal-emulated-chain = { workspace = true } people-kusama-emulated-chain = { workspace = true } @@ -26,7 +26,7 @@ runtime-benchmarks = [ "asset-hub-kusama-emulated-chain/runtime-benchmarks", "bridge-hub-kusama-emulated-chain/runtime-benchmarks", "coretime-kusama-emulated-chain/runtime-benchmarks", - "encointer-kusama-emulated-chain/runtime-benchmarks", + # TODO @ggwpez "encointer-kusama-emulated-chain/runtime-benchmarks", "kusama-emulated-chain/runtime-benchmarks", "penpal-emulated-chain/runtime-benchmarks", "people-kusama-emulated-chain/runtime-benchmarks", diff --git a/integration-tests/emulated/networks/kusama-system/src/lib.rs b/integration-tests/emulated/networks/kusama-system/src/lib.rs index abec950ac6..d374987e51 100644 --- a/integration-tests/emulated/networks/kusama-system/src/lib.rs +++ b/integration-tests/emulated/networks/kusama-system/src/lib.rs @@ -16,7 +16,7 @@ pub use asset_hub_kusama_emulated_chain; pub use bridge_hub_kusama_emulated_chain; pub use coretime_kusama_emulated_chain; -pub use encointer_kusama_emulated_chain; +// TODO @ggwpez pub use encointer_kusama_emulated_chain; pub use kusama_emulated_chain; pub use penpal_emulated_chain; pub use people_kusama_emulated_chain; @@ -24,7 +24,7 @@ pub use people_kusama_emulated_chain; use asset_hub_kusama_emulated_chain::AssetHubKusama; use bridge_hub_kusama_emulated_chain::BridgeHubKusama; use coretime_kusama_emulated_chain::CoretimeKusama; -use encointer_kusama_emulated_chain::EncointerKusama; +// TODO @ggwpez use encointer_kusama_emulated_chain::EncointerKusama; use kusama_emulated_chain::Kusama; use penpal_emulated_chain::{PenpalA, PenpalB}; use people_kusama_emulated_chain::PeopleKusama; @@ -45,7 +45,7 @@ decl_test_networks! { PenpalB, PeopleKusama, CoretimeKusama, - EncointerKusama, + // TODO @ggwpez EncointerKusama, ], bridge = () }, @@ -58,6 +58,6 @@ decl_test_sender_receiver_accounts_parameter_types! { PenpalAPara { sender: ALICE, receiver: BOB }, PenpalBPara { sender: ALICE, receiver: BOB }, PeopleKusamaPara { sender: ALICE, receiver: BOB }, - CoretimeKusamaPara { sender: ALICE, receiver: BOB }, - EncointerKusamaPara { sender: ALICE, receiver: BOB } + CoretimeKusamaPara { sender: ALICE, receiver: BOB } + // TODO @ggwpez EncointerKusamaPara { sender: ALICE, receiver: BOB } } From 2b72793ccf1dc774b042a02197bc3379f657ee08 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 22 May 2026 14:17:45 +0300 Subject: [PATCH 50/59] fmt Signed-off-by: Oliver Tale-Yazdi --- chain-spec-generator/src/common.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/chain-spec-generator/src/common.rs b/chain-spec-generator/src/common.rs index 7c9a416d4b..6ab96e3f15 100644 --- a/chain-spec-generator/src/common.rs +++ b/chain-spec-generator/src/common.rs @@ -18,11 +18,17 @@ use crate::{ relay_chain_specs::{KusamaChainSpec, PolkadotChainSpec}, system_parachains_specs::{ - AssetHubKusamaChainSpec, AssetHubPolkadotChainSpec, BridgeHubKusamaChainSpec, - BridgeHubPolkadotChainSpec, CollectivesPolkadotChainSpec, CoretimeKusamaChainSpec, - CoretimePolkadotChainSpec, GluttonKusamaChainSpec, + AssetHubKusamaChainSpec, + AssetHubPolkadotChainSpec, + BridgeHubKusamaChainSpec, + BridgeHubPolkadotChainSpec, + CollectivesPolkadotChainSpec, + CoretimeKusamaChainSpec, + CoretimePolkadotChainSpec, + GluttonKusamaChainSpec, // TODO @ggwpez EncointerKusamaChainSpec, - PeopleKusamaChainSpec, PeoplePolkadotChainSpec, + PeopleKusamaChainSpec, + PeoplePolkadotChainSpec, }, ChainSpec, }; @@ -60,7 +66,7 @@ pub fn from_json_file(filepath: &str, supported: String) -> Result Ok(Box::new(GluttonKusamaChainSpec::from_json_file(path)?)), /* TODO @ggwpez x if x.starts_with("encointer-kusama") => - Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), */ + Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), */ x if x.starts_with("people-kusama") => Ok(Box::new(PeopleKusamaChainSpec::from_json_file(path)?)), x if x.starts_with("people-polkadot") => From 272b209f9403331428dfa83201feb509712fb728 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 22 May 2026 15:31:16 +0300 Subject: [PATCH 51/59] Fix bridge hub benchmarks for https://github.com/paritytech/polkadot-sdk/pull/10952 Signed-off-by: Oliver Tale-Yazdi --- .../bridge-hubs/bridge-hub-kusama/src/lib.rs | 11 +++++------ .../bridge-hubs/bridge-hub-polkadot/src/lib.rs | 18 ++++++++++++------ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs index ccb2719bd3..bb22ca2f97 100644 --- a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs @@ -954,11 +954,10 @@ mod benches { } fn prepare_rewards_account( - account_params: bp_relayers::RewardsAccountParams< - LaneIdOf, - >, - reward: Balance, - ) -> Option { + _relayer: &AccountId, + account_params: Self::Reward, + reward: Self::RewardBalance, + ) -> Option<(bp_relayers::RewardsAccountParams, AccountId)> { let rewards_account = bp_relayers::PayRewardFromAccount::< Balances, AccountId, @@ -966,7 +965,7 @@ mod benches { Balance, >::rewards_account(account_params); Self::deposit_account(rewards_account.clone(), reward); - Some(rewards_account) + Some((account_params, rewards_account)) } fn deposit_account(account: AccountId, balance: Balance) { diff --git a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs index 6be0916cff..3521acaca0 100644 --- a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs @@ -997,15 +997,18 @@ mod benches { } fn prepare_rewards_account( + _relayer: &AccountId, reward_kind: Self::Reward, - reward: Balance, - ) -> Option< + reward: Self::RewardBalance, + ) -> Option<( + Self::Reward, pallet_bridge_relayers::BeneficiaryOf< Runtime, bridge_common_config::BridgeRelayersInstance, >, - > { - let bridge_common_config::BridgeReward::PolkadotKusamaBridge(reward_kind) = reward_kind + )> { + let bridge_common_config::BridgeReward::PolkadotKusamaBridge(inner_reward_kind) = + reward_kind else { panic!( "Unexpected reward_kind: {reward_kind:?} - not compatible with `bench_reward`!" @@ -1016,10 +1019,13 @@ mod benches { AccountId, bp_messages::LegacyLaneId, Balance, - >::rewards_account(reward_kind); + >::rewards_account(inner_reward_kind); Self::deposit_account(rewards_account.clone(), reward); - Some(bridge_common_config::BridgeRewardBeneficiaries::LocalAccount(rewards_account)) + Some(( + reward_kind, + bridge_common_config::BridgeRewardBeneficiaries::LocalAccount(rewards_account), + )) } fn deposit_account(account: AccountId, balance: Balance) { From 294e10b88b52aec9a304a8ed20ed6c542a642a36 Mon Sep 17 00:00:00 2001 From: Paolo La Camera Date: Fri, 22 May 2026 14:34:14 +0200 Subject: [PATCH 52/59] KAH: fix recovery benchmarks (#1183) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Recovery benchmarks for `finish_attempt` / `cancel_attempt` [advance](https://github.com/paritytech/polkadot-sdk/blob/25b729730edaa83c8172e0efa5452ab521d29bf7/substrate/frame/recovery/src/benchmarking.rs#L269) `frame_system`'s block number, which does not move `RelaychainDataProvider`, causing `NotYetInheritable` / `NotYetCancelable`. Use `frame_system` under the benchmarking feature so the time-delay guards can be satisfied. ## Local test ```bash frame-omni-bencher v1 benchmark pallet \ --runtime ./target/production/wbuild/asset-hub-kusama-runtime/asset_hub_kusama_runtime.compact.compressed.wasm \ --pallet pallet_recovery \ --extrinsic 'finish_attempt,cancel_attempt' \ --steps 2 --repeat 1 --heap-pages 4096 --min-duration 0 2026-05-22T11:50:15.827595Z INFO frame::benchmark::pallet: Initialized runtime log filter to 'INFO' 2026-05-22T11:50:17.489920Z INFO pallet_collator_selection::pallet: assembling new collators for new session 0 at #0 2026-05-22T11:50:17.489948Z INFO pallet_collator_selection::pallet: assembling new collators for new session 1 at #0 2026-05-22T11:50:17.490002Z ERROR runtime::revive: Failed to map account d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d (5GrwvaEF...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490012Z ERROR runtime::revive: Failed to map account 8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48 (5FHneW46...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490018Z ERROR runtime::revive: Failed to map account 90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22 (5FLSigC9...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490025Z ERROR runtime::revive: Failed to map account 306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20 (5DAAnrj7...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490032Z ERROR runtime::revive: Failed to map account e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e (5HGjWAeF...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490039Z ERROR runtime::revive: Failed to map account 1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c (5CiPPseX...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490046Z ERROR runtime::revive: Failed to map account be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f (5GNJqTPy...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490054Z ERROR runtime::revive: Failed to map account fe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e (5HpG9w8E...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490060Z ERROR runtime::revive: Failed to map account 1e07379407fecc4b89eb7dbd287c2c781cfb1907a96947a3eb18e4f8e7198625 (5Ck5SLSH...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490067Z ERROR runtime::revive: Failed to map account e860f1b1c7227f7c22602f53f15af80747814dffd839719731ee3bba6edc126c (5HKPmK9G...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490074Z ERROR runtime::revive: Failed to map account 8ac59e11963af19174d0b94d5d78041c233f55d2e19324665bafdfb62925af2d (5FCfAonR...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490081Z ERROR runtime::revive: Failed to map account 101191192fc877c24d725b337120fa3edc63d227bbc92705db1e2cb65f56981a (5CRmqmsi...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:50:17.490088Z ERROR runtime::revive: Failed to map account 6d6f646c506f745374616b650000000000000000000000000000000000000000 (5EYCAe5c...): Module(ModuleError { index: 60, error: [44, 0, 0, 0], message: Some("AccountAlreadyMapped") }) 2026-05-22T11:51:44.903579Z INFO frame::benchmark::pallet: [ 0 % ] Starting benchmark: pallet_recovery::finish_attempt 2026-05-22T11:51:44.920744Z INFO frame::benchmark::pallet: [ 50 % ] Starting benchmark: pallet_recovery::cancel_attempt Pallet: "pallet_recovery", Extrinsic: "finish_attempt", Lowest values: [], Highest values: [], Steps: 2, Repeat: 1 Raw Storage Info ======== Storage: `Recovery::Attempt` (r:1 w:1) Proof: `Recovery::Attempt` (`max_values`: None, `max_size`: Some(180), added: 2655, mode: `MaxEncodedLen`) Storage: `System::Account` (r:2 w:2) Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) Storage: `Balances::Holds` (r:2 w:2) Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(373), added: 2848, mode: `MaxEncodedLen`) Storage: `Recovery::FriendGroups` (r:1 w:0) Proof: `Recovery::FriendGroups` (`max_values`: None, `max_size`: Some(3435), added: 5910, mode: `MaxEncodedLen`) Storage: `Recovery::Inheritor` (r:1 w:1) Proof: `Recovery::Inheritor` (`max_values`: None, `max_size`: Some(133), added: 2608, mode: `MaxEncodedLen`) Median Slopes Analysis ======== -- Extrinsic Time -- Model: Time ~= 138.1 µs Reads = 7 Writes = 6 Recorded proof Size = 8946 Min Squares Analysis ======== -- Extrinsic Time -- Model: Time ~= 138.1 µs Reads = 7 Writes = 6 Recorded proof Size = 8946 Pallet: "pallet_recovery", Extrinsic: "cancel_attempt", Lowest values: [], Highest values: [], Steps: 2, Repeat: 1 Raw Storage Info ======== Storage: `Recovery::Attempt` (r:1 w:1) Proof: `Recovery::Attempt` (`max_values`: None, `max_size`: Some(180), added: 2655, mode: `MaxEncodedLen`) Storage: `System::Account` (r:1 w:1) Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) Storage: `Balances::Holds` (r:1 w:1) Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(373), added: 2848, mode: `MaxEncodedLen`) Storage: `Recovery::FriendGroups` (r:1 w:0) Proof: `Recovery::FriendGroups` (`max_values`: None, `max_size`: Some(3435), added: 5910, mode: `MaxEncodedLen`) Median Slopes Analysis ======== -- Extrinsic Time -- Model: Time ~= 76.23 µs Reads = 4 Writes = 3 Recorded proof Size = 6567 Min Squares Analysis ======== -- Extrinsic Time -- Model: Time ~= 76.23 µs Reads = 4 Writes = 3 ``` ## Ref in the SDK https://github.com/paritytech/polkadot-sdk/blob/25b729730edaa83c8172e0efa5452ab521d29bf7/substrate/frame/recovery/src/lib.rs#L305-L312 **Question**: should we use frame_system also outside benchmarking? --- system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs | 7 +++++++ 1 file changed, 7 insertions(+) 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 8effc64432..d02f8362e9 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -1400,7 +1400,14 @@ parameter_types! { impl pallet_recovery::Config for Runtime { type RuntimeCall = RuntimeCall; type RuntimeHoldReason = RuntimeHoldReason; + // Benchmarks for `finish_attempt` / `cancel_attempt` advance `frame_system`'s block number, + // which does not move `RelaychainDataProvider`, causing `NotYetInheritable` / + // `NotYetCancelable`. Use `frame_system` under the benchmarking feature so the time-delay + // guards can be satisfied. + #[cfg(not(feature = "runtime-benchmarks"))] type BlockNumberProvider = RelaychainDataProvider; + #[cfg(feature = "runtime-benchmarks")] + type BlockNumberProvider = frame_system::Pallet; type Currency = Balances; type FriendGroupsConsideration = HoldConsideration< AccountId, From 506a2969e0455fa7b98649039b7f9a70fbb8a3be Mon Sep 17 00:00:00 2001 From: Christian Langenbacher Date: Fri, 22 May 2026 15:10:23 +0200 Subject: [PATCH 53/59] bump and re-enable encointer --- Cargo.lock | 1001 ++++++++++++++--- Cargo.toml | 46 +- chain-spec-generator/Cargo.toml | 10 +- chain-spec-generator/src/common.rs | 19 +- chain-spec-generator/src/main.rs | 4 +- .../src/system_parachains_specs.rs | 6 +- .../networks/kusama-system/Cargo.toml | 4 +- .../networks/kusama-system/src/lib.rs | 10 +- 8 files changed, 914 insertions(+), 186 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1892077765..5f1a6aa00b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -529,6 +529,17 @@ dependencies = [ "ark-std 0.5.0", ] +[[package]] +name = "ark-bn254" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +dependencies = [ + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + [[package]] name = "ark-bn254" version = "0.5.0" @@ -537,10 +548,30 @@ checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" dependencies = [ "ark-ec 0.5.0", "ark-ff 0.5.0", - "ark-r1cs-std", + "ark-r1cs-std 0.5.0", "ark-std 0.5.0", ] +[[package]] +name = "ark-crypto-primitives" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" +dependencies = [ + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-r1cs-std 0.4.0", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-snark", + "ark-std 0.4.0", + "blake2 0.10.6", + "derivative", + "digest 0.10.7", + "sha2 0.10.9", + "tracing", +] + [[package]] name = "ark-ec" version = "0.4.2" @@ -717,6 +748,21 @@ dependencies = [ "syn 2.0.114", ] +[[package]] +name = "ark-groth16" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" +dependencies = [ + "ark-crypto-primitives", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-poly 0.4.2", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-std 0.4.0", +] + [[package]] name = "ark-poly" version = "0.4.2" @@ -745,6 +791,23 @@ dependencies = [ "hashbrown 0.15.5", ] +[[package]] +name = "ark-r1cs-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de1d1472e5cb020cb3405ce2567c91c8d43f21b674aef37b0202f5c3304761db" +dependencies = [ + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-relations 0.4.0", + "ark-std 0.4.0", + "derivative", + "num-bigint", + "num-integer", + "num-traits", + "tracing", +] + [[package]] name = "ark-r1cs-std" version = "0.5.0" @@ -753,7 +816,7 @@ checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" dependencies = [ "ark-ec 0.5.0", "ark-ff 0.5.0", - "ark-relations", + "ark-relations 0.5.1", "ark-std 0.5.0", "educe", "num-bigint", @@ -762,6 +825,18 @@ dependencies = [ "tracing", ] +[[package]] +name = "ark-relations" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" +dependencies = [ + "ark-ff 0.4.2", + "ark-std 0.4.0", + "tracing", + "tracing-subscriber 0.2.25", +] + [[package]] name = "ark-relations" version = "0.5.1" @@ -831,6 +906,18 @@ dependencies = [ "syn 2.0.114", ] +[[package]] +name = "ark-snark" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" +dependencies = [ + "ark-ff 0.4.2", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-std 0.4.0", +] + [[package]] name = "ark-std" version = "0.3.0" @@ -3001,6 +3088,7 @@ dependencies = [ "collectives-polkadot-runtime", "coretime-kusama-runtime", "coretime-polkadot-runtime", + "encointer-kusama-runtime", "glutton-kusama-runtime", "people-kusama-runtime", "people-polkadot-runtime", @@ -5018,6 +5106,243 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "encointer-balances-tx-payment" +version = "22.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ece1787ecfd65a7fbf44660f5f4e13692828bc7c6018848281c42fd1de162a3" +dependencies = [ + "encointer-primitives", + "frame-support", + "frame-system", + "log", + "pallet-asset-tx-payment", + "pallet-encointer-balances", + "pallet-encointer-ceremonies", + "pallet-transaction-payment", + "sp-runtime 47.0.0", +] + +[[package]] +name = "encointer-balances-tx-payment-rpc-runtime-api" +version = "22.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66273b2219e3b24ae17b4fefb6d9249dde9ac8593660222406975ef9f5b2259f" +dependencies = [ + "encointer-primitives", + "frame-support", + "parity-scale-codec", + "scale-info", + "sp-api 42.0.0", + "sp-std", +] + +[[package]] +name = "encointer-ceremonies-assignment" +version = "22.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0a4b3326a311bd592b64fa65dc7dff4377e93d58697f7c8959a776d6d1a1683" +dependencies = [ + "encointer-primitives", + "sp-runtime 47.0.0", + "sp-std", +] + +[[package]] +name = "encointer-kusama-emulated-chain" +version = "1.0.0" +dependencies = [ + "cumulus-primitives-core", + "emulated-integration-tests-common", + "encointer-kusama-runtime", + "frame-support", + "integration-tests-helpers", + "kusama-emulated-chain", + "parachains-common", + "polkadot-parachain-primitives", + "sp-core 41.0.0", + "sp-keyring", + "staging-xcm", + "staging-xcm-builder", +] + +[[package]] +name = "encointer-kusama-integration-tests" +version = "1.0.0" +dependencies = [ + "asset-hub-kusama-runtime", + "asset-test-utils", + "cumulus-pallet-parachain-system", + "emulated-integration-tests-common", + "encointer-kusama-runtime", + "frame-support", + "integration-tests-helpers", + "kusama-runtime-constants", + "kusama-system-emulated-network", + "pallet-assets", + "pallet-balances", + "pallet-identity", + "pallet-message-queue", + "pallet-xcm", + "parachains-common", + "parity-scale-codec", + "polkadot-runtime-common", + "sp-runtime 47.0.0", + "sp-tracing", + "staging-kusama-runtime", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "xcm-runtime-apis", +] + +[[package]] +name = "encointer-kusama-runtime" +version = "1.0.0" +dependencies = [ + "cumulus-pallet-aura-ext", + "cumulus-pallet-parachain-system", + "cumulus-pallet-session-benchmarking", + "cumulus-pallet-weight-reclaim", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-aura", + "cumulus-primitives-core", + "cumulus-primitives-utility", + "encointer-balances-tx-payment", + "encointer-balances-tx-payment-rpc-runtime-api", + "encointer-primitives", + "frame-benchmarking", + "frame-executive", + "frame-metadata-hash-extension", + "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", + "pallet-assets", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", + "pallet-collective", + "pallet-encointer-balances", + "pallet-encointer-bazaar", + "pallet-encointer-bazaar-rpc-runtime-api", + "pallet-encointer-ceremonies", + "pallet-encointer-ceremonies-rpc-runtime-api", + "pallet-encointer-communities", + "pallet-encointer-communities-rpc-runtime-api", + "pallet-encointer-democracy", + "pallet-encointer-faucet", + "pallet-encointer-offline-payment", + "pallet-encointer-reputation-commitments", + "pallet-encointer-reputation-rings", + "pallet-encointer-scheduler", + "pallet-encointer-treasuries", + "pallet-encointer-treasuries-rpc-runtime-api", + "pallet-insecure-randomness-collective-flip", + "pallet-membership", + "pallet-message-queue", + "pallet-proxy", + "pallet-scheduler", + "pallet-session", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-utility", + "pallet-xcm", + "pallet-xcm-benchmarks", + "parachains-common", + "parachains-runtimes-test-utils", + "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-primitives", + "polkadot-runtime-common", + "scale-info", + "serde_json", + "smallvec", + "sp-api 42.0.0", + "sp-block-builder", + "sp-consensus-aura", + "sp-core 41.0.0", + "sp-genesis-builder 0.23.0", + "sp-inherents 42.0.0", + "sp-io 46.0.0", + "sp-offchain", + "sp-runtime 47.0.0", + "sp-session", + "sp-tracing", + "sp-transaction-pool", + "sp-version 45.0.0", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", + "system-parachains-common", + "system-parachains-constants", + "xcm-runtime-apis", +] + +[[package]] +name = "encointer-meetup-validation" +version = "22.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "142b82b2a9fdbdac04260f7ecf36e0f321d3701202b45ba3b8077fc9e1a2efad" +dependencies = [ + "encointer-primitives", + "parity-scale-codec", + "scale-info", + "serde", + "sp-runtime 47.0.0", + "sp-std", +] + +[[package]] +name = "encointer-offline-payment-core" +version = "22.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1879ec5777241500e3234de58a37a40d26564d5839e3db3fe2f1ad959bfe5949" +dependencies = [ + "ark-bn254 0.4.0", + "ark-crypto-primitives", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-groth16", + "ark-r1cs-std 0.4.0", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-snark", + "ark-std 0.4.0", +] + +[[package]] +name = "encointer-primitives" +version = "22.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6595459a092bcda47d6026a14f81b622b9323dece75657f0fd7720291a0320" +dependencies = [ + "bs58", + "crc", + "ep-core", + "frame-support", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-std", + "substrate-geohash", +] + [[package]] name = "enum-as-inner" version = "0.6.1" @@ -5108,12 +5433,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] -name = "equivalent" -version = "1.0.2" +name = "ep-core" +version = "22.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] +checksum = "a07e2b3df54235927fa0cc5f33a921c3e62e85ffbae56168aa8b84c1b1680242" +dependencies = [ + "array-bytes 6.2.3", + "impl-serde", + "parity-scale-codec", + "scale-info", + "serde", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-runtime 47.0.0", + "sp-std", + "substrate-fixed", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] name = "erased-serde" version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -7506,6 +7849,7 @@ dependencies = [ "bridge-hub-kusama-emulated-chain", "coretime-kusama-emulated-chain", "emulated-integration-tests-common", + "encointer-kusama-emulated-chain", "kusama-emulated-chain", "penpal-emulated-chain", "people-kusama-emulated-chain", @@ -9474,308 +9818,610 @@ dependencies = [ name = "pallet-bounties" version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643916c92f3760ed66face67e872aa2ae450ca0bb1856e5ffd9645c460ecf8b8" +checksum = "643916c92f3760ed66face67e872aa2ae450ca0bb1856e5ffd9645c460ecf8b8" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-treasury", + "parity-scale-codec", + "scale-info", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-bridge-grandpa" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b515a3264ea79a70d67d538cf7383870e240f27f1b809fad453b4071996984cc" +dependencies = [ + "bp-header-chain", + "bp-runtime", + "bp-test-utils", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-consensus-grandpa", + "sp-runtime 47.0.0", + "sp-std", + "tracing", +] + +[[package]] +name = "pallet-bridge-messages" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "218433924fddf9d1a94d848f1d5f11dd2d51274719bcb4b468fd26ef364eb83b" +dependencies = [ + "bp-header-chain", + "bp-messages", + "bp-runtime", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-runtime 47.0.0", + "sp-std", + "sp-trie 44.0.0", + "tracing", +] + +[[package]] +name = "pallet-bridge-parachains" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcae0cb477225a03517afa62fb6af0d3b1fe454d25314fb602eaf61dba731519" +dependencies = [ + "bp-header-chain", + "bp-parachains", + "bp-polkadot-core", + "bp-runtime", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-bridge-grandpa", + "parity-scale-codec", + "scale-info", + "sp-runtime 47.0.0", + "sp-std", + "tracing", +] + +[[package]] +name = "pallet-bridge-relayers" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a82b341f2f6e883cc1cf51282698c7554becf46d4c25413eda997b24b0a20041" +dependencies = [ + "bp-header-chain", + "bp-messages", + "bp-relayers", + "bp-runtime", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-bridge-grandpa", + "pallet-bridge-messages", + "pallet-bridge-parachains", + "pallet-transaction-payment", + "parity-scale-codec", + "scale-info", + "sp-arithmetic", + "sp-runtime 47.0.0", + "tracing", +] + +[[package]] +name = "pallet-broker" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9618c786871aa77af41927d6ee6cb0829aaed0e5f4e42e26b83046bab08ce15" +dependencies = [ + "bitvec", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-api 42.0.0", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-child-bounties" +version = "47.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdcf339e677a103c244ee38ca4bf89e5ad93a40896ff2126418218539a5e3156" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-bounties", + "pallet-treasury", + "parity-scale-codec", + "scale-info", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-collator-selection" +version = "29.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d16087568d6d7b14d5218f81961104d364c310b5be2dc9fd44673e8bba7c7a63" +dependencies = [ + "cumulus-pallet-session-benchmarking", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-balances", + "pallet-session", + "parity-scale-codec", + "rand 0.8.5", + "scale-info", + "sp-runtime 47.0.0", + "sp-staking", +] + +[[package]] +name = "pallet-collective" +version = "48.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "002fc65aee1338de242813679587c1601e4ed17e9d6e7958c711a411d37bb625" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-conviction-voting" +version = "48.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f077a0cb2995747d43181d3208a3a102f5e202ffb563e4f95b5c51704c9b1b36" +dependencies = [ + "assert_matches", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "serde", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-core-fellowship" +version = "32.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e20192ad1e81be92b743d02ab0e929acea73771fec698b6bfe14785eefc58c57" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-ranked-collective", + "parity-scale-codec", + "scale-info", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + +[[package]] +name = "pallet-dap" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34a7105876930a81599187f29beb56790622f54255b82713a53f8e535e4f01ca" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-dap", + "sp-runtime 47.0.0", + "sp-staking", +] + +[[package]] +name = "pallet-delegated-staking" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bdc01a02483b132c5cf8e36d2b63c569a25611597f029eb3880f625df2ab224" +dependencies = [ + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-io 46.0.0", + "sp-runtime 47.0.0", + "sp-staking", +] + +[[package]] +name = "pallet-election-provider-multi-block" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84769710c4ea5bd2d864932680c73728799ce1f38dfe2d7372be36a521f27f09" +dependencies = [ + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "rand 0.8.5", + "scale-info", + "sp-arithmetic", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-npos-elections", + "sp-runtime 47.0.0", + "sp-std", +] + +[[package]] +name = "pallet-election-provider-multi-phase" +version = "47.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1a3506794df6805450cb787db4203a442a17f0c50ccb9597a9146c675fea26a" dependencies = [ "frame-benchmarking", + "frame-election-provider-support", "frame-support", "frame-system", "log", - "pallet-treasury", "parity-scale-codec", + "rand 0.8.5", "scale-info", + "sp-arithmetic", "sp-core 41.0.0", "sp-io 46.0.0", + "sp-npos-elections", "sp-runtime 47.0.0", + "strum 0.26.3", ] [[package]] -name = "pallet-bridge-grandpa" -version = "0.28.0" +name = "pallet-election-provider-support-benchmarking" +version = "47.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b515a3264ea79a70d67d538cf7383870e240f27f1b809fad453b4071996984cc" +checksum = "a31e7819dd30f7faa2a35ef1b9a2fadba30cad5f67b123496f27028499c5b76f" dependencies = [ - "bp-header-chain", - "bp-runtime", - "bp-test-utils", "frame-benchmarking", - "frame-support", + "frame-election-provider-support", "frame-system", "parity-scale-codec", - "scale-info", - "sp-consensus-grandpa", + "sp-npos-elections", "sp-runtime 47.0.0", - "sp-std", - "tracing", ] [[package]] -name = "pallet-bridge-messages" -version = "0.28.0" +name = "pallet-encointer-balances" +version = "22.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "218433924fddf9d1a94d848f1d5f11dd2d51274719bcb4b468fd26ef364eb83b" +checksum = "87c5d823db8ba599a58780b5dcfaa2689378a43f8b83abea32a7432252483b8a" dependencies = [ - "bp-header-chain", - "bp-messages", - "bp-runtime", + "approx", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", + "log", + "pallet-asset-tx-payment", + "pallet-transaction-payment", "parity-scale-codec", "scale-info", "sp-runtime 47.0.0", "sp-std", - "sp-trie 44.0.0", - "tracing", ] [[package]] -name = "pallet-bridge-parachains" -version = "0.28.0" +name = "pallet-encointer-bazaar" +version = "22.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcae0cb477225a03517afa62fb6af0d3b1fe454d25314fb602eaf61dba731519" +checksum = "dcea066fd3f6c3caa96640714cc26c748a9fab732708c077e2efc3ad4bd4c8e3" dependencies = [ - "bp-header-chain", - "bp-parachains", - "bp-polkadot-core", - "bp-runtime", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", - "pallet-bridge-grandpa", + "log", + "pallet-encointer-communities", "parity-scale-codec", "scale-info", - "sp-runtime 47.0.0", + "sp-core 41.0.0", "sp-std", - "tracing", ] [[package]] -name = "pallet-bridge-relayers" -version = "0.28.0" +name = "pallet-encointer-bazaar-rpc-runtime-api" +version = "22.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82b341f2f6e883cc1cf51282698c7554becf46d4c25413eda997b24b0a20041" +checksum = "ac0a7222762c916d97172b2d1a95befcbf8084c364820c42d13d776231d90ce0" dependencies = [ - "bp-header-chain", - "bp-messages", - "bp-relayers", - "bp-runtime", - "frame-benchmarking", + "encointer-primitives", "frame-support", - "frame-system", - "pallet-bridge-grandpa", - "pallet-bridge-messages", - "pallet-bridge-parachains", - "pallet-transaction-payment", "parity-scale-codec", - "scale-info", - "sp-arithmetic", - "sp-runtime 47.0.0", - "tracing", + "sp-api 42.0.0", + "sp-std", ] [[package]] -name = "pallet-broker" -version = "0.27.0" +name = "pallet-encointer-ceremonies" +version = "22.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9618c786871aa77af41927d6ee6cb0829aaed0e5f4e42e26b83046bab08ce15" +checksum = "2c53a98580b71046732fab989b7881ae43bd45b44dd2af3b40d0ae2211796100" dependencies = [ - "bitvec", + "encointer-ceremonies-assignment", + "encointer-meetup-validation", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", "log", + "pallet-encointer-balances", + "pallet-encointer-communities", + "pallet-encointer-scheduler", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-api 42.0.0", - "sp-arithmetic", + "sp-application-crypto 46.0.0", "sp-core 41.0.0", + "sp-io 46.0.0", "sp-runtime 47.0.0", + "sp-std", ] [[package]] -name = "pallet-child-bounties" -version = "47.0.0" +name = "pallet-encointer-ceremonies-rpc-runtime-api" +version = "22.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdcf339e677a103c244ee38ca4bf89e5ad93a40896ff2126418218539a5e3156" +checksum = "4c92bcdd1c2f3997e5a297846f8c05ce4ca81f20f8a52a52b06a9705113dbb09" dependencies = [ - "frame-benchmarking", + "encointer-primitives", "frame-support", - "frame-system", - "log", - "pallet-bounties", - "pallet-treasury", "parity-scale-codec", - "scale-info", - "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-runtime 47.0.0", + "sp-api 42.0.0", + "sp-std", ] [[package]] -name = "pallet-collator-selection" -version = "29.0.0" +name = "pallet-encointer-communities" +version = "22.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16087568d6d7b14d5218f81961104d364c310b5be2dc9fd44673e8bba7c7a63" +checksum = "a93538114a7d14b08e93e119e47a7f8c3ed7cd5f6419180ed70636b591c94820" dependencies = [ - "cumulus-pallet-session-benchmarking", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-authorship", - "pallet-balances", - "pallet-session", + "pallet-encointer-balances", + "pallet-encointer-scheduler", "parity-scale-codec", - "rand 0.8.5", "scale-info", + "sp-io 46.0.0", "sp-runtime 47.0.0", - "sp-staking", + "sp-std", ] [[package]] -name = "pallet-collective" -version = "48.0.0" +name = "pallet-encointer-communities-rpc-runtime-api" +version = "22.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "002fc65aee1338de242813679587c1601e4ed17e9d6e7958c711a411d37bb625" +checksum = "4bfcb924d9d8a3b22c81d30ef62a2cfab52127370c1520ae0777a369548ada4b" dependencies = [ - "docify", + "encointer-primitives", + "parity-scale-codec", + "sp-api 42.0.0", + "sp-std", +] + +[[package]] +name = "pallet-encointer-democracy" +version = "22.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bdfb995d5f31524371aca6af6e95d0375bae66f08c5c29a1a0465faf686f14c" +dependencies = [ + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", "log", + "pallet-encointer-ceremonies", + "pallet-encointer-communities", + "pallet-encointer-reputation-commitments", + "pallet-encointer-scheduler", + "pallet-encointer-treasuries", + "pallet-timestamp", "parity-scale-codec", "scale-info", + "sp-application-crypto 46.0.0", "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", + "sp-std", ] [[package]] -name = "pallet-conviction-voting" -version = "48.0.0" +name = "pallet-encointer-faucet" +version = "22.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077a0cb2995747d43181d3208a3a102f5e202ffb563e4f95b5c51704c9b1b36" +checksum = "8bf615ed08d83d5c483926fc121976ec32f51e91be629842f927b19d68e329fc" dependencies = [ - "assert_matches", + "approx", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", + "log", + "pallet-encointer-communities", + "pallet-encointer-reputation-commitments", "parity-scale-codec", "scale-info", - "serde", - "sp-io 46.0.0", + "sp-core 41.0.0", "sp-runtime 47.0.0", + "sp-std", ] [[package]] -name = "pallet-core-fellowship" -version = "32.0.0" +name = "pallet-encointer-offline-payment" +version = "22.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e20192ad1e81be92b743d02ab0e929acea73771fec698b6bfe14785eefc58c57" +checksum = "cf47e3a16c47a9fa3d9fb7f2eec52dd5c5bac96bc22ef4d57dd0958d7b415477" dependencies = [ + "ark-bn254 0.4.0", + "ark-crypto-primitives", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-groth16", + "ark-r1cs-std 0.4.0", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-snark", + "ark-std 0.4.0", + "encointer-offline-payment-core", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-ranked-collective", + "pallet-encointer-balances", + "pallet-encointer-communities", "parity-scale-codec", "scale-info", - "sp-arithmetic", "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", + "sp-std", ] [[package]] -name = "pallet-dap" -version = "0.5.0" +name = "pallet-encointer-reputation-commitments" +version = "22.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34a7105876930a81599187f29beb56790622f54255b82713a53f8e535e4f01ca" +checksum = "c0d0d6159c0c35a9e0b2ae3c755112b64dd06413a59225f73a78a8967a615894" dependencies = [ + "approx", + "encointer-primitives", "frame-benchmarking", "frame-support", "frame-system", "log", + "pallet-encointer-ceremonies", + "pallet-encointer-communities", + "pallet-encointer-scheduler", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-dap", + "sp-core 41.0.0", "sp-runtime 47.0.0", - "sp-staking", + "sp-std", ] [[package]] -name = "pallet-delegated-staking" -version = "14.0.0" +name = "pallet-encointer-reputation-rings" +version = "22.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bdc01a02483b132c5cf8e36d2b63c569a25611597f029eb3880f625df2ab224" +checksum = "45418ea7213a2a55fda52d55c61fab14418590703937494f1069fc4676a0b544" dependencies = [ + "encointer-primitives", + "frame-benchmarking", "frame-support", "frame-system", "log", + "pallet-encointer-ceremonies", + "pallet-encointer-communities", + "pallet-encointer-scheduler", "parity-scale-codec", "scale-info", + "sp-core 41.0.0", "sp-io 46.0.0", "sp-runtime 47.0.0", - "sp-staking", + "sp-std", ] [[package]] -name = "pallet-election-provider-multi-block" -version = "0.10.0" +name = "pallet-encointer-scheduler" +version = "22.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84769710c4ea5bd2d864932680c73728799ce1f38dfe2d7372be36a521f27f09" +checksum = "1d048a560d392e6026b471e5df956f052db879345da1613f8524b4125fefa9d3" dependencies = [ + "encointer-primitives", "frame-benchmarking", - "frame-election-provider-support", "frame-support", "frame-system", + "impl-trait-for-tuples", "log", + "pallet-timestamp", "parity-scale-codec", - "rand 0.8.5", "scale-info", - "sp-arithmetic", - "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-npos-elections", "sp-runtime 47.0.0", "sp-std", ] [[package]] -name = "pallet-election-provider-multi-phase" -version = "47.0.0" +name = "pallet-encointer-treasuries" +version = "22.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1a3506794df6805450cb787db4203a442a17f0c50ccb9597a9146c675fea26a" +checksum = "00beabe09681eeed2b7ee20a950efcc0e5d3276a3cc1df7b712f5bc38121a9ef" dependencies = [ + "approx", + "encointer-primitives", "frame-benchmarking", - "frame-election-provider-support", "frame-support", "frame-system", "log", + "pallet-encointer-balances", + "pallet-encointer-communities", + "pallet-encointer-reputation-commitments", + "pallet-timestamp", "parity-scale-codec", - "rand 0.8.5", "scale-info", - "sp-arithmetic", "sp-core 41.0.0", - "sp-io 46.0.0", - "sp-npos-elections", "sp-runtime 47.0.0", - "strum 0.26.3", + "sp-std", ] [[package]] -name = "pallet-election-provider-support-benchmarking" -version = "47.0.0" +name = "pallet-encointer-treasuries-rpc-runtime-api" +version = "22.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31e7819dd30f7faa2a35ef1b9a2fadba30cad5f67b123496f27028499c5b76f" +checksum = "de6e2b83142bb79e54228e7baa71a87c976cf644705d4893b668cb5ee10267d9" dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-system", + "encointer-primitives", + "frame-support", "parity-scale-codec", - "sp-npos-elections", - "sp-runtime 47.0.0", + "scale-info", + "sp-api 42.0.0", + "sp-std", ] [[package]] @@ -9892,6 +10538,35 @@ dependencies = [ "sp-runtime 47.0.0", ] +[[package]] +name = "pallet-insecure-randomness-collective-flip" +version = "36.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30f15e853dad976a51c39aa7ce2d8ffacd9ed1e9715775530a9c909671c10a8c" +dependencies = [ + "parity-scale-codec", + "polkadot-sdk-frame", + "safe-mix", + "scale-info", +] + +[[package]] +name = "pallet-membership" +version = "48.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f106e900e384e1b99af2c5df212a79cdcaeab73670140aa5965ba1687dc385" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-core 41.0.0", + "sp-io 46.0.0", + "sp-runtime 47.0.0", +] + [[package]] name = "pallet-message-queue" version = "51.0.0" @@ -13264,7 +13939,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cee3f336b83621294b4cfe84d817e3eef6f3d0fce00951973364cc7f860424d" dependencies = [ "ark-bls12-381 0.5.0", - "ark-bn254", + "ark-bn254 0.5.0", "ark-ec 0.5.0", "ark-ff 0.5.0", "ark-serialize 0.5.0", @@ -13480,6 +14155,15 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + [[package]] name = "rustc_version" version = "0.3.3" @@ -13679,6 +14363,15 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" +[[package]] +name = "safe-mix" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" +dependencies = [ + "rustc_version 0.2.3", +] + [[package]] name = "safe_arch" version = "0.7.4" @@ -14896,6 +15589,15 @@ dependencies = [ "semver-parser 0.7.0", ] +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser 0.7.0", +] + [[package]] name = "semver" version = "0.11.0" @@ -17514,6 +18216,29 @@ dependencies = [ "rustc-hex", ] +[[package]] +name = "substrate-fixed" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a58670b92bb23e63b32b32167ff4edf8a34a2d53a2bdfcd60a6d8ead57bd563" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "substrate-typenum", +] + +[[package]] +name = "substrate-geohash" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c822853591796a4f735f88ad603d32062090374d3c1c8118c62c28d6f85a683" +dependencies = [ + "parity-scale-codec", + "scale-info", + "substrate-fixed", +] + [[package]] name = "substrate-prometheus-endpoint" version = "0.17.7" @@ -17543,6 +18268,16 @@ dependencies = [ "sp-runtime 47.0.0", ] +[[package]] +name = "substrate-typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cd64d3efe988228b8496698197ee60cfbfcedbf226961300e559870c1a3e8e0" +dependencies = [ + "parity-scale-codec", + "scale-info", +] + [[package]] name = "substrate-wasm-builder" version = "33.0.0" diff --git a/Cargo.toml b/Cargo.toml index c10499c688..2e9221ab28 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -67,11 +67,11 @@ cumulus-primitives-aura = { version = "0.23.0", default-features = false } cumulus-primitives-core = { version = "0.25.0", default-features = false } cumulus-primitives-utility = { version = "0.28.0", default-features = false } emulated-integration-tests-common = { version = "32.0.0" } -# TODO @ggwpez encointer-balances-tx-payment = { version = "~22.2.0", default-features = false } -# TODO @ggwpez encointer-balances-tx-payment-rpc-runtime-api = { version = "~22.2.0", default-features = false } -# TODO @ggwpez encointer-kusama-runtime = { path = "system-parachains/encointer" } -# TODO @ggwpez encointer-kusama-emulated-chain = { path = "integration-tests/emulated/chains/parachains/encointer/encointer-kusama" } -# TODO @ggwpez encointer-primitives = { version = "~22.6.0", default-features = false } +encointer-balances-tx-payment = { version = "~22.3.0", default-features = false } +encointer-balances-tx-payment-rpc-runtime-api = { version = "~22.3.0", default-features = false } +encointer-kusama-runtime = { path = "system-parachains/encointer" } +encointer-kusama-emulated-chain = { path = "integration-tests/emulated/chains/parachains/encointer/encointer-kusama" } +encointer-primitives = { version = "~22.7.0", default-features = false } enumflags2 = { version = "0.7.7" } frame-benchmarking = { version = "48.0.0", default-features = false } frame-election-provider-support = { version = "47.0.0", default-features = false } @@ -123,21 +123,21 @@ pallet-dap = { version = "0.5.0", default-features = false } pallet-core-fellowship = { version = "32.0.0", default-features = false } pallet-election-provider-multi-phase = { version = "47.0.0", default-features = false } pallet-election-provider-support-benchmarking = { version = "47.0.0", default-features = false } -# TODO @ggwpez pallet-encointer-balances = { version = "~22.3.0", default-features = false } -# TODO @ggwpez pallet-encointer-bazaar = { version = "~22.2.0", default-features = false } -# TODO @ggwpez pallet-encointer-bazaar-rpc-runtime-api = { version = "~22.2.0", default-features = false } -# TODO @ggwpez pallet-encointer-ceremonies = { version = "~22.2.0", default-features = false } -# TODO @ggwpez pallet-encointer-ceremonies-rpc-runtime-api = { version = "~22.2.0", default-features = false } -# TODO @ggwpez pallet-encointer-communities = { version = "~22.2.0", default-features = false } -# TODO @ggwpez pallet-encointer-communities-rpc-runtime-api = { version = "~22.2.0", default-features = false } -# TODO @ggwpez pallet-encointer-democracy = { version = "~22.8.0", default-features = false } -# TODO @ggwpez pallet-encointer-faucet = { version = "~22.3.0", default-features = false } -# TODO @ggwpez pallet-encointer-offline-payment = { version = "~22.1.0", default-features = false } -# TODO @ggwpez pallet-encointer-reputation-commitments = { version = "~22.2.0", default-features = false } -# TODO @ggwpez pallet-encointer-reputation-rings = { version = "~22.1.0", default-features = false } -# TODO @ggwpez pallet-encointer-scheduler = { version = "~22.2.0", default-features = false } -# TODO @ggwpez pallet-encointer-treasuries = { version = "~22.8.0", default-features = false } -# TODO @ggwpez pallet-encointer-treasuries-rpc-runtime-api = { version = "~22.4.0", default-features = false } +pallet-encointer-balances = { version = "~22.4.0", default-features = false } +pallet-encointer-bazaar = { version = "~22.3.0", default-features = false } +pallet-encointer-bazaar-rpc-runtime-api = { version = "~22.3.0", default-features = false } +pallet-encointer-ceremonies = { version = "~22.3.0", default-features = false } +pallet-encointer-ceremonies-rpc-runtime-api = { version = "~22.3.0", default-features = false } +pallet-encointer-communities = { version = "~22.3.0", default-features = false } +pallet-encointer-communities-rpc-runtime-api = { version = "~22.3.0", default-features = false } +pallet-encointer-democracy = { version = "~22.9.0", default-features = false } +pallet-encointer-faucet = { version = "~22.4.0", default-features = false } +pallet-encointer-offline-payment = { version = "~22.2.0", default-features = false } +pallet-encointer-reputation-commitments = { version = "~22.3.0", default-features = false } +pallet-encointer-reputation-rings = { version = "~22.2.0", default-features = false } +pallet-encointer-scheduler = { version = "~22.3.0", default-features = false } +pallet-encointer-treasuries = { version = "~22.9.0", default-features = false } +pallet-encointer-treasuries-rpc-runtime-api = { version = "~22.5.0", default-features = false } pallet-fast-unstake = { version = "47.0.0", default-features = false } pallet-glutton = { version = "34.0.0", default-features = false } pallet-grandpa = { version = "48.0.0", default-features = false } @@ -303,7 +303,7 @@ members = [ "integration-tests/emulated/chains/parachains/collectives/collectives-polkadot", "integration-tests/emulated/chains/parachains/coretime/coretime-kusama", "integration-tests/emulated/chains/parachains/coretime/coretime-polkadot", - # TODO @ggwpez "integration-tests/emulated/chains/parachains/encointer/encointer-kusama", + "integration-tests/emulated/chains/parachains/encointer/encointer-kusama", "integration-tests/emulated/chains/parachains/people/people-kusama", "integration-tests/emulated/chains/parachains/people/people-polkadot", "integration-tests/emulated/chains/parachains/testing/penpal", @@ -321,7 +321,7 @@ members = [ "integration-tests/emulated/tests/collectives/collectives-polkadot", "integration-tests/emulated/tests/coretime/coretime-kusama", "integration-tests/emulated/tests/coretime/coretime-polkadot", - # TODO @ggwpez "integration-tests/emulated/tests/encointer/encointer-kusama", + "integration-tests/emulated/tests/encointer/encointer-kusama", "integration-tests/emulated/tests/governance/kusama", "integration-tests/emulated/tests/governance/polkadot", "integration-tests/emulated/tests/people/people-kusama", @@ -350,7 +350,7 @@ members = [ "system-parachains/constants", "system-parachains/coretime/coretime-kusama", "system-parachains/coretime/coretime-polkadot", - # TODO @ggwpez "system-parachains/encointer", + "system-parachains/encointer", "system-parachains/gluttons/glutton-kusama", "system-parachains/people/people-kusama", "system-parachains/people/people-polkadot", diff --git a/chain-spec-generator/Cargo.toml b/chain-spec-generator/Cargo.toml index d4b773c1ab..9aed552e44 100644 --- a/chain-spec-generator/Cargo.toml +++ b/chain-spec-generator/Cargo.toml @@ -23,7 +23,7 @@ bulletin-polkadot-runtime = { workspace = true, optional = true } collectives-polkadot-runtime = { workspace = true, optional = true } bridge-hub-polkadot-runtime = { workspace = true, optional = true } bridge-hub-kusama-runtime = { workspace = true, optional = true } -# TODO @ggwpez encointer-kusama-runtime = { workspace = true, optional = true } +encointer-kusama-runtime = { workspace = true, optional = true } glutton-kusama-runtime = { workspace = true, optional = true } coretime-kusama-runtime = { workspace = true, optional = true } coretime-polkadot-runtime = { workspace = true, optional = true } @@ -42,7 +42,7 @@ runtime-benchmarks = [ "collectives-polkadot-runtime?/runtime-benchmarks", "coretime-kusama-runtime?/runtime-benchmarks", "coretime-polkadot-runtime?/runtime-benchmarks", - # TODO @ggwpez "encointer-kusama-runtime?/runtime-benchmarks", + "encointer-kusama-runtime?/runtime-benchmarks", "glutton-kusama-runtime?/runtime-benchmarks", "kusama-runtime?/runtime-benchmarks", "people-kusama-runtime?/runtime-benchmarks", @@ -59,7 +59,7 @@ on-chain-release-build = [ "collectives-polkadot-runtime?/on-chain-release-build", "coretime-kusama-runtime?/on-chain-release-build", "coretime-polkadot-runtime?/on-chain-release-build", - # TODO @ggwpez "encointer-kusama-runtime?/on-chain-release-build", + "encointer-kusama-runtime?/on-chain-release-build", "glutton-kusama-runtime?/on-chain-release-build", "kusama-runtime?/on-chain-release-build", "people-kusama-runtime?/on-chain-release-build", @@ -78,7 +78,7 @@ collectives-polkadot = ["collectives-polkadot-runtime"] bridge-hub-polkadot = ["bridge-hub-polkadot-runtime"] bridge-hub-kusama = ["bridge-hub-kusama-runtime"] bulletin-polkadot = ["bulletin-polkadot-runtime"] -# TODO @ggwpez encointer-kusama = ["encointer-kusama-runtime"] +encointer-kusama = ["encointer-kusama-runtime"] glutton-kusama = ["glutton-kusama-runtime"] coretime-kusama = ["coretime-kusama-runtime"] coretime-polkadot = ["coretime-polkadot-runtime"] @@ -98,7 +98,7 @@ all-kusama = [ "asset-hub-kusama", "bridge-hub-kusama", "coretime-kusama", - # TODO @ggwpez "encointer-kusama", + "encointer-kusama", "glutton-kusama", "kusama", "people-kusama", diff --git a/chain-spec-generator/src/common.rs b/chain-spec-generator/src/common.rs index 6ab96e3f15..ccd75bf2e3 100644 --- a/chain-spec-generator/src/common.rs +++ b/chain-spec-generator/src/common.rs @@ -18,17 +18,10 @@ use crate::{ relay_chain_specs::{KusamaChainSpec, PolkadotChainSpec}, system_parachains_specs::{ - AssetHubKusamaChainSpec, - AssetHubPolkadotChainSpec, - BridgeHubKusamaChainSpec, - BridgeHubPolkadotChainSpec, - CollectivesPolkadotChainSpec, - CoretimeKusamaChainSpec, - CoretimePolkadotChainSpec, - GluttonKusamaChainSpec, - // TODO @ggwpez EncointerKusamaChainSpec, - PeopleKusamaChainSpec, - PeoplePolkadotChainSpec, + AssetHubKusamaChainSpec, AssetHubPolkadotChainSpec, BridgeHubKusamaChainSpec, + BridgeHubPolkadotChainSpec, CollectivesPolkadotChainSpec, CoretimeKusamaChainSpec, + CoretimePolkadotChainSpec, EncointerKusamaChainSpec, GluttonKusamaChainSpec, + PeopleKusamaChainSpec, PeoplePolkadotChainSpec, }, ChainSpec, }; @@ -65,8 +58,8 @@ pub fn from_json_file(filepath: &str, supported: String) -> Result Ok(Box::new(GluttonKusamaChainSpec::from_json_file(path)?)), - /* TODO @ggwpez x if x.starts_with("encointer-kusama") => - Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), */ + x if x.starts_with("encointer-kusama") => + Ok(Box::new(EncointerKusamaChainSpec::from_json_file(path)?)), x if x.starts_with("people-kusama") => Ok(Box::new(PeopleKusamaChainSpec::from_json_file(path)?)), x if x.starts_with("people-polkadot") => diff --git a/chain-spec-generator/src/main.rs b/chain-spec-generator/src/main.rs index 7b91bb76da..e2dd3aee7d 100644 --- a/chain-spec-generator/src/main.rs +++ b/chain-spec-generator/src/main.rs @@ -82,11 +82,11 @@ fn main() -> Result<(), String> { "glutton-kusama-local", Box::new(system_parachains_specs::glutton_kusama_local_testnet_config) as Box<_>, ), - /* TODO @ggwpez #[cfg(feature = "encointer-kusama")] + #[cfg(feature = "encointer-kusama")] ( "encointer-kusama-local", Box::new(system_parachains_specs::encointer_kusama_local_testnet_config) as Box<_>, - ), */ + ), #[cfg(feature = "coretime-kusama")] ( "coretime-kusama", diff --git a/chain-spec-generator/src/system_parachains_specs.rs b/chain-spec-generator/src/system_parachains_specs.rs index 3f7b8ac88a..d9ca1dd9ee 100644 --- a/chain-spec-generator/src/system_parachains_specs.rs +++ b/chain-spec-generator/src/system_parachains_specs.rs @@ -40,7 +40,7 @@ pub type BridgeHubKusamaChainSpec = sc_chain_spec::GenericChainSpec; pub type GluttonKusamaChainSpec = sc_chain_spec::GenericChainSpec; -// TODO @ggwpez pub type EncointerKusamaChainSpec = sc_chain_spec::GenericChainSpec; +pub type EncointerKusamaChainSpec = sc_chain_spec::GenericChainSpec; pub type CoretimeKusamaChainSpec = sc_chain_spec::GenericChainSpec; @@ -183,7 +183,7 @@ pub fn glutton_kusama_local_testnet_config() -> Result Result, String> { let mut properties = sc_chain_spec::Properties::new(); @@ -203,7 +203,7 @@ pub fn encointer_kusama_local_testnet_config() -> Result Result, String> { diff --git a/integration-tests/emulated/networks/kusama-system/Cargo.toml b/integration-tests/emulated/networks/kusama-system/Cargo.toml index ed3f73ef6a..fc91409e4a 100644 --- a/integration-tests/emulated/networks/kusama-system/Cargo.toml +++ b/integration-tests/emulated/networks/kusama-system/Cargo.toml @@ -15,7 +15,7 @@ emulated-integration-tests-common = { workspace = true } # Runtimes asset-hub-kusama-emulated-chain = { workspace = true } bridge-hub-kusama-emulated-chain = { workspace = true } -# TODO @ggwpez encointer-kusama-emulated-chain = { workspace = true } +encointer-kusama-emulated-chain = { workspace = true } kusama-emulated-chain = { workspace = true } penpal-emulated-chain = { workspace = true } people-kusama-emulated-chain = { workspace = true } @@ -26,7 +26,7 @@ runtime-benchmarks = [ "asset-hub-kusama-emulated-chain/runtime-benchmarks", "bridge-hub-kusama-emulated-chain/runtime-benchmarks", "coretime-kusama-emulated-chain/runtime-benchmarks", - # TODO @ggwpez "encointer-kusama-emulated-chain/runtime-benchmarks", + "encointer-kusama-emulated-chain/runtime-benchmarks", "kusama-emulated-chain/runtime-benchmarks", "penpal-emulated-chain/runtime-benchmarks", "people-kusama-emulated-chain/runtime-benchmarks", diff --git a/integration-tests/emulated/networks/kusama-system/src/lib.rs b/integration-tests/emulated/networks/kusama-system/src/lib.rs index d374987e51..abec950ac6 100644 --- a/integration-tests/emulated/networks/kusama-system/src/lib.rs +++ b/integration-tests/emulated/networks/kusama-system/src/lib.rs @@ -16,7 +16,7 @@ pub use asset_hub_kusama_emulated_chain; pub use bridge_hub_kusama_emulated_chain; pub use coretime_kusama_emulated_chain; -// TODO @ggwpez pub use encointer_kusama_emulated_chain; +pub use encointer_kusama_emulated_chain; pub use kusama_emulated_chain; pub use penpal_emulated_chain; pub use people_kusama_emulated_chain; @@ -24,7 +24,7 @@ pub use people_kusama_emulated_chain; use asset_hub_kusama_emulated_chain::AssetHubKusama; use bridge_hub_kusama_emulated_chain::BridgeHubKusama; use coretime_kusama_emulated_chain::CoretimeKusama; -// TODO @ggwpez use encointer_kusama_emulated_chain::EncointerKusama; +use encointer_kusama_emulated_chain::EncointerKusama; use kusama_emulated_chain::Kusama; use penpal_emulated_chain::{PenpalA, PenpalB}; use people_kusama_emulated_chain::PeopleKusama; @@ -45,7 +45,7 @@ decl_test_networks! { PenpalB, PeopleKusama, CoretimeKusama, - // TODO @ggwpez EncointerKusama, + EncointerKusama, ], bridge = () }, @@ -58,6 +58,6 @@ decl_test_sender_receiver_accounts_parameter_types! { PenpalAPara { sender: ALICE, receiver: BOB }, PenpalBPara { sender: ALICE, receiver: BOB }, PeopleKusamaPara { sender: ALICE, receiver: BOB }, - CoretimeKusamaPara { sender: ALICE, receiver: BOB } - // TODO @ggwpez EncointerKusamaPara { sender: ALICE, receiver: BOB } + CoretimeKusamaPara { sender: ALICE, receiver: BOB }, + EncointerKusamaPara { sender: ALICE, receiver: BOB } } From 5296c47d8b1090efcb4de8542b79c4c2027ea532 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 22 May 2026 16:12:45 +0300 Subject: [PATCH 54/59] Revert "all system chains: delete stray PoV tracker storage key" This reverts commit 78f5ad60ac4c892cab2700c8be775e7d4b350146. --- .../asset-hubs/asset-hub-kusama/src/lib.rs | 10 ---- .../asset-hub-kusama/src/migrations.rs | 3 -- .../asset-hubs/asset-hub-polkadot/src/lib.rs | 10 ---- .../asset-hub-polkadot/src/migrations.rs | 3 -- .../bridge-hubs/bridge-hub-kusama/Cargo.toml | 4 -- .../bridge-hubs/bridge-hub-kusama/src/lib.rs | 7 +-- .../bridge-hub-polkadot/Cargo.toml | 4 -- .../bridge-hub-polkadot/src/lib.rs | 7 +-- .../bulletin/bulletin-polkadot/Cargo.toml | 4 -- .../bulletin-polkadot/src/migrations.rs | 6 +-- .../collectives-polkadot/Cargo.toml | 4 -- .../collectives-polkadot/src/lib.rs | 7 +-- system-parachains/common/Cargo.toml | 1 - system-parachains/common/src/lib.rs | 1 - system-parachains/common/src/migrations.rs | 46 ------------------- .../coretime/coretime-kusama/Cargo.toml | 4 -- .../coretime/coretime-kusama/src/lib.rs | 7 +-- .../coretime/coretime-polkadot/Cargo.toml | 4 -- .../coretime/coretime-polkadot/src/lib.rs | 7 +-- system-parachains/encointer/Cargo.toml | 4 -- system-parachains/encointer/src/lib.rs | 3 -- .../gluttons/glutton-kusama/Cargo.toml | 4 -- .../gluttons/glutton-kusama/src/lib.rs | 6 +-- .../people/people-kusama/Cargo.toml | 4 -- .../people/people-kusama/src/lib.rs | 7 +-- .../people/people-polkadot/Cargo.toml | 4 -- .../people/people-polkadot/src/lib.rs | 7 +-- 27 files changed, 9 insertions(+), 169 deletions(-) delete mode 100644 system-parachains/common/src/migrations.rs 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 8effc64432..ef99b2a099 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -2904,16 +2904,6 @@ mod tests { type WeightToFee = KsmWeightToFee; - #[test] - fn pov_migration_key_sane() { - assert_eq!( - cumulus_pallet_parachain_system::PoVMessagesTracker::::hashed_key(), - system_parachains_common::migrations::FixPoVMessagesTracker::< - ::DbWeight, - >::storage_key(), - ); - } - /// We can fit at least 1000 transfers in a block. #[test] fn sane_block_weight() { diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs index fc48e61ada..21f84d5722 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs @@ -19,9 +19,6 @@ pub type Unreleased = ( RemoveAhMigratorPallet, cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, ); /// Migrations/checks that do not need to be versioned and can run on every update. diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index c994d5ddf5..3c17d01f55 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -2794,16 +2794,6 @@ mod tests { type WeightToFee = DotWeightToFee; - #[test] - fn pov_migration_key_sane() { - assert_eq!( - cumulus_pallet_parachain_system::PoVMessagesTracker::::hashed_key(), - system_parachains_common::migrations::FixPoVMessagesTracker::< - ::DbWeight, - >::storage_key(), - ); - } - /// We can fit at least 1000 transfers in a block. #[test] fn sane_block_weight() { diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs index 0ee44b2bd6..ddf7ea78b6 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs @@ -92,9 +92,6 @@ pub type Unreleased = ( DefaultDapBudget, crate::dynamic_params::staking_election::MaxEraDuration, >, - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, ); /// Migrations/checks that do not need to be versioned and can run on every update. diff --git a/system-parachains/bridge-hubs/bridge-hub-kusama/Cargo.toml b/system-parachains/bridge-hubs/bridge-hub-kusama/Cargo.toml index aa08171a1a..12ddfe82f4 100644 --- a/system-parachains/bridge-hubs/bridge-hub-kusama/Cargo.toml +++ b/system-parachains/bridge-hubs/bridge-hub-kusama/Cargo.toml @@ -86,7 +86,6 @@ cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } -system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } # Bridges @@ -197,7 +196,6 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", - "system-parachains-common/std", "system-parachains-constants/std", "tuplex/std", "xcm-builder/std", @@ -246,7 +244,6 @@ runtime-benchmarks = [ "polkadot-runtime-common/runtime-benchmarks", "polkadot-runtime-constants/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -286,7 +283,6 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", - "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs index bb22ca2f97..041ac43328 100644 --- a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs @@ -148,12 +148,7 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = ( - cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, - ); + pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/bridge-hubs/bridge-hub-polkadot/Cargo.toml b/system-parachains/bridge-hubs/bridge-hub-polkadot/Cargo.toml index bddaf76c72..9044369f83 100644 --- a/system-parachains/bridge-hubs/bridge-hub-polkadot/Cargo.toml +++ b/system-parachains/bridge-hubs/bridge-hub-polkadot/Cargo.toml @@ -86,7 +86,6 @@ cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } -system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } # Bridges @@ -239,7 +238,6 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", - "system-parachains-common/std", "system-parachains-constants/std", "tuplex/std", "xcm-builder/std", @@ -304,7 +302,6 @@ runtime-benchmarks = [ "snowbridge-runtime-common/runtime-benchmarks", "snowbridge-runtime-test-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -353,7 +350,6 @@ try-runtime = [ "snowbridge-pallet-system/try-runtime", "snowbridge-runtime-common/try-runtime", "sp-runtime/try-runtime", - "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs index 3521acaca0..93536baff3 100644 --- a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs @@ -160,12 +160,7 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = ( - cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, - ); + pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/bulletin/bulletin-polkadot/Cargo.toml b/system-parachains/bulletin/bulletin-polkadot/Cargo.toml index 4cd39b079a..9333c1a32f 100644 --- a/system-parachains/bulletin/bulletin-polkadot/Cargo.toml +++ b/system-parachains/bulletin/bulletin-polkadot/Cargo.toml @@ -77,7 +77,6 @@ cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } -system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [dev-dependencies] @@ -145,7 +144,6 @@ std = [ "sp-version/std", "sp-weights/std", "substrate-wasm-builder", - "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -178,7 +176,6 @@ runtime-benchmarks = [ "polkadot-runtime-common/runtime-benchmarks", "polkadot-runtime-constants/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -210,7 +207,6 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", - "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs b/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs index 3138545856..25c4f7ed8f 100644 --- a/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs +++ b/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs @@ -18,11 +18,7 @@ use super::*; /// Unreleased migrations. Add new ones here: -pub type Unreleased = ( - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, -); +pub type Unreleased = (); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = (pallet_xcm::migration::MigrateToLatestXcmVersion,); diff --git a/system-parachains/collectives/collectives-polkadot/Cargo.toml b/system-parachains/collectives/collectives-polkadot/Cargo.toml index 18caf1b7aa..c21f8a9afd 100644 --- a/system-parachains/collectives/collectives-polkadot/Cargo.toml +++ b/system-parachains/collectives/collectives-polkadot/Cargo.toml @@ -85,7 +85,6 @@ collectives-polkadot-runtime-constants = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } -system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [dev-dependencies] @@ -134,7 +133,6 @@ runtime-benchmarks = [ "polkadot-runtime-common/runtime-benchmarks", "polkadot-runtime-constants/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -177,7 +175,6 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", - "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] std = [ @@ -247,7 +244,6 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", - "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", diff --git a/system-parachains/collectives/collectives-polkadot/src/lib.rs b/system-parachains/collectives/collectives-polkadot/src/lib.rs index 1e0a61e282..1e1dc3a2b2 100644 --- a/system-parachains/collectives/collectives-polkadot/src/lib.rs +++ b/system-parachains/collectives/collectives-polkadot/src/lib.rs @@ -859,12 +859,7 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = ( - cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, - ); + pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/common/Cargo.toml b/system-parachains/common/Cargo.toml index 9a73b7c3be..f31e901a35 100644 --- a/system-parachains/common/Cargo.toml +++ b/system-parachains/common/Cargo.toml @@ -8,7 +8,6 @@ repository.workspace = true version.workspace = true [dependencies] -hex-literal = { workspace = true } log = { workspace = true } codec = { features = ["derive", "max-encoded-len"], workspace = true } scale-info = { features = ["derive"], workspace = true } diff --git a/system-parachains/common/src/lib.rs b/system-parachains/common/src/lib.rs index 30738f213d..8ee990007f 100644 --- a/system-parachains/common/src/lib.rs +++ b/system-parachains/common/src/lib.rs @@ -19,7 +19,6 @@ use frame_support::migrations::FailedMigrationHandling; -pub mod migrations; pub mod randomness; #[cfg(feature = "multi-asset-bounties")] diff --git a/system-parachains/common/src/migrations.rs b/system-parachains/common/src/migrations.rs deleted file mode 100644 index 0ea8c96872..0000000000 --- a/system-parachains/common/src/migrations.rs +++ /dev/null @@ -1,46 +0,0 @@ -// 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 . - -//! Shared single-block migrations for system-parachain runtimes. - -use frame_support::{traits::OnRuntimeUpgrade, weights::Weight}; -use sp_runtime::traits::Get; - -/// See: https://github.com/paritytech/polkadot-sdk/pull/10477#discussion_r3262614144 -pub struct FixPoVMessagesTracker(core::marker::PhantomData); - -impl FixPoVMessagesTracker { - /// Storage key of `ParachainSystem::PoVMessagesTracker`. - pub const fn storage_key() -> [u8; 32] { - hex_literal::hex!("45323df7cc47150b3930e2666b0aa31322f3096ef79c4c691c3a9210667dbadc") - } -} - -impl> OnRuntimeUpgrade - for FixPoVMessagesTracker -{ - fn on_runtime_upgrade() -> Weight { - let key = Self::storage_key(); - if frame_support::storage::unhashed::get_raw(&key).map(|v| v.len()) == Some(42) { - frame_support::storage::unhashed::kill(&key); - log::info!( - target: "runtime::parachain-system", - "FixPoVMessagesTracker: cleared legacy PoVMessagesTracker value", - ); - } - DbWeight::get().reads_writes(1, 1) - } -} diff --git a/system-parachains/coretime/coretime-kusama/Cargo.toml b/system-parachains/coretime/coretime-kusama/Cargo.toml index b1e8628fcb..6744f9cbd8 100644 --- a/system-parachains/coretime/coretime-kusama/Cargo.toml +++ b/system-parachains/coretime/coretime-kusama/Cargo.toml @@ -18,7 +18,6 @@ serde_json = { features = ["alloc"], workspace = true } # Local kusama-runtime-constants = { workspace = true } -system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } # Substrate @@ -145,7 +144,6 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", - "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -181,7 +179,6 @@ runtime-benchmarks = [ "polkadot-parachain-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -216,7 +213,6 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", - "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/coretime/coretime-kusama/src/lib.rs b/system-parachains/coretime/coretime-kusama/src/lib.rs index 4a80a9338e..acf7a48d4f 100644 --- a/system-parachains/coretime/coretime-kusama/src/lib.rs +++ b/system-parachains/coretime/coretime-kusama/src/lib.rs @@ -124,12 +124,7 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = ( - cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, - ); + pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/coretime/coretime-polkadot/Cargo.toml b/system-parachains/coretime/coretime-polkadot/Cargo.toml index 856fc862d6..91308f2a54 100644 --- a/system-parachains/coretime/coretime-polkadot/Cargo.toml +++ b/system-parachains/coretime/coretime-polkadot/Cargo.toml @@ -18,7 +18,6 @@ serde_json = { features = ["alloc"], workspace = true } # Local polkadot-runtime-constants = { workspace = true } -system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } # Substrate @@ -147,7 +146,6 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", - "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -183,7 +181,6 @@ runtime-benchmarks = [ "polkadot-runtime-common/runtime-benchmarks", "polkadot-runtime-constants/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -218,7 +215,6 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", - "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/coretime/coretime-polkadot/src/lib.rs b/system-parachains/coretime/coretime-polkadot/src/lib.rs index f91937fc29..9380fd2773 100644 --- a/system-parachains/coretime/coretime-polkadot/src/lib.rs +++ b/system-parachains/coretime/coretime-polkadot/src/lib.rs @@ -126,12 +126,7 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = ( - cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, - ); + pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/encointer/Cargo.toml b/system-parachains/encointer/Cargo.toml index a1b971c2b5..631a810022 100644 --- a/system-parachains/encointer/Cargo.toml +++ b/system-parachains/encointer/Cargo.toml @@ -108,7 +108,6 @@ parachain-info = { workspace = true } parachains-common = { workspace = true } polkadot-core-primitives = { workspace = true } polkadot-primitives = { workspace = true } -system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [build-dependencies] @@ -168,7 +167,6 @@ runtime-benchmarks = [ "polkadot-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -256,7 +254,6 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", - "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -309,7 +306,6 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", - "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/encointer/src/lib.rs b/system-parachains/encointer/src/lib.rs index a452c7ac42..f47bd6d6fc 100644 --- a/system-parachains/encointer/src/lib.rs +++ b/system-parachains/encointer/src/lib.rs @@ -958,9 +958,6 @@ pub mod migrations { pub type Unreleased = ( pallet_encointer_democracy::migrations::v2::MigrateV1toV2, cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, ); /// All migrations that will run on the next runtime upgrade. diff --git a/system-parachains/gluttons/glutton-kusama/Cargo.toml b/system-parachains/gluttons/glutton-kusama/Cargo.toml index 7b75bfb213..7c3dc99297 100644 --- a/system-parachains/gluttons/glutton-kusama/Cargo.toml +++ b/system-parachains/gluttons/glutton-kusama/Cargo.toml @@ -47,7 +47,6 @@ cumulus-pallet-xcm = { workspace = true } cumulus-primitives-core = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } -system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [build-dependencies] @@ -67,7 +66,6 @@ runtime-benchmarks = [ "pallet-sudo?/runtime-benchmarks", "parachains-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -103,7 +101,6 @@ std = [ "sp-storage/std", "sp-transaction-pool/std", "sp-version/std", - "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -122,7 +119,6 @@ try-runtime = [ "parachain-info/try-runtime", "parachains-common/try-runtime", "sp-runtime/try-runtime", - "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/gluttons/glutton-kusama/src/lib.rs b/system-parachains/gluttons/glutton-kusama/src/lib.rs index e64fca3a1f..4cb41a0d9b 100644 --- a/system-parachains/gluttons/glutton-kusama/src/lib.rs +++ b/system-parachains/gluttons/glutton-kusama/src/lib.rs @@ -176,11 +176,7 @@ impl frame_system::Config for Runtime { type SS58Prefix = SS58Prefix; type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; type MaxConsumers = frame_support::traits::ConstU32<16>; - type SingleBlockMigrations = ( - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, - ); + type SingleBlockMigrations = (); type MultiBlockMigrator = (); type PreInherents = (); type PostInherents = (); diff --git a/system-parachains/people/people-kusama/Cargo.toml b/system-parachains/people/people-kusama/Cargo.toml index db0f090657..c1216878e7 100644 --- a/system-parachains/people/people-kusama/Cargo.toml +++ b/system-parachains/people/people-kusama/Cargo.toml @@ -77,7 +77,6 @@ cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } -system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [dev-dependencies] @@ -147,7 +146,6 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", - "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -185,7 +183,6 @@ runtime-benchmarks = [ "polkadot-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -221,7 +218,6 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", - "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/people/people-kusama/src/lib.rs b/system-parachains/people/people-kusama/src/lib.rs index 10f86461fc..02525de862 100644 --- a/system-parachains/people/people-kusama/src/lib.rs +++ b/system-parachains/people/people-kusama/src/lib.rs @@ -144,12 +144,7 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = ( - cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, - ); + pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/people/people-polkadot/Cargo.toml b/system-parachains/people/people-polkadot/Cargo.toml index 6dbe928af4..ae000de5fd 100644 --- a/system-parachains/people/people-polkadot/Cargo.toml +++ b/system-parachains/people/people-polkadot/Cargo.toml @@ -81,7 +81,6 @@ cumulus-primitives-utility = { workspace = true } pallet-collator-selection = { workspace = true } parachain-info = { workspace = true } parachains-common = { workspace = true } -system-parachains-common = { workspace = true } system-parachains-constants = { workspace = true } [dev-dependencies] @@ -155,7 +154,6 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "substrate-wasm-builder", - "system-parachains-common/std", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", @@ -197,7 +195,6 @@ runtime-benchmarks = [ "polkadot-runtime-common/runtime-benchmarks", "polkadot-runtime-constants/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "system-parachains-common/runtime-benchmarks", "system-parachains-constants/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", @@ -238,7 +235,6 @@ try-runtime = [ "parachains-common/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", - "system-parachains-common/try-runtime", "system-parachains-constants/try-runtime", ] diff --git a/system-parachains/people/people-polkadot/src/lib.rs b/system-parachains/people/people-polkadot/src/lib.rs index 7339382070..5a08ba9484 100644 --- a/system-parachains/people/people-polkadot/src/lib.rs +++ b/system-parachains/people/people-polkadot/src/lib.rs @@ -135,12 +135,7 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = ( - cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, - system_parachains_common::migrations::FixPoVMessagesTracker< - ::DbWeight, - >, - ); + pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; From 29331a7e0690687139e1ff7911862326bccb0b1e Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 22 May 2026 16:20:06 +0300 Subject: [PATCH 55/59] Use proper parachain-systems migration Signed-off-by: Oliver Tale-Yazdi --- Cargo.lock | 10 ---------- .../asset-hubs/asset-hub-kusama/src/migrations.rs | 1 + .../asset-hubs/asset-hub-polkadot/src/migrations.rs | 1 + .../bridge-hubs/bridge-hub-kusama/src/lib.rs | 5 ++++- .../bridge-hubs/bridge-hub-polkadot/src/lib.rs | 5 ++++- .../bulletin/bulletin-polkadot/src/migrations.rs | 2 +- .../collectives/collectives-polkadot/src/lib.rs | 5 ++++- system-parachains/coretime/coretime-kusama/src/lib.rs | 5 ++++- .../coretime/coretime-polkadot/src/lib.rs | 5 ++++- system-parachains/encointer/src/lib.rs | 1 + system-parachains/gluttons/glutton-kusama/src/lib.rs | 2 +- system-parachains/people/people-kusama/src/lib.rs | 5 ++++- system-parachains/people/people-polkadot/src/lib.rs | 5 ++++- 13 files changed, 33 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1892077765..c70935e600 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2436,7 +2436,6 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "system-parachains-common", "system-parachains-constants", "tuplex", "xcm-runtime-apis", @@ -2619,7 +2618,6 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "system-parachains-common", "system-parachains-constants", "tuplex", "xcm-runtime-apis", @@ -2811,7 +2809,6 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -3257,7 +3254,6 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -3560,7 +3556,6 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -3670,7 +3665,6 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -6033,7 +6027,6 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "system-parachains-common", "system-parachains-constants", ] @@ -11348,7 +11341,6 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -11467,7 +11459,6 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] @@ -18072,7 +18063,6 @@ dependencies = [ "cumulus-pallet-parachain-system", "cumulus-primitives-core", "frame-support", - "hex-literal", "log", "pallet-multi-asset-bounties", "parity-scale-codec", diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs index 21f84d5722..9dbb6bcb8f 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/migrations.rs @@ -19,6 +19,7 @@ pub type Unreleased = ( RemoveAhMigratorPallet, cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + cumulus_pallet_parachain_system::migration::Migration, ); /// Migrations/checks that do not need to be versioned and can run on every update. diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs index ddf7ea78b6..6aecb86688 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs @@ -84,6 +84,7 @@ pub type Unreleased = ( // Remove an old staking value. crate::staking::RemoveMarchTIValue, cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + cumulus_pallet_parachain_system::migration::Migration, // DAP V1->V2: seed `BudgetAllocation` and `LastIssuanceTimestamp`, credit a one-shot // catch-up drip. Required when moving staking to non-minting mode (see SDK PR #11616). pallet_dap::migrations::MigrateV1ToV2< diff --git a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs index 041ac43328..a7b49d3670 100644 --- a/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs @@ -148,7 +148,10 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + cumulus_pallet_parachain_system::migration::Migration, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs index 93536baff3..88348da9fc 100644 --- a/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs +++ b/system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs @@ -160,7 +160,10 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + cumulus_pallet_parachain_system::migration::Migration, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs b/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs index 25c4f7ed8f..95b9993fdf 100644 --- a/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs +++ b/system-parachains/bulletin/bulletin-polkadot/src/migrations.rs @@ -18,7 +18,7 @@ use super::*; /// Unreleased migrations. Add new ones here: -pub type Unreleased = (); +pub type Unreleased = (cumulus_pallet_parachain_system::migration::Migration,); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = (pallet_xcm::migration::MigrateToLatestXcmVersion,); diff --git a/system-parachains/collectives/collectives-polkadot/src/lib.rs b/system-parachains/collectives/collectives-polkadot/src/lib.rs index 1e1dc3a2b2..5486b73603 100644 --- a/system-parachains/collectives/collectives-polkadot/src/lib.rs +++ b/system-parachains/collectives/collectives-polkadot/src/lib.rs @@ -859,7 +859,10 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + cumulus_pallet_parachain_system::migration::Migration, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/coretime/coretime-kusama/src/lib.rs b/system-parachains/coretime/coretime-kusama/src/lib.rs index acf7a48d4f..df56cd5534 100644 --- a/system-parachains/coretime/coretime-kusama/src/lib.rs +++ b/system-parachains/coretime/coretime-kusama/src/lib.rs @@ -124,7 +124,10 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + cumulus_pallet_parachain_system::migration::Migration, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/coretime/coretime-polkadot/src/lib.rs b/system-parachains/coretime/coretime-polkadot/src/lib.rs index 9380fd2773..e93c5258f6 100644 --- a/system-parachains/coretime/coretime-polkadot/src/lib.rs +++ b/system-parachains/coretime/coretime-polkadot/src/lib.rs @@ -126,7 +126,10 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + cumulus_pallet_parachain_system::migration::Migration, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/encointer/src/lib.rs b/system-parachains/encointer/src/lib.rs index f47bd6d6fc..792790efca 100644 --- a/system-parachains/encointer/src/lib.rs +++ b/system-parachains/encointer/src/lib.rs @@ -958,6 +958,7 @@ pub mod migrations { pub type Unreleased = ( pallet_encointer_democracy::migrations::v2::MigrateV1toV2, cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + cumulus_pallet_parachain_system::migration::Migration, ); /// All migrations that will run on the next runtime upgrade. diff --git a/system-parachains/gluttons/glutton-kusama/src/lib.rs b/system-parachains/gluttons/glutton-kusama/src/lib.rs index 4cb41a0d9b..010b0a7fb7 100644 --- a/system-parachains/gluttons/glutton-kusama/src/lib.rs +++ b/system-parachains/gluttons/glutton-kusama/src/lib.rs @@ -176,7 +176,7 @@ impl frame_system::Config for Runtime { type SS58Prefix = SS58Prefix; type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; type MaxConsumers = frame_support::traits::ConstU32<16>; - type SingleBlockMigrations = (); + type SingleBlockMigrations = (cumulus_pallet_parachain_system::migration::Migration,); type MultiBlockMigrator = (); type PreInherents = (); type PostInherents = (); diff --git a/system-parachains/people/people-kusama/src/lib.rs b/system-parachains/people/people-kusama/src/lib.rs index 02525de862..04066b4485 100644 --- a/system-parachains/people/people-kusama/src/lib.rs +++ b/system-parachains/people/people-kusama/src/lib.rs @@ -144,7 +144,10 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + cumulus_pallet_parachain_system::migration::Migration, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; diff --git a/system-parachains/people/people-polkadot/src/lib.rs b/system-parachains/people/people-polkadot/src/lib.rs index 5a08ba9484..dadba479c3 100644 --- a/system-parachains/people/people-polkadot/src/lib.rs +++ b/system-parachains/people/people-polkadot/src/lib.rs @@ -135,7 +135,10 @@ pub mod migrations { use super::*; /// Unreleased migrations. Add new ones here: - pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6,); + pub type Unreleased = ( + cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6, + cumulus_pallet_parachain_system::migration::Migration, + ); /// Migrations/checks that do not need to be versioned and can run on every update. pub type Permanent = pallet_xcm::migration::MigrateToLatestXcmVersion; From b13287a4dfe15f71bd55cd7b4ea4c319768e28ad Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 22 May 2026 16:24:13 +0300 Subject: [PATCH 56/59] lock Signed-off-by: Oliver Tale-Yazdi --- Cargo.lock | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 7d2e6d5527..94a1a03864 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5279,7 +5279,6 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "system-parachains-common", "system-parachains-constants", "xcm-runtime-apis", ] From 32cc2036e618e972627fb970978c4ba6a5ab91ab Mon Sep 17 00:00:00 2001 From: Ankan <10196091+Ank4n@users.noreply.github.com> Date: Tue, 26 May 2026 11:29:31 +0200 Subject: [PATCH 57/59] [PAH 2.3.0] Filter Staking::reap_stash during validator self stake transition (#1184) Filter `staking.reap_stash` from both `BaseCallFilter` and the XCM `SafeCallFilter` while the validator self-stake transition to higher bond. Also see [ref #1890](https://polkadot.subsquare.io/referenda/1890). --- CHANGELOG.md | 1 + .../asset-hubs/asset-hub-polkadot/src/lib.rs | 52 +++++++++++++++++-- .../asset-hub-polkadot/src/xcm_config.rs | 12 ++--- 3 files changed, 55 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e8b7f3920..f63a274d90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - PAH & KAH: enable `pallet_revive` auto mapping feature ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) - PAH & KAH: ERC-20 assets precompile `permit()` renamed to `use_permit()` ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) - PAH: redirect XCM trader fees (native and swap) to `DapStagingAccount` instead of `StakingPot` ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) +- PAH: filter `staking.reap_stash` from both `BaseCallFilter` and the XCM `SafeCallFilter` while the validator self-stake transition to higher bond. See Ref: [#1890](https://polkadot.subsquare.io/referenda/1890) ([#1159](https://github.com/polkadot-fellows/runtimes/pull/1159)) ### Removed diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 3c17d01f55..55e9d2d0ce 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -123,9 +123,9 @@ use frame_support::{ fungible::{self, HoldConsideration}, fungibles, tokens::imbalance::{ResolveAssetTo, ResolveTo}, - AsEnsureOriginWithArg, ConstBool, ConstU32, ConstU64, ConstU8, EitherOf, EitherOfDiverse, - Equals, InstanceFilter, LinearStoragePrice, NeverEnsureOrigin, PrivilegeCmp, - TransformOrigin, WithdrawReasons, + AsEnsureOriginWithArg, ConstBool, ConstU32, ConstU64, ConstU8, Contains, EitherOf, + EitherOfDiverse, Equals, InstanceFilter, LinearStoragePrice, NeverEnsureOrigin, + PrivilegeCmp, TransformOrigin, WithdrawReasons, }, weights::{ConstantMultiplier, Weight}, PalletId, @@ -244,9 +244,24 @@ parameter_types! { pub const SS58Prefix: u8 = 0; } +/// Calls that are temporarily disabled at the runtime level. +/// +/// The network is transitioning to a higher validator self-stake requirement +/// (`MinValidatorBond`). During this transition, `reap_stash` is filtered out to protect +/// previously-safe validators from getting permissionlessly reaped during the transition period. +/// +/// The filter is intended to be removed once the transition completes and all active set validators +/// are consistently above the new minimum. Other staking calls remain permitted. +pub struct AllExceptReapStash; +impl Contains for AllExceptReapStash { + fn contains(call: &RuntimeCall) -> bool { + !matches!(call, RuntimeCall::Staking(pallet_staking_async::Call::reap_stash { .. })) + } +} + // Configure FRAME pallets to include in runtime. impl frame_system::Config for Runtime { - type BaseCallFilter = frame_support::traits::Everything; + type BaseCallFilter = AllExceptReapStash; type BlockWeights = RuntimeBlockWeights; type BlockLength = RuntimeBlockLength; type AccountId = AccountId; @@ -3122,4 +3137,33 @@ mod tests { "NonTransfer proxy must allow MultiAssetBounties::propose_curator", ); } + + #[test] + fn call_filter_blocks_reap_stash() { + let call = RuntimeCall::Staking(pallet_staking_async::Call::reap_stash { + stash: AccountId::from([0u8; 32]), + num_slashing_spans: 0, + }); + assert!(!AllExceptReapStash::contains(&call)); + } + + #[test] + fn call_filter_permits_other_staking_calls() { + let bond = RuntimeCall::Staking(pallet_staking_async::Call::bond { + value: 1_000_000_000_000, + payee: pallet_staking_async::RewardDestination::Stash, + }); + let validate = RuntimeCall::Staking(pallet_staking_async::Call::validate { + prefs: pallet_staking_async::ValidatorPrefs::default(), + }); + let chill = RuntimeCall::Staking(pallet_staking_async::Call::chill {}); + let chill_other = RuntimeCall::Staking(pallet_staking_async::Call::chill_other { + stash: AccountId::from([0u8; 32]), + }); + + assert!(AllExceptReapStash::contains(&bond)); + assert!(AllExceptReapStash::contains(&validate)); + assert!(AllExceptReapStash::contains(&chill)); + assert!(AllExceptReapStash::contains(&chill_other)); + } } diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs index 52010554f7..4bcea52c03 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs @@ -17,11 +17,11 @@ use cumulus_primitives_core::ParaId; pub use TreasuryAccount as RelayTreasuryPalletAccount; use super::{ - treasury, AccountId, AllPalletsWithSystem, AssetConversion, Assets, Balance, Balances, - CollatorSelection, DotWeightToFee as WeightToFee, FellowshipAdmin, ForeignAssets, GeneralAdmin, - NativeAndAssets, ParachainInfo, ParachainSystem, PolkadotXcm, PoolAssets, - PriceForParentDelivery, Runtime, RuntimeCall, RuntimeEvent, RuntimeHoldReason, RuntimeOrigin, - StakingAdmin, ToKusamaXcmRouter, Treasurer, XcmpQueue, + treasury, AccountId, AllExceptReapStash, AllPalletsWithSystem, AssetConversion, Assets, + Balance, Balances, CollatorSelection, DotWeightToFee as WeightToFee, FellowshipAdmin, + ForeignAssets, GeneralAdmin, NativeAndAssets, ParachainInfo, ParachainSystem, PolkadotXcm, + PoolAssets, PriceForParentDelivery, Runtime, RuntimeCall, RuntimeEvent, RuntimeHoldReason, + RuntimeOrigin, StakingAdmin, ToKusamaXcmRouter, Treasurer, XcmpQueue, }; use alloc::{collections::BTreeSet, vec, vec::Vec}; use assets_common::{ @@ -515,7 +515,7 @@ impl xcm_executor::Config for XcmConfig { type UniversalAliases = (bridging::to_kusama::UniversalAliases, bridging::to_ethereum::UniversalAliases); type CallDispatcher = RuntimeCall; - type SafeCallFilter = Everything; + type SafeCallFilter = AllExceptReapStash; type Aliasers = TrustedAliasers; type TransactionalProcessor = FrameTransactionalProcessor; type HrmpNewChannelOpenRequestHandler = (); From 5cb1afdd75642e4783e6e2649af8a995bc867cb7 Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Tue, 26 May 2026 16:46:26 +0200 Subject: [PATCH 58/59] asset-hub-polkadot & emulated tests: small cleanups (#1185) ## Summary Two small cleanups bundled together. **1. Use upstream emulated-test macros.** paritytech/polkadot-sdk#12003 was backported into `emulated-integration-tests-common` v32 (already in our dependency tree). Drop the `assets_balance_on!`, `foreign_balance_on!` and `asset_exists_on!` macros previously redefined per-test-crate in asset-hub-{kusama,polkadot}, and pull from upstream via the existing `pub use emulated_integration_tests_common::*` in `integration_tests_helpers`. **2. Drop dead `StakingPot` from asset-hub-polkadot.** The Polkadot Asset Hub runtime no longer routes any fees to `StakingPot`. Remove the unused `lib.rs` import, the `xcm_config.rs` parameter type definition (and now-unused `CollatorSelection` re-export), the dev-genesis pre-funding, and the matching emulated-test genesis pre-funding. Kusama still uses `StakingPot` for collator fee accumulation and is unchanged. - [ ] Does not require a CHANGELOG entry --------- Co-authored-by: GitHub Action --- .../assets/asset-hub-polkadot/src/genesis.rs | 9 ++----- integration-tests/emulated/helpers/src/lib.rs | 18 -------------- .../tests/assets/asset-hub-kusama/src/lib.rs | 4 ++-- .../assets/asset-hub-kusama/src/tests/mod.rs | 24 ------------------- .../assets/asset-hub-polkadot/src/lib.rs | 4 ++-- .../asset-hub-polkadot/src/tests/mod.rs | 24 ------------------- .../src/genesis_config_presets.rs | 5 +--- .../asset-hubs/asset-hub-polkadot/src/lib.rs | 5 ++-- .../asset-hub-polkadot/src/xcm_config.rs | 9 ++++--- 9 files changed, 13 insertions(+), 89 deletions(-) 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 index d4858bc7e6..d51686f82d 100644 --- 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 @@ -14,7 +14,7 @@ // limitations under the License. use asset_hub_polkadot_runtime::{ - xcm_config::{CheckingAccount, StakingPot, TreasuryAccount}, + xcm_config::{CheckingAccount, TreasuryAccount}, Dap, }; use emulated_integration_tests_common::{ @@ -62,12 +62,7 @@ pub fn genesis() -> sp_core::storage::Storage { balances: asset_hub_polkadot_runtime::BalancesConfig { balances: accounts::init_balances() .into_iter() - .chain([ - TreasuryAccount::get(), - StakingPot::get(), - Dap::buffer_account(), - Dap::staging_account(), - ]) + .chain([TreasuryAccount::get(), Dap::buffer_account(), Dap::staging_account()]) .map(|k| (k, ED * 4096 * 4096)) // pre-fund checking account to avoid pre-funding for every test scenario // teleporting funds to asset hub diff --git a/integration-tests/emulated/helpers/src/lib.rs b/integration-tests/emulated/helpers/src/lib.rs index faf0094156..b59fce7193 100644 --- a/integration-tests/emulated/helpers/src/lib.rs +++ b/integration-tests/emulated/helpers/src/lib.rs @@ -30,21 +30,3 @@ pub use emulated_integration_tests_common::*; pub use xcm_emulator::Chain; pub mod common; - -/// Read the balance of an `Assets`-pallet asset on a chain. -/// -/// Centralised here so the asset-hub-{kusama,polkadot} and bridge-hub-{kusama,polkadot} -/// test crates share one definition. The polkadot-sdk emulated tests define the same -/// macro per-test-crate (it is not exported from `emulated-integration-tests-common`), -/// so we cannot pull it from upstream and instead host it here. -#[macro_export] -macro_rules! assets_balance_on { - ( $chain:ident, $id:expr, $who:expr ) => { - $crate::paste::paste! { - <$chain>::execute_with(|| { - type Assets = <$chain as [<$chain Pallet>]>::Assets; - >::balance($id, $who) - }) - } - }; -} 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 index 5e9dd0c1a4..e32859c443 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/lib.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/lib.rs @@ -47,8 +47,8 @@ pub use emulated_integration_tests_common::{ PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, RESERVABLE_ASSET_ID, XCM_V5, }; pub use integration_tests_helpers::{ - assets_balance_on, test_parachain_is_trusted_teleporter_for_relay, - test_relay_is_trusted_teleporter, + asset_exists_on, assets_balance_on, foreign_balance_on, + test_parachain_is_trusted_teleporter_for_relay, test_relay_is_trusted_teleporter, }; pub use kusama_runtime::{xcm_config::UniversalLocation as KusamaUniversalLocation, Dmp}; pub use kusama_system_emulated_network::{ diff --git a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/mod.rs b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/mod.rs index 15d66069de..7653b2b02d 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/mod.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/mod.rs @@ -29,30 +29,6 @@ mod transfer_assets_validation; mod treasury; mod xcm_fee_estimation; -#[macro_export] -macro_rules! foreign_balance_on { - ( $chain:ident, $id:expr, $who:expr ) => { - emulated_integration_tests_common::impls::paste::paste! { - <$chain>::execute_with(|| { - type ForeignAssets = <$chain as [<$chain Pallet>]>::ForeignAssets; - >::balance($id.try_into().unwrap(), $who) - }) - } - }; -} - -#[macro_export] -macro_rules! asset_exists_on { - ( $chain:ident, $id:expr ) => { - emulated_integration_tests_common::impls::paste::paste! { - <$chain>::execute_with(|| { - type Assets = <$chain as [<$chain Pallet>]>::Assets; - >::asset_exists($id) - }) - } - }; -} - #[macro_export] macro_rules! create_pool_with_ksm_on { // default amounts 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 index d0a91170a2..eab6f1d11e 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/lib.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/lib.rs @@ -50,8 +50,8 @@ pub use emulated_integration_tests_common::{ PROOF_SIZE_THRESHOLD, REF_TIME_THRESHOLD, XCM_V4, }; pub use integration_tests_helpers::{ - assets_balance_on, test_parachain_is_trusted_teleporter_for_relay, - test_relay_is_trusted_teleporter, + asset_exists_on, assets_balance_on, foreign_balance_on, + test_parachain_is_trusted_teleporter_for_relay, test_relay_is_trusted_teleporter, }; pub use parachains_common::{AccountId, Balance}; pub use polkadot_runtime::{xcm_config::UniversalLocation as PolkadotUniversalLocation, Dmp}; diff --git a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs index 07b78fcdcd..85b4655392 100644 --- a/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs +++ b/integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs @@ -30,30 +30,6 @@ mod transfer_assets_validation; mod treasury; mod xcm_fee_estimation; -#[macro_export] -macro_rules! foreign_balance_on { - ( $chain:ident, $id:expr, $who:expr ) => { - emulated_integration_tests_common::impls::paste::paste! { - <$chain>::execute_with(|| { - type ForeignAssets = <$chain as [<$chain Pallet>]>::ForeignAssets; - >::balance($id, $who) - }) - } - }; -} - -#[macro_export] -macro_rules! asset_exists_on { - ( $chain:ident, $id:expr ) => { - emulated_integration_tests_common::impls::paste::paste! { - <$chain>::execute_with(|| { - type Assets = <$chain as [<$chain Pallet>]>::Assets; - >::asset_exists($id) - }) - } - }; -} - #[macro_export] macro_rules! create_pool_with_dot_on { // default amounts diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs index b60c527011..1541b9ec14 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/genesis_config_presets.rs @@ -143,10 +143,7 @@ pub fn asset_hub_polkadot_local_testnet_genesis(para_id: ParaId) -> serde_json:: fn asset_hub_polkadot_development_genesis(para_id: ParaId) -> serde_json::Value { asset_hub_polkadot_genesis( invulnerables_asset_hub_polkadot(), - testnet_accounts_with([ - // Make sure `StakingPot` is funded for benchmarking purposes. - StakingPot::get(), - ]), + testnet_accounts(), para_id, vec![], vec![], diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 55e9d2d0ce..1db9431dcf 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -170,9 +170,8 @@ use xcm::{ }; use xcm_config::{ DotLocation, FellowshipLocation, ForeignAssetsConvertedConcreteId, LocationToAccountId, - PoolAssetsConvertedConcreteId, RelayChainLocation, StakingPot, - TrustBackedAssetsConvertedConcreteId, TrustBackedAssetsPalletLocation, - XcmOriginToTransactDispatchOrigin, + PoolAssetsConvertedConcreteId, RelayChainLocation, TrustBackedAssetsConvertedConcreteId, + TrustBackedAssetsPalletLocation, XcmOriginToTransactDispatchOrigin, }; #[cfg(any(feature = "std", test))] diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs index 4bcea52c03..256f74f2d0 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs @@ -18,10 +18,10 @@ pub use TreasuryAccount as RelayTreasuryPalletAccount; use super::{ treasury, AccountId, AllExceptReapStash, AllPalletsWithSystem, AssetConversion, Assets, - Balance, Balances, CollatorSelection, DotWeightToFee as WeightToFee, FellowshipAdmin, - ForeignAssets, GeneralAdmin, NativeAndAssets, ParachainInfo, ParachainSystem, PolkadotXcm, - PoolAssets, PriceForParentDelivery, Runtime, RuntimeCall, RuntimeEvent, RuntimeHoldReason, - RuntimeOrigin, StakingAdmin, ToKusamaXcmRouter, Treasurer, XcmpQueue, + Balance, Balances, DotWeightToFee as WeightToFee, FellowshipAdmin, ForeignAssets, GeneralAdmin, + NativeAndAssets, ParachainInfo, ParachainSystem, PolkadotXcm, PoolAssets, + PriceForParentDelivery, Runtime, RuntimeCall, RuntimeEvent, RuntimeHoldReason, RuntimeOrigin, + StakingAdmin, ToKusamaXcmRouter, Treasurer, XcmpQueue, }; use alloc::{collections::BTreeSet, vec, vec::Vec}; use assets_common::{ @@ -91,7 +91,6 @@ parameter_types! { pub RelayTreasuryLocation: Location = (Parent, PalletInstance(polkadot_runtime_constants::TREASURY_PALLET_ID)).into(); pub PoolAssetsPalletLocation: Location = PalletInstance(::index() as u8).into(); - pub StakingPot: AccountId = CollatorSelection::account_id(); pub PostMigrationTreasuryAccount: AccountId = treasury::TreasuryAccount::get(); /// The Checking Account along with the indication that the local chain is able to mint tokens. pub SelfParaId: ParaId = ParachainInfo::parachain_id(); From 706622a962aaa665a7650ac71943a6c4a5daa5ed Mon Sep 17 00:00:00 2001 From: Branislav Kontur Date: Thu, 28 May 2026 14:58:50 +0200 Subject: [PATCH 59/59] asset-hubs: wire benchmarked weights for assets/vesting precompiles (#1192) Use `weights::pallet_*_precompiles::WeightInfo` instead of the crate-default `SubstrateWeight` for `pallet_assets_precompiles` and `pallet_vesting_precompiles` on both Asset Hub Polkadot and Kusama. - AHP: copy benchmarked weight files from #1163 and register them in `weights/mod.rs`. - AHK: register the existing (orphan) `pallet_assets_precompiles` weights, fix its trait path, and add a stop-gap `pallet_vesting_precompiles` (AHP-measured values) until a Kusama benchmark run is available. - [ ] Does not require a CHANGELOG entry --- .../asset-hubs/asset-hub-kusama/src/lib.rs | 4 +- .../asset-hub-kusama/src/weights/mod.rs | 2 + .../src/weights/pallet_assets_precompiles.rs | 2 +- .../src/weights/pallet_vesting_precompiles.rs | 92 +++++++++++++++++++ .../asset-hubs/asset-hub-polkadot/src/lib.rs | 4 +- .../asset-hub-polkadot/src/weights/mod.rs | 2 + .../src/weights/pallet_assets_precompiles.rs | 40 +++----- .../src/weights/pallet_vesting_precompiles.rs | 88 ++++++++++++++++++ 8 files changed, 204 insertions(+), 30 deletions(-) create mode 100644 system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_vesting_precompiles.rs create mode 100644 system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_vesting_precompiles.rs 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 664ab6948f..a9eb390315 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs @@ -1281,11 +1281,11 @@ impl pallet_assets_precompiles::ForeignAssetsConfig for Runtime { impl pallet_assets_precompiles::PermitConfig for Runtime { type ChainId = ::ChainId; - type WeightInfo = pallet_assets_precompiles::weights::SubstrateWeight; + type WeightInfo = weights::pallet_assets_precompiles::WeightInfo; } impl pallet_vesting_precompiles::pallet::Config for Runtime { - type WeightInfo = pallet_vesting_precompiles::weights::SubstrateWeight; + type WeightInfo = weights::pallet_vesting_precompiles::WeightInfo; } /// Precompile address identifier (embedded at bytes [16..18] of the H160 address). diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/mod.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/mod.rs index 549c7d0683..5f30775023 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/mod.rs @@ -27,6 +27,7 @@ pub mod pallet_asset_rate; pub mod pallet_assets_foreign; pub mod pallet_assets_local; pub mod pallet_assets_pool; +pub mod pallet_assets_precompiles; pub mod pallet_balances; pub mod pallet_bounties; pub mod pallet_child_bounties; @@ -65,6 +66,7 @@ pub mod pallet_treasury; pub mod pallet_uniques; pub mod pallet_utility; pub mod pallet_vesting; +pub mod pallet_vesting_precompiles; pub mod pallet_whitelist; pub mod pallet_xcm; pub mod pallet_xcm_bridge_hub_router; diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_assets_precompiles.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_assets_precompiles.rs index 213ea10ed1..0d3a9c6a01 100644 --- a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_assets_precompiles.rs +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_assets_precompiles.rs @@ -50,7 +50,7 @@ use core::marker::PhantomData; /// Weight functions for `pallet_assets_precompiles`. pub struct WeightInfo(PhantomData); -impl pallet_assets_precompiles::WeightInfo for WeightInfo { +impl pallet_assets_precompiles::weights::WeightInfo for WeightInfo { /// Storage: `ForeignAssets::Asset` (r:2 w:0) /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) /// Storage: `AssetsPrecompiles::ForeignAssetIdToAssetIndex` (r:1 w:1) diff --git a/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_vesting_precompiles.rs b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_vesting_precompiles.rs new file mode 100644 index 0000000000..224e15876c --- /dev/null +++ b/system-parachains/asset-hubs/asset-hub-kusama/src/weights/pallet_vesting_precompiles.rs @@ -0,0 +1,92 @@ +// Copyright (C) Parity Technologies and the various Polkadot contributors, see Contributions.md +// for a list of specific contributors. +// 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. + +//! Weights for `pallet_vesting_precompiles` on Asset Hub Kusama. +//! +//! NOTE: These weights were not benchmarked on Asset Hub Kusama; they are +//! reused from the Asset Hub Polkadot benchmark run below as a stop-gap +//! until a Kusama-specific benchmark run is available. +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 54.0.0 +//! DATE: 2026-05-05, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `bm1-3`, CPU: `Intel(R) Xeon(R) E-2388G CPU @ 3.20GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 + +// Executed Command: +// frame-omni-bencher +// v1 +// benchmark +// pallet +// --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-polkadot-runtime/asset_hub_polkadot_runtime.wasm +// --pallet=pallet_vesting_precompiles +// --header=/opt/actions-runner/_work/runtimes/runtimes/.github/scripts/cmd/file_header.txt +// --output=./system-parachains/asset-hubs/asset-hub-polkadot/src/weights +// --wasm-execution=compiled +// --steps=50 +// --repeat=20 +// --heap-pages=4096 +// --min-duration +// 1 +// --quiet + +#![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 `pallet_vesting_precompiles`. +pub struct WeightInfo(PhantomData); +impl pallet_vesting_precompiles::weights::WeightInfo for WeightInfo { + /// Storage: `Vesting::Vesting` (r:1 w:0) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn vesting_balance() -> Weight { + // Proof Size summary in bytes: + // Measured: `1554` + // Estimated: `4522` + // Minimum execution time: 14_838_000 picoseconds. + Weight::from_parts(15_740_000, 0) + .saturating_add(Weight::from_parts(0, 4522)) + .saturating_add(T::DbWeight::get().reads(3)) + } + /// Storage: `Revive::OriginalAccount` (r:1 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `Vesting::Vesting` (r:1 w:0) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:0) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn vesting_balance_of() -> Weight { + // Proof Size summary in bytes: + // Measured: `2352` + // Estimated: `4522` + // Minimum execution time: 20_172_000 picoseconds. + Weight::from_parts(21_237_000, 0) + .saturating_add(Weight::from_parts(0, 4522)) + .saturating_add(T::DbWeight::get().reads(5)) + } +} diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs index 1db9431dcf..58aef5894c 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs @@ -1495,11 +1495,11 @@ impl pallet_assets_precompiles::ForeignAssetsConfig for Runtime { impl pallet_assets_precompiles::PermitConfig for Runtime { type ChainId = ::ChainId; - type WeightInfo = pallet_assets_precompiles::weights::SubstrateWeight; + type WeightInfo = weights::pallet_assets_precompiles::WeightInfo; } impl pallet_vesting_precompiles::pallet::Config for Runtime { - type WeightInfo = pallet_vesting_precompiles::weights::SubstrateWeight; + type WeightInfo = weights::pallet_vesting_precompiles::WeightInfo; } /// Precompile address identifier (embedded at bytes [16..18] of the H160 address). diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/mod.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/mod.rs index bd15fccd98..51ba6d41be 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/mod.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/mod.rs @@ -29,6 +29,7 @@ pub mod pallet_asset_rate; pub mod pallet_assets_foreign; pub mod pallet_assets_local; pub mod pallet_assets_pool; +pub mod pallet_assets_precompiles; pub mod pallet_bags_list; pub mod pallet_balances; pub mod pallet_bounties; @@ -60,6 +61,7 @@ pub mod pallet_treasury; pub mod pallet_uniques; pub mod pallet_utility; pub mod pallet_vesting; +pub mod pallet_vesting_precompiles; pub mod pallet_whitelist; pub mod pallet_xcm; pub mod pallet_xcm_bridge_hub_router; diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_assets_precompiles.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_assets_precompiles.rs index 3a775f01da..c5909fd973 100644 --- a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_assets_precompiles.rs +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_assets_precompiles.rs @@ -17,7 +17,7 @@ //! Autogenerated weights for `pallet_assets_precompiles` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 54.0.0 -//! DATE: 2026-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2026-05-05, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `bm1-3`, CPU: `Intel(R) Xeon(R) E-2388G CPU @ 3.20GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 @@ -50,7 +50,7 @@ use core::marker::PhantomData; /// Weight functions for `pallet_assets_precompiles`. pub struct WeightInfo(PhantomData); -impl pallet_assets_precompiles::WeightInfo for WeightInfo { +impl pallet_assets_precompiles::weights::WeightInfo for WeightInfo { /// Storage: `ForeignAssets::Asset` (r:2 w:0) /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) /// Storage: `AssetsPrecompiles::ForeignAssetIdToAssetIndex` (r:1 w:1) @@ -63,8 +63,8 @@ impl pallet_assets_precompiles::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `154` // Estimated: `7556` - // Minimum execution time: 12_292_000 picoseconds. - Weight::from_parts(12_901_000, 0) + // Minimum execution time: 12_538_000 picoseconds. + Weight::from_parts(13_250_000, 0) .saturating_add(Weight::from_parts(0, 7556)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -75,8 +75,8 @@ impl pallet_assets_precompiles::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `244` // Estimated: `3569` - // Minimum execution time: 6_490_000 picoseconds. - Weight::from_parts(6_989_000, 0) + // Minimum execution time: 6_517_000 picoseconds. + Weight::from_parts(7_012_000, 0) .saturating_add(Weight::from_parts(0, 3569)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -84,32 +84,22 @@ impl pallet_assets_precompiles::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_776_000 picoseconds. - Weight::from_parts(1_894_000, 0) + // Minimum execution time: 1_781_000 picoseconds. + Weight::from_parts(1_899_000, 0) .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `ForeignAssets::Metadata` (r:1 w:0) - /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`) /// Storage: `Timestamp::Now` (r:1 w:0) /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) /// Storage: `AssetsPrecompilesPermit::Nonces` (r:1 w:1) /// Proof: `AssetsPrecompilesPermit::Nonces` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `Revive::OriginalAccount` (r:2 w:0) - /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Approvals` (r:1 w:1) - /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn use_permit() -> Weight { // Proof Size summary in bytes: - // Measured: `2474` - // Estimated: `6044` - // Minimum execution time: 89_122_000 picoseconds. - Weight::from_parts(91_496_000, 0) - .saturating_add(Weight::from_parts(0, 6044)) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(4)) + // Measured: `188` + // Estimated: `3569` + // Minimum execution time: 41_815_000 picoseconds. + Weight::from_parts(42_526_000, 0) + .saturating_add(Weight::from_parts(0, 3569)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) } } diff --git a/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_vesting_precompiles.rs b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_vesting_precompiles.rs new file mode 100644 index 0000000000..c858f88c3a --- /dev/null +++ b/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_vesting_precompiles.rs @@ -0,0 +1,88 @@ +// Copyright (C) Parity Technologies and the various Polkadot contributors, see Contributions.md +// for a list of specific contributors. +// 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_vesting_precompiles` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 54.0.0 +//! DATE: 2026-05-05, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `bm1-3`, CPU: `Intel(R) Xeon(R) E-2388G CPU @ 3.20GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 + +// Executed Command: +// frame-omni-bencher +// v1 +// benchmark +// pallet +// --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-polkadot-runtime/asset_hub_polkadot_runtime.wasm +// --pallet=pallet_vesting_precompiles +// --header=/opt/actions-runner/_work/runtimes/runtimes/.github/scripts/cmd/file_header.txt +// --output=./system-parachains/asset-hubs/asset-hub-polkadot/src/weights +// --wasm-execution=compiled +// --steps=50 +// --repeat=20 +// --heap-pages=4096 +// --min-duration +// 1 +// --quiet + +#![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 `pallet_vesting_precompiles`. +pub struct WeightInfo(PhantomData); +impl pallet_vesting_precompiles::weights::WeightInfo for WeightInfo { + /// Storage: `Vesting::Vesting` (r:1 w:0) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn vesting_balance() -> Weight { + // Proof Size summary in bytes: + // Measured: `1554` + // Estimated: `4522` + // Minimum execution time: 14_838_000 picoseconds. + Weight::from_parts(15_740_000, 0) + .saturating_add(Weight::from_parts(0, 4522)) + .saturating_add(T::DbWeight::get().reads(3)) + } + /// Storage: `Revive::OriginalAccount` (r:1 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `Vesting::Vesting` (r:1 w:0) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:0) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn vesting_balance_of() -> Weight { + // Proof Size summary in bytes: + // Measured: `2352` + // Estimated: `4522` + // Minimum execution time: 20_172_000 picoseconds. + Weight::from_parts(21_237_000, 0) + .saturating_add(Weight::from_parts(0, 4522)) + .saturating_add(T::DbWeight::get().reads(5)) + } +}