From 9ab7d7cddbbc14fa5b415f02b8e14105fdc657ba Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Fri, 9 Feb 2024 14:55:39 +0100 Subject: [PATCH 01/45] Simple template compiles --- .../templates/simple/runtime/Cargo.toml | 7 ++ .../templates/simple/runtime/src/lib.rs | 82 +++++++++++-------- .../simple/runtime/src/xcm_config.rs | 60 +++++++++++--- 3 files changed, 103 insertions(+), 46 deletions(-) diff --git a/container-chains/templates/simple/runtime/Cargo.toml b/container-chains/templates/simple/runtime/Cargo.toml index 2edc99d07..da57f9b2a 100644 --- a/container-chains/templates/simple/runtime/Cargo.toml +++ b/container-chains/templates/simple/runtime/Cargo.toml @@ -37,6 +37,7 @@ frame-system-rpc-runtime-api = { workspace = true } pallet-balances = { workspace = true } pallet-proxy = { workspace = true } pallet-root-testing = { workspace = true } +pallet-message-queue = { workspace = true } pallet-session = { workspace = true } pallet-sudo = { workspace = true } pallet-timestamp = { workspace = true } @@ -79,6 +80,7 @@ cumulus-primitives-core = { workspace = true } cumulus-primitives-timestamp = { workspace = true } cumulus-primitives-utility = { workspace = true } parachain-info = { workspace = true } +parachains-common = { workspace = true } # Benchmarking frame-benchmarking = { workspace = true, optional = true } @@ -112,6 +114,7 @@ std = [ "pallet-balances/std", "pallet-cc-authorities-noting/std", "pallet-maintenance-mode/std", + "pallet-message-queue/std", "pallet-migrations/std", "pallet-proxy/std", "pallet-root-testing/std", @@ -125,6 +128,7 @@ std = [ "pallet-xcm-benchmarks?/std", "pallet-xcm/std", "parachain-info/std", + "parachains-common/std", "parity-scale-codec/std", "polkadot-parachain-primitives/std", "polkadot-runtime-common/std", @@ -169,6 +173,7 @@ runtime-benchmarks = [ "pallet-author-inherent/runtime-benchmarks", "pallet-balances/runtime-benchmarks", "pallet-cc-authorities-noting/runtime-benchmarks", + "pallet-message-queue/runtime-benchmarks", "pallet-migrations/runtime-benchmarks", "pallet-proxy/runtime-benchmarks", "pallet-sudo/runtime-benchmarks", @@ -177,6 +182,7 @@ runtime-benchmarks = [ "pallet-utility/runtime-benchmarks", "pallet-xcm-benchmarks/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", + "parachains-common/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", @@ -201,6 +207,7 @@ try-runtime = [ "pallet-balances/try-runtime", "pallet-cc-authorities-noting/try-runtime", "pallet-maintenance-mode/try-runtime", + "pallet-message-queue/try-runtime", "pallet-migrations/try-runtime", "pallet-proxy/try-runtime", "pallet-root-testing/try-runtime", diff --git a/container-chains/templates/simple/runtime/src/lib.rs b/container-chains/templates/simple/runtime/src/lib.rs index 84e87a518..6baa1a406 100644 --- a/container-chains/templates/simple/runtime/src/lib.rs +++ b/container-chains/templates/simple/runtime/src/lib.rs @@ -31,7 +31,7 @@ pub use sp_runtime::BuildStorage; pub use sp_runtime::{MultiAddress, Perbill, Permill}; use { cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases, - cumulus_primitives_core::{relay_chain::BlockNumber as RelayBlockNumber, DmpMessageHandler}, + cumulus_primitives_core::{relay_chain::BlockNumber as RelayBlockNumber,AggregateMessageOrigin, DmpMessageHandler}, frame_support::{ construct_runtime, dispatch::DispatchClass, @@ -39,7 +39,7 @@ use { parameter_types, traits::{ ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, Contains, InsideBoth, - InstanceFilter, OffchainWorker, OnFinalize, OnIdle, OnInitialize, OnRuntimeUpgrade, + InstanceFilter, OffchainWorker, OnFinalize, OnIdle, OnInitialize, OnRuntimeUpgrade, BeforeAllRuntimeMigrations, }, weights::{ constants::{ @@ -335,6 +335,7 @@ impl frame_system::Config for Runtime { /// The action to take on a Runtime Upgrade type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; type MaxConsumers = frame_support::traits::ConstU32<16>; + type RuntimeTask = RuntimeTask; } impl pallet_timestamp::Config for Runtime { @@ -389,6 +390,7 @@ impl pallet_transaction_payment::Config for Runtime { parameter_types! { pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; } pub const RELAY_CHAIN_SLOT_DURATION_MILLIS: u32 = 6000; @@ -402,11 +404,14 @@ type ConsensusHook = pallet_async_backing::consensus_hook::FixedVelocityConsensu >; impl cumulus_pallet_parachain_system::Config for Runtime { + type WeightInfo = (); type RuntimeEvent = RuntimeEvent; type OnSystemEvent = (); - type SelfParaId = parachain_info::Pallet; type OutboundXcmpMessageSource = XcmpQueue; - type DmpMessageHandler = MaintenanceMode; + type SelfParaId = parachain_info::Pallet; + // type DmpMessageHandler = MaintenanceMode; + // TODO integrate MaintenanceMode with DmpQueue + type DmpQueue = frame_support::traits::EnqueueWithOrigin; type ReservedDmpWeight = ReservedDmpWeight; type XcmpMessageHandler = XcmpQueue; type ReservedXcmpWeight = ReservedXcmpWeight; @@ -584,37 +589,43 @@ impl Contains for NormalFilter { } } -pub struct NormalDmpHandler; -impl DmpMessageHandler for NormalDmpHandler { - // This implementation makes messages be queued - // Since the limit is 0, messages are queued for next iteration - fn handle_dmp_messages( - iter: impl Iterator)>, - limit: Weight, - ) -> Weight { - (if Migrations::should_pause_xcm() { - DmpQueue::handle_dmp_messages(iter, Weight::zero()) - } else { - DmpQueue::handle_dmp_messages(iter, limit) - }) + ::DbWeight::get().reads(1) - } -} - -pub struct MaintenanceDmpHandler; -impl DmpMessageHandler for MaintenanceDmpHandler { - // This implementation makes messages be queued - // Since the limit is 0, messages are queued for next iteration - fn handle_dmp_messages( - iter: impl Iterator)>, - _limit: Weight, - ) -> Weight { - DmpQueue::handle_dmp_messages(iter, Weight::zero()) - } -} +// pub struct NormalDmpHandler; +// impl DmpMessageHandler for NormalDmpHandler { +// // This implementation makes messages be queued +// // Since the limit is 0, messages are queued for next iteration +// fn handle_dmp_messages( +// iter: impl Iterator)>, +// limit: Weight, +// ) -> Weight { +// (if Migrations::should_pause_xcm() { +// DmpQueue::handle_dmp_messages(iter, Weight::zero()) +// } else { +// DmpQueue::handle_dmp_messages(iter, limit) +// }) + ::DbWeight::get().reads(1) +// } +// } + +// pub struct MaintenanceDmpHandler; +// impl DmpMessageHandler for MaintenanceDmpHandler { +// // This implementation makes messages be queued +// // Since the limit is 0, messages are queued for next iteration +// fn handle_dmp_messages( +// iter: impl Iterator)>, +// _limit: Weight, +// ) -> Weight { +// DmpQueue::handle_dmp_messages(iter, Weight::zero()) +// } +// } /// The hooks we want to run in Maintenance Mode pub struct MaintenanceHooks; +impl BeforeAllRuntimeMigrations for MaintenanceHooks { + fn before_all_runtime_migrations() -> Weight { + ::before_all_runtime_migrations() + } +} + impl OnInitialize for MaintenanceHooks { fn on_initialize(n: BlockNumber) -> Weight { AllPalletsWithSystem::on_initialize(n) @@ -661,8 +672,8 @@ impl pallet_maintenance_mode::Config for Runtime { type MaintenanceCallFilter = MaintenanceFilter; type MaintenanceOrigin = EnsureRoot; type XcmExecutionManager = XcmExecutionManager; - type NormalDmpHandler = NormalDmpHandler; - type MaintenanceDmpHandler = MaintenanceDmpHandler; + // type NormalDmpHandler = NormalDmpHandler; + // type MaintenanceDmpHandler = MaintenanceDmpHandler; // We use AllPalletsWithSystem because we dont want to change the hooks in normal // operation type NormalExecutiveHooks = AllPalletsWithSystem; @@ -687,7 +698,9 @@ impl pallet_author_inherent::Config for Runtime { type WeightInfo = pallet_author_inherent::weights::SubstrateWeight; } -impl pallet_root_testing::Config for Runtime {} +impl pallet_root_testing::Config for Runtime { + type RuntimeEvent = RuntimeEvent; +} impl pallet_tx_pause::Config for Runtime { type RuntimeEvent = RuntimeEvent; @@ -728,6 +741,7 @@ construct_runtime!( CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 71, DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 72, PolkadotXcm: pallet_xcm::{Pallet, Call, Storage, Event, Origin, Config} = 73, + MessageQueue: pallet_message_queue::{Pallet, Call, Storage, Event} = 74, RootTesting: pallet_root_testing = 100, AsyncBacking: pallet_async_backing::{Pallet, Storage} = 110, diff --git a/container-chains/templates/simple/runtime/src/xcm_config.rs b/container-chains/templates/simple/runtime/src/xcm_config.rs index 2bdd6e332..be52393f9 100644 --- a/container-chains/templates/simple/runtime/src/xcm_config.rs +++ b/container-chains/templates/simple/runtime/src/xcm_config.rs @@ -16,32 +16,34 @@ use { super::{ - AccountId, AllPalletsWithSystem, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, - Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue, + AccountId, AllPalletsWithSystem, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, MaintenanceMode, + Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue, MessageQueue, RuntimeBlockWeights, }, - cumulus_primitives_core::ParaId, frame_support::{ parameter_types, - traits::{Everything, Nothing, PalletInfoAccess}, + traits::{Everything, Nothing, PalletInfoAccess, TransformOrigin}, weights::Weight, }, frame_system::EnsureRoot, pallet_xcm::XcmPassthrough, polkadot_runtime_common::xcm_sender::NoPriceForMessageDelivery, sp_core::ConstU32, + sp_runtime::Perbill, staging_xcm::latest::prelude::*, staging_xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, - AllowTopLevelPaidExecutionFrom, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, + AllowTopLevelPaidExecutionFrom, EnsureXcmOrigin, FixedWeightBounds, FungibleAdapter, IsConcrete, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, WithComputedOrigin, }, staging_xcm_executor::XcmExecutor, + cumulus_primitives_core::{AggregateMessageOrigin, ParaId}, + parachains_common::message_queue::{NarrowOriginToSibling, ParaIdToSibling}, }; parameter_types! { - // Self Reserve location, defines the multilocation identifiying the self-reserve currency + // Self Reserve location, defines the multilocation identifying the self-reserve currency // This is used to match it also against our Balances pallet when we receive such // a MultiLocation: (Self Balances pallet index) // We use the RELATIVE multilocation @@ -115,7 +117,7 @@ pub type LocationToAccountId = ( pub type LocalOriginToLocation = SignedToAccountId32; /// Means for transacting the native currency on this chain. -pub type CurrencyTransactor = CurrencyAdapter< +pub type CurrencyTransactor = FungibleAdapter< // Use this currency: Balances, // Use this currency when it is a fungible asset matching the given location or name: @@ -223,14 +225,15 @@ impl pallet_xcm::Config for Runtime { impl cumulus_pallet_xcmp_queue::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; type ChannelInfo = ParachainSystem; type VersionWrapper = PolkadotXcm; - type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; type PriceForSiblingDelivery = NoPriceForMessageDelivery; + // Enqueue XCMP messages from siblings for later processing. + type XcmpQueue = TransformOrigin; + type MaxInboundSuspended = sp_core::ConstU32<1_000>; } impl cumulus_pallet_xcm::Config for Runtime { @@ -238,8 +241,41 @@ impl cumulus_pallet_xcm::Config for Runtime { type XcmExecutor = XcmExecutor; } +parameter_types! { + pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; +} + impl cumulus_pallet_dmp_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; - type ExecuteOverweightOrigin = EnsureRoot; + type WeightInfo = cumulus_pallet_dmp_queue::weights::SubstrateWeight; + type RuntimeEvent = RuntimeEvent; + type DmpSink = frame_support::traits::EnqueueWithOrigin; +} + +parameter_types! { + // TODO verify 35% + pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; +} + +impl pallet_message_queue::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type WeightInfo = (); + #[cfg(feature = "runtime-benchmarks")] + type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor< + cumulus_primitives_core::AggregateMessageOrigin, + >; + #[cfg(not(feature = "runtime-benchmarks"))] + type MessageProcessor = staging_xcm_builder::ProcessXcmMessage< + AggregateMessageOrigin, + XcmExecutor, + RuntimeCall, + >; + type Size = u32; + // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin: + type QueueChangeHandler = NarrowOriginToSibling; + // NarrowOriginToSibling calls XcmpQueue's is_pause if Origin is sibling. Allows all other origins + type QueuePausedQuery = (MaintenanceMode, NarrowOriginToSibling); + // TODO verify values + type HeapSize = sp_core::ConstU32<{ 64 * 1024 }>; + type MaxStale = sp_core::ConstU32<8>; + type ServiceWeight = MessageQueueServiceWeight; } From 3ef4d8f96a73de3b6cb3d153761d5b2100f49bf0 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Fri, 9 Feb 2024 15:09:46 +0100 Subject: [PATCH 02/45] Simple template cleanup --- .../templates/simple/runtime/src/lib.rs | 102 ++---------------- .../simple/runtime/src/xcm_config.rs | 63 +++++------ 2 files changed, 40 insertions(+), 125 deletions(-) diff --git a/container-chains/templates/simple/runtime/src/lib.rs b/container-chains/templates/simple/runtime/src/lib.rs index 6baa1a406..99bc16fb8 100644 --- a/container-chains/templates/simple/runtime/src/lib.rs +++ b/container-chains/templates/simple/runtime/src/lib.rs @@ -31,15 +31,14 @@ pub use sp_runtime::BuildStorage; pub use sp_runtime::{MultiAddress, Perbill, Permill}; use { cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases, - cumulus_primitives_core::{relay_chain::BlockNumber as RelayBlockNumber,AggregateMessageOrigin, DmpMessageHandler}, + cumulus_primitives_core::AggregateMessageOrigin, frame_support::{ construct_runtime, dispatch::DispatchClass, pallet_prelude::DispatchResult, parameter_types, traits::{ - ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, Contains, InsideBoth, - InstanceFilter, OffchainWorker, OnFinalize, OnIdle, OnInitialize, OnRuntimeUpgrade, BeforeAllRuntimeMigrations, + ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, Contains, InsideBoth, InstanceFilter, }, weights::{ constants::{ @@ -136,7 +135,7 @@ pub type Executive = frame_executive::Executive< Block, frame_system::ChainContext, Runtime, - pallet_maintenance_mode::ExecutiveHooks, + AllPalletsWithSystem, >; /// Handles converting a weight scalar to a fee value, based on the scale and granularity of the @@ -335,7 +334,7 @@ impl frame_system::Config for Runtime { /// The action to take on a Runtime Upgrade type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; type MaxConsumers = frame_support::traits::ConstU32<16>; - type RuntimeTask = RuntimeTask; + type RuntimeTask = RuntimeTask; } impl pallet_timestamp::Config for Runtime { @@ -390,7 +389,7 @@ impl pallet_transaction_payment::Config for Runtime { parameter_types! { pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); - pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; + pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; } pub const RELAY_CHAIN_SLOT_DURATION_MILLIS: u32 = 6000; @@ -404,14 +403,12 @@ type ConsensusHook = pallet_async_backing::consensus_hook::FixedVelocityConsensu >; impl cumulus_pallet_parachain_system::Config for Runtime { - type WeightInfo = (); + type WeightInfo = cumulus_pallet_parachain_system::weights::SubstrateWeight; type RuntimeEvent = RuntimeEvent; type OnSystemEvent = (); type OutboundXcmpMessageSource = XcmpQueue; type SelfParaId = parachain_info::Pallet; - // type DmpMessageHandler = MaintenanceMode; - // TODO integrate MaintenanceMode with DmpQueue - type DmpQueue = frame_support::traits::EnqueueWithOrigin; + type DmpQueue = frame_support::traits::EnqueueWithOrigin; type ReservedDmpWeight = ReservedDmpWeight; type XcmpMessageHandler = XcmpQueue; type ReservedXcmpWeight = ReservedXcmpWeight; @@ -589,95 +586,12 @@ impl Contains for NormalFilter { } } -// pub struct NormalDmpHandler; -// impl DmpMessageHandler for NormalDmpHandler { -// // This implementation makes messages be queued -// // Since the limit is 0, messages are queued for next iteration -// fn handle_dmp_messages( -// iter: impl Iterator)>, -// limit: Weight, -// ) -> Weight { -// (if Migrations::should_pause_xcm() { -// DmpQueue::handle_dmp_messages(iter, Weight::zero()) -// } else { -// DmpQueue::handle_dmp_messages(iter, limit) -// }) + ::DbWeight::get().reads(1) -// } -// } - -// pub struct MaintenanceDmpHandler; -// impl DmpMessageHandler for MaintenanceDmpHandler { -// // This implementation makes messages be queued -// // Since the limit is 0, messages are queued for next iteration -// fn handle_dmp_messages( -// iter: impl Iterator)>, -// _limit: Weight, -// ) -> Weight { -// DmpQueue::handle_dmp_messages(iter, Weight::zero()) -// } -// } - -/// The hooks we want to run in Maintenance Mode -pub struct MaintenanceHooks; - -impl BeforeAllRuntimeMigrations for MaintenanceHooks { - fn before_all_runtime_migrations() -> Weight { - ::before_all_runtime_migrations() - } -} - -impl OnInitialize for MaintenanceHooks { - fn on_initialize(n: BlockNumber) -> Weight { - AllPalletsWithSystem::on_initialize(n) - } -} - -// We override onIdle for xcmQueue and dmpQueue pallets to not process messages inside it -impl OnIdle for MaintenanceHooks { - fn on_idle(_n: BlockNumber, _max_weight: Weight) -> Weight { - Weight::zero() - } -} - -impl OnRuntimeUpgrade for MaintenanceHooks { - fn on_runtime_upgrade() -> Weight { - AllPalletsWithSystem::on_runtime_upgrade() - } - #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result, sp_runtime::DispatchError> { - AllPalletsWithSystem::pre_upgrade() - } - - #[cfg(feature = "try-runtime")] - fn post_upgrade(state: Vec) -> Result<(), sp_runtime::DispatchError> { - AllPalletsWithSystem::post_upgrade(state) - } -} - -impl OnFinalize for MaintenanceHooks { - fn on_finalize(n: BlockNumber) { - AllPalletsWithSystem::on_finalize(n) - } -} - -impl OffchainWorker for MaintenanceHooks { - fn offchain_worker(n: BlockNumber) { - AllPalletsWithSystem::offchain_worker(n) - } -} - impl pallet_maintenance_mode::Config for Runtime { type RuntimeEvent = RuntimeEvent; type NormalCallFilter = NormalFilter; type MaintenanceCallFilter = MaintenanceFilter; type MaintenanceOrigin = EnsureRoot; type XcmExecutionManager = XcmExecutionManager; - // type NormalDmpHandler = NormalDmpHandler; - // type MaintenanceDmpHandler = MaintenanceDmpHandler; - // We use AllPalletsWithSystem because we dont want to change the hooks in normal - // operation - type NormalExecutiveHooks = AllPalletsWithSystem; - type MaintenanceExecutiveHooks = MaintenanceHooks; } impl pallet_cc_authorities_noting::Config for Runtime { @@ -741,7 +655,7 @@ construct_runtime!( CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 71, DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 72, PolkadotXcm: pallet_xcm::{Pallet, Call, Storage, Event, Origin, Config} = 73, - MessageQueue: pallet_message_queue::{Pallet, Call, Storage, Event} = 74, + MessageQueue: pallet_message_queue::{Pallet, Call, Storage, Event} = 74, RootTesting: pallet_root_testing = 100, AsyncBacking: pallet_async_backing::{Pallet, Storage} = 110, diff --git a/container-chains/templates/simple/runtime/src/xcm_config.rs b/container-chains/templates/simple/runtime/src/xcm_config.rs index be52393f9..56eb1e64b 100644 --- a/container-chains/templates/simple/runtime/src/xcm_config.rs +++ b/container-chains/templates/simple/runtime/src/xcm_config.rs @@ -16,9 +16,11 @@ use { super::{ - AccountId, AllPalletsWithSystem, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, MaintenanceMode, - Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue, MessageQueue, RuntimeBlockWeights, + AccountId, AllPalletsWithSystem, Balances, MaintenanceMode, MessageQueue, ParachainInfo, + ParachainSystem, PolkadotXcm, Runtime, RuntimeBlockWeights, RuntimeCall, RuntimeEvent, + RuntimeOrigin, WeightToFee, XcmpQueue, }, + cumulus_primitives_core::{AggregateMessageOrigin, ParaId}, frame_support::{ parameter_types, traits::{Everything, Nothing, PalletInfoAccess, TransformOrigin}, @@ -26,6 +28,7 @@ use { }, frame_system::EnsureRoot, pallet_xcm::XcmPassthrough, + parachains_common::message_queue::{NarrowOriginToSibling, ParaIdToSibling}, polkadot_runtime_common::xcm_sender::NoPriceForMessageDelivery, sp_core::ConstU32, sp_runtime::Perbill, @@ -38,8 +41,6 @@ use { SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, WithComputedOrigin, }, staging_xcm_executor::XcmExecutor, - cumulus_primitives_core::{AggregateMessageOrigin, ParaId}, - parachains_common::message_queue::{NarrowOriginToSibling, ParaIdToSibling}, }; parameter_types! { @@ -232,8 +233,8 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; type PriceForSiblingDelivery = NoPriceForMessageDelivery; // Enqueue XCMP messages from siblings for later processing. - type XcmpQueue = TransformOrigin; - type MaxInboundSuspended = sp_core::ConstU32<1_000>; + type XcmpQueue = TransformOrigin; + type MaxInboundSuspended = sp_core::ConstU32<1_000>; } impl cumulus_pallet_xcm::Config for Runtime { @@ -242,40 +243,40 @@ impl cumulus_pallet_xcm::Config for Runtime { } parameter_types! { - pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; + pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; } impl cumulus_pallet_dmp_queue::Config for Runtime { - type WeightInfo = cumulus_pallet_dmp_queue::weights::SubstrateWeight; - type RuntimeEvent = RuntimeEvent; - type DmpSink = frame_support::traits::EnqueueWithOrigin; + type WeightInfo = cumulus_pallet_dmp_queue::weights::SubstrateWeight; + type RuntimeEvent = RuntimeEvent; + type DmpSink = frame_support::traits::EnqueueWithOrigin; } parameter_types! { - // TODO verify 35% - pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; + // TODO verify 35% + pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; } impl pallet_message_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type WeightInfo = (); - #[cfg(feature = "runtime-benchmarks")] - type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor< - cumulus_primitives_core::AggregateMessageOrigin, - >; - #[cfg(not(feature = "runtime-benchmarks"))] - type MessageProcessor = staging_xcm_builder::ProcessXcmMessage< - AggregateMessageOrigin, - XcmExecutor, - RuntimeCall, - >; - type Size = u32; - // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin: - type QueueChangeHandler = NarrowOriginToSibling; + type RuntimeEvent = RuntimeEvent; + type WeightInfo = (); + #[cfg(feature = "runtime-benchmarks")] + type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor< + cumulus_primitives_core::AggregateMessageOrigin, + >; + #[cfg(not(feature = "runtime-benchmarks"))] + type MessageProcessor = staging_xcm_builder::ProcessXcmMessage< + AggregateMessageOrigin, + XcmExecutor, + RuntimeCall, + >; + type Size = u32; + // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin: + type QueueChangeHandler = NarrowOriginToSibling; // NarrowOriginToSibling calls XcmpQueue's is_pause if Origin is sibling. Allows all other origins - type QueuePausedQuery = (MaintenanceMode, NarrowOriginToSibling); + type QueuePausedQuery = (MaintenanceMode, NarrowOriginToSibling); // TODO verify values - type HeapSize = sp_core::ConstU32<{ 64 * 1024 }>; - type MaxStale = sp_core::ConstU32<8>; - type ServiceWeight = MessageQueueServiceWeight; + type HeapSize = sp_core::ConstU32<{ 64 * 1024 }>; + type MaxStale = sp_core::ConstU32<8>; + type ServiceWeight = MessageQueueServiceWeight; } From d8c9bcdf762dd0f2a24f20c9eed5814ec14fc18c Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Fri, 9 Feb 2024 15:23:57 +0100 Subject: [PATCH 03/45] Simple template chainspec --- .../templates/simple/node/src/chain_spec.rs | 216 +++++++++++++----- 1 file changed, 153 insertions(+), 63 deletions(-) diff --git a/container-chains/templates/simple/node/src/chain_spec.rs b/container-chains/templates/simple/node/src/chain_spec.rs index 45ee29dd3..589e5a8a3 100644 --- a/container-chains/templates/simple/node/src/chain_spec.rs +++ b/container-chains/templates/simple/node/src/chain_spec.rs @@ -89,29 +89,47 @@ pub fn development_config(para_id: ParaId, boot_nodes: Vec) -> ChainSpec }) .collect(); - ChainSpec::from_genesis( - // Name - "Development", - // ID - "dev", - ChainType::Development, - move || { - testnet_genesis( - default_funded_accounts.clone(), - para_id, - get_account_id_from_seed::("Alice"), - ) - }, - boot_nodes, - None, - None, - None, - Some(properties), - Extensions { - relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - para_id: para_id.into(), - }, - ) + // ChainSpec::from_genesis( + // // Name + // "Development", + // // ID + // "dev", + // ChainType::Development, + // move || { + // testnet_genesis( + // default_funded_accounts.clone(), + // para_id, + // get_account_id_from_seed::("Alice"), + // ) + // }, + // boot_nodes, + // None, + // None, + // None, + // Some(properties), + // Extensions { + // relay_chain: "rococo-local".into(), // You MUST set this to the correct network! + // para_id: para_id.into(), + // }, + // ) + + ChainSpec::builder( + moonkit_template_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), + Extensions { + relay_chain: "rococo-local".into(), // You MUST set this to the correct network! + para_id: para_id.into(), + }, + ) + .with_name("Development") + .with_id("dev") + .with_chain_type(ChainType::Development) + .with_genesis_config(testnet_genesis( + default_funded_accounts.clone(), + para_id, + get_account_id_from_seed::("Alice"), + )) + .with_boot_nodes(boot_nodes) + .build() } pub fn local_testnet_config(para_id: ParaId, boot_nodes: Vec) -> ChainSpec { @@ -134,57 +152,114 @@ pub fn local_testnet_config(para_id: ParaId, boot_nodes: Vec) -> ChainSp }) .collect(); - ChainSpec::from_genesis( - // Name - &format!("Simple Container {}", para_id), - // ID - &format!("simple_container_{}", para_id), - ChainType::Local, - move || { - testnet_genesis( - default_funded_accounts.clone(), - para_id, - get_account_id_from_seed::("Alice"), - ) - }, - // Bootnodes - boot_nodes, - // Telemetry - None, - // Protocol ID - protocol_id.as_deref(), - // Fork ID - None, - // Properties - Some(properties), - // Extensions - Extensions { - relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - para_id: para_id.into(), - }, - ) + // ChainSpec::from_genesis( + // // Name + // &format!("Simple Container {}", para_id), + // // ID + // &format!("simple_container_{}", para_id), + // ChainType::Local, + // move || { + // testnet_genesis( + // default_funded_accounts.clone(), + // para_id, + // get_account_id_from_seed::("Alice"), + // ) + // }, + // // Bootnodes + // boot_nodes, + // // Telemetry + // None, + // // Protocol ID + // protocol_id.as_deref(), + // // Fork ID + // None, + // // Properties + // Some(properties), + // // Extensions + // Extensions { + // relay_chain: "rococo-local".into(), // You MUST set this to the correct network! + // para_id: para_id.into(), + // }, + // ) + + ChainSpec::builder( + moonkit_template_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), + Extensions { + relay_chain: "rococo-local".into(), // You MUST set this to the correct network! + para_id: para_id.into(), + }, + ) + .with_name(&format!("Simple Container {}", para_id)) + .with_id(&format!("simple_container_{}", para_id)) + .with_chain_type(ChainType::Local) + .with_genesis_config(testnet_genesis( + default_funded_accounts.clone(), + para_id, + get_account_id_from_seed::("Alice"), + )) + .with_protocol_id(protocol_id.as_deref()) + .with_boot_nodes(boot_nodes) + .build() } +// fn testnet_genesis( +// endowed_accounts: Vec, +// id: ParaId, +// root_key: AccountId, +// ) -> container_chain_template_simple_runtime::RuntimeGenesisConfig { +// container_chain_template_simple_runtime::RuntimeGenesisConfig { +// system: container_chain_template_simple_runtime::SystemConfig { +// code: container_chain_template_simple_runtime::WASM_BINARY +// .expect("WASM binary was not build, please build it!") +// .to_vec(), +// ..Default::default() +// }, +// balances: container_chain_template_simple_runtime::BalancesConfig { +// balances: endowed_accounts +// .iter() +// .cloned() +// .map(|k| (k, 1 << 60)) +// .collect(), +// }, +// parachain_info: container_chain_template_simple_runtime::ParachainInfoConfig { +// parachain_id: id, +// ..Default::default() +// }, +// parachain_system: Default::default(), +// sudo: container_chain_template_simple_runtime::SudoConfig { +// key: Some(root_key), +// }, +// authorities_noting: container_chain_template_simple_runtime::AuthoritiesNotingConfig { +// orchestrator_para_id: ORCHESTRATOR, +// ..Default::default() +// }, +// migrations: MigrationsConfig::default(), +// maintenance_mode: MaintenanceModeConfig { +// start_in_maintenance_mode: false, +// ..Default::default() +// }, +// // This should initialize it to whatever we have set in the pallet +// polkadot_xcm: PolkadotXcmConfig::default(), +// transaction_payment: Default::default(), +// tx_pause: Default::default(), +// } +// } + + fn testnet_genesis( endowed_accounts: Vec, id: ParaId, root_key: AccountId, -) -> container_chain_template_simple_runtime::RuntimeGenesisConfig { - container_chain_template_simple_runtime::RuntimeGenesisConfig { - system: container_chain_template_simple_runtime::SystemConfig { - code: container_chain_template_simple_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!") - .to_vec(), - ..Default::default() - }, - balances: container_chain_template_simple_runtime::BalancesConfig { +) -> serde_json::Value { + let g = moonkit_template_runtime::RuntimeGenesisConfig { + balances: container_chain_template_simple_runtime::BalancesConfig { balances: endowed_accounts .iter() .cloned() .map(|k| (k, 1 << 60)) .collect(), }, - parachain_info: container_chain_template_simple_runtime::ParachainInfoConfig { + parachain_info: container_chain_template_simple_runtime::ParachainInfoConfig { parachain_id: id, ..Default::default() }, @@ -205,7 +280,15 @@ fn testnet_genesis( polkadot_xcm: PolkadotXcmConfig::default(), transaction_payment: Default::default(), tx_pause: Default::default(), - } + system: container_chain_template_simple_runtime::SystemConfig { + code: container_chain_template_simple_runtime::WASM_BINARY + .expect("WASM binary was not build, please build it!") + .to_vec(), + ..Default::default() + }, + }; + + serde_json::to_value(&g).unwrap() } /// Get pre-funded accounts @@ -225,3 +308,10 @@ pub fn pre_funded_accounts() -> Vec { get_account_id_from_seed::("Ferdie//stash"), ] } + +#[test] +fn chain_spec_as_json_raw_works() { + let x = local_testnet_config(); + let raw = true; + assert!(x.as_json(raw).is_ok()); +} From ac5fea84dadebe67619a45debcb917f012e931de Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 13 Feb 2024 01:32:04 +0100 Subject: [PATCH 04/45] Complete build green --- Cargo.lock | 2557 ++++++++++------- Cargo.toml | 328 +-- .../consensus/src/consensus_orchestrator.rs | 5 +- client/consensus/src/manual_seal.rs | 7 +- client/consensus/src/tests.rs | 11 +- client/node-common/src/command.rs | 60 + client/node-common/src/lib.rs | 2 + client/node-common/src/service.rs | 10 +- .../templates/frontier/node/Cargo.toml | 3 +- .../templates/frontier/node/src/chain_spec.rs | 89 +- .../templates/frontier/node/src/cli.rs | 3 +- .../templates/frontier/node/src/command.rs | 6 +- .../templates/frontier/node/src/rpc/mod.rs | 6 +- .../templates/frontier/node/src/service.rs | 4 +- .../templates/frontier/runtime/Cargo.toml | 7 + .../templates/frontier/runtime/src/lib.rs | 96 +- .../frontier/runtime/src/xcm_config.rs | 56 +- .../templates/simple/node/Cargo.toml | 2 + .../templates/simple/node/src/chain_spec.rs | 178 +- .../templates/simple/node/src/cli.rs | 3 +- .../templates/simple/node/src/command.rs | 6 +- .../templates/simple/node/src/service.rs | 3 +- .../simple/runtime/src/xcm_config.rs | 2 +- node/Cargo.toml | 2 +- node/src/chain_spec/dancebox.rs | 202 +- node/src/chain_spec/flashbox.rs | 202 +- node/src/cli.rs | 52 +- node/src/command.rs | 7 +- node/src/container_chain_spawner.rs | 2 +- node/src/service.rs | 8 +- pallets/author-noting/src/mock.rs | 1 + pallets/authority-assignment/src/mock.rs | 1 + pallets/authority-mapping/src/mock.rs | 1 + pallets/collator-assignment/src/mock.rs | 1 + pallets/configuration/src/mock.rs | 1 + pallets/data-preservers/src/mock.rs | 1 + pallets/inflation-rewards/src/mock.rs | 1 + pallets/initializer/src/mock.rs | 1 + pallets/invulnerables/src/mock.rs | 1 + pallets/pooled-staking/src/mock.rs | 1 + pallets/registrar/src/mock.rs | 1 + pallets/services-payment/src/lib.rs | 2 +- pallets/services-payment/src/mock.rs | 1 + primitives/consensus/src/mock.rs | 1 + runtime/dancebox/Cargo.toml | 2 + runtime/dancebox/src/lib.rs | 103 +- runtime/dancebox/src/migrations.rs | 241 +- runtime/dancebox/src/xcm_config.rs | 63 +- .../xcm/foreign_signed_based_sovereign.rs | 20 +- .../tests/common/xcm/foreign_sovereigns.rs | 27 +- runtime/dancebox/tests/common/xcm/mocknets.rs | 34 +- .../token_derivative_reception_container.rs | 14 +- .../xcm/token_derivative_reception_relay.rs | 21 +- runtime/dancebox/tests/common/xcm/transact.rs | 24 +- runtime/dancebox/tests/common/xcm/trap.rs | 4 +- runtime/dancebox/tests/integration_test.rs | 94 +- runtime/flashbox/src/lib.rs | 34 +- runtime/flashbox/src/migrations.rs | 32 +- rust-toolchain | 4 +- 59 files changed, 2418 insertions(+), 2233 deletions(-) create mode 100644 client/node-common/src/command.rs diff --git a/Cargo.lock b/Cargo.lock index 57dfa08f4..3cd9c657c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -77,7 +77,7 @@ version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.12", "once_cell", "version_check", ] @@ -89,7 +89,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" dependencies = [ "cfg-if", - "getrandom 0.2.11", + "getrandom 0.2.12", "once_cell", "version_check", "zerocopy", @@ -142,9 +142,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.5" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6" +checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" dependencies = [ "anstyle", "anstyle-parse", @@ -156,9 +156,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +checksum = "2faccea4cc4ab4a667ce676a30e8ec13922a692c99bb8f5b11f1502c72e04220" [[package]] name = "anstyle-parse" @@ -205,16 +205,16 @@ dependencies = [ [[package]] name = "aquamarine" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1da02abba9f9063d786eab1509833ebb2fac0f966862ca59439c76b9c566760" +checksum = "074b80d14d0240b6ce94d68f059a2d26a5d77280ae142662365a21ef6e2594ef" dependencies = [ "include_dir", "itertools 0.10.5", "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.48", ] [[package]] @@ -257,18 +257,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ark-ed-on-bls12-381-bandersnatch" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-std", -] - [[package]] name = "ark-ff" version = "0.4.2" @@ -325,35 +313,6 @@ dependencies = [ "hashbrown 0.13.2", ] -[[package]] -name = "ark-scale" -version = "0.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51bd73bb6ddb72630987d37fa963e99196896c0d0ea81b7c894567e74a2f83af" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "ark-secret-scalar" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=4b09416#4b09416fd23383ec436ddac127d58c7b7cd392c6" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", - "ark-transcript", - "digest 0.10.7", - "rand_core 0.6.4", - "zeroize", -] - [[package]] name = "ark-serialize" version = "0.4.2" @@ -384,20 +343,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "ark-transcript" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=4b09416#4b09416fd23383ec436ddac127d58c7b7cd392c6" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "digest 0.10.7", - "rand_core 0.6.4", - "sha3", + "rand", ] [[package]] @@ -484,10 +430,69 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +[[package]] +name = "asset-test-utils" +version = "1.0.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "assets-common", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "cumulus-test-relay-sproof-builder", + "frame-support", + "frame-system", + "pallet-assets", + "pallet-balances", + "pallet-collator-selection", + "pallet-session", + "pallet-xcm", + "pallet-xcm-bridge-hub-router", + "parachains-common", + "parachains-runtimes-test-utils", + "parity-scale-codec", + "polkadot-parachain-primitives", + "sp-consensus-aura", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", +] + +[[package]] +name = "assets-common" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "impl-trait-for-tuples", + "log", + "pallet-asset-conversion", + "pallet-asset-tx-payment", + "pallet-xcm", + "parachains-common", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-runtime", + "sp-std", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", +] + [[package]] name = "async-backing-primitives" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "sp-api", "sp-consensus-slots", @@ -511,7 +516,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" dependencies = [ "concurrent-queue", - "event-listener 4.0.2", + "event-listener 4.0.3", "event-listener-strategy", "futures-core", "pin-project-lite 0.2.13", @@ -523,11 +528,11 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" dependencies = [ - "async-lock 3.2.0", + "async-lock 3.3.0", "async-task", "concurrent-queue", "fastrand 2.0.1", - "futures-lite 2.1.0", + "futures-lite 2.2.0", "slab", ] @@ -565,18 +570,18 @@ dependencies = [ [[package]] name = "async-io" -version = "2.2.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6afaa937395a620e33dc6a742c593c01aced20aa376ffb0f628121198578ccc7" +checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65" dependencies = [ - "async-lock 3.2.0", + "async-lock 3.3.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.1.0", + "futures-lite 2.2.0", "parking", - "polling 3.3.1", - "rustix 0.38.28", + "polling 3.3.2", + "rustix 0.38.30", "slab", "tracing", "windows-sys 0.52.0", @@ -593,11 +598,11 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" dependencies = [ - "event-listener 4.0.2", + "event-listener 4.0.3", "event-listener-strategy", "pin-project-lite 0.2.13", ] @@ -626,7 +631,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.28", + "rustix 0.38.30", "windows-sys 0.48.0", ] @@ -636,13 +641,13 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" dependencies = [ - "async-io 2.2.2", + "async-io 2.3.1", "async-lock 2.8.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.28", + "rustix 0.38.30", "signal-hook-registry", "slab", "windows-sys 0.48.0", @@ -650,9 +655,9 @@ dependencies = [ [[package]] name = "async-task" -version = "4.6.0" +version = "4.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d90cd0b264dfdd8eb5bad0a2c217c1f88fa96a8573f40e7b12de23fb468f46" +checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" [[package]] name = "async-trait" @@ -662,7 +667,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -706,30 +711,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edcdbedc2236483ab103a53415653d6b4442ea6141baf1ffa85df29635e88436" dependencies = [ "nix 0.27.1", - "rand 0.8.5", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", + "rand", ] [[package]] name = "auto_impl" -version = "1.1.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" +checksum = "823b8bb275161044e2ac7a25879cb3e2480cb403e3943022c7c769c599b756aa" dependencies = [ - "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.48", ] [[package]] @@ -753,27 +746,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "bandersnatch_vrfs" -version = "0.0.1" -source = "git+https://github.com/w3f/ring-vrf?rev=4b09416#4b09416fd23383ec436ddac127d58c7b7cd392c6" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ed-on-bls12-381-bandersnatch", - "ark-ff", - "ark-serialize", - "ark-std", - "dleq_vrf", - "fflonk", - "merlin 3.0.0", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "ring 0.1.0", - "sha2 0.10.8", - "zeroize", -] - [[package]] name = "base-x" version = "0.2.11" @@ -794,9 +766,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.5" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64ct" @@ -816,9 +788,9 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ - "hash-db 0.16.0", + "hash-db", "log", ] @@ -849,7 +821,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -859,6 +831,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" dependencies = [ "bitcoin_hashes", + "rand", + "rand_core 0.6.4", + "serde", + "unicode-normalization", ] [[package]] @@ -875,9 +851,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" [[package]] name = "bitvec" @@ -887,6 +863,7 @@ checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ "funty", "radium", + "serde", "tap", "wyz", ] @@ -1003,11 +980,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" dependencies = [ "async-channel 2.1.1", - "async-lock 3.2.0", + "async-lock 3.3.0", "async-task", "fastrand 2.0.1", "futures-io", - "futures-lite 2.1.0", + "futures-lite 2.2.0", "piper", "tracing", ] @@ -1033,10 +1010,142 @@ dependencies = [ "thiserror", ] +[[package]] +name = "bp-header-chain" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bp-runtime", + "finality-grandpa", + "frame-support", + "parity-scale-codec", + "scale-info", + "serde", + "sp-consensus-grandpa", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bp-messages" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bp-header-chain", + "bp-runtime", + "frame-support", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-std", +] + +[[package]] +name = "bp-parachains" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bp-header-chain", + "bp-polkadot-core", + "bp-runtime", + "frame-support", + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bp-polkadot-core" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bp-messages", + "bp-runtime", + "frame-support", + "frame-system", + "parity-scale-codec", + "parity-util-mem", + "scale-info", + "serde", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bp-relayers" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bp-messages", + "bp-runtime", + "frame-support", + "parity-scale-codec", + "scale-info", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bp-runtime" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "frame-support", + "frame-system", + "hash-db", + "impl-trait-for-tuples", + "log", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "trie-db", +] + +[[package]] +name = "bp-test-utils" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bp-header-chain", + "bp-parachains", + "bp-polkadot-core", + "bp-runtime", + "ed25519-dalek", + "finality-grandpa", + "parity-scale-codec", + "sp-application-crypto", + "sp-consensus-grandpa", + "sp-core", + "sp-runtime", + "sp-std", + "sp-trie", +] + +[[package]] +name = "bp-xcm-bridge-hub" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "sp-std", +] + [[package]] name = "bp-xcm-bridge-hub-router" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "scale-info", @@ -1044,6 +1153,41 @@ dependencies = [ "sp-runtime", ] +[[package]] +name = "bridge-runtime-common" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bp-header-chain", + "bp-messages", + "bp-parachains", + "bp-polkadot-core", + "bp-relayers", + "bp-runtime", + "bp-xcm-bridge-hub", + "bp-xcm-bridge-hub-router", + "frame-support", + "frame-system", + "hash-db", + "log", + "pallet-bridge-grandpa", + "pallet-bridge-messages", + "pallet-bridge-parachains", + "pallet-bridge-relayers", + "pallet-transaction-payment", + "pallet-utility", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-trie", + "staging-xcm", + "staging-xcm-builder", +] + [[package]] name = "bs58" version = "0.4.0" @@ -1109,9 +1253,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.14.0" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +checksum = "ed2490600f404f2b94c167e31d3ed1d5f3c225a0f3b80230053b3e0b7b962bd9" [[package]] name = "byteorder" @@ -1197,7 +1341,7 @@ dependencies = [ [[package]] name = "ccp-authorities-noting-inherent" version = "0.1.0" -source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.3.0#3b75e7f6d5c43d93aa0cc39d9df6c6a5bf815da0" +source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.6.0-preview#696579e35c1ecb3946ff1c746728549f62b0e10b" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1224,7 +1368,7 @@ dependencies = [ [[package]] name = "ccp-xcm" version = "0.1.0" -source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.3.0#3b75e7f6d5c43d93aa0cc39d9df6c6a5bf815da0" +source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.6.0-preview#696579e35c1ecb3946ff1c746728549f62b0e10b" dependencies = [ "frame-support", "frame-system", @@ -1303,16 +1447,16 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] [[package]] @@ -1323,7 +1467,7 @@ checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" dependencies = [ "core2", "multibase", - "multihash", + "multihash 0.17.0", "serde", "unsigned-varint", ] @@ -1370,9 +1514,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.12" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d" +checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c" dependencies = [ "clap_builder", "clap_derive", @@ -1380,14 +1524,15 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.12" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9" +checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7" dependencies = [ "anstream", "anstyle", "clap_lex", "strsim", + "terminal_size", ] [[package]] @@ -1399,7 +1544,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -1447,22 +1592,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "common" -version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "fflonk", - "getrandom_or_panic", - "merlin 3.0.0", - "rand_chacha 0.3.1", -] - [[package]] name = "common-path" version = "1.0.0" @@ -1480,15 +1609,15 @@ dependencies = [ [[package]] name = "console" -version = "0.15.7" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" dependencies = [ "encode_unicode", "lazy_static", "libc", "unicode-width", - "windows-sys 0.45.0", + "windows-sys 0.52.0", ] [[package]] @@ -1512,7 +1641,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.12", "once_cell", "tiny-keccak", ] @@ -1548,9 +1677,9 @@ dependencies = [ "cumulus-client-consensus-aura", "cumulus-client-consensus-common", "cumulus-client-network", + "cumulus-client-parachain-inherent", "cumulus-client-service", "cumulus-primitives-core", - "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", "cumulus-test-relay-sproof-builder", "fc-api", @@ -1602,6 +1731,7 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "serde", + "serde_json", "sp-api", "sp-block-builder", "sp-blockchain", @@ -1672,6 +1802,7 @@ dependencies = [ "pallet-evm-precompile-xcm-utils", "pallet-hotfix-sufficients", "pallet-maintenance-mode", + "pallet-message-queue", "pallet-migrations", "pallet-proxy", "pallet-root-testing", @@ -1683,7 +1814,7 @@ dependencies = [ "pallet-utility", "pallet-xcm", "pallet-xcm-benchmarks", - "parachain-info", + "parachains-common", "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-runtime-common", @@ -1705,6 +1836,7 @@ dependencies = [ "sp-transaction-pool", "sp-trie", "sp-version", + "staging-parachain-info", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -1726,6 +1858,7 @@ dependencies = [ "cumulus-client-consensus-aura", "cumulus-client-consensus-common", "cumulus-client-network", + "cumulus-client-parachain-inherent", "cumulus-client-service", "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", @@ -1764,6 +1897,7 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "serde", + "serde_json", "sp-api", "sp-block-builder", "sp-blockchain", @@ -1813,6 +1947,7 @@ dependencies = [ "pallet-balances", "pallet-cc-authorities-noting", "pallet-maintenance-mode", + "pallet-message-queue", "pallet-migrations", "pallet-proxy", "pallet-root-testing", @@ -1825,7 +1960,7 @@ dependencies = [ "pallet-utility", "pallet-xcm", "pallet-xcm-benchmarks", - "parachain-info", + "parachains-common", "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-runtime-common", @@ -1846,6 +1981,7 @@ dependencies = [ "sp-transaction-pool", "sp-trie", "sp-version", + "staging-parachain-info", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -1912,9 +2048,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] @@ -2043,44 +2179,37 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.17" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-queue" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc6598521bb5a83d491e8c1fe51db7296019d2ca3cb93cc6c2a20369a4d78a2" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.18" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c" -dependencies = [ - "cfg-if", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crunchy" @@ -2153,7 +2282,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "clap", "parity-scale-codec", @@ -2161,6 +2290,7 @@ dependencies = [ "sc-cli", "sc-client-api", "sc-service", + "sp-blockchain", "sp-core", "sp-runtime", "url", @@ -2169,7 +2299,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2192,15 +2322,15 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "cumulus-client-collator", "cumulus-client-consensus-common", "cumulus-client-consensus-proposer", + "cumulus-client-parachain-inherent", "cumulus-primitives-aura", "cumulus-primitives-core", - "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", "futures 0.3.30", "parity-scale-codec", @@ -2234,7 +2364,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2263,7 +2393,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "anyhow", "async-trait", @@ -2278,7 +2408,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2298,10 +2428,34 @@ dependencies = [ "tracing", ] +[[package]] +name = "cumulus-client-parachain-inherent" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "async-trait", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "cumulus-relay-chain-interface", + "cumulus-test-relay-sproof-builder", + "parity-scale-codec", + "sc-client-api", + "scale-info", + "sp-api", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-storage", + "sp-trie", + "tracing", +] + [[package]] name = "cumulus-client-pov-recovery" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2313,7 +2467,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-overseer", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-client-api", "sc-consensus", "sp-consensus", @@ -2325,7 +2479,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2333,6 +2487,7 @@ dependencies = [ "cumulus-client-network", "cumulus-client-pov-recovery", "cumulus-primitives-core", + "cumulus-primitives-proof-size-hostfunction", "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", "cumulus-relay-chain-minimal-node", @@ -2360,9 +2515,10 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "cumulus-primitives-core", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -2377,17 +2533,20 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", + "cumulus-primitives-proof-size-hostfunction", "environmental", + "frame-benchmarking", "frame-support", "frame-system", "impl-trait-for-tuples", "log", + "pallet-message-queue", "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-runtime-parachains", @@ -2408,18 +2567,18 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "cumulus-pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -2433,7 +2592,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2449,18 +2608,19 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ + "bounded-collections", "bp-xcm-bridge-hub-router", "cumulus-primitives-core", "frame-benchmarking", "frame-support", "frame-system", "log", + "pallet-message-queue", "parity-scale-codec", "polkadot-runtime-common", "polkadot-runtime-parachains", - "rand_chacha 0.3.1", "scale-info", "sp-core", "sp-io", @@ -2473,7 +2633,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2487,7 +2647,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2504,30 +2664,32 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "cumulus-primitives-core", - "cumulus-relay-chain-interface", - "cumulus-test-relay-sproof-builder", "parity-scale-codec", - "sc-client-api", "scale-info", - "sp-api", "sp-core", "sp-inherents", - "sp-runtime", - "sp-state-machine", "sp-std", - "sp-storage", "sp-trie", - "tracing", +] + +[[package]] +name = "cumulus-primitives-proof-size-hostfunction" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "sp-externalities", + "sp-runtime-interface", + "sp-trie", ] [[package]] name = "cumulus-primitives-timestamp" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "cumulus-primitives-core", "futures 0.3.30", @@ -2540,7 +2702,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2560,7 +2722,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2584,7 +2746,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2602,7 +2764,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "async-trait", @@ -2610,34 +2772,40 @@ dependencies = [ "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures 0.3.30", + "parking_lot 0.12.1", "polkadot-availability-recovery", "polkadot-collator-protocol", "polkadot-core-primitives", "polkadot-network-bridge", "polkadot-node-collation-generation", + "polkadot-node-core-chain-api", + "polkadot-node-core-prospective-parachains", "polkadot-node-core-runtime-api", "polkadot-node-network-protocol", "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", "sc-authority-discovery", + "sc-client-api", "sc-network", "sc-network-common", "sc-service", "sc-tracing", "sc-utils", "sp-api", + "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-runtime", "substrate-prometheus-endpoint", + "tokio", "tracing", ] [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2649,7 +2817,7 @@ dependencies = [ "parity-scale-codec", "pin-project", "polkadot-overseer", - "rand 0.8.5", + "rand", "sc-client-api", "sc-rpc-api", "sc-service", @@ -2665,6 +2833,7 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-storage", + "sp-version", "thiserror", "tokio", "tokio-util", @@ -2675,7 +2844,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -2737,7 +2906,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -2755,9 +2924,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.113" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048948e14bc2c2652ec606c8e3bb913407f0187288fb351a0b2d972beaf12070" +checksum = "8de00f15a6fa069c99b88c5c78c4541d0e7899a33b86f7480e23df2431fce0bc" dependencies = [ "cc", "cxxbridge-flags", @@ -2767,9 +2936,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.113" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85dfa5d7f0581f6ae796543fa6b2dd4a59e099e82a6adf2d6a96f908b349591d" +checksum = "0a71e1e631fa2f2f5f92e8b0d860a00c198c6771623a6cefcc863e3554f0d8d6" dependencies = [ "cc", "codespan-reporting", @@ -2777,24 +2946,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "cxxbridge-flags" -version = "1.0.113" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af40b0467c68d3d9fb7550ef984edc8ad47252f703ef0f1f2d1052e0e4af8793" +checksum = "6f3fed61d56ba497c4efef9144dfdbaa25aa58f2f6b3a7cf441d4591c583745c" [[package]] name = "cxxbridge-macro" -version = "1.0.113" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7743446286141c9f6d4497c493c01234eb848e14d2e20866ae9811eae0630cb9" +checksum = "8908e380a8efd42150c017b0cfa31509fc49b6d47f7cb6b33e93ffb8f4e3661e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -2814,6 +2983,7 @@ dependencies = [ "cumulus-primitives-utility", "cumulus-test-relay-sproof-builder", "dp-core", + "emulated-integration-tests-common", "frame-benchmarking", "frame-executive", "frame-support", @@ -2863,7 +3033,6 @@ dependencies = [ "pallet-utility", "pallet-xcm", "pallet-xcm-benchmarks", - "parachain-info", "parachains-common", "parity-scale-codec", "polkadot-parachain-primitives", @@ -2892,6 +3061,7 @@ dependencies = [ "sp-transaction-pool", "sp-trie", "sp-version", + "staging-parachain-info", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2935,7 +3105,7 @@ dependencies = [ [[package]] name = "dc-orchestrator-chain-interface" version = "0.1.0" -source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.3.0#3b75e7f6d5c43d93aa0cc39d9df6c6a5bf815da0" +source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.6.0-preview#696579e35c1ecb3946ff1c746728549f62b0e10b" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3103,24 +3273,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", -] - -[[package]] -name = "dleq_vrf" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=4b09416#4b09416fd23383ec436ddac127d58c7b7cd392c6" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-scale", - "ark-secret-scalar", - "ark-serialize", - "ark-std", - "ark-transcript", - "arrayvec 0.7.4", - "rand_core 0.6.4", - "zeroize", + "syn 2.0.48", ] [[package]] @@ -3144,9 +3297,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.46", + "syn 2.0.48", "termcolor", - "toml 0.8.2", + "toml 0.8.9", "walkdir", ] @@ -3171,7 +3324,7 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "dp-chain-state-snapshot" version = "0.1.0" -source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.3.0#3b75e7f6d5c43d93aa0cc39d9df6c6a5bf815da0" +source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.6.0-preview#696579e35c1ecb3946ff1c746728549f62b0e10b" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -3183,7 +3336,7 @@ dependencies = [ [[package]] name = "dp-collator-assignment" version = "0.1.0" -source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.3.0#3b75e7f6d5c43d93aa0cc39d9df6c6a5bf815da0" +source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.6.0-preview#696579e35c1ecb3946ff1c746728549f62b0e10b" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3203,7 +3356,7 @@ dependencies = [ [[package]] name = "dp-core" version = "0.1.0" -source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.3.0#3b75e7f6d5c43d93aa0cc39d9df6c6a5bf815da0" +source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.6.0-preview#696579e35c1ecb3946ff1c746728549f62b0e10b" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3344,6 +3497,41 @@ dependencies = [ "zeroize", ] +[[package]] +name = "emulated-integration-tests-common" +version = "1.0.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "asset-test-utils", + "bp-messages", + "bridge-runtime-common", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "frame-support", + "pallet-assets", + "pallet-balances", + "pallet-bridge-messages", + "pallet-im-online", + "pallet-message-queue", + "pallet-xcm", + "parachains-common", + "parity-scale-codec", + "paste", + "polkadot-primitives", + "polkadot-runtime-parachains", + "polkadot-service", + "sc-consensus-grandpa", + "serde_json", + "sp-authority-discovery", + "sp-consensus-babe", + "sp-consensus-beefy", + "sp-core", + "sp-runtime", + "staging-xcm", + "xcm-emulator", +] + [[package]] name = "encode_unicode" version = "0.3.6" @@ -3379,7 +3567,7 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -3390,14 +3578,14 @@ checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "env_logger" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ "humantime", "is-terminal", @@ -3445,20 +3633,20 @@ dependencies = [ [[package]] name = "ethereum" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a89fb87a9e103f71b903b80b670200b54cc67a07578f070681f1fffb7396fb7" +checksum = "2e04d24d20b8ff2235cffbf242d5092de3aa45f77c5270ddbfadd2778ca13fea" dependencies = [ "bytes", "ethereum-types", - "hash-db 0.15.2", + "hash-db", "hash256-std-hasher", "parity-scale-codec", "rlp", "scale-info", "serde", "sha3", - "triehash", + "trie-root", ] [[package]] @@ -3496,9 +3684,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "4.0.2" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "218a870470cce1469024e9fb66b901aa983929d81304a1cdb299f28118e550d5" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" dependencies = [ "concurrent-queue", "parking", @@ -3511,14 +3699,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" dependencies = [ - "event-listener 4.0.2", + "event-listener 4.0.3", "pin-project-lite 0.2.13", ] [[package]] name = "evm" -version = "0.39.1" -source = "git+https://github.com/rust-blockchain/evm?rev=b7b82c7e1fc57b7449d6dfa6826600de37cc1e65#b7b82c7e1fc57b7449d6dfa6826600de37cc1e65" +version = "0.41.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "767f43e9630cc36cf8ff2777cbb0121b055f0d1fd6eaaa13b46a1808f0d0e7e9" dependencies = [ "auto_impl", "environmental", @@ -3537,8 +3726,9 @@ dependencies = [ [[package]] name = "evm-core" -version = "0.39.0" -source = "git+https://github.com/rust-blockchain/evm?rev=b7b82c7e1fc57b7449d6dfa6826600de37cc1e65#b7b82c7e1fc57b7449d6dfa6826600de37cc1e65" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1da6cedc5cedb4208e59467106db0d1f50db01b920920589f8e672c02fdc04f" dependencies = [ "parity-scale-codec", "primitive-types", @@ -3548,8 +3738,9 @@ dependencies = [ [[package]] name = "evm-gasometer" -version = "0.39.0" -source = "git+https://github.com/rust-blockchain/evm?rev=b7b82c7e1fc57b7449d6dfa6826600de37cc1e65#b7b82c7e1fc57b7449d6dfa6826600de37cc1e65" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dc0eb591abc5cd7b05bef6a036c2bb6c66ab6c5e0c5ce94bfe377ab670b1fd7" dependencies = [ "environmental", "evm-core", @@ -3559,8 +3750,9 @@ dependencies = [ [[package]] name = "evm-runtime" -version = "0.39.0" -source = "git+https://github.com/rust-blockchain/evm?rev=b7b82c7e1fc57b7449d6dfa6826600de37cc1e65#b7b82c7e1fc57b7449d6dfa6826600de37cc1e65" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84bbe09b64ae13a29514048c1bb6fda6374ac0b4f6a1f15a443348ab88ef42cd" dependencies = [ "auto_impl", "environmental", @@ -3600,7 +3792,7 @@ dependencies = [ "fs-err", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -3664,7 +3856,7 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "async-trait", "fp-storage", @@ -3676,7 +3868,7 @@ dependencies = [ [[package]] name = "fc-cli" version = "1.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "clap", "ethereum-types", @@ -3694,7 +3886,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "async-trait", "fp-consensus", @@ -3710,7 +3902,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "async-trait", "ethereum", @@ -3741,7 +3933,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "fc-db", "fc-storage", @@ -3764,7 +3956,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "ethereum", "ethereum-types", @@ -3784,7 +3976,7 @@ dependencies = [ "pallet-evm", "parity-scale-codec", "prometheus", - "rand 0.8.5", + "rand", "rlp", "sc-client-api", "sc-consensus-aura", @@ -3804,6 +3996,7 @@ dependencies = [ "sp-consensus", "sp-consensus-aura", "sp-core", + "sp-externalities", "sp-inherents", "sp-io", "sp-runtime", @@ -3818,7 +4011,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "ethereum", "ethereum-types", @@ -3831,7 +4024,7 @@ dependencies = [ [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "ethereum", "ethereum-types", @@ -3848,11 +4041,12 @@ dependencies = [ [[package]] name = "fdlimit" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b" +checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", + "thiserror", ] [[package]] @@ -3865,19 +4059,6 @@ dependencies = [ "subtle 2.5.0", ] -[[package]] -name = "fflonk" -version = "0.1.0" -source = "git+https://github.com/w3f/fflonk#1e854f35e9a65d08b11a86291405cdc95baa0a35" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "merlin 3.0.0", -] - [[package]] name = "fiat-crypto" version = "0.2.5" @@ -3929,7 +4110,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand", "rustc-hex", "static_assertions", ] @@ -3993,7 +4174,6 @@ dependencies = [ "pallet-transaction-payment-rpc-runtime-api", "pallet-tx-pause", "pallet-utility", - "parachain-info", "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-runtime-common", @@ -4020,6 +4200,7 @@ dependencies = [ "sp-transaction-pool", "sp-trie", "sp-version", + "staging-parachain-info", "substrate-wasm-builder", "test-relay-sproof-builder", "tp-author-noting-inherent", @@ -4095,7 +4276,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", ] @@ -4112,7 +4293,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "hex", "impl-serde", @@ -4131,7 +4312,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "ethereum", "parity-scale-codec", @@ -4143,7 +4324,7 @@ dependencies = [ [[package]] name = "fp-dynamic-fee" version = "1.0.0" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "async-trait", "sp-core", @@ -4153,7 +4334,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "ethereum", "ethereum-types", @@ -4166,7 +4347,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "evm", "frame-support", @@ -4182,7 +4363,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "ethereum", "ethereum-types", @@ -4199,7 +4380,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "frame-support", "parity-scale-codec", @@ -4211,7 +4392,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "parity-scale-codec", "serde", @@ -4226,7 +4407,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "frame-support-procedural", @@ -4251,7 +4432,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "Inflector", "array-bytes 6.2.2", @@ -4268,7 +4449,7 @@ dependencies = [ "linked-hash-map", "log", "parity-scale-codec", - "rand 0.8.5", + "rand", "rand_pcg", "sc-block-builder", "sc-cli", @@ -4299,18 +4480,18 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -4327,7 +4508,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "frame-system", @@ -4357,7 +4538,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "indicatif", @@ -4378,9 +4559,10 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "aquamarine", + "array-bytes 6.2.2", "bitflags 1.3.2", "docify", "environmental", @@ -4418,7 +4600,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "Inflector", "cfg-expr", @@ -4431,37 +4613,38 @@ dependencies = [ "proc-macro2", "quote", "sp-core-hashing", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "cfg-if", + "docify", "frame-support", "log", "parity-scale-codec", @@ -4478,7 +4661,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4493,7 +4676,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "sp-api", @@ -4502,7 +4685,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "parity-scale-codec", @@ -4532,11 +4715,11 @@ dependencies = [ [[package]] name = "fs4" -version = "0.6.6" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47" +checksum = "29f9df8a11882c4e3335eb2d18a0137c505d9ca927470b0cac9c6f0ae07d28f7" dependencies = [ - "rustix 0.38.28", + "rustix 0.38.30", "windows-sys 0.48.0", ] @@ -4629,9 +4812,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143" +checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" dependencies = [ "fastrand 2.0.1", "futures-core", @@ -4648,7 +4831,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -4751,9 +4934,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "js-sys", @@ -4768,6 +4951,7 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ + "rand", "rand_core 0.6.4", ] @@ -4813,7 +4997,7 @@ dependencies = [ "aho-corasick", "bstr 1.9.0", "log", - "regex-automata 0.4.3", + "regex-automata 0.4.5", "regex-syntax 0.8.2", ] @@ -4830,9 +5014,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.22" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" +checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" dependencies = [ "bytes", "fnv", @@ -4840,7 +5024,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.1.0", + "indexmap 2.2.2", "slab", "tokio", "tokio-util", @@ -4861,12 +5045,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "hash-db" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" - [[package]] name = "hash-db" version = "0.16.0" @@ -4931,18 +5109,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" [[package]] name = "hex" @@ -5178,7 +5347,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" dependencies = [ - "async-io 2.2.2", + "async-io 2.3.1", "core-foundation", "fnv", "futures 0.3.30", @@ -5261,9 +5430,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -5327,7 +5496,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi", "libc", "windows-sys 0.48.0", ] @@ -5362,8 +5531,8 @@ version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455" dependencies = [ - "hermit-abi 0.3.3", - "rustix 0.38.28", + "hermit-abi", + "rustix 0.38.30", "windows-sys 0.52.0", ] @@ -5396,9 +5565,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] @@ -5420,9 +5589,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" +checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" dependencies = [ "wasm-bindgen", ] @@ -5478,7 +5647,7 @@ dependencies = [ "hyper", "jsonrpsee-types", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "rustc-hash", "serde", "serde_json", @@ -5565,9 +5734,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f01b677d82ef7a676aa37e099defd83a28e15687112cafdd112d60236b6115b" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" dependencies = [ "cfg-if", "ecdsa", @@ -5578,9 +5747,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] @@ -5649,9 +5818,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.151" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libloading" @@ -5678,7 +5847,7 @@ dependencies = [ "bytes", "futures 0.3.30", "futures-timer", - "getrandom 0.2.11", + "getrandom 0.2.12", "instant", "libp2p-allow-block-list", "libp2p-connection-limits", @@ -5740,13 +5909,13 @@ dependencies = [ "libp2p-identity", "log", "multiaddr", - "multihash", + "multihash 0.17.0", "multistream-select", "once_cell", "parking_lot 0.12.1", "pin-project", "quick-protobuf", - "rand 0.8.5", + "rand", "rw-stream-sink", "smallvec", "thiserror", @@ -5800,9 +5969,9 @@ dependencies = [ "ed25519-dalek", "log", "multiaddr", - "multihash", + "multihash 0.17.0", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "thiserror", "zeroize", @@ -5827,7 +5996,7 @@ dependencies = [ "libp2p-swarm", "log", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "smallvec", "thiserror", @@ -5849,7 +6018,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "smallvec", "socket2 0.4.10", "tokio", @@ -5885,7 +6054,7 @@ dependencies = [ "log", "once_cell", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "snow", "static_assertions", @@ -5907,7 +6076,7 @@ dependencies = [ "libp2p-core", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "void", ] @@ -5927,7 +6096,7 @@ dependencies = [ "log", "parking_lot 0.12.1", "quinn-proto", - "rand 0.8.5", + "rand", "rustls 0.20.9", "thiserror", "tokio", @@ -5945,7 +6114,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "rand", "smallvec", ] @@ -5964,7 +6133,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm-derive", "log", - "rand 0.8.5", + "rand", "smallvec", "tokio", "void", @@ -6068,7 +6237,7 @@ version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "libc", "redox_syscall 0.4.1", ] @@ -6101,7 +6270,7 @@ dependencies = [ "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand 0.8.5", + "rand", "serde", "sha2 0.9.9", "typenum", @@ -6149,9 +6318,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.12" +version = "1.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" +checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6" dependencies = [ "cc", "pkg-config", @@ -6205,9 +6374,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lioness" @@ -6237,6 +6406,15 @@ version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +[[package]] +name = "lru" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +dependencies = [ + "hashbrown 0.12.3", +] + [[package]] name = "lru" version = "0.10.1" @@ -6299,7 +6477,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -6313,7 +6491,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -6324,7 +6502,7 @@ checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -6335,7 +6513,7 @@ checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -6401,7 +6579,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.28", + "rustix 0.38.30", ] [[package]] @@ -6428,7 +6606,7 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" dependencies = [ - "hash-db 0.16.0", + "hash-db", ] [[package]] @@ -6462,7 +6640,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69672161530e8aeca1d1400fbf3f1a1747ff60ea604265a4e906c2442df20532" dependencies = [ "futures 0.3.30", - "rand 0.8.5", + "rand", "thrift", ] @@ -6509,7 +6687,7 @@ dependencies = [ "lioness", "log", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "rand_distr", "subtle 2.5.0", @@ -6520,7 +6698,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "log", @@ -6539,7 +6717,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "anyhow", "jsonrpsee", @@ -6590,7 +6768,7 @@ dependencies = [ "data-encoding", "log", "multibase", - "multihash", + "multihash 0.17.0", "percent-encoding", "serde", "static_assertions", @@ -6599,31 +6777,74 @@ dependencies = [ ] [[package]] -name = "multibase" -version = "0.9.1" +name = "multibase" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" +dependencies = [ + "base-x", + "data-encoding", + "data-encoding-macro", +] + +[[package]] +name = "multihash" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" +dependencies = [ + "blake2b_simd", + "blake2s_simd", + "blake3", + "core2", + "digest 0.10.7", + "multihash-derive 0.8.0", + "sha2 0.10.8", + "sha3", + "unsigned-varint", +] + +[[package]] +name = "multihash" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" +checksum = "cfd8a792c1694c6da4f68db0a9d707c72bd260994da179e6030a5dcee00bb815" dependencies = [ - "base-x", - "data-encoding", - "data-encoding-macro", + "core2", + "digest 0.10.7", + "multihash-derive 0.8.0", + "sha2 0.10.8", + "unsigned-varint", ] [[package]] name = "multihash" -version = "0.17.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" +checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" +dependencies = [ + "core2", + "unsigned-varint", +] + +[[package]] +name = "multihash-codetable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6d815ecb3c8238d00647f8630ede7060a642c9f704761cd6082cb4028af6935" dependencies = [ "blake2b_simd", "blake2s_simd", "blake3", "core2", "digest 0.10.7", - "multihash-derive", + "multihash-derive 0.9.0", + "ripemd", + "serde", + "sha1", "sha2 0.10.8", "sha3", - "unsigned-varint", + "strobe-rs", ] [[package]] @@ -6640,6 +6861,31 @@ dependencies = [ "synstructure", ] +[[package]] +name = "multihash-derive" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "890e72cb7396cb99ed98c1246a97b243cc16394470d94e0bc8b0c2c11d84290e" +dependencies = [ + "core2", + "multihash 0.19.1", + "multihash-derive-impl", +] + +[[package]] +name = "multihash-derive-impl" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38685e08adb338659871ecfc6ee47ba9b22dcc8abcf6975d379cc49145c3040" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", + "synstructure", +] + [[package]] name = "multimap" version = "0.8.3" @@ -6689,11 +6935,11 @@ dependencies = [ [[package]] name = "names" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d66043b25d4a6cccb23619d10c19c25304b355a7dccd4a8e11423dd2382146" +checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" dependencies = [ - "rand 0.8.5", + "rand", ] [[package]] @@ -6702,7 +6948,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.12", ] [[package]] @@ -6792,13 +7038,14 @@ dependencies = [ [[package]] name = "nimbus-consensus" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "async-backing-primitives", "async-trait", "cumulus-client-collator", "cumulus-client-consensus-common", "cumulus-client-consensus-proposer", + "cumulus-client-parachain-inherent", "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", @@ -6823,6 +7070,7 @@ dependencies = [ "sp-inherents", "sp-keystore", "sp-runtime", + "sp-version", "substrate-prometheus-endpoint", "tracing", ] @@ -6830,7 +7078,7 @@ dependencies = [ [[package]] name = "nimbus-primitives" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "async-trait", "frame-benchmarking", @@ -6862,7 +7110,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "cfg-if", "libc", ] @@ -7005,6 +7253,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-format" version = "0.4.4" @@ -7064,29 +7318,29 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi", "libc", ] [[package]] name = "num_enum" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ - "proc-macro-crate 2.0.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -7145,11 +7399,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.62" +version = "0.10.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671" +checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "cfg-if", "foreign-types", "libc", @@ -7166,7 +7420,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -7177,9 +7431,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.98" +version = "0.9.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7" +checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae" dependencies = [ "cc", "libc", @@ -7195,9 +7449,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orchestra" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46d78e1deb2a8d54fc1f063a544130db4da31dfe4d5d3b493186424910222a76" +checksum = "2356622ffdfe72362a45a1e5e87bb113b8327e596e39b91f11f0ef4395c8da79" dependencies = [ "async-trait", "dyn-clonable", @@ -7205,19 +7459,19 @@ dependencies = [ "futures-timer", "orchestra-proc-macro", "pin-project", - "prioritized-metered-channel", + "prioritized-metered-channel 0.6.1", "thiserror", "tracing", ] [[package]] name = "orchestra-proc-macro" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d035b1f968d91a826f2e34a9d6d02cb2af5aa7ca39ebd27922d850ab4b2dd2c6" +checksum = "eedb646674596266dc9bb2b5c7eea7c36b32ecc7777eba0d510196972d72c4fd" dependencies = [ "expander 2.0.0", - "indexmap 2.1.0", + "indexmap 2.2.2", "itertools 0.11.0", "petgraph", "proc-macro-crate 1.3.1", @@ -7235,10 +7489,28 @@ dependencies = [ "num-traits", ] +[[package]] +name = "pallet-asset-conversion" +version = "4.0.0-dev" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-asset-rate" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -7253,7 +7525,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -7271,7 +7543,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -7287,7 +7559,7 @@ dependencies = [ [[package]] name = "pallet-async-backing" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-primitives-core", @@ -7307,7 +7579,7 @@ dependencies = [ [[package]] name = "pallet-author-inherent" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "frame-benchmarking", "frame-support", @@ -7387,7 +7659,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "frame-system", @@ -7417,7 +7689,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "frame-system", @@ -7431,7 +7703,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -7455,7 +7727,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "aquamarine", "docify", @@ -7477,7 +7749,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -7492,7 +7764,7 @@ dependencies = [ [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "fp-evm", "frame-support", @@ -7506,7 +7778,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "frame-system", @@ -7526,7 +7798,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "binary-merkle-tree", @@ -7551,7 +7823,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -7566,10 +7838,107 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-bridge-grandpa" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bp-header-chain", + "bp-runtime", + "bp-test-utils", + "finality-grandpa", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-consensus-grandpa", + "sp-runtime", + "sp-std", + "sp-trie", +] + +[[package]] +name = "pallet-bridge-messages" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bp-messages", + "bp-runtime", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "num-traits", + "parity-scale-codec", + "scale-info", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-bridge-parachains" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bp-header-chain", + "bp-parachains", + "bp-polkadot-core", + "bp-runtime", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-bridge-grandpa", + "parity-scale-codec", + "scale-info", + "sp-runtime", + "sp-std", + "sp-trie", +] + +[[package]] +name = "pallet-bridge-relayers" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bp-messages", + "bp-relayers", + "bp-runtime", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-bridge-messages", + "parity-scale-codec", + "scale-info", + "sp-arithmetic", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-broker" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "bitvec", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-arithmetic", + "sp-core", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-cc-authorities-noting" version = "0.1.0" -source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.3.0#3b75e7f6d5c43d93aa0cc39d9df6c6a5bf815da0" +source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.6.0-preview#696579e35c1ecb3946ff1c746728549f62b0e10b" dependencies = [ "ccp-authorities-noting-inherent", "cumulus-pallet-parachain-system", @@ -7598,7 +7967,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -7624,7 +7993,7 @@ dependencies = [ "frame-system", "log", "parity-scale-codec", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "scale-info", "serde", @@ -7649,7 +8018,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "3.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -7658,7 +8027,7 @@ dependencies = [ "pallet-authorship", "pallet-session", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sp-runtime", "sp-staking", @@ -7668,7 +8037,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -7703,7 +8072,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "assert_matches", "frame-benchmarking", @@ -7744,7 +8113,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -7762,7 +8131,7 @@ dependencies = [ [[package]] name = "pallet-dynamic-fee" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "fp-dynamic-fee", "fp-evm", @@ -7778,7 +8147,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7787,7 +8156,7 @@ dependencies = [ "log", "pallet-election-provider-support-benchmarking", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sp-arithmetic", "sp-core", @@ -7801,7 +8170,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7815,7 +8184,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -7834,7 +8203,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "ethereum", "ethereum-types", @@ -7857,7 +8226,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "environmental", "evm", @@ -7866,7 +8235,7 @@ dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "hash-db 0.16.0", + "hash-db", "hex", "hex-literal 0.4.1", "impl-trait-for-tuples", @@ -7883,7 +8252,7 @@ dependencies = [ [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "frame-support", "frame-system", @@ -7894,7 +8263,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-balances-erc20" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "fp-evm", "frame-support", @@ -7910,13 +8279,14 @@ dependencies = [ "slices", "sp-core", "sp-io", + "sp-runtime", "sp-std", ] [[package]] name = "pallet-evm-precompile-batch" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "evm", "fp-evm", @@ -7937,7 +8307,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-call-permit" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "evm", "fp-evm", @@ -7953,13 +8323,14 @@ dependencies = [ "slices", "sp-core", "sp-io", + "sp-runtime", "sp-std", ] [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "fp-evm", "num", @@ -7968,7 +8339,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "fp-evm", "tiny-keccak", @@ -7977,7 +8348,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "fp-evm", "ripemd", @@ -7987,7 +8358,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-xcm-utils" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "fp-evm", "frame-support", @@ -8009,7 +8380,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "docify", "frame-benchmarking", @@ -8028,7 +8399,7 @@ dependencies = [ [[package]] name = "pallet-foreign-asset-creator" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#3cc7df4ec15b8a8099923cdfa474b93d6c58e4ac" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "frame-benchmarking", "frame-support", @@ -8047,7 +8418,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8070,7 +8441,7 @@ dependencies = [ [[package]] name = "pallet-hotfix-sufficients" version = "1.0.0" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "frame-benchmarking", "frame-support", @@ -8086,12 +8457,13 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "enumflags2", "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", "sp-io", @@ -8102,7 +8474,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8122,7 +8494,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8186,7 +8558,7 @@ dependencies = [ "pallet-balances", "pallet-session", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sp-core", "sp-io", @@ -8199,7 +8571,7 @@ dependencies = [ [[package]] name = "pallet-maintenance-mode" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -8215,7 +8587,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8232,8 +8604,9 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "7.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ + "environmental", "frame-benchmarking", "frame-support", "frame-system", @@ -8251,7 +8624,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "frame-benchmarking", "frame-support", @@ -8270,7 +8643,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8288,7 +8661,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8304,7 +8677,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8320,7 +8693,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "frame-system", @@ -8339,7 +8712,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8359,7 +8732,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -8370,7 +8743,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "frame-system", @@ -8387,7 +8760,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8435,7 +8808,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8452,7 +8825,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8467,7 +8840,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8485,7 +8858,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8500,7 +8873,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "assert_matches", "frame-benchmarking", @@ -8552,7 +8925,7 @@ dependencies = [ [[package]] name = "pallet-relay-storage-roots" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-primitives-core", @@ -8575,7 +8948,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "1.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "frame-system", @@ -8590,7 +8963,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "docify", "frame-benchmarking", @@ -8628,7 +9001,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "frame-system", @@ -8650,7 +9023,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8658,7 +9031,7 @@ dependencies = [ "pallet-session", "pallet-staking", "parity-scale-codec", - "rand 0.8.5", + "rand", "sp-runtime", "sp-session", "sp-std", @@ -8667,7 +9040,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8685,7 +9058,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8708,18 +9081,18 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "log", "sp-arithmetic", @@ -8728,16 +9101,17 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "sp-api", + "sp-staking", ] [[package]] name = "pallet-state-trie-migration" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8754,7 +9128,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "docify", "frame-benchmarking", @@ -8770,7 +9144,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "docify", "frame-benchmarking", @@ -8790,7 +9164,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8809,7 +9183,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "frame-system", @@ -8825,7 +9199,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -8841,7 +9215,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -8853,7 +9227,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "docify", "frame-benchmarking", @@ -8872,8 +9246,9 @@ dependencies = [ [[package]] name = "pallet-tx-pause" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ + "docify", "frame-benchmarking", "frame-support", "frame-system", @@ -8889,7 +9264,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8905,7 +9280,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8920,7 +9295,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8935,13 +9310,14 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bounded-collections", "frame-benchmarking", "frame-support", "frame-system", "log", + "pallet-balances", "parity-scale-codec", "scale-info", "serde", @@ -8950,13 +9326,14 @@ dependencies = [ "sp-runtime", "sp-std", "staging-xcm", + "staging-xcm-builder", "staging-xcm-executor", ] [[package]] name = "pallet-xcm-benchmarks" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-benchmarking", "frame-support", @@ -8973,23 +9350,28 @@ dependencies = [ ] [[package]] -name = "parachain-info" +name = "pallet-xcm-bridge-hub-router" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ - "cumulus-primitives-core", + "bp-xcm-bridge-hub-router", + "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", + "sp-core", "sp-runtime", "sp-std", + "staging-xcm", + "staging-xcm-builder", ] [[package]] name = "parachains-common" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -9002,7 +9384,8 @@ dependencies = [ "pallet-authorship", "pallet-balances", "pallet-collator-selection", - "parachain-info", + "pallet-message-queue", + "pallet-xcm", "parity-scale-codec", "polkadot-core-primitives", "polkadot-primitives", @@ -9014,17 +9397,52 @@ dependencies = [ "sp-io", "sp-runtime", "sp-std", + "staging-parachain-info", "staging-xcm", "staging-xcm-builder", + "staging-xcm-executor", "substrate-wasm-builder", "westend-runtime-constants", ] +[[package]] +name = "parachains-runtimes-test-utils" +version = "1.0.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "assets-common", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "cumulus-test-relay-sproof-builder", + "frame-support", + "frame-system", + "pallet-assets", + "pallet-balances", + "pallet-collator-selection", + "pallet-session", + "pallet-xcm", + "parachains-common", + "parity-scale-codec", + "polkadot-parachain-primitives", + "sp-consensus-aura", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-executor", + "substrate-wasm-builder", +] + [[package]] name = "parity-db" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e9ab494af9e6e813c72170f0d3c1de1500990d62c97cc05cc7576f91aa402f" +checksum = "592a28a24b09c9dc20ac8afaa6839abc417c720afe42c12e1e4a9d6aa2508d2e" dependencies = [ "blake2 0.10.6", "crc32fast", @@ -9035,9 +9453,10 @@ dependencies = [ "lz4", "memmap2", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "siphasher", "snap", + "winapi", ] [[package]] @@ -9061,7 +9480,7 @@ version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" dependencies = [ - "proc-macro-crate 2.0.1", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", "syn 1.0.109", @@ -9073,6 +9492,35 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" +[[package]] +name = "parity-util-mem" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" +dependencies = [ + "cfg-if", + "ethereum-types", + "hashbrown 0.12.3", + "impl-trait-for-tuples", + "lru 0.8.1", + "parity-util-mem-derive", + "parking_lot 0.12.1", + "primitive-types", + "smallvec", + "winapi", +] + +[[package]] +name = "parity-util-mem-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" +dependencies = [ + "proc-macro2", + "syn 1.0.109", + "synstructure", +] + [[package]] name = "parity-wasm" version = "0.45.0" @@ -9154,15 +9602,6 @@ dependencies = [ "crypto-mac 0.11.0", ] -[[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "pbkdf2" version = "0.12.2" @@ -9195,9 +9634,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +checksum = "1f200d8d83c44a45b21764d1916299752ca035d15ecd46faca3e9a2a2bf6ad06" dependencies = [ "memchr", "thiserror", @@ -9206,9 +9645,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2" +checksum = "bcd6ab1236bbdb3a49027e920e693192ebfe8913f6d60e294de57463a493cfde" dependencies = [ "pest", "pest_generator", @@ -9216,22 +9655,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227" +checksum = "2a31940305ffc96863a735bef7c7994a00b325a7138fdbc5bda0f1a0476d3275" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "pest_meta" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6" +checksum = "a7ff62f5259e53b78d1af898941cdcdccfae7385cf7d793a6e55de5d05bb4b7d" dependencies = [ "once_cell", "pest", @@ -9245,27 +9684,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.1.0", + "indexmap 2.2.2", ] [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -9309,9 +9748,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" +checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" [[package]] name = "platforms" @@ -9322,10 +9761,12 @@ checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" [[package]] name = "polkadot-approval-distribution" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ + "bitvec", "futures 0.3.30", "futures-timer", + "itertools 0.10.5", "polkadot-node-jaeger", "polkadot-node-metrics", "polkadot-node-network-protocol", @@ -9333,14 +9774,14 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "tracing-gum", ] [[package]] name = "polkadot-availability-bitfield-distribution" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "always-assert", "futures 0.3.30", @@ -9349,14 +9790,14 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "tracing-gum", ] [[package]] name = "polkadot-availability-distribution" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "derive_more", "fatality", @@ -9368,7 +9809,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "schnellru", "sp-core", "sp-keystore", @@ -9379,7 +9820,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "fatality", @@ -9391,18 +9832,20 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-network", "schnellru", "thiserror", + "tokio", "tracing-gum", ] [[package]] name = "polkadot-cli" version = "1.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ + "cfg-if", "clap", "frame-benchmarking-cli", "futures 0.3.30", @@ -9428,7 +9871,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bitvec", "fatality", @@ -9450,7 +9893,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "scale-info", @@ -9462,7 +9905,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "derive_more", "fatality", @@ -9487,7 +9930,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -9501,7 +9944,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "futures-timer", @@ -9509,7 +9952,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "sc-network", "sc-network-common", @@ -9522,7 +9965,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "always-assert", "async-trait", @@ -9545,7 +9988,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "parity-scale-codec", @@ -9563,14 +10006,15 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bitvec", "derive_more", "futures 0.3.30", "futures-timer", + "itertools 0.10.5", "kvdb", - "merlin 2.0.1", + "merlin 3.0.0", "parity-scale-codec", "polkadot-node-jaeger", "polkadot-node-primitives", @@ -9578,9 +10022,12 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", + "rand", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "sc-keystore", "schnellru", - "schnorrkel 0.9.1", + "schnorrkel 0.11.4", "sp-application-crypto", "sp-consensus", "sp-consensus-slots", @@ -9592,7 +10039,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bitvec", "futures 0.3.30", @@ -9614,7 +10061,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bitvec", "fatality", @@ -9633,7 +10080,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "polkadot-node-subsystem", @@ -9648,7 +10095,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "futures 0.3.30", @@ -9669,22 +10116,21 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", "polkadot-node-subsystem", - "polkadot-primitives", + "polkadot-node-subsystem-types", "sc-client-api", "sc-consensus-babe", - "sp-blockchain", "tracing-gum", ] [[package]] name = "polkadot-node-core-chain-selection" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "futures-timer", @@ -9701,7 +10147,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "fatality", "futures 0.3.30", @@ -9720,7 +10166,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "futures 0.3.30", @@ -9737,7 +10183,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bitvec", "fatality", @@ -9754,7 +10200,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bitvec", "fatality", @@ -9771,9 +10217,11 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "always-assert", + "array-bytes 6.2.2", + "blake3", "cfg-if", "futures 0.3.30", "futures-timer", @@ -9785,14 +10233,16 @@ dependencies = [ "polkadot-node-core-pvf-common", "polkadot-node-metrics", "polkadot-node-primitives", + "polkadot-node-subsystem", "polkadot-parachain-primitives", "polkadot-primitives", - "rand 0.8.5", + "rand", "slotmap", "sp-core", "sp-maybe-compressed-blob", "sp-wasm-interface", "tempfile", + "thiserror", "tokio", "tracing-gum", ] @@ -9800,7 +10250,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "polkadot-node-primitives", @@ -9816,7 +10266,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "cfg-if", "cpu-time", @@ -9829,18 +10279,19 @@ dependencies = [ "sc-executor", "sc-executor-common", "sc-executor-wasmtime", + "seccompiler", "sp-core", "sp-externalities", "sp-io", "sp-tracing", - "tokio", + "thiserror", "tracing-gum", ] [[package]] name = "polkadot-node-core-runtime-api" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", @@ -9855,7 +10306,7 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "lazy_static", "log", @@ -9873,7 +10324,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bs58 0.5.0", "futures 0.3.30", @@ -9881,7 +10332,7 @@ dependencies = [ "log", "parity-scale-codec", "polkadot-primitives", - "prioritized-metered-channel", + "prioritized-metered-channel 0.5.1", "sc-cli", "sc-service", "sc-tracing", @@ -9892,7 +10343,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -9905,7 +10356,7 @@ dependencies = [ "polkadot-node-jaeger", "polkadot-node-primitives", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-authority-discovery", "sc-network", "strum 0.24.1", @@ -9916,14 +10367,15 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ + "bitvec", "bounded-vec", "futures 0.3.30", "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-primitives", - "schnorrkel 0.9.1", + "schnorrkel 0.11.4", "serde", "sp-application-crypto", "sp-consensus-babe", @@ -9938,7 +10390,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -9948,9 +10400,10 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", + "bitvec", "derive_more", "futures 0.3.30", "orchestra", @@ -9965,7 +10418,9 @@ dependencies = [ "smallvec", "sp-api", "sp-authority-discovery", + "sp-blockchain", "sp-consensus-babe", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror", ] @@ -9973,7 +10428,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "derive_more", @@ -9984,7 +10439,7 @@ dependencies = [ "kvdb", "parity-db", "parity-scale-codec", - "parking_lot 0.11.2", + "parking_lot 0.12.1", "pin-project", "polkadot-node-jaeger", "polkadot-node-metrics", @@ -9994,8 +10449,8 @@ dependencies = [ "polkadot-node-subsystem-types", "polkadot-overseer", "polkadot-primitives", - "prioritized-metered-channel", - "rand 0.8.5", + "prioritized-metered-channel 0.5.1", + "rand", "sc-client-api", "schnellru", "sp-application-crypto", @@ -10008,7 +10463,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "futures 0.3.30", @@ -10030,11 +10485,10 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bounded-collections", "derive_more", - "frame-support", "parity-scale-codec", "polkadot-core-primitives", "scale-info", @@ -10042,12 +10496,13 @@ dependencies = [ "sp-core", "sp-runtime", "sp-std", + "sp-weights", ] [[package]] name = "polkadot-primitives" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bitvec", "hex-literal 0.4.1", @@ -10073,7 +10528,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -10089,6 +10544,7 @@ dependencies = [ "sc-consensus-grandpa", "sc-consensus-grandpa-rpc", "sc-rpc", + "sc-rpc-spec-v2", "sc-sync-state-rpc", "sc-transaction-pool-api", "sp-api", @@ -10105,7 +10561,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bitvec", "frame-benchmarking", @@ -10119,8 +10575,10 @@ dependencies = [ "pallet-authorship", "pallet-babe", "pallet-balances", + "pallet-broker", "pallet-election-provider-multi-phase", "pallet-fast-unstake", + "pallet-identity", "pallet-session", "pallet-staking", "pallet-staking-reward-fn", @@ -10155,7 +10613,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bs58 0.5.0", "frame-benchmarking", @@ -10168,7 +10626,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -10182,6 +10640,7 @@ dependencies = [ "pallet-authorship", "pallet-babe", "pallet-balances", + "pallet-broker", "pallet-message-queue", "pallet-session", "pallet-staking", @@ -10192,13 +10651,14 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-metrics", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "rustc-hex", "scale-info", "serde", "sp-api", "sp-application-crypto", + "sp-arithmetic", "sp-core", "sp-inherents", "sp-io", @@ -10215,7 +10675,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "frame-benchmarking", @@ -10237,6 +10697,7 @@ dependencies = [ "pallet-transaction-payment-rpc-runtime-api", "parity-db", "parity-scale-codec", + "parking_lot 0.12.1", "polkadot-approval-distribution", "polkadot-availability-bitfield-distribution", "polkadot-availability-distribution", @@ -10331,7 +10792,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -10343,7 +10804,6 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", "polkadot-primitives", "sp-keystore", @@ -10355,7 +10815,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -10380,14 +10840,14 @@ dependencies = [ [[package]] name = "polling" -version = "3.3.1" +version = "3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e" +checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41" dependencies = [ "cfg-if", "concurrent-queue", "pin-project-lite 0.2.13", - "rustix 0.38.28", + "rustix 0.38.30", "tracing", "windows-sys 0.52.0", ] @@ -10436,7 +10896,7 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "environmental", "evm", @@ -10461,7 +10921,7 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.3.0#17b64ada67c9b52eeb32cea33565e456a0f39fbb" +source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" dependencies = [ "case", "num_enum", @@ -10519,7 +10979,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ "proc-macro2", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -10552,6 +11012,22 @@ dependencies = [ "tracing", ] +[[package]] +name = "prioritized-metered-channel" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a172e6cc603231f2cf004232eabcecccc0da53ba576ab286ef7baa0cfc7927ad" +dependencies = [ + "coarsetime", + "crossbeam-queue", + "derive_more", + "futures 0.3.30", + "futures-timer", + "nanorand", + "thiserror", + "tracing", +] + [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -10564,12 +11040,20 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "2.0.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" dependencies = [ - "toml_datetime", - "toml_edit 0.20.2", + "toml_edit 0.20.7", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", ] [[package]] @@ -10604,14 +11088,14 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "proc-macro2" -version = "1.0.74" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2de98502f212cfcea8d0bb305bd0f49d7ebdd75b64ba0a68f937d888f4e0d6db" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] @@ -10650,7 +11134,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -10762,7 +11246,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863" dependencies = [ "bytes", - "rand 0.8.5", + "rand", "ring 0.16.20", "rustc-hash", "rustls 0.20.9", @@ -10788,19 +11272,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] - [[package]] name = "rand" version = "0.8.5" @@ -10847,7 +11318,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.12", ] [[package]] @@ -10857,16 +11328,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", + "rand", ] [[package]] @@ -10886,9 +11348,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" dependencies = [ "either", "rayon-core", @@ -10896,9 +11358,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -10940,7 +11402,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.12", "libredox", "thiserror", ] @@ -10975,7 +11437,7 @@ checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -10992,13 +11454,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", + "regex-automata 0.4.5", "regex-syntax 0.8.2", ] @@ -11013,9 +11475,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" dependencies = [ "aho-corasick", "memchr", @@ -11054,22 +11516,6 @@ dependencies = [ "subtle 2.5.0", ] -[[package]] -name = "ring" -version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "blake2 0.10.6", - "common", - "fflonk", - "merlin 3.0.0", -] - [[package]] name = "ring" version = "0.16.20" @@ -11092,7 +11538,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" dependencies = [ "cc", - "getrandom 0.2.11", + "getrandom 0.2.12", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -11143,7 +11589,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "binary-merkle-tree", "frame-benchmarking", @@ -11183,6 +11629,7 @@ dependencies = [ "pallet-ranked-collective", "pallet-recovery", "pallet-referenda", + "pallet-root-testing", "pallet-scheduler", "pallet-session", "pallet-society", @@ -11238,7 +11685,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "polkadot-primitives", @@ -11248,6 +11695,7 @@ dependencies = [ "sp-runtime", "sp-weights", "staging-xcm", + "staging-xcm-builder", ] [[package]] @@ -11352,14 +11800,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.28" +version = "0.38.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "errno", "libc", - "linux-raw-sys 0.4.12", + "linux-raw-sys 0.4.13", "windows-sys 0.52.0", ] @@ -11405,7 +11853,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", ] [[package]] @@ -11473,7 +11921,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "log", "sp-core", @@ -11484,7 +11932,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "futures 0.3.30", @@ -11492,11 +11940,12 @@ dependencies = [ "ip_network", "libp2p", "log", - "multihash", + "multihash 0.18.1", + "multihash-codetable", "parity-scale-codec", "prost", "prost-build", - "rand 0.8.5", + "rand", "sc-client-api", "sc-network", "sp-api", @@ -11512,14 +11961,13 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "futures-timer", "log", "parity-scale-codec", "sc-block-builder", - "sc-client-api", "sc-proposer-metrics", "sc-telemetry", "sc-transaction-pool-api", @@ -11535,24 +11983,28 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", - "sc-client-api", "sp-api", "sp-block-builder", "sp-blockchain", "sp-core", "sp-inherents", "sp-runtime", + "sp-trie", ] [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ + "array-bytes 6.2.2", + "docify", + "log", "memmap2", + "parity-scale-codec", "sc-chain-spec-derive", "sc-client-api", "sc-executor", @@ -11562,6 +12014,8 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core", + "sp-genesis-builder", + "sp-io", "sp-runtime", "sp-state-machine", ] @@ -11569,29 +12023,31 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", + "bip39", "chrono", "clap", "fdlimit", "futures 0.3.30", + "itertools 0.10.5", "libp2p-identity", "log", "names", "parity-scale-codec", - "rand 0.8.5", + "rand", "regex", "rpassword", "sc-client-api", @@ -11613,14 +12069,13 @@ dependencies = [ "sp-runtime", "sp-version", "thiserror", - "tiny-bip39", "tokio", ] [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "fnv", "futures 0.3.30", @@ -11647,9 +12102,9 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ - "hash-db 0.16.0", + "hash-db", "kvdb", "kvdb-memorydb", "kvdb-rocksdb", @@ -11673,7 +12128,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "futures 0.3.30", @@ -11698,7 +12153,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "futures 0.3.30", @@ -11727,7 +12182,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "fork-tree", @@ -11762,7 +12217,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -11784,7 +12239,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "async-channel 1.9.0", @@ -11812,13 +12267,14 @@ dependencies = [ "sp-runtime", "substrate-prometheus-endpoint", "thiserror", + "tokio", "wasm-timer", ] [[package]] name = "sc-consensus-beefy-rpc" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -11837,7 +12293,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "fork-tree", "parity-scale-codec", @@ -11850,7 +12306,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "ahash 0.8.7", "array-bytes 6.2.2", @@ -11863,7 +12319,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -11871,6 +12327,7 @@ dependencies = [ "sc-network", "sc-network-common", "sc-network-gossip", + "sc-network-sync", "sc-telemetry", "sc-transaction-pool-api", "sc-utils", @@ -11891,7 +12348,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "finality-grandpa", "futures 0.3.30", @@ -11911,7 +12368,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "assert_matches", "async-trait", @@ -11946,7 +12403,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "futures 0.3.30", @@ -11969,7 +12426,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -11991,7 +12448,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -12003,7 +12460,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "anyhow", "cfg-if", @@ -12021,7 +12478,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "ansi_term", "futures 0.3.30", @@ -12030,6 +12487,7 @@ dependencies = [ "sc-client-api", "sc-network", "sc-network-common", + "sc-network-sync", "sp-blockchain", "sp-runtime", ] @@ -12037,7 +12495,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "parking_lot 0.12.1", @@ -12051,11 +12509,12 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.1.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 4.2.0", "arrayvec 0.7.4", "blake2 0.10.6", + "bytes", "futures 0.3.30", "futures-timer", "libp2p-identity", @@ -12079,7 +12538,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "async-channel 1.9.0", @@ -12099,7 +12558,7 @@ dependencies = [ "parking_lot 0.12.1", "partial_sort", "pin-project", - "rand 0.8.5", + "rand", "sc-client-api", "sc-network-common", "sc-utils", @@ -12112,6 +12571,8 @@ dependencies = [ "sp-runtime", "substrate-prometheus-endpoint", "thiserror", + "tokio", + "tokio-stream", "unsigned-varint", "wasm-timer", "zeroize", @@ -12120,7 +12581,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-channel 1.9.0", "cid", @@ -12140,7 +12601,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -12157,7 +12618,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "ahash 0.8.7", "futures 0.3.30", @@ -12166,6 +12627,7 @@ dependencies = [ "log", "sc-network", "sc-network-common", + "sc-network-sync", "schnellru", "sp-runtime", "substrate-prometheus-endpoint", @@ -12175,7 +12637,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "async-channel 1.9.0", @@ -12196,7 +12658,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "async-channel 1.9.0", @@ -12225,13 +12687,14 @@ dependencies = [ "sp-runtime", "substrate-prometheus-endpoint", "thiserror", + "tokio", "tokio-stream", ] [[package]] name = "sc-network-test" version = "0.8.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "futures 0.3.30", @@ -12239,7 +12702,7 @@ dependencies = [ "libp2p", "log", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "sc-block-builder", "sc-client-api", "sc-consensus", @@ -12262,7 +12725,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "futures 0.3.30", @@ -12271,6 +12734,7 @@ dependencies = [ "parity-scale-codec", "sc-network", "sc-network-common", + "sc-network-sync", "sc-utils", "sp-consensus", "sp-runtime", @@ -12280,7 +12744,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "bytes", @@ -12295,7 +12759,7 @@ dependencies = [ "once_cell", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "sc-client-api", "sc-network", "sc-network-common", @@ -12314,7 +12778,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -12323,7 +12787,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -12355,7 +12819,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -12375,7 +12839,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "http", "jsonrpsee", @@ -12390,7 +12854,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "futures 0.3.30", @@ -12408,6 +12872,7 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-core", + "sp-rpc", "sp-runtime", "sp-version", "thiserror", @@ -12418,7 +12883,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "directories", @@ -12430,8 +12895,7 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", "pin-project", - "rand 0.8.5", - "sc-block-builder", + "rand", "sc-chain-spec", "sc-client-api", "sc-client-db", @@ -12482,7 +12946,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "log", "parity-scale-codec", @@ -12493,12 +12957,11 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "clap", "fs4", "log", - "sc-client-db", "sp-core", "thiserror", "tokio", @@ -12507,7 +12970,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -12526,12 +12989,13 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ + "derive_more", "futures 0.3.30", "libc", "log", - "rand 0.8.5", + "rand", "rand_pcg", "regex", "sc-telemetry", @@ -12545,7 +13009,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "chrono", "futures 0.3.30", @@ -12553,7 +13017,7 @@ dependencies = [ "log", "parking_lot 0.12.1", "pin-project", - "rand 0.8.5", + "rand", "sc-utils", "serde", "serde_json", @@ -12564,14 +13028,15 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "ansi_term", - "atty", "chrono", + "is-terminal", "lazy_static", "libc", "log", + "parity-scale-codec", "parking_lot 0.12.1", "regex", "rustc-hash", @@ -12593,18 +13058,18 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "futures 0.3.30", @@ -12630,7 +13095,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "futures 0.3.30", @@ -12646,7 +13111,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-channel 1.9.0", "futures 0.3.30", @@ -12713,9 +13178,7 @@ dependencies = [ "arrayref", "arrayvec 0.5.2", "curve25519-dalek 2.1.3", - "getrandom 0.1.16", "merlin 2.0.1", - "rand 0.7.3", "rand_core 0.5.1", "sha2 0.8.2", "subtle 2.5.0", @@ -12738,6 +13201,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "schnorrkel" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" +dependencies = [ + "aead", + "arrayref", + "arrayvec 0.7.4", + "curve25519-dalek 4.1.1", + "getrandom_or_panic", + "merlin 3.0.0", + "rand_core 0.6.4", + "serde_bytes", + "sha2 0.10.8", + "subtle 2.5.0", + "zeroize", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -12774,20 +13256,29 @@ dependencies = [ "zeroize", ] +[[package]] +name = "seccompiler" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345a3e4dddf721a478089d4697b83c6c0a8f5bf16086f6c13397e4534eb6e2e5" +dependencies = [ + "libc", +] + [[package]] name = "secp256k1" -version = "0.24.3" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" +checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.6.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" +checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" dependencies = [ "cc", ] @@ -12850,29 +13341,38 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.194" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773" +checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" dependencies = [ "serde_derive", ] +[[package]] +name = "serde_bytes" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +dependencies = [ + "serde", +] + [[package]] name = "serde_derive" -version = "1.0.194" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0" +checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "serde_json" -version = "1.0.110" +version = "1.0.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fbd975230bada99c8bb618e0c365c2eefa219158d5c6c29610fd09ff1833257" +checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" dependencies = [ "itoa", "ryu", @@ -12901,6 +13401,17 @@ dependencies = [ "opaque-debug 0.3.0", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + [[package]] name = "sha2" version = "0.8.2" @@ -12958,9 +13469,9 @@ dependencies = [ [[package]] name = "shlex" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" @@ -13014,6 +13525,11 @@ dependencies = [ "similar", ] +[[package]] +name = "simple-mermaid" +version = "0.1.0" +source = "git+https://github.com/kianenigma/simple-mermaid.git?rev=e48b187bcfd5cc75111acd9d241f1bd36604344b#e48b187bcfd5cc75111acd9d241f1bd36604344b" + [[package]] name = "siphasher" version = "0.3.11" @@ -13050,7 +13566,7 @@ dependencies = [ [[package]] name = "slot-range-helper" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "enumn", "parity-scale-codec", @@ -13070,9 +13586,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.2" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "smol" @@ -13100,7 +13616,7 @@ dependencies = [ "arrayvec 0.7.4", "async-lock 2.8.0", "atomic-take", - "base64 0.21.5", + "base64 0.21.7", "bip39", "blake2-rfc", "bs58 0.5.0", @@ -13127,7 +13643,7 @@ dependencies = [ "pbkdf2 0.12.2", "pin-project", "poly1305", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "ruzstd", "schnorrkel 0.10.2", @@ -13153,7 +13669,7 @@ checksum = "256b5bad1d6b49045e95fe87492ce73d5af81545d8b4d8318a872d2007024c33" dependencies = [ "async-channel 1.9.0", "async-lock 2.8.0", - "base64 0.21.5", + "base64 0.21.7", "blake2-rfc", "derive_more", "either", @@ -13170,7 +13686,7 @@ dependencies = [ "no-std-net", "parking_lot 0.12.1", "pin-project", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "serde", "serde_json", @@ -13189,9 +13705,9 @@ checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" [[package]] name = "snow" -version = "0.9.4" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58021967fd0a5eeeb23b08df6cc244a4d4a5b4aec1d27c9e02fad1a58b4cd74e" +checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" dependencies = [ "aes-gcm", "blake2 0.10.6", @@ -13237,16 +13753,16 @@ dependencies = [ "http", "httparse", "log", - "rand 0.8.5", + "rand", "sha-1", ] [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ - "hash-db 0.16.0", + "hash-db", "log", "parity-scale-codec", "scale-info", @@ -13265,21 +13781,21 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "Inflector", "blake2 0.10.6", "expander 2.0.0", - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "sp-application-crypto" version = "23.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "scale-info", @@ -13292,7 +13808,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "16.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "integer-sqrt", "num-traits", @@ -13306,7 +13822,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "scale-info", @@ -13319,7 +13835,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "sp-api", "sp-inherents", @@ -13330,7 +13846,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "log", @@ -13348,7 +13864,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "futures 0.3.30", @@ -13363,7 +13879,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "parity-scale-codec", @@ -13380,7 +13896,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "parity-scale-codec", @@ -13399,7 +13915,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "lazy_static", "parity-scale-codec", @@ -13418,7 +13934,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "finality-grandpa", "log", @@ -13436,7 +13952,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "scale-info", @@ -13448,10 +13964,10 @@ dependencies = [ [[package]] name = "sp-core" version = "21.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", - "bandersnatch_vrfs", + "bip39", "bitflags 1.3.2", "blake2 0.10.6", "bounded-collections", @@ -13459,21 +13975,20 @@ dependencies = [ "dyn-clonable", "ed25519-zebra 3.1.0", "futures 0.3.30", - "hash-db 0.16.0", + "hash-db", "hash256-std-hasher", "impl-serde", - "lazy_static", + "itertools 0.10.5", "libsecp256k1", "log", - "merlin 2.0.1", + "merlin 3.0.0", "parity-scale-codec", "parking_lot 0.12.1", "paste", "primitive-types", - "rand 0.8.5", - "regex", + "rand", "scale-info", - "schnorrkel 0.9.1", + "schnorrkel 0.11.4", "secp256k1", "secrecy", "serde", @@ -13486,7 +14001,6 @@ dependencies = [ "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", "tracing", "w3f-bls", "zeroize", @@ -13495,7 +14009,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "9.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "blake2b_simd", "byteorder", @@ -13508,17 +14022,17 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "9.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "quote", "sp-core-hashing", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -13527,17 +14041,17 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "8.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "sp-externalities" version = "0.19.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "environmental", "parity-scale-codec", @@ -13548,7 +14062,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "serde_json", "sp-api", @@ -13559,7 +14073,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -13573,7 +14087,7 @@ dependencies = [ [[package]] name = "sp-io" version = "23.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bytes", "ed25519-dalek", @@ -13597,9 +14111,8 @@ dependencies = [ [[package]] name = "sp-keyring" version = "24.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ - "lazy_static", "sp-core", "sp-runtime", "strum 0.24.1", @@ -13608,7 +14121,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.27.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -13620,7 +14133,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "thiserror", "zstd 0.12.4", @@ -13629,7 +14142,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -13640,7 +14153,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.1.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "scale-info", @@ -13652,7 +14165,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -13670,7 +14183,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "scale-info", @@ -13684,7 +14197,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "sp-api", "sp-core", @@ -13694,7 +14207,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "8.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "backtrace", "lazy_static", @@ -13704,7 +14217,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "rustc-hash", "serde", @@ -13714,17 +14227,19 @@ dependencies = [ [[package]] name = "sp-runtime" version = "24.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ + "docify", "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", "parity-scale-codec", "paste", - "rand 0.8.5", + "rand", "scale-info", "serde", + "simple-mermaid", "sp-application-crypto", "sp-arithmetic", "sp-core", @@ -13736,7 +14251,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "17.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -13754,19 +14269,20 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "11.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "Inflector", - "proc-macro-crate 1.3.1", + "expander 2.0.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "scale-info", @@ -13781,7 +14297,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -13795,13 +14311,13 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.28.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ - "hash-db 0.16.0", + "hash-db", "log", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "smallvec", "sp-core", "sp-externalities", @@ -13816,14 +14332,14 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "aes-gcm", "curve25519-dalek 4.1.1", "ed25519-dalek", "hkdf", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sha2 0.10.8", "sp-api", @@ -13840,12 +14356,12 @@ dependencies = [ [[package]] name = "sp-std" version = "8.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" [[package]] name = "sp-storage" version = "13.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "impl-serde", "parity-scale-codec", @@ -13858,7 +14374,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "parity-scale-codec", @@ -13871,7 +14387,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "10.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "sp-std", @@ -13883,7 +14399,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "sp-api", "sp-runtime", @@ -13892,7 +14408,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "parity-scale-codec", @@ -13907,20 +14423,20 @@ dependencies = [ [[package]] name = "sp-trie" version = "22.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "ahash 0.8.7", - "hash-db 0.16.0", - "hashbrown 0.13.2", + "hash-db", "lazy_static", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "scale-info", "schnellru", "sp-core", + "sp-externalities", "sp-std", "thiserror", "tracing", @@ -13931,7 +14447,7 @@ dependencies = [ [[package]] name = "sp-version" version = "22.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "impl-serde", "parity-scale-codec", @@ -13948,18 +14464,18 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "8.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] name = "sp-wasm-interface" version = "14.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -13972,14 +14488,14 @@ dependencies = [ [[package]] name = "sp-weights" version = "20.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ + "bounded-collections", "parity-scale-codec", "scale-info", "serde", "smallvec", "sp-arithmetic", - "sp-core", "sp-debug-derive", "sp-std", ] @@ -14026,7 +14542,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" dependencies = [ - "itertools 0.12.0", + "itertools 0.12.1", "nom", "unicode_categories", ] @@ -14064,7 +14580,7 @@ dependencies = [ "futures-util", "hashlink", "hex", - "indexmap 2.1.0", + "indexmap 2.2.2", "log", "memchr", "native-tls", @@ -14145,9 +14661,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.44.0" +version = "1.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35935738370302d5e33963665b77541e4b990a3e919ec904c837a56cfc891de1" +checksum = "b1114ee5900b8569bbc8b1a014a942f937b752af4b44f4607430b5f86cedaac0" dependencies = [ "Inflector", "num-format", @@ -14164,11 +14680,26 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "staging-parachain-info" +version = "0.1.0" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-runtime", + "sp-std", +] + [[package]] name = "staging-xcm" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ + "array-bytes 6.2.2", "bounded-collections", "derivative", "environmental", @@ -14184,7 +14715,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "frame-system", @@ -14206,7 +14737,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "environmental", "frame-benchmarking", @@ -14214,6 +14745,7 @@ dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", + "scale-info", "sp-arithmetic", "sp-core", "sp-io", @@ -14257,6 +14789,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "strobe-rs" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabb238a1cccccfa4c4fb703670c0d157e1256c1ba695abf1b93bd2bb14bab2d" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "keccak", + "subtle 2.5.0", + "zeroize", +] + [[package]] name = "strsim" version = "0.10.0" @@ -14301,7 +14846,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -14320,12 +14865,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.30", @@ -14344,7 +14889,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "hyper", "log", @@ -14356,7 +14901,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "jsonrpsee", @@ -14369,7 +14914,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -14386,7 +14931,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "async-trait", @@ -14412,7 +14957,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "array-bytes 6.2.2", "frame-executive", @@ -14426,8 +14971,6 @@ dependencies = [ "parity-scale-codec", "sc-service", "scale-info", - "serde", - "serde_json", "sp-api", "sp-application-crypto", "sp-block-builder", @@ -14455,7 +14998,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "futures 0.3.30", "sc-block-builder", @@ -14473,7 +15016,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "ansi_term", "build-helper", @@ -14483,7 +15026,7 @@ dependencies = [ "sp-maybe-compressed-blob", "strum 0.24.1", "tempfile", - "toml 0.7.8", + "toml 0.8.9", "walkdir", "wasm-opt", ] @@ -14519,9 +15062,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.46" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89456b690ff72fddcecf231caedbe615c59480c93358a93dfae7fc29e3ebbf0e" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ "proc-macro2", "quote", @@ -14574,10 +15117,10 @@ dependencies = [ "cumulus-client-consensus-aura", "cumulus-client-consensus-common", "cumulus-client-network", + "cumulus-client-parachain-inherent", "cumulus-client-pov-recovery", "cumulus-client-service", "cumulus-primitives-core", - "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", "dancebox-runtime", "dc-orchestrator-chain-interface", @@ -14715,19 +15258,29 @@ dependencies = [ "cfg-if", "fastrand 2.0.1", "redox_syscall 0.4.1", - "rustix 0.38.28", + "rustix 0.38.30", "windows-sys 0.52.0", ] [[package]] name = "termcolor" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] +[[package]] +name = "terminal_size" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +dependencies = [ + "rustix 0.38.30", + "windows-sys 0.48.0", +] + [[package]] name = "termtree" version = "0.4.1" @@ -14737,7 +15290,7 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.3.0#3b75e7f6d5c43d93aa0cc39d9df6c6a5bf815da0" +source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-v1.6.0-preview#696579e35c1ecb3946ff1c746728549f62b0e10b" dependencies = [ "cumulus-primitives-core", "dp-collator-assignment", @@ -14775,7 +15328,7 @@ checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -14786,7 +15339,7 @@ checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -14850,12 +15403,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" +checksum = "fe80ced77cbfb4cb91a94bf72b378b4b6791a0d9b7f09d0be747d1bdff4e68bd" dependencies = [ "deranged", "itoa", + "num-conv", "powerfmt", "serde", "time-core", @@ -14870,32 +15424,14 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" dependencies = [ + "num-conv", "time-core", ] -[[package]] -name = "tiny-bip39" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" -dependencies = [ - "anyhow", - "hmac 0.12.1", - "once_cell", - "pbkdf2 0.11.0", - "rand 0.8.5", - "rustc-hash", - "sha2 0.10.8", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tiny-keccak" version = "2.0.2" @@ -14947,7 +15483,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -14957,7 +15493,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" dependencies = [ "pin-project", - "rand 0.8.5", + "rand", "tokio", ] @@ -15009,57 +15545,54 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +checksum = "c6a4b9e8023eb94392d3dca65d717c53abc5dad49c07cb65bb8fcd87115fa325" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.19.15", + "toml_edit 0.21.1", ] [[package]] -name = "toml" -version = "0.8.2" +name = "toml_datetime" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.20.2", ] [[package]] -name = "toml_datetime" -version = "0.6.3" +name = "toml_edit" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "serde", + "indexmap 2.2.2", + "toml_datetime", + "winnow", ] [[package]] name = "toml_edit" -version = "0.19.15" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" dependencies = [ - "indexmap 2.1.0", - "serde", - "serde_spanned", + "indexmap 2.2.2", "toml_datetime", "winnow", ] [[package]] name = "toml_edit" -version = "0.20.2" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.2", "serde", "serde_spanned", "toml_datetime", @@ -15083,7 +15616,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "bytes", "futures-core", "futures-util", @@ -15216,7 +15749,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -15242,10 +15775,9 @@ dependencies = [ [[package]] name = "tracing-gum" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "coarsetime", - "polkadot-node-jaeger", "polkadot-primitives", "tracing", "tracing-gum-proc-macro", @@ -15254,13 +15786,13 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "expander 2.0.0", - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -15313,7 +15845,7 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff28e0f815c2fea41ebddf148e008b077d2faddb026c9555b29696114d602642" dependencies = [ - "hash-db 0.16.0", + "hash-db", "hashbrown 0.13.2", "log", "rustc-hex", @@ -15326,17 +15858,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" dependencies = [ - "hash-db 0.16.0", -] - -[[package]] -name = "triehash" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1631b201eb031b563d2e85ca18ec8092508e262a3196ce9bd10a67ec87b9f5c" -dependencies = [ - "hash-db 0.15.2", - "rlp", + "hash-db", ] [[package]] @@ -15355,7 +15877,7 @@ dependencies = [ "idna 0.2.3", "ipnet", "lazy_static", - "rand 0.8.5", + "rand", "smallvec", "socket2 0.4.10", "thiserror", @@ -15394,7 +15916,7 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "async-trait", "clap", @@ -15441,7 +15963,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand 0.8.5", + "rand", "static_assertions", ] @@ -15471,9 +15993,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" @@ -15610,7 +16132,7 @@ dependencies = [ "arrayref", "constcat", "digest 0.10.7", - "rand 0.8.5", + "rand", "rand_chacha 0.3.1", "rand_core 0.6.4", "sha2 0.10.8", @@ -15658,9 +16180,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -15668,24 +16190,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.39" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" +checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" dependencies = [ "cfg-if", "js-sys", @@ -15695,9 +16217,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -15705,22 +16227,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" +checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" [[package]] name = "wasm-instrument" @@ -15788,9 +16310,9 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.31.1" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acfc1e384a36ca532d070a315925887247f3c7e23567e23e0ac9b1c5d6b8bf76" +checksum = "77a8281d1d660cdf54c76a3efa9ddd0c270cada1383a995db3ccb43d166456c7" dependencies = [ "smallvec", "spin 0.9.8", @@ -15801,9 +16323,9 @@ dependencies = [ [[package]] name = "wasmi_arena" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "401c1f35e413fac1846d4843745589d9ec678977ab35a384db8ae7830525d468" +checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073" [[package]] name = "wasmi_core" @@ -15880,7 +16402,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213" dependencies = [ "anyhow", - "base64 0.21.5", + "base64 0.21.7", "bincode", "directories-next", "file-per-thread-logger", @@ -16011,7 +16533,7 @@ dependencies = [ "memfd", "memoffset", "paste", - "rand 0.8.5", + "rand", "rustix 0.36.17", "wasmtime-asm-macros", "wasmtime-environ", @@ -16033,9 +16555,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" +checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" dependencies = [ "js-sys", "wasm-bindgen", @@ -16069,7 +16591,7 @@ checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" [[package]] name = "westend-runtime" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "binary-merkle-tree", "bitvec", @@ -16115,6 +16637,7 @@ dependencies = [ "pallet-proxy", "pallet-recovery", "pallet-referenda", + "pallet-root-testing", "pallet-scheduler", "pallet-session", "pallet-session-benchmarking", @@ -16174,7 +16697,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "frame-support", "polkadot-primitives", @@ -16184,6 +16707,7 @@ dependencies = [ "sp-runtime", "sp-weights", "staging-xcm", + "staging-xcm-builder", ] [[package]] @@ -16195,14 +16719,14 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.28", + "rustix 0.38.30", ] [[package]] name = "wide" -version = "0.7.13" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c68938b57b33da363195412cfc5fc37c9ed49aa9cfe2156fde64b8d2c9498242" +checksum = "89beec544f246e679fc25490e3f8e08003bc4bf612068f325120dad4cea02c1c" dependencies = [ "bytemuck", "safe_arch", @@ -16473,9 +16997,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.31" +version = "0.5.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a4882e6b134d6c28953a387571f1acdd3496830d5e36c5e3a1075580ea641c" +checksum = "818ce546a11a9986bc24f93d0cdf38a8a1a400f1473ea8c82e59f6e0ffab9249" dependencies = [ "memchr", ] @@ -16543,9 +17067,10 @@ dependencies = [ [[package]] name = "xcm-emulator" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5da8ffe3dd2f42856ea12328db1b2129bcb49992" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "cumulus-pallet-parachain-system", + "cumulus-pallet-xcmp-queue", "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", "cumulus-test-relay-sproof-builder", @@ -16563,8 +17088,6 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-parachains", "sp-arithmetic", - "sp-consensus-aura", - "sp-consensus-slots", "sp-core", "sp-io", "sp-runtime", @@ -16577,7 +17100,7 @@ dependencies = [ [[package]] name = "xcm-primitives" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.3.0#4320d4e0fe00b4a3b0540ceeb2cb5cd922dc2d3f" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" dependencies = [ "sp-runtime", ] @@ -16585,12 +17108,12 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.3.0#5968669019a8340ba5571ec5f2c428cbc7a8e81c" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -16603,7 +17126,7 @@ dependencies = [ "log", "nohash-hasher", "parking_lot 0.12.1", - "rand 0.8.5", + "rand", "static_assertions", ] @@ -16633,7 +17156,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] @@ -16653,7 +17176,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.46", + "syn 2.0.48", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index b54dff9bf..b58246b78 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,193 +51,195 @@ tp-maths = { path = "primitives/maths", default-features = false } tp-traits = { path = "primitives/traits", default-features = false } # Dancekit (wasm) -ccp-authorities-noting-inherent = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -ccp-xcm = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -dp-chain-state-snapshot = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -dp-collator-assignment = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -dp-core = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-cc-authorities-noting = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -test-relay-sproof-builder = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.3.0", default-features = false } +ccp-authorities-noting-inherent = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.6.0-preview", default-features = false } +ccp-xcm = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.6.0-preview", default-features = false } +dp-chain-state-snapshot = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.6.0-preview", default-features = false } +dp-collator-assignment = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.6.0-preview", default-features = false } +dp-core = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.6.0-preview", default-features = false } +pallet-cc-authorities-noting = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.6.0-preview", default-features = false } +test-relay-sproof-builder = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.6.0-preview", default-features = false } # Dancekit (client) -dc-orchestrator-chain-interface = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.3.0" } +dc-orchestrator-chain-interface = { git = "https://github.com/moondance-labs/dancekit", branch = "tanssi-polkadot-v1.6.0-preview" } # Moonkit (wasm) -nimbus-consensus = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0" } -nimbus-primitives = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-async-backing = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-author-inherent = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-evm-precompile-balances-erc20 = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-evm-precompile-batch = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-evm-precompile-call-permit = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-evm-precompile-xcm-utils = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-foreign-asset-creator = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-maintenance-mode = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-migrations = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-relay-storage-roots = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } -xcm-primitives = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.3.0", default-features = false } +nimbus-consensus = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0" } +nimbus-primitives = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-async-backing = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-author-inherent = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-evm-precompile-balances-erc20 = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-evm-precompile-batch = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-evm-precompile-call-permit = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-evm-precompile-xcm-utils = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-foreign-asset-creator = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-maintenance-mode = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-migrations = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-relay-storage-roots = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } +xcm-primitives = { git = "https://github.com/moondance-labs/moonkit", branch = "tanssi-polkadot-v1.6.0", default-features = false } # Substrate (wasm) -frame-benchmarking = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -frame-executive = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -frame-support = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.3.0", version = "4.0.0-dev", default-features = false } -frame-system = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.3.0", version = "4.0.0-dev", default-features = false } -frame-system-benchmarking = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -frame-try-runtime = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-asset-rate = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-assets = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-balances = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-identity = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-im-online = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-message-queue = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-proxy = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-root-testing = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-session = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-staking = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-sudo = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-timestamp = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-transaction-payment = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-tx-pause = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-utility = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } +frame-benchmarking = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +frame-executive = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +frame-support = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.6.0", version = "4.0.0-dev", default-features = false } +frame-system = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.6.0", version = "4.0.0-dev", default-features = false } +frame-system-benchmarking = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +frame-try-runtime = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-asset-rate = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-assets = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-balances = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-identity = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-im-online = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-message-queue = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-proxy = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-root-testing = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-session = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-staking = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-sudo = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-timestamp = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-transaction-payment = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-tx-pause = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-utility = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } parity-scale-codec = { version = "3.0.0", default-features = false, features = [ "derive", "max-encoded-len" ] } scale-info = { version = "2.10.0", default-features = false } -sp-api = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-application-crypto = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-block-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-consensus = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-consensus-aura = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-consensus-babe = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-consensus-beefy = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-consensus-slots = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-core = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.3.0", version = "21.0.0", default-features = false } -sp-debug-derive = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-inherents = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-io = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.3.0", version = "23.0.0", default-features = false } -sp-keyring = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.3.0", version = "24.0.0", default-features = false } -sp-offchain = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-runtime = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.3.0", version = "24.0.0", default-features = false } -sp-session = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-state-machine = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-std = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-transaction-pool = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-trie = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-version = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } +sp-api = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-application-crypto = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-block-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-consensus = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-consensus-aura = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-consensus-babe = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-consensus-beefy = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-consensus-slots = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-core = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.6.0", version = "21.0.0", default-features = false } +sp-debug-derive = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-inherents = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-io = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.6.0", version = "23.0.0", default-features = false } +sp-keyring = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.6.0", version = "24.0.0", default-features = false } +sp-offchain = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-runtime = { git = "https://github.com/moondance-labs/polkadot-sdk.git", branch = "tanssi-polkadot-v1.6.0", version = "24.0.0", default-features = false } +sp-session = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-state-machine = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-std = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-transaction-pool = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-trie = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-version = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } # Substrate (client) -frame-benchmarking-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -pallet-transaction-payment-rpc = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sc-basic-authorship = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-block-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-chain-spec = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-client-api = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-consensus = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-consensus-aura = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-consensus-grandpa = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-consensus-manual-seal = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-consensus-slots = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-executor = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-keystore = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-network = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-network-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-network-sync = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-network-test = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-network-transactions = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-offchain = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-rpc = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-service = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-sysinfo = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-telemetry = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-tracing = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-transaction-pool = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-transaction-pool-api = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sc-utils = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sp-blockchain = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -sp-externalities = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-keystore = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-staking = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-storage = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -sp-timestamp = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -substrate-build-script-utils = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -substrate-frame-rpc-system = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -substrate-prometheus-endpoint = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -substrate-test-runtime = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -substrate-test-runtime-client = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -substrate-wasm-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -try-runtime-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } +frame-benchmarking-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +pallet-transaction-payment-rpc = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sc-basic-authorship = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-block-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-chain-spec = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-client-api = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-consensus = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-consensus-aura = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-consensus-grandpa = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-consensus-manual-seal = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-consensus-slots = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-executor = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-keystore = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-network = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-network-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-network-sync = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-network-test = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-network-transactions = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-offchain = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-rpc = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-service = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-sysinfo = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-telemetry = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-tracing = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-transaction-pool = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-transaction-pool-api = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sc-utils = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sp-blockchain = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +sp-externalities = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-keystore = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-staking = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-storage = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-timestamp = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +substrate-build-script-utils = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +substrate-frame-rpc-system = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +substrate-prometheus-endpoint = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +substrate-test-runtime = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +substrate-test-runtime-client = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +substrate-wasm-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +try-runtime-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } # Polkadot (wasm) -pallet-xcm = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-xcm-benchmarks = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -polkadot-parachain-primitives = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -polkadot-runtime-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -polkadot-runtime-parachains = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -staging-xcm = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -staging-xcm-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -staging-xcm-executor = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -westend-runtime = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -westend-runtime-constants = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } +pallet-xcm = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-xcm-benchmarks = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +polkadot-parachain-primitives = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +polkadot-runtime-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +polkadot-runtime-parachains = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +staging-xcm = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +staging-xcm-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +staging-xcm-executor = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +westend-runtime = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +westend-runtime-constants = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } # Polkadot (client) -polkadot-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -polkadot-overseer = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } -polkadot-primitives = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -polkadot-service = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0" } +polkadot-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +polkadot-overseer = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +polkadot-primitives = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +polkadot-service = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } # Cumulus (wasm) -cumulus-pallet-dmp-queue = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-pallet-parachain-system = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false, features = [ "parameterized-consensus-hook" ] } -cumulus-pallet-session-benchmarking = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-pallet-xcm = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-pallet-xcmp-queue = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-primitives-core = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-primitives-timestamp = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-primitives-utility = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -parachain-info = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -parachains-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } +cumulus-pallet-dmp-queue = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-pallet-parachain-system = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false, features = [ "parameterized-consensus-hook" ] } +cumulus-pallet-session-benchmarking = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-pallet-xcm = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-pallet-xcmp-queue = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-primitives-core = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-primitives-timestamp = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-primitives-utility = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +parachain-info = { package = "staging-parachain-info", git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +parachains-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } # Cumulus (client) -cumulus-client-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-client-collator = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-client-consensus-aura = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-client-consensus-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-client-network = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-client-pov-recovery = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-client-service = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-primitives-parachain-inherent = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-relay-chain-interface = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -cumulus-test-relay-sproof-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } -xcm-emulator = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.3.0", default-features = false } +cumulus-client-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-client-collator = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-client-consensus-aura = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-client-consensus-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-client-network = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-client-parachain-inherent = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-client-pov-recovery = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-client-service = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-primitives-parachain-inherent = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-relay-chain-interface = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-test-relay-sproof-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +emulated-integration-tests-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +xcm-emulator = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } # Frontier (wasm) -fp-account = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -fp-evm = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -fp-rpc = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -fp-self-contained = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-base-fee = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-dynamic-fee = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-ethereum = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-evm = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-evm-chain-id = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-evm-precompile-modexp = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-evm-precompile-sha3fips = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-evm-precompile-simple = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -pallet-hotfix-sufficients = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -precompile-utils = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } +fp-account = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +fp-evm = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +fp-rpc = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +fp-self-contained = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-base-fee = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-dynamic-fee = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-ethereum = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-evm = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-evm-chain-id = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-evm-precompile-modexp = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-evm-precompile-sha3fips = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-evm-precompile-simple = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-hotfix-sufficients = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +precompile-utils = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } # Frontier (client) -fc-api = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -fc-cli = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -fc-consensus = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -fc-db = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -fc-mapping-sync = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -fc-rpc = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", features = [ +fc-api = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +fc-cli = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +fc-consensus = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +fc-db = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +fc-mapping-sync = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +fc-rpc = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", features = [ "rpc-binary-search-estimate", ] } -fc-rpc-core = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } -fc-storage = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.3.0", default-features = false } +fc-rpc-core = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } +fc-storage = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } # General (wasm) bounded-collections = { version = "0.1.8", default-features = false } diff --git a/client/consensus/src/consensus_orchestrator.rs b/client/consensus/src/consensus_orchestrator.rs index 159997b7f..498e9e87b 100644 --- a/client/consensus/src/consensus_orchestrator.rs +++ b/client/consensus/src/consensus_orchestrator.rs @@ -68,10 +68,7 @@ use { time::{Duration, Instant}, }, }; -pub use { - sc_consensus_aura::{slot_duration, AuraVerifier, BuildAuraWorkerParams, SlotProportion}, - sc_consensus_slots::InherentDataProviderExt, -}; +pub use {sc_consensus_aura::SlotProportion, sc_consensus_slots::InherentDataProviderExt}; const LOG_TARGET: &str = "aura::tanssi"; diff --git a/client/consensus/src/manual_seal.rs b/client/consensus/src/manual_seal.rs index 2bc2f6f56..faee2b6ca 100644 --- a/client/consensus/src/manual_seal.rs +++ b/client/consensus/src/manual_seal.rs @@ -24,13 +24,16 @@ use { sc_client_api::{AuxStore, UsageProvider}, sc_consensus::BlockImportParams, sc_consensus_manual_seal::{ConsensusDataProvider, Error}, - sp_api::{HeaderT, ProvideRuntimeApi}, + sp_api::ProvideRuntimeApi, sp_blockchain::{HeaderBackend, HeaderMetadata}, sp_consensus_aura::{digests::CompatibleDigestItem, AuraApi, Slot, SlotDuration}, sp_core::Pair, sp_inherents::InherentData, sp_keystore::KeystorePtr, - sp_runtime::{traits::Block as BlockT, Digest, DigestItem}, + sp_runtime::{ + traits::{Block as BlockT, Header as HeaderT}, + Digest, DigestItem, + }, sp_timestamp::TimestampInherentData, std::{marker::PhantomData, sync::Arc}, tp_consensus::TanssiAuthorityAssignmentApi, diff --git a/client/consensus/src/tests.rs b/client/consensus/src/tests.rs index 1e9866ca7..3b1101274 100644 --- a/client/consensus/src/tests.rs +++ b/client/consensus/src/tests.rs @@ -34,7 +34,7 @@ use { CompatibleDigestItem, NimbusId, NimbusPair, NIMBUS_ENGINE_ID, NIMBUS_KEY_ID, }, parking_lot::Mutex, - sc_block_builder::BlockBuilderProvider, + sc_block_builder::BlockBuilderBuilder, sc_client_api::{BlockchainEvents, HeaderBackend}, sc_consensus::{BoxJustificationImport, ForkChoiceStrategy}, sc_consensus_aura::SlotProportion, @@ -212,7 +212,14 @@ impl Proposer for DummyProposer { _: Duration, _: Option, ) -> Self::Proposal { - let r = self.1.new_block(digests).unwrap().build(); + let r = BlockBuilderBuilder::new(&*self.1) + .on_parent_block(self.1.chain_info().best_hash) + .fetch_parent_block_number(&*self.1) + .unwrap() + .with_inherent_digests(digests) + .build() + .unwrap() + .build(); futures::future::ready(r.map(|b| Proposal { block: b.block, diff --git a/client/node-common/src/command.rs b/client/node-common/src/command.rs new file mode 100644 index 000000000..205a058e5 --- /dev/null +++ b/client/node-common/src/command.rs @@ -0,0 +1,60 @@ +// Copyright (C) Moondance Labs Ltd. +// This file is part of Tanssi. + +// Tanssi 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. + +// Tanssi 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 Tanssi. If not, see . + +use cumulus_primitives_core::ParaId; +use parity_scale_codec::Encode; +use polkadot_primitives::HeadData; +use sc_chain_spec::ChainSpec; +use sp_runtime::{ + traits::{Block as BlockT, Hash as HashT, Header as HeaderT, Zero}, + StateVersion, +}; + +/// Generate the genesis block from a given ChainSpec. +pub fn generate_genesis_block( + chain_spec: &dyn ChainSpec, + genesis_state_version: StateVersion, +) -> Result { + let storage = chain_spec.build_storage()?; + + let child_roots = storage.children_default.iter().map(|(sk, child_content)| { + let state_root = <<::Header as HeaderT>::Hashing as HashT>::trie_root( + child_content.data.clone().into_iter().collect(), + genesis_state_version, + ); + (sk.clone(), state_root.encode()) + }); + let state_root = <<::Header as HeaderT>::Hashing as HashT>::trie_root( + storage.top.clone().into_iter().chain(child_roots).collect(), + genesis_state_version, + ); + + let extrinsics_root = <<::Header as HeaderT>::Hashing as HashT>::trie_root( + Vec::new(), + genesis_state_version, + ); + + Ok(Block::new( + <::Header as HeaderT>::new( + Zero::zero(), + extrinsics_root, + state_root, + Default::default(), + Default::default(), + ), + Default::default(), + )) +} diff --git a/client/node-common/src/lib.rs b/client/node-common/src/lib.rs index 673211af3..36a704bf0 100644 --- a/client/node-common/src/lib.rs +++ b/client/node-common/src/lib.rs @@ -15,3 +15,5 @@ // along with Tanssi. If not, see . pub mod service; + +pub mod command; diff --git a/client/node-common/src/service.rs b/client/node-common/src/service.rs index 531e37d05..a3fd3113c 100644 --- a/client/node-common/src/service.rs +++ b/client/node-common/src/service.rs @@ -521,10 +521,14 @@ where // Here you can check whether the hardware meets your chains' requirements. Putting a link // in there and swapping out the requirements for your own are probably a good idea. The // requirements for a para-chain are dictated by its relay-chain. - if collator && !SUBSTRATE_REFERENCE_HARDWARE.check_hardware(hwbench) { - log::warn!( - "⚠️ The hardware does not meet the minimal requirements for role 'Authority'." + match SUBSTRATE_REFERENCE_HARDWARE.check_hardware(&hwbench) { + Err(err) if collator => { + log::warn!( + "⚠️ The hardware does not meet the minimal requirements {} for role 'Authority'.", + err ); + } + _ => {} } if let Some(ref mut telemetry) = telemetry { diff --git a/container-chains/templates/frontier/node/Cargo.toml b/container-chains/templates/frontier/node/Cargo.toml index 700e63958..6685d95c7 100644 --- a/container-chains/templates/frontier/node/Cargo.toml +++ b/container-chains/templates/frontier/node/Cargo.toml @@ -18,6 +18,7 @@ jsonrpsee = { workspace = true, features = [ "server" ] } log = { workspace = true } parity-scale-codec = { workspace = true } serde = { workspace = true, features = [ "derive" ] } +serde_json = { workspace = true } url = { workspace = true } # Local @@ -90,7 +91,7 @@ cumulus-client-consensus-common = { workspace = true } cumulus-client-network = { workspace = true } cumulus-client-service = { workspace = true } cumulus-primitives-core = { workspace = true } -cumulus-primitives-parachain-inherent = { workspace = true } +cumulus-client-parachain-inherent = { workspace = true } cumulus-relay-chain-interface = { workspace = true } cumulus-test-relay-sproof-builder = { workspace = true } diff --git a/container-chains/templates/frontier/node/src/chain_spec.rs b/container-chains/templates/frontier/node/src/chain_spec.rs index de132ee76..a3067419f 100644 --- a/container-chains/templates/frontier/node/src/chain_spec.rs +++ b/container-chains/templates/frontier/node/src/chain_spec.rs @@ -73,29 +73,25 @@ pub fn development_config(para_id: ParaId, boot_nodes: Vec) -> ChainSpec }) .collect(); - ChainSpec::from_genesis( - // Name - "Development", - // ID - "dev", - ChainType::Development, - move || { - testnet_genesis( - default_funded_accounts.clone(), - para_id, - AccountId::from(hex!("f24FF3a9CF04c71Dbc94D0b566f7A27B94566cac")), // Alith - ) - }, - boot_nodes, - None, - None, - None, - Some(properties), + ChainSpec::builder( + container_chain_template_frontier_runtime::WASM_BINARY + .expect("WASM binary was not built, please build it!"), Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! para_id: para_id.into(), }, ) + .with_name("Development") + .with_id("dev") + .with_chain_type(ChainType::Development) + .with_genesis_config(testnet_genesis( + default_funded_accounts.clone(), + para_id, + AccountId::from(hex!("f24FF3a9CF04c71Dbc94D0b566f7A27B94566cac")), // Alith + )) + .with_properties(properties) + .with_boot_nodes(boot_nodes) + .build() } pub fn local_testnet_config(para_id: ParaId, boot_nodes: Vec) -> ChainSpec { @@ -105,7 +101,7 @@ pub fn local_testnet_config(para_id: ParaId, boot_nodes: Vec) -> ChainSp properties.insert("tokenDecimals".into(), 18.into()); properties.insert("ss58Format".into(), 42.into()); properties.insert("isEthereum".into(), true.into()); - let protocol_id = Some(format!("container-chain-{}", para_id)); + let protocol_id = format!("container-chain-{}", para_id); let mut default_funded_accounts = pre_funded_accounts(); default_funded_accounts.sort(); @@ -118,55 +114,42 @@ pub fn local_testnet_config(para_id: ParaId, boot_nodes: Vec) -> ChainSp }) .collect(); - ChainSpec::from_genesis( - // Name - &format!("Frontier Container {}", para_id), - // ID - &format!("frontier_container_{}", para_id), - ChainType::Local, - move || { - testnet_genesis( - default_funded_accounts.clone(), - para_id, - AccountId::from(hex!("f24FF3a9CF04c71Dbc94D0b566f7A27B94566cac")), // Alith - ) - }, - // Bootnodes - boot_nodes, - // Telemetry - None, - // Protocol ID - protocol_id.as_deref(), - // Fork ID - None, - // Properties - Some(properties), - // Extensions + ChainSpec::builder( + container_chain_template_frontier_runtime::WASM_BINARY + .expect("WASM binary was not built, please build it!"), Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! para_id: para_id.into(), }, ) + .with_name(&format!("Frontier Container {}", para_id)) + .with_id(&format!("frontier_container_{}", para_id)) + .with_chain_type(ChainType::Local) + .with_genesis_config(testnet_genesis( + default_funded_accounts.clone(), + para_id, + AccountId::from(hex!("f24FF3a9CF04c71Dbc94D0b566f7A27B94566cac")), // Alith + )) + .with_properties(properties) + .with_protocol_id(&protocol_id) + .with_boot_nodes(boot_nodes) + .build() } + fn testnet_genesis( endowed_accounts: Vec, id: ParaId, root_key: AccountId, -) -> container_chain_template_frontier_runtime::RuntimeGenesisConfig { +) -> serde_json::Value { // This is the simplest bytecode to revert without returning any data. // We will pre-deploy it under all of our precompiles to ensure they can be called from // within contracts. // (PUSH1 0x00 PUSH1 0x00 REVERT) let revert_bytecode = vec![0x60, 0x00, 0x60, 0x00, 0xFD]; - container_chain_template_frontier_runtime::RuntimeGenesisConfig { - system: container_chain_template_frontier_runtime::SystemConfig { - code: container_chain_template_frontier_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!") - .to_vec(), - ..Default::default() - }, + let g = container_chain_template_frontier_runtime::RuntimeGenesisConfig { + system: Default::default(), balances: container_chain_template_frontier_runtime::BalancesConfig { balances: endowed_accounts .iter() @@ -225,7 +208,9 @@ fn testnet_genesis( // This should initialize it to whatever we have set in the pallet polkadot_xcm: PolkadotXcmConfig::default(), tx_pause: Default::default(), - } + }; + + serde_json::to_value(&g).unwrap() } /// Get pre-funded accounts diff --git a/container-chains/templates/frontier/node/src/cli.rs b/container-chains/templates/frontier/node/src/cli.rs index e92d65cca..20629a03b 100644 --- a/container-chains/templates/frontier/node/src/cli.rs +++ b/container-chains/templates/frontier/node/src/cli.rs @@ -47,7 +47,8 @@ pub enum Subcommand { PurgeChain(cumulus_client_cli::PurgeChainCmd), /// Export the genesis state of the parachain. - ExportGenesisState(cumulus_client_cli::ExportGenesisStateCommand), + #[command(alias = "export-genesis-state")] + ExportGenesisHead(cumulus_client_cli::ExportGenesisHeadCommand), /// Export the genesis wasm of the parachain. ExportGenesisWasm(cumulus_client_cli::ExportGenesisWasmCommand), diff --git a/container-chains/templates/frontier/node/src/command.rs b/container-chains/templates/frontier/node/src/command.rs index 823f9954c..39c76fda4 100644 --- a/container-chains/templates/frontier/node/src/command.rs +++ b/container-chains/templates/frontier/node/src/command.rs @@ -21,10 +21,10 @@ use { service::{self, frontier_database_dir, NodeConfig}, }, container_chain_template_frontier_runtime::Block, - cumulus_client_cli::generate_genesis_block, cumulus_primitives_core::ParaId, frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE}, log::{info, warn}, + node_common::command::generate_genesis_block, node_common::service::NodeBuilderConfig as _, parity_scale_codec::Encode, polkadot_cli::IdentifyVariant, @@ -235,11 +235,11 @@ pub fn run() -> Result<()> { cmd.run(config, polkadot_config) }) } - Some(Subcommand::ExportGenesisState(cmd)) => { + Some(Subcommand::ExportGenesisHead(cmd)) => { let runner = cli.create_runner(cmd)?; runner.sync_run(|mut config| { let partials = NodeConfig::new_builder(&mut config, None)?; - cmd.run(&*config.chain_spec, &*partials.client) + cmd.run(partials.client) }) } Some(Subcommand::ExportGenesisWasm(cmd)) => { diff --git a/container-chains/templates/frontier/node/src/rpc/mod.rs b/container-chains/templates/frontier/node/src/rpc/mod.rs index b227b48cc..681200c6d 100644 --- a/container-chains/templates/frontier/node/src/rpc/mod.rs +++ b/container-chains/templates/frontier/node/src/rpc/mod.rs @@ -25,8 +25,8 @@ pub use sc_rpc::{DenyUnsafe, SubscriptionTaskExecutor}; use { container_chain_template_frontier_runtime::{opaque::Block, AccountId, Hash, Index}, + cumulus_client_parachain_inherent::ParachainInherentData, cumulus_primitives_core::{ParaId, PersistedValidationData}, - cumulus_primitives_parachain_inherent::ParachainInherentData, cumulus_test_relay_sproof_builder::RelayStateSproofBuilder, fc_rpc::{EthTask, TxPool}, fc_rpc_core::TxPoolApiServer, @@ -45,14 +45,14 @@ use { sc_service::TaskManager, sc_transaction_pool::{ChainApi, Pool}, sc_transaction_pool_api::TransactionPool, - sp_api::{CallApiAt, HeaderT, ProvideRuntimeApi}, + sp_api::{CallApiAt, ProvideRuntimeApi}, sp_block_builder::BlockBuilder, sp_blockchain::{ Backend as BlockchainBackend, Error as BlockChainError, HeaderBackend, HeaderMetadata, }, sp_consensus_aura::SlotDuration, sp_core::H256, - sp_runtime::traits::{BlakeTwo256, Block as BlockT}, + sp_runtime::traits::{BlakeTwo256, Block as BlockT, Header as HeaderT}, std::{sync::Arc, time::Duration}, }; pub struct DefaultEthConfig(std::marker::PhantomData<(C, BE)>); diff --git a/container-chains/templates/frontier/node/src/service.rs b/container-chains/templates/frontier/node/src/service.rs index d209e1fd3..004a9ad71 100644 --- a/container-chains/templates/frontier/node/src/service.rs +++ b/container-chains/templates/frontier/node/src/service.rs @@ -22,11 +22,9 @@ use { container_chain_template_frontier_runtime::{opaque::Block, RuntimeApi}, cumulus_client_cli::CollatorOptions, cumulus_client_consensus_common::ParachainBlockImport as TParachainBlockImport, + cumulus_client_parachain_inherent::{MockValidationDataInherentDataProvider, MockXcmConfig}, cumulus_client_service::prepare_node_config, cumulus_primitives_core::{relay_chain::well_known_keys as RelayWellKnownKeys, ParaId}, - cumulus_primitives_parachain_inherent::{ - MockValidationDataInherentDataProvider, MockXcmConfig, - }, fc_consensus::FrontierBlockImport, fc_db::DatabaseSource, fc_rpc_core::types::{FeeHistoryCache, FilterPool}, diff --git a/container-chains/templates/frontier/runtime/Cargo.toml b/container-chains/templates/frontier/runtime/Cargo.toml index 5dea1e5ba..7e927d9d5 100644 --- a/container-chains/templates/frontier/runtime/Cargo.toml +++ b/container-chains/templates/frontier/runtime/Cargo.toml @@ -42,6 +42,7 @@ frame-system = { workspace = true } frame-system-rpc-runtime-api = { workspace = true } frame-try-runtime = { workspace = true, optional = true } pallet-balances = { workspace = true, features = [ "insecure_zero_ed" ] } +pallet-message-queue = { workspace = true } pallet-proxy = { workspace = true } pallet-root-testing = { workspace = true } pallet-sudo = { workspace = true } @@ -85,6 +86,7 @@ cumulus-primitives-core = { workspace = true } cumulus-primitives-timestamp = { workspace = true } cumulus-primitives-utility = { workspace = true } parachain-info = { workspace = true } +parachains-common = { workspace = true } # Frontier fp-account = { workspace = true, features = [ "serde" ] } @@ -154,6 +156,7 @@ std = [ "pallet-evm/std", "pallet-hotfix-sufficients/std", "pallet-maintenance-mode/std", + "pallet-message-queue/std", "pallet-migrations/std", "pallet-proxy/std", "pallet-root-testing/std", @@ -166,6 +169,7 @@ std = [ "pallet-xcm-benchmarks?/std", "pallet-xcm/std", "parachain-info/std", + "parachains-common/std", "parity-scale-codec/std", "polkadot-parachain-primitives/std", "polkadot-runtime-common/std", @@ -211,6 +215,7 @@ runtime-benchmarks = [ "pallet-author-inherent/runtime-benchmarks", "pallet-balances/runtime-benchmarks", "pallet-cc-authorities-noting/runtime-benchmarks", + "pallet-message-queue/runtime-benchmarks", "pallet-ethereum/runtime-benchmarks", "pallet-evm-precompile-xcm-utils/runtime-benchmarks", "pallet-evm/runtime-benchmarks", @@ -223,6 +228,7 @@ runtime-benchmarks = [ "pallet-utility/runtime-benchmarks", "pallet-xcm-benchmarks/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", + "parachains-common/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", @@ -253,6 +259,7 @@ try-runtime = [ "pallet-evm/try-runtime", "pallet-hotfix-sufficients/try-runtime", "pallet-maintenance-mode/try-runtime", + "pallet-message-queue/try-runtime", "pallet-migrations/try-runtime", "pallet-proxy/try-runtime", "pallet-root-testing/try-runtime", diff --git a/container-chains/templates/frontier/runtime/src/lib.rs b/container-chains/templates/frontier/runtime/src/lib.rs index 7e02b497e..7e47e96d9 100644 --- a/container-chains/templates/frontier/runtime/src/lib.rs +++ b/container-chains/templates/frontier/runtime/src/lib.rs @@ -35,7 +35,7 @@ pub mod xcm_config; use { crate::precompiles::TemplatePrecompiles, cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases, - cumulus_primitives_core::{relay_chain::BlockNumber as RelayBlockNumber, DmpMessageHandler}, + cumulus_primitives_core::AggregateMessageOrigin, fp_account::EthereumSignature, fp_evm::weight_per_gas, fp_rpc::TransactionStatus, @@ -46,8 +46,7 @@ use { parameter_types, traits::{ ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, Contains, Currency as CurrencyT, - FindAuthor, Imbalance, InsideBoth, InstanceFilter, OffchainWorker, OnFinalize, OnIdle, - OnInitialize, OnRuntimeUpgrade, OnUnbalanced, + FindAuthor, Imbalance, InsideBoth, InstanceFilter, OnFinalize, OnUnbalanced, }, weights::{ constants::{ @@ -163,7 +162,7 @@ pub type Executive = frame_executive::Executive< Block, frame_system::ChainContext, Runtime, - pallet_maintenance_mode::ExecutiveHooks, + AllPalletsWithSystem, >; impl fp_self_contained::SelfContainedCall for RuntimeCall { @@ -449,6 +448,7 @@ impl frame_system::Config for Runtime { /// The action to take on a Runtime Upgrade type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; type MaxConsumers = frame_support::traits::ConstU32<16>; + type RuntimeTask = RuntimeTask; } parameter_types! { @@ -503,6 +503,7 @@ impl pallet_balances::Config for Runtime { parameter_types! { pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; } pub const RELAY_CHAIN_SLOT_DURATION_MILLIS: u32 = 6000; @@ -516,11 +517,12 @@ type ConsensusHook = pallet_async_backing::consensus_hook::FixedVelocityConsensu >; impl cumulus_pallet_parachain_system::Config for Runtime { + type WeightInfo = cumulus_pallet_parachain_system::weights::SubstrateWeight; type RuntimeEvent = RuntimeEvent; type OnSystemEvent = (); type SelfParaId = parachain_info::Pallet; type OutboundXcmpMessageSource = XcmpQueue; - type DmpMessageHandler = MaintenanceMode; + type DmpQueue = frame_support::traits::EnqueueWithOrigin; type ReservedDmpWeight = ReservedDmpWeight; type XcmpMessageHandler = XcmpQueue; type ReservedXcmpWeight = ReservedXcmpWeight; @@ -706,89 +708,12 @@ impl Contains for NormalFilter { } } -pub struct NormalDmpHandler; -impl DmpMessageHandler for NormalDmpHandler { - // This implementation makes messages be queued - // Since the limit is 0, messages are queued for next iteration - fn handle_dmp_messages( - iter: impl Iterator)>, - limit: Weight, - ) -> Weight { - (if Migrations::should_pause_xcm() { - DmpQueue::handle_dmp_messages(iter, Weight::zero()) - } else { - DmpQueue::handle_dmp_messages(iter, limit) - }) + ::DbWeight::get().reads(1) - } -} - -pub struct MaintenanceDmpHandler; -impl DmpMessageHandler for MaintenanceDmpHandler { - // This implementation makes messages be queued - // Since the limit is 0, messages are queued for next iteration - fn handle_dmp_messages( - iter: impl Iterator)>, - _limit: Weight, - ) -> Weight { - DmpQueue::handle_dmp_messages(iter, Weight::zero()) - } -} - -/// The hooks we want to run in Maintenance Mode -pub struct MaintenanceHooks; - -impl OnInitialize for MaintenanceHooks { - fn on_initialize(n: BlockNumber) -> Weight { - AllPalletsWithSystem::on_initialize(n) - } -} - -// We override onIdle for xcmQueue and dmpQueue pallets to not process messages inside it -impl OnIdle for MaintenanceHooks { - fn on_idle(_n: BlockNumber, _max_weight: Weight) -> Weight { - Weight::zero() - } -} - -impl OnRuntimeUpgrade for MaintenanceHooks { - fn on_runtime_upgrade() -> Weight { - AllPalletsWithSystem::on_runtime_upgrade() - } - #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result, sp_runtime::DispatchError> { - AllPalletsWithSystem::pre_upgrade() - } - - #[cfg(feature = "try-runtime")] - fn post_upgrade(state: Vec) -> Result<(), sp_runtime::DispatchError> { - AllPalletsWithSystem::post_upgrade(state) - } -} - -impl OnFinalize for MaintenanceHooks { - fn on_finalize(n: BlockNumber) { - AllPalletsWithSystem::on_finalize(n) - } -} - -impl OffchainWorker for MaintenanceHooks { - fn offchain_worker(n: BlockNumber) { - AllPalletsWithSystem::offchain_worker(n) - } -} - impl pallet_maintenance_mode::Config for Runtime { type RuntimeEvent = RuntimeEvent; type NormalCallFilter = NormalFilter; type MaintenanceCallFilter = MaintenanceFilter; type MaintenanceOrigin = EnsureRoot; type XcmExecutionManager = XcmExecutionManager; - type NormalDmpHandler = NormalDmpHandler; - type MaintenanceDmpHandler = MaintenanceDmpHandler; - // We use AllPalletsWithSystem because we dont want to change the hooks in normal - // operation - type NormalExecutiveHooks = AllPalletsWithSystem; - type MaintenanceExecutiveHooks = MaintenanceHooks; } impl pallet_cc_authorities_noting::Config for Runtime { @@ -909,7 +834,9 @@ impl pallet_author_inherent::Config for Runtime { type WeightInfo = pallet_author_inherent::weights::SubstrateWeight; } -impl pallet_root_testing::Config for Runtime {} +impl pallet_root_testing::Config for Runtime { + type RuntimeEvent = RuntimeEvent; +} impl pallet_tx_pause::Config for Runtime { type RuntimeEvent = RuntimeEvent; @@ -958,6 +885,7 @@ construct_runtime!( CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 71, DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 72, PolkadotXcm: pallet_xcm::{Pallet, Call, Storage, Event, Origin, Config} = 73, + MessageQueue: pallet_message_queue::{Pallet, Call, Storage, Event} = 74, RootTesting: pallet_root_testing = 100, AsyncBacking: pallet_async_backing::{Pallet, Storage} = 110, @@ -1415,7 +1343,7 @@ impl_runtime_apis! { fn gas_limit_multiplier_support() {} - fn pending_block(xts: Vec<::Extrinsic>) -> (Option, Option>) { + fn pending_block(xts: Vec<::Extrinsic>) -> (Option, Option>) { for ext in xts.into_iter() { let _ = Executive::apply_extrinsic(ext); } diff --git a/container-chains/templates/frontier/runtime/src/xcm_config.rs b/container-chains/templates/frontier/runtime/src/xcm_config.rs index 0a2eb0089..4e0000396 100644 --- a/container-chains/templates/frontier/runtime/src/xcm_config.rs +++ b/container-chains/templates/frontier/runtime/src/xcm_config.rs @@ -16,24 +16,27 @@ use { super::{ - AccountId, AllPalletsWithSystem, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, - Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue, + AccountId, AllPalletsWithSystem, Balances, MaintenanceMode, MessageQueue, ParachainInfo, + ParachainSystem, PolkadotXcm, Runtime, RuntimeBlockWeights, RuntimeCall, RuntimeEvent, + RuntimeOrigin, WeightToFee, XcmpQueue, }, ccp_xcm::SignedToAccountKey20, - cumulus_primitives_core::ParaId, + cumulus_primitives_core::{AggregateMessageOrigin, ParaId}, frame_support::{ parameter_types, - traits::{Everything, Nothing, PalletInfoAccess}, + traits::{Everything, Nothing, PalletInfoAccess, TransformOrigin}, weights::Weight, }, frame_system::EnsureRoot, pallet_xcm::XcmPassthrough, + parachains_common::message_queue::{NarrowOriginToSibling, ParaIdToSibling}, polkadot_runtime_common::xcm_sender::NoPriceForMessageDelivery, sp_core::ConstU32, + sp_runtime::Perbill, staging_xcm::latest::prelude::*, staging_xcm_builder::{ AccountKey20Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, - AllowTopLevelPaidExecutionFrom, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, + AllowTopLevelPaidExecutionFrom, EnsureXcmOrigin, FixedWeightBounds, FungibleAdapter, IsConcrete, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountKey20AsNative, SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, WithComputedOrigin, @@ -116,7 +119,7 @@ pub type LocationToAccountId = ( pub type LocalOriginToLocation = SignedToAccountKey20; /// Means for transacting the native currency on this chain. -pub type CurrencyTransactor = CurrencyAdapter< +pub type CurrencyTransactor = FungibleAdapter< // Use this currency: Balances, // Use this currency when it is a fungible asset matching the given location or name: @@ -224,14 +227,14 @@ impl pallet_xcm::Config for Runtime { impl cumulus_pallet_xcmp_queue::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; type ChannelInfo = ParachainSystem; type VersionWrapper = PolkadotXcm; - type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; type PriceForSiblingDelivery = NoPriceForMessageDelivery; + type XcmpQueue = TransformOrigin; + type MaxInboundSuspended = sp_core::ConstU32<1_000>; } impl cumulus_pallet_xcm::Config for Runtime { @@ -239,8 +242,41 @@ impl cumulus_pallet_xcm::Config for Runtime { type XcmExecutor = XcmExecutor; } +parameter_types! { + pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; +} + impl cumulus_pallet_dmp_queue::Config for Runtime { + type WeightInfo = cumulus_pallet_dmp_queue::weights::SubstrateWeight; type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; - type ExecuteOverweightOrigin = EnsureRoot; + type DmpSink = frame_support::traits::EnqueueWithOrigin; +} + +parameter_types! { + // TODO verify 35% + pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; +} + +impl pallet_message_queue::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type WeightInfo = pallet_message_queue::weights::SubstrateWeight; + #[cfg(feature = "runtime-benchmarks")] + type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor< + cumulus_primitives_core::AggregateMessageOrigin, + >; + #[cfg(not(feature = "runtime-benchmarks"))] + type MessageProcessor = staging_xcm_builder::ProcessXcmMessage< + AggregateMessageOrigin, + XcmExecutor, + RuntimeCall, + >; + type Size = u32; + // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin: + type QueueChangeHandler = NarrowOriginToSibling; + // NarrowOriginToSibling calls XcmpQueue's is_pause if Origin is sibling. Allows all other origins + type QueuePausedQuery = (MaintenanceMode, NarrowOriginToSibling); + // TODO verify values + type HeapSize = sp_core::ConstU32<{ 64 * 1024 }>; + type MaxStale = sp_core::ConstU32<8>; + type ServiceWeight = MessageQueueServiceWeight; } diff --git a/container-chains/templates/simple/node/Cargo.toml b/container-chains/templates/simple/node/Cargo.toml index f1aeac808..80eafd349 100644 --- a/container-chains/templates/simple/node/Cargo.toml +++ b/container-chains/templates/simple/node/Cargo.toml @@ -17,6 +17,7 @@ jsonrpsee = { workspace = true, features = [ "server" ] } log = { workspace = true } parity-scale-codec = { workspace = true } serde = { workspace = true, features = [ "derive" ] } +serde_json = { workspace = true } # Local ccp-authorities-noting-inherent = { workspace = true } @@ -84,6 +85,7 @@ cumulus-client-network = { workspace = true } cumulus-client-service = { workspace = true } cumulus-primitives-core = { workspace = true } cumulus-primitives-parachain-inherent = { workspace = true } +cumulus-client-parachain-inherent = { workspace = true } cumulus-relay-chain-interface = { workspace = true } [build-dependencies] substrate-build-script-utils = { workspace = true } diff --git a/container-chains/templates/simple/node/src/chain_spec.rs b/container-chains/templates/simple/node/src/chain_spec.rs index 589e5a8a3..3525a3959 100644 --- a/container-chains/templates/simple/node/src/chain_spec.rs +++ b/container-chains/templates/simple/node/src/chain_spec.rs @@ -89,47 +89,25 @@ pub fn development_config(para_id: ParaId, boot_nodes: Vec) -> ChainSpec }) .collect(); - // ChainSpec::from_genesis( - // // Name - // "Development", - // // ID - // "dev", - // ChainType::Development, - // move || { - // testnet_genesis( - // default_funded_accounts.clone(), - // para_id, - // get_account_id_from_seed::("Alice"), - // ) - // }, - // boot_nodes, - // None, - // None, - // None, - // Some(properties), - // Extensions { - // relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - // para_id: para_id.into(), - // }, - // ) - - ChainSpec::builder( - moonkit_template_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), - Extensions { - relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - para_id: para_id.into(), - }, - ) - .with_name("Development") - .with_id("dev") - .with_chain_type(ChainType::Development) - .with_genesis_config(testnet_genesis( + ChainSpec::builder( + container_chain_template_simple_runtime::WASM_BINARY + .expect("WASM binary was not built, please build it!"), + Extensions { + relay_chain: "rococo-local".into(), // You MUST set this to the correct network! + para_id: para_id.into(), + }, + ) + .with_name("Development") + .with_id("dev") + .with_chain_type(ChainType::Development) + .with_genesis_config(testnet_genesis( default_funded_accounts.clone(), para_id, get_account_id_from_seed::("Alice"), )) + .with_properties(properties) .with_boot_nodes(boot_nodes) - .build() + .build() } pub fn local_testnet_config(para_id: ParaId, boot_nodes: Vec) -> ChainSpec { @@ -139,7 +117,7 @@ pub fn local_testnet_config(para_id: ParaId, boot_nodes: Vec) -> ChainSp properties.insert("tokenDecimals".into(), 12.into()); properties.insert("ss58Format".into(), 42.into()); properties.insert("isEthereum".into(), false.into()); - let protocol_id = Some(format!("container-chain-{}", para_id)); + let protocol_id = format!("container-chain-{}", para_id); let mut default_funded_accounts = pre_funded_accounts(); default_funded_accounts.sort(); @@ -152,114 +130,42 @@ pub fn local_testnet_config(para_id: ParaId, boot_nodes: Vec) -> ChainSp }) .collect(); - // ChainSpec::from_genesis( - // // Name - // &format!("Simple Container {}", para_id), - // // ID - // &format!("simple_container_{}", para_id), - // ChainType::Local, - // move || { - // testnet_genesis( - // default_funded_accounts.clone(), - // para_id, - // get_account_id_from_seed::("Alice"), - // ) - // }, - // // Bootnodes - // boot_nodes, - // // Telemetry - // None, - // // Protocol ID - // protocol_id.as_deref(), - // // Fork ID - // None, - // // Properties - // Some(properties), - // // Extensions - // Extensions { - // relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - // para_id: para_id.into(), - // }, - // ) - - ChainSpec::builder( - moonkit_template_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), - Extensions { - relay_chain: "rococo-local".into(), // You MUST set this to the correct network! - para_id: para_id.into(), - }, - ) - .with_name(&format!("Simple Container {}", para_id)) - .with_id(&format!("simple_container_{}", para_id)) - .with_chain_type(ChainType::Local) - .with_genesis_config(testnet_genesis( + ChainSpec::builder( + container_chain_template_simple_runtime::WASM_BINARY + .expect("WASM binary was not built, please build it!"), + Extensions { + relay_chain: "rococo-local".into(), // You MUST set this to the correct network! + para_id: para_id.into(), + }, + ) + .with_name(&format!("Simple Container {}", para_id)) + .with_id(&format!("simple_container_{}", para_id)) + .with_chain_type(ChainType::Local) + .with_genesis_config(testnet_genesis( default_funded_accounts.clone(), para_id, get_account_id_from_seed::("Alice"), )) - .with_protocol_id(protocol_id.as_deref()) + .with_properties(properties) + .with_protocol_id(&protocol_id) .with_boot_nodes(boot_nodes) - .build() + .build() } -// fn testnet_genesis( -// endowed_accounts: Vec, -// id: ParaId, -// root_key: AccountId, -// ) -> container_chain_template_simple_runtime::RuntimeGenesisConfig { -// container_chain_template_simple_runtime::RuntimeGenesisConfig { -// system: container_chain_template_simple_runtime::SystemConfig { -// code: container_chain_template_simple_runtime::WASM_BINARY -// .expect("WASM binary was not build, please build it!") -// .to_vec(), -// ..Default::default() -// }, -// balances: container_chain_template_simple_runtime::BalancesConfig { -// balances: endowed_accounts -// .iter() -// .cloned() -// .map(|k| (k, 1 << 60)) -// .collect(), -// }, -// parachain_info: container_chain_template_simple_runtime::ParachainInfoConfig { -// parachain_id: id, -// ..Default::default() -// }, -// parachain_system: Default::default(), -// sudo: container_chain_template_simple_runtime::SudoConfig { -// key: Some(root_key), -// }, -// authorities_noting: container_chain_template_simple_runtime::AuthoritiesNotingConfig { -// orchestrator_para_id: ORCHESTRATOR, -// ..Default::default() -// }, -// migrations: MigrationsConfig::default(), -// maintenance_mode: MaintenanceModeConfig { -// start_in_maintenance_mode: false, -// ..Default::default() -// }, -// // This should initialize it to whatever we have set in the pallet -// polkadot_xcm: PolkadotXcmConfig::default(), -// transaction_payment: Default::default(), -// tx_pause: Default::default(), -// } -// } - - fn testnet_genesis( endowed_accounts: Vec, id: ParaId, root_key: AccountId, ) -> serde_json::Value { - let g = moonkit_template_runtime::RuntimeGenesisConfig { - balances: container_chain_template_simple_runtime::BalancesConfig { + let g = container_chain_template_simple_runtime::RuntimeGenesisConfig { + balances: container_chain_template_simple_runtime::BalancesConfig { balances: endowed_accounts .iter() .cloned() .map(|k| (k, 1 << 60)) .collect(), }, - parachain_info: container_chain_template_simple_runtime::ParachainInfoConfig { + parachain_info: container_chain_template_simple_runtime::ParachainInfoConfig { parachain_id: id, ..Default::default() }, @@ -280,15 +186,10 @@ fn testnet_genesis( polkadot_xcm: PolkadotXcmConfig::default(), transaction_payment: Default::default(), tx_pause: Default::default(), - system: container_chain_template_simple_runtime::SystemConfig { - code: container_chain_template_simple_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!") - .to_vec(), - ..Default::default() - }, - }; + system: Default::default(), + }; - serde_json::to_value(&g).unwrap() + serde_json::to_value(&g).unwrap() } /// Get pre-funded accounts @@ -308,10 +209,3 @@ pub fn pre_funded_accounts() -> Vec { get_account_id_from_seed::("Ferdie//stash"), ] } - -#[test] -fn chain_spec_as_json_raw_works() { - let x = local_testnet_config(); - let raw = true; - assert!(x.as_json(raw).is_ok()); -} diff --git a/container-chains/templates/simple/node/src/cli.rs b/container-chains/templates/simple/node/src/cli.rs index f82f8d68d..7dac6ee3c 100644 --- a/container-chains/templates/simple/node/src/cli.rs +++ b/container-chains/templates/simple/node/src/cli.rs @@ -47,7 +47,8 @@ pub enum Subcommand { PurgeChain(cumulus_client_cli::PurgeChainCmd), /// Export the genesis state of the parachain. - ExportGenesisState(cumulus_client_cli::ExportGenesisStateCommand), + #[command(alias = "export-genesis-state")] + ExportGenesisHead(cumulus_client_cli::ExportGenesisHeadCommand), /// Export the genesis wasm of the parachain. ExportGenesisWasm(cumulus_client_cli::ExportGenesisWasmCommand), diff --git a/container-chains/templates/simple/node/src/command.rs b/container-chains/templates/simple/node/src/command.rs index 9c8b8b71a..0bf52fc34 100644 --- a/container-chains/templates/simple/node/src/command.rs +++ b/container-chains/templates/simple/node/src/command.rs @@ -21,10 +21,10 @@ use { service::{self, NodeConfig}, }, container_chain_template_simple_runtime::Block, - cumulus_client_cli::generate_genesis_block, cumulus_primitives_core::ParaId, frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE}, log::{info, warn}, + node_common::command::generate_genesis_block, node_common::service::NodeBuilderConfig as _, parity_scale_codec::Encode, polkadot_service::IdentifyVariant as _, @@ -216,11 +216,11 @@ pub fn run() -> Result<()> { cmd.run(config, polkadot_config) }) } - Some(Subcommand::ExportGenesisState(cmd)) => { + Some(Subcommand::ExportGenesisHead(cmd)) => { let runner = cli.create_runner(cmd)?; runner.sync_run(|config| { let partials = NodeConfig::new_builder(&config, None)?; - cmd.run(&*config.chain_spec, &*partials.client) + cmd.run(partials.client) }) } Some(Subcommand::ExportGenesisWasm(cmd)) => { diff --git a/container-chains/templates/simple/node/src/service.rs b/container-chains/templates/simple/node/src/service.rs index f71132414..c1450fc77 100644 --- a/container-chains/templates/simple/node/src/service.rs +++ b/container-chains/templates/simple/node/src/service.rs @@ -21,10 +21,9 @@ use { container_chain_template_simple_runtime::{opaque::Block, RuntimeApi}, cumulus_client_cli::CollatorOptions, cumulus_client_consensus_common::ParachainBlockImport as TParachainBlockImport, + cumulus_client_parachain_inherent::{MockValidationDataInherentDataProvider, MockXcmConfig}, cumulus_client_service::prepare_node_config, cumulus_primitives_core::{relay_chain::well_known_keys as RelayWellKnownKeys, ParaId}, - cumulus_primitives_parachain_inherent::MockValidationDataInherentDataProvider, - cumulus_primitives_parachain_inherent::MockXcmConfig, nimbus_primitives::NimbusId, node_common::service::ManualSealConfiguration, node_common::service::Sealing, diff --git a/container-chains/templates/simple/runtime/src/xcm_config.rs b/container-chains/templates/simple/runtime/src/xcm_config.rs index 56eb1e64b..e99673435 100644 --- a/container-chains/templates/simple/runtime/src/xcm_config.rs +++ b/container-chains/templates/simple/runtime/src/xcm_config.rs @@ -259,7 +259,7 @@ parameter_types! { impl pallet_message_queue::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type WeightInfo = (); + type WeightInfo = pallet_message_queue::weights::SubstrateWeight; #[cfg(feature = "runtime-benchmarks")] type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor< cumulus_primitives_core::AggregateMessageOrigin, diff --git a/node/Cargo.toml b/node/Cargo.toml index 0b1b1eb2b..b4d063b7a 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -99,7 +99,7 @@ cumulus-client-network = { workspace = true } cumulus-client-pov-recovery = { workspace = true } cumulus-client-service = { workspace = true } cumulus-primitives-core = { workspace = true } -cumulus-primitives-parachain-inherent = { workspace = true } +cumulus-client-parachain-inherent = { workspace = true } cumulus-relay-chain-interface = { workspace = true } [build-dependencies] substrate-build-script-utils = { workspace = true } diff --git a/node/src/chain_spec/dancebox.rs b/node/src/chain_spec/dancebox.rs index fe48d3fb2..7ff86bdaa 100644 --- a/node/src/chain_spec/dancebox.rs +++ b/node/src/chain_spec/dancebox.rs @@ -57,59 +57,53 @@ pub fn development_config( properties.insert("ss58Format".into(), 42.into()); properties.insert("isEthereum".into(), false.into()); - ChainSpec::from_genesis( - // Name - "Dancebox Development Testnet", - // ID - "dancebox_dev", - ChainType::Development, - move || { - testnet_genesis( - // initial collators. - invulnerables_from_seeds(invulnerables.iter()), - account_ids(&[ - "Alice", - "Bob", - "Charlie", - "Dave", - "Eve", - "Ferdie", - "Alice//stash", - "Bob//stash", - "Charlie//stash", - "Dave//stash", - "Eve//stash", - "Ferdie//stash", - ]), - para_id, - get_account_id_from_seed::("Alice"), - &container_chains, - &mock_container_chains, - pallet_configuration::GenesisConfig { - config: HostConfiguration { - max_collators: 100u32, - min_orchestrator_collators: 1u32, - max_orchestrator_collators: 1u32, - collators_per_container: 2u32, - full_rotation_period: prod_or_fast!(24u32, 5u32), - collators_per_parathread: 1, - parathreads_per_collator: 1, - target_container_chain_fullness: Perbill::from_percent(80), - }, - ..Default::default() - }, - ) - }, - vec![], - None, - None, - None, - Some(properties), + ChainSpec::builder( + dancebox_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! para_id: para_id.into(), }, ) + .with_name("Dancebox Development Testnet") + .with_id("dancebox_dev") + .with_chain_type(ChainType::Development) + .with_genesis_config(testnet_genesis( + // initial collators. + invulnerables_from_seeds(invulnerables.iter()), + account_ids(&[ + "Alice", + "Bob", + "Charlie", + "Dave", + "Eve", + "Ferdie", + "Alice//stash", + "Bob//stash", + "Charlie//stash", + "Dave//stash", + "Eve//stash", + "Ferdie//stash", + ]), + para_id, + get_account_id_from_seed::("Alice"), + &container_chains, + &mock_container_chains, + pallet_configuration::GenesisConfig { + config: HostConfiguration { + max_collators: 100u32, + min_orchestrator_collators: 1u32, + max_orchestrator_collators: 1u32, + collators_per_container: 2u32, + full_rotation_period: prod_or_fast!(24u32, 5u32), + collators_per_parathread: 1, + parathreads_per_collator: 1, + target_container_chain_fullness: Perbill::from_percent(80), + }, + ..Default::default() + }, + )) + .with_properties(properties) + .build() } pub fn local_dancebox_config( @@ -125,65 +119,54 @@ pub fn local_dancebox_config( properties.insert("ss58Format".into(), 42.into()); properties.insert("isEthereum".into(), false.into()); - ChainSpec::from_genesis( - // Name - "Dancebox Local Testnet", - // ID - "dancebox_local", - ChainType::Local, - move || { - testnet_genesis( - // initial collators. - invulnerables_from_seeds(invulnerables.iter()), - account_ids(&[ - "Alice", - "Bob", - "Charlie", - "Dave", - "Eve", - "Ferdie", - "Alice//stash", - "Bob//stash", - "Charlie//stash", - "Dave//stash", - "Eve//stash", - "Ferdie//stash", - ]), - para_id, - get_account_id_from_seed::("Alice"), - &container_chains, - &mock_container_chains, - pallet_configuration::GenesisConfig { - config: HostConfiguration { - max_collators: 100u32, - min_orchestrator_collators: 2u32, - max_orchestrator_collators: 5u32, - collators_per_container: 2u32, - full_rotation_period: prod_or_fast!(24u32, 5u32), - collators_per_parathread: 1, - parathreads_per_collator: 1, - target_container_chain_fullness: Perbill::from_percent(80), - }, - ..Default::default() - }, - ) - }, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - Some("orchestrator"), - // Fork ID - None, - // Properties - Some(properties), - // Extensions + ChainSpec::builder( + dancebox_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! para_id: para_id.into(), }, ) + .with_name("Dancebox Local Testnet") + .with_id("dancebox_local") + .with_chain_type(ChainType::Local) + .with_genesis_config(testnet_genesis( + // initial collators. + invulnerables_from_seeds(invulnerables.iter()), + account_ids(&[ + "Alice", + "Bob", + "Charlie", + "Dave", + "Eve", + "Ferdie", + "Alice//stash", + "Bob//stash", + "Charlie//stash", + "Dave//stash", + "Eve//stash", + "Ferdie//stash", + ]), + para_id, + get_account_id_from_seed::("Alice"), + &container_chains, + &mock_container_chains, + pallet_configuration::GenesisConfig { + config: HostConfiguration { + max_collators: 100u32, + min_orchestrator_collators: 2u32, + max_orchestrator_collators: 5u32, + collators_per_container: 2u32, + full_rotation_period: prod_or_fast!(24u32, 5u32), + collators_per_parathread: 1, + parathreads_per_collator: 1, + target_container_chain_fullness: Perbill::from_percent(80), + }, + ..Default::default() + }, + )) + .with_properties(properties) + .with_protocol_id("orchestrator") + .build() } fn testnet_genesis( @@ -194,7 +177,7 @@ fn testnet_genesis( container_chains: &[String], mock_container_chains: &[ParaId], configuration: pallet_configuration::GenesisConfig, -) -> dancebox_runtime::RuntimeGenesisConfig { +) -> serde_json::Value { let para_ids: Vec<_> = container_chains .iter() .map(|x| { @@ -230,13 +213,8 @@ fn testnet_genesis( dancebox_runtime::ParachainBondAccount::get(), dancebox_runtime::PendingRewardsAccount::get(), ]; - dancebox_runtime::RuntimeGenesisConfig { - system: dancebox_runtime::SystemConfig { - code: dancebox_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!") - .to_vec(), - ..Default::default() - }, + let g = dancebox_runtime::RuntimeGenesisConfig { + system: Default::default(), balances: dancebox_runtime::BalancesConfig { balances: endowed_accounts .iter() @@ -291,7 +269,9 @@ fn testnet_genesis( polkadot_xcm: PolkadotXcmConfig::default(), transaction_payment: Default::default(), tx_pause: Default::default(), - } + }; + + serde_json::to_value(&g).unwrap() } fn mock_container_chain_genesis_data>( diff --git a/node/src/chain_spec/flashbox.rs b/node/src/chain_spec/flashbox.rs index 5a5b95b0f..18d5c0d03 100644 --- a/node/src/chain_spec/flashbox.rs +++ b/node/src/chain_spec/flashbox.rs @@ -57,59 +57,53 @@ pub fn development_config( properties.insert("ss58Format".into(), 42.into()); properties.insert("isEthereum".into(), false.into()); - ChainSpec::from_genesis( - // Name - "Flashbox Development Testnet", - // ID - "flashbox_dev", - ChainType::Development, - move || { - testnet_genesis( - // initial collators. - invulnerables_from_seeds(invulnerables.iter()), - account_ids(&[ - "Alice", - "Bob", - "Charlie", - "Dave", - "Eve", - "Ferdie", - "Alice//stash", - "Bob//stash", - "Charlie//stash", - "Dave//stash", - "Eve//stash", - "Ferdie//stash", - ]), - para_id, - get_account_id_from_seed::("Alice"), - &container_chains, - &mock_container_chains, - pallet_configuration::GenesisConfig { - config: HostConfiguration { - max_collators: 100u32, - min_orchestrator_collators: 1u32, - max_orchestrator_collators: 1u32, - collators_per_container: 2u32, - full_rotation_period: 0, - collators_per_parathread: 1, - parathreads_per_collator: 1, - target_container_chain_fullness: Perbill::from_percent(80), - }, - ..Default::default() - }, - ) - }, - vec![], - None, - None, - None, - Some(properties), + ChainSpec::builder( + flashbox_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! para_id: para_id.into(), }, ) + .with_name("Flashbox Development Testnet") + .with_id("flashbox_dev") + .with_chain_type(ChainType::Development) + .with_genesis_config(testnet_genesis( + // initial collators. + invulnerables_from_seeds(invulnerables.iter()), + account_ids(&[ + "Alice", + "Bob", + "Charlie", + "Dave", + "Eve", + "Ferdie", + "Alice//stash", + "Bob//stash", + "Charlie//stash", + "Dave//stash", + "Eve//stash", + "Ferdie//stash", + ]), + para_id, + get_account_id_from_seed::("Alice"), + &container_chains, + &mock_container_chains, + pallet_configuration::GenesisConfig { + config: HostConfiguration { + max_collators: 100u32, + min_orchestrator_collators: 1u32, + max_orchestrator_collators: 1u32, + collators_per_container: 2u32, + full_rotation_period: 0, + collators_per_parathread: 1, + parathreads_per_collator: 1, + target_container_chain_fullness: Perbill::from_percent(80), + }, + ..Default::default() + }, + )) + .with_properties(properties) + .build() } pub fn local_flashbox_config( @@ -125,65 +119,54 @@ pub fn local_flashbox_config( properties.insert("ss58Format".into(), 42.into()); properties.insert("isEthereum".into(), false.into()); - ChainSpec::from_genesis( - // Name - "Flashbox Local Testnet", - // ID - "flashbox_local", - ChainType::Local, - move || { - testnet_genesis( - // initial collators. - invulnerables_from_seeds(invulnerables.iter()), - account_ids(&[ - "Alice", - "Bob", - "Charlie", - "Dave", - "Eve", - "Ferdie", - "Alice//stash", - "Bob//stash", - "Charlie//stash", - "Dave//stash", - "Eve//stash", - "Ferdie//stash", - ]), - para_id, - get_account_id_from_seed::("Alice"), - &container_chains, - &mock_container_chains, - pallet_configuration::GenesisConfig { - config: HostConfiguration { - max_collators: 100u32, - min_orchestrator_collators: 2u32, - max_orchestrator_collators: 5u32, - collators_per_container: 2u32, - full_rotation_period: 0, - collators_per_parathread: 1, - parathreads_per_collator: 1, - target_container_chain_fullness: Perbill::from_percent(80), - }, - ..Default::default() - }, - ) - }, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - Some("orchestrator"), - // Fork ID - None, - // Properties - Some(properties), - // Extensions + ChainSpec::builder( + flashbox_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! para_id: para_id.into(), }, ) + .with_name("Flashbox Local Testnet") + .with_id("flashbox_local") + .with_chain_type(ChainType::Local) + .with_genesis_config(testnet_genesis( + // initial collators. + invulnerables_from_seeds(invulnerables.iter()), + account_ids(&[ + "Alice", + "Bob", + "Charlie", + "Dave", + "Eve", + "Ferdie", + "Alice//stash", + "Bob//stash", + "Charlie//stash", + "Dave//stash", + "Eve//stash", + "Ferdie//stash", + ]), + para_id, + get_account_id_from_seed::("Alice"), + &container_chains, + &mock_container_chains, + pallet_configuration::GenesisConfig { + config: HostConfiguration { + max_collators: 100u32, + min_orchestrator_collators: 2u32, + max_orchestrator_collators: 5u32, + collators_per_container: 2u32, + full_rotation_period: 0, + collators_per_parathread: 1, + parathreads_per_collator: 1, + target_container_chain_fullness: Perbill::from_percent(80), + }, + ..Default::default() + }, + )) + .with_properties(properties) + .with_protocol_id("orchestrator") + .build() } fn testnet_genesis( @@ -194,7 +177,7 @@ fn testnet_genesis( container_chains: &[String], mock_container_chains: &[ParaId], configuration: pallet_configuration::GenesisConfig, -) -> flashbox_runtime::RuntimeGenesisConfig { +) -> serde_json::Value { let para_ids: Vec<_> = container_chains .iter() .map(|x| { @@ -230,13 +213,8 @@ fn testnet_genesis( flashbox_runtime::ParachainBondAccount::get(), flashbox_runtime::PendingRewardsAccount::get(), ]; - flashbox_runtime::RuntimeGenesisConfig { - system: flashbox_runtime::SystemConfig { - code: flashbox_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!") - .to_vec(), - ..Default::default() - }, + let g = flashbox_runtime::RuntimeGenesisConfig { + system: Default::default(), balances: flashbox_runtime::BalancesConfig { balances: endowed_accounts .iter() @@ -289,7 +267,9 @@ fn testnet_genesis( }, transaction_payment: Default::default(), tx_pause: Default::default(), - } + }; + + serde_json::to_value(&g).unwrap() } fn mock_container_chain_genesis_data>( diff --git a/node/src/cli.rs b/node/src/cli.rs index 5f9e6f730..66349d166 100644 --- a/node/src/cli.rs +++ b/node/src/cli.rs @@ -21,7 +21,7 @@ use { sc_cli::{CliConfiguration, NodeKeyParams, SharedParams}, sc_network::config::MultiaddrWithPeerId, sp_runtime::traits::Get, - std::{collections::BTreeMap, path::PathBuf}, + std::{collections::BTreeMap, path::PathBuf, str::FromStr}, tp_container_chain_genesis_data::json::properties_to_map, }; @@ -51,7 +51,8 @@ pub enum Subcommand { PurgeChain(cumulus_client_cli::PurgeChainCmd), /// Export the genesis state of the parachain. - ExportGenesisState(cumulus_client_cli::ExportGenesisStateCommand), + #[command(alias = "export-genesis-state")] + ExportGenesisHead(cumulus_client_cli::ExportGenesisHeadCommand), /// Export the genesis wasm of the parachain. ExportGenesisWasm(ExportGenesisWasmCommand), @@ -323,38 +324,37 @@ impl ContainerChainCli { String::from_utf8(genesis_data.id).map_err(|_e| "Invalid id".to_string())?; let storage_raw: BTreeMap<_, _> = genesis_data.storage.into_iter().map(|x| x.into()).collect(); - let telemetry_endpoints = None; - let protocol_id = Some(format!("container-chain-{}", para_id)); - let fork_id = genesis_data - .fork_id - .map(|fork_id| String::from_utf8(fork_id).map_err(|_e| "Invalid fork_id".to_string())) - .transpose()?; - let properties = Some( - properties_to_map(&genesis_data.properties) - .map_err(|e| format!("Invalid properties: {}", e))?, - ); + let protocol_id = format!("container-chain-{}", para_id); + let properties = properties_to_map(&genesis_data.properties) + .map_err(|e| format!("Invalid properties: {}", e))?; let extensions = crate::chain_spec::Extensions { relay_chain, para_id, }; - let chain_spec = crate::chain_spec::RawChainSpec::from_genesis( - &name, - &id, - chain_type, - move || RawGenesisConfig { - storage_raw: storage_raw.clone(), - }, - boot_nodes, - telemetry_endpoints, - protocol_id.as_deref(), - fork_id.as_deref(), - properties, + let raw_genesis_config = RawGenesisConfig { + storage_raw: storage_raw.clone(), + }; + + let chain_spec = crate::chain_spec::RawChainSpec::builder( + &[], // TODO: what to do with extensions? We are hardcoding the relay_chain and the para_id, any // other extensions are being ignored extensions, - ); + ) + .with_name(&name) + .with_id(&id) + .with_chain_type(chain_type) + .with_genesis_config(serde_json::to_value(&raw_genesis_config).unwrap()) + .with_properties(properties) + .with_boot_nodes(boot_nodes) + .with_protocol_id(&protocol_id); + + if let Some(fork_id) = genesis_data.fork_id { + let fork_id_string = String::from_utf8(fork_id).map_err(|_e| "Invalid fork_id".to_string())?; + return Ok(chain_spec.with_fork_id(&fork_id_string).build()); + } - Ok(chain_spec) + Ok(chain_spec.build()) } pub fn preload_chain_spec_from_genesis_data>( diff --git a/node/src/command.rs b/node/src/command.rs index 88dcab8fe..94f351d8b 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -20,11 +20,12 @@ use { cli::{Cli, ContainerChainCli, RelayChainCli, Subcommand}, service::{self, IdentifyVariant, NodeConfig}, }, - cumulus_client_cli::{extract_genesis_wasm, generate_genesis_block}, + cumulus_client_cli::extract_genesis_wasm, cumulus_primitives_core::ParaId, dancebox_runtime::Block, frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE}, log::{info, warn}, + node_common::command::generate_genesis_block, node_common::service::NodeBuilderConfig as _, parity_scale_codec::Encode, sc_cli::{ @@ -344,11 +345,11 @@ pub fn run() -> Result<()> { cmd.run(config, polkadot_config) }) } - Some(Subcommand::ExportGenesisState(cmd)) => { + Some(Subcommand::ExportGenesisHead(cmd)) => { let runner = cli.create_runner(cmd)?; runner.sync_run(|config| { let client = NodeConfig::new_builder(&config, None)?.client; - cmd.run(&*config.chain_spec, &*client) + cmd.run(client) }) } Some(Subcommand::ExportGenesisWasm(params)) => { diff --git a/node/src/container_chain_spawner.rs b/node/src/container_chain_spawner.rs index 33d048ff6..cee5fdc8e 100644 --- a/node/src/container_chain_spawner.rs +++ b/node/src/container_chain_spawner.rs @@ -27,12 +27,12 @@ use { container_chain_monitor::{SpawnedContainer, SpawnedContainersMonitor}, service::{start_node_impl_container, NodeConfig, ParachainClient}, }, - cumulus_client_cli::generate_genesis_block, cumulus_primitives_core::ParaId, cumulus_relay_chain_interface::RelayChainInterface, dancebox_runtime::{AccountId, Block, BlockNumber}, dc_orchestrator_chain_interface::OrchestratorChainInterface, futures::FutureExt, + node_common::command::generate_genesis_block, node_common::service::NodeBuilderConfig, pallet_author_noting_runtime_api::AuthorNotingApi, pallet_registrar_runtime_api::RegistrarApi, diff --git a/node/src/service.rs b/node/src/service.rs index 53b027e6c..0dff6573c 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -28,15 +28,13 @@ use { ParachainBlockImport as TParachainBlockImport, ParachainBlockImportMarker, ParachainConsensus, }, + cumulus_client_parachain_inherent::{MockValidationDataInherentDataProvider, MockXcmConfig}, cumulus_client_pov_recovery::{PoVRecovery, RecoveryDelayRange}, cumulus_client_service::prepare_node_config, cumulus_primitives_core::{ relay_chain::{well_known_keys as RelayWellKnownKeys, CollatorPair, Hash as PHash}, ParaId, }, - cumulus_primitives_parachain_inherent::{ - MockValidationDataInherentDataProvider, MockXcmConfig, - }, cumulus_relay_chain_interface::RelayChainInterface, dancebox_runtime::{opaque::Block, RuntimeApi}, dc_orchestrator_chain_interface::{ @@ -673,7 +671,7 @@ fn build_consensus_container( async move { let parachain_inherent = - cumulus_primitives_parachain_inherent::ParachainInherentData::create_at( + cumulus_client_parachain_inherent::ParachainInherentDataProvider::create_at( relay_parent, &relay_chain_interface, &validation_data, @@ -816,7 +814,7 @@ fn build_consensus_orchestrator( let client_set_aside_for_cidp = client_set_aside_for_cidp.clone(); async move { let parachain_inherent = - cumulus_primitives_parachain_inherent::ParachainInherentData::create_at( + cumulus_client_parachain_inherent::ParachainInherentDataProvider::create_at( relay_parent, &relay_chain_interface, &validation_data, diff --git a/pallets/author-noting/src/mock.rs b/pallets/author-noting/src/mock.rs index 6e8cd5393..167413236 100644 --- a/pallets/author-noting/src/mock.rs +++ b/pallets/author-noting/src/mock.rs @@ -75,6 +75,7 @@ impl frame_system::Config for Test { type SS58Prefix = (); type OnSetCode = (); type MaxConsumers = ConstU32<16>; + type RuntimeTask = (); } parameter_types! { diff --git a/pallets/authority-assignment/src/mock.rs b/pallets/authority-assignment/src/mock.rs index fdb52f1fb..7318011eb 100644 --- a/pallets/authority-assignment/src/mock.rs +++ b/pallets/authority-assignment/src/mock.rs @@ -65,6 +65,7 @@ impl system::Config for Test { type SS58Prefix = ConstU16<42>; type OnSetCode = (); type MaxConsumers = frame_support::traits::ConstU32<16>; + type RuntimeTask = (); } // Pallet to provide some mock data, used to test diff --git a/pallets/authority-mapping/src/mock.rs b/pallets/authority-mapping/src/mock.rs index 3aac26e74..36f538905 100644 --- a/pallets/authority-mapping/src/mock.rs +++ b/pallets/authority-mapping/src/mock.rs @@ -64,6 +64,7 @@ impl system::Config for Test { type SS58Prefix = ConstU16<42>; type OnSetCode = (); type MaxConsumers = frame_support::traits::ConstU32<16>; + type RuntimeTask = (); } parameter_types! { diff --git a/pallets/collator-assignment/src/mock.rs b/pallets/collator-assignment/src/mock.rs index dbe4e095a..effa8fc6c 100644 --- a/pallets/collator-assignment/src/mock.rs +++ b/pallets/collator-assignment/src/mock.rs @@ -71,6 +71,7 @@ impl system::Config for Test { type SS58Prefix = ConstU16<42>; type OnSetCode = (); type MaxConsumers = frame_support::traits::ConstU32<16>; + type RuntimeTask = (); } // Pallet to provide some mock data, used to test diff --git a/pallets/configuration/src/mock.rs b/pallets/configuration/src/mock.rs index cf4f39985..5ffa997d1 100644 --- a/pallets/configuration/src/mock.rs +++ b/pallets/configuration/src/mock.rs @@ -61,6 +61,7 @@ impl system::Config for Test { type SS58Prefix = ConstU16<42>; type OnSetCode = (); type MaxConsumers = frame_support::traits::ConstU32<16>; + type RuntimeTask = (); } pub struct CurrentSessionIndexGetter; diff --git a/pallets/data-preservers/src/mock.rs b/pallets/data-preservers/src/mock.rs index e6c1cab85..d4f99cfd7 100644 --- a/pallets/data-preservers/src/mock.rs +++ b/pallets/data-preservers/src/mock.rs @@ -70,6 +70,7 @@ impl frame_system::Config for Test { type SS58Prefix = (); type OnSetCode = (); type MaxConsumers = ConstU32<16>; + type RuntimeTask = (); } parameter_types! { diff --git a/pallets/inflation-rewards/src/mock.rs b/pallets/inflation-rewards/src/mock.rs index e159c9c63..2cf1d346c 100644 --- a/pallets/inflation-rewards/src/mock.rs +++ b/pallets/inflation-rewards/src/mock.rs @@ -72,6 +72,7 @@ impl frame_system::Config for Test { type SS58Prefix = (); type OnSetCode = (); type MaxConsumers = ConstU32<16>; + type RuntimeTask = (); } parameter_types! { diff --git a/pallets/initializer/src/mock.rs b/pallets/initializer/src/mock.rs index d3a90a089..0b9153fc7 100644 --- a/pallets/initializer/src/mock.rs +++ b/pallets/initializer/src/mock.rs @@ -62,6 +62,7 @@ impl system::Config for Test { type SS58Prefix = ConstU16<42>; type OnSetCode = (); type MaxConsumers = frame_support::traits::ConstU32<16>; + type RuntimeTask = (); } thread_local! { diff --git a/pallets/invulnerables/src/mock.rs b/pallets/invulnerables/src/mock.rs index e86f60745..62a843b6f 100644 --- a/pallets/invulnerables/src/mock.rs +++ b/pallets/invulnerables/src/mock.rs @@ -72,6 +72,7 @@ impl system::Config for Test { type MaxConsumers = frame_support::traits::ConstU32<16>; type Nonce = u64; type Block = Block; + type RuntimeTask = (); } parameter_types! { diff --git a/pallets/pooled-staking/src/mock.rs b/pallets/pooled-staking/src/mock.rs index edf9b4676..0b735253f 100644 --- a/pallets/pooled-staking/src/mock.rs +++ b/pallets/pooled-staking/src/mock.rs @@ -108,6 +108,7 @@ impl frame_system::Config for Runtime { type SS58Prefix = (); type OnSetCode = (); type MaxConsumers = ConstU32<16>; + type RuntimeTask = (); } /// Allows to change ED mid-test. diff --git a/pallets/registrar/src/mock.rs b/pallets/registrar/src/mock.rs index 541cd5442..5b06c4dc4 100644 --- a/pallets/registrar/src/mock.rs +++ b/pallets/registrar/src/mock.rs @@ -70,6 +70,7 @@ impl frame_system::Config for Test { type SS58Prefix = ConstU16<42>; type OnSetCode = (); type MaxConsumers = frame_support::traits::ConstU32<16>; + type RuntimeTask = (); } parameter_types! { diff --git a/pallets/services-payment/src/lib.rs b/pallets/services-payment/src/lib.rs index 03e3349ab..f46d1cdcb 100644 --- a/pallets/services-payment/src/lib.rs +++ b/pallets/services-payment/src/lib.rs @@ -122,7 +122,7 @@ pub mod pallet { #[pallet::call] impl Pallet where - BalanceOf: From>, + BlockNumberFor: Into>, { #[pallet::call_index(0)] #[pallet::weight(T::WeightInfo::purchase_credits())] diff --git a/pallets/services-payment/src/mock.rs b/pallets/services-payment/src/mock.rs index 329726eba..4f25b70ee 100644 --- a/pallets/services-payment/src/mock.rs +++ b/pallets/services-payment/src/mock.rs @@ -80,6 +80,7 @@ impl frame_system::Config for Test { type SS58Prefix = (); type OnSetCode = (); type MaxConsumers = ConstU32<16>; + type RuntimeTask = (); } parameter_types! { diff --git a/primitives/consensus/src/mock.rs b/primitives/consensus/src/mock.rs index e00d5c385..9f987cf96 100644 --- a/primitives/consensus/src/mock.rs +++ b/primitives/consensus/src/mock.rs @@ -57,6 +57,7 @@ impl frame_system::Config for Test { type SS58Prefix = (); type OnSetCode = (); type MaxConsumers = ConstU32<16>; + type RuntimeTask = (); } pub fn new_test_ext() -> sp_io::TestExternalities { diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index 73f8bfb49..dfc50fdee 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -54,6 +54,7 @@ pallet-asset-rate = { workspace = true } pallet-assets = { workspace = true } pallet-balances = { workspace = true } pallet-identity = { workspace = true } +pallet-message-queue = { workspace = true } pallet-root-testing = { workspace = true } pallet-session = { workspace = true } pallet-sudo = { workspace = true } @@ -92,6 +93,7 @@ staging-xcm-builder = { workspace = true } staging-xcm-executor = { workspace = true } # Cumulus +emulated-integration-tests-common = { workspace = true } cumulus-pallet-dmp-queue = { workspace = true } cumulus-pallet-parachain-system = { workspace = true } cumulus-pallet-session-benchmarking = { workspace = true } diff --git a/runtime/dancebox/src/lib.rs b/runtime/dancebox/src/lib.rs index 3077595ad..46315c2fd 100644 --- a/runtime/dancebox/src/lib.rs +++ b/runtime/dancebox/src/lib.rs @@ -40,7 +40,7 @@ use { cumulus_pallet_parachain_system::{RelayChainStateProof, RelayNumberStrictlyIncreases}, cumulus_primitives_core::{ relay_chain::{self, BlockNumber as RelayBlockNumber, SessionIndex}, - BodyId, DmpMessageHandler, ParaId, + AggregateMessageOrigin, BodyId, ParaId, }, frame_support::{ construct_runtime, @@ -86,6 +86,7 @@ use { create_runtime_str, generic, impl_opaque_keys, traits::{ AccountIdConversion, AccountIdLookup, BlakeTwo256, Block as BlockT, Hash as HashT, + Verify, }, transaction_validity::{TransactionSource, TransactionValidity}, AccountId32, ApplyExtrinsicResult, @@ -133,7 +134,7 @@ pub type Executive = frame_executive::Executive< Block, frame_system::ChainContext, Runtime, - pallet_maintenance_mode::ExecutiveHooks, + AllPalletsWithSystem, >; /// DANCE, the native token, uses 12 decimals of precision. @@ -345,6 +346,7 @@ impl frame_system::Config for Runtime { /// The action to take on a Runtime Upgrade type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; type MaxConsumers = frame_support::traits::ConstU32<16>; + type RuntimeTask = RuntimeTask; } impl pallet_timestamp::Config for Runtime { @@ -431,6 +433,7 @@ impl pallet_transaction_payment::Config for Runtime { parameter_types! { pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; } pub const RELAY_CHAIN_SLOT_DURATION_MILLIS: u32 = 6000; @@ -444,11 +447,12 @@ type ConsensusHook = pallet_async_backing::consensus_hook::FixedVelocityConsensu >; impl cumulus_pallet_parachain_system::Config for Runtime { + type WeightInfo = cumulus_pallet_parachain_system::weights::SubstrateWeight; type RuntimeEvent = RuntimeEvent; type OnSystemEvent = (); type SelfParaId = parachain_info::Pallet; type OutboundXcmpMessageSource = XcmpQueue; - type DmpMessageHandler = MaintenanceMode; + type DmpQueue = frame_support::traits::EnqueueWithOrigin; type ReservedDmpWeight = ReservedDmpWeight; type XcmpMessageHandler = XcmpQueue; type ReservedXcmpWeight = ReservedXcmpWeight; @@ -1114,85 +1118,12 @@ impl Contains for NormalFilter { } } -pub struct NormalDmpHandler; -impl DmpMessageHandler for NormalDmpHandler { - // This implementation makes messages be queued - // Since the limit is 0, messages are queued for next iteration - fn handle_dmp_messages( - iter: impl Iterator)>, - limit: Weight, - ) -> Weight { - (if Migrations::should_pause_xcm() { - DmpQueue::handle_dmp_messages(iter, Weight::zero()) - } else { - DmpQueue::handle_dmp_messages(iter, limit) - }) + ::DbWeight::get().reads(1) - } -} - -pub struct MaintenanceDmpHandler; -impl DmpMessageHandler for MaintenanceDmpHandler { - // This implementation makes messages be queued - // Since the limit is 0, messages are queued for next iteration - fn handle_dmp_messages( - iter: impl Iterator)>, - _limit: Weight, - ) -> Weight { - DmpQueue::handle_dmp_messages(iter, Weight::zero()) - } -} - -/// The hooks we want to run in Maintenance Mode -pub struct MaintenanceHooks; - -impl OnInitialize for MaintenanceHooks { - fn on_initialize(n: BlockNumber) -> Weight { - AllPalletsWithSystem::on_initialize(n) - } -} - -// We override onIdle for xcmQueue and dmpQueue pallets to not process messages inside it -impl OnIdle for MaintenanceHooks { - fn on_idle(_n: BlockNumber, _max_weight: Weight) -> Weight { - Weight::zero() - } -} - -impl OnRuntimeUpgrade for MaintenanceHooks { - fn on_runtime_upgrade() -> Weight { - AllPalletsWithSystem::on_runtime_upgrade() - } - - #[cfg(feature = "try-runtime")] - fn try_on_runtime_upgrade(checks: bool) -> Result { - AllPalletsWithSystem::try_on_runtime_upgrade(checks) - } -} - -impl OnFinalize for MaintenanceHooks { - fn on_finalize(n: BlockNumber) { - AllPalletsWithSystem::on_finalize(n) - } -} - -impl OffchainWorker for MaintenanceHooks { - fn offchain_worker(n: BlockNumber) { - AllPalletsWithSystem::offchain_worker(n) - } -} - impl pallet_maintenance_mode::Config for Runtime { type RuntimeEvent = RuntimeEvent; type NormalCallFilter = NormalFilter; type MaintenanceCallFilter = MaintenanceFilter; type MaintenanceOrigin = EnsureRoot; type XcmExecutionManager = XcmExecutionManager; - type NormalDmpHandler = NormalDmpHandler; - type MaintenanceDmpHandler = MaintenanceDmpHandler; - // We use AllPalletsWithSystem because we dont want to change the hooks in normal - // operation - type NormalExecutiveHooks = AllPalletsWithSystem; - type MaintenanceExecutiveHooks = MaintenanceHooks; } parameter_types! { @@ -1205,7 +1136,9 @@ impl pallet_relay_storage_roots::Config for Runtime { type WeightInfo = (); } -impl pallet_root_testing::Config for Runtime {} +impl pallet_root_testing::Config for Runtime { + type RuntimeEvent = RuntimeEvent; +} parameter_types! { pub StakingAccount: AccountId32 = PalletId(*b"POOLSTAK").into_account_truncating(); @@ -1358,8 +1291,8 @@ parameter_types! { pub const BasicDeposit: Balance = currency::deposit(1, 258); // 1 entry, storing 53 bytes on-chain pub const SubAccountDeposit: Balance = currency::deposit(1, 53); - // Additional fields add 0 entries, storing 66 bytes on-chain - pub const FieldDeposit: Balance = currency::deposit(0, 66); + // Additional bytes adds 0 entries, storing 1 byte on-chain + pub const ByteDeposit: Balance = currency::deposit(0, 1); pub const MaxSubAccounts: u32 = 100; pub const MaxAdditionalFields: u32 = 100; pub const MaxRegistrars: u32 = 20; @@ -1369,16 +1302,21 @@ impl pallet_identity::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Currency = Balances; type BasicDeposit = BasicDeposit; - type FieldDeposit = FieldDeposit; + type ByteDeposit = ByteDeposit; type SubAccountDeposit = SubAccountDeposit; type MaxSubAccounts = MaxSubAccounts; - type MaxAdditionalFields = MaxAdditionalFields; type MaxRegistrars = MaxRegistrars; - type IdentityInformation = pallet_identity::simple::IdentityInfo; + type IdentityInformation = pallet_identity::legacy::IdentityInfo; // Slashed balances are burnt type Slashed = (); type ForceOrigin = EnsureRoot; type RegistrarOrigin = EnsureRoot; + type OffchainSignature = Signature; + type SigningPublicKey = ::Signer; + type UsernameAuthorityOrigin = EnsureRoot; + type PendingUsernameExpiration = ConstU32<{ 7 * DAYS }>; + type MaxSuffixLength = ConstU32<7>; + type MaxUsernameLength = ConstU32<32>; type WeightInfo = pallet_identity::weights::SubstrateWeight; } @@ -1432,6 +1370,7 @@ construct_runtime!( ForeignAssets: pallet_assets::::{Pallet, Call, Storage, Event} = 54, ForeignAssetsCreator: pallet_foreign_asset_creator::{Pallet, Call, Storage, Event} = 55, AssetRate: pallet_asset_rate::{Pallet, Call, Storage, Event} = 56, + MessageQueue: pallet_message_queue::{Pallet, Call, Storage, Event} = 57, // More system support stuff RelayStorageRoots: pallet_relay_storage_roots = 60, diff --git a/runtime/dancebox/src/migrations.rs b/runtime/dancebox/src/migrations.rs index 82dec71fb..0332d2d17 100644 --- a/runtime/dancebox/src/migrations.rs +++ b/runtime/dancebox/src/migrations.rs @@ -31,7 +31,6 @@ use { }, pallet_balances::IdAmount, pallet_configuration::{weights::WeightInfo as _, HostConfiguration}, - pallet_invulnerables::weights::WeightInfo as _, pallet_migrations::{GetMigrations, Migration}, sp_core::Get, sp_runtime::BoundedVec, @@ -54,182 +53,6 @@ struct HostConfigurationV1 { pub full_rotation_period: u32, } -pub struct CollatorSelectionStorageValuePrefix; -impl frame_support::traits::StorageInstance for CollatorSelectionStorageValuePrefix { - const STORAGE_PREFIX: &'static str = "Invulnerables"; - fn pallet_prefix() -> &'static str { - "CollatorSelection" - } -} -pub type CollatorSelectionInvulnerablesValue = StorageValue< - CollatorSelectionStorageValuePrefix, - BoundedVec< - ::AccountId, - ::MaxInvulnerables, - >, ->; - -pub struct MigrateInvulnerables(pub PhantomData); -impl Migration for MigrateInvulnerables -where - T: pallet_invulnerables::Config, -{ - fn friendly_name(&self) -> &str { - "TM_MigrateInvulnerables" - } - - fn migrate(&self, _available_weight: Weight) -> Weight { - log::info!(target: LOG_TARGET, "migrate"); - - let invulnerables = CollatorSelectionInvulnerablesValue::::take() - .expect("Failed to get invulnerables from CollatorSelection pallet storage."); - let invulnerables_len = invulnerables.len(); - Invulnerables::set_invulnerables(RuntimeOrigin::root(), invulnerables.to_vec()) - .expect("Failed to set invulnerables"); - ::WeightInfo::set_invulnerables(invulnerables_len as u32) - } - - /// Run a standard pre-runtime test. This works the same way as in a normal runtime upgrade. - #[cfg(feature = "try-runtime")] - fn pre_upgrade(&self) -> Result, sp_runtime::DispatchError> { - log::info!(target: LOG_TARGET, "pre_upgrade"); - - use parity_scale_codec::Encode; - - let number_of_invulnerables = CollatorSelectionInvulnerablesValue::::get() - .expect("Failed to get invulnerables from CollatorSelection pallet storage.") - .to_vec() - .len(); - Ok((number_of_invulnerables as u32).encode()) - } - - /// Run a standard post-runtime test. This works the same way as in a normal runtime upgrade. - #[cfg(feature = "try-runtime")] - fn post_upgrade( - &self, - number_of_invulnerables: Vec, - ) -> Result<(), sp_runtime::DispatchError> { - log::info!(target: LOG_TARGET, "post_upgrade"); - use parity_scale_codec::Decode; - - let stored_invulnerables = Invulnerables::invulnerables().to_vec(); - let mut sorted_invulnerables = stored_invulnerables.clone(); - sorted_invulnerables.sort(); - assert_eq!( - stored_invulnerables, sorted_invulnerables, - "after migration, the stored invulnerables should be sorted" - ); - - let number_of_invulnerables: u32 = Decode::decode(&mut number_of_invulnerables.as_slice()) - .expect("the state parameter should be something that was generated by pre_upgrade"); - let stored_invulnerables_len = stored_invulnerables.len() as u32; - assert_eq!( - number_of_invulnerables, stored_invulnerables_len, - "after migration, there should be the same number of invulnerables" - ); - - Ok(()) - } -} - -pub struct MigrateHoldReason(pub PhantomData); -impl Migration for MigrateHoldReason -where - T: pallet_balances::Config, - T: pallet_pooled_staking::Config, - ::RuntimeHoldReason: From, -{ - fn friendly_name(&self) -> &str { - "TM_MigrateHoldReason" - } - - fn migrate(&self, _available_weight: Weight) -> Weight { - log::info!(target: LOG_TARGET, "migrate"); - let pallet_prefix: &[u8] = b"Balances"; - let storage_item_prefix: &[u8] = b"Holds"; - - let stored_data: Vec<_> = storage_key_iter::< - T::AccountId, - BoundedVec::Balance>, T::MaxHolds>, - Blake2_128Concat, - >(pallet_prefix, storage_item_prefix) - .collect(); - - let migrated_count_read = stored_data.len() as u64; - let mut migrated_count_write = 0u64; - - // Write to the new storage - for (account_id, holds) in stored_data { - let mut new_holds = vec![]; - - for hold in holds { - let new_item: pallet_balances::IdAmount< - ::RuntimeHoldReason, - ::Balance, - > = pallet_balances::IdAmount { - id: pallet_pooled_staking::HoldReason::PooledStake.into(), - amount: hold.amount, - }; - new_holds.push(new_item); - } - let bounded = BoundedVec::<_, T::MaxHolds>::truncate_from(new_holds.clone()); - pallet_balances::Holds::::insert(&account_id, bounded); - migrated_count_write += 1; - } - let db_weights = T::DbWeight::get(); - db_weights.reads_writes(migrated_count_read, migrated_count_write) - } - - /// Run a standard pre-runtime test. This works the same way as in a normal runtime upgrade. - #[cfg(feature = "try-runtime")] - fn pre_upgrade(&self) -> Result, sp_runtime::DispatchError> { - log::info!(target: LOG_TARGET, "pre_upgrade"); - let pallet_prefix: &[u8] = b"Balances"; - let storage_item_prefix: &[u8] = b"Holds"; - - let stored_data: Vec<_> = storage_key_iter::< - T::AccountId, - BoundedVec::Balance>, T::MaxHolds>, - Blake2_128Concat, - >(pallet_prefix, storage_item_prefix) - .collect(); - use parity_scale_codec::Encode; - - Ok(stored_data.encode()) - } - - /// Run a standard post-runtime test. This works the same way as in a normal runtime upgrade. - #[cfg(feature = "try-runtime")] - fn post_upgrade(&self, migrated_holds: Vec) -> Result<(), sp_runtime::DispatchError> { - use parity_scale_codec::Decode; - let should_be_migrated: Vec<( - T::AccountId, - BoundedVec::Balance>, T::MaxHolds>, - )> = Decode::decode(&mut migrated_holds.as_slice()).expect("should be decodable"); - - log::info!(target: LOG_TARGET, "post_upgrade"); - - // Write to the new storage - for (account_id, holds) in should_be_migrated { - let migrated = pallet_balances::Holds::::get(&account_id); - - for (index, hold) in holds.iter().enumerate() { - assert_eq!( - migrated[index].amount, hold.amount, - "after migration, there should be the same number held amount" - ); - assert_eq!( - migrated[index].id, - pallet_pooled_staking::HoldReason::PooledStake.into(), - "Pooled stake should be migrated" - ); - } - } - - Ok(()) - } -} - pub struct MigrateConfigurationParathreads(pub PhantomData); impl Migration for MigrateConfigurationParathreads where @@ -334,38 +157,10 @@ where } } -pub struct PolkadotXcmMigration(pub PhantomData); -impl Migration for PolkadotXcmMigration -where - T: pallet_xcm::Config, -{ - fn friendly_name(&self) -> &str { - "MM_PolkadotXcmMigration" - } - - fn migrate(&self, _available_weight: Weight) -> Weight { - pallet_xcm::migration::v1::VersionUncheckedMigrateToV1::::on_runtime_upgrade() - } -} - -pub struct XcmpQueueMigration(pub PhantomData); -impl Migration for XcmpQueueMigration -where - T: cumulus_pallet_xcmp_queue::Config, -{ - fn friendly_name(&self) -> &str { - "MM_XcmpQueueMigration" - } - - fn migrate(&self, _available_weight: Weight) -> Weight { - cumulus_pallet_xcmp_queue::migration::Migration::::on_runtime_upgrade() - } -} - pub struct MigrateServicesPaymentAddCredits(pub PhantomData); impl Migration for MigrateServicesPaymentAddCredits where - T: cumulus_pallet_xcmp_queue::Config, + T: pallet_balances::Config, { fn friendly_name(&self) -> &str { "TM_MigrateServicesPaymentAddCredits" @@ -536,7 +331,7 @@ pub type RegistrarBootNodesStorageMap = StorageMap< pub struct MigrateBootNodes(pub PhantomData); impl Migration for MigrateBootNodes where - T: cumulus_pallet_xcmp_queue::Config, + T: pallet_balances::Config, { fn friendly_name(&self) -> &str { "TM_MigrateBootNodes" @@ -563,16 +358,40 @@ where } } +const IDENTITY_MIGRATION_KEY_LIMIT: u64 = u64::MAX; + +pub struct IdentityMigration(pub PhantomData); +impl Migration for IdentityMigration +where + T: pallet_identity::Config, +{ + fn friendly_name(&self) -> &str { + "MM_IdentityMigration" + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade(&self) -> Result, sp_runtime::DispatchError> { + pallet_identity::migration::versioned::V0ToV1::::pre_upgrade() + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade(&self) -> Result, sp_runtime::DispatchError> { + pallet_identity::migration::versioned::V0ToV1::::post_upgrade() + } + + fn migrate(&self, _available_weight: Weight) -> Weight { + pallet_identity::migration::versioned::V0ToV1::::on_runtime_upgrade() + } +} + pub struct DanceboxMigrations(PhantomData); impl GetMigrations for DanceboxMigrations where - Runtime: pallet_invulnerables::Config, Runtime: pallet_pooled_staking::Config, Runtime: pallet_balances::Config, Runtime: pallet_configuration::Config, - Runtime: pallet_xcm::Config, - Runtime: cumulus_pallet_xcmp_queue::Config, + Runtime: pallet_identity::Config, ::RuntimeHoldReason: From, { @@ -590,6 +409,7 @@ where let migrate_hold_reason_runtime_enum = MigrateHoldReasonRuntimeEnum::(Default::default()); + let migrate_identity = IdentityMigration::(Default::default()); vec![ // Applied in runtime 200 //Box::new(migrate_invulnerables), @@ -605,6 +425,7 @@ where Box::new(migrate_hold_reason_runtime_enum), Box::new(migrate_boot_nodes), Box::new(migrate_config_parathread_params), + Box::new(migrate_identity), ] } } diff --git a/runtime/dancebox/src/xcm_config.rs b/runtime/dancebox/src/xcm_config.rs index e99e6e2f1..8cb2c51a3 100644 --- a/runtime/dancebox/src/xcm_config.rs +++ b/runtime/dancebox/src/xcm_config.rs @@ -17,27 +17,30 @@ use { super::{ weights::xcm::XcmWeight as XcmGenericWeights, AccountId, AllPalletsWithSystem, Balance, - Balances, ForeignAssetsCreator, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, - RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue, + Balances, ForeignAssetsCreator, MaintenanceMode, MessageQueue, ParachainInfo, + ParachainSystem, PolkadotXcm, Runtime, RuntimeBlockWeights, RuntimeCall, RuntimeEvent, + RuntimeOrigin, WeightToFee, XcmpQueue, }, - cumulus_primitives_core::ParaId, + cumulus_primitives_core::{AggregateMessageOrigin, ParaId}, frame_support::{ parameter_types, - traits::{Everything, Nothing, PalletInfoAccess}, + traits::{Everything, Nothing, PalletInfoAccess, TransformOrigin}, weights::Weight, }, frame_system::EnsureRoot, pallet_xcm::XcmPassthrough, + parachains_common::message_queue::{NarrowOriginToSibling, ParaIdToSibling}, polkadot_runtime_common::xcm_sender::NoPriceForMessageDelivery, sp_core::ConstU32, + sp_runtime::Perbill, staging_xcm::latest::prelude::*, staging_xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, ConvertedConcreteId, CurrencyAdapter, EnsureXcmOrigin, - IsConcrete, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, - SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, - SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, WeightInfoBounds, - WithComputedOrigin, + FixedWeightBounds, FungibleAdapter, IsConcrete, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, + SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, + WeightInfoBounds, WithComputedOrigin, }, staging_xcm_executor::XcmExecutor, }; @@ -117,7 +120,7 @@ pub type LocationToAccountId = ( pub type LocalOriginToLocation = SignedToAccountId32; /// Means for transacting the native currency on this chain. -pub type CurrencyTransactor = CurrencyAdapter< +pub type CurrencyTransactor = FungibleAdapter< // Use this currency: Balances, // Use this currency when it is a fungible asset matching the given location or name: @@ -236,14 +239,15 @@ impl pallet_xcm::Config for Runtime { impl cumulus_pallet_xcmp_queue::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; type ChannelInfo = ParachainSystem; type VersionWrapper = PolkadotXcm; - type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; type PriceForSiblingDelivery = NoPriceForMessageDelivery; + // Enqueue XCMP messages from siblings for later processing. + type XcmpQueue = TransformOrigin; + type MaxInboundSuspended = sp_core::ConstU32<1_000>; } impl cumulus_pallet_xcm::Config for Runtime { @@ -251,10 +255,14 @@ impl cumulus_pallet_xcm::Config for Runtime { type XcmExecutor = XcmExecutor; } +parameter_types! { + pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent; +} + impl cumulus_pallet_dmp_queue::Config for Runtime { + type WeightInfo = cumulus_pallet_dmp_queue::weights::SubstrateWeight; type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; - type ExecuteOverweightOrigin = EnsureRoot; + type DmpSink = frame_support::traits::EnqueueWithOrigin; } parameter_types! { @@ -437,3 +445,32 @@ impl Parse for MultiLocation { } } } + +parameter_types! { + // TODO verify 35% + pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; +} + +impl pallet_message_queue::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type WeightInfo = pallet_message_queue::weights::SubstrateWeight; + #[cfg(feature = "runtime-benchmarks")] + type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor< + cumulus_primitives_core::AggregateMessageOrigin, + >; + #[cfg(not(feature = "runtime-benchmarks"))] + type MessageProcessor = staging_xcm_builder::ProcessXcmMessage< + AggregateMessageOrigin, + XcmExecutor, + RuntimeCall, + >; + type Size = u32; + // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin: + type QueueChangeHandler = NarrowOriginToSibling; + // NarrowOriginToSibling calls XcmpQueue's is_pause if Origin is sibling. Allows all other origins + type QueuePausedQuery = (MaintenanceMode, NarrowOriginToSibling); + // TODO verify values + type HeapSize = sp_core::ConstU32<{ 64 * 1024 }>; + type MaxStale = sp_core::ConstU32<8>; + type ServiceWeight = MessageQueueServiceWeight; +} diff --git a/runtime/dancebox/tests/common/xcm/foreign_signed_based_sovereign.rs b/runtime/dancebox/tests/common/xcm/foreign_signed_based_sovereign.rs index fe405ba1f..031b1abef 100644 --- a/runtime/dancebox/tests/common/xcm/foreign_signed_based_sovereign.rs +++ b/runtime/dancebox/tests/common/xcm/foreign_signed_based_sovereign.rs @@ -17,9 +17,9 @@ use { crate::common::xcm::{ mocknets::{ - Dancebox, DanceboxEmptyReceiver, DanceboxPallet, DanceboxSender, EthereumEmptyReceiver, - EthereumSender, FrontierTemplate, FrontierTemplatePallet, Westend, WestendPallet, - WestendSender, + Dancebox, DanceboxEmptyReceiver, DanceboxParaPallet, DanceboxSender, + EthereumEmptyReceiver, EthereumSender, FrontierTemplate, FrontierTemplateParaPallet, + Westend, WestendRelayPallet, WestendSender, }, *, }, @@ -88,7 +88,7 @@ fn using_signed_based_sovereign_works_in_tanssi() { let origin = ::RuntimeOrigin::signed(DanceboxSender::get()); assert_ok!( - ::Balances::transfer_allow_death( + ::Balances::transfer_allow_death( origin, sp_runtime::MultiAddress::Id(alice_westend_account_dancebox), 100 * DANCE @@ -98,7 +98,7 @@ fn using_signed_based_sovereign_works_in_tanssi() { // Send XCM message from Westend Westend::execute_with(|| { - assert_ok!(::XcmPallet::send( + assert_ok!(::XcmPallet::send( root_origin, bx!(dancebox_dest), bx!(xcm), @@ -121,7 +121,7 @@ fn using_signed_based_sovereign_works_in_tanssi() { ); // Assert empty receiver received funds assert!( - ::System::account(DanceboxEmptyReceiver::get()) + ::System::account(DanceboxEmptyReceiver::get()) .data .free > 0 @@ -189,7 +189,7 @@ fn using_signed_based_sovereign_works_from_tanssi_to_frontier_template() { let origin = ::RuntimeOrigin::signed(EthereumSender::get()); assert_ok!( - ::Balances::transfer_allow_death( + ::Balances::transfer_allow_death( origin, alice_dancebox_account_frontier, 100 * FRONTIER_DEV @@ -197,7 +197,7 @@ fn using_signed_based_sovereign_works_from_tanssi_to_frontier_template() { ); // Assert empty receiver has 0 funds assert_eq!( - ::System::account( + ::System::account( EthereumEmptyReceiver::get() ) .data @@ -208,7 +208,7 @@ fn using_signed_based_sovereign_works_from_tanssi_to_frontier_template() { // Send XCM message from Dancebox Dancebox::execute_with(|| { - assert_ok!(::PolkadotXcm::send( + assert_ok!(::PolkadotXcm::send( alice_origin, bx!(frontier_destination), bx!(xcm), @@ -238,7 +238,7 @@ fn using_signed_based_sovereign_works_from_tanssi_to_frontier_template() { ); // Assert empty receiver received funds assert!( - ::System::account( + ::System::account( EthereumEmptyReceiver::get() ) .data diff --git a/runtime/dancebox/tests/common/xcm/foreign_sovereigns.rs b/runtime/dancebox/tests/common/xcm/foreign_sovereigns.rs index f41ebe9f9..f739f18be 100644 --- a/runtime/dancebox/tests/common/xcm/foreign_sovereigns.rs +++ b/runtime/dancebox/tests/common/xcm/foreign_sovereigns.rs @@ -17,8 +17,9 @@ use { crate::common::xcm::{ mocknets::{ - Dancebox, DanceboxPallet, EthereumEmptyReceiver, EthereumSender, FrontierTemplate, - FrontierTemplatePallet, Westend, WestendEmptyReceiver, WestendPallet, WestendSender, + Dancebox, DanceboxParaPallet, EthereumEmptyReceiver, EthereumSender, FrontierTemplate, + FrontierTemplateParaPallet, Westend, WestendEmptyReceiver, WestendRelayPallet, + WestendSender, }, *, }, @@ -76,11 +77,13 @@ fn using_sovereign_works_from_tanssi() { .unwrap(); let origin = ::RuntimeOrigin::signed(WestendSender::get()); - assert_ok!(::Balances::transfer_allow_death( - origin, - sp_runtime::MultiAddress::Id(sovereign_account), - 100 * WND - )); + assert_ok!( + ::Balances::transfer_allow_death( + origin, + sp_runtime::MultiAddress::Id(sovereign_account), + 100 * WND + ) + ); // Assert empty receiver has 0 funds assert_eq!( ::System::account(WestendEmptyReceiver::get()) @@ -92,7 +95,7 @@ fn using_sovereign_works_from_tanssi() { // Send XCM message from Dancebox Dancebox::execute_with(|| { - assert_ok!(::PolkadotXcm::send( + assert_ok!(::PolkadotXcm::send( sudo_origin, bx!(relay_destination), bx!(xcm), @@ -183,7 +186,7 @@ fn using_sovereign_works_from_tanssi_frontier_template() { let origin = ::RuntimeOrigin::signed(EthereumSender::get()); assert_ok!( - ::Balances::transfer_allow_death( + ::Balances::transfer_allow_death( origin, sovereign_account, 100 * FRONTIER_DEV @@ -191,7 +194,7 @@ fn using_sovereign_works_from_tanssi_frontier_template() { ); // Assert empty receiver has 0 funds assert_eq!( - ::System::account( + ::System::account( EthereumEmptyReceiver::get() ) .data @@ -202,7 +205,7 @@ fn using_sovereign_works_from_tanssi_frontier_template() { // Send XCM message from Dancebox Dancebox::execute_with(|| { - assert_ok!(::PolkadotXcm::send( + assert_ok!(::PolkadotXcm::send( sudo_origin, bx!(frontier_destination), bx!(xcm), @@ -232,7 +235,7 @@ fn using_sovereign_works_from_tanssi_frontier_template() { ); // Assert empty receiver received funds assert!( - ::System::account( + ::System::account( EthereumEmptyReceiver::get() ) .data diff --git a/runtime/dancebox/tests/common/xcm/mocknets.rs b/runtime/dancebox/tests/common/xcm/mocknets.rs index a522920a0..896379c2b 100644 --- a/runtime/dancebox/tests/common/xcm/mocknets.rs +++ b/runtime/dancebox/tests/common/xcm/mocknets.rs @@ -20,6 +20,12 @@ use { frontier_template, simple_template, westend, }, cumulus_primitives_core::relay_chain::runtime_api::runtime_decl_for_parachain_host::ParachainHostV8, + emulated_integration_tests_common::{ + impl_accounts_helpers_for_parachain, impl_accounts_helpers_for_relay_chain, + impl_assert_events_helpers_for_parachain, impl_assert_events_helpers_for_relay_chain, + impl_assets_helpers_for_parachain, impl_send_transact_helpers_for_relay_chain, + xcm_emulator::decl_test_parachains, + }, frame_support::parameter_types, parity_scale_codec::Encode, sp_consensus_aura::AURA_ENGINE_ID, @@ -27,20 +33,19 @@ use { staging_xcm::prelude::*, staging_xcm_builder::{ParentIsPreset, SiblingParachainConvertsVia}, staging_xcm_executor::traits::ConvertLocation, - xcm_emulator::{ - decl_test_networks, decl_test_parachains, decl_test_relay_chains, Chain, - DefaultMessageProcessor, - }, + xcm_emulator::{decl_test_networks, decl_test_relay_chains, Chain}, }; +// Substrate +use frame_support::traits::OnInitialize; + decl_test_relay_chains! { - #[api_version(5)] + #[api_version(10)] pub struct Westend { genesis = westend::genesis(), on_init = (), runtime = westend_runtime, core = { - MessageProcessor: DefaultMessageProcessor, SovereignAccountOf: westend_runtime::xcm_config::LocationConverter, //TODO: rename to SovereignAccountOf, }, pallets = { @@ -52,6 +57,10 @@ decl_test_relay_chains! { } } +impl_accounts_helpers_for_relay_chain!(Westend); +impl_assert_events_helpers_for_relay_chain!(Westend); +impl_send_transact_helpers_for_relay_chain!(Westend); + decl_test_parachains! { // Parachains pub struct Dancebox { @@ -85,9 +94,9 @@ decl_test_parachains! { runtime = dancebox_runtime, core = { XcmpMessageHandler: dancebox_runtime::XcmpQueue, - DmpMessageHandler: dancebox_runtime::DmpQueue, LocationToAccountId: dancebox_runtime::xcm_config::LocationToAccountId, ParachainInfo: dancebox_runtime::ParachainInfo, + MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, }, pallets = { System: dancebox_runtime::System, @@ -105,9 +114,9 @@ decl_test_parachains! { runtime = container_chain_template_frontier_runtime, core = { XcmpMessageHandler: container_chain_template_frontier_runtime::XcmpQueue, - DmpMessageHandler: container_chain_template_frontier_runtime::DmpQueue, LocationToAccountId: container_chain_template_frontier_runtime::xcm_config::LocationToAccountId, ParachainInfo: container_chain_template_frontier_runtime::ParachainInfo, + MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, }, pallets = { System: container_chain_template_frontier_runtime::System, @@ -122,9 +131,9 @@ decl_test_parachains! { runtime = container_chain_template_simple_runtime, core = { XcmpMessageHandler: container_chain_template_simple_runtime::XcmpQueue, - DmpMessageHandler: container_chain_template_simple_runtime::DmpQueue, LocationToAccountId: container_chain_template_simple_runtime::xcm_config::LocationToAccountId, ParachainInfo: container_chain_template_simple_runtime::ParachainInfo, + MessageOrigin: cumulus_primitives_core::AggregateMessageOrigin, }, pallets = { System: container_chain_template_simple_runtime::System, @@ -135,6 +144,13 @@ decl_test_parachains! { } } +impl_accounts_helpers_for_parachain!(Dancebox); +impl_accounts_helpers_for_parachain!(FrontierTemplate); +impl_accounts_helpers_for_parachain!(SimpleTemplate); +impl_assert_events_helpers_for_parachain!(Dancebox); +impl_assert_events_helpers_for_parachain!(FrontierTemplate); +impl_assert_events_helpers_for_parachain!(SimpleTemplate); + decl_test_networks! { pub struct WestendMockNet { relay_chain = Westend, diff --git a/runtime/dancebox/tests/common/xcm/token_derivative_reception_container.rs b/runtime/dancebox/tests/common/xcm/token_derivative_reception_container.rs index debc1b3ce..6ee5d5e9e 100644 --- a/runtime/dancebox/tests/common/xcm/token_derivative_reception_container.rs +++ b/runtime/dancebox/tests/common/xcm/token_derivative_reception_container.rs @@ -17,8 +17,8 @@ use { crate::common::xcm::{ mocknets::{ - Dancebox, DanceboxPallet, DanceboxReceiver, SimpleTemplate, SimpleTemplatePallet, - SimpleTemplateSender, + Dancebox, DanceboxParaPallet, DanceboxReceiver, SimpleTemplate, + SimpleTemplateParaPallet, SimpleTemplateSender, }, *, }, @@ -59,7 +59,7 @@ fn receive_tokens_from_the_container_to_tanssi() { container_chain_template_simple_runtime::ExistentialDeposit::get() * 1000; let simple_template_pallet_info_junction = PalletInstance( - <::Balances as PalletInfoAccess>::index() as u8, + <::Balances as PalletInfoAccess>::index() as u8, ); let assets: MultiAssets = (X1(simple_template_pallet_info_junction), amount_to_send).into(); let fee_asset_item = 0; @@ -70,7 +70,7 @@ fn receive_tokens_from_the_container_to_tanssi() { let root_origin = ::RuntimeOrigin::root(); assert_ok!( - ::ForeignAssetsCreator::create_foreign_asset( + ::ForeignAssetsCreator::create_foreign_asset( root_origin.clone(), MultiLocation { parents: 1, @@ -83,7 +83,7 @@ fn receive_tokens_from_the_container_to_tanssi() { ) ); - assert_ok!(::AssetRate::create( + assert_ok!(::AssetRate::create( root_origin, bx!(1), FixedU128::from_u32(1) @@ -93,7 +93,7 @@ fn receive_tokens_from_the_container_to_tanssi() { // Send XCM message from SimpleTemplate SimpleTemplate::execute_with(|| { assert_ok!( - ::PolkadotXcm::limited_reserve_transfer_assets( + ::PolkadotXcm::limited_reserve_transfer_assets( alice_origin, bx!(dancebox_dest), bx!(dancebox_beneficiary), @@ -122,7 +122,7 @@ fn receive_tokens_from_the_container_to_tanssi() { }, ] ); - type ForeignAssets = ::ForeignAssets; + type ForeignAssets = ::ForeignAssets; // We should have charged an amount of tokens that is identical to the weight spent let native_balance = dancebox_runtime::WeightToFee::weight_to_fee(&outcome_weight); diff --git a/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs b/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs index ddce49633..a77b2e7fb 100644 --- a/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs +++ b/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs @@ -17,7 +17,8 @@ use { crate::common::xcm::{ mocknets::{ - Dancebox, DanceboxPallet, DanceboxReceiver, Westend, WestendPallet, WestendSender, + Dancebox, DanceboxParaPallet, DanceboxReceiver, Westend, WestendRelayPallet, + WestendSender, }, *, }, @@ -62,7 +63,7 @@ fn receive_tokens_from_the_relay_to_tanssi() { let root_origin = ::RuntimeOrigin::root(); assert_ok!( - ::ForeignAssetsCreator::create_foreign_asset( + ::ForeignAssetsCreator::create_foreign_asset( root_origin.clone(), MultiLocation::parent(), westend_token_asset_id, @@ -72,7 +73,7 @@ fn receive_tokens_from_the_relay_to_tanssi() { ) ); - assert_ok!(::AssetRate::create( + assert_ok!(::AssetRate::create( root_origin, bx!(1), FixedU128::from_u32(1) @@ -82,7 +83,7 @@ fn receive_tokens_from_the_relay_to_tanssi() { // Send XCM message from Westend Westend::execute_with(|| { assert_ok!( - ::XcmPallet::limited_reserve_transfer_assets( + ::XcmPallet::limited_reserve_transfer_assets( alice_origin, bx!(dancebox_dest), bx!(dancebox_beneficiary), @@ -110,7 +111,7 @@ fn receive_tokens_from_the_relay_to_tanssi() { }, ] ); - type ForeignAssets = ::ForeignAssets; + type ForeignAssets = ::ForeignAssets; // We should have charged an amount of tokens that is identical to the weight spent let native_balance = dancebox_runtime::WeightToFee::weight_to_fee(&outcome_weight); @@ -157,7 +158,7 @@ fn cannot_receive_tokens_from_the_relay_if_no_rate_is_assigned() { let root_origin = ::RuntimeOrigin::root(); assert_ok!( - ::ForeignAssetsCreator::create_foreign_asset( + ::ForeignAssetsCreator::create_foreign_asset( root_origin.clone(), MultiLocation::parent(), westend_token_asset_id, @@ -172,7 +173,7 @@ fn cannot_receive_tokens_from_the_relay_if_no_rate_is_assigned() { // Send XCM message from Westend Westend::execute_with(|| { assert_ok!( - ::XcmPallet::limited_reserve_transfer_assets( + ::XcmPallet::limited_reserve_transfer_assets( alice_origin, bx!(dancebox_dest), bx!(dancebox_beneficiary), @@ -198,7 +199,7 @@ fn cannot_receive_tokens_from_the_relay_if_no_rate_is_assigned() { }, ] ); - type ForeignAssets = ::ForeignAssets; + type ForeignAssets = ::ForeignAssets; // Assert receiver should not have received funds assert_eq!( @@ -240,7 +241,7 @@ fn cannot_receive_tokens_from_the_relay_if_no_token_is_registered() { // Send XCM message from Westend Westend::execute_with(|| { assert_ok!( - ::XcmPallet::limited_reserve_transfer_assets( + ::XcmPallet::limited_reserve_transfer_assets( alice_origin, bx!(dancebox_dest), bx!(dancebox_beneficiary), @@ -266,7 +267,7 @@ fn cannot_receive_tokens_from_the_relay_if_no_token_is_registered() { }, ] ); - type ForeignAssets = ::ForeignAssets; + type ForeignAssets = ::ForeignAssets; // Assert receiver should not have received funds assert_eq!( diff --git a/runtime/dancebox/tests/common/xcm/transact.rs b/runtime/dancebox/tests/common/xcm/transact.rs index ad57e95f2..4267fe4cf 100644 --- a/runtime/dancebox/tests/common/xcm/transact.rs +++ b/runtime/dancebox/tests/common/xcm/transact.rs @@ -18,8 +18,8 @@ use crate::common::xcm::*; use { crate::common::xcm::mocknets::{ - Dancebox, FrontierTemplate, FrontierTemplatePallet, SimpleTemplate, SimpleTemplatePallet, - Westend, WestendPallet, + Dancebox, FrontierTemplate, FrontierTemplateParaPallet, SimpleTemplate, + SimpleTemplateParaPallet, Westend, WestendRelayPallet, }, frame_support::{ assert_ok, @@ -72,7 +72,7 @@ fn transact_sudo_from_relay_hits_barrier_dancebox_without_buy_exec() { // Send XCM message from Relay Chain Westend::execute_with(|| { - assert_ok!(::XcmPallet::send( + assert_ok!(::XcmPallet::send( sudo_origin, bx!(dancebox_para_destination), bx!(xcm), @@ -145,7 +145,7 @@ fn transact_sudo_from_relay_does_not_have_sudo_power() { // Send XCM message from Relay Chain Westend::execute_with(|| { - assert_ok!(::XcmPallet::send( + assert_ok!(::XcmPallet::send( sudo_origin, bx!(dancebox_para_destination), bx!(xcm), @@ -222,7 +222,7 @@ fn transact_sudo_from_relay_has_signed_origin_powers() { // Send XCM message from Relay Chain Westend::execute_with(|| { - assert_ok!(::XcmPallet::send( + assert_ok!(::XcmPallet::send( sudo_origin, bx!(dancebox_para_destination), bx!(xcm), @@ -304,7 +304,7 @@ fn transact_sudo_from_frontier_has_signed_origin_powers() { // Send XCM message from Frontier Template FrontierTemplate::execute_with(|| { assert_ok!( - ::PolkadotXcm::send( + ::PolkadotXcm::send( sudo_origin, bx!(dancebox_para_destination), bx!(xcm), @@ -388,11 +388,13 @@ fn transact_sudo_from_simple_has_signed_origin_powers() { // Send XCM message from Relay Chain SimpleTemplate::execute_with(|| { - assert_ok!(::PolkadotXcm::send( - sudo_origin, - bx!(dancebox_para_destination), - bx!(xcm), - )); + assert_ok!( + ::PolkadotXcm::send( + sudo_origin, + bx!(dancebox_para_destination), + bx!(xcm), + ) + ); type RuntimeEvent = ::RuntimeEvent; diff --git a/runtime/dancebox/tests/common/xcm/trap.rs b/runtime/dancebox/tests/common/xcm/trap.rs index 704b7eeab..ab7c2eab5 100644 --- a/runtime/dancebox/tests/common/xcm/trap.rs +++ b/runtime/dancebox/tests/common/xcm/trap.rs @@ -17,7 +17,7 @@ use crate::common::xcm::*; use { - crate::common::xcm::mocknets::{Dancebox, Westend, WestendPallet}, + crate::common::xcm::mocknets::{Dancebox, Westend, WestendRelayPallet}, frame_support::{ assert_ok, weights::{Weight, WeightToFee}, @@ -57,7 +57,7 @@ fn trapping_asserts_works_with_polkadot_xcm() { // Send XCM message from Relay Chain Westend::execute_with(|| { - assert_ok!(::XcmPallet::send( + assert_ok!(::XcmPallet::send( sudo_origin, bx!(dancebox_para_destination), bx!(xcm), diff --git a/runtime/dancebox/tests/integration_test.rs b/runtime/dancebox/tests/integration_test.rs index 4f340e3e2..1a7a1f2f5 100644 --- a/runtime/dancebox/tests/integration_test.rs +++ b/runtime/dancebox/tests/integration_test.rs @@ -23,8 +23,7 @@ use { cumulus_primitives_core::ParaId, dancebox_runtime::{ migrations::{ - CollatorSelectionInvulnerablesValue, MigrateBootNodes, MigrateConfigurationParathreads, - MigrateInvulnerables, MigrateServicesPaymentAddCredits, + MigrateBootNodes, MigrateConfigurationParathreads, MigrateServicesPaymentAddCredits, }, BlockProductionCost, RewardsCollatorCommission, }, @@ -2417,43 +2416,6 @@ fn check_well_known_keys() { ); } -#[test] -fn test_invulnerables_migration() { - ExtBuilder::default() - .with_balances(vec![ - // Alice gets 10k extra tokens for her mapping deposit - (AccountId::from(ALICE), 210_000 * UNIT), - (AccountId::from(BOB), 100_000 * UNIT), - ]) - .with_collators(vec![ - (AccountId::from(ALICE), 210 * UNIT), - (AccountId::from(BOB), 100 * UNIT), - ]) - .with_config(default_config()) - .build() - .execute_with(|| { - // Populate the invulnerables storage - let collators = vec![AccountId::from(ALICE), AccountId::from(BOB)]; - CollatorSelectionInvulnerablesValue::::put( - BoundedVec::try_from(collators).expect("Failed to create BoundedVec"), - ); - - let invulnerables_before_migration = Invulnerables::invulnerables(); - assert_eq!( - invulnerables_before_migration.len(), - 2, - "invulnerables has wrong length" - ); - let migration = MigrateInvulnerables::(Default::default()); - migration.migrate(Default::default()); - let invulnerables_after_migration = Invulnerables::invulnerables(); - assert_eq!( - invulnerables_before_migration, - invulnerables_after_migration - ) - }); -} - #[test] fn test_staking_no_candidates_in_genesis() { ExtBuilder::default() @@ -3914,60 +3876,6 @@ fn test_pallet_session_limits_num_validators_from_staking() { }); } -#[test] -fn test_migration_holds() { - use { - dancebox_runtime::migrations::MigrateHoldReason, - frame_support::{migration::put_storage_value, Blake2_128Concat, StorageHasher}, - }; - ExtBuilder::default() - .with_balances(vec![ - // Alice gets 10k extra tokens for her mapping deposit - (AccountId::from(ALICE), 210_000 * UNIT), - (AccountId::from(BOB), 100_000 * UNIT), - ]) - .with_collators(vec![ - (AccountId::from(ALICE), 210 * UNIT), - (AccountId::from(BOB), 100 * UNIT), - ]) - .with_config(default_config()) - .build() - .execute_with(|| { - let pallet_prefix: &[u8] = b"Balances"; - let storage_item_prefix: &[u8] = b"Holds"; - use parity_scale_codec::Encode; - let hold: pallet_balances::IdAmount< - [u8; 8], - ::Balance, - > = pallet_balances::IdAmount { - id: *b"POOLSTAK", - amount: 100u128, - }; - let holds = vec![hold]; - let bounded_holds = - BoundedVec::<_, ::MaxHolds>::truncate_from( - holds.clone(), - ); - - put_storage_value( - pallet_prefix, - storage_item_prefix, - &Blake2_128Concat::hash(&AccountId::from(ALICE).encode()), - bounded_holds, - ); - let migration = MigrateHoldReason::(Default::default()); - migration.migrate(Default::default()); - let new_holds = pallet_balances::Holds::::get(AccountId::from(ALICE)); - - assert_eq!(new_holds.len() as u32, 1u32); - assert_eq!( - new_holds[0].id, - pallet_pooled_staking::HoldReason::PooledStake.into() - ); - assert_eq!(new_holds[0].amount, 100u128); - }); -} - #[test] fn test_migration_holds_runtime_enum() { use { diff --git a/runtime/flashbox/src/lib.rs b/runtime/flashbox/src/lib.rs index 6d7e55455..48f9ec113 100644 --- a/runtime/flashbox/src/lib.rs +++ b/runtime/flashbox/src/lib.rs @@ -76,7 +76,7 @@ use { sp_core::{crypto::KeyTypeId, Decode, Encode, Get, MaxEncodedLen, OpaqueMetadata}, sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdConversion, AccountIdLookup, BlakeTwo256, Block as BlockT}, + traits::{AccountIdConversion, AccountIdLookup, BlakeTwo256, Block as BlockT, Verify}, transaction_validity::{TransactionSource, TransactionValidity}, AccountId32, ApplyExtrinsicResult, }, @@ -126,7 +126,7 @@ pub type Executive = frame_executive::Executive< Block, frame_system::ChainContext, Runtime, - pallet_maintenance_mode::ExecutiveHooks, + AllPalletsWithSystem, >; /// DANCE, the native token, uses 12 decimals of precision. @@ -338,6 +338,7 @@ impl frame_system::Config for Runtime { /// The action to take on a Runtime Upgrade type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; type MaxConsumers = frame_support::traits::ConstU32<16>; + type RuntimeTask = RuntimeTask; } impl pallet_timestamp::Config for Runtime { @@ -426,11 +427,13 @@ type ConsensusHook = pallet_async_backing::consensus_hook::FixedVelocityConsensu >; impl cumulus_pallet_parachain_system::Config for Runtime { + type WeightInfo = cumulus_pallet_parachain_system::weights::SubstrateWeight; type RuntimeEvent = RuntimeEvent; type OnSystemEvent = (); type SelfParaId = parachain_info::Pallet; type OutboundXcmpMessageSource = (); - type DmpMessageHandler = (); + // Ignore all DMP messages by enqueueing them into `()`: + type DmpQueue = frame_support::traits::EnqueueWithOrigin<(), sp_core::ConstU8<0>>; type ReservedDmpWeight = (); type XcmpMessageHandler = (); type ReservedXcmpWeight = (); @@ -1012,12 +1015,6 @@ impl pallet_maintenance_mode::Config for Runtime { type MaintenanceCallFilter = MaintenanceFilter; type MaintenanceOrigin = EnsureRoot; type XcmExecutionManager = (); - type NormalDmpHandler = (); - type MaintenanceDmpHandler = (); - // We use AllPalletsWithSystem because we dont want to change the hooks in normal - // operation - type NormalExecutiveHooks = AllPalletsWithSystem; - type MaintenanceExecutiveHooks = MaintenanceHooks; } parameter_types! { @@ -1030,7 +1027,9 @@ impl pallet_relay_storage_roots::Config for Runtime { type WeightInfo = (); } -impl pallet_root_testing::Config for Runtime {} +impl pallet_root_testing::Config for Runtime { + type RuntimeEvent = RuntimeEvent; +} parameter_types! { pub StakingAccount: AccountId32 = PalletId(*b"POOLSTAK").into_account_truncating(); @@ -1106,8 +1105,8 @@ parameter_types! { pub const BasicDeposit: Balance = currency::deposit(1, 258); // 1 entry, storing 53 bytes on-chain pub const SubAccountDeposit: Balance = currency::deposit(1, 53); - // Additional fields add 0 entries, storing 66 bytes on-chain - pub const FieldDeposit: Balance = currency::deposit(0, 66); + // Additional bytes adds 0 entries, storing 1 byte on-chain + pub const ByteDeposit: Balance = currency::deposit(0, 1); pub const MaxSubAccounts: u32 = 100; pub const MaxAdditionalFields: u32 = 100; pub const MaxRegistrars: u32 = 20; @@ -1117,16 +1116,21 @@ impl pallet_identity::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Currency = Balances; type BasicDeposit = BasicDeposit; - type FieldDeposit = FieldDeposit; + type ByteDeposit = ByteDeposit; type SubAccountDeposit = SubAccountDeposit; type MaxSubAccounts = MaxSubAccounts; - type MaxAdditionalFields = MaxAdditionalFields; type MaxRegistrars = MaxRegistrars; - type IdentityInformation = pallet_identity::simple::IdentityInfo; + type IdentityInformation = pallet_identity::legacy::IdentityInfo; // Slashed balances are burnt type Slashed = (); type ForceOrigin = EnsureRoot; type RegistrarOrigin = EnsureRoot; + type OffchainSignature = Signature; + type SigningPublicKey = ::Signer; + type UsernameAuthorityOrigin = EnsureRoot; + type PendingUsernameExpiration = ConstU32<{ 7 * DAYS }>; + type MaxSuffixLength = ConstU32<7>; + type MaxUsernameLength = ConstU32<32>; type WeightInfo = pallet_identity::weights::SubstrateWeight; } diff --git a/runtime/flashbox/src/migrations.rs b/runtime/flashbox/src/migrations.rs index 68079b911..b1259d79e 100644 --- a/runtime/flashbox/src/migrations.rs +++ b/runtime/flashbox/src/migrations.rs @@ -22,7 +22,8 @@ use { crate::{ParaId, Runtime, ServicesPayment, LOG_TARGET}, frame_support::{ - pallet_prelude::ValueQuery, storage::types::StorageMap, weights::Weight, Blake2_128Concat, + pallet_prelude::ValueQuery, storage::types::StorageMap, traits::OnRuntimeUpgrade, + weights::Weight, Blake2_128Concat, }, pallet_configuration::{weights::WeightInfo as _, HostConfiguration}, pallet_migrations::{GetMigrations, Migration}, @@ -233,12 +234,39 @@ where } } +const IDENTITY_MIGRATION_KEY_LIMIT: u64 = u64::MAX; + +pub struct IdentityMigration(pub PhantomData); +impl Migration for IdentityMigration +where + T: pallet_identity::Config, +{ + fn friendly_name(&self) -> &str { + "MM_IdentityMigration" + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade(&self) -> Result, sp_runtime::DispatchError> { + pallet_identity::migration::versioned::V0ToV1::::pre_upgrade() + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade(&self) -> Result, sp_runtime::DispatchError> { + pallet_identity::migration::versioned::V0ToV1::::post_upgrade() + } + + fn migrate(&self, _available_weight: Weight) -> Weight { + pallet_identity::migration::versioned::V0ToV1::::on_runtime_upgrade() + } +} + pub struct FlashboxMigrations(PhantomData); impl GetMigrations for FlashboxMigrations where Runtime: pallet_balances::Config, Runtime: pallet_configuration::Config, + Runtime: pallet_identity::Config, { fn get_migrations() -> Vec> { let migrate_services_payment = @@ -246,11 +274,13 @@ where let migrate_boot_nodes = MigrateBootNodes::(Default::default()); let migrate_config_parathread_params = MigrateConfigurationParathreads::(Default::default()); + let migrate_identity = IdentityMigration::(Default::default()); vec![ Box::new(migrate_services_payment), Box::new(migrate_boot_nodes), Box::new(migrate_config_parathread_params), + Box::new(migrate_identity), ] } } diff --git a/rust-toolchain b/rust-toolchain index bf9b2e065..fa4029d55 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1,5 +1,5 @@ [toolchain] -channel = "1.70.0" -components = [ "rustfmt", "clippy" ] +channel = "1.75.0" +components = [ "rustfmt", "clippy", "rust-src" ] targets = [ "wasm32-unknown-unknown" ] profile = "minimal" From 35cf56c699b9e2ca8d5b07dd085ba63f1811fc51 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 13 Feb 2024 01:32:28 +0100 Subject: [PATCH 05/45] fmt --- container-chains/templates/frontier/node/src/chain_spec.rs | 1 - node/src/cli.rs | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/container-chains/templates/frontier/node/src/chain_spec.rs b/container-chains/templates/frontier/node/src/chain_spec.rs index a3067419f..3e76b7cc0 100644 --- a/container-chains/templates/frontier/node/src/chain_spec.rs +++ b/container-chains/templates/frontier/node/src/chain_spec.rs @@ -136,7 +136,6 @@ pub fn local_testnet_config(para_id: ParaId, boot_nodes: Vec) -> ChainSp .build() } - fn testnet_genesis( endowed_accounts: Vec, id: ParaId, diff --git a/node/src/cli.rs b/node/src/cli.rs index 66349d166..2705b7b60 100644 --- a/node/src/cli.rs +++ b/node/src/cli.rs @@ -348,9 +348,10 @@ impl ContainerChainCli { .with_properties(properties) .with_boot_nodes(boot_nodes) .with_protocol_id(&protocol_id); - + if let Some(fork_id) = genesis_data.fork_id { - let fork_id_string = String::from_utf8(fork_id).map_err(|_e| "Invalid fork_id".to_string())?; + let fork_id_string = + String::from_utf8(fork_id).map_err(|_e| "Invalid fork_id".to_string())?; return Ok(chain_spec.with_fork_id(&fork_id_string).build()); } From e2c616bbeb117974ef05eb79df76a06c0a2a88b2 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Wed, 14 Feb 2024 13:42:24 +0100 Subject: [PATCH 06/45] Fix deps --- Cargo.lock | 28 ++++++++++++++-------------- runtime/dancebox/Cargo.toml | 3 +-- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3cd9c657c..02558815e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -492,7 +492,7 @@ dependencies = [ [[package]] name = "async-backing-primitives" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "sp-api", "sp-consensus-slots", @@ -7038,7 +7038,7 @@ dependencies = [ [[package]] name = "nimbus-consensus" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "async-backing-primitives", "async-trait", @@ -7078,7 +7078,7 @@ dependencies = [ [[package]] name = "nimbus-primitives" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "async-trait", "frame-benchmarking", @@ -7559,7 +7559,7 @@ dependencies = [ [[package]] name = "pallet-async-backing" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-primitives-core", @@ -7579,7 +7579,7 @@ dependencies = [ [[package]] name = "pallet-author-inherent" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "frame-benchmarking", "frame-support", @@ -8263,7 +8263,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-balances-erc20" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "fp-evm", "frame-support", @@ -8286,7 +8286,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-batch" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "evm", "fp-evm", @@ -8307,7 +8307,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-call-permit" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "evm", "fp-evm", @@ -8358,7 +8358,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-xcm-utils" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "fp-evm", "frame-support", @@ -8399,7 +8399,7 @@ dependencies = [ [[package]] name = "pallet-foreign-asset-creator" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "frame-benchmarking", "frame-support", @@ -8571,7 +8571,7 @@ dependencies = [ [[package]] name = "pallet-maintenance-mode" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -8624,7 +8624,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "frame-benchmarking", "frame-support", @@ -8925,7 +8925,7 @@ dependencies = [ [[package]] name = "pallet-relay-storage-roots" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-primitives-core", @@ -17100,7 +17100,7 @@ dependencies = [ [[package]] name = "xcm-primitives" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#00a53540502d3f43d9d5ab50f6397b9164c94cca" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" dependencies = [ "sp-runtime", ] diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index dfc50fdee..9a45be485 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -93,7 +93,6 @@ staging-xcm-builder = { workspace = true } staging-xcm-executor = { workspace = true } # Cumulus -emulated-integration-tests-common = { workspace = true } cumulus-pallet-dmp-queue = { workspace = true } cumulus-pallet-parachain-system = { workspace = true } cumulus-pallet-session-benchmarking = { workspace = true } @@ -116,8 +115,8 @@ container-chain-template-frontier-runtime = { workspace = true, features = [ "s container-chain-template-simple-runtime = { workspace = true, features = [ "std" ] } cumulus-primitives-parachain-inherent = { workspace = true } cumulus-test-relay-sproof-builder = { workspace = true } +emulated-integration-tests-common = { workspace = true } pallet-im-online = { workspace = true, features = [ "std" ] } -pallet-message-queue = { workspace = true } pallet-staking = { workspace = true, features = [ "std" ] } polkadot-runtime-parachains = { workspace = true, features = [ "std" ] } polkadot-service = { workspace = true } From 0f3297b1caf549dcbdc757622fcd3a99660e7ee5 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Thu, 15 Feb 2024 16:36:25 +0100 Subject: [PATCH 07/45] Tests builds --- Cargo.lock | 4 +- Cargo.toml | 1 - client/node-common/src/command.rs | 2 - .../templates/frontier/node/src/eth.rs | 5 -- .../templates/frontier/node/src/rpc/eth.rs | 2 +- .../frontier/runtime/src/xcm_config.rs | 2 - .../templates/simple/node/src/rpc.rs | 2 +- .../simple/runtime/src/xcm_config.rs | 2 - node/src/cli.rs | 2 +- node/src/rpc.rs | 2 +- primitives/author-noting-inherent/src/lib.rs | 2 - runtime/dancebox/Cargo.toml | 6 +-- runtime/dancebox/src/lib.rs | 5 +- runtime/dancebox/src/migrations.rs | 10 ++-- runtime/dancebox/src/xcm_config.rs | 12 ++--- runtime/dancebox/tests/common/mod.rs | 2 +- .../dancebox/tests/common/xcm/constants.rs | 54 ++++++++++--------- .../xcm/foreign_signed_based_sovereign.rs | 30 ++--------- .../tests/common/xcm/foreign_sovereigns.rs | 17 ++---- runtime/dancebox/tests/common/xcm/mocknets.rs | 30 +++-------- runtime/dancebox/tests/common/xcm/mod.rs | 3 +- .../token_derivative_reception_container.rs | 23 ++++---- .../xcm/token_derivative_reception_relay.rs | 50 +++++------------ runtime/dancebox/tests/common/xcm/transact.rs | 36 +++---------- runtime/dancebox/tests/common/xcm/trap.rs | 16 ++---- runtime/flashbox/Cargo.toml | 4 -- runtime/flashbox/tests/common/mod.rs | 4 +- 27 files changed, 105 insertions(+), 223 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 02558815e..be530cc9c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3009,7 +3009,6 @@ dependencies = [ "pallet-data-preservers", "pallet-foreign-asset-creator", "pallet-identity", - "pallet-im-online", "pallet-inflation-rewards", "pallet-initializer", "pallet-invulnerables", @@ -3040,8 +3039,10 @@ dependencies = [ "polkadot-runtime-parachains", "polkadot-service", "sc-consensus-grandpa", + "sc-service", "scale-info", "serde", + "serde_json", "smallvec", "sp-api", "sp-application-crypto", @@ -4155,7 +4156,6 @@ dependencies = [ "pallet-configuration", "pallet-data-preservers", "pallet-identity", - "pallet-im-online", "pallet-inflation-rewards", "pallet-initializer", "pallet-invulnerables", diff --git a/Cargo.toml b/Cargo.toml index b58246b78..80b7d2ef3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -89,7 +89,6 @@ pallet-asset-rate = { git = "https://github.com/moondance-labs/polkadot-sdk", br pallet-assets = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-balances = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-identity = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } -pallet-im-online = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-message-queue = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-proxy = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-root-testing = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } diff --git a/client/node-common/src/command.rs b/client/node-common/src/command.rs index 205a058e5..477894026 100644 --- a/client/node-common/src/command.rs +++ b/client/node-common/src/command.rs @@ -14,9 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Tanssi. If not, see . -use cumulus_primitives_core::ParaId; use parity_scale_codec::Encode; -use polkadot_primitives::HeadData; use sc_chain_spec::ChainSpec; use sp_runtime::{ traits::{Block as BlockT, Hash as HashT, Header as HeaderT, Zero}, diff --git a/container-chains/templates/frontier/node/src/eth.rs b/container-chains/templates/frontier/node/src/eth.rs index f99e04145..2ddf51e76 100644 --- a/container-chains/templates/frontier/node/src/eth.rs +++ b/container-chains/templates/frontier/node/src/eth.rs @@ -14,11 +14,6 @@ // You should have received a copy of the GNU General Public License // along with Tanssi. If not, see . -// Frontier -pub use { - fc_consensus::FrontierBlockImport, - fc_rpc_core::types::{FeeHistoryCache, FeeHistoryCacheLimit, FilterPool}, -}; // Local use container_chain_template_frontier_runtime::opaque::Block; diff --git a/container-chains/templates/frontier/node/src/rpc/eth.rs b/container-chains/templates/frontier/node/src/rpc/eth.rs index 81a728a10..7a9597e84 100644 --- a/container-chains/templates/frontier/node/src/rpc/eth.rs +++ b/container-chains/templates/frontier/node/src/rpc/eth.rs @@ -25,7 +25,7 @@ use { // Frontier use fc_db::Backend as FrontierBackend; pub use { - fc_rpc::{EthBlockDataCacheTask, EthConfig, OverrideHandle, StorageOverride}, + fc_rpc::{EthBlockDataCacheTask, OverrideHandle}, fc_rpc_core::types::{FeeHistoryCache, FeeHistoryCacheLimit, FilterPool}, fc_storage::overrides_handle, }; diff --git a/container-chains/templates/frontier/runtime/src/xcm_config.rs b/container-chains/templates/frontier/runtime/src/xcm_config.rs index 4e0000396..12ddbed3a 100644 --- a/container-chains/templates/frontier/runtime/src/xcm_config.rs +++ b/container-chains/templates/frontier/runtime/src/xcm_config.rs @@ -220,8 +220,6 @@ impl pallet_xcm::Config for Runtime { type RemoteLockConsumerIdentifier = (); // TODO pallet-xcm weights type WeightInfo = pallet_xcm::TestWeightInfo; - #[cfg(feature = "runtime-benchmarks")] - type ReachableDest = ReachableDest; type AdminOrigin = EnsureRoot; } diff --git a/container-chains/templates/simple/node/src/rpc.rs b/container-chains/templates/simple/node/src/rpc.rs index 2ce1392a8..a65afce7b 100644 --- a/container-chains/templates/simple/node/src/rpc.rs +++ b/container-chains/templates/simple/node/src/rpc.rs @@ -21,7 +21,7 @@ #![warn(missing_docs)] -pub use sc_rpc::{DenyUnsafe, SubscriptionTaskExecutor}; +pub use sc_rpc::DenyUnsafe; use { container_chain_template_simple_runtime::{opaque::Block, AccountId, Hash, Index as Nonce}, diff --git a/container-chains/templates/simple/runtime/src/xcm_config.rs b/container-chains/templates/simple/runtime/src/xcm_config.rs index e99673435..2b58c2bbf 100644 --- a/container-chains/templates/simple/runtime/src/xcm_config.rs +++ b/container-chains/templates/simple/runtime/src/xcm_config.rs @@ -219,8 +219,6 @@ impl pallet_xcm::Config for Runtime { type RemoteLockConsumerIdentifier = (); // TODO pallet-xcm weights type WeightInfo = pallet_xcm::TestWeightInfo; - #[cfg(feature = "runtime-benchmarks")] - type ReachableDest = ReachableDest; type AdminOrigin = EnsureRoot; } diff --git a/node/src/cli.rs b/node/src/cli.rs index 2705b7b60..d235dabf9 100644 --- a/node/src/cli.rs +++ b/node/src/cli.rs @@ -21,7 +21,7 @@ use { sc_cli::{CliConfiguration, NodeKeyParams, SharedParams}, sc_network::config::MultiaddrWithPeerId, sp_runtime::traits::Get, - std::{collections::BTreeMap, path::PathBuf, str::FromStr}, + std::{collections::BTreeMap, path::PathBuf}, tp_container_chain_genesis_data::json::properties_to_map, }; diff --git a/node/src/rpc.rs b/node/src/rpc.rs index d68f61736..5c37f6036 100644 --- a/node/src/rpc.rs +++ b/node/src/rpc.rs @@ -21,7 +21,7 @@ #![warn(missing_docs)] -pub use sc_rpc::{DenyUnsafe, SubscriptionTaskExecutor}; +pub use sc_rpc::DenyUnsafe; use { cumulus_primitives_core::ParaId, dancebox_runtime::{opaque::Block, AccountId, Index as Nonce}, diff --git a/primitives/author-noting-inherent/src/lib.rs b/primitives/author-noting-inherent/src/lib.rs index 6904ac344..b57504bce 100644 --- a/primitives/author-noting-inherent/src/lib.rs +++ b/primitives/author-noting-inherent/src/lib.rs @@ -29,8 +29,6 @@ #[cfg(feature = "std")] mod client_side; -#[cfg(feature = "std")] -pub use client_side::*; #[cfg(feature = "std")] mod mock; diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index 9a45be485..7ba5021ae 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -116,11 +116,11 @@ container-chain-template-simple-runtime = { workspace = true, features = [ "std cumulus-primitives-parachain-inherent = { workspace = true } cumulus-test-relay-sproof-builder = { workspace = true } emulated-integration-tests-common = { workspace = true } -pallet-im-online = { workspace = true, features = [ "std" ] } pallet-staking = { workspace = true, features = [ "std" ] } polkadot-runtime-parachains = { workspace = true, features = [ "std" ] } polkadot-service = { workspace = true } sc-consensus-grandpa = { workspace = true } +sc-service = { workspace = true } sp-consensus-babe = { workspace = true, features = [ "std" ] } sp-consensus-beefy = { workspace = true, features = [ "std" ] } sp-io = { workspace = true } @@ -128,6 +128,7 @@ test-relay-sproof-builder = { workspace = true } westend-runtime = { workspace = true, features = [ "std" ] } westend-runtime-constants = { workspace = true } xcm-emulator = { workspace = true } +serde_json = { workspace = true } [build-dependencies] substrate-wasm-builder = { workspace = true } @@ -174,7 +175,6 @@ std = [ "pallet-data-preservers/std", "pallet-foreign-asset-creator/std", "pallet-identity/std", - "pallet-im-online/std", "pallet-inflation-rewards/std", "pallet-initializer/std", "pallet-invulnerables/std", @@ -264,7 +264,6 @@ runtime-benchmarks = [ "pallet-data-preservers/runtime-benchmarks", "pallet-foreign-asset-creator/runtime-benchmarks", "pallet-identity/runtime-benchmarks", - "pallet-im-online/runtime-benchmarks", "pallet-inflation-rewards/runtime-benchmarks", "pallet-invulnerables/runtime-benchmarks", "pallet-message-queue/runtime-benchmarks", @@ -322,7 +321,6 @@ try-runtime = [ "pallet-foreign-asset-creator/try-runtime", "pallet-foreign-asset-creator/try-runtime", "pallet-identity/try-runtime", - "pallet-im-online/try-runtime", "pallet-inflation-rewards/try-runtime", "pallet-initializer/try-runtime", "pallet-invulnerables/try-runtime", diff --git a/runtime/dancebox/src/lib.rs b/runtime/dancebox/src/lib.rs index 46315c2fd..cdc7e7a07 100644 --- a/runtime/dancebox/src/lib.rs +++ b/runtime/dancebox/src/lib.rs @@ -39,7 +39,7 @@ use sp_runtime::TryRuntimeError; use { cumulus_pallet_parachain_system::{RelayChainStateProof, RelayNumberStrictlyIncreases}, cumulus_primitives_core::{ - relay_chain::{self, BlockNumber as RelayBlockNumber, SessionIndex}, + relay_chain::{self, SessionIndex}, AggregateMessageOrigin, BodyId, ParaId, }, frame_support::{ @@ -50,8 +50,7 @@ use { traits::{ fungible::{Balanced, Credit}, ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, Contains, EitherOfDiverse, - InsideBoth, InstanceFilter, OffchainWorker, OnFinalize, OnIdle, OnInitialize, - OnRuntimeUpgrade, ValidatorRegistration, + InsideBoth, InstanceFilter, ValidatorRegistration, }, weights::{ constants::{ diff --git a/runtime/dancebox/src/migrations.rs b/runtime/dancebox/src/migrations.rs index 0332d2d17..04e62796e 100644 --- a/runtime/dancebox/src/migrations.rs +++ b/runtime/dancebox/src/migrations.rs @@ -20,14 +20,10 @@ //! the "Migration" trait declared in the pallet-migrations crate. use { - crate::{Invulnerables, ParaId, Runtime, RuntimeOrigin, ServicesPayment, LOG_TARGET}, + crate::{ParaId, Runtime, ServicesPayment, LOG_TARGET}, frame_support::{ - migration::storage_key_iter, - pallet_prelude::ValueQuery, - storage::types::{StorageMap, StorageValue}, - traits::OnRuntimeUpgrade, - weights::Weight, - Blake2_128Concat, + migration::storage_key_iter, pallet_prelude::ValueQuery, storage::types::StorageMap, + traits::OnRuntimeUpgrade, weights::Weight, Blake2_128Concat, }, pallet_balances::IdAmount, pallet_configuration::{weights::WeightInfo as _, HostConfiguration}, diff --git a/runtime/dancebox/src/xcm_config.rs b/runtime/dancebox/src/xcm_config.rs index 8cb2c51a3..166400275 100644 --- a/runtime/dancebox/src/xcm_config.rs +++ b/runtime/dancebox/src/xcm_config.rs @@ -36,11 +36,11 @@ use { staging_xcm::latest::prelude::*, staging_xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, - AllowTopLevelPaidExecutionFrom, ConvertedConcreteId, CurrencyAdapter, EnsureXcmOrigin, - FixedWeightBounds, FungibleAdapter, IsConcrete, ParentIsPreset, RelayChainAsNative, - SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, - SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, - WeightInfoBounds, WithComputedOrigin, + AllowTopLevelPaidExecutionFrom, ConvertedConcreteId, EnsureXcmOrigin, FungibleAdapter, + IsConcrete, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, + SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, + SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, WeightInfoBounds, + WithComputedOrigin, }, staging_xcm_executor::XcmExecutor, }; @@ -232,8 +232,6 @@ impl pallet_xcm::Config for Runtime { type RemoteLockConsumerIdentifier = (); // TODO pallet-xcm weights type WeightInfo = pallet_xcm::TestWeightInfo; - #[cfg(feature = "runtime-benchmarks")] - type ReachableDest = ReachableDest; type AdminOrigin = EnsureRoot; } diff --git a/runtime/dancebox/tests/common/mod.rs b/runtime/dancebox/tests/common/mod.rs index ce7379d9e..edf11c89f 100644 --- a/runtime/dancebox/tests/common/mod.rs +++ b/runtime/dancebox/tests/common/mod.rs @@ -42,7 +42,7 @@ pub use dancebox_runtime::{ AccountId, AssetRate, AuthorNoting, AuthorityAssignment, AuthorityMapping, Balance, Balances, CollatorAssignment, Configuration, DataPreservers, ForeignAssets, ForeignAssetsCreator, InflationRewards, Initializer, Invulnerables, MinimumSelfDelegation, ParachainInfo, - PooledStaking, Proxy, ProxyType, Registrar, RewardsPortion, Runtime, RuntimeCall, RuntimeEvent, + PooledStaking, Proxy, ProxyType, Registrar, RewardsPortion, Runtime, RuntimeCall, ServicesPayment, Session, System, }; diff --git a/runtime/dancebox/tests/common/xcm/constants.rs b/runtime/dancebox/tests/common/xcm/constants.rs index 6ac66dbed..8102ee215 100644 --- a/runtime/dancebox/tests/common/xcm/constants.rs +++ b/runtime/dancebox/tests/common/xcm/constants.rs @@ -17,7 +17,6 @@ use { cumulus_primitives_core::relay_chain::{ AccountId, AssignmentId, AuthorityDiscoveryId, ValidatorId, }, - pallet_im_online::sr25519::AuthorityId as ImOnlineId, polkadot_service::chain_spec::get_authority_keys_from_seed_no_beefy, sc_consensus_grandpa::AuthorityId as GrandpaId, sp_consensus_babe::AuthorityId as BabeId, @@ -88,7 +87,6 @@ pub mod validators { AccountId, BabeId, GrandpaId, - ImOnlineId, ValidatorId, AssignmentId, AuthorityDiscoveryId, @@ -106,6 +104,7 @@ pub mod westend { }; const ENDOWMENT: u128 = 1_000_000 * WND; const STASH: u128 = 100 * WND; + pub type ChainSpec = sc_service::GenericChainSpec; pub fn get_host_config() -> HostConfiguration { HostConfiguration { @@ -121,7 +120,6 @@ pub mod westend { fn session_keys( babe: BabeId, grandpa: GrandpaId, - im_online: ImOnlineId, para_validator: ValidatorId, para_assignment: AssignmentId, authority_discovery: AuthorityDiscoveryId, @@ -130,7 +128,6 @@ pub mod westend { westend_runtime::SessionKeys { babe, grandpa, - im_online, para_validator, para_assignment, authority_discovery, @@ -140,10 +137,6 @@ pub mod westend { pub fn genesis() -> Storage { let genesis_config = westend_runtime::RuntimeGenesisConfig { - system: westend_runtime::SystemConfig { - code: westend_runtime::WASM_BINARY.unwrap().to_vec(), - ..Default::default() - }, balances: westend_runtime::BalancesConfig { balances: accounts::init_balances() .iter() @@ -164,7 +157,6 @@ pub mod westend { x.4.clone(), x.5.clone(), x.6.clone(), - x.7.clone(), get_from_seed::("Alice"), ), ) @@ -204,7 +196,11 @@ pub mod westend { ..Default::default() }; - genesis_config.build_storage().unwrap() + ChainSpec::builder(westend_runtime::WASM_BINARY.unwrap(), None) + .with_genesis_config(serde_json::to_value(&genesis_config).unwrap()) + .build() + .build_storage() + .unwrap() } } @@ -216,14 +212,12 @@ pub mod frontier_template { }; pub const PARA_ID: u32 = 2001; pub const ORCHESTRATOR: u32 = 2000; + pub type ChainSpec = sc_service::GenericChainSpec< + container_chain_template_frontier_runtime::RuntimeGenesisConfig, + >; + pub fn genesis() -> sp_core::storage::Storage { let genesis_config = container_chain_template_frontier_runtime::RuntimeGenesisConfig { - system: container_chain_template_frontier_runtime::SystemConfig { - code: container_chain_template_frontier_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!") - .to_vec(), - ..Default::default() - }, balances: container_chain_template_frontier_runtime::BalancesConfig { balances: pre_funded_accounts() .iter() @@ -253,7 +247,15 @@ pub mod frontier_template { ..Default::default() }; - genesis_config.build_storage().unwrap() + ChainSpec::builder( + container_chain_template_frontier_runtime::WASM_BINARY + .expect("WASM binary was not build, please build it!"), + None, + ) + .with_genesis_config(serde_json::to_value(&genesis_config).unwrap()) + .build() + .build_storage() + .unwrap() } /// Get pre-funded accounts pub fn pre_funded_accounts() -> Vec { @@ -276,15 +278,11 @@ pub mod simple_template { pub const PARA_ID: u32 = 2002; pub const ORCHESTRATOR: u32 = 2000; const ENDOWMENT: u128 = 1_000_000 * DEV; + pub type ChainSpec = + sc_service::GenericChainSpec; pub fn genesis() -> sp_core::storage::Storage { let genesis_config = container_chain_template_simple_runtime::RuntimeGenesisConfig { - system: container_chain_template_simple_runtime::SystemConfig { - code: container_chain_template_simple_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!") - .to_vec(), - ..Default::default() - }, balances: container_chain_template_simple_runtime::BalancesConfig { balances: accounts::init_balances() .iter() @@ -306,6 +304,14 @@ pub mod simple_template { ..Default::default() }; - genesis_config.build_storage().unwrap() + ChainSpec::builder( + container_chain_template_simple_runtime::WASM_BINARY + .expect("WASM binary was not build, please build it!"), + None, + ) + .with_genesis_config(serde_json::to_value(&genesis_config).unwrap()) + .build() + .build_storage() + .unwrap() } } diff --git a/runtime/dancebox/tests/common/xcm/foreign_signed_based_sovereign.rs b/runtime/dancebox/tests/common/xcm/foreign_signed_based_sovereign.rs index 031b1abef..2159b24f0 100644 --- a/runtime/dancebox/tests/common/xcm/foreign_signed_based_sovereign.rs +++ b/runtime/dancebox/tests/common/xcm/foreign_signed_based_sovereign.rs @@ -17,9 +17,9 @@ use { crate::common::xcm::{ mocknets::{ - Dancebox, DanceboxEmptyReceiver, DanceboxParaPallet, DanceboxSender, - EthereumEmptyReceiver, EthereumSender, FrontierTemplate, FrontierTemplateParaPallet, - Westend, WestendRelayPallet, WestendSender, + DanceboxEmptyReceiver, DanceboxPara as Dancebox, DanceboxParaPallet, DanceboxSender, + EthereumEmptyReceiver, EthereumSender, FrontierTemplatePara as FrontierTemplate, + FrontierTemplateParaPallet, WestendRelay as Westend, WestendRelayPallet, WestendSender, }, *, }, @@ -107,18 +107,7 @@ fn using_signed_based_sovereign_works_in_tanssi() { // Send XCM message from Dancebox Dancebox::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - assert_expected_events!( - Dancebox, - vec![ - RuntimeEvent::DmpQueue( - cumulus_pallet_dmp_queue::Event::ExecutedDownward { - outcome, .. - }) => { - outcome: outcome.clone().ensure_complete().is_ok(), - }, - ] - ); + Dancebox::assert_dmp_queue_complete(None); // Assert empty receiver received funds assert!( ::System::account(DanceboxEmptyReceiver::get()) @@ -226,16 +215,7 @@ fn using_signed_based_sovereign_works_from_tanssi_to_frontier_template() { }); FrontierTemplate::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - assert_expected_events!( - FrontierTemplate, - vec![ - RuntimeEvent::XcmpQueue( - cumulus_pallet_xcmp_queue::Event::Success { - .. - }) => {}, - ] - ); + FrontierTemplate::assert_xcmp_queue_success(None); // Assert empty receiver received funds assert!( ::System::account( diff --git a/runtime/dancebox/tests/common/xcm/foreign_sovereigns.rs b/runtime/dancebox/tests/common/xcm/foreign_sovereigns.rs index f739f18be..b1c6a7378 100644 --- a/runtime/dancebox/tests/common/xcm/foreign_sovereigns.rs +++ b/runtime/dancebox/tests/common/xcm/foreign_sovereigns.rs @@ -17,9 +17,9 @@ use { crate::common::xcm::{ mocknets::{ - Dancebox, DanceboxParaPallet, EthereumEmptyReceiver, EthereumSender, FrontierTemplate, - FrontierTemplateParaPallet, Westend, WestendEmptyReceiver, WestendRelayPallet, - WestendSender, + DanceboxPara as Dancebox, DanceboxParaPallet, EthereumEmptyReceiver, EthereumSender, + FrontierTemplatePara as FrontierTemplate, FrontierTemplateParaPallet, + WestendEmptyReceiver, WestendRelay as Westend, WestendRelayPallet, WestendSender, }, *, }, @@ -223,16 +223,7 @@ fn using_sovereign_works_from_tanssi_frontier_template() { }); FrontierTemplate::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - assert_expected_events!( - FrontierTemplate, - vec![ - RuntimeEvent::XcmpQueue( - cumulus_pallet_xcmp_queue::Event::Success { - .. - }) => {}, - ] - ); + FrontierTemplate::assert_xcmp_queue_success(None); // Assert empty receiver received funds assert!( ::System::account( diff --git a/runtime/dancebox/tests/common/xcm/mocknets.rs b/runtime/dancebox/tests/common/xcm/mocknets.rs index 896379c2b..3b9bebad0 100644 --- a/runtime/dancebox/tests/common/xcm/mocknets.rs +++ b/runtime/dancebox/tests/common/xcm/mocknets.rs @@ -13,18 +13,14 @@ // You should have received a copy of the GNU General Public License // along with Tanssi. If not, see -pub use sp_core::{sr25519, storage::Storage, Get}; +pub use sp_core::Get; use { super::constants::{ accounts::{ALICE, BOB, RANDOM}, frontier_template, simple_template, westend, }, - cumulus_primitives_core::relay_chain::runtime_api::runtime_decl_for_parachain_host::ParachainHostV8, emulated_integration_tests_common::{ - impl_accounts_helpers_for_parachain, impl_accounts_helpers_for_relay_chain, - impl_assert_events_helpers_for_parachain, impl_assert_events_helpers_for_relay_chain, - impl_assets_helpers_for_parachain, impl_send_transact_helpers_for_relay_chain, - xcm_emulator::decl_test_parachains, + impl_assert_events_helpers_for_parachain, xcm_emulator::decl_test_parachains, }, frame_support::parameter_types, parity_scale_codec::Encode, @@ -36,9 +32,6 @@ use { xcm_emulator::{decl_test_networks, decl_test_relay_chains, Chain}, }; -// Substrate -use frame_support::traits::OnInitialize; - decl_test_relay_chains! { #[api_version(10)] pub struct Westend { @@ -57,10 +50,6 @@ decl_test_relay_chains! { } } -impl_accounts_helpers_for_relay_chain!(Westend); -impl_assert_events_helpers_for_relay_chain!(Westend); -impl_send_transact_helpers_for_relay_chain!(Westend); - decl_test_parachains! { // Parachains pub struct Dancebox { @@ -144,9 +133,6 @@ decl_test_parachains! { } } -impl_accounts_helpers_for_parachain!(Dancebox); -impl_accounts_helpers_for_parachain!(FrontierTemplate); -impl_accounts_helpers_for_parachain!(SimpleTemplate); impl_assert_events_helpers_for_parachain!(Dancebox); impl_assert_events_helpers_for_parachain!(FrontierTemplate); impl_assert_events_helpers_for_parachain!(SimpleTemplate); @@ -165,17 +151,17 @@ decl_test_networks! { parameter_types! { // Westend - pub WestendSender: cumulus_primitives_core::relay_chain::AccountId = Westend::account_id_of(ALICE); - pub WestendReceiver: cumulus_primitives_core::relay_chain::AccountId = Westend::account_id_of(BOB); - pub WestendEmptyReceiver: cumulus_primitives_core::relay_chain::AccountId = Westend::account_id_of(RANDOM); + pub WestendSender: cumulus_primitives_core::relay_chain::AccountId = WestendRelay::account_id_of(ALICE); + pub WestendReceiver: cumulus_primitives_core::relay_chain::AccountId = WestendRelay::account_id_of(BOB); + pub WestendEmptyReceiver: cumulus_primitives_core::relay_chain::AccountId = WestendRelay::account_id_of(RANDOM); // Dancebox pub DanceboxSender: dancebox_runtime::AccountId = crate::AccountId::from(crate::ALICE); pub DanceboxReceiver: dancebox_runtime::AccountId = crate::AccountId::from(crate::BOB); - pub DanceboxEmptyReceiver: dancebox_runtime::AccountId = Dancebox::account_id_of(RANDOM); + pub DanceboxEmptyReceiver: dancebox_runtime::AccountId = DanceboxPara::account_id_of(RANDOM); // SimpleTemplate - pub SimpleTemplateSender: container_chain_template_simple_runtime::AccountId = SimpleTemplate::account_id_of(ALICE); - pub SimpleTemplateReceiver: container_chain_template_simple_runtime::AccountId = SimpleTemplate::account_id_of(BOB); + pub SimpleTemplateSender: container_chain_template_simple_runtime::AccountId = SimpleTemplatePara::account_id_of(ALICE); + pub SimpleTemplateReceiver: container_chain_template_simple_runtime::AccountId = SimpleTemplatePara::account_id_of(BOB); pub EthereumSender: container_chain_template_frontier_runtime::AccountId = frontier_template::pre_funded_accounts()[0]; pub EthereumReceiver: container_chain_template_frontier_runtime::AccountId = frontier_template::pre_funded_accounts()[1]; diff --git a/runtime/dancebox/tests/common/xcm/mod.rs b/runtime/dancebox/tests/common/xcm/mod.rs index 64cccedec..aeb8a92ed 100644 --- a/runtime/dancebox/tests/common/xcm/mod.rs +++ b/runtime/dancebox/tests/common/xcm/mod.rs @@ -24,6 +24,5 @@ mod transact; mod trap; pub use xcm_emulator::{ - assert_expected_events, bx, helpers::weight_within_threshold, Parachain as Para, - RelayChain as Relay, TestExt, + assert_expected_events, bx, Parachain as Para, RelayChain as Relay, TestExt, }; diff --git a/runtime/dancebox/tests/common/xcm/token_derivative_reception_container.rs b/runtime/dancebox/tests/common/xcm/token_derivative_reception_container.rs index 6ee5d5e9e..702640a0c 100644 --- a/runtime/dancebox/tests/common/xcm/token_derivative_reception_container.rs +++ b/runtime/dancebox/tests/common/xcm/token_derivative_reception_container.rs @@ -17,8 +17,8 @@ use { crate::common::xcm::{ mocknets::{ - Dancebox, DanceboxParaPallet, DanceboxReceiver, SimpleTemplate, - SimpleTemplateParaPallet, SimpleTemplateSender, + DanceboxPara as Dancebox, DanceboxParaPallet, DanceboxReceiver, + SimpleTemplatePara as SimpleTemplate, SimpleTemplateParaPallet, SimpleTemplateSender, }, *, }, @@ -110,16 +110,17 @@ fn receive_tokens_from_the_container_to_tanssi() { assert_expected_events!( Dancebox, vec![ - RuntimeEvent::XcmpQueue( - cumulus_pallet_xcmp_queue::Event::Success { - weight, - .. - }) => { - weight: { - outcome_weight = *weight; - weight.all_gte(Weight::from_parts(0, 0)) + RuntimeEvent::MessageQueue( + pallet_message_queue::Event::Processed { + success: true, + weight_used, + .. + }) => { + weight_used: { + outcome_weight = *weight_used; + weight_used.all_gte(Weight::from_parts(0,0)) + }, }, - }, ] ); type ForeignAssets = ::ForeignAssets; diff --git a/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs b/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs index a77b2e7fb..0804ec13a 100644 --- a/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs +++ b/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs @@ -17,8 +17,8 @@ use { crate::common::xcm::{ mocknets::{ - Dancebox, DanceboxParaPallet, DanceboxReceiver, Westend, WestendRelayPallet, - WestendSender, + DanceboxPara as Dancebox, DanceboxParaPallet, DanceboxReceiver, + WestendRelay as Westend, WestendRelayPallet, WestendSender, }, *, }, @@ -100,15 +100,17 @@ fn receive_tokens_from_the_relay_to_tanssi() { assert_expected_events!( Dancebox, vec![ - RuntimeEvent::DmpQueue( - cumulus_pallet_dmp_queue::Event::ExecutedDownward { - outcome, .. + RuntimeEvent::MessageQueue( + pallet_message_queue::Event::Processed { + success: true, + weight_used, + .. }) => { - outcome: { - outcome_weight = outcome.clone().weight_used(); - outcome.clone().ensure_complete().is_ok() + weight_used: { + outcome_weight = *weight_used; + weight_used.all_gte(Weight::from_parts(0,0)) + }, }, - }, ] ); type ForeignAssets = ::ForeignAssets; @@ -185,20 +187,7 @@ fn cannot_receive_tokens_from_the_relay_if_no_rate_is_assigned() { }); // We should have received the tokens Dancebox::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - assert_expected_events!( - Dancebox, - vec![ - RuntimeEvent::DmpQueue( - cumulus_pallet_dmp_queue::Event::ExecutedDownward { - outcome, .. - }) => { - outcome: { - outcome.clone().ensure_complete().is_err() - }, - }, - ] - ); + Dancebox::assert_dmp_queue_error(); type ForeignAssets = ::ForeignAssets; // Assert receiver should not have received funds @@ -253,20 +242,7 @@ fn cannot_receive_tokens_from_the_relay_if_no_token_is_registered() { }); // We should have received the tokens Dancebox::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - assert_expected_events!( - Dancebox, - vec![ - RuntimeEvent::DmpQueue( - cumulus_pallet_dmp_queue::Event::ExecutedDownward { - outcome, .. - }) => { - outcome: { - outcome.clone().ensure_complete().is_err() - }, - }, - ] - ); + Dancebox::assert_dmp_queue_error(); type ForeignAssets = ::ForeignAssets; // Assert receiver should not have received funds diff --git a/runtime/dancebox/tests/common/xcm/transact.rs b/runtime/dancebox/tests/common/xcm/transact.rs index 4267fe4cf..2f6413519 100644 --- a/runtime/dancebox/tests/common/xcm/transact.rs +++ b/runtime/dancebox/tests/common/xcm/transact.rs @@ -18,21 +18,16 @@ use crate::common::xcm::*; use { crate::common::xcm::mocknets::{ - Dancebox, FrontierTemplate, FrontierTemplateParaPallet, SimpleTemplate, - SimpleTemplateParaPallet, Westend, WestendRelayPallet, + DanceboxPara as Dancebox, FrontierTemplatePara as FrontierTemplate, + FrontierTemplateParaPallet, SimpleTemplatePara as SimpleTemplate, SimpleTemplateParaPallet, + WestendRelay as Westend, WestendRelayPallet, }, frame_support::{ assert_ok, weights::{Weight, WeightToFee}, }, parity_scale_codec::Encode, - staging_xcm::{ - latest::{ - prelude::*, - Error::{BadOrigin, Barrier}, - }, - VersionedMultiLocation, VersionedXcm, - }, + staging_xcm::{latest::prelude::*, VersionedMultiLocation, VersionedXcm}, staging_xcm_builder::{ParentIsPreset, SiblingParachainConvertsVia}, staging_xcm_executor::traits::ConvertLocation, xcm_emulator::Chain, @@ -90,15 +85,7 @@ fn transact_sudo_from_relay_hits_barrier_dancebox_without_buy_exec() { // Receive XCM message in Assets Parachain Dancebox::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - assert_expected_events!( - Dancebox, - vec![ - RuntimeEvent::DmpQueue(cumulus_pallet_dmp_queue::Event::ExecutedDownward { outcome, .. }) => { - outcome: *outcome == Outcome::Error(Barrier), - }, - ] - ); + Dancebox::assert_dmp_queue_error(); }); } @@ -163,18 +150,7 @@ fn transact_sudo_from_relay_does_not_have_sudo_power() { // Receive XCM message in Assets Parachain Dancebox::execute_with(|| { - type RuntimeEvent = ::RuntimeEvent; - assert_expected_events!( - Dancebox, - vec![ - RuntimeEvent::DmpQueue( - cumulus_pallet_dmp_queue::Event::ExecutedDownward { - outcome: Outcome::Incomplete(_w, error), .. - }) => { - error: *error == BadOrigin, - }, - ] - ); + Dancebox::assert_dmp_queue_incomplete(None); }); } diff --git a/runtime/dancebox/tests/common/xcm/trap.rs b/runtime/dancebox/tests/common/xcm/trap.rs index ab7c2eab5..e056541c5 100644 --- a/runtime/dancebox/tests/common/xcm/trap.rs +++ b/runtime/dancebox/tests/common/xcm/trap.rs @@ -17,15 +17,14 @@ use crate::common::xcm::*; use { - crate::common::xcm::mocknets::{Dancebox, Westend, WestendRelayPallet}, + crate::common::xcm::mocknets::{ + DanceboxPara as Dancebox, WestendRelay as Westend, WestendRelayPallet, + }, frame_support::{ assert_ok, weights::{Weight, WeightToFee}, }, - staging_xcm::{ - latest::{prelude::*, Error::Trap as TrapError}, - VersionedMultiLocation, VersionedXcm, - }, + staging_xcm::{latest::prelude::*, VersionedMultiLocation, VersionedXcm}, xcm_emulator::Chain, }; @@ -76,15 +75,10 @@ fn trapping_asserts_works_with_polkadot_xcm() { // Receive XCM message in Assets Parachain Dancebox::execute_with(|| { type RuntimeEvent = ::RuntimeEvent; + Dancebox::assert_dmp_queue_incomplete(None); assert_expected_events!( Dancebox, vec![ - RuntimeEvent::DmpQueue( - cumulus_pallet_dmp_queue::Event::ExecutedDownward { - outcome: Outcome::Incomplete(_w, error), .. - }) => { - error: *error == TrapError(0), - }, RuntimeEvent::PolkadotXcm( pallet_xcm::Event::AssetsTrapped{origin, ..}) => { origin: *origin == MultiLocation::parent(), diff --git a/runtime/flashbox/Cargo.toml b/runtime/flashbox/Cargo.toml index 218c45d58..026d062cc 100644 --- a/runtime/flashbox/Cargo.toml +++ b/runtime/flashbox/Cargo.toml @@ -98,7 +98,6 @@ frame-try-runtime = { workspace = true, optional = true } [dev-dependencies] cumulus-primitives-parachain-inherent = { workspace = true } cumulus-test-relay-sproof-builder = { workspace = true } -pallet-im-online = { workspace = true, features = [ "std" ] } polkadot-runtime-parachains = { workspace = true, features = [ "std" ] } sc-consensus-grandpa = { workspace = true } sp-consensus-babe = { workspace = true, features = [ "std" ] } @@ -143,7 +142,6 @@ std = [ "pallet-configuration/std", "pallet-data-preservers/std", "pallet-identity/std", - "pallet-im-online/std", "pallet-inflation-rewards/std", "pallet-initializer/std", "pallet-invulnerables/std", @@ -215,7 +213,6 @@ runtime-benchmarks = [ "pallet-configuration/runtime-benchmarks", "pallet-data-preservers/runtime-benchmarks", "pallet-identity/runtime-benchmarks", - "pallet-im-online/runtime-benchmarks", "pallet-inflation-rewards/runtime-benchmarks", "pallet-invulnerables/runtime-benchmarks", "pallet-migrations/runtime-benchmarks", @@ -251,7 +248,6 @@ try-runtime = [ "pallet-configuration/try-runtime", "pallet-data-preservers/try-runtime", "pallet-identity/try-runtime", - "pallet-im-online/try-runtime", "pallet-inflation-rewards/try-runtime", "pallet-initializer/try-runtime", "pallet-invulnerables/try-runtime", diff --git a/runtime/flashbox/tests/common/mod.rs b/runtime/flashbox/tests/common/mod.rs index ff1db93ba..3272705fe 100644 --- a/runtime/flashbox/tests/common/mod.rs +++ b/runtime/flashbox/tests/common/mod.rs @@ -39,8 +39,8 @@ use { pub use flashbox_runtime::{ AccountId, AuthorNoting, AuthorityAssignment, AuthorityMapping, Balance, Balances, CollatorAssignment, Configuration, DataPreservers, InflationRewards, Initializer, - Invulnerables, MinimumSelfDelegation, ParachainInfo, Proxy, ProxyType, Registrar, - RewardsPortion, Runtime, RuntimeCall, RuntimeEvent, ServicesPayment, Session, System, + Invulnerables, ParachainInfo, Proxy, ProxyType, Registrar, RewardsPortion, Runtime, + RuntimeCall, ServicesPayment, Session, System, }; pub fn session_to_block(n: u32) -> u32 { From fc012bb19c64ed39d97322d31110c4c979e77208 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Thu, 15 Feb 2024 17:32:36 +0100 Subject: [PATCH 08/45] impl GenesisBuilder --- Cargo.lock | 4 ++++ Cargo.toml | 1 + .../templates/frontier/runtime/Cargo.toml | 1 + .../templates/frontier/runtime/src/lib.rs | 11 +++++++++++ container-chains/templates/simple/runtime/Cargo.toml | 1 + container-chains/templates/simple/runtime/src/lib.rs | 11 +++++++++++ runtime/dancebox/Cargo.toml | 1 + runtime/dancebox/src/lib.rs | 11 +++++++++++ runtime/dancebox/tests/common/xcm/constants.rs | 7 +++++-- runtime/flashbox/Cargo.toml | 1 + runtime/flashbox/src/lib.rs | 11 +++++++++++ 11 files changed, 58 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index be530cc9c..680d4e5c8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1828,6 +1828,7 @@ dependencies = [ "sp-consensus-slots", "sp-core", "sp-debug-derive", + "sp-genesis-builder", "sp-inherents", "sp-offchain", "sp-runtime", @@ -1973,6 +1974,7 @@ dependencies = [ "sp-consensus-slots", "sp-core", "sp-debug-derive", + "sp-genesis-builder", "sp-inherents", "sp-offchain", "sp-runtime", @@ -3053,6 +3055,7 @@ dependencies = [ "sp-consensus-slots", "sp-core", "sp-debug-derive", + "sp-genesis-builder", "sp-inherents", "sp-io", "sp-offchain", @@ -4191,6 +4194,7 @@ dependencies = [ "sp-consensus-slots", "sp-core", "sp-debug-derive", + "sp-genesis-builder", "sp-inherents", "sp-io", "sp-offchain", diff --git a/Cargo.toml b/Cargo.toml index 80b7d2ef3..bfac26944 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -155,6 +155,7 @@ sc-transaction-pool-api = { git = "https://github.com/moondance-labs/polkadot-sd sc-utils = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } sp-blockchain = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } sp-externalities = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +sp-genesis-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } sp-keystore = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } sp-staking = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } sp-storage = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } diff --git a/container-chains/templates/frontier/runtime/Cargo.toml b/container-chains/templates/frontier/runtime/Cargo.toml index 7e927d9d5..d51766ecf 100644 --- a/container-chains/templates/frontier/runtime/Cargo.toml +++ b/container-chains/templates/frontier/runtime/Cargo.toml @@ -57,6 +57,7 @@ sp-consensus-aura = { workspace = true } sp-consensus-slots = { workspace = true } sp-core = { workspace = true } sp-debug-derive = { workspace = true } +sp-genesis-builder = { workspace = true } sp-inherents = { workspace = true } sp-offchain = { workspace = true } sp-runtime = { workspace = true } diff --git a/container-chains/templates/frontier/runtime/src/lib.rs b/container-chains/templates/frontier/runtime/src/lib.rs index 7e47e96d9..8654e3ac8 100644 --- a/container-chains/templates/frontier/runtime/src/lib.rs +++ b/container-chains/templates/frontier/runtime/src/lib.rs @@ -42,6 +42,7 @@ use { frame_support::{ construct_runtime, dispatch::{DispatchClass, GetDispatchInfo}, + genesis_builder_helper::{build_config, create_default_config}, pallet_prelude::DispatchResult, parameter_types, traits::{ @@ -1056,6 +1057,16 @@ impl_runtime_apis! { } } + impl sp_genesis_builder::GenesisBuilder for Runtime { + fn create_default_config() -> Vec { + create_default_config::() + } + + fn build_config(config: Vec) -> sp_genesis_builder::Result { + build_config::(config) + } + } + #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { fn benchmark_metadata( diff --git a/container-chains/templates/simple/runtime/Cargo.toml b/container-chains/templates/simple/runtime/Cargo.toml index da57f9b2a..d5cd3774f 100644 --- a/container-chains/templates/simple/runtime/Cargo.toml +++ b/container-chains/templates/simple/runtime/Cargo.toml @@ -51,6 +51,7 @@ sp-consensus-aura = { workspace = true } sp-consensus-slots = { workspace = true } sp-core = { workspace = true } sp-debug-derive = { workspace = true } +sp-genesis-builder = { workspace = true } sp-inherents = { workspace = true } sp-offchain = { workspace = true } sp-runtime = { workspace = true } diff --git a/container-chains/templates/simple/runtime/src/lib.rs b/container-chains/templates/simple/runtime/src/lib.rs index 99bc16fb8..5908eafe9 100644 --- a/container-chains/templates/simple/runtime/src/lib.rs +++ b/container-chains/templates/simple/runtime/src/lib.rs @@ -35,6 +35,7 @@ use { frame_support::{ construct_runtime, dispatch::DispatchClass, + genesis_builder_helper::{build_config, create_default_config}, pallet_prelude::DispatchResult, parameter_types, traits::{ @@ -771,6 +772,16 @@ impl_runtime_apis! { } } + impl sp_genesis_builder::GenesisBuilder for Runtime { + fn create_default_config() -> Vec { + create_default_config::() + } + + fn build_config(config: Vec) -> sp_genesis_builder::Result { + build_config::(config) + } + } + #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { fn benchmark_metadata( diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index 7ba5021ae..306dcf8b6 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -70,6 +70,7 @@ sp-consensus-aura = { workspace = true } sp-consensus-slots = { workspace = true } sp-core = { workspace = true } sp-debug-derive = { workspace = true } +sp-genesis-builder = { workspace = true } sp-inherents = { workspace = true } sp-offchain = { workspace = true } sp-runtime = { workspace = true } diff --git a/runtime/dancebox/src/lib.rs b/runtime/dancebox/src/lib.rs index cdc7e7a07..d6d9c5dfe 100644 --- a/runtime/dancebox/src/lib.rs +++ b/runtime/dancebox/src/lib.rs @@ -45,6 +45,7 @@ use { frame_support::{ construct_runtime, dispatch::DispatchClass, + genesis_builder_helper::{build_config, create_default_config}, pallet_prelude::DispatchResult, parameter_types, traits::{ @@ -1521,6 +1522,16 @@ impl_runtime_apis! { } } + impl sp_genesis_builder::GenesisBuilder for Runtime { + fn create_default_config() -> Vec { + create_default_config::() + } + + fn build_config(config: Vec) -> sp_genesis_builder::Result { + build_config::(config) + } + } + #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { fn benchmark_metadata( diff --git a/runtime/dancebox/tests/common/xcm/constants.rs b/runtime/dancebox/tests/common/xcm/constants.rs index 8102ee215..2503b4e5e 100644 --- a/runtime/dancebox/tests/common/xcm/constants.rs +++ b/runtime/dancebox/tests/common/xcm/constants.rs @@ -218,11 +218,12 @@ pub mod frontier_template { pub fn genesis() -> sp_core::storage::Storage { let genesis_config = container_chain_template_frontier_runtime::RuntimeGenesisConfig { + system: Default::default(), balances: container_chain_template_frontier_runtime::BalancesConfig { balances: pre_funded_accounts() .iter() .cloned() - .map(|k| (k, 1 << 80)) + .map(|k| (k, 1u128 << 60)) .collect(), }, parachain_info: container_chain_template_frontier_runtime::ParachainInfoConfig { @@ -247,12 +248,14 @@ pub mod frontier_template { ..Default::default() }; + let json = serde_json::to_value(&genesis_config).unwrap(); + ChainSpec::builder( container_chain_template_frontier_runtime::WASM_BINARY .expect("WASM binary was not build, please build it!"), None, ) - .with_genesis_config(serde_json::to_value(&genesis_config).unwrap()) + .with_genesis_config(json) .build() .build_storage() .unwrap() diff --git a/runtime/flashbox/Cargo.toml b/runtime/flashbox/Cargo.toml index 026d062cc..4b971b4b3 100644 --- a/runtime/flashbox/Cargo.toml +++ b/runtime/flashbox/Cargo.toml @@ -64,6 +64,7 @@ sp-consensus-aura = { workspace = true } sp-consensus-slots = { workspace = true } sp-core = { workspace = true } sp-debug-derive = { workspace = true } +sp-genesis-builder = { workspace = true } sp-inherents = { workspace = true } sp-offchain = { workspace = true } sp-runtime = { workspace = true } diff --git a/runtime/flashbox/src/lib.rs b/runtime/flashbox/src/lib.rs index 48f9ec113..169e92227 100644 --- a/runtime/flashbox/src/lib.rs +++ b/runtime/flashbox/src/lib.rs @@ -39,6 +39,7 @@ use { frame_support::{ construct_runtime, dispatch::DispatchClass, + genesis_builder_helper::{build_config, create_default_config}, pallet_prelude::DispatchResult, parameter_types, traits::{ @@ -1320,6 +1321,16 @@ impl_runtime_apis! { } } + impl sp_genesis_builder::GenesisBuilder for Runtime { + fn create_default_config() -> Vec { + create_default_config::() + } + + fn build_config(config: Vec) -> sp_genesis_builder::Result { + build_config::(config) + } + } + #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { fn benchmark_metadata( From 07b1d11f6b9078f60148467dc4e7767d56cb491b Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Fri, 16 Feb 2024 09:50:43 +0100 Subject: [PATCH 09/45] Updated polkadot-sdk commit --- Cargo.lock | 592 ++++++++++++++++++++++++++--------------------------- 1 file changed, 296 insertions(+), 296 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 680d4e5c8..ef0c09be2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -433,7 +433,7 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "asset-test-utils" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "assets-common", "cumulus-pallet-parachain-system", @@ -468,7 +468,7 @@ dependencies = [ [[package]] name = "assets-common" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -788,7 +788,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "hash-db", "log", @@ -1013,7 +1013,7 @@ dependencies = [ [[package]] name = "bp-header-chain" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-runtime", "finality-grandpa", @@ -1030,7 +1030,7 @@ dependencies = [ [[package]] name = "bp-messages" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-header-chain", "bp-runtime", @@ -1045,7 +1045,7 @@ dependencies = [ [[package]] name = "bp-parachains" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-header-chain", "bp-polkadot-core", @@ -1062,7 +1062,7 @@ dependencies = [ [[package]] name = "bp-polkadot-core" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-messages", "bp-runtime", @@ -1080,7 +1080,7 @@ dependencies = [ [[package]] name = "bp-relayers" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-messages", "bp-runtime", @@ -1094,7 +1094,7 @@ dependencies = [ [[package]] name = "bp-runtime" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-system", @@ -1117,7 +1117,7 @@ dependencies = [ [[package]] name = "bp-test-utils" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-header-chain", "bp-parachains", @@ -1137,7 +1137,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "sp-std", ] @@ -1145,7 +1145,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -1156,7 +1156,7 @@ dependencies = [ [[package]] name = "bridge-runtime-common" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-header-chain", "bp-messages", @@ -2284,7 +2284,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "clap", "parity-scale-codec", @@ -2301,7 +2301,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2324,7 +2324,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2366,7 +2366,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2395,7 +2395,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "anyhow", "async-trait", @@ -2410,7 +2410,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2433,7 +2433,7 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2457,7 +2457,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2481,7 +2481,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2517,7 +2517,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -2535,7 +2535,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -2569,7 +2569,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", @@ -2580,7 +2580,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -2594,7 +2594,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2610,7 +2610,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bounded-collections", "bp-xcm-bridge-hub-router", @@ -2635,7 +2635,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2649,7 +2649,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2666,7 +2666,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2681,7 +2681,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "sp-externalities", "sp-runtime-interface", @@ -2691,7 +2691,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cumulus-primitives-core", "futures 0.3.30", @@ -2704,7 +2704,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2724,7 +2724,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2748,7 +2748,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2766,7 +2766,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "async-trait", @@ -2807,7 +2807,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2846,7 +2846,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -3504,7 +3504,7 @@ dependencies = [ [[package]] name = "emulated-integration-tests-common" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "asset-test-utils", "bp-messages", @@ -4280,7 +4280,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", ] @@ -4411,7 +4411,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-support-procedural", @@ -4436,7 +4436,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "Inflector", "array-bytes 6.2.2", @@ -4484,7 +4484,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", @@ -4495,7 +4495,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -4512,7 +4512,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-system", @@ -4542,7 +4542,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "indicatif", @@ -4563,7 +4563,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "aquamarine", "array-bytes 6.2.2", @@ -4604,7 +4604,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "Inflector", "cfg-expr", @@ -4623,7 +4623,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.1.0", @@ -4635,7 +4635,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "proc-macro2", "quote", @@ -4645,7 +4645,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cfg-if", "docify", @@ -4665,7 +4665,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -4680,7 +4680,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "sp-api", @@ -4689,7 +4689,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "parity-scale-codec", @@ -6702,7 +6702,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "log", @@ -6721,7 +6721,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "anyhow", "jsonrpsee", @@ -7496,7 +7496,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -7514,7 +7514,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -7529,7 +7529,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -7547,7 +7547,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -7663,7 +7663,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-system", @@ -7693,7 +7693,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-system", @@ -7707,7 +7707,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -7731,7 +7731,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "aquamarine", "docify", @@ -7753,7 +7753,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -7782,7 +7782,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-system", @@ -7802,7 +7802,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "binary-merkle-tree", @@ -7827,7 +7827,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -7845,7 +7845,7 @@ dependencies = [ [[package]] name = "pallet-bridge-grandpa" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-header-chain", "bp-runtime", @@ -7866,7 +7866,7 @@ dependencies = [ [[package]] name = "pallet-bridge-messages" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-messages", "bp-runtime", @@ -7884,7 +7884,7 @@ dependencies = [ [[package]] name = "pallet-bridge-parachains" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-header-chain", "bp-parachains", @@ -7905,7 +7905,7 @@ dependencies = [ [[package]] name = "pallet-bridge-relayers" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-messages", "bp-relayers", @@ -7925,7 +7925,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitvec", "frame-benchmarking", @@ -7971,7 +7971,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8022,7 +8022,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "3.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8041,7 +8041,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8076,7 +8076,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "assert_matches", "frame-benchmarking", @@ -8117,7 +8117,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8151,7 +8151,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8174,7 +8174,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8188,7 +8188,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8384,7 +8384,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "docify", "frame-benchmarking", @@ -8422,7 +8422,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8461,7 +8461,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "enumflags2", "frame-benchmarking", @@ -8478,7 +8478,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8498,7 +8498,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8591,7 +8591,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8608,7 +8608,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "7.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "environmental", "frame-benchmarking", @@ -8647,7 +8647,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8665,7 +8665,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8681,7 +8681,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8697,7 +8697,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-system", @@ -8716,7 +8716,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8736,7 +8736,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -8747,7 +8747,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-system", @@ -8764,7 +8764,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8812,7 +8812,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8829,7 +8829,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8844,7 +8844,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8862,7 +8862,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -8877,7 +8877,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "assert_matches", "frame-benchmarking", @@ -8952,7 +8952,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "1.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-system", @@ -8967,7 +8967,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "docify", "frame-benchmarking", @@ -9005,7 +9005,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-system", @@ -9027,7 +9027,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -9044,7 +9044,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -9062,7 +9062,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9085,7 +9085,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", @@ -9096,7 +9096,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "log", "sp-arithmetic", @@ -9105,7 +9105,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "sp-api", @@ -9115,7 +9115,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -9132,7 +9132,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "docify", "frame-benchmarking", @@ -9148,7 +9148,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "docify", "frame-benchmarking", @@ -9168,7 +9168,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -9187,7 +9187,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-system", @@ -9203,7 +9203,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -9219,7 +9219,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -9231,7 +9231,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "docify", "frame-benchmarking", @@ -9250,7 +9250,7 @@ dependencies = [ [[package]] name = "pallet-tx-pause" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "docify", "frame-benchmarking", @@ -9268,7 +9268,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -9284,7 +9284,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -9299,7 +9299,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -9314,7 +9314,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -9337,7 +9337,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -9356,7 +9356,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub-router" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bp-xcm-bridge-hub-router", "frame-benchmarking", @@ -9375,7 +9375,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -9412,7 +9412,7 @@ dependencies = [ [[package]] name = "parachains-runtimes-test-utils" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "assets-common", "cumulus-pallet-parachain-system", @@ -9765,7 +9765,7 @@ checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" [[package]] name = "polkadot-approval-distribution" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitvec", "futures 0.3.30", @@ -9785,7 +9785,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "always-assert", "futures 0.3.30", @@ -9801,7 +9801,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "derive_more", "fatality", @@ -9824,7 +9824,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "fatality", @@ -9847,7 +9847,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "1.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cfg-if", "clap", @@ -9875,7 +9875,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitvec", "fatality", @@ -9897,7 +9897,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -9909,7 +9909,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "derive_more", "fatality", @@ -9934,7 +9934,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -9948,7 +9948,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "futures-timer", @@ -9969,7 +9969,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "always-assert", "async-trait", @@ -9992,7 +9992,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "parity-scale-codec", @@ -10010,7 +10010,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitvec", "derive_more", @@ -10043,7 +10043,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitvec", "futures 0.3.30", @@ -10065,7 +10065,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitvec", "fatality", @@ -10084,7 +10084,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "polkadot-node-subsystem", @@ -10099,7 +10099,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "futures 0.3.30", @@ -10120,7 +10120,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", @@ -10134,7 +10134,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "futures-timer", @@ -10151,7 +10151,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "fatality", "futures 0.3.30", @@ -10170,7 +10170,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "futures 0.3.30", @@ -10187,7 +10187,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitvec", "fatality", @@ -10204,7 +10204,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitvec", "fatality", @@ -10221,7 +10221,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "always-assert", "array-bytes 6.2.2", @@ -10254,7 +10254,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "polkadot-node-primitives", @@ -10270,7 +10270,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cfg-if", "cpu-time", @@ -10295,7 +10295,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", @@ -10310,7 +10310,7 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "lazy_static", "log", @@ -10328,7 +10328,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bs58 0.5.0", "futures 0.3.30", @@ -10347,7 +10347,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -10371,7 +10371,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitvec", "bounded-vec", @@ -10394,7 +10394,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -10404,7 +10404,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "bitvec", @@ -10432,7 +10432,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "derive_more", @@ -10467,7 +10467,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "futures 0.3.30", @@ -10489,7 +10489,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bounded-collections", "derive_more", @@ -10506,7 +10506,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitvec", "hex-literal 0.4.1", @@ -10532,7 +10532,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -10565,7 +10565,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitvec", "frame-benchmarking", @@ -10617,7 +10617,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bs58 0.5.0", "frame-benchmarking", @@ -10630,7 +10630,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -10679,7 +10679,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "frame-benchmarking", @@ -10796,7 +10796,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -10819,7 +10819,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -11593,7 +11593,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "binary-merkle-tree", "frame-benchmarking", @@ -11689,7 +11689,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "polkadot-primitives", @@ -11925,7 +11925,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "log", "sp-core", @@ -11936,7 +11936,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "futures 0.3.30", @@ -11965,7 +11965,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "futures-timer", @@ -11987,7 +11987,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "sp-api", @@ -12002,7 +12002,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "docify", @@ -12027,7 +12027,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", @@ -12038,7 +12038,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "bip39", @@ -12079,7 +12079,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "fnv", "futures 0.3.30", @@ -12106,7 +12106,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "hash-db", "kvdb", @@ -12132,7 +12132,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "futures 0.3.30", @@ -12157,7 +12157,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "futures 0.3.30", @@ -12186,7 +12186,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "fork-tree", @@ -12221,7 +12221,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -12243,7 +12243,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "async-channel 1.9.0", @@ -12278,7 +12278,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -12297,7 +12297,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "fork-tree", "parity-scale-codec", @@ -12310,7 +12310,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "ahash 0.8.7", "array-bytes 6.2.2", @@ -12352,7 +12352,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "finality-grandpa", "futures 0.3.30", @@ -12372,7 +12372,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "assert_matches", "async-trait", @@ -12407,7 +12407,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "futures 0.3.30", @@ -12430,7 +12430,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -12452,7 +12452,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -12464,7 +12464,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "anyhow", "cfg-if", @@ -12482,7 +12482,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "ansi_term", "futures 0.3.30", @@ -12499,7 +12499,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "parking_lot 0.12.1", @@ -12513,7 +12513,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.1.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 4.2.0", "arrayvec 0.7.4", @@ -12542,7 +12542,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "async-channel 1.9.0", @@ -12585,7 +12585,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-channel 1.9.0", "cid", @@ -12605,7 +12605,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -12622,7 +12622,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "ahash 0.8.7", "futures 0.3.30", @@ -12641,7 +12641,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "async-channel 1.9.0", @@ -12662,7 +12662,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "async-channel 1.9.0", @@ -12698,7 +12698,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "futures 0.3.30", @@ -12729,7 +12729,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "futures 0.3.30", @@ -12748,7 +12748,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "bytes", @@ -12782,7 +12782,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -12791,7 +12791,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -12823,7 +12823,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -12843,7 +12843,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "http", "jsonrpsee", @@ -12858,7 +12858,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "futures 0.3.30", @@ -12887,7 +12887,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "directories", @@ -12950,7 +12950,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "log", "parity-scale-codec", @@ -12961,7 +12961,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "clap", "fs4", @@ -12974,7 +12974,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -12993,7 +12993,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "derive_more", "futures 0.3.30", @@ -13013,7 +13013,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "chrono", "futures 0.3.30", @@ -13032,7 +13032,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "ansi_term", "chrono", @@ -13062,7 +13062,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", @@ -13073,7 +13073,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "futures 0.3.30", @@ -13099,7 +13099,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "futures 0.3.30", @@ -13115,7 +13115,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-channel 1.9.0", "futures 0.3.30", @@ -13570,7 +13570,7 @@ dependencies = [ [[package]] name = "slot-range-helper" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "enumn", "parity-scale-codec", @@ -13764,7 +13764,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "hash-db", "log", @@ -13785,7 +13785,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "Inflector", "blake2 0.10.6", @@ -13799,7 +13799,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "23.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -13812,7 +13812,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "16.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "integer-sqrt", "num-traits", @@ -13826,7 +13826,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -13839,7 +13839,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "sp-api", "sp-inherents", @@ -13850,7 +13850,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "log", @@ -13868,7 +13868,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "futures 0.3.30", @@ -13883,7 +13883,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "parity-scale-codec", @@ -13900,7 +13900,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "parity-scale-codec", @@ -13919,7 +13919,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "lazy_static", "parity-scale-codec", @@ -13938,7 +13938,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "finality-grandpa", "log", @@ -13956,7 +13956,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -13968,7 +13968,7 @@ dependencies = [ [[package]] name = "sp-core" version = "21.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "bip39", @@ -14013,7 +14013,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "9.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "blake2b_simd", "byteorder", @@ -14026,7 +14026,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "9.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "quote", "sp-core-hashing", @@ -14036,7 +14036,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -14045,7 +14045,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "8.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "proc-macro2", "quote", @@ -14055,7 +14055,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.19.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "environmental", "parity-scale-codec", @@ -14066,7 +14066,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "serde_json", "sp-api", @@ -14077,7 +14077,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -14091,7 +14091,7 @@ dependencies = [ [[package]] name = "sp-io" version = "23.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bytes", "ed25519-dalek", @@ -14115,7 +14115,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "24.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "sp-core", "sp-runtime", @@ -14125,7 +14125,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.27.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -14137,7 +14137,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "thiserror", "zstd 0.12.4", @@ -14146,7 +14146,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -14157,7 +14157,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.1.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -14169,7 +14169,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -14187,7 +14187,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -14201,7 +14201,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "sp-api", "sp-core", @@ -14211,7 +14211,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "8.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "backtrace", "lazy_static", @@ -14221,7 +14221,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "rustc-hash", "serde", @@ -14231,7 +14231,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "24.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "docify", "either", @@ -14255,7 +14255,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "17.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -14273,7 +14273,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "11.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "Inflector", "expander 2.0.0", @@ -14286,7 +14286,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -14301,7 +14301,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -14315,7 +14315,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.28.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "hash-db", "log", @@ -14336,7 +14336,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "aes-gcm", "curve25519-dalek 4.1.1", @@ -14360,12 +14360,12 @@ dependencies = [ [[package]] name = "sp-std" version = "8.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" [[package]] name = "sp-storage" version = "13.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "impl-serde", "parity-scale-codec", @@ -14378,7 +14378,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "parity-scale-codec", @@ -14391,7 +14391,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "10.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "sp-std", @@ -14403,7 +14403,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "sp-api", "sp-runtime", @@ -14412,7 +14412,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "parity-scale-codec", @@ -14427,7 +14427,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "22.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "ahash 0.8.7", "hash-db", @@ -14451,7 +14451,7 @@ dependencies = [ [[package]] name = "sp-version" version = "22.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "impl-serde", "parity-scale-codec", @@ -14468,7 +14468,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "8.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -14479,7 +14479,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "14.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -14492,7 +14492,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "20.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -14687,7 +14687,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-parachain-info" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -14701,7 +14701,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "bounded-collections", @@ -14719,7 +14719,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "frame-system", @@ -14741,7 +14741,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "environmental", "frame-benchmarking", @@ -14869,12 +14869,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.30", @@ -14893,7 +14893,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "hyper", "log", @@ -14905,7 +14905,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "jsonrpsee", @@ -14918,7 +14918,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -14935,7 +14935,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "async-trait", @@ -14961,7 +14961,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "array-bytes 6.2.2", "frame-executive", @@ -15002,7 +15002,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "futures 0.3.30", "sc-block-builder", @@ -15020,7 +15020,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "ansi_term", "build-helper", @@ -15779,7 +15779,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "coarsetime", "polkadot-primitives", @@ -15790,7 +15790,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "expander 2.0.0", "proc-macro-crate 3.1.0", @@ -15920,7 +15920,7 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "async-trait", "clap", @@ -16595,7 +16595,7 @@ checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" [[package]] name = "westend-runtime" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "binary-merkle-tree", "bitvec", @@ -16701,7 +16701,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "frame-support", "polkadot-primitives", @@ -17071,7 +17071,7 @@ dependencies = [ [[package]] name = "xcm-emulator" version = "0.1.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-pallet-xcmp-queue", @@ -17112,7 +17112,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "1.0.0" -source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#db7b07fc945b446557f2200f07a5d461c95b68bb" +source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "Inflector", "proc-macro2", From e32171e39cf40259a05ce15acdf22669ebcf54f0 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Fri, 16 Feb 2024 09:51:41 +0100 Subject: [PATCH 10/45] Missing deps --- Cargo.lock | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index ef0c09be2..bd74cdc62 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17092,6 +17092,8 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-parachains", "sp-arithmetic", + "sp-consensus-aura", + "sp-consensus-slots", "sp-core", "sp-io", "sp-runtime", From 766140f275fbb95fcd62341b57115b92717bfcaa Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Fri, 16 Feb 2024 10:30:59 +0100 Subject: [PATCH 11/45] Unit tests ok! --- .../tests/common/xcm/token_derivative_reception_relay.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs b/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs index 0804ec13a..ba72c5bac 100644 --- a/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs +++ b/runtime/dancebox/tests/common/xcm/token_derivative_reception_relay.rs @@ -187,7 +187,7 @@ fn cannot_receive_tokens_from_the_relay_if_no_rate_is_assigned() { }); // We should have received the tokens Dancebox::execute_with(|| { - Dancebox::assert_dmp_queue_error(); + Dancebox::assert_dmp_queue_incomplete(None); type ForeignAssets = ::ForeignAssets; // Assert receiver should not have received funds @@ -242,7 +242,7 @@ fn cannot_receive_tokens_from_the_relay_if_no_token_is_registered() { }); // We should have received the tokens Dancebox::execute_with(|| { - Dancebox::assert_dmp_queue_error(); + Dancebox::assert_dmp_queue_incomplete(None); type ForeignAssets = ::ForeignAssets; // Assert receiver should not have received funds From 8b1003f9be8121a39917a0ff5aedb5f52f1167fc Mon Sep 17 00:00:00 2001 From: girazoki Date: Fri, 16 Feb 2024 11:15:16 +0100 Subject: [PATCH 12/45] bring serde regardless of std feature --- primitives/container-chain-genesis-data/src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/primitives/container-chain-genesis-data/src/lib.rs b/primitives/container-chain-genesis-data/src/lib.rs index 73dfd65c9..8680b4fc1 100644 --- a/primitives/container-chain-genesis-data/src/lib.rs +++ b/primitives/container-chain-genesis-data/src/lib.rs @@ -72,12 +72,12 @@ pub mod json; pub struct ContainerChainGenesisData> { pub storage: Vec, // TODO: make all these Vec bounded - #[cfg_attr(feature = "std", serde(with = "sp_core::bytes"))] + #[serde(with = "sp_core::bytes")] pub name: Vec, - #[cfg_attr(feature = "std", serde(with = "sp_core::bytes"))] + #[serde(with = "sp_core::bytes")] pub id: Vec, pub fork_id: Option>, - #[cfg_attr(feature = "std", serde(with = "sp_core::bytes"))] + #[serde(with = "sp_core::bytes")] pub extensions: Vec, pub properties: Properties, } From fea9133bdd4e4b44b7439487c2d31256afe1f330 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Fri, 16 Feb 2024 11:31:46 +0100 Subject: [PATCH 13/45] api-augment --- .../dancebox/interfaces/augment-api-consts.ts | 59 +- .../dancebox/interfaces/augment-api-errors.ts | 98 +- .../dancebox/interfaces/augment-api-events.ts | 208 +-- .../dancebox/interfaces/augment-api-query.ts | 174 ++- .../src/dancebox/interfaces/augment-api-tx.ts | 191 ++- .../src/dancebox/interfaces/lookup.ts | 892 +++++++------ .../src/dancebox/interfaces/registry.ts | 52 +- .../src/dancebox/interfaces/types-lookup.ts | 1117 ++++++++++------- .../flashbox/interfaces/augment-api-consts.ts | 21 +- .../flashbox/interfaces/augment-api-errors.ts | 26 +- .../flashbox/interfaces/augment-api-events.ts | 52 +- .../flashbox/interfaces/augment-api-query.ts | 58 +- .../src/flashbox/interfaces/augment-api-tx.ts | 108 +- .../src/flashbox/interfaces/lookup.ts | 413 +++--- .../src/flashbox/interfaces/registry.ts | 20 +- .../src/flashbox/interfaces/types-lookup.ts | 509 +++++--- 16 files changed, 2451 insertions(+), 1547 deletions(-) diff --git a/typescript-api/src/dancebox/interfaces/augment-api-consts.ts b/typescript-api/src/dancebox/interfaces/augment-api-consts.ts index 748e4c31c..ba656d38b 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-consts.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-consts.ts @@ -6,13 +6,14 @@ import "@polkadot/api-base/types/consts"; import type { ApiTypes, AugmentedConst } from "@polkadot/api-base/types"; -import type { u128, u16, u32, u64, u8 } from "@polkadot/types-codec"; +import type { Option, u128, u16, u32, u64, u8 } from "@polkadot/types-codec"; import type { Codec } from "@polkadot/types-codec/types"; import type { FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, + SpWeightsWeightV2Weight, } from "@polkadot/types/lookup"; export type __AugmentedConst = AugmentedConst; @@ -64,19 +65,20 @@ declare module "@polkadot/api-base/types/consts" { [key: string]: Codec; }; identity: { - /** The amount held on deposit for a registered identity */ + /** The amount held on deposit for a registered identity. */ basicDeposit: u128 & AugmentedConst; - /** The amount held on deposit per additional field for a registered identity. */ - fieldDeposit: u128 & AugmentedConst; - /** - * Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O required to access an - * identity, but can be pretty high. - */ - maxAdditionalFields: u32 & AugmentedConst; + /** The amount held on deposit per encoded byte for a registered identity. */ + byteDeposit: u128 & AugmentedConst; /** Maxmimum number of registrars allowed in the system. Needed to bound the complexity of, e.g., updating judgements. */ maxRegistrars: u32 & AugmentedConst; /** The maximum number of sub-accounts allowed per identified account. */ maxSubAccounts: u32 & AugmentedConst; + /** The maximum length of a suffix. */ + maxSuffixLength: u32 & AugmentedConst; + /** The maximum length of a username, including its suffix and any system-added delimiters. */ + maxUsernameLength: u32 & AugmentedConst; + /** The number of blocks within which a username grant must be accepted. */ + pendingUsernameExpiration: u32 & AugmentedConst; /** * The amount held on deposit for a registered subaccount. This should account for the fact that one storage * item's value will increase by the size of an account ID, and there will be another trie item whose value is the @@ -86,6 +88,30 @@ declare module "@polkadot/api-base/types/consts" { /** Generic const */ [key: string]: Codec; }; + messageQueue: { + /** + * The size of the page; this implies the maximum message size which can be sent. + * + * A good value depends on the expected message sizes, their weights, the weight that is available for processing + * them and the maximal needed message size. The maximal message size is slightly lower than this as defined by + * [`MaxMessageLenOf`]. + */ + heapSize: u32 & AugmentedConst; + /** + * The maximum number of stale pages (i.e. of overweight messages) allowed before culling can happen. Once there + * are more stale pages than this, then historical pages may be dropped, even if they contain unprocessed + * overweight messages. + */ + maxStale: u32 & AugmentedConst; + /** + * The amount of weight (if any) which should be provided to the message queue for servicing enqueued items. + * + * This may be legitimately `None` in the case that you will call `ServiceQueues::service_queues` manually. + */ + serviceWeight: Option & AugmentedConst; + /** Generic const */ + [key: string]: Codec; + }; proxy: { /** * The base amount of currency needed to reserve for creating an announcement. @@ -175,9 +201,9 @@ declare module "@polkadot/api-base/types/consts" { }; transactionPayment: { /** - * A fee mulitplier for `Operational` extrinsics to compute "virtual tip" to boost their `priority` + * A fee multiplier for `Operational` extrinsics to compute "virtual tip" to boost their `priority` * - * This value is multipled by the `final_fee` to obtain a "virtual tip" that is later added to a tip component in + * This value is multiplied by the `final_fee` to obtain a "virtual tip" that is later added to a tip component in * regular `priority` calculations. It means that a `Normal` transaction can front-run a similarly-sized * `Operational` extrinsic (with no tip), by including a tip value greater than the virtual tip. * @@ -214,5 +240,16 @@ declare module "@polkadot/api-base/types/consts" { /** Generic const */ [key: string]: Codec; }; + xcmpQueue: { + /** + * The maximum number of inbound XCMP channels that can be suspended simultaneously. + * + * Any further channel suspensions will fail and messages may get dropped without further notice. Choosing a high + * value (1000) is okay; the trade-off that is described in [`InboundXcmpSuspended`] still applies at that scale. + */ + maxInboundSuspended: u32 & AugmentedConst; + /** Generic const */ + [key: string]: Codec; + }; } // AugmentedConsts } // declare module diff --git a/typescript-api/src/dancebox/interfaces/augment-api-errors.ts b/typescript-api/src/dancebox/interfaces/augment-api-errors.ts index fb8199d96..a2dfc2afa 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-errors.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-errors.ts @@ -71,24 +71,12 @@ declare module "@polkadot/api-base/types/errors" { /** Generic error */ [key: string]: AugmentedError; }; - cumulusXcm: { - /** Generic error */ - [key: string]: AugmentedError; - }; dataPreservers: { /** This container chain does not have any boot nodes */ NoBootNodes: AugmentedError; /** Generic error */ [key: string]: AugmentedError; }; - dmpQueue: { - /** The amount of weight given is possibly not enough for executing the message. */ - OverLimit: AugmentedError; - /** The message index given is unknown. */ - Unknown: AugmentedError; - /** Generic error */ - [key: string]: AugmentedError; - }; foreignAssets: { /** The asset-account already exists. */ AlreadyExists: AugmentedError; @@ -157,16 +145,26 @@ declare module "@polkadot/api-base/types/errors" { InvalidIndex: AugmentedError; /** Invalid judgement. */ InvalidJudgement: AugmentedError; + /** The signature on a username was not valid. */ + InvalidSignature: AugmentedError; + /** The provided suffix is too long. */ + InvalidSuffix: AugmentedError; /** The target is invalid. */ InvalidTarget: AugmentedError; + /** The username does not meet the requirements. */ + InvalidUsername: AugmentedError; /** The provided judgement was for a different identity. */ JudgementForDifferentIdentity: AugmentedError; /** Judgement given. */ JudgementGiven: AugmentedError; /** Error that occurs when there is an issue paying for judgement. */ JudgementPaymentFailed: AugmentedError; + /** The authority cannot allocate any more usernames. */ + NoAllocation: AugmentedError; /** No identity found. */ NoIdentity: AugmentedError; + /** The username cannot be forcefully removed because it can still be accepted. */ + NotExpired: AugmentedError; /** Account isn't found. */ NotFound: AugmentedError; /** Account isn't named. */ @@ -175,14 +173,20 @@ declare module "@polkadot/api-base/types/errors" { NotOwned: AugmentedError; /** Sender is not a sub-account. */ NotSub: AugmentedError; + /** The sender does not have permission to issue a username. */ + NotUsernameAuthority: AugmentedError; + /** The requested username does not exist. */ + NoUsername: AugmentedError; + /** Setting this username requires a signature, but none was provided. */ + RequiresSignature: AugmentedError; /** Sticky judgement. */ StickyJudgement: AugmentedError; - /** Too many additional fields. */ - TooManyFields: AugmentedError; /** Maximum amount of registrars reached. Cannot add any more. */ TooManyRegistrars: AugmentedError; /** Too many subs-accounts. */ TooManySubAccounts: AugmentedError; + /** The username is already taken. */ + UsernameTaken: AugmentedError; /** Generic error */ [key: string]: AugmentedError; }; @@ -204,6 +208,36 @@ declare module "@polkadot/api-base/types/errors" { /** Generic error */ [key: string]: AugmentedError; }; + messageQueue: { + /** The message was already processed and cannot be processed again. */ + AlreadyProcessed: AugmentedError; + /** There is temporarily not enough weight to continue servicing messages. */ + InsufficientWeight: AugmentedError; + /** The referenced message could not be found. */ + NoMessage: AugmentedError; + /** Page to be reaped does not exist. */ + NoPage: AugmentedError; + /** Page is not reapable because it has items remaining to be processed and is not old enough. */ + NotReapable: AugmentedError; + /** The message is queued for future execution. */ + Queued: AugmentedError; + /** + * The queue is paused and no message can be executed from it. + * + * This can change at any time and may resolve in the future by re-trying. + */ + QueuePaused: AugmentedError; + /** Another call is in progress and needs to finish before this call can happen. */ + RecursiveDisallowed: AugmentedError; + /** + * This message is temporarily unprocessable. + * + * Such errors are expected, but not guaranteed, to resolve themselves eventually through retrying. + */ + TemporarilyUnprocessable: AugmentedError; + /** Generic error */ + [key: string]: AugmentedError; + }; migrations: { /** Preimage already exists in the new storage. */ PreimageAlreadyExists: AugmentedError; @@ -245,6 +279,8 @@ declare module "@polkadot/api-base/types/errors" { BadLocation: AugmentedError; /** The version of the `Versioned` value used is not able to be interpreted. */ BadVersion: AugmentedError; + /** Could not check-out the assets for teleportation to the destination chain. */ + CannotCheckOutTeleport: AugmentedError; /** Could not re-anchor the assets to declare the fees for the destination chain. */ CannotReanchor: AugmentedError; /** The destination `MultiLocation` provided cannot be inverted. */ @@ -257,10 +293,16 @@ declare module "@polkadot/api-base/types/errors" { Filtered: AugmentedError; /** The unlock operation cannot succeed because there are still consumers of the lock. */ InUse: AugmentedError; - /** Invalid asset for the operation. */ - InvalidAsset: AugmentedError; + /** Invalid non-concrete asset. */ + InvalidAssetNotConcrete: AugmentedError; + /** Invalid asset, reserve chain could not be determined for it. */ + InvalidAssetUnknownReserve: AugmentedError; + /** Invalid asset, do not support remote asset reserves with different fees reserves. */ + InvalidAssetUnsupportedReserve: AugmentedError; /** Origin is invalid for sending. */ InvalidOrigin: AugmentedError; + /** Local XCM execution incomplete. */ + LocalExecutionIncomplete: AugmentedError; /** A remote lock with the corresponding data could not be found. */ LockNotFound: AugmentedError; /** The owner does not own (all) of the asset that they wish to do the operation on. */ @@ -276,6 +318,8 @@ declare module "@polkadot/api-base/types/errors" { TooManyAssets: AugmentedError; /** The asset owner has too many locks on the asset. */ TooManyLocks: AugmentedError; + /** Too many assets with different reserve locations have been attempted for transfer. */ + TooManyReserves: AugmentedError; /** The desired destination was unreachable, generally because there is a no way of routing to it. */ Unreachable: AugmentedError; /** The message's weight could not be determined. */ @@ -365,7 +409,7 @@ declare module "@polkadot/api-base/types/errors" { [key: string]: AugmentedError; }; sudo: { - /** Sender must be the Sudo account */ + /** Sender must be the Sudo account. */ RequireSudo: AugmentedError; /** Generic error */ [key: string]: AugmentedError; @@ -385,8 +429,12 @@ declare module "@polkadot/api-base/types/errors" { NonDefaultComposite: AugmentedError; /** There is a non-zero reference count preventing the account from being purged. */ NonZeroRefCount: AugmentedError; + /** No upgrade authorized. */ + NothingAuthorized: AugmentedError; /** The specification version is not allowed to decrease between the current runtime and the new runtime. */ SpecVersionNeedsToIncrease: AugmentedError; + /** The submitted code is not authorized. */ + Unauthorized: AugmentedError; /** Generic error */ [key: string]: AugmentedError; }; @@ -408,16 +456,12 @@ declare module "@polkadot/api-base/types/errors" { [key: string]: AugmentedError; }; xcmpQueue: { - /** Bad overweight index. */ - BadOverweightIndex: AugmentedError; - /** Bad XCM data. */ - BadXcm: AugmentedError; - /** Bad XCM origin. */ - BadXcmOrigin: AugmentedError; - /** Failed to send XCM message. */ - FailedToSend: AugmentedError; - /** Provided weight is possibly not enough to execute the message. */ - WeightOverLimit: AugmentedError; + /** The execution is already resumed. */ + AlreadyResumed: AugmentedError; + /** The execution is already suspended. */ + AlreadySuspended: AugmentedError; + /** Setting the queue config failed since one of its values was invalid. */ + BadQueueConfig: AugmentedError; /** Generic error */ [key: string]: AugmentedError; }; diff --git a/typescript-api/src/dancebox/interfaces/augment-api-events.ts b/typescript-api/src/dancebox/interfaces/augment-api-events.ts index 50b0e88ed..4289858e8 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-events.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-events.ts @@ -10,8 +10,10 @@ import type { Bytes, Null, Option, Result, U8aFixed, Vec, bool, u128, u16, u32, import type { ITuple } from "@polkadot/types-codec/types"; import type { AccountId32, H256 } from "@polkadot/types/interfaces/runtime"; import type { + CumulusPrimitivesCoreAggregateMessageOrigin, DanceboxRuntimeProxyType, FrameSupportDispatchDispatchInfo, + FrameSupportMessagesProcessMessageError, FrameSupportTokensMiscBalanceStatus, PalletPooledStakingTargetPool, SpRuntimeDispatchError, @@ -154,56 +156,36 @@ declare module "@polkadot/api-base/types/events" { [key: string]: AugmentedEvent; }; dmpQueue: { - /** Downward message executed with the given outcome. */ - ExecutedDownward: AugmentedEvent< - ApiType, - [messageHash: U8aFixed, messageId: U8aFixed, outcome: XcmV3TraitsOutcome], - { messageHash: U8aFixed; messageId: U8aFixed; outcome: XcmV3TraitsOutcome } - >; - /** Downward message is invalid XCM. */ - InvalidFormat: AugmentedEvent; - /** The maximum number of downward messages was reached. */ - MaxMessagesExhausted: AugmentedEvent; - /** Downward message is overweight and was placed in the overweight queue. */ - OverweightEnqueued: AugmentedEvent< - ApiType, - [ - messageHash: U8aFixed, - messageId: U8aFixed, - overweightIndex: u64, - requiredWeight: SpWeightsWeightV2Weight - ], - { - messageHash: U8aFixed; - messageId: U8aFixed; - overweightIndex: u64; - requiredWeight: SpWeightsWeightV2Weight; - } - >; - /** Downward message from the overweight queue was executed. */ - OverweightServiced: AugmentedEvent< - ApiType, - [overweightIndex: u64, weightUsed: SpWeightsWeightV2Weight], - { overweightIndex: u64; weightUsed: SpWeightsWeightV2Weight } - >; - /** Downward message is unsupported version of XCM. */ - UnsupportedVersion: AugmentedEvent; - /** The weight limit for handling downward messages was reached. */ - WeightExhausted: AugmentedEvent< - ApiType, - [ - messageHash: U8aFixed, - messageId: U8aFixed, - remainingWeight: SpWeightsWeightV2Weight, - requiredWeight: SpWeightsWeightV2Weight - ], - { - messageHash: U8aFixed; - messageId: U8aFixed; - remainingWeight: SpWeightsWeightV2Weight; - requiredWeight: SpWeightsWeightV2Weight; - } - >; + /** Some debris was cleaned up. */ + CleanedSome: AugmentedEvent; + /** The cleanup of remaining pallet storage completed. */ + Completed: AugmentedEvent; + /** The export of pages completed. */ + CompletedExport: AugmentedEvent; + /** The export of overweight messages completed. */ + CompletedOverweightExport: AugmentedEvent; + /** The export of a page completed. */ + Exported: AugmentedEvent; + /** The export of an overweight message completed. */ + ExportedOverweight: AugmentedEvent; + /** + * The export of a page failed. + * + * This should never be emitted. + */ + ExportFailed: AugmentedEvent; + /** + * The export of an overweight message failed. + * + * This should never be emitted. + */ + ExportOverweightFailed: AugmentedEvent; + /** The cleanup of remaining pallet storage started. */ + StartedCleanup: AugmentedEvent; + /** The export of pages started. */ + StartedExport: AugmentedEvent; + /** The export of overweight messages started. */ + StartedOverweightExport: AugmentedEvent; /** Generic event */ [key: string]: AugmentedEvent; }; @@ -348,6 +330,16 @@ declare module "@polkadot/api-base/types/events" { [key: string]: AugmentedEvent; }; identity: { + /** A username authority was added. */ + AuthorityAdded: AugmentedEvent; + /** A username authority was removed. */ + AuthorityRemoved: AugmentedEvent; + /** A dangling username (as in, a username corresponding to an account that has removed its identity) has been removed. */ + DanglingUsernameRemoved: AugmentedEvent< + ApiType, + [who: AccountId32, username: Bytes], + { who: AccountId32; username: Bytes } + >; /** A name was cleared, and the given balance returned. */ IdentityCleared: AugmentedEvent< ApiType, @@ -380,6 +372,14 @@ declare module "@polkadot/api-base/types/events" { [who: AccountId32, registrarIndex: u32], { who: AccountId32; registrarIndex: u32 } >; + /** A queued username passed its expiration without being claimed and was removed. */ + PreapprovalExpired: AugmentedEvent; + /** A username was set as a primary and can be looked up from `who`. */ + PrimaryUsernameSet: AugmentedEvent< + ApiType, + [who: AccountId32, username: Bytes], + { who: AccountId32; username: Bytes } + >; /** A registrar was added. */ RegistrarAdded: AugmentedEvent; /** A sub-identity was added to an identity and the deposit paid. */ @@ -400,6 +400,18 @@ declare module "@polkadot/api-base/types/events" { [sub: AccountId32, main: AccountId32, deposit: u128], { sub: AccountId32; main: AccountId32; deposit: u128 } >; + /** A username was queued, but `who` must accept it prior to `expiration`. */ + UsernameQueued: AugmentedEvent< + ApiType, + [who: AccountId32, username: Bytes, expiration: u32], + { who: AccountId32; username: Bytes; expiration: u32 } + >; + /** A username was set for `who`. */ + UsernameSet: AugmentedEvent< + ApiType, + [who: AccountId32, username: Bytes], + { who: AccountId32; username: Bytes } + >; /** Generic event */ [key: string]: AugmentedEvent; }; @@ -458,6 +470,52 @@ declare module "@polkadot/api-base/types/events" { /** Generic event */ [key: string]: AugmentedEvent; }; + messageQueue: { + /** Message placed in overweight queue. */ + OverweightEnqueued: AugmentedEvent< + ApiType, + [id: U8aFixed, origin: CumulusPrimitivesCoreAggregateMessageOrigin, pageIndex: u32, messageIndex: u32], + { id: U8aFixed; origin: CumulusPrimitivesCoreAggregateMessageOrigin; pageIndex: u32; messageIndex: u32 } + >; + /** This page was reaped. */ + PageReaped: AugmentedEvent< + ApiType, + [origin: CumulusPrimitivesCoreAggregateMessageOrigin, index: u32], + { origin: CumulusPrimitivesCoreAggregateMessageOrigin; index: u32 } + >; + /** Message is processed. */ + Processed: AugmentedEvent< + ApiType, + [ + id: H256, + origin: CumulusPrimitivesCoreAggregateMessageOrigin, + weightUsed: SpWeightsWeightV2Weight, + success: bool + ], + { + id: H256; + origin: CumulusPrimitivesCoreAggregateMessageOrigin; + weightUsed: SpWeightsWeightV2Weight; + success: bool; + } + >; + /** Message discarded due to an error in the `MessageProcessor` (usually a format error). */ + ProcessingFailed: AugmentedEvent< + ApiType, + [ + id: H256, + origin: CumulusPrimitivesCoreAggregateMessageOrigin, + error: FrameSupportMessagesProcessMessageError + ], + { + id: H256; + origin: CumulusPrimitivesCoreAggregateMessageOrigin; + error: FrameSupportMessagesProcessMessageError; + } + >; + /** Generic event */ + [key: string]: AugmentedEvent; + }; migrations: { /** XCM execution resume failed with inner error */ FailedToResumeIdleXcmExecution: AugmentedEvent< @@ -499,8 +557,6 @@ declare module "@polkadot/api-base/types/events" { >; /** Some downward messages have been received and will be processed. */ DownwardMessagesReceived: AugmentedEvent; - /** An upgrade has been authorized. */ - UpgradeAuthorized: AugmentedEvent; /** An upward message was sent to the relay chain. */ UpwardMessageSent: AugmentedEvent< ApiType, @@ -929,6 +985,12 @@ declare module "@polkadot/api-base/types/events" { /** Generic event */ [key: string]: AugmentedEvent; }; + rootTesting: { + /** Event dispatched when the trigger_defensive extrinsic is called. */ + DefensiveTestCall: AugmentedEvent; + /** Generic event */ + [key: string]: AugmentedEvent; + }; servicesPayment: { CreditBurned: AugmentedEvent< ApiType, @@ -952,7 +1014,13 @@ declare module "@polkadot/api-base/types/events" { }; sudo: { /** The sudo key has been updated. */ - KeyChanged: AugmentedEvent], { oldSudoer: Option }>; + KeyChanged: AugmentedEvent< + ApiType, + [old: Option, new_: AccountId32], + { old: Option; new_: AccountId32 } + >; + /** The key was permanently removed. */ + KeyRemoved: AugmentedEvent; /** A sudo call just took place. */ Sudid: AugmentedEvent< ApiType, @@ -989,6 +1057,12 @@ declare module "@polkadot/api-base/types/events" { NewAccount: AugmentedEvent; /** On on-chain remark happened. */ Remarked: AugmentedEvent; + /** An upgrade was authorized. */ + UpgradeAuthorized: AugmentedEvent< + ApiType, + [codeHash: H256, checkVersion: bool], + { codeHash: H256; checkVersion: bool } + >; /** Generic event */ [key: string]: AugmentedEvent; }; @@ -1043,34 +1117,6 @@ declare module "@polkadot/api-base/types/events" { [key: string]: AugmentedEvent; }; xcmpQueue: { - /** Bad XCM format used. */ - BadFormat: AugmentedEvent; - /** Bad XCM version used. */ - BadVersion: AugmentedEvent; - /** Some XCM failed. */ - Fail: AugmentedEvent< - ApiType, - [messageHash: U8aFixed, messageId: U8aFixed, error: XcmV3TraitsError, weight: SpWeightsWeightV2Weight], - { messageHash: U8aFixed; messageId: U8aFixed; error: XcmV3TraitsError; weight: SpWeightsWeightV2Weight } - >; - /** An XCM exceeded the individual message weight budget. */ - OverweightEnqueued: AugmentedEvent< - ApiType, - [sender: u32, sentAt: u32, index: u64, required: SpWeightsWeightV2Weight], - { sender: u32; sentAt: u32; index: u64; required: SpWeightsWeightV2Weight } - >; - /** An XCM from the overweight queue was executed with the given actual weight used. */ - OverweightServiced: AugmentedEvent< - ApiType, - [index: u64, used: SpWeightsWeightV2Weight], - { index: u64; used: SpWeightsWeightV2Weight } - >; - /** Some XCM was executed ok. */ - Success: AugmentedEvent< - ApiType, - [messageHash: U8aFixed, messageId: U8aFixed, weight: SpWeightsWeightV2Weight], - { messageHash: U8aFixed; messageId: U8aFixed; weight: SpWeightsWeightV2Weight } - >; /** An HRMP message was sent to a sibling parachain. */ XcmpMessageSent: AugmentedEvent; /** Generic event */ diff --git a/typescript-api/src/dancebox/interfaces/augment-api-query.ts b/typescript-api/src/dancebox/interfaces/augment-api-query.ts index 190744dbb..b0d989f22 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-query.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-query.ts @@ -9,6 +9,7 @@ import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from "@polkadot/ import type { Data } from "@polkadot/types"; import type { BTreeMap, + BTreeSet, Bytes, Null, Option, @@ -24,21 +25,20 @@ import type { import type { AnyNumber, ITuple } from "@polkadot/types-codec/types"; import type { AccountId32, H256 } from "@polkadot/types/interfaces/runtime"; import type { - CumulusPalletDmpQueueConfigData, - CumulusPalletDmpQueuePageIndexData, - CumulusPalletParachainSystemCodeUpgradeAuthorization, + CumulusPalletDmpQueueMigrationState, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemUnincludedSegmentAncestor, CumulusPalletParachainSystemUnincludedSegmentSegmentTracker, - CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, + CumulusPrimitivesCoreAggregateMessageOrigin, DanceboxRuntimeRuntimeHoldReason, DanceboxRuntimeSessionKeys, DpCollatorAssignmentAssignedCollatorsAccountId32, DpCollatorAssignmentAssignedCollatorsPublic, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, + FrameSystemCodeUpgradeAuthorization, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, @@ -53,9 +53,12 @@ import type { PalletBalancesIdAmount, PalletBalancesReserveData, PalletConfigurationHostConfiguration, + PalletIdentityAuthorityProperties, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationRewardsChainsToRewardValue, + PalletMessageQueueBookState, + PalletMessageQueuePage, PalletPooledStakingCandidateEligibleCandidate, PalletPooledStakingPendingOperationKey, PalletPooledStakingPoolsKey, @@ -116,6 +119,8 @@ declare module "@polkadot/api-base/types/storage" { /** Author of current block. */ author: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** Check if the inherent was included */ + inherentIncluded: AugmentedQuery Observable, []> & QueryableStorageEntry; /** Generic query */ [key: string]: QueryableStorageEntry; }; @@ -293,29 +298,9 @@ declare module "@polkadot/api-base/types/storage" { [key: string]: QueryableStorageEntry; }; dmpQueue: { - /** The configuration. */ - configuration: AugmentedQuery Observable, []> & + /** The migration state of this pallet. */ + migrationStatus: AugmentedQuery Observable, []> & QueryableStorageEntry; - /** Counter for the related counted storage map */ - counterForOverweight: AugmentedQuery Observable, []> & - QueryableStorageEntry; - /** The overweight messages. */ - overweight: AugmentedQuery< - ApiType, - (arg: u64 | AnyNumber | Uint8Array) => Observable>>, - [u64] - > & - QueryableStorageEntry; - /** The page index. */ - pageIndex: AugmentedQuery Observable, []> & - QueryableStorageEntry; - /** The queue pages. */ - pages: AugmentedQuery< - ApiType, - (arg: u32 | AnyNumber | Uint8Array) => Observable>>, - [u32] - > & - QueryableStorageEntry; /** Generic query */ [key: string]: QueryableStorageEntry; }; @@ -390,16 +375,44 @@ declare module "@polkadot/api-base/types/storage" { }; identity: { /** - * Information that is pertinent to identify the entity behind an account. + * Reverse lookup from `username` to the `AccountId` that has registered it. The value should be a key in the + * `IdentityOf` map, but it may not if the user has cleared their identity. + * + * Multiple usernames may map to the same `AccountId`, but `IdentityOf` will only map to one primary username. + */ + accountOfUsername: AugmentedQuery< + ApiType, + (arg: Bytes | string | Uint8Array) => Observable>, + [Bytes] + > & + QueryableStorageEntry; + /** + * Information that is pertinent to identify the entity behind an account. First item is the registration, second + * is the account's primary username. * * TWOX-NOTE: OK ― `AccountId` is a secure hash. */ identityOf: AugmentedQuery< ApiType, - (arg: AccountId32 | string | Uint8Array) => Observable>, + ( + arg: AccountId32 | string | Uint8Array + ) => Observable]>>>, [AccountId32] > & QueryableStorageEntry; + /** + * Usernames that an authority has granted, but that the account controller has not confirmed that they want it. + * Used primarily in cases where the `AccountId` cannot provide a signature because they are a pure proxy, + * multisig, etc. In order to confirm it, they should call [`Call::accept_username`]. + * + * First tuple item is the account and second is the acceptance deadline. + */ + pendingUsernames: AugmentedQuery< + ApiType, + (arg: Bytes | string | Uint8Array) => Observable>>, + [Bytes] + > & + QueryableStorageEntry; /** * The set of registrars. Not expected to get very big as can only be added through a special origin (likely a * council motion). @@ -431,6 +444,13 @@ declare module "@polkadot/api-base/types/storage" { [AccountId32] > & QueryableStorageEntry; + /** A map of the accounts who are authorized to grant usernames. */ + usernameAuthorities: AugmentedQuery< + ApiType, + (arg: AccountId32 | string | Uint8Array) => Observable>, + [AccountId32] + > & + QueryableStorageEntry; /** Generic query */ [key: string]: QueryableStorageEntry; }; @@ -458,6 +478,48 @@ declare module "@polkadot/api-base/types/storage" { /** Generic query */ [key: string]: QueryableStorageEntry; }; + messageQueue: { + /** The index of the first and last (non-empty) pages. */ + bookStateFor: AugmentedQuery< + ApiType, + ( + arg: + | CumulusPrimitivesCoreAggregateMessageOrigin + | { Here: any } + | { Parent: any } + | { Sibling: any } + | string + | Uint8Array + ) => Observable, + [CumulusPrimitivesCoreAggregateMessageOrigin] + > & + QueryableStorageEntry; + /** The map of page indices to pages. */ + pages: AugmentedQuery< + ApiType, + ( + arg1: + | CumulusPrimitivesCoreAggregateMessageOrigin + | { Here: any } + | { Parent: any } + | { Sibling: any } + | string + | Uint8Array, + arg2: u32 | AnyNumber | Uint8Array + ) => Observable>, + [CumulusPrimitivesCoreAggregateMessageOrigin, u32] + > & + QueryableStorageEntry; + /** The origin at which we should begin servicing. */ + serviceHead: AugmentedQuery< + ApiType, + () => Observable>, + [] + > & + QueryableStorageEntry; + /** Generic query */ + [key: string]: QueryableStorageEntry; + }; migrations: { /** True if all required migrations have completed */ fullyUpgraded: AugmentedQuery Observable, []> & QueryableStorageEntry; @@ -497,13 +559,6 @@ declare module "@polkadot/api-base/types/storage" { */ announcedHrmpMessagesPerCandidate: AugmentedQuery Observable, []> & QueryableStorageEntry; - /** The next authorized upgrade, if there is one. */ - authorizedUpgrade: AugmentedQuery< - ApiType, - () => Observable>, - [] - > & - QueryableStorageEntry; /** * A custom head data that should be returned as result of `validate_block`. * @@ -991,6 +1046,13 @@ declare module "@polkadot/api-base/types/storage" { /** Total length (in bytes) for all extrinsics put together, for the current block. */ allExtrinsicsLen: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** `Some` if a code upgrade has been authorized. */ + authorizedUpgrade: AugmentedQuery< + ApiType, + () => Observable>, + [] + > & + QueryableStorageEntry; /** Map of block numbers to block hashes. */ blockHash: AugmentedQuery Observable, [u32]> & QueryableStorageEntry; @@ -1091,25 +1153,19 @@ declare module "@polkadot/api-base/types/storage" { [key: string]: QueryableStorageEntry; }; xcmpQueue: { - /** Counter for the related counted storage map */ - counterForOverweight: AugmentedQuery Observable, []> & - QueryableStorageEntry; /** The factor to multiply the base delivery fee by. */ deliveryFeeFactor: AugmentedQuery Observable, [u32]> & QueryableStorageEntry; - /** Inbound aggregate XCMP messages. It can only be one per ParaId/block. */ - inboundXcmpMessages: AugmentedQuery< - ApiType, - (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable, - [u32, u32] - > & - QueryableStorageEntry; - /** Status of the inbound XCMP channels. */ - inboundXcmpStatus: AugmentedQuery< - ApiType, - () => Observable>, - [] - > & + /** + * The suspended inbound XCMP channels. All others are not suspended. + * + * This is a `StorageValue` instead of a `StorageMap` since we expect multiple reads per block to different keys + * with a one byte payload. The access to `BoundedBTreeSet` will be cached within the block and therefore only + * included once in the proof size. + * + * NOTE: The PoV benchmarking cannot know this and will over-estimate, but the actual proof will be smaller. + */ + inboundXcmpSuspended: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** The messages outbound in a given XCMP channel. */ outboundXcmpMessages: AugmentedQuery< @@ -1131,22 +1187,6 @@ declare module "@polkadot/api-base/types/storage" { [] > & QueryableStorageEntry; - /** - * The messages that exceeded max individual message weight budget. - * - * These message stay in this storage map until they are manually dispatched via `service_overweight`. - */ - overweight: AugmentedQuery< - ApiType, - (arg: u64 | AnyNumber | Uint8Array) => Observable>>, - [u64] - > & - QueryableStorageEntry; - /** - * The number of overweight messages ever recorded in `Overweight`. Also doubles as the next available free - * overweight index. - */ - overweightCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** The configuration which controls the dynamics of the outbound queue. */ queueConfig: AugmentedQuery Observable, []> & QueryableStorageEntry; diff --git a/typescript-api/src/dancebox/interfaces/augment-api-tx.ts b/typescript-api/src/dancebox/interfaces/augment-api-tx.ts index 51dbe7124..c6b761709 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-tx.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-tx.ts @@ -16,17 +16,18 @@ import type { Bytes, Compact, Option, Vec, bool, u128, u16, u32, u64, u8 } from import type { AnyNumber, IMethod, ITuple } from "@polkadot/types-codec/types"; import type { AccountId32, Call, H256, MultiAddress, Perbill } from "@polkadot/types/interfaces/runtime"; import type { + CumulusPrimitivesCoreAggregateMessageOrigin, CumulusPrimitivesParachainInherentParachainInherentData, DanceboxRuntimeOriginCaller, DanceboxRuntimeProxyType, DanceboxRuntimeSessionKeys, - PalletIdentityBitFlags, PalletIdentityJudgement, - PalletIdentitySimpleIdentityInfo, + PalletIdentityLegacyIdentityInfo, PalletPooledStakingAllTargetPool, PalletPooledStakingPendingOperationQuery, PalletPooledStakingSharesOrStake, PalletPooledStakingTargetPool, + SpRuntimeMultiSignature, SpWeightsWeightV2Weight, StagingXcmV3MultiLocation, TpAuthorNotingInherentOwnParachainInherentData, @@ -287,14 +288,6 @@ declare module "@polkadot/api-base/types/submittable" { [key: string]: SubmittableExtrinsicFunction; }; dmpQueue: { - /** See [`Pallet::service_overweight`]. */ - serviceOverweight: AugmentedSubmittable< - ( - index: u64 | AnyNumber | Uint8Array, - weightLimit: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array - ) => SubmittableExtrinsic, - [u64, SpWeightsWeightV2Weight] - >; /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; @@ -801,6 +794,11 @@ declare module "@polkadot/api-base/types/submittable" { [key: string]: SubmittableExtrinsicFunction; }; identity: { + /** See [`Pallet::accept_username`]. */ + acceptUsername: AugmentedSubmittable< + (username: Bytes | string | Uint8Array) => SubmittableExtrinsic, + [Bytes] + >; /** See [`Pallet::add_registrar`]. */ addRegistrar: AugmentedSubmittable< ( @@ -841,6 +839,23 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [MultiAddress, Data] >; + /** See [`Pallet::add_username_authority`]. */ + addUsernameAuthority: AugmentedSubmittable< + ( + authority: + | MultiAddress + | { Id: any } + | { Index: any } + | { Raw: any } + | { Address32: any } + | { Address20: any } + | string + | Uint8Array, + suffix: Bytes | string | Uint8Array, + allocation: u32 | AnyNumber | Uint8Array + ) => SubmittableExtrinsic, + [MultiAddress, Bytes, u32] + >; /** See [`Pallet::cancel_request`]. */ cancelRequest: AugmentedSubmittable< (regIndex: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, @@ -893,6 +908,16 @@ declare module "@polkadot/api-base/types/submittable" { >; /** See [`Pallet::quit_sub`]. */ quitSub: AugmentedSubmittable<() => SubmittableExtrinsic, []>; + /** See [`Pallet::remove_dangling_username`]. */ + removeDanglingUsername: AugmentedSubmittable< + (username: Bytes | string | Uint8Array) => SubmittableExtrinsic, + [Bytes] + >; + /** See [`Pallet::remove_expired_approval`]. */ + removeExpiredApproval: AugmentedSubmittable< + (username: Bytes | string | Uint8Array) => SubmittableExtrinsic, + [Bytes] + >; /** See [`Pallet::remove_sub`]. */ removeSub: AugmentedSubmittable< ( @@ -908,6 +933,21 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [MultiAddress] >; + /** See [`Pallet::remove_username_authority`]. */ + removeUsernameAuthority: AugmentedSubmittable< + ( + authority: + | MultiAddress + | { Id: any } + | { Index: any } + | { Raw: any } + | { Address32: any } + | { Address20: any } + | string + | Uint8Array + ) => SubmittableExtrinsic, + [MultiAddress] + >; /** See [`Pallet::rename_sub`]. */ renameSub: AugmentedSubmittable< ( @@ -969,15 +1009,15 @@ declare module "@polkadot/api-base/types/submittable" { setFields: AugmentedSubmittable< ( index: Compact | AnyNumber | Uint8Array, - fields: PalletIdentityBitFlags + fields: u64 | AnyNumber | Uint8Array ) => SubmittableExtrinsic, - [Compact, PalletIdentityBitFlags] + [Compact, u64] >; /** See [`Pallet::set_identity`]. */ setIdentity: AugmentedSubmittable< ( info: - | PalletIdentitySimpleIdentityInfo + | PalletIdentityLegacyIdentityInfo | { additional?: any; display?: any; @@ -992,7 +1032,12 @@ declare module "@polkadot/api-base/types/submittable" { | string | Uint8Array ) => SubmittableExtrinsic, - [PalletIdentitySimpleIdentityInfo] + [PalletIdentityLegacyIdentityInfo] + >; + /** See [`Pallet::set_primary_username`]. */ + setPrimaryUsername: AugmentedSubmittable< + (username: Bytes | string | Uint8Array) => SubmittableExtrinsic, + [Bytes] >; /** See [`Pallet::set_subs`]. */ setSubs: AugmentedSubmittable< @@ -1016,6 +1061,31 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [Vec>] >; + /** See [`Pallet::set_username_for`]. */ + setUsernameFor: AugmentedSubmittable< + ( + who: + | MultiAddress + | { Id: any } + | { Index: any } + | { Raw: any } + | { Address32: any } + | { Address20: any } + | string + | Uint8Array, + username: Bytes | string | Uint8Array, + signature: + | Option + | null + | Uint8Array + | SpRuntimeMultiSignature + | { Ed25519: any } + | { Sr25519: any } + | { Ecdsa: any } + | string + ) => SubmittableExtrinsic, + [MultiAddress, Bytes, Option] + >; /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; @@ -1046,6 +1116,40 @@ declare module "@polkadot/api-base/types/submittable" { /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; + messageQueue: { + /** See [`Pallet::execute_overweight`]. */ + executeOverweight: AugmentedSubmittable< + ( + messageOrigin: + | CumulusPrimitivesCoreAggregateMessageOrigin + | { Here: any } + | { Parent: any } + | { Sibling: any } + | string + | Uint8Array, + page: u32 | AnyNumber | Uint8Array, + index: u32 | AnyNumber | Uint8Array, + weightLimit: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array + ) => SubmittableExtrinsic, + [CumulusPrimitivesCoreAggregateMessageOrigin, u32, u32, SpWeightsWeightV2Weight] + >; + /** See [`Pallet::reap_page`]. */ + reapPage: AugmentedSubmittable< + ( + messageOrigin: + | CumulusPrimitivesCoreAggregateMessageOrigin + | { Here: any } + | { Parent: any } + | { Sibling: any } + | string + | Uint8Array, + pageIndex: u32 | AnyNumber | Uint8Array + ) => SubmittableExtrinsic, + [CumulusPrimitivesCoreAggregateMessageOrigin, u32] + >; + /** Generic tx */ + [key: string]: SubmittableExtrinsicFunction; + }; parachainInfo: { /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; @@ -1179,6 +1283,17 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32] >; + /** See [`Pallet::transfer_assets`]. */ + transferAssets: AugmentedSubmittable< + ( + dest: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, + beneficiary: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, + assets: XcmVersionedMultiAssets | { V2: any } | { V3: any } | string | Uint8Array, + feeAssetItem: u32 | AnyNumber | Uint8Array, + weightLimit: XcmV3WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array + ) => SubmittableExtrinsic, + [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV3WeightLimit] + >; /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; @@ -1533,6 +1648,8 @@ declare module "@polkadot/api-base/types/submittable" { (ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Perbill] >; + /** See `Pallet::trigger_defensive`. */ + triggerDefensive: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; @@ -1580,6 +1697,8 @@ declare module "@polkadot/api-base/types/submittable" { [key: string]: SubmittableExtrinsicFunction; }; sudo: { + /** See [`Pallet::remove_key`]. */ + removeKey: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** See [`Pallet::set_key`]. */ setKey: AugmentedSubmittable< ( @@ -1628,6 +1747,21 @@ declare module "@polkadot/api-base/types/submittable" { [key: string]: SubmittableExtrinsicFunction; }; system: { + /** See [`Pallet::apply_authorized_upgrade`]. */ + applyAuthorizedUpgrade: AugmentedSubmittable< + (code: Bytes | string | Uint8Array) => SubmittableExtrinsic, + [Bytes] + >; + /** See [`Pallet::authorize_upgrade`]. */ + authorizeUpgrade: AugmentedSubmittable< + (codeHash: H256 | string | Uint8Array) => SubmittableExtrinsic, + [H256] + >; + /** See [`Pallet::authorize_upgrade_without_checks`]. */ + authorizeUpgradeWithoutChecks: AugmentedSubmittable< + (codeHash: H256 | string | Uint8Array) => SubmittableExtrinsic, + [H256] + >; /** See [`Pallet::kill_prefix`]. */ killPrefix: AugmentedSubmittable< ( @@ -1756,14 +1890,6 @@ declare module "@polkadot/api-base/types/submittable" { xcmpQueue: { /** See [`Pallet::resume_xcm_execution`]. */ resumeXcmExecution: AugmentedSubmittable<() => SubmittableExtrinsic, []>; - /** See [`Pallet::service_overweight`]. */ - serviceOverweight: AugmentedSubmittable< - ( - index: u64 | AnyNumber | Uint8Array, - weightLimit: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array - ) => SubmittableExtrinsic, - [u64, SpWeightsWeightV2Weight] - >; /** See [`Pallet::suspend_xcm_execution`]. */ suspendXcmExecution: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** See [`Pallet::update_drop_threshold`]. */ @@ -1781,27 +1907,6 @@ declare module "@polkadot/api-base/types/submittable" { (updated: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32] >; - /** See [`Pallet::update_threshold_weight`]. */ - updateThresholdWeight: AugmentedSubmittable< - ( - updated: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array - ) => SubmittableExtrinsic, - [SpWeightsWeightV2Weight] - >; - /** See [`Pallet::update_weight_restrict_decay`]. */ - updateWeightRestrictDecay: AugmentedSubmittable< - ( - updated: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array - ) => SubmittableExtrinsic, - [SpWeightsWeightV2Weight] - >; - /** See [`Pallet::update_xcmp_max_individual_weight`]. */ - updateXcmpMaxIndividualWeight: AugmentedSubmittable< - ( - updated: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array - ) => SubmittableExtrinsic, - [SpWeightsWeightV2Weight] - >; /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; diff --git a/typescript-api/src/dancebox/interfaces/lookup.ts b/typescript-api/src/dancebox/interfaces/lookup.ts index b1d5a60aa..f96e9045b 100644 --- a/typescript-api/src/dancebox/interfaces/lookup.ts +++ b/typescript-api/src/dancebox/interfaces/lookup.ts @@ -78,6 +78,10 @@ export default { sender: "AccountId32", hash_: "H256", }, + UpgradeAuthorized: { + codeHash: "H256", + checkVersion: "bool", + }, }, }, /** Lookup22: frame_support::dispatch::DispatchInfo */ @@ -141,7 +145,7 @@ export default { SpRuntimeTransactionalError: { _enum: ["LimitReached", "NoLayer"], }, - /** Lookup30: cumulus_pallet_parachain_system::pallet::Event */ + /** Lookup31: cumulus_pallet_parachain_system::pallet::Event */ CumulusPalletParachainSystemEvent: { _enum: { ValidationFunctionStored: "Null", @@ -149,9 +153,6 @@ export default { relayChainBlockNum: "u32", }, ValidationFunctionDiscarded: "Null", - UpgradeAuthorized: { - codeHash: "H256", - }, DownwardMessagesReceived: { count: "u32", }, @@ -164,21 +165,26 @@ export default { }, }, }, - /** Lookup32: pallet_sudo::pallet::Event */ + /** Lookup33: pallet_sudo::pallet::Event */ PalletSudoEvent: { _enum: { Sudid: { sudoResult: "Result", }, KeyChanged: { - oldSudoer: "Option", + _alias: { + new_: "new", + }, + old: "Option", + new_: "AccountId32", }, + KeyRemoved: "Null", SudoAsDone: { sudoResult: "Result", }, }, }, - /** Lookup36: pallet_utility::pallet::Event */ + /** Lookup37: pallet_utility::pallet::Event */ PalletUtilityEvent: { _enum: { BatchInterrupted: { @@ -196,7 +202,7 @@ export default { }, }, }, - /** Lookup37: pallet_proxy::pallet::Event */ + /** Lookup38: pallet_proxy::pallet::Event */ PalletProxyEvent: { _enum: { ProxyExecuted: { @@ -227,11 +233,11 @@ export default { }, }, }, - /** Lookup38: dancebox_runtime::ProxyType */ + /** Lookup39: dancebox_runtime::ProxyType */ DanceboxRuntimeProxyType: { _enum: ["Any", "NonTransfer", "Governance", "Staking", "CancelProxy", "Balances", "Registrar", "SudoRegistrar"], }, - /** Lookup40: pallet_migrations::pallet::Event */ + /** Lookup41: pallet_migrations::pallet::Event */ PalletMigrationsEvent: { _enum: { RuntimeUpgradeStarted: "Null", @@ -253,7 +259,7 @@ export default { }, }, }, - /** Lookup41: pallet_maintenance_mode::pallet::Event */ + /** Lookup42: pallet_maintenance_mode::pallet::Event */ PalletMaintenanceModeEvent: { _enum: { EnteredMaintenanceMode: "Null", @@ -266,7 +272,7 @@ export default { }, }, }, - /** Lookup42: pallet_tx_pause::pallet::Event */ + /** Lookup43: pallet_tx_pause::pallet::Event */ PalletTxPauseEvent: { _enum: { CallPaused: { @@ -277,7 +283,7 @@ export default { }, }, }, - /** Lookup45: pallet_balances::pallet::Event */ + /** Lookup46: pallet_balances::pallet::Event */ PalletBalancesEvent: { _enum: { Endowed: { @@ -366,11 +372,11 @@ export default { }, }, }, - /** Lookup46: frame_support::traits::tokens::misc::BalanceStatus */ + /** Lookup47: frame_support::traits::tokens::misc::BalanceStatus */ FrameSupportTokensMiscBalanceStatus: { _enum: ["Free", "Reserved"], }, - /** Lookup47: pallet_transaction_payment::pallet::Event */ + /** Lookup48: pallet_transaction_payment::pallet::Event */ PalletTransactionPaymentEvent: { _enum: { TransactionFeePaid: { @@ -380,7 +386,7 @@ export default { }, }, }, - /** Lookup48: pallet_identity::pallet::Event */ + /** Lookup49: pallet_identity::pallet::Event */ PalletIdentityEvent: { _enum: { IdentitySet: { @@ -424,9 +430,35 @@ export default { main: "AccountId32", deposit: "u128", }, + AuthorityAdded: { + authority: "AccountId32", + }, + AuthorityRemoved: { + authority: "AccountId32", + }, + UsernameSet: { + who: "AccountId32", + username: "Bytes", + }, + UsernameQueued: { + who: "AccountId32", + username: "Bytes", + expiration: "u32", + }, + PreapprovalExpired: { + whose: "AccountId32", + }, + PrimaryUsernameSet: { + who: "AccountId32", + username: "Bytes", + }, + DanglingUsernameRemoved: { + who: "AccountId32", + username: "Bytes", + }, }, }, - /** Lookup49: pallet_registrar::pallet::Event */ + /** Lookup51: pallet_registrar::pallet::Event */ PalletRegistrarEvent: { _enum: { ParaIdRegistered: { @@ -446,7 +478,7 @@ export default { }, }, }, - /** Lookup51: pallet_collator_assignment::pallet::Event */ + /** Lookup53: pallet_collator_assignment::pallet::Event */ PalletCollatorAssignmentEvent: { _enum: { NewPendingAssignment: { @@ -456,7 +488,7 @@ export default { }, }, }, - /** Lookup53: pallet_author_noting::pallet::Event */ + /** Lookup54: pallet_author_noting::pallet::Event */ PalletAuthorNotingEvent: { _enum: { LatestAuthorChanged: { @@ -469,7 +501,7 @@ export default { }, }, }, - /** Lookup54: pallet_services_payment::pallet::Event */ + /** Lookup55: pallet_services_payment::pallet::Event */ PalletServicesPaymentEvent: { _enum: { CreditsPurchased: { @@ -489,7 +521,7 @@ export default { }, }, }, - /** Lookup55: pallet_data_preservers::pallet::Event */ + /** Lookup56: pallet_data_preservers::pallet::Event */ PalletDataPreserversEvent: { _enum: { BootNodesChanged: { @@ -497,7 +529,7 @@ export default { }, }, }, - /** Lookup56: pallet_invulnerables::pallet::Event */ + /** Lookup57: pallet_invulnerables::pallet::Event */ PalletInvulnerablesEvent: { _enum: { NewInvulnerables: { @@ -514,7 +546,7 @@ export default { }, }, }, - /** Lookup58: pallet_session::pallet::Event */ + /** Lookup59: pallet_session::pallet::Event */ PalletSessionEvent: { _enum: { NewSession: { @@ -522,7 +554,7 @@ export default { }, }, }, - /** Lookup59: pallet_pooled_staking::pallet::Event */ + /** Lookup60: pallet_pooled_staking::pallet::Event */ PalletPooledStakingEvent: { _enum: { UpdatedCandidatePosition: { @@ -617,11 +649,11 @@ export default { }, }, }, - /** Lookup61: pallet_pooled_staking::pallet::TargetPool */ + /** Lookup62: pallet_pooled_staking::pallet::TargetPool */ PalletPooledStakingTargetPool: { _enum: ["AutoCompounding", "ManualRewards"], }, - /** Lookup62: pallet_inflation_rewards::pallet::Event */ + /** Lookup63: pallet_inflation_rewards::pallet::Event */ PalletInflationRewardsEvent: { _enum: { RewardedOrchestrator: { @@ -635,42 +667,31 @@ export default { }, }, }, - /** Lookup63: cumulus_pallet_xcmp_queue::pallet::Event */ + /** Lookup64: cumulus_pallet_xcmp_queue::pallet::Event */ CumulusPalletXcmpQueueEvent: { _enum: { - Success: { - messageHash: "[u8;32]", - messageId: "[u8;32]", - weight: "SpWeightsWeightV2Weight", - }, - Fail: { - messageHash: "[u8;32]", - messageId: "[u8;32]", - error: "XcmV3TraitsError", - weight: "SpWeightsWeightV2Weight", - }, - BadVersion: { - messageHash: "[u8;32]", - }, - BadFormat: { - messageHash: "[u8;32]", - }, XcmpMessageSent: { messageHash: "[u8;32]", }, - OverweightEnqueued: { - sender: "u32", - sentAt: "u32", - index: "u64", - required: "SpWeightsWeightV2Weight", - }, - OverweightServiced: { - index: "u64", - used: "SpWeightsWeightV2Weight", - }, }, }, - /** Lookup64: xcm::v3::traits::Error */ + /** Lookup65: cumulus_pallet_xcm::pallet::Event */ + CumulusPalletXcmEvent: { + _enum: { + InvalidFormat: "[u8;32]", + UnsupportedVersion: "[u8;32]", + ExecutedDownward: "([u8;32],XcmV3TraitsOutcome)", + }, + }, + /** Lookup66: xcm::v3::traits::Outcome */ + XcmV3TraitsOutcome: { + _enum: { + Complete: "SpWeightsWeightV2Weight", + Incomplete: "(SpWeightsWeightV2Weight,XcmV3TraitsError)", + Error: "XcmV3TraitsError", + }, + }, + /** Lookup67: xcm::v3::traits::Error */ XcmV3TraitsError: { _enum: { Overflow: "Null", @@ -715,58 +736,35 @@ export default { ExceedsStackLimit: "Null", }, }, - /** Lookup65: cumulus_pallet_xcm::pallet::Event */ - CumulusPalletXcmEvent: { - _enum: { - InvalidFormat: "[u8;32]", - UnsupportedVersion: "[u8;32]", - ExecutedDownward: "([u8;32],XcmV3TraitsOutcome)", - }, - }, - /** Lookup66: xcm::v3::traits::Outcome */ - XcmV3TraitsOutcome: { - _enum: { - Complete: "SpWeightsWeightV2Weight", - Incomplete: "(SpWeightsWeightV2Weight,XcmV3TraitsError)", - Error: "XcmV3TraitsError", - }, - }, - /** Lookup67: cumulus_pallet_dmp_queue::pallet::Event */ + /** Lookup68: cumulus_pallet_dmp_queue::pallet::Event */ CumulusPalletDmpQueueEvent: { _enum: { - InvalidFormat: { - messageHash: "[u8;32]", + StartedExport: "Null", + Exported: { + page: "u32", }, - UnsupportedVersion: { - messageHash: "[u8;32]", - }, - ExecutedDownward: { - messageHash: "[u8;32]", - messageId: "[u8;32]", - outcome: "XcmV3TraitsOutcome", + ExportFailed: { + page: "u32", }, - WeightExhausted: { - messageHash: "[u8;32]", - messageId: "[u8;32]", - remainingWeight: "SpWeightsWeightV2Weight", - requiredWeight: "SpWeightsWeightV2Weight", + CompletedExport: "Null", + StartedOverweightExport: "Null", + ExportedOverweight: { + index: "u64", }, - OverweightEnqueued: { - messageHash: "[u8;32]", - messageId: "[u8;32]", - overweightIndex: "u64", - requiredWeight: "SpWeightsWeightV2Weight", + ExportOverweightFailed: { + index: "u64", }, - OverweightServiced: { - overweightIndex: "u64", - weightUsed: "SpWeightsWeightV2Weight", + CompletedOverweightExport: "Null", + StartedCleanup: "Null", + CleanedSome: { + keysRemoved: "u32", }, - MaxMessagesExhausted: { - messageHash: "[u8;32]", + Completed: { + error: "bool", }, }, }, - /** Lookup68: pallet_xcm::pallet::Event */ + /** Lookup69: pallet_xcm::pallet::Event */ PalletXcmEvent: { _enum: { Attempted: { @@ -886,12 +884,12 @@ export default { }, }, }, - /** Lookup69: staging_xcm::v3::multilocation::MultiLocation */ + /** Lookup70: staging_xcm::v3::multilocation::MultiLocation */ StagingXcmV3MultiLocation: { parents: "u8", interior: "XcmV3Junctions", }, - /** Lookup70: xcm::v3::junctions::Junctions */ + /** Lookup71: xcm::v3::junctions::Junctions */ XcmV3Junctions: { _enum: { Here: "Null", @@ -905,7 +903,7 @@ export default { X8: "(XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction)", }, }, - /** Lookup71: xcm::v3::junction::Junction */ + /** Lookup72: xcm::v3::junction::Junction */ XcmV3Junction: { _enum: { Parachain: "Compact", @@ -935,7 +933,7 @@ export default { GlobalConsensus: "XcmV3JunctionNetworkId", }, }, - /** Lookup74: xcm::v3::junction::NetworkId */ + /** Lookup75: xcm::v3::junction::NetworkId */ XcmV3JunctionNetworkId: { _enum: { ByGenesis: "[u8;32]", @@ -953,9 +951,10 @@ export default { }, BitcoinCore: "Null", BitcoinCash: "Null", + PolkadotBulletin: "Null", }, }, - /** Lookup77: xcm::v3::junction::BodyId */ + /** Lookup78: xcm::v3::junction::BodyId */ XcmV3JunctionBodyId: { _enum: { Unit: "Null", @@ -970,7 +969,7 @@ export default { Treasury: "Null", }, }, - /** Lookup78: xcm::v3::junction::BodyPart */ + /** Lookup79: xcm::v3::junction::BodyPart */ XcmV3JunctionBodyPart: { _enum: { Voice: "Null", @@ -991,9 +990,9 @@ export default { }, }, }, - /** Lookup79: xcm::v3::Xcm */ + /** Lookup80: xcm::v3::Xcm */ XcmV3Xcm: "Vec", - /** Lookup81: xcm::v3::Instruction */ + /** Lookup82: xcm::v3::Instruction */ XcmV3Instruction: { _enum: { WithdrawAsset: "XcmV3MultiassetMultiAssets", @@ -1133,28 +1132,28 @@ export default { }, }, }, - /** Lookup82: xcm::v3::multiasset::MultiAssets */ + /** Lookup83: xcm::v3::multiasset::MultiAssets */ XcmV3MultiassetMultiAssets: "Vec", - /** Lookup84: xcm::v3::multiasset::MultiAsset */ + /** Lookup85: xcm::v3::multiasset::MultiAsset */ XcmV3MultiAsset: { id: "XcmV3MultiassetAssetId", fun: "XcmV3MultiassetFungibility", }, - /** Lookup85: xcm::v3::multiasset::AssetId */ + /** Lookup86: xcm::v3::multiasset::AssetId */ XcmV3MultiassetAssetId: { _enum: { Concrete: "StagingXcmV3MultiLocation", Abstract: "[u8;32]", }, }, - /** Lookup86: xcm::v3::multiasset::Fungibility */ + /** Lookup87: xcm::v3::multiasset::Fungibility */ XcmV3MultiassetFungibility: { _enum: { Fungible: "Compact", NonFungible: "XcmV3MultiassetAssetInstance", }, }, - /** Lookup87: xcm::v3::multiasset::AssetInstance */ + /** Lookup88: xcm::v3::multiasset::AssetInstance */ XcmV3MultiassetAssetInstance: { _enum: { Undefined: "Null", @@ -1165,7 +1164,7 @@ export default { Array32: "[u8;32]", }, }, - /** Lookup90: xcm::v3::Response */ + /** Lookup91: xcm::v3::Response */ XcmV3Response: { _enum: { Null: "Null", @@ -1176,7 +1175,7 @@ export default { DispatchResult: "XcmV3MaybeErrorCode", }, }, - /** Lookup94: xcm::v3::PalletInfo */ + /** Lookup95: xcm::v3::PalletInfo */ XcmV3PalletInfo: { index: "Compact", name: "Bytes", @@ -1185,7 +1184,7 @@ export default { minor: "Compact", patch: "Compact", }, - /** Lookup97: xcm::v3::MaybeErrorCode */ + /** Lookup98: xcm::v3::MaybeErrorCode */ XcmV3MaybeErrorCode: { _enum: { Success: "Null", @@ -1193,28 +1192,28 @@ export default { TruncatedError: "Bytes", }, }, - /** Lookup100: xcm::v2::OriginKind */ + /** Lookup101: xcm::v2::OriginKind */ XcmV2OriginKind: { _enum: ["Native", "SovereignAccount", "Superuser", "Xcm"], }, - /** Lookup101: xcm::double_encoded::DoubleEncoded */ + /** Lookup102: xcm::double_encoded::DoubleEncoded */ XcmDoubleEncoded: { encoded: "Bytes", }, - /** Lookup102: xcm::v3::QueryResponseInfo */ + /** Lookup103: xcm::v3::QueryResponseInfo */ XcmV3QueryResponseInfo: { destination: "StagingXcmV3MultiLocation", queryId: "Compact", maxWeight: "SpWeightsWeightV2Weight", }, - /** Lookup103: xcm::v3::multiasset::MultiAssetFilter */ + /** Lookup104: xcm::v3::multiasset::MultiAssetFilter */ XcmV3MultiassetMultiAssetFilter: { _enum: { Definite: "XcmV3MultiassetMultiAssets", Wild: "XcmV3MultiassetWildMultiAsset", }, }, - /** Lookup104: xcm::v3::multiasset::WildMultiAsset */ + /** Lookup105: xcm::v3::multiasset::WildMultiAsset */ XcmV3MultiassetWildMultiAsset: { _enum: { All: "Null", @@ -1230,18 +1229,18 @@ export default { }, }, }, - /** Lookup105: xcm::v3::multiasset::WildFungibility */ + /** Lookup106: xcm::v3::multiasset::WildFungibility */ XcmV3MultiassetWildFungibility: { _enum: ["Fungible", "NonFungible"], }, - /** Lookup106: xcm::v3::WeightLimit */ + /** Lookup107: xcm::v3::WeightLimit */ XcmV3WeightLimit: { _enum: { Unlimited: "Null", Limited: "SpWeightsWeightV2Weight", }, }, - /** Lookup107: xcm::VersionedMultiAssets */ + /** Lookup108: xcm::VersionedMultiAssets */ XcmVersionedMultiAssets: { _enum: { __Unused0: "Null", @@ -1250,26 +1249,26 @@ export default { V3: "XcmV3MultiassetMultiAssets", }, }, - /** Lookup108: xcm::v2::multiasset::MultiAssets */ + /** Lookup109: xcm::v2::multiasset::MultiAssets */ XcmV2MultiassetMultiAssets: "Vec", - /** Lookup110: xcm::v2::multiasset::MultiAsset */ + /** Lookup111: xcm::v2::multiasset::MultiAsset */ XcmV2MultiAsset: { id: "XcmV2MultiassetAssetId", fun: "XcmV2MultiassetFungibility", }, - /** Lookup111: xcm::v2::multiasset::AssetId */ + /** Lookup112: xcm::v2::multiasset::AssetId */ XcmV2MultiassetAssetId: { _enum: { Concrete: "XcmV2MultiLocation", Abstract: "Bytes", }, }, - /** Lookup112: xcm::v2::multilocation::MultiLocation */ + /** Lookup113: xcm::v2::multilocation::MultiLocation */ XcmV2MultiLocation: { parents: "u8", interior: "XcmV2MultilocationJunctions", }, - /** Lookup113: xcm::v2::multilocation::Junctions */ + /** Lookup114: xcm::v2::multilocation::Junctions */ XcmV2MultilocationJunctions: { _enum: { Here: "Null", @@ -1283,7 +1282,7 @@ export default { X8: "(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)", }, }, - /** Lookup114: xcm::v2::junction::Junction */ + /** Lookup115: xcm::v2::junction::Junction */ XcmV2Junction: { _enum: { Parachain: "Compact", @@ -1309,7 +1308,7 @@ export default { }, }, }, - /** Lookup115: xcm::v2::NetworkId */ + /** Lookup116: xcm::v2::NetworkId */ XcmV2NetworkId: { _enum: { Any: "Null", @@ -1318,7 +1317,7 @@ export default { Kusama: "Null", }, }, - /** Lookup117: xcm::v2::BodyId */ + /** Lookup118: xcm::v2::BodyId */ XcmV2BodyId: { _enum: { Unit: "Null", @@ -1333,7 +1332,7 @@ export default { Treasury: "Null", }, }, - /** Lookup118: xcm::v2::BodyPart */ + /** Lookup119: xcm::v2::BodyPart */ XcmV2BodyPart: { _enum: { Voice: "Null", @@ -1354,14 +1353,14 @@ export default { }, }, }, - /** Lookup119: xcm::v2::multiasset::Fungibility */ + /** Lookup120: xcm::v2::multiasset::Fungibility */ XcmV2MultiassetFungibility: { _enum: { Fungible: "Compact", NonFungible: "XcmV2MultiassetAssetInstance", }, }, - /** Lookup120: xcm::v2::multiasset::AssetInstance */ + /** Lookup121: xcm::v2::multiasset::AssetInstance */ XcmV2MultiassetAssetInstance: { _enum: { Undefined: "Null", @@ -1373,7 +1372,7 @@ export default { Blob: "Bytes", }, }, - /** Lookup121: xcm::VersionedMultiLocation */ + /** Lookup122: xcm::VersionedMultiLocation */ XcmVersionedMultiLocation: { _enum: { __Unused0: "Null", @@ -1382,7 +1381,7 @@ export default { V3: "StagingXcmV3MultiLocation", }, }, - /** Lookup122: pallet_assets::pallet::Event */ + /** Lookup123: pallet_assets::pallet::Event */ PalletAssetsEvent: { _enum: { Created: { @@ -1496,7 +1495,7 @@ export default { }, }, }, - /** Lookup123: pallet_foreign_asset_creator::pallet::Event */ + /** Lookup124: pallet_foreign_asset_creator::pallet::Event */ PalletForeignAssetCreatorEvent: { _enum: { ForeignAssetCreated: { @@ -1517,7 +1516,7 @@ export default { }, }, }, - /** Lookup124: pallet_asset_rate::pallet::Event */ + /** Lookup125: pallet_asset_rate::pallet::Event */ PalletAssetRateEvent: { _enum: { AssetRateCreated: { @@ -1537,7 +1536,55 @@ export default { }, }, }, - /** Lookup126: frame_system::Phase */ + /** Lookup127: pallet_message_queue::pallet::Event */ + PalletMessageQueueEvent: { + _enum: { + ProcessingFailed: { + id: "H256", + origin: "CumulusPrimitivesCoreAggregateMessageOrigin", + error: "FrameSupportMessagesProcessMessageError", + }, + Processed: { + id: "H256", + origin: "CumulusPrimitivesCoreAggregateMessageOrigin", + weightUsed: "SpWeightsWeightV2Weight", + success: "bool", + }, + OverweightEnqueued: { + id: "[u8;32]", + origin: "CumulusPrimitivesCoreAggregateMessageOrigin", + pageIndex: "u32", + messageIndex: "u32", + }, + PageReaped: { + origin: "CumulusPrimitivesCoreAggregateMessageOrigin", + index: "u32", + }, + }, + }, + /** Lookup128: cumulus_primitives_core::AggregateMessageOrigin */ + CumulusPrimitivesCoreAggregateMessageOrigin: { + _enum: { + Here: "Null", + Parent: "Null", + Sibling: "u32", + }, + }, + /** Lookup129: frame_support::traits::messages::ProcessMessageError */ + FrameSupportMessagesProcessMessageError: { + _enum: { + BadFormat: "Null", + Corrupt: "Null", + Unsupported: "Null", + Overweight: "SpWeightsWeightV2Weight", + Yield: "Null", + }, + }, + /** Lookup130: pallet_root_testing::pallet::Event */ + PalletRootTestingEvent: { + _enum: ["DefensiveTestCall"], + }, + /** Lookup131: frame_system::Phase */ FrameSystemPhase: { _enum: { ApplyExtrinsic: "u32", @@ -1545,12 +1592,17 @@ export default { Initialization: "Null", }, }, - /** Lookup130: frame_system::LastRuntimeUpgradeInfo */ + /** Lookup135: frame_system::LastRuntimeUpgradeInfo */ FrameSystemLastRuntimeUpgradeInfo: { specVersion: "Compact", specName: "Text", }, - /** Lookup132: frame_system::pallet::Call */ + /** Lookup137: frame_system::CodeUpgradeAuthorization */ + FrameSystemCodeUpgradeAuthorization: { + codeHash: "H256", + checkVersion: "bool", + }, + /** Lookup138: frame_system::pallet::Call */ FrameSystemCall: { _enum: { remark: { @@ -1581,43 +1633,53 @@ export default { remark_with_event: { remark: "Bytes", }, + __Unused8: "Null", + authorize_upgrade: { + codeHash: "H256", + }, + authorize_upgrade_without_checks: { + codeHash: "H256", + }, + apply_authorized_upgrade: { + code: "Bytes", + }, }, }, - /** Lookup136: frame_system::limits::BlockWeights */ + /** Lookup142: frame_system::limits::BlockWeights */ FrameSystemLimitsBlockWeights: { baseBlock: "SpWeightsWeightV2Weight", maxBlock: "SpWeightsWeightV2Weight", perClass: "FrameSupportDispatchPerDispatchClassWeightsPerClass", }, - /** Lookup137: frame_support::dispatch::PerDispatchClass */ + /** Lookup143: frame_support::dispatch::PerDispatchClass */ FrameSupportDispatchPerDispatchClassWeightsPerClass: { normal: "FrameSystemLimitsWeightsPerClass", operational: "FrameSystemLimitsWeightsPerClass", mandatory: "FrameSystemLimitsWeightsPerClass", }, - /** Lookup138: frame_system::limits::WeightsPerClass */ + /** Lookup144: frame_system::limits::WeightsPerClass */ FrameSystemLimitsWeightsPerClass: { baseExtrinsic: "SpWeightsWeightV2Weight", maxExtrinsic: "Option", maxTotal: "Option", reserved: "Option", }, - /** Lookup140: frame_system::limits::BlockLength */ + /** Lookup146: frame_system::limits::BlockLength */ FrameSystemLimitsBlockLength: { max: "FrameSupportDispatchPerDispatchClassU32", }, - /** Lookup141: frame_support::dispatch::PerDispatchClass */ + /** Lookup147: frame_support::dispatch::PerDispatchClass */ FrameSupportDispatchPerDispatchClassU32: { normal: "u32", operational: "u32", mandatory: "u32", }, - /** Lookup142: sp_weights::RuntimeDbWeight */ + /** Lookup148: sp_weights::RuntimeDbWeight */ SpWeightsRuntimeDbWeight: { read: "u64", write: "u64", }, - /** Lookup143: sp_version::RuntimeVersion */ + /** Lookup149: sp_version::RuntimeVersion */ SpVersionRuntimeVersion: { specName: "Text", implName: "Text", @@ -1628,7 +1690,7 @@ export default { transactionVersion: "u32", stateVersion: "u8", }, - /** Lookup147: frame_system::pallet::Error */ + /** Lookup153: frame_system::pallet::Error */ FrameSystemError: { _enum: [ "InvalidSpecName", @@ -1637,51 +1699,53 @@ export default { "NonDefaultComposite", "NonZeroRefCount", "CallFiltered", + "NothingAuthorized", + "Unauthorized", ], }, - /** Lookup149: cumulus_pallet_parachain_system::unincluded_segment::Ancestor */ + /** Lookup155: cumulus_pallet_parachain_system::unincluded_segment::Ancestor */ CumulusPalletParachainSystemUnincludedSegmentAncestor: { usedBandwidth: "CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth", paraHeadHash: "Option", consumedGoAheadSignal: "Option", }, - /** Lookup150: cumulus_pallet_parachain_system::unincluded_segment::UsedBandwidth */ + /** Lookup156: cumulus_pallet_parachain_system::unincluded_segment::UsedBandwidth */ CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth: { umpMsgCount: "u32", umpTotalBytes: "u32", hrmpOutgoing: "BTreeMap", }, - /** Lookup152: cumulus_pallet_parachain_system::unincluded_segment::HrmpChannelUpdate */ + /** Lookup158: cumulus_pallet_parachain_system::unincluded_segment::HrmpChannelUpdate */ CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate: { msgCount: "u32", totalBytes: "u32", }, - /** Lookup157: polkadot_primitives::v6::UpgradeGoAhead */ + /** Lookup163: polkadot_primitives::v6::UpgradeGoAhead */ PolkadotPrimitivesV6UpgradeGoAhead: { _enum: ["Abort", "GoAhead"], }, - /** Lookup158: cumulus_pallet_parachain_system::unincluded_segment::SegmentTracker */ + /** Lookup164: cumulus_pallet_parachain_system::unincluded_segment::SegmentTracker */ CumulusPalletParachainSystemUnincludedSegmentSegmentTracker: { usedBandwidth: "CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth", hrmpWatermark: "Option", consumedGoAheadSignal: "Option", }, - /** Lookup159: polkadot_primitives::v6::PersistedValidationData */ + /** Lookup165: polkadot_primitives::v6::PersistedValidationData */ PolkadotPrimitivesV6PersistedValidationData: { parentHead: "Bytes", relayParentNumber: "u32", relayParentStorageRoot: "H256", maxPovSize: "u32", }, - /** Lookup162: polkadot_primitives::v6::UpgradeRestriction */ + /** Lookup168: polkadot_primitives::v6::UpgradeRestriction */ PolkadotPrimitivesV6UpgradeRestriction: { _enum: ["Present"], }, - /** Lookup163: sp_trie::storage_proof::StorageProof */ + /** Lookup169: sp_trie::storage_proof::StorageProof */ SpTrieStorageProof: { trieNodes: "BTreeSet", }, - /** Lookup165: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot */ + /** Lookup171: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot */ CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { dmqMqcHead: "H256", relayDispatchQueueRemainingCapacity: @@ -1689,12 +1753,12 @@ export default { ingressChannels: "Vec<(u32,PolkadotPrimitivesV6AbridgedHrmpChannel)>", egressChannels: "Vec<(u32,PolkadotPrimitivesV6AbridgedHrmpChannel)>", }, - /** Lookup166: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispatchQueueRemainingCapacity */ + /** Lookup172: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispatchQueueRemainingCapacity */ CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity: { remainingCount: "u32", remainingSize: "u32", }, - /** Lookup169: polkadot_primitives::v6::AbridgedHrmpChannel */ + /** Lookup175: polkadot_primitives::v6::AbridgedHrmpChannel */ PolkadotPrimitivesV6AbridgedHrmpChannel: { maxCapacity: "u32", maxTotalSize: "u32", @@ -1703,7 +1767,7 @@ export default { totalSize: "u32", mqcHead: "Option", }, - /** Lookup170: polkadot_primitives::v6::AbridgedHostConfiguration */ + /** Lookup176: polkadot_primitives::v6::AbridgedHostConfiguration */ PolkadotPrimitivesV6AbridgedHostConfiguration: { maxCodeSize: "u32", maxHeadDataSize: "u32", @@ -1716,22 +1780,17 @@ export default { validationUpgradeDelay: "u32", asyncBackingParams: "PolkadotPrimitivesV6AsyncBackingAsyncBackingParams", }, - /** Lookup171: polkadot_primitives::v6::async_backing::AsyncBackingParams */ + /** Lookup177: polkadot_primitives::v6::async_backing::AsyncBackingParams */ PolkadotPrimitivesV6AsyncBackingAsyncBackingParams: { maxCandidateDepth: "u32", allowedAncestryLen: "u32", }, - /** Lookup177: polkadot_core_primitives::OutboundHrmpMessage */ + /** Lookup183: polkadot_core_primitives::OutboundHrmpMessage */ PolkadotCorePrimitivesOutboundHrmpMessage: { recipient: "u32", data: "Bytes", }, - /** Lookup178: cumulus_pallet_parachain_system::CodeUpgradeAuthorization */ - CumulusPalletParachainSystemCodeUpgradeAuthorization: { - codeHash: "H256", - checkVersion: "bool", - }, - /** Lookup179: cumulus_pallet_parachain_system::pallet::Call */ + /** Lookup184: cumulus_pallet_parachain_system::pallet::Call */ CumulusPalletParachainSystemCall: { _enum: { set_validation_data: { @@ -1749,24 +1808,24 @@ export default { }, }, }, - /** Lookup180: cumulus_primitives_parachain_inherent::ParachainInherentData */ + /** Lookup185: cumulus_primitives_parachain_inherent::ParachainInherentData */ CumulusPrimitivesParachainInherentParachainInherentData: { validationData: "PolkadotPrimitivesV6PersistedValidationData", relayChainState: "SpTrieStorageProof", downwardMessages: "Vec", horizontalMessages: "BTreeMap>", }, - /** Lookup182: polkadot_core_primitives::InboundDownwardMessage */ + /** Lookup187: polkadot_core_primitives::InboundDownwardMessage */ PolkadotCorePrimitivesInboundDownwardMessage: { sentAt: "u32", msg: "Bytes", }, - /** Lookup185: polkadot_core_primitives::InboundHrmpMessage */ + /** Lookup190: polkadot_core_primitives::InboundHrmpMessage */ PolkadotCorePrimitivesInboundHrmpMessage: { sentAt: "u32", data: "Bytes", }, - /** Lookup188: cumulus_pallet_parachain_system::pallet::Error */ + /** Lookup193: cumulus_pallet_parachain_system::pallet::Error */ CumulusPalletParachainSystemError: { _enum: [ "OverlappingUpgrades", @@ -1779,7 +1838,7 @@ export default { "Unauthorized", ], }, - /** Lookup189: pallet_timestamp::pallet::Call */ + /** Lookup194: pallet_timestamp::pallet::Call */ PalletTimestampCall: { _enum: { set: { @@ -1787,9 +1846,9 @@ export default { }, }, }, - /** Lookup190: parachain_info::pallet::Call */ - ParachainInfoCall: "Null", - /** Lookup191: pallet_sudo::pallet::Call */ + /** Lookup195: staging_parachain_info::pallet::Call */ + StagingParachainInfoCall: "Null", + /** Lookup196: pallet_sudo::pallet::Call */ PalletSudoCall: { _enum: { sudo: { @@ -1809,9 +1868,10 @@ export default { who: "MultiAddress", call: "Call", }, + remove_key: "Null", }, }, - /** Lookup193: pallet_utility::pallet::Call */ + /** Lookup198: pallet_utility::pallet::Call */ PalletUtilityCall: { _enum: { batch: { @@ -1837,7 +1897,7 @@ export default { }, }, }, - /** Lookup195: dancebox_runtime::OriginCaller */ + /** Lookup200: dancebox_runtime::OriginCaller */ DanceboxRuntimeOriginCaller: { _enum: { system: "FrameSupportDispatchRawOrigin", @@ -1896,7 +1956,7 @@ export default { PolkadotXcm: "PalletXcmOrigin", }, }, - /** Lookup196: frame_support::dispatch::RawOrigin */ + /** Lookup201: frame_support::dispatch::RawOrigin */ FrameSupportDispatchRawOrigin: { _enum: { Root: "Null", @@ -1904,23 +1964,23 @@ export default { None: "Null", }, }, - /** Lookup197: cumulus_pallet_xcm::pallet::Origin */ + /** Lookup202: cumulus_pallet_xcm::pallet::Origin */ CumulusPalletXcmOrigin: { _enum: { Relay: "Null", SiblingParachain: "u32", }, }, - /** Lookup198: pallet_xcm::pallet::Origin */ + /** Lookup203: pallet_xcm::pallet::Origin */ PalletXcmOrigin: { _enum: { Xcm: "StagingXcmV3MultiLocation", Response: "StagingXcmV3MultiLocation", }, }, - /** Lookup199: sp_core::Void */ + /** Lookup204: sp_core::Void */ SpCoreVoid: "Null", - /** Lookup200: pallet_proxy::pallet::Call */ + /** Lookup205: pallet_proxy::pallet::Call */ PalletProxyCall: { _enum: { proxy: { @@ -1971,11 +2031,11 @@ export default { }, }, }, - /** Lookup204: pallet_maintenance_mode::pallet::Call */ + /** Lookup209: pallet_maintenance_mode::pallet::Call */ PalletMaintenanceModeCall: { _enum: ["enter_maintenance_mode", "resume_normal_operation"], }, - /** Lookup205: pallet_tx_pause::pallet::Call */ + /** Lookup210: pallet_tx_pause::pallet::Call */ PalletTxPauseCall: { _enum: { pause: { @@ -1986,7 +2046,7 @@ export default { }, }, }, - /** Lookup206: pallet_balances::pallet::Call */ + /** Lookup211: pallet_balances::pallet::Call */ PalletBalancesCall: { _enum: { transfer_allow_death: { @@ -2021,14 +2081,14 @@ export default { }, }, }, - /** Lookup207: pallet_identity::pallet::Call */ + /** Lookup212: pallet_identity::pallet::Call */ PalletIdentityCall: { _enum: { add_registrar: { account: "MultiAddress", }, set_identity: { - info: "PalletIdentitySimpleIdentityInfo", + info: "PalletIdentityLegacyIdentityInfo", }, set_subs: { subs: "Vec<(AccountId32,Data)>", @@ -2054,7 +2114,7 @@ export default { }, set_fields: { index: "Compact", - fields: "PalletIdentityBitFlags", + fields: "u64", }, provide_judgement: { regIndex: "Compact", @@ -2077,10 +2137,35 @@ export default { sub: "MultiAddress", }, quit_sub: "Null", + add_username_authority: { + authority: "MultiAddress", + suffix: "Bytes", + allocation: "u32", + }, + remove_username_authority: { + authority: "MultiAddress", + }, + set_username_for: { + who: "MultiAddress", + username: "Bytes", + signature: "Option", + }, + accept_username: { + username: "Bytes", + }, + remove_expired_approval: { + username: "Bytes", + }, + set_primary_username: { + username: "Bytes", + }, + remove_dangling_username: { + username: "Bytes", + }, }, }, - /** Lookup208: pallet_identity::simple::IdentityInfo */ - PalletIdentitySimpleIdentityInfo: { + /** Lookup213: pallet_identity::legacy::IdentityInfo */ + PalletIdentityLegacyIdentityInfo: { additional: "Vec<(Data,Data)>", display: "Data", legal: "Data", @@ -2091,23 +2176,7 @@ export default { image: "Data", twitter: "Data", }, - /** Lookup244: pallet_identity::types::BitFlags */ - PalletIdentityBitFlags: { - _bitLength: 64, - Display: 0, - Legal: 1, - Web: 2, - Riot: 3, - Email: 4, - PgpFingerprint: 5, - Image: 6, - Twitter: 7, - }, - /** Lookup245: pallet_identity::simple::IdentityField */ - PalletIdentitySimpleIdentityField: { - _enum: ["Display", "Legal", "Web", "Riot", "Email", "PgpFingerprint", "Image", "Twitter"], - }, - /** Lookup246: pallet_identity::types::Judgement */ + /** Lookup249: pallet_identity::types::Judgement */ PalletIdentityJudgement: { _enum: { Unknown: "Null", @@ -2119,7 +2188,21 @@ export default { Erroneous: "Null", }, }, - /** Lookup247: pallet_registrar::pallet::Call */ + /** Lookup251: sp_runtime::MultiSignature */ + SpRuntimeMultiSignature: { + _enum: { + Ed25519: "SpCoreEd25519Signature", + Sr25519: "SpCoreSr25519Signature", + Ecdsa: "SpCoreEcdsaSignature", + }, + }, + /** Lookup252: sp_core::ed25519::Signature */ + SpCoreEd25519Signature: "[u8;64]", + /** Lookup254: sp_core::sr25519::Signature */ + SpCoreSr25519Signature: "[u8;64]", + /** Lookup255: sp_core::ecdsa::Signature */ + SpCoreEcdsaSignature: "[u8;65]", + /** Lookup257: pallet_registrar::pallet::Call */ PalletRegistrarCall: { _enum: { register: { @@ -2141,7 +2224,7 @@ export default { }, }, }, - /** Lookup248: tp_container_chain_genesis_data::ContainerChainGenesisData */ + /** Lookup258: tp_container_chain_genesis_data::ContainerChainGenesisData */ TpContainerChainGenesisDataContainerChainGenesisData: { storage: "Vec", name: "Bytes", @@ -2150,23 +2233,23 @@ export default { extensions: "Bytes", properties: "TpContainerChainGenesisDataProperties", }, - /** Lookup250: tp_container_chain_genesis_data::ContainerChainGenesisDataItem */ + /** Lookup260: tp_container_chain_genesis_data::ContainerChainGenesisDataItem */ TpContainerChainGenesisDataContainerChainGenesisDataItem: { key: "Bytes", value: "Bytes", }, - /** Lookup252: tp_container_chain_genesis_data::Properties */ + /** Lookup262: tp_container_chain_genesis_data::Properties */ TpContainerChainGenesisDataProperties: { tokenMetadata: "TpContainerChainGenesisDataTokenMetadata", isEthereum: "bool", }, - /** Lookup253: tp_container_chain_genesis_data::TokenMetadata */ + /** Lookup263: tp_container_chain_genesis_data::TokenMetadata */ TpContainerChainGenesisDataTokenMetadata: { tokenSymbol: "Bytes", ss58Format: "u32", tokenDecimals: "u32", }, - /** Lookup255: pallet_configuration::pallet::Call */ + /** Lookup265: pallet_configuration::pallet::Call */ PalletConfigurationCall: { _enum: { set_max_collators: { @@ -2261,9 +2344,9 @@ export default { }, }, }, - /** Lookup257: pallet_collator_assignment::pallet::Call */ + /** Lookup267: pallet_collator_assignment::pallet::Call */ PalletCollatorAssignmentCall: "Null", - /** Lookup258: pallet_author_noting::pallet::Call */ + /** Lookup268: pallet_author_noting::pallet::Call */ PalletAuthorNotingCall: { _enum: { set_latest_author_data: { @@ -2279,13 +2362,13 @@ export default { }, }, }, - /** Lookup259: tp_author_noting_inherent::OwnParachainInherentData */ + /** Lookup269: tp_author_noting_inherent::OwnParachainInherentData */ TpAuthorNotingInherentOwnParachainInherentData: { relayStorageProof: "SpTrieStorageProof", }, - /** Lookup260: pallet_authority_assignment::pallet::Call */ + /** Lookup270: pallet_authority_assignment::pallet::Call */ PalletAuthorityAssignmentCall: "Null", - /** Lookup261: pallet_services_payment::pallet::Call */ + /** Lookup271: pallet_services_payment::pallet::Call */ PalletServicesPaymentCall: { _enum: { purchase_credits: { @@ -2303,7 +2386,7 @@ export default { }, }, }, - /** Lookup263: pallet_data_preservers::pallet::Call */ + /** Lookup273: pallet_data_preservers::pallet::Call */ PalletDataPreserversCall: { _enum: { set_boot_nodes: { @@ -2312,7 +2395,7 @@ export default { }, }, }, - /** Lookup267: pallet_invulnerables::pallet::Call */ + /** Lookup277: pallet_invulnerables::pallet::Call */ PalletInvulnerablesCall: { _enum: { set_invulnerables: { @@ -2329,7 +2412,7 @@ export default { }, }, }, - /** Lookup268: pallet_session::pallet::Call */ + /** Lookup278: pallet_session::pallet::Call */ PalletSessionCall: { _enum: { set_keys: { @@ -2342,19 +2425,19 @@ export default { purge_keys: "Null", }, }, - /** Lookup269: dancebox_runtime::SessionKeys */ + /** Lookup279: dancebox_runtime::SessionKeys */ DanceboxRuntimeSessionKeys: { nimbus: "NimbusPrimitivesNimbusCryptoPublic", }, - /** Lookup270: nimbus_primitives::nimbus_crypto::Public */ + /** Lookup280: nimbus_primitives::nimbus_crypto::Public */ NimbusPrimitivesNimbusCryptoPublic: "SpCoreSr25519Public", - /** Lookup271: sp_core::sr25519::Public */ + /** Lookup281: sp_core::sr25519::Public */ SpCoreSr25519Public: "[u8;32]", - /** Lookup272: pallet_author_inherent::pallet::Call */ + /** Lookup282: pallet_author_inherent::pallet::Call */ PalletAuthorInherentCall: { _enum: ["kick_off_authorship_validation"], }, - /** Lookup273: pallet_pooled_staking::pallet::Call */ + /** Lookup283: pallet_pooled_staking::pallet::Call */ PalletPooledStakingCall: { _enum: { rebalance_hold: { @@ -2388,16 +2471,16 @@ export default { }, }, }, - /** Lookup274: pallet_pooled_staking::pallet::AllTargetPool */ + /** Lookup284: pallet_pooled_staking::pallet::AllTargetPool */ PalletPooledStakingAllTargetPool: { _enum: ["Joining", "AutoCompounding", "ManualRewards", "Leaving"], }, - /** Lookup276: pallet_pooled_staking::pallet::PendingOperationQuery */ + /** Lookup286: pallet_pooled_staking::pallet::PendingOperationQuery */ PalletPooledStakingPendingOperationQuery: { delegator: "AccountId32", operation: "PalletPooledStakingPendingOperationKey", }, - /** Lookup277: pallet_pooled_staking::pallet::PendingOperationKey */ + /** Lookup287: pallet_pooled_staking::pallet::PendingOperationKey */ PalletPooledStakingPendingOperationKey: { _enum: { JoiningAutoCompounding: { @@ -2414,20 +2497,17 @@ export default { }, }, }, - /** Lookup278: pallet_pooled_staking::pallet::SharesOrStake */ + /** Lookup288: pallet_pooled_staking::pallet::SharesOrStake */ PalletPooledStakingSharesOrStake: { _enum: { Shares: "u128", Stake: "u128", }, }, - /** Lookup281: cumulus_pallet_xcmp_queue::pallet::Call */ + /** Lookup291: cumulus_pallet_xcmp_queue::pallet::Call */ CumulusPalletXcmpQueueCall: { _enum: { - service_overweight: { - index: "u64", - weightLimit: "SpWeightsWeightV2Weight", - }, + __Unused0: "Null", suspend_xcm_execution: "Null", resume_xcm_execution: "Null", update_suspend_threshold: { @@ -2448,36 +2528,11 @@ export default { }, new_: "u32", }, - update_threshold_weight: { - _alias: { - new_: "new", - }, - new_: "SpWeightsWeightV2Weight", - }, - update_weight_restrict_decay: { - _alias: { - new_: "new", - }, - new_: "SpWeightsWeightV2Weight", - }, - update_xcmp_max_individual_weight: { - _alias: { - new_: "new", - }, - new_: "SpWeightsWeightV2Weight", - }, }, }, - /** Lookup282: cumulus_pallet_dmp_queue::pallet::Call */ - CumulusPalletDmpQueueCall: { - _enum: { - service_overweight: { - index: "u64", - weightLimit: "SpWeightsWeightV2Weight", - }, - }, - }, - /** Lookup283: pallet_xcm::pallet::Call */ + /** Lookup292: cumulus_pallet_dmp_queue::pallet::Call */ + CumulusPalletDmpQueueCall: "Null", + /** Lookup293: pallet_xcm::pallet::Call */ PalletXcmCall: { _enum: { send: { @@ -2530,9 +2585,16 @@ export default { force_suspension: { suspended: "bool", }, + transfer_assets: { + dest: "XcmVersionedMultiLocation", + beneficiary: "XcmVersionedMultiLocation", + assets: "XcmVersionedMultiAssets", + feeAssetItem: "u32", + weightLimit: "XcmV3WeightLimit", + }, }, }, - /** Lookup284: xcm::VersionedXcm */ + /** Lookup294: xcm::VersionedXcm */ XcmVersionedXcm: { _enum: { __Unused0: "Null", @@ -2541,9 +2603,9 @@ export default { V3: "XcmV3Xcm", }, }, - /** Lookup285: xcm::v2::Xcm */ + /** Lookup295: xcm::v2::Xcm */ XcmV2Xcm: "Vec", - /** Lookup287: xcm::v2::Instruction */ + /** Lookup297: xcm::v2::Instruction */ XcmV2Instruction: { _enum: { WithdrawAsset: "XcmV2MultiassetMultiAssets", @@ -2639,7 +2701,7 @@ export default { UnsubscribeVersion: "Null", }, }, - /** Lookup288: xcm::v2::Response */ + /** Lookup298: xcm::v2::Response */ XcmV2Response: { _enum: { Null: "Null", @@ -2648,7 +2710,7 @@ export default { Version: "u32", }, }, - /** Lookup291: xcm::v2::traits::Error */ + /** Lookup301: xcm::v2::traits::Error */ XcmV2TraitsError: { _enum: { Overflow: "Null", @@ -2679,14 +2741,14 @@ export default { WeightNotComputable: "Null", }, }, - /** Lookup292: xcm::v2::multiasset::MultiAssetFilter */ + /** Lookup302: xcm::v2::multiasset::MultiAssetFilter */ XcmV2MultiassetMultiAssetFilter: { _enum: { Definite: "XcmV2MultiassetMultiAssets", Wild: "XcmV2MultiassetWildMultiAsset", }, }, - /** Lookup293: xcm::v2::multiasset::WildMultiAsset */ + /** Lookup303: xcm::v2::multiasset::WildMultiAsset */ XcmV2MultiassetWildMultiAsset: { _enum: { All: "Null", @@ -2696,18 +2758,18 @@ export default { }, }, }, - /** Lookup294: xcm::v2::multiasset::WildFungibility */ + /** Lookup304: xcm::v2::multiasset::WildFungibility */ XcmV2MultiassetWildFungibility: { _enum: ["Fungible", "NonFungible"], }, - /** Lookup295: xcm::v2::WeightLimit */ + /** Lookup305: xcm::v2::WeightLimit */ XcmV2WeightLimit: { _enum: { Unlimited: "Null", Limited: "Compact", }, }, - /** Lookup304: pallet_assets::pallet::Call */ + /** Lookup314: pallet_assets::pallet::Call */ PalletAssetsCall: { _enum: { create: { @@ -2857,7 +2919,7 @@ export default { }, }, }, - /** Lookup305: pallet_foreign_asset_creator::pallet::Call */ + /** Lookup315: pallet_foreign_asset_creator::pallet::Call */ PalletForeignAssetCreatorCall: { _enum: { create_foreign_asset: { @@ -2879,7 +2941,7 @@ export default { }, }, }, - /** Lookup306: pallet_asset_rate::pallet::Call */ + /** Lookup316: pallet_asset_rate::pallet::Call */ PalletAssetRateCall: { _enum: { create: { @@ -2895,35 +2957,51 @@ export default { }, }, }, - /** Lookup307: pallet_root_testing::pallet::Call */ + /** Lookup317: pallet_message_queue::pallet::Call */ + PalletMessageQueueCall: { + _enum: { + reap_page: { + messageOrigin: "CumulusPrimitivesCoreAggregateMessageOrigin", + pageIndex: "u32", + }, + execute_overweight: { + messageOrigin: "CumulusPrimitivesCoreAggregateMessageOrigin", + page: "u32", + index: "u32", + weightLimit: "SpWeightsWeightV2Weight", + }, + }, + }, + /** Lookup318: pallet_root_testing::pallet::Call */ PalletRootTestingCall: { _enum: { fill_block: { ratio: "Perbill", }, + trigger_defensive: "Null", }, }, - /** Lookup308: pallet_sudo::pallet::Error */ + /** Lookup319: pallet_sudo::pallet::Error */ PalletSudoError: { _enum: ["RequireSudo"], }, - /** Lookup309: pallet_utility::pallet::Error */ + /** Lookup320: pallet_utility::pallet::Error */ PalletUtilityError: { _enum: ["TooManyCalls"], }, - /** Lookup312: pallet_proxy::ProxyDefinition */ + /** Lookup323: pallet_proxy::ProxyDefinition */ PalletProxyProxyDefinition: { delegate: "AccountId32", proxyType: "DanceboxRuntimeProxyType", delay: "u32", }, - /** Lookup316: pallet_proxy::Announcement */ + /** Lookup327: pallet_proxy::Announcement */ PalletProxyAnnouncement: { real: "AccountId32", callHash: "H256", height: "u32", }, - /** Lookup318: pallet_proxy::pallet::Error */ + /** Lookup329: pallet_proxy::pallet::Error */ PalletProxyError: { _enum: [ "TooMany", @@ -2936,34 +3014,34 @@ export default { "NoSelfProxy", ], }, - /** Lookup319: pallet_migrations::pallet::Error */ + /** Lookup330: pallet_migrations::pallet::Error */ PalletMigrationsError: { _enum: ["PreimageMissing", "WrongUpperBound", "PreimageIsTooBig", "PreimageAlreadyExists"], }, - /** Lookup320: pallet_maintenance_mode::pallet::Error */ + /** Lookup331: pallet_maintenance_mode::pallet::Error */ PalletMaintenanceModeError: { _enum: ["AlreadyInMaintenanceMode", "NotInMaintenanceMode"], }, - /** Lookup321: pallet_tx_pause::pallet::Error */ + /** Lookup332: pallet_tx_pause::pallet::Error */ PalletTxPauseError: { _enum: ["IsPaused", "IsUnpaused", "Unpausable", "NotFound"], }, - /** Lookup323: pallet_balances::types::BalanceLock */ + /** Lookup334: pallet_balances::types::BalanceLock */ PalletBalancesBalanceLock: { id: "[u8;8]", amount: "u128", reasons: "PalletBalancesReasons", }, - /** Lookup324: pallet_balances::types::Reasons */ + /** Lookup335: pallet_balances::types::Reasons */ PalletBalancesReasons: { _enum: ["Fee", "Misc", "All"], }, - /** Lookup327: pallet_balances::types::ReserveData */ + /** Lookup338: pallet_balances::types::ReserveData */ PalletBalancesReserveData: { id: "[u8;8]", amount: "u128", }, - /** Lookup331: dancebox_runtime::RuntimeHoldReason */ + /** Lookup342: dancebox_runtime::RuntimeHoldReason */ DanceboxRuntimeRuntimeHoldReason: { _enum: { __Unused0: "Null", @@ -3003,16 +3081,16 @@ export default { PooledStaking: "PalletPooledStakingHoldReason", }, }, - /** Lookup332: pallet_pooled_staking::pallet::HoldReason */ + /** Lookup343: pallet_pooled_staking::pallet::HoldReason */ PalletPooledStakingHoldReason: { _enum: ["PooledStake"], }, - /** Lookup335: pallet_balances::types::IdAmount */ + /** Lookup346: pallet_balances::types::IdAmount */ PalletBalancesIdAmount: { id: "[u8;8]", amount: "u128", }, - /** Lookup337: pallet_balances::pallet::Error */ + /** Lookup348: pallet_balances::pallet::Error */ PalletBalancesError: { _enum: [ "VestingBalance", @@ -3027,26 +3105,28 @@ export default { "TooManyFreezes", ], }, - /** Lookup338: pallet_transaction_payment::Releases */ + /** Lookup349: pallet_transaction_payment::Releases */ PalletTransactionPaymentReleases: { _enum: ["V1Ancient", "V2"], }, - /** Lookup339: pallet_identity::types::Registration> */ + /** Lookup351: pallet_identity::types::Registration> */ PalletIdentityRegistration: { judgements: "Vec<(u32,PalletIdentityJudgement)>", deposit: "u128", - info: "PalletIdentitySimpleIdentityInfo", + info: "PalletIdentityLegacyIdentityInfo", }, - /** - * Lookup347: pallet_identity::types::RegistrarInfo - */ + /** Lookup360: pallet_identity::types::RegistrarInfo */ PalletIdentityRegistrarInfo: { account: "AccountId32", fee: "u128", - fields: "PalletIdentityBitFlags", + fields: "u64", + }, + /** Lookup362: pallet_identity::types::AuthorityProperties> */ + PalletIdentityAuthorityProperties: { + suffix: "Bytes", + allocation: "u32", }, - /** Lookup349: pallet_identity::pallet::Error */ + /** Lookup365: pallet_identity::pallet::Error */ PalletIdentityError: { _enum: [ "TooManySubAccounts", @@ -3060,21 +3140,29 @@ export default { "InvalidJudgement", "InvalidIndex", "InvalidTarget", - "TooManyFields", "TooManyRegistrars", "AlreadyClaimed", "NotSub", "NotOwned", "JudgementForDifferentIdentity", "JudgementPaymentFailed", + "InvalidSuffix", + "NotUsernameAuthority", + "NoAllocation", + "InvalidSignature", + "RequiresSignature", + "InvalidUsername", + "UsernameTaken", + "NoUsername", + "NotExpired", ], }, - /** Lookup354: pallet_registrar::pallet::DepositInfo */ + /** Lookup370: pallet_registrar::pallet::DepositInfo */ PalletRegistrarDepositInfo: { creator: "AccountId32", deposit: "u128", }, - /** Lookup355: pallet_registrar::pallet::Error */ + /** Lookup371: pallet_registrar::pallet::Error */ PalletRegistrarError: { _enum: [ "ParaIdAlreadyRegistered", @@ -3088,7 +3176,7 @@ export default { "NotSufficientDeposit", ], }, - /** Lookup356: pallet_configuration::HostConfiguration */ + /** Lookup372: pallet_configuration::HostConfiguration */ PalletConfigurationHostConfiguration: { maxCollators: "u32", minOrchestratorCollators: "u32", @@ -3099,21 +3187,21 @@ export default { parathreadsPerCollator: "u32", targetContainerChainFullness: "Perbill", }, - /** Lookup359: pallet_configuration::pallet::Error */ + /** Lookup375: pallet_configuration::pallet::Error */ PalletConfigurationError: { _enum: ["InvalidNewValue"], }, - /** Lookup360: dp_collator_assignment::AssignedCollators */ + /** Lookup376: dp_collator_assignment::AssignedCollators */ DpCollatorAssignmentAssignedCollatorsAccountId32: { orchestratorChain: "Vec", containerChains: "BTreeMap>", }, - /** Lookup365: pallet_author_noting::pallet::ContainerChainBlockInfo */ + /** Lookup381: pallet_author_noting::pallet::ContainerChainBlockInfo */ PalletAuthorNotingContainerChainBlockInfo: { blockNumber: "u32", author: "AccountId32", }, - /** Lookup366: pallet_author_noting::pallet::Error */ + /** Lookup382: pallet_author_noting::pallet::Error */ PalletAuthorNotingError: { _enum: [ "FailedReading", @@ -3125,39 +3213,39 @@ export default { "NonAuraDigest", ], }, - /** Lookup367: dp_collator_assignment::AssignedCollators */ + /** Lookup383: dp_collator_assignment::AssignedCollators */ DpCollatorAssignmentAssignedCollatorsPublic: { orchestratorChain: "Vec", containerChains: "BTreeMap>", }, - /** Lookup372: pallet_services_payment::pallet::Error */ + /** Lookup388: pallet_services_payment::pallet::Error */ PalletServicesPaymentError: { _enum: ["InsufficientFundsToPurchaseCredits", "InsufficientCredits", "CreditPriceTooExpensive"], }, - /** Lookup373: pallet_data_preservers::pallet::Error */ + /** Lookup389: pallet_data_preservers::pallet::Error */ PalletDataPreserversError: { _enum: ["NoBootNodes"], }, - /** Lookup375: pallet_invulnerables::pallet::Error */ + /** Lookup391: pallet_invulnerables::pallet::Error */ PalletInvulnerablesError: { _enum: ["TooManyInvulnerables", "AlreadyInvulnerable", "NotInvulnerable"], }, - /** Lookup380: sp_core::crypto::KeyTypeId */ + /** Lookup396: sp_core::crypto::KeyTypeId */ SpCoreCryptoKeyTypeId: "[u8;4]", - /** Lookup381: pallet_session::pallet::Error */ + /** Lookup397: pallet_session::pallet::Error */ PalletSessionError: { _enum: ["InvalidProof", "NoAssociatedValidatorId", "DuplicatedKey", "NoKeys", "NoAccount"], }, - /** Lookup385: pallet_author_inherent::pallet::Error */ + /** Lookup401: pallet_author_inherent::pallet::Error */ PalletAuthorInherentError: { _enum: ["AuthorAlreadySet", "NoAccountId", "CannotBeAuthor"], }, - /** Lookup387: pallet_pooled_staking::candidate::EligibleCandidate */ + /** Lookup403: pallet_pooled_staking::candidate::EligibleCandidate */ PalletPooledStakingCandidateEligibleCandidate: { candidate: "AccountId32", stake: "u128", }, - /** Lookup390: pallet_pooled_staking::pallet::PoolsKey */ + /** Lookup406: pallet_pooled_staking::pallet::PoolsKey */ PalletPooledStakingPoolsKey: { _enum: { CandidateTotalStake: "Null", @@ -3199,7 +3287,7 @@ export default { }, }, }, - /** Lookup392: pallet_pooled_staking::pallet::Error */ + /** Lookup408: pallet_pooled_staking::pallet::Error */ PalletPooledStakingError: { _enum: { InvalidPalletSetting: "Null", @@ -3218,26 +3306,12 @@ export default { SwapResultsInZeroShares: "Null", }, }, - /** Lookup393: pallet_inflation_rewards::pallet::ChainsToRewardValue */ + /** Lookup409: pallet_inflation_rewards::pallet::ChainsToRewardValue */ PalletInflationRewardsChainsToRewardValue: { paraIds: "Vec", rewardsPerChain: "u128", }, - /** Lookup395: cumulus_pallet_xcmp_queue::InboundChannelDetails */ - CumulusPalletXcmpQueueInboundChannelDetails: { - sender: "u32", - state: "CumulusPalletXcmpQueueInboundState", - messageMetadata: "Vec<(u32,PolkadotParachainPrimitivesPrimitivesXcmpMessageFormat)>", - }, - /** Lookup396: cumulus_pallet_xcmp_queue::InboundState */ - CumulusPalletXcmpQueueInboundState: { - _enum: ["Ok", "Suspended"], - }, - /** Lookup399: polkadot_parachain_primitives::primitives::XcmpMessageFormat */ - PolkadotParachainPrimitivesPrimitivesXcmpMessageFormat: { - _enum: ["ConcatenatedVersionedXcm", "ConcatenatedEncodedBlob", "Signals"], - }, - /** Lookup402: cumulus_pallet_xcmp_queue::OutboundChannelDetails */ + /** Lookup413: cumulus_pallet_xcmp_queue::OutboundChannelDetails */ CumulusPalletXcmpQueueOutboundChannelDetails: { recipient: "u32", state: "CumulusPalletXcmpQueueOutboundState", @@ -3245,40 +3319,39 @@ export default { firstIndex: "u16", lastIndex: "u16", }, - /** Lookup403: cumulus_pallet_xcmp_queue::OutboundState */ + /** Lookup414: cumulus_pallet_xcmp_queue::OutboundState */ CumulusPalletXcmpQueueOutboundState: { _enum: ["Ok", "Suspended"], }, - /** Lookup405: cumulus_pallet_xcmp_queue::QueueConfigData */ + /** Lookup416: cumulus_pallet_xcmp_queue::QueueConfigData */ CumulusPalletXcmpQueueQueueConfigData: { suspendThreshold: "u32", dropThreshold: "u32", resumeThreshold: "u32", - thresholdWeight: "SpWeightsWeightV2Weight", - weightRestrictDecay: "SpWeightsWeightV2Weight", - xcmpMaxIndividualWeight: "SpWeightsWeightV2Weight", }, - /** Lookup407: cumulus_pallet_xcmp_queue::pallet::Error */ + /** Lookup417: cumulus_pallet_xcmp_queue::pallet::Error */ CumulusPalletXcmpQueueError: { - _enum: ["FailedToSend", "BadXcmOrigin", "BadXcm", "BadOverweightIndex", "WeightOverLimit"], + _enum: ["BadQueueConfig", "AlreadySuspended", "AlreadyResumed"], }, - /** Lookup408: cumulus_pallet_xcm::pallet::Error */ - CumulusPalletXcmError: "Null", - /** Lookup409: cumulus_pallet_dmp_queue::ConfigData */ - CumulusPalletDmpQueueConfigData: { - maxIndividual: "SpWeightsWeightV2Weight", - }, - /** Lookup410: cumulus_pallet_dmp_queue::PageIndexData */ - CumulusPalletDmpQueuePageIndexData: { - beginUsed: "u32", - endUsed: "u32", - overweightCount: "u64", - }, - /** Lookup413: cumulus_pallet_dmp_queue::pallet::Error */ - CumulusPalletDmpQueueError: { - _enum: ["Unknown", "OverLimit"], + /** Lookup418: cumulus_pallet_dmp_queue::pallet::MigrationState */ + CumulusPalletDmpQueueMigrationState: { + _enum: { + NotStarted: "Null", + StartedExport: { + nextBeginUsed: "u32", + }, + CompletedExport: "Null", + StartedOverweightExport: { + nextOverweightIndex: "u64", + }, + CompletedOverweightExport: "Null", + StartedCleanup: { + cursor: "Option", + }, + Completed: "Null", + }, }, - /** Lookup414: pallet_xcm::pallet::QueryStatus */ + /** Lookup421: pallet_xcm::pallet::QueryStatus */ PalletXcmQueryStatus: { _enum: { Pending: { @@ -3297,7 +3370,7 @@ export default { }, }, }, - /** Lookup418: xcm::VersionedResponse */ + /** Lookup425: xcm::VersionedResponse */ XcmVersionedResponse: { _enum: { __Unused0: "Null", @@ -3306,7 +3379,7 @@ export default { V3: "XcmV3Response", }, }, - /** Lookup424: pallet_xcm::pallet::VersionMigrationStage */ + /** Lookup431: pallet_xcm::pallet::VersionMigrationStage */ PalletXcmVersionMigrationStage: { _enum: { MigrateSupportedVersion: "Null", @@ -3315,7 +3388,7 @@ export default { MigrateAndNotifyOldTargets: "Null", }, }, - /** Lookup426: xcm::VersionedAssetId */ + /** Lookup433: xcm::VersionedAssetId */ XcmVersionedAssetId: { _enum: { __Unused0: "Null", @@ -3324,14 +3397,14 @@ export default { V3: "XcmV3MultiassetAssetId", }, }, - /** Lookup427: pallet_xcm::pallet::RemoteLockedFungibleRecord */ + /** Lookup434: pallet_xcm::pallet::RemoteLockedFungibleRecord */ PalletXcmRemoteLockedFungibleRecord: { amount: "u128", owner: "XcmVersionedMultiLocation", locker: "XcmVersionedMultiLocation", consumers: "Vec<(Null,u128)>", }, - /** Lookup434: pallet_xcm::pallet::Error */ + /** Lookup441: pallet_xcm::pallet::Error */ PalletXcmError: { _enum: [ "Unreachable", @@ -3347,16 +3420,21 @@ export default { "BadLocation", "NoSubscription", "AlreadySubscribed", - "InvalidAsset", + "CannotCheckOutTeleport", "LowBalance", "TooManyLocks", "AccountNotSovereign", "FeesNotMet", "LockNotFound", "InUse", + "InvalidAssetNotConcrete", + "InvalidAssetUnknownReserve", + "InvalidAssetUnsupportedReserve", + "TooManyReserves", + "LocalExecutionIncomplete", ], }, - /** Lookup435: pallet_assets::types::AssetDetails */ + /** Lookup442: pallet_assets::types::AssetDetails */ PalletAssetsAssetDetails: { owner: "AccountId32", issuer: "AccountId32", @@ -3371,22 +3449,22 @@ export default { approvals: "u32", status: "PalletAssetsAssetStatus", }, - /** Lookup436: pallet_assets::types::AssetStatus */ + /** Lookup443: pallet_assets::types::AssetStatus */ PalletAssetsAssetStatus: { _enum: ["Live", "Frozen", "Destroying"], }, - /** Lookup438: pallet_assets::types::AssetAccount */ + /** Lookup445: pallet_assets::types::AssetAccount */ PalletAssetsAssetAccount: { balance: "u128", status: "PalletAssetsAccountStatus", reason: "PalletAssetsExistenceReason", extra: "Null", }, - /** Lookup439: pallet_assets::types::AccountStatus */ + /** Lookup446: pallet_assets::types::AccountStatus */ PalletAssetsAccountStatus: { _enum: ["Liquid", "Frozen", "Blocked"], }, - /** Lookup440: pallet_assets::types::ExistenceReason */ + /** Lookup447: pallet_assets::types::ExistenceReason */ PalletAssetsExistenceReason: { _enum: { Consumer: "Null", @@ -3396,12 +3474,12 @@ export default { DepositFrom: "(AccountId32,u128)", }, }, - /** Lookup442: pallet_assets::types::Approval */ + /** Lookup449: pallet_assets::types::Approval */ PalletAssetsApproval: { amount: "u128", deposit: "u128", }, - /** Lookup443: pallet_assets::types::AssetMetadata> */ + /** Lookup450: pallet_assets::types::AssetMetadata> */ PalletAssetsAssetMetadata: { deposit: "u128", name: "Bytes", @@ -3409,7 +3487,7 @@ export default { decimals: "u8", isFrozen: "bool", }, - /** Lookup445: pallet_assets::pallet::Error */ + /** Lookup452: pallet_assets::pallet::Error */ PalletAssetsError: { _enum: [ "BalanceLow", @@ -3434,42 +3512,68 @@ export default { "CallbackFailed", ], }, - /** Lookup446: pallet_foreign_asset_creator::pallet::Error */ + /** Lookup453: pallet_foreign_asset_creator::pallet::Error */ PalletForeignAssetCreatorError: { _enum: ["AssetAlreadyExists", "AssetDoesNotExist"], }, - /** Lookup447: pallet_asset_rate::pallet::Error */ + /** Lookup454: pallet_asset_rate::pallet::Error */ PalletAssetRateError: { _enum: ["UnknownAssetKind", "AlreadyExists"], }, - /** Lookup452: sp_runtime::MultiSignature */ - SpRuntimeMultiSignature: { - _enum: { - Ed25519: "SpCoreEd25519Signature", - Sr25519: "SpCoreSr25519Signature", - Ecdsa: "SpCoreEcdsaSignature", - }, + /** Lookup455: pallet_message_queue::BookState */ + PalletMessageQueueBookState: { + _alias: { + size_: "size", + }, + begin: "u32", + end: "u32", + count: "u32", + readyNeighbours: "Option", + messageCount: "u64", + size_: "u64", + }, + /** Lookup457: pallet_message_queue::Neighbours */ + PalletMessageQueueNeighbours: { + prev: "CumulusPrimitivesCoreAggregateMessageOrigin", + next: "CumulusPrimitivesCoreAggregateMessageOrigin", + }, + /** Lookup459: pallet_message_queue::Page */ + PalletMessageQueuePage: { + remaining: "u32", + remainingSize: "u32", + firstIndex: "u32", + first: "u32", + last: "u32", + heap: "Bytes", }, - /** Lookup453: sp_core::ed25519::Signature */ - SpCoreEd25519Signature: "[u8;64]", - /** Lookup455: sp_core::sr25519::Signature */ - SpCoreSr25519Signature: "[u8;64]", - /** Lookup456: sp_core::ecdsa::Signature */ - SpCoreEcdsaSignature: "[u8;65]", - /** Lookup459: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender */ + /** Lookup461: pallet_message_queue::pallet::Error */ + PalletMessageQueueError: { + _enum: [ + "NotReapable", + "NoPage", + "NoMessage", + "AlreadyProcessed", + "Queued", + "InsufficientWeight", + "TemporarilyUnprocessable", + "QueuePaused", + "RecursiveDisallowed", + ], + }, + /** Lookup467: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender */ FrameSystemExtensionsCheckNonZeroSender: "Null", - /** Lookup460: frame_system::extensions::check_spec_version::CheckSpecVersion */ + /** Lookup468: frame_system::extensions::check_spec_version::CheckSpecVersion */ FrameSystemExtensionsCheckSpecVersion: "Null", - /** Lookup461: frame_system::extensions::check_tx_version::CheckTxVersion */ + /** Lookup469: frame_system::extensions::check_tx_version::CheckTxVersion */ FrameSystemExtensionsCheckTxVersion: "Null", - /** Lookup462: frame_system::extensions::check_genesis::CheckGenesis */ + /** Lookup470: frame_system::extensions::check_genesis::CheckGenesis */ FrameSystemExtensionsCheckGenesis: "Null", - /** Lookup465: frame_system::extensions::check_nonce::CheckNonce */ + /** Lookup473: frame_system::extensions::check_nonce::CheckNonce */ FrameSystemExtensionsCheckNonce: "Compact", - /** Lookup466: frame_system::extensions::check_weight::CheckWeight */ + /** Lookup474: frame_system::extensions::check_weight::CheckWeight */ FrameSystemExtensionsCheckWeight: "Null", - /** Lookup467: pallet_transaction_payment::ChargeTransactionPayment */ + /** Lookup475: pallet_transaction_payment::ChargeTransactionPayment */ PalletTransactionPaymentChargeTransactionPayment: "Compact", - /** Lookup468: dancebox_runtime::Runtime */ + /** Lookup476: dancebox_runtime::Runtime */ DanceboxRuntimeRuntime: "Null", }; diff --git a/typescript-api/src/dancebox/interfaces/registry.ts b/typescript-api/src/dancebox/interfaces/registry.ts index 127b7c504..e2cd5fb48 100644 --- a/typescript-api/src/dancebox/interfaces/registry.ts +++ b/typescript-api/src/dancebox/interfaces/registry.ts @@ -7,12 +7,9 @@ import "@polkadot/types/types/registry"; import type { CumulusPalletDmpQueueCall, - CumulusPalletDmpQueueConfigData, - CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, - CumulusPalletDmpQueuePageIndexData, + CumulusPalletDmpQueueMigrationState, CumulusPalletParachainSystemCall, - CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, @@ -21,17 +18,15 @@ import type { CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate, CumulusPalletParachainSystemUnincludedSegmentSegmentTracker, CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth, - CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, - CumulusPalletXcmpQueueInboundChannelDetails, - CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, + CumulusPrimitivesCoreAggregateMessageOrigin, CumulusPrimitivesParachainInherentParachainInherentData, DanceboxRuntimeOriginCaller, DanceboxRuntimeProxyType, @@ -47,9 +42,11 @@ import type { FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, + FrameSupportMessagesProcessMessageError, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, + FrameSystemCodeUpgradeAuthorization, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, @@ -104,15 +101,14 @@ import type { PalletForeignAssetCreatorCall, PalletForeignAssetCreatorError, PalletForeignAssetCreatorEvent, - PalletIdentityBitFlags, + PalletIdentityAuthorityProperties, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityJudgement, + PalletIdentityLegacyIdentityInfo, PalletIdentityRegistrarInfo, PalletIdentityRegistration, - PalletIdentitySimpleIdentityField, - PalletIdentitySimpleIdentityInfo, PalletInflationRewardsChainsToRewardValue, PalletInflationRewardsEvent, PalletInvulnerablesCall, @@ -121,6 +117,12 @@ import type { PalletMaintenanceModeCall, PalletMaintenanceModeError, PalletMaintenanceModeEvent, + PalletMessageQueueBookState, + PalletMessageQueueCall, + PalletMessageQueueError, + PalletMessageQueueEvent, + PalletMessageQueueNeighbours, + PalletMessageQueuePage, PalletMigrationsError, PalletMigrationsEvent, PalletPooledStakingAllTargetPool, @@ -144,6 +146,7 @@ import type { PalletRegistrarError, PalletRegistrarEvent, PalletRootTestingCall, + PalletRootTestingEvent, PalletServicesPaymentCall, PalletServicesPaymentError, PalletServicesPaymentEvent, @@ -170,11 +173,9 @@ import type { PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, - ParachainInfoCall, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, - PolkadotParachainPrimitivesPrimitivesXcmpMessageFormat, PolkadotPrimitivesV6AbridgedHostConfiguration, PolkadotPrimitivesV6AbridgedHrmpChannel, PolkadotPrimitivesV6AsyncBackingAsyncBackingParams, @@ -199,6 +200,7 @@ import type { SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, + StagingParachainInfoCall, StagingXcmV3MultiLocation, TpAuthorNotingInherentOwnParachainInherentData, TpContainerChainGenesisDataContainerChainGenesisData, @@ -258,12 +260,9 @@ import type { declare module "@polkadot/types/types/registry" { interface InterfaceTypes { CumulusPalletDmpQueueCall: CumulusPalletDmpQueueCall; - CumulusPalletDmpQueueConfigData: CumulusPalletDmpQueueConfigData; - CumulusPalletDmpQueueError: CumulusPalletDmpQueueError; CumulusPalletDmpQueueEvent: CumulusPalletDmpQueueEvent; - CumulusPalletDmpQueuePageIndexData: CumulusPalletDmpQueuePageIndexData; + CumulusPalletDmpQueueMigrationState: CumulusPalletDmpQueueMigrationState; CumulusPalletParachainSystemCall: CumulusPalletParachainSystemCall; - CumulusPalletParachainSystemCodeUpgradeAuthorization: CumulusPalletParachainSystemCodeUpgradeAuthorization; CumulusPalletParachainSystemError: CumulusPalletParachainSystemError; CumulusPalletParachainSystemEvent: CumulusPalletParachainSystemEvent; CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot; @@ -272,17 +271,15 @@ declare module "@polkadot/types/types/registry" { CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate: CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate; CumulusPalletParachainSystemUnincludedSegmentSegmentTracker: CumulusPalletParachainSystemUnincludedSegmentSegmentTracker; CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth: CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth; - CumulusPalletXcmError: CumulusPalletXcmError; CumulusPalletXcmEvent: CumulusPalletXcmEvent; CumulusPalletXcmOrigin: CumulusPalletXcmOrigin; CumulusPalletXcmpQueueCall: CumulusPalletXcmpQueueCall; CumulusPalletXcmpQueueError: CumulusPalletXcmpQueueError; CumulusPalletXcmpQueueEvent: CumulusPalletXcmpQueueEvent; - CumulusPalletXcmpQueueInboundChannelDetails: CumulusPalletXcmpQueueInboundChannelDetails; - CumulusPalletXcmpQueueInboundState: CumulusPalletXcmpQueueInboundState; CumulusPalletXcmpQueueOutboundChannelDetails: CumulusPalletXcmpQueueOutboundChannelDetails; CumulusPalletXcmpQueueOutboundState: CumulusPalletXcmpQueueOutboundState; CumulusPalletXcmpQueueQueueConfigData: CumulusPalletXcmpQueueQueueConfigData; + CumulusPrimitivesCoreAggregateMessageOrigin: CumulusPrimitivesCoreAggregateMessageOrigin; CumulusPrimitivesParachainInherentParachainInherentData: CumulusPrimitivesParachainInherentParachainInherentData; DanceboxRuntimeOriginCaller: DanceboxRuntimeOriginCaller; DanceboxRuntimeProxyType: DanceboxRuntimeProxyType; @@ -298,9 +295,11 @@ declare module "@polkadot/types/types/registry" { FrameSupportDispatchPerDispatchClassWeight: FrameSupportDispatchPerDispatchClassWeight; FrameSupportDispatchPerDispatchClassWeightsPerClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; FrameSupportDispatchRawOrigin: FrameSupportDispatchRawOrigin; + FrameSupportMessagesProcessMessageError: FrameSupportMessagesProcessMessageError; FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus; FrameSystemAccountInfo: FrameSystemAccountInfo; FrameSystemCall: FrameSystemCall; + FrameSystemCodeUpgradeAuthorization: FrameSystemCodeUpgradeAuthorization; FrameSystemError: FrameSystemError; FrameSystemEvent: FrameSystemEvent; FrameSystemEventRecord: FrameSystemEventRecord; @@ -355,15 +354,14 @@ declare module "@polkadot/types/types/registry" { PalletForeignAssetCreatorCall: PalletForeignAssetCreatorCall; PalletForeignAssetCreatorError: PalletForeignAssetCreatorError; PalletForeignAssetCreatorEvent: PalletForeignAssetCreatorEvent; - PalletIdentityBitFlags: PalletIdentityBitFlags; + PalletIdentityAuthorityProperties: PalletIdentityAuthorityProperties; PalletIdentityCall: PalletIdentityCall; PalletIdentityError: PalletIdentityError; PalletIdentityEvent: PalletIdentityEvent; PalletIdentityJudgement: PalletIdentityJudgement; + PalletIdentityLegacyIdentityInfo: PalletIdentityLegacyIdentityInfo; PalletIdentityRegistrarInfo: PalletIdentityRegistrarInfo; PalletIdentityRegistration: PalletIdentityRegistration; - PalletIdentitySimpleIdentityField: PalletIdentitySimpleIdentityField; - PalletIdentitySimpleIdentityInfo: PalletIdentitySimpleIdentityInfo; PalletInflationRewardsChainsToRewardValue: PalletInflationRewardsChainsToRewardValue; PalletInflationRewardsEvent: PalletInflationRewardsEvent; PalletInvulnerablesCall: PalletInvulnerablesCall; @@ -372,6 +370,12 @@ declare module "@polkadot/types/types/registry" { PalletMaintenanceModeCall: PalletMaintenanceModeCall; PalletMaintenanceModeError: PalletMaintenanceModeError; PalletMaintenanceModeEvent: PalletMaintenanceModeEvent; + PalletMessageQueueBookState: PalletMessageQueueBookState; + PalletMessageQueueCall: PalletMessageQueueCall; + PalletMessageQueueError: PalletMessageQueueError; + PalletMessageQueueEvent: PalletMessageQueueEvent; + PalletMessageQueueNeighbours: PalletMessageQueueNeighbours; + PalletMessageQueuePage: PalletMessageQueuePage; PalletMigrationsError: PalletMigrationsError; PalletMigrationsEvent: PalletMigrationsEvent; PalletPooledStakingAllTargetPool: PalletPooledStakingAllTargetPool; @@ -395,6 +399,7 @@ declare module "@polkadot/types/types/registry" { PalletRegistrarError: PalletRegistrarError; PalletRegistrarEvent: PalletRegistrarEvent; PalletRootTestingCall: PalletRootTestingCall; + PalletRootTestingEvent: PalletRootTestingEvent; PalletServicesPaymentCall: PalletServicesPaymentCall; PalletServicesPaymentError: PalletServicesPaymentError; PalletServicesPaymentEvent: PalletServicesPaymentEvent; @@ -421,11 +426,9 @@ declare module "@polkadot/types/types/registry" { PalletXcmQueryStatus: PalletXcmQueryStatus; PalletXcmRemoteLockedFungibleRecord: PalletXcmRemoteLockedFungibleRecord; PalletXcmVersionMigrationStage: PalletXcmVersionMigrationStage; - ParachainInfoCall: ParachainInfoCall; PolkadotCorePrimitivesInboundDownwardMessage: PolkadotCorePrimitivesInboundDownwardMessage; PolkadotCorePrimitivesInboundHrmpMessage: PolkadotCorePrimitivesInboundHrmpMessage; PolkadotCorePrimitivesOutboundHrmpMessage: PolkadotCorePrimitivesOutboundHrmpMessage; - PolkadotParachainPrimitivesPrimitivesXcmpMessageFormat: PolkadotParachainPrimitivesPrimitivesXcmpMessageFormat; PolkadotPrimitivesV6AbridgedHostConfiguration: PolkadotPrimitivesV6AbridgedHostConfiguration; PolkadotPrimitivesV6AbridgedHrmpChannel: PolkadotPrimitivesV6AbridgedHrmpChannel; PolkadotPrimitivesV6AsyncBackingAsyncBackingParams: PolkadotPrimitivesV6AsyncBackingAsyncBackingParams; @@ -450,6 +453,7 @@ declare module "@polkadot/types/types/registry" { SpVersionRuntimeVersion: SpVersionRuntimeVersion; SpWeightsRuntimeDbWeight: SpWeightsRuntimeDbWeight; SpWeightsWeightV2Weight: SpWeightsWeightV2Weight; + StagingParachainInfoCall: StagingParachainInfoCall; StagingXcmV3MultiLocation: StagingXcmV3MultiLocation; TpAuthorNotingInherentOwnParachainInherentData: TpAuthorNotingInherentOwnParachainInherentData; TpContainerChainGenesisDataContainerChainGenesisData: TpContainerChainGenesisDataContainerChainGenesisData; diff --git a/typescript-api/src/dancebox/interfaces/types-lookup.ts b/typescript-api/src/dancebox/interfaces/types-lookup.ts index ae95d81e7..64504e951 100644 --- a/typescript-api/src/dancebox/interfaces/types-lookup.ts +++ b/typescript-api/src/dancebox/interfaces/types-lookup.ts @@ -15,7 +15,6 @@ import type { Null, Option, Result, - Set, Struct, Text, U8aFixed, @@ -113,13 +112,19 @@ declare module "@polkadot/types/lookup" { readonly sender: AccountId32; readonly hash_: H256; } & Struct; + readonly isUpgradeAuthorized: boolean; + readonly asUpgradeAuthorized: { + readonly codeHash: H256; + readonly checkVersion: bool; + } & Struct; readonly type: | "ExtrinsicSuccess" | "ExtrinsicFailed" | "CodeUpdated" | "NewAccount" | "KilledAccount" - | "Remarked"; + | "Remarked" + | "UpgradeAuthorized"; } /** @name FrameSupportDispatchDispatchInfo (22) */ @@ -227,7 +232,7 @@ declare module "@polkadot/types/lookup" { readonly type: "LimitReached" | "NoLayer"; } - /** @name CumulusPalletParachainSystemEvent (30) */ + /** @name CumulusPalletParachainSystemEvent (31) */ interface CumulusPalletParachainSystemEvent extends Enum { readonly isValidationFunctionStored: boolean; readonly isValidationFunctionApplied: boolean; @@ -235,10 +240,6 @@ declare module "@polkadot/types/lookup" { readonly relayChainBlockNum: u32; } & Struct; readonly isValidationFunctionDiscarded: boolean; - readonly isUpgradeAuthorized: boolean; - readonly asUpgradeAuthorized: { - readonly codeHash: H256; - } & Struct; readonly isDownwardMessagesReceived: boolean; readonly asDownwardMessagesReceived: { readonly count: u32; @@ -256,13 +257,12 @@ declare module "@polkadot/types/lookup" { | "ValidationFunctionStored" | "ValidationFunctionApplied" | "ValidationFunctionDiscarded" - | "UpgradeAuthorized" | "DownwardMessagesReceived" | "DownwardMessagesProcessed" | "UpwardMessageSent"; } - /** @name PalletSudoEvent (32) */ + /** @name PalletSudoEvent (33) */ interface PalletSudoEvent extends Enum { readonly isSudid: boolean; readonly asSudid: { @@ -270,16 +270,18 @@ declare module "@polkadot/types/lookup" { } & Struct; readonly isKeyChanged: boolean; readonly asKeyChanged: { - readonly oldSudoer: Option; + readonly old: Option; + readonly new_: AccountId32; } & Struct; + readonly isKeyRemoved: boolean; readonly isSudoAsDone: boolean; readonly asSudoAsDone: { readonly sudoResult: Result; } & Struct; - readonly type: "Sudid" | "KeyChanged" | "SudoAsDone"; + readonly type: "Sudid" | "KeyChanged" | "KeyRemoved" | "SudoAsDone"; } - /** @name PalletUtilityEvent (36) */ + /** @name PalletUtilityEvent (37) */ interface PalletUtilityEvent extends Enum { readonly isBatchInterrupted: boolean; readonly asBatchInterrupted: { @@ -306,7 +308,7 @@ declare module "@polkadot/types/lookup" { | "DispatchedAs"; } - /** @name PalletProxyEvent (37) */ + /** @name PalletProxyEvent (38) */ interface PalletProxyEvent extends Enum { readonly isProxyExecuted: boolean; readonly asProxyExecuted: { @@ -342,7 +344,7 @@ declare module "@polkadot/types/lookup" { readonly type: "ProxyExecuted" | "PureCreated" | "Announced" | "ProxyAdded" | "ProxyRemoved"; } - /** @name DanceboxRuntimeProxyType (38) */ + /** @name DanceboxRuntimeProxyType (39) */ interface DanceboxRuntimeProxyType extends Enum { readonly isAny: boolean; readonly isNonTransfer: boolean; @@ -363,7 +365,7 @@ declare module "@polkadot/types/lookup" { | "SudoRegistrar"; } - /** @name PalletMigrationsEvent (40) */ + /** @name PalletMigrationsEvent (41) */ interface PalletMigrationsEvent extends Enum { readonly isRuntimeUpgradeStarted: boolean; readonly isRuntimeUpgradeCompleted: boolean; @@ -396,7 +398,7 @@ declare module "@polkadot/types/lookup" { | "FailedToResumeIdleXcmExecution"; } - /** @name PalletMaintenanceModeEvent (41) */ + /** @name PalletMaintenanceModeEvent (42) */ interface PalletMaintenanceModeEvent extends Enum { readonly isEnteredMaintenanceMode: boolean; readonly isNormalOperationResumed: boolean; @@ -415,7 +417,7 @@ declare module "@polkadot/types/lookup" { | "FailedToResumeIdleXcmExecution"; } - /** @name PalletTxPauseEvent (42) */ + /** @name PalletTxPauseEvent (43) */ interface PalletTxPauseEvent extends Enum { readonly isCallPaused: boolean; readonly asCallPaused: { @@ -428,7 +430,7 @@ declare module "@polkadot/types/lookup" { readonly type: "CallPaused" | "CallUnpaused"; } - /** @name PalletBalancesEvent (45) */ + /** @name PalletBalancesEvent (46) */ interface PalletBalancesEvent extends Enum { readonly isEndowed: boolean; readonly asEndowed: { @@ -559,14 +561,14 @@ declare module "@polkadot/types/lookup" { | "Thawed"; } - /** @name FrameSupportTokensMiscBalanceStatus (46) */ + /** @name FrameSupportTokensMiscBalanceStatus (47) */ interface FrameSupportTokensMiscBalanceStatus extends Enum { readonly isFree: boolean; readonly isReserved: boolean; readonly type: "Free" | "Reserved"; } - /** @name PalletTransactionPaymentEvent (47) */ + /** @name PalletTransactionPaymentEvent (48) */ interface PalletTransactionPaymentEvent extends Enum { readonly isTransactionFeePaid: boolean; readonly asTransactionFeePaid: { @@ -577,7 +579,7 @@ declare module "@polkadot/types/lookup" { readonly type: "TransactionFeePaid"; } - /** @name PalletIdentityEvent (48) */ + /** @name PalletIdentityEvent (49) */ interface PalletIdentityEvent extends Enum { readonly isIdentitySet: boolean; readonly asIdentitySet: { @@ -630,6 +632,39 @@ declare module "@polkadot/types/lookup" { readonly main: AccountId32; readonly deposit: u128; } & Struct; + readonly isAuthorityAdded: boolean; + readonly asAuthorityAdded: { + readonly authority: AccountId32; + } & Struct; + readonly isAuthorityRemoved: boolean; + readonly asAuthorityRemoved: { + readonly authority: AccountId32; + } & Struct; + readonly isUsernameSet: boolean; + readonly asUsernameSet: { + readonly who: AccountId32; + readonly username: Bytes; + } & Struct; + readonly isUsernameQueued: boolean; + readonly asUsernameQueued: { + readonly who: AccountId32; + readonly username: Bytes; + readonly expiration: u32; + } & Struct; + readonly isPreapprovalExpired: boolean; + readonly asPreapprovalExpired: { + readonly whose: AccountId32; + } & Struct; + readonly isPrimaryUsernameSet: boolean; + readonly asPrimaryUsernameSet: { + readonly who: AccountId32; + readonly username: Bytes; + } & Struct; + readonly isDanglingUsernameRemoved: boolean; + readonly asDanglingUsernameRemoved: { + readonly who: AccountId32; + readonly username: Bytes; + } & Struct; readonly type: | "IdentitySet" | "IdentityCleared" @@ -640,10 +675,17 @@ declare module "@polkadot/types/lookup" { | "RegistrarAdded" | "SubIdentityAdded" | "SubIdentityRemoved" - | "SubIdentityRevoked"; + | "SubIdentityRevoked" + | "AuthorityAdded" + | "AuthorityRemoved" + | "UsernameSet" + | "UsernameQueued" + | "PreapprovalExpired" + | "PrimaryUsernameSet" + | "DanglingUsernameRemoved"; } - /** @name PalletRegistrarEvent (49) */ + /** @name PalletRegistrarEvent (51) */ interface PalletRegistrarEvent extends Enum { readonly isParaIdRegistered: boolean; readonly asParaIdRegistered: { @@ -673,7 +715,7 @@ declare module "@polkadot/types/lookup" { | "ParaIdUnpaused"; } - /** @name PalletCollatorAssignmentEvent (51) */ + /** @name PalletCollatorAssignmentEvent (53) */ interface PalletCollatorAssignmentEvent extends Enum { readonly isNewPendingAssignment: boolean; readonly asNewPendingAssignment: { @@ -684,7 +726,7 @@ declare module "@polkadot/types/lookup" { readonly type: "NewPendingAssignment"; } - /** @name PalletAuthorNotingEvent (53) */ + /** @name PalletAuthorNotingEvent (54) */ interface PalletAuthorNotingEvent extends Enum { readonly isLatestAuthorChanged: boolean; readonly asLatestAuthorChanged: { @@ -699,7 +741,7 @@ declare module "@polkadot/types/lookup" { readonly type: "LatestAuthorChanged" | "RemovedAuthorData"; } - /** @name PalletServicesPaymentEvent (54) */ + /** @name PalletServicesPaymentEvent (55) */ interface PalletServicesPaymentEvent extends Enum { readonly isCreditsPurchased: boolean; readonly asCreditsPurchased: { @@ -722,7 +764,7 @@ declare module "@polkadot/types/lookup" { readonly type: "CreditsPurchased" | "CreditBurned" | "CreditsSet"; } - /** @name PalletDataPreserversEvent (55) */ + /** @name PalletDataPreserversEvent (56) */ interface PalletDataPreserversEvent extends Enum { readonly isBootNodesChanged: boolean; readonly asBootNodesChanged: { @@ -731,7 +773,7 @@ declare module "@polkadot/types/lookup" { readonly type: "BootNodesChanged"; } - /** @name PalletInvulnerablesEvent (56) */ + /** @name PalletInvulnerablesEvent (57) */ interface PalletInvulnerablesEvent extends Enum { readonly isNewInvulnerables: boolean; readonly asNewInvulnerables: { @@ -752,7 +794,7 @@ declare module "@polkadot/types/lookup" { readonly type: "NewInvulnerables" | "InvulnerableAdded" | "InvulnerableRemoved" | "InvalidInvulnerableSkipped"; } - /** @name PalletSessionEvent (58) */ + /** @name PalletSessionEvent (59) */ interface PalletSessionEvent extends Enum { readonly isNewSession: boolean; readonly asNewSession: { @@ -761,7 +803,7 @@ declare module "@polkadot/types/lookup" { readonly type: "NewSession"; } - /** @name PalletPooledStakingEvent (59) */ + /** @name PalletPooledStakingEvent (60) */ interface PalletPooledStakingEvent extends Enum { readonly isUpdatedCandidatePosition: boolean; readonly asUpdatedCandidatePosition: { @@ -886,14 +928,14 @@ declare module "@polkadot/types/lookup" { | "SwappedPool"; } - /** @name PalletPooledStakingTargetPool (61) */ + /** @name PalletPooledStakingTargetPool (62) */ interface PalletPooledStakingTargetPool extends Enum { readonly isAutoCompounding: boolean; readonly isManualRewards: boolean; readonly type: "AutoCompounding" | "ManualRewards"; } - /** @name PalletInflationRewardsEvent (62) */ + /** @name PalletInflationRewardsEvent (63) */ interface PalletInflationRewardsEvent extends Enum { readonly isRewardedOrchestrator: boolean; readonly asRewardedOrchestrator: { @@ -909,56 +951,38 @@ declare module "@polkadot/types/lookup" { readonly type: "RewardedOrchestrator" | "RewardedContainer"; } - /** @name CumulusPalletXcmpQueueEvent (63) */ + /** @name CumulusPalletXcmpQueueEvent (64) */ interface CumulusPalletXcmpQueueEvent extends Enum { - readonly isSuccess: boolean; - readonly asSuccess: { - readonly messageHash: U8aFixed; - readonly messageId: U8aFixed; - readonly weight: SpWeightsWeightV2Weight; - } & Struct; - readonly isFail: boolean; - readonly asFail: { - readonly messageHash: U8aFixed; - readonly messageId: U8aFixed; - readonly error: XcmV3TraitsError; - readonly weight: SpWeightsWeightV2Weight; - } & Struct; - readonly isBadVersion: boolean; - readonly asBadVersion: { - readonly messageHash: U8aFixed; - } & Struct; - readonly isBadFormat: boolean; - readonly asBadFormat: { - readonly messageHash: U8aFixed; - } & Struct; readonly isXcmpMessageSent: boolean; readonly asXcmpMessageSent: { readonly messageHash: U8aFixed; } & Struct; - readonly isOverweightEnqueued: boolean; - readonly asOverweightEnqueued: { - readonly sender: u32; - readonly sentAt: u32; - readonly index: u64; - readonly required: SpWeightsWeightV2Weight; - } & Struct; - readonly isOverweightServiced: boolean; - readonly asOverweightServiced: { - readonly index: u64; - readonly used: SpWeightsWeightV2Weight; - } & Struct; - readonly type: - | "Success" - | "Fail" - | "BadVersion" - | "BadFormat" - | "XcmpMessageSent" - | "OverweightEnqueued" - | "OverweightServiced"; + readonly type: "XcmpMessageSent"; + } + + /** @name CumulusPalletXcmEvent (65) */ + interface CumulusPalletXcmEvent extends Enum { + readonly isInvalidFormat: boolean; + readonly asInvalidFormat: U8aFixed; + readonly isUnsupportedVersion: boolean; + readonly asUnsupportedVersion: U8aFixed; + readonly isExecutedDownward: boolean; + readonly asExecutedDownward: ITuple<[U8aFixed, XcmV3TraitsOutcome]>; + readonly type: "InvalidFormat" | "UnsupportedVersion" | "ExecutedDownward"; } - /** @name XcmV3TraitsError (64) */ + /** @name XcmV3TraitsOutcome (66) */ + interface XcmV3TraitsOutcome extends Enum { + readonly isComplete: boolean; + readonly asComplete: SpWeightsWeightV2Weight; + readonly isIncomplete: boolean; + readonly asIncomplete: ITuple<[SpWeightsWeightV2Weight, XcmV3TraitsError]>; + readonly isError: boolean; + readonly asError: XcmV3TraitsError; + readonly type: "Complete" | "Incomplete" | "Error"; + } + + /** @name XcmV3TraitsError (67) */ interface XcmV3TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; @@ -1045,78 +1069,52 @@ declare module "@polkadot/types/lookup" { | "ExceedsStackLimit"; } - /** @name CumulusPalletXcmEvent (65) */ - interface CumulusPalletXcmEvent extends Enum { - readonly isInvalidFormat: boolean; - readonly asInvalidFormat: U8aFixed; - readonly isUnsupportedVersion: boolean; - readonly asUnsupportedVersion: U8aFixed; - readonly isExecutedDownward: boolean; - readonly asExecutedDownward: ITuple<[U8aFixed, XcmV3TraitsOutcome]>; - readonly type: "InvalidFormat" | "UnsupportedVersion" | "ExecutedDownward"; - } - - /** @name XcmV3TraitsOutcome (66) */ - interface XcmV3TraitsOutcome extends Enum { - readonly isComplete: boolean; - readonly asComplete: SpWeightsWeightV2Weight; - readonly isIncomplete: boolean; - readonly asIncomplete: ITuple<[SpWeightsWeightV2Weight, XcmV3TraitsError]>; - readonly isError: boolean; - readonly asError: XcmV3TraitsError; - readonly type: "Complete" | "Incomplete" | "Error"; - } - - /** @name CumulusPalletDmpQueueEvent (67) */ + /** @name CumulusPalletDmpQueueEvent (68) */ interface CumulusPalletDmpQueueEvent extends Enum { - readonly isInvalidFormat: boolean; - readonly asInvalidFormat: { - readonly messageHash: U8aFixed; - } & Struct; - readonly isUnsupportedVersion: boolean; - readonly asUnsupportedVersion: { - readonly messageHash: U8aFixed; - } & Struct; - readonly isExecutedDownward: boolean; - readonly asExecutedDownward: { - readonly messageHash: U8aFixed; - readonly messageId: U8aFixed; - readonly outcome: XcmV3TraitsOutcome; - } & Struct; - readonly isWeightExhausted: boolean; - readonly asWeightExhausted: { - readonly messageHash: U8aFixed; - readonly messageId: U8aFixed; - readonly remainingWeight: SpWeightsWeightV2Weight; - readonly requiredWeight: SpWeightsWeightV2Weight; + readonly isStartedExport: boolean; + readonly isExported: boolean; + readonly asExported: { + readonly page: u32; + } & Struct; + readonly isExportFailed: boolean; + readonly asExportFailed: { + readonly page: u32; + } & Struct; + readonly isCompletedExport: boolean; + readonly isStartedOverweightExport: boolean; + readonly isExportedOverweight: boolean; + readonly asExportedOverweight: { + readonly index: u64; } & Struct; - readonly isOverweightEnqueued: boolean; - readonly asOverweightEnqueued: { - readonly messageHash: U8aFixed; - readonly messageId: U8aFixed; - readonly overweightIndex: u64; - readonly requiredWeight: SpWeightsWeightV2Weight; + readonly isExportOverweightFailed: boolean; + readonly asExportOverweightFailed: { + readonly index: u64; } & Struct; - readonly isOverweightServiced: boolean; - readonly asOverweightServiced: { - readonly overweightIndex: u64; - readonly weightUsed: SpWeightsWeightV2Weight; + readonly isCompletedOverweightExport: boolean; + readonly isStartedCleanup: boolean; + readonly isCleanedSome: boolean; + readonly asCleanedSome: { + readonly keysRemoved: u32; } & Struct; - readonly isMaxMessagesExhausted: boolean; - readonly asMaxMessagesExhausted: { - readonly messageHash: U8aFixed; + readonly isCompleted: boolean; + readonly asCompleted: { + readonly error: bool; } & Struct; readonly type: - | "InvalidFormat" - | "UnsupportedVersion" - | "ExecutedDownward" - | "WeightExhausted" - | "OverweightEnqueued" - | "OverweightServiced" - | "MaxMessagesExhausted"; - } - - /** @name PalletXcmEvent (68) */ + | "StartedExport" + | "Exported" + | "ExportFailed" + | "CompletedExport" + | "StartedOverweightExport" + | "ExportedOverweight" + | "ExportOverweightFailed" + | "CompletedOverweightExport" + | "StartedCleanup" + | "CleanedSome" + | "Completed"; + } + + /** @name PalletXcmEvent (69) */ interface PalletXcmEvent extends Enum { readonly isAttempted: boolean; readonly asAttempted: { @@ -1276,13 +1274,13 @@ declare module "@polkadot/types/lookup" { | "AssetsClaimed"; } - /** @name StagingXcmV3MultiLocation (69) */ + /** @name StagingXcmV3MultiLocation (70) */ interface StagingXcmV3MultiLocation extends Struct { readonly parents: u8; readonly interior: XcmV3Junctions; } - /** @name XcmV3Junctions (70) */ + /** @name XcmV3Junctions (71) */ interface XcmV3Junctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; @@ -1319,7 +1317,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Here" | "X1" | "X2" | "X3" | "X4" | "X5" | "X6" | "X7" | "X8"; } - /** @name XcmV3Junction (71) */ + /** @name XcmV3Junction (72) */ interface XcmV3Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; @@ -1368,7 +1366,7 @@ declare module "@polkadot/types/lookup" { | "GlobalConsensus"; } - /** @name XcmV3JunctionNetworkId (74) */ + /** @name XcmV3JunctionNetworkId (75) */ interface XcmV3JunctionNetworkId extends Enum { readonly isByGenesis: boolean; readonly asByGenesis: U8aFixed; @@ -1388,6 +1386,7 @@ declare module "@polkadot/types/lookup" { } & Struct; readonly isBitcoinCore: boolean; readonly isBitcoinCash: boolean; + readonly isPolkadotBulletin: boolean; readonly type: | "ByGenesis" | "ByFork" @@ -1398,10 +1397,11 @@ declare module "@polkadot/types/lookup" { | "Wococo" | "Ethereum" | "BitcoinCore" - | "BitcoinCash"; + | "BitcoinCash" + | "PolkadotBulletin"; } - /** @name XcmV3JunctionBodyId (77) */ + /** @name XcmV3JunctionBodyId (78) */ interface XcmV3JunctionBodyId extends Enum { readonly isUnit: boolean; readonly isMoniker: boolean; @@ -1428,7 +1428,7 @@ declare module "@polkadot/types/lookup" { | "Treasury"; } - /** @name XcmV3JunctionBodyPart (78) */ + /** @name XcmV3JunctionBodyPart (79) */ interface XcmV3JunctionBodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; @@ -1453,10 +1453,10 @@ declare module "@polkadot/types/lookup" { readonly type: "Voice" | "Members" | "Fraction" | "AtLeastProportion" | "MoreThanProportion"; } - /** @name XcmV3Xcm (79) */ + /** @name XcmV3Xcm (80) */ interface XcmV3Xcm extends Vec {} - /** @name XcmV3Instruction (81) */ + /** @name XcmV3Instruction (82) */ interface XcmV3Instruction extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: XcmV3MultiassetMultiAssets; @@ -1686,16 +1686,16 @@ declare module "@polkadot/types/lookup" { | "UnpaidExecution"; } - /** @name XcmV3MultiassetMultiAssets (82) */ + /** @name XcmV3MultiassetMultiAssets (83) */ interface XcmV3MultiassetMultiAssets extends Vec {} - /** @name XcmV3MultiAsset (84) */ + /** @name XcmV3MultiAsset (85) */ interface XcmV3MultiAsset extends Struct { readonly id: XcmV3MultiassetAssetId; readonly fun: XcmV3MultiassetFungibility; } - /** @name XcmV3MultiassetAssetId (85) */ + /** @name XcmV3MultiassetAssetId (86) */ interface XcmV3MultiassetAssetId extends Enum { readonly isConcrete: boolean; readonly asConcrete: StagingXcmV3MultiLocation; @@ -1704,7 +1704,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Concrete" | "Abstract"; } - /** @name XcmV3MultiassetFungibility (86) */ + /** @name XcmV3MultiassetFungibility (87) */ interface XcmV3MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; @@ -1713,7 +1713,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Fungible" | "NonFungible"; } - /** @name XcmV3MultiassetAssetInstance (87) */ + /** @name XcmV3MultiassetAssetInstance (88) */ interface XcmV3MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -1729,7 +1729,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Undefined" | "Index" | "Array4" | "Array8" | "Array16" | "Array32"; } - /** @name XcmV3Response (90) */ + /** @name XcmV3Response (91) */ interface XcmV3Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; @@ -1745,7 +1745,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Null" | "Assets" | "ExecutionResult" | "Version" | "PalletsInfo" | "DispatchResult"; } - /** @name XcmV3PalletInfo (94) */ + /** @name XcmV3PalletInfo (95) */ interface XcmV3PalletInfo extends Struct { readonly index: Compact; readonly name: Bytes; @@ -1755,7 +1755,7 @@ declare module "@polkadot/types/lookup" { readonly patch: Compact; } - /** @name XcmV3MaybeErrorCode (97) */ + /** @name XcmV3MaybeErrorCode (98) */ interface XcmV3MaybeErrorCode extends Enum { readonly isSuccess: boolean; readonly isError: boolean; @@ -1765,7 +1765,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Success" | "Error" | "TruncatedError"; } - /** @name XcmV2OriginKind (100) */ + /** @name XcmV2OriginKind (101) */ interface XcmV2OriginKind extends Enum { readonly isNative: boolean; readonly isSovereignAccount: boolean; @@ -1774,19 +1774,19 @@ declare module "@polkadot/types/lookup" { readonly type: "Native" | "SovereignAccount" | "Superuser" | "Xcm"; } - /** @name XcmDoubleEncoded (101) */ + /** @name XcmDoubleEncoded (102) */ interface XcmDoubleEncoded extends Struct { readonly encoded: Bytes; } - /** @name XcmV3QueryResponseInfo (102) */ + /** @name XcmV3QueryResponseInfo (103) */ interface XcmV3QueryResponseInfo extends Struct { readonly destination: StagingXcmV3MultiLocation; readonly queryId: Compact; readonly maxWeight: SpWeightsWeightV2Weight; } - /** @name XcmV3MultiassetMultiAssetFilter (103) */ + /** @name XcmV3MultiassetMultiAssetFilter (104) */ interface XcmV3MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; readonly asDefinite: XcmV3MultiassetMultiAssets; @@ -1795,7 +1795,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Definite" | "Wild"; } - /** @name XcmV3MultiassetWildMultiAsset (104) */ + /** @name XcmV3MultiassetWildMultiAsset (105) */ interface XcmV3MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; @@ -1814,14 +1814,14 @@ declare module "@polkadot/types/lookup" { readonly type: "All" | "AllOf" | "AllCounted" | "AllOfCounted"; } - /** @name XcmV3MultiassetWildFungibility (105) */ + /** @name XcmV3MultiassetWildFungibility (106) */ interface XcmV3MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: "Fungible" | "NonFungible"; } - /** @name XcmV3WeightLimit (106) */ + /** @name XcmV3WeightLimit (107) */ interface XcmV3WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; @@ -1829,7 +1829,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Unlimited" | "Limited"; } - /** @name XcmVersionedMultiAssets (107) */ + /** @name XcmVersionedMultiAssets (108) */ interface XcmVersionedMultiAssets extends Enum { readonly isV2: boolean; readonly asV2: XcmV2MultiassetMultiAssets; @@ -1838,16 +1838,16 @@ declare module "@polkadot/types/lookup" { readonly type: "V2" | "V3"; } - /** @name XcmV2MultiassetMultiAssets (108) */ + /** @name XcmV2MultiassetMultiAssets (109) */ interface XcmV2MultiassetMultiAssets extends Vec {} - /** @name XcmV2MultiAsset (110) */ + /** @name XcmV2MultiAsset (111) */ interface XcmV2MultiAsset extends Struct { readonly id: XcmV2MultiassetAssetId; readonly fun: XcmV2MultiassetFungibility; } - /** @name XcmV2MultiassetAssetId (111) */ + /** @name XcmV2MultiassetAssetId (112) */ interface XcmV2MultiassetAssetId extends Enum { readonly isConcrete: boolean; readonly asConcrete: XcmV2MultiLocation; @@ -1856,13 +1856,13 @@ declare module "@polkadot/types/lookup" { readonly type: "Concrete" | "Abstract"; } - /** @name XcmV2MultiLocation (112) */ + /** @name XcmV2MultiLocation (113) */ interface XcmV2MultiLocation extends Struct { readonly parents: u8; readonly interior: XcmV2MultilocationJunctions; } - /** @name XcmV2MultilocationJunctions (113) */ + /** @name XcmV2MultilocationJunctions (114) */ interface XcmV2MultilocationJunctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; @@ -1899,7 +1899,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Here" | "X1" | "X2" | "X3" | "X4" | "X5" | "X6" | "X7" | "X8"; } - /** @name XcmV2Junction (114) */ + /** @name XcmV2Junction (115) */ interface XcmV2Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; @@ -1942,7 +1942,7 @@ declare module "@polkadot/types/lookup" { | "Plurality"; } - /** @name XcmV2NetworkId (115) */ + /** @name XcmV2NetworkId (116) */ interface XcmV2NetworkId extends Enum { readonly isAny: boolean; readonly isNamed: boolean; @@ -1952,7 +1952,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Any" | "Named" | "Polkadot" | "Kusama"; } - /** @name XcmV2BodyId (117) */ + /** @name XcmV2BodyId (118) */ interface XcmV2BodyId extends Enum { readonly isUnit: boolean; readonly isNamed: boolean; @@ -1979,7 +1979,7 @@ declare module "@polkadot/types/lookup" { | "Treasury"; } - /** @name XcmV2BodyPart (118) */ + /** @name XcmV2BodyPart (119) */ interface XcmV2BodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; @@ -2004,7 +2004,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Voice" | "Members" | "Fraction" | "AtLeastProportion" | "MoreThanProportion"; } - /** @name XcmV2MultiassetFungibility (119) */ + /** @name XcmV2MultiassetFungibility (120) */ interface XcmV2MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; @@ -2013,7 +2013,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Fungible" | "NonFungible"; } - /** @name XcmV2MultiassetAssetInstance (120) */ + /** @name XcmV2MultiassetAssetInstance (121) */ interface XcmV2MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -2031,7 +2031,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Undefined" | "Index" | "Array4" | "Array8" | "Array16" | "Array32" | "Blob"; } - /** @name XcmVersionedMultiLocation (121) */ + /** @name XcmVersionedMultiLocation (122) */ interface XcmVersionedMultiLocation extends Enum { readonly isV2: boolean; readonly asV2: XcmV2MultiLocation; @@ -2040,7 +2040,7 @@ declare module "@polkadot/types/lookup" { readonly type: "V2" | "V3"; } - /** @name PalletAssetsEvent (122) */ + /** @name PalletAssetsEvent (123) */ interface PalletAssetsEvent extends Enum { readonly isCreated: boolean; readonly asCreated: { @@ -2202,7 +2202,7 @@ declare module "@polkadot/types/lookup" { | "Blocked"; } - /** @name PalletForeignAssetCreatorEvent (123) */ + /** @name PalletForeignAssetCreatorEvent (124) */ interface PalletForeignAssetCreatorEvent extends Enum { readonly isForeignAssetCreated: boolean; readonly asForeignAssetCreated: { @@ -2231,7 +2231,7 @@ declare module "@polkadot/types/lookup" { | "ForeignAssetDestroyed"; } - /** @name PalletAssetRateEvent (124) */ + /** @name PalletAssetRateEvent (125) */ interface PalletAssetRateEvent extends Enum { readonly isAssetRateCreated: boolean; readonly asAssetRateCreated: { @@ -2251,7 +2251,63 @@ declare module "@polkadot/types/lookup" { readonly type: "AssetRateCreated" | "AssetRateRemoved" | "AssetRateUpdated"; } - /** @name FrameSystemPhase (126) */ + /** @name PalletMessageQueueEvent (127) */ + interface PalletMessageQueueEvent extends Enum { + readonly isProcessingFailed: boolean; + readonly asProcessingFailed: { + readonly id: H256; + readonly origin: CumulusPrimitivesCoreAggregateMessageOrigin; + readonly error: FrameSupportMessagesProcessMessageError; + } & Struct; + readonly isProcessed: boolean; + readonly asProcessed: { + readonly id: H256; + readonly origin: CumulusPrimitivesCoreAggregateMessageOrigin; + readonly weightUsed: SpWeightsWeightV2Weight; + readonly success: bool; + } & Struct; + readonly isOverweightEnqueued: boolean; + readonly asOverweightEnqueued: { + readonly id: U8aFixed; + readonly origin: CumulusPrimitivesCoreAggregateMessageOrigin; + readonly pageIndex: u32; + readonly messageIndex: u32; + } & Struct; + readonly isPageReaped: boolean; + readonly asPageReaped: { + readonly origin: CumulusPrimitivesCoreAggregateMessageOrigin; + readonly index: u32; + } & Struct; + readonly type: "ProcessingFailed" | "Processed" | "OverweightEnqueued" | "PageReaped"; + } + + /** @name CumulusPrimitivesCoreAggregateMessageOrigin (128) */ + interface CumulusPrimitivesCoreAggregateMessageOrigin extends Enum { + readonly isHere: boolean; + readonly isParent: boolean; + readonly isSibling: boolean; + readonly asSibling: u32; + readonly type: "Here" | "Parent" | "Sibling"; + } + + /** @name FrameSupportMessagesProcessMessageError (129) */ + interface FrameSupportMessagesProcessMessageError extends Enum { + readonly isBadFormat: boolean; + readonly isCorrupt: boolean; + readonly isUnsupported: boolean; + readonly isOverweight: boolean; + readonly asOverweight: SpWeightsWeightV2Weight; + readonly isYield: boolean; + readonly type: "BadFormat" | "Corrupt" | "Unsupported" | "Overweight" | "Yield"; + } + + /** @name PalletRootTestingEvent (130) */ + interface PalletRootTestingEvent extends Enum { + readonly isDefensiveTestCall: boolean; + readonly type: "DefensiveTestCall"; + } + + /** @name FrameSystemPhase (131) */ interface FrameSystemPhase extends Enum { readonly isApplyExtrinsic: boolean; readonly asApplyExtrinsic: u32; @@ -2260,13 +2316,19 @@ declare module "@polkadot/types/lookup" { readonly type: "ApplyExtrinsic" | "Finalization" | "Initialization"; } - /** @name FrameSystemLastRuntimeUpgradeInfo (130) */ + /** @name FrameSystemLastRuntimeUpgradeInfo (135) */ interface FrameSystemLastRuntimeUpgradeInfo extends Struct { readonly specVersion: Compact; readonly specName: Text; } - /** @name FrameSystemCall (132) */ + /** @name FrameSystemCodeUpgradeAuthorization (137) */ + interface FrameSystemCodeUpgradeAuthorization extends Struct { + readonly codeHash: H256; + readonly checkVersion: bool; + } + + /** @name FrameSystemCall (138) */ interface FrameSystemCall extends Enum { readonly isRemark: boolean; readonly asRemark: { @@ -2301,6 +2363,18 @@ declare module "@polkadot/types/lookup" { readonly asRemarkWithEvent: { readonly remark: Bytes; } & Struct; + readonly isAuthorizeUpgrade: boolean; + readonly asAuthorizeUpgrade: { + readonly codeHash: H256; + } & Struct; + readonly isAuthorizeUpgradeWithoutChecks: boolean; + readonly asAuthorizeUpgradeWithoutChecks: { + readonly codeHash: H256; + } & Struct; + readonly isApplyAuthorizedUpgrade: boolean; + readonly asApplyAuthorizedUpgrade: { + readonly code: Bytes; + } & Struct; readonly type: | "Remark" | "SetHeapPages" @@ -2309,24 +2383,27 @@ declare module "@polkadot/types/lookup" { | "SetStorage" | "KillStorage" | "KillPrefix" - | "RemarkWithEvent"; + | "RemarkWithEvent" + | "AuthorizeUpgrade" + | "AuthorizeUpgradeWithoutChecks" + | "ApplyAuthorizedUpgrade"; } - /** @name FrameSystemLimitsBlockWeights (136) */ + /** @name FrameSystemLimitsBlockWeights (142) */ interface FrameSystemLimitsBlockWeights extends Struct { readonly baseBlock: SpWeightsWeightV2Weight; readonly maxBlock: SpWeightsWeightV2Weight; readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; } - /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (137) */ + /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (143) */ interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { readonly normal: FrameSystemLimitsWeightsPerClass; readonly operational: FrameSystemLimitsWeightsPerClass; readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name FrameSystemLimitsWeightsPerClass (138) */ + /** @name FrameSystemLimitsWeightsPerClass (144) */ interface FrameSystemLimitsWeightsPerClass extends Struct { readonly baseExtrinsic: SpWeightsWeightV2Weight; readonly maxExtrinsic: Option; @@ -2334,25 +2411,25 @@ declare module "@polkadot/types/lookup" { readonly reserved: Option; } - /** @name FrameSystemLimitsBlockLength (140) */ + /** @name FrameSystemLimitsBlockLength (146) */ interface FrameSystemLimitsBlockLength extends Struct { readonly max: FrameSupportDispatchPerDispatchClassU32; } - /** @name FrameSupportDispatchPerDispatchClassU32 (141) */ + /** @name FrameSupportDispatchPerDispatchClassU32 (147) */ interface FrameSupportDispatchPerDispatchClassU32 extends Struct { readonly normal: u32; readonly operational: u32; readonly mandatory: u32; } - /** @name SpWeightsRuntimeDbWeight (142) */ + /** @name SpWeightsRuntimeDbWeight (148) */ interface SpWeightsRuntimeDbWeight extends Struct { readonly read: u64; readonly write: u64; } - /** @name SpVersionRuntimeVersion (143) */ + /** @name SpVersionRuntimeVersion (149) */ interface SpVersionRuntimeVersion extends Struct { readonly specName: Text; readonly implName: Text; @@ -2364,7 +2441,7 @@ declare module "@polkadot/types/lookup" { readonly stateVersion: u8; } - /** @name FrameSystemError (147) */ + /** @name FrameSystemError (153) */ interface FrameSystemError extends Enum { readonly isInvalidSpecName: boolean; readonly isSpecVersionNeedsToIncrease: boolean; @@ -2372,50 +2449,54 @@ declare module "@polkadot/types/lookup" { readonly isNonDefaultComposite: boolean; readonly isNonZeroRefCount: boolean; readonly isCallFiltered: boolean; + readonly isNothingAuthorized: boolean; + readonly isUnauthorized: boolean; readonly type: | "InvalidSpecName" | "SpecVersionNeedsToIncrease" | "FailedToExtractRuntimeVersion" | "NonDefaultComposite" | "NonZeroRefCount" - | "CallFiltered"; + | "CallFiltered" + | "NothingAuthorized" + | "Unauthorized"; } - /** @name CumulusPalletParachainSystemUnincludedSegmentAncestor (149) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentAncestor (155) */ interface CumulusPalletParachainSystemUnincludedSegmentAncestor extends Struct { readonly usedBandwidth: CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth; readonly paraHeadHash: Option; readonly consumedGoAheadSignal: Option; } - /** @name CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth (150) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth (156) */ interface CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth extends Struct { readonly umpMsgCount: u32; readonly umpTotalBytes: u32; readonly hrmpOutgoing: BTreeMap; } - /** @name CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate (152) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate (158) */ interface CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate extends Struct { readonly msgCount: u32; readonly totalBytes: u32; } - /** @name PolkadotPrimitivesV6UpgradeGoAhead (157) */ + /** @name PolkadotPrimitivesV6UpgradeGoAhead (163) */ interface PolkadotPrimitivesV6UpgradeGoAhead extends Enum { readonly isAbort: boolean; readonly isGoAhead: boolean; readonly type: "Abort" | "GoAhead"; } - /** @name CumulusPalletParachainSystemUnincludedSegmentSegmentTracker (158) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentSegmentTracker (164) */ interface CumulusPalletParachainSystemUnincludedSegmentSegmentTracker extends Struct { readonly usedBandwidth: CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth; readonly hrmpWatermark: Option; readonly consumedGoAheadSignal: Option; } - /** @name PolkadotPrimitivesV6PersistedValidationData (159) */ + /** @name PolkadotPrimitivesV6PersistedValidationData (165) */ interface PolkadotPrimitivesV6PersistedValidationData extends Struct { readonly parentHead: Bytes; readonly relayParentNumber: u32; @@ -2423,18 +2504,18 @@ declare module "@polkadot/types/lookup" { readonly maxPovSize: u32; } - /** @name PolkadotPrimitivesV6UpgradeRestriction (162) */ + /** @name PolkadotPrimitivesV6UpgradeRestriction (168) */ interface PolkadotPrimitivesV6UpgradeRestriction extends Enum { readonly isPresent: boolean; readonly type: "Present"; } - /** @name SpTrieStorageProof (163) */ + /** @name SpTrieStorageProof (169) */ interface SpTrieStorageProof extends Struct { readonly trieNodes: BTreeSet; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (165) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (171) */ interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { readonly dmqMqcHead: H256; readonly relayDispatchQueueRemainingCapacity: CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity; @@ -2442,13 +2523,13 @@ declare module "@polkadot/types/lookup" { readonly egressChannels: Vec>; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity (166) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity (172) */ interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity extends Struct { readonly remainingCount: u32; readonly remainingSize: u32; } - /** @name PolkadotPrimitivesV6AbridgedHrmpChannel (169) */ + /** @name PolkadotPrimitivesV6AbridgedHrmpChannel (175) */ interface PolkadotPrimitivesV6AbridgedHrmpChannel extends Struct { readonly maxCapacity: u32; readonly maxTotalSize: u32; @@ -2458,7 +2539,7 @@ declare module "@polkadot/types/lookup" { readonly mqcHead: Option; } - /** @name PolkadotPrimitivesV6AbridgedHostConfiguration (170) */ + /** @name PolkadotPrimitivesV6AbridgedHostConfiguration (176) */ interface PolkadotPrimitivesV6AbridgedHostConfiguration extends Struct { readonly maxCodeSize: u32; readonly maxHeadDataSize: u32; @@ -2472,25 +2553,19 @@ declare module "@polkadot/types/lookup" { readonly asyncBackingParams: PolkadotPrimitivesV6AsyncBackingAsyncBackingParams; } - /** @name PolkadotPrimitivesV6AsyncBackingAsyncBackingParams (171) */ + /** @name PolkadotPrimitivesV6AsyncBackingAsyncBackingParams (177) */ interface PolkadotPrimitivesV6AsyncBackingAsyncBackingParams extends Struct { readonly maxCandidateDepth: u32; readonly allowedAncestryLen: u32; } - /** @name PolkadotCorePrimitivesOutboundHrmpMessage (177) */ + /** @name PolkadotCorePrimitivesOutboundHrmpMessage (183) */ interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { readonly recipient: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (178) */ - interface CumulusPalletParachainSystemCodeUpgradeAuthorization extends Struct { - readonly codeHash: H256; - readonly checkVersion: bool; - } - - /** @name CumulusPalletParachainSystemCall (179) */ + /** @name CumulusPalletParachainSystemCall (184) */ interface CumulusPalletParachainSystemCall extends Enum { readonly isSetValidationData: boolean; readonly asSetValidationData: { @@ -2512,7 +2587,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetValidationData" | "SudoSendUpwardMessage" | "AuthorizeUpgrade" | "EnactAuthorizedUpgrade"; } - /** @name CumulusPrimitivesParachainInherentParachainInherentData (180) */ + /** @name CumulusPrimitivesParachainInherentParachainInherentData (185) */ interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { readonly validationData: PolkadotPrimitivesV6PersistedValidationData; readonly relayChainState: SpTrieStorageProof; @@ -2520,19 +2595,19 @@ declare module "@polkadot/types/lookup" { readonly horizontalMessages: BTreeMap>; } - /** @name PolkadotCorePrimitivesInboundDownwardMessage (182) */ + /** @name PolkadotCorePrimitivesInboundDownwardMessage (187) */ interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { readonly sentAt: u32; readonly msg: Bytes; } - /** @name PolkadotCorePrimitivesInboundHrmpMessage (185) */ + /** @name PolkadotCorePrimitivesInboundHrmpMessage (190) */ interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { readonly sentAt: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemError (188) */ + /** @name CumulusPalletParachainSystemError (193) */ interface CumulusPalletParachainSystemError extends Enum { readonly isOverlappingUpgrades: boolean; readonly isProhibitedByPolkadot: boolean; @@ -2553,7 +2628,7 @@ declare module "@polkadot/types/lookup" { | "Unauthorized"; } - /** @name PalletTimestampCall (189) */ + /** @name PalletTimestampCall (194) */ interface PalletTimestampCall extends Enum { readonly isSet: boolean; readonly asSet: { @@ -2562,10 +2637,10 @@ declare module "@polkadot/types/lookup" { readonly type: "Set"; } - /** @name ParachainInfoCall (190) */ - type ParachainInfoCall = Null; + /** @name StagingParachainInfoCall (195) */ + type StagingParachainInfoCall = Null; - /** @name PalletSudoCall (191) */ + /** @name PalletSudoCall (196) */ interface PalletSudoCall extends Enum { readonly isSudo: boolean; readonly asSudo: { @@ -2585,10 +2660,11 @@ declare module "@polkadot/types/lookup" { readonly who: MultiAddress; readonly call: Call; } & Struct; - readonly type: "Sudo" | "SudoUncheckedWeight" | "SetKey" | "SudoAs"; + readonly isRemoveKey: boolean; + readonly type: "Sudo" | "SudoUncheckedWeight" | "SetKey" | "SudoAs" | "RemoveKey"; } - /** @name PalletUtilityCall (193) */ + /** @name PalletUtilityCall (198) */ interface PalletUtilityCall extends Enum { readonly isBatch: boolean; readonly asBatch: { @@ -2620,7 +2696,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Batch" | "AsDerivative" | "BatchAll" | "DispatchAs" | "ForceBatch" | "WithWeight"; } - /** @name DanceboxRuntimeOriginCaller (195) */ + /** @name DanceboxRuntimeOriginCaller (200) */ interface DanceboxRuntimeOriginCaller extends Enum { readonly isSystem: boolean; readonly asSystem: FrameSupportDispatchRawOrigin; @@ -2632,7 +2708,7 @@ declare module "@polkadot/types/lookup" { readonly type: "System" | "Void" | "CumulusXcm" | "PolkadotXcm"; } - /** @name FrameSupportDispatchRawOrigin (196) */ + /** @name FrameSupportDispatchRawOrigin (201) */ interface FrameSupportDispatchRawOrigin extends Enum { readonly isRoot: boolean; readonly isSigned: boolean; @@ -2641,7 +2717,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Root" | "Signed" | "None"; } - /** @name CumulusPalletXcmOrigin (197) */ + /** @name CumulusPalletXcmOrigin (202) */ interface CumulusPalletXcmOrigin extends Enum { readonly isRelay: boolean; readonly isSiblingParachain: boolean; @@ -2649,7 +2725,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Relay" | "SiblingParachain"; } - /** @name PalletXcmOrigin (198) */ + /** @name PalletXcmOrigin (203) */ interface PalletXcmOrigin extends Enum { readonly isXcm: boolean; readonly asXcm: StagingXcmV3MultiLocation; @@ -2658,10 +2734,10 @@ declare module "@polkadot/types/lookup" { readonly type: "Xcm" | "Response"; } - /** @name SpCoreVoid (199) */ + /** @name SpCoreVoid (204) */ type SpCoreVoid = Null; - /** @name PalletProxyCall (200) */ + /** @name PalletProxyCall (205) */ interface PalletProxyCall extends Enum { readonly isProxy: boolean; readonly asProxy: { @@ -2731,14 +2807,14 @@ declare module "@polkadot/types/lookup" { | "ProxyAnnounced"; } - /** @name PalletMaintenanceModeCall (204) */ + /** @name PalletMaintenanceModeCall (209) */ interface PalletMaintenanceModeCall extends Enum { readonly isEnterMaintenanceMode: boolean; readonly isResumeNormalOperation: boolean; readonly type: "EnterMaintenanceMode" | "ResumeNormalOperation"; } - /** @name PalletTxPauseCall (205) */ + /** @name PalletTxPauseCall (210) */ interface PalletTxPauseCall extends Enum { readonly isPause: boolean; readonly asPause: { @@ -2751,7 +2827,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Pause" | "Unpause"; } - /** @name PalletBalancesCall (206) */ + /** @name PalletBalancesCall (211) */ interface PalletBalancesCall extends Enum { readonly isTransferAllowDeath: boolean; readonly asTransferAllowDeath: { @@ -2798,7 +2874,7 @@ declare module "@polkadot/types/lookup" { | "ForceSetBalance"; } - /** @name PalletIdentityCall (207) */ + /** @name PalletIdentityCall (212) */ interface PalletIdentityCall extends Enum { readonly isAddRegistrar: boolean; readonly asAddRegistrar: { @@ -2806,7 +2882,7 @@ declare module "@polkadot/types/lookup" { } & Struct; readonly isSetIdentity: boolean; readonly asSetIdentity: { - readonly info: PalletIdentitySimpleIdentityInfo; + readonly info: PalletIdentityLegacyIdentityInfo; } & Struct; readonly isSetSubs: boolean; readonly asSetSubs: { @@ -2835,7 +2911,7 @@ declare module "@polkadot/types/lookup" { readonly isSetFields: boolean; readonly asSetFields: { readonly index: Compact; - readonly fields: PalletIdentityBitFlags; + readonly fields: u64; } & Struct; readonly isProvideJudgement: boolean; readonly asProvideJudgement: { @@ -2863,6 +2939,38 @@ declare module "@polkadot/types/lookup" { readonly sub: MultiAddress; } & Struct; readonly isQuitSub: boolean; + readonly isAddUsernameAuthority: boolean; + readonly asAddUsernameAuthority: { + readonly authority: MultiAddress; + readonly suffix: Bytes; + readonly allocation: u32; + } & Struct; + readonly isRemoveUsernameAuthority: boolean; + readonly asRemoveUsernameAuthority: { + readonly authority: MultiAddress; + } & Struct; + readonly isSetUsernameFor: boolean; + readonly asSetUsernameFor: { + readonly who: MultiAddress; + readonly username: Bytes; + readonly signature: Option; + } & Struct; + readonly isAcceptUsername: boolean; + readonly asAcceptUsername: { + readonly username: Bytes; + } & Struct; + readonly isRemoveExpiredApproval: boolean; + readonly asRemoveExpiredApproval: { + readonly username: Bytes; + } & Struct; + readonly isSetPrimaryUsername: boolean; + readonly asSetPrimaryUsername: { + readonly username: Bytes; + } & Struct; + readonly isRemoveDanglingUsername: boolean; + readonly asRemoveDanglingUsername: { + readonly username: Bytes; + } & Struct; readonly type: | "AddRegistrar" | "SetIdentity" @@ -2878,11 +2986,18 @@ declare module "@polkadot/types/lookup" { | "AddSub" | "RenameSub" | "RemoveSub" - | "QuitSub"; - } - - /** @name PalletIdentitySimpleIdentityInfo (208) */ - interface PalletIdentitySimpleIdentityInfo extends Struct { + | "QuitSub" + | "AddUsernameAuthority" + | "RemoveUsernameAuthority" + | "SetUsernameFor" + | "AcceptUsername" + | "RemoveExpiredApproval" + | "SetPrimaryUsername" + | "RemoveDanglingUsername"; + } + + /** @name PalletIdentityLegacyIdentityInfo (213) */ + interface PalletIdentityLegacyIdentityInfo extends Struct { readonly additional: Vec>; readonly display: Data; readonly legal: Data; @@ -2894,32 +3009,7 @@ declare module "@polkadot/types/lookup" { readonly twitter: Data; } - /** @name PalletIdentityBitFlags (244) */ - interface PalletIdentityBitFlags extends Set { - readonly isDisplay: boolean; - readonly isLegal: boolean; - readonly isWeb: boolean; - readonly isRiot: boolean; - readonly isEmail: boolean; - readonly isPgpFingerprint: boolean; - readonly isImage: boolean; - readonly isTwitter: boolean; - } - - /** @name PalletIdentitySimpleIdentityField (245) */ - interface PalletIdentitySimpleIdentityField extends Enum { - readonly isDisplay: boolean; - readonly isLegal: boolean; - readonly isWeb: boolean; - readonly isRiot: boolean; - readonly isEmail: boolean; - readonly isPgpFingerprint: boolean; - readonly isImage: boolean; - readonly isTwitter: boolean; - readonly type: "Display" | "Legal" | "Web" | "Riot" | "Email" | "PgpFingerprint" | "Image" | "Twitter"; - } - - /** @name PalletIdentityJudgement (246) */ + /** @name PalletIdentityJudgement (249) */ interface PalletIdentityJudgement extends Enum { readonly isUnknown: boolean; readonly isFeePaid: boolean; @@ -2932,7 +3022,27 @@ declare module "@polkadot/types/lookup" { readonly type: "Unknown" | "FeePaid" | "Reasonable" | "KnownGood" | "OutOfDate" | "LowQuality" | "Erroneous"; } - /** @name PalletRegistrarCall (247) */ + /** @name SpRuntimeMultiSignature (251) */ + interface SpRuntimeMultiSignature extends Enum { + readonly isEd25519: boolean; + readonly asEd25519: SpCoreEd25519Signature; + readonly isSr25519: boolean; + readonly asSr25519: SpCoreSr25519Signature; + readonly isEcdsa: boolean; + readonly asEcdsa: SpCoreEcdsaSignature; + readonly type: "Ed25519" | "Sr25519" | "Ecdsa"; + } + + /** @name SpCoreEd25519Signature (252) */ + interface SpCoreEd25519Signature extends U8aFixed {} + + /** @name SpCoreSr25519Signature (254) */ + interface SpCoreSr25519Signature extends U8aFixed {} + + /** @name SpCoreEcdsaSignature (255) */ + interface SpCoreEcdsaSignature extends U8aFixed {} + + /** @name PalletRegistrarCall (257) */ interface PalletRegistrarCall extends Enum { readonly isRegister: boolean; readonly asRegister: { @@ -2963,7 +3073,7 @@ declare module "@polkadot/types/lookup" { | "UnpauseContainerChain"; } - /** @name TpContainerChainGenesisDataContainerChainGenesisData (248) */ + /** @name TpContainerChainGenesisDataContainerChainGenesisData (258) */ interface TpContainerChainGenesisDataContainerChainGenesisData extends Struct { readonly storage: Vec; readonly name: Bytes; @@ -2973,26 +3083,26 @@ declare module "@polkadot/types/lookup" { readonly properties: TpContainerChainGenesisDataProperties; } - /** @name TpContainerChainGenesisDataContainerChainGenesisDataItem (250) */ + /** @name TpContainerChainGenesisDataContainerChainGenesisDataItem (260) */ interface TpContainerChainGenesisDataContainerChainGenesisDataItem extends Struct { readonly key: Bytes; readonly value: Bytes; } - /** @name TpContainerChainGenesisDataProperties (252) */ + /** @name TpContainerChainGenesisDataProperties (262) */ interface TpContainerChainGenesisDataProperties extends Struct { readonly tokenMetadata: TpContainerChainGenesisDataTokenMetadata; readonly isEthereum: bool; } - /** @name TpContainerChainGenesisDataTokenMetadata (253) */ + /** @name TpContainerChainGenesisDataTokenMetadata (263) */ interface TpContainerChainGenesisDataTokenMetadata extends Struct { readonly tokenSymbol: Bytes; readonly ss58Format: u32; readonly tokenDecimals: u32; } - /** @name PalletConfigurationCall (255) */ + /** @name PalletConfigurationCall (265) */ interface PalletConfigurationCall extends Enum { readonly isSetMaxCollators: boolean; readonly asSetMaxCollators: { @@ -3042,10 +3152,10 @@ declare module "@polkadot/types/lookup" { | "SetBypassConsistencyCheck"; } - /** @name PalletCollatorAssignmentCall (257) */ + /** @name PalletCollatorAssignmentCall (267) */ type PalletCollatorAssignmentCall = Null; - /** @name PalletAuthorNotingCall (258) */ + /** @name PalletAuthorNotingCall (268) */ interface PalletAuthorNotingCall extends Enum { readonly isSetLatestAuthorData: boolean; readonly asSetLatestAuthorData: { @@ -3064,15 +3174,15 @@ declare module "@polkadot/types/lookup" { readonly type: "SetLatestAuthorData" | "SetAuthor" | "KillAuthorData"; } - /** @name TpAuthorNotingInherentOwnParachainInherentData (259) */ + /** @name TpAuthorNotingInherentOwnParachainInherentData (269) */ interface TpAuthorNotingInherentOwnParachainInherentData extends Struct { readonly relayStorageProof: SpTrieStorageProof; } - /** @name PalletAuthorityAssignmentCall (260) */ + /** @name PalletAuthorityAssignmentCall (270) */ type PalletAuthorityAssignmentCall = Null; - /** @name PalletServicesPaymentCall (261) */ + /** @name PalletServicesPaymentCall (271) */ interface PalletServicesPaymentCall extends Enum { readonly isPurchaseCredits: boolean; readonly asPurchaseCredits: { @@ -3093,7 +3203,7 @@ declare module "@polkadot/types/lookup" { readonly type: "PurchaseCredits" | "SetCredits" | "SetGivenFreeCredits"; } - /** @name PalletDataPreserversCall (263) */ + /** @name PalletDataPreserversCall (273) */ interface PalletDataPreserversCall extends Enum { readonly isSetBootNodes: boolean; readonly asSetBootNodes: { @@ -3103,7 +3213,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetBootNodes"; } - /** @name PalletInvulnerablesCall (267) */ + /** @name PalletInvulnerablesCall (277) */ interface PalletInvulnerablesCall extends Enum { readonly isSetInvulnerables: boolean; readonly asSetInvulnerables: { @@ -3120,7 +3230,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetInvulnerables" | "AddInvulnerable" | "RemoveInvulnerable"; } - /** @name PalletSessionCall (268) */ + /** @name PalletSessionCall (278) */ interface PalletSessionCall extends Enum { readonly isSetKeys: boolean; readonly asSetKeys: { @@ -3131,24 +3241,24 @@ declare module "@polkadot/types/lookup" { readonly type: "SetKeys" | "PurgeKeys"; } - /** @name DanceboxRuntimeSessionKeys (269) */ + /** @name DanceboxRuntimeSessionKeys (279) */ interface DanceboxRuntimeSessionKeys extends Struct { readonly nimbus: NimbusPrimitivesNimbusCryptoPublic; } - /** @name NimbusPrimitivesNimbusCryptoPublic (270) */ + /** @name NimbusPrimitivesNimbusCryptoPublic (280) */ interface NimbusPrimitivesNimbusCryptoPublic extends SpCoreSr25519Public {} - /** @name SpCoreSr25519Public (271) */ + /** @name SpCoreSr25519Public (281) */ interface SpCoreSr25519Public extends U8aFixed {} - /** @name PalletAuthorInherentCall (272) */ + /** @name PalletAuthorInherentCall (282) */ interface PalletAuthorInherentCall extends Enum { readonly isKickOffAuthorshipValidation: boolean; readonly type: "KickOffAuthorshipValidation"; } - /** @name PalletPooledStakingCall (273) */ + /** @name PalletPooledStakingCall (283) */ interface PalletPooledStakingCall extends Enum { readonly isRebalanceHold: boolean; readonly asRebalanceHold: { @@ -3196,7 +3306,7 @@ declare module "@polkadot/types/lookup" { | "SwapPool"; } - /** @name PalletPooledStakingAllTargetPool (274) */ + /** @name PalletPooledStakingAllTargetPool (284) */ interface PalletPooledStakingAllTargetPool extends Enum { readonly isJoining: boolean; readonly isAutoCompounding: boolean; @@ -3205,13 +3315,13 @@ declare module "@polkadot/types/lookup" { readonly type: "Joining" | "AutoCompounding" | "ManualRewards" | "Leaving"; } - /** @name PalletPooledStakingPendingOperationQuery (276) */ + /** @name PalletPooledStakingPendingOperationQuery (286) */ interface PalletPooledStakingPendingOperationQuery extends Struct { readonly delegator: AccountId32; readonly operation: PalletPooledStakingPendingOperationKey; } - /** @name PalletPooledStakingPendingOperationKey (277) */ + /** @name PalletPooledStakingPendingOperationKey (287) */ interface PalletPooledStakingPendingOperationKey extends Enum { readonly isJoiningAutoCompounding: boolean; readonly asJoiningAutoCompounding: { @@ -3231,7 +3341,7 @@ declare module "@polkadot/types/lookup" { readonly type: "JoiningAutoCompounding" | "JoiningManualRewards" | "Leaving"; } - /** @name PalletPooledStakingSharesOrStake (278) */ + /** @name PalletPooledStakingSharesOrStake (288) */ interface PalletPooledStakingSharesOrStake extends Enum { readonly isShares: boolean; readonly asShares: u128; @@ -3240,13 +3350,8 @@ declare module "@polkadot/types/lookup" { readonly type: "Shares" | "Stake"; } - /** @name CumulusPalletXcmpQueueCall (281) */ + /** @name CumulusPalletXcmpQueueCall (291) */ interface CumulusPalletXcmpQueueCall extends Enum { - readonly isServiceOverweight: boolean; - readonly asServiceOverweight: { - readonly index: u64; - readonly weightLimit: SpWeightsWeightV2Weight; - } & Struct; readonly isSuspendXcmExecution: boolean; readonly isResumeXcmExecution: boolean; readonly isUpdateSuspendThreshold: boolean; @@ -3261,41 +3366,18 @@ declare module "@polkadot/types/lookup" { readonly asUpdateResumeThreshold: { readonly new_: u32; } & Struct; - readonly isUpdateThresholdWeight: boolean; - readonly asUpdateThresholdWeight: { - readonly new_: SpWeightsWeightV2Weight; - } & Struct; - readonly isUpdateWeightRestrictDecay: boolean; - readonly asUpdateWeightRestrictDecay: { - readonly new_: SpWeightsWeightV2Weight; - } & Struct; - readonly isUpdateXcmpMaxIndividualWeight: boolean; - readonly asUpdateXcmpMaxIndividualWeight: { - readonly new_: SpWeightsWeightV2Weight; - } & Struct; readonly type: - | "ServiceOverweight" | "SuspendXcmExecution" | "ResumeXcmExecution" | "UpdateSuspendThreshold" | "UpdateDropThreshold" - | "UpdateResumeThreshold" - | "UpdateThresholdWeight" - | "UpdateWeightRestrictDecay" - | "UpdateXcmpMaxIndividualWeight"; + | "UpdateResumeThreshold"; } - /** @name CumulusPalletDmpQueueCall (282) */ - interface CumulusPalletDmpQueueCall extends Enum { - readonly isServiceOverweight: boolean; - readonly asServiceOverweight: { - readonly index: u64; - readonly weightLimit: SpWeightsWeightV2Weight; - } & Struct; - readonly type: "ServiceOverweight"; - } + /** @name CumulusPalletDmpQueueCall (292) */ + type CumulusPalletDmpQueueCall = Null; - /** @name PalletXcmCall (283) */ + /** @name PalletXcmCall (293) */ interface PalletXcmCall extends Enum { readonly isSend: boolean; readonly asSend: { @@ -3358,6 +3440,14 @@ declare module "@polkadot/types/lookup" { readonly asForceSuspension: { readonly suspended: bool; } & Struct; + readonly isTransferAssets: boolean; + readonly asTransferAssets: { + readonly dest: XcmVersionedMultiLocation; + readonly beneficiary: XcmVersionedMultiLocation; + readonly assets: XcmVersionedMultiAssets; + readonly feeAssetItem: u32; + readonly weightLimit: XcmV3WeightLimit; + } & Struct; readonly type: | "Send" | "TeleportAssets" @@ -3369,10 +3459,11 @@ declare module "@polkadot/types/lookup" { | "ForceUnsubscribeVersionNotify" | "LimitedReserveTransferAssets" | "LimitedTeleportAssets" - | "ForceSuspension"; + | "ForceSuspension" + | "TransferAssets"; } - /** @name XcmVersionedXcm (284) */ + /** @name XcmVersionedXcm (294) */ interface XcmVersionedXcm extends Enum { readonly isV2: boolean; readonly asV2: XcmV2Xcm; @@ -3381,10 +3472,10 @@ declare module "@polkadot/types/lookup" { readonly type: "V2" | "V3"; } - /** @name XcmV2Xcm (285) */ + /** @name XcmV2Xcm (295) */ interface XcmV2Xcm extends Vec {} - /** @name XcmV2Instruction (287) */ + /** @name XcmV2Instruction (297) */ interface XcmV2Instruction extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: XcmV2MultiassetMultiAssets; @@ -3532,7 +3623,7 @@ declare module "@polkadot/types/lookup" { | "UnsubscribeVersion"; } - /** @name XcmV2Response (288) */ + /** @name XcmV2Response (298) */ interface XcmV2Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; @@ -3544,7 +3635,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Null" | "Assets" | "ExecutionResult" | "Version"; } - /** @name XcmV2TraitsError (291) */ + /** @name XcmV2TraitsError (301) */ interface XcmV2TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; @@ -3603,7 +3694,7 @@ declare module "@polkadot/types/lookup" { | "WeightNotComputable"; } - /** @name XcmV2MultiassetMultiAssetFilter (292) */ + /** @name XcmV2MultiassetMultiAssetFilter (302) */ interface XcmV2MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; readonly asDefinite: XcmV2MultiassetMultiAssets; @@ -3612,7 +3703,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Definite" | "Wild"; } - /** @name XcmV2MultiassetWildMultiAsset (293) */ + /** @name XcmV2MultiassetWildMultiAsset (303) */ interface XcmV2MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; @@ -3623,14 +3714,14 @@ declare module "@polkadot/types/lookup" { readonly type: "All" | "AllOf"; } - /** @name XcmV2MultiassetWildFungibility (294) */ + /** @name XcmV2MultiassetWildFungibility (304) */ interface XcmV2MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: "Fungible" | "NonFungible"; } - /** @name XcmV2WeightLimit (295) */ + /** @name XcmV2WeightLimit (305) */ interface XcmV2WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; @@ -3638,7 +3729,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Unlimited" | "Limited"; } - /** @name PalletAssetsCall (304) */ + /** @name PalletAssetsCall (314) */ interface PalletAssetsCall extends Enum { readonly isCreate: boolean; readonly asCreate: { @@ -3852,7 +3943,7 @@ declare module "@polkadot/types/lookup" { | "Block"; } - /** @name PalletForeignAssetCreatorCall (305) */ + /** @name PalletForeignAssetCreatorCall (315) */ interface PalletForeignAssetCreatorCall extends Enum { readonly isCreateForeignAsset: boolean; readonly asCreateForeignAsset: { @@ -3882,7 +3973,7 @@ declare module "@polkadot/types/lookup" { | "DestroyForeignAsset"; } - /** @name PalletAssetRateCall (306) */ + /** @name PalletAssetRateCall (316) */ interface PalletAssetRateCall extends Enum { readonly isCreate: boolean; readonly asCreate: { @@ -3901,42 +3992,60 @@ declare module "@polkadot/types/lookup" { readonly type: "Create" | "Update" | "Remove"; } - /** @name PalletRootTestingCall (307) */ + /** @name PalletMessageQueueCall (317) */ + interface PalletMessageQueueCall extends Enum { + readonly isReapPage: boolean; + readonly asReapPage: { + readonly messageOrigin: CumulusPrimitivesCoreAggregateMessageOrigin; + readonly pageIndex: u32; + } & Struct; + readonly isExecuteOverweight: boolean; + readonly asExecuteOverweight: { + readonly messageOrigin: CumulusPrimitivesCoreAggregateMessageOrigin; + readonly page: u32; + readonly index: u32; + readonly weightLimit: SpWeightsWeightV2Weight; + } & Struct; + readonly type: "ReapPage" | "ExecuteOverweight"; + } + + /** @name PalletRootTestingCall (318) */ interface PalletRootTestingCall extends Enum { readonly isFillBlock: boolean; readonly asFillBlock: { readonly ratio: Perbill; } & Struct; - readonly type: "FillBlock"; + readonly isTriggerDefensive: boolean; + readonly type: "FillBlock" | "TriggerDefensive"; } - /** @name PalletSudoError (308) */ + /** @name PalletSudoError (319) */ interface PalletSudoError extends Enum { readonly isRequireSudo: boolean; readonly type: "RequireSudo"; } - /** @name PalletUtilityError (309) */ + /** @name PalletUtilityError (320) */ interface PalletUtilityError extends Enum { readonly isTooManyCalls: boolean; readonly type: "TooManyCalls"; } - /** @name PalletProxyProxyDefinition (312) */ + /** @name PalletProxyProxyDefinition (323) */ interface PalletProxyProxyDefinition extends Struct { readonly delegate: AccountId32; readonly proxyType: DanceboxRuntimeProxyType; readonly delay: u32; } - /** @name PalletProxyAnnouncement (316) */ + /** @name PalletProxyAnnouncement (327) */ interface PalletProxyAnnouncement extends Struct { readonly real: AccountId32; readonly callHash: H256; readonly height: u32; } - /** @name PalletProxyError (318) */ + /** @name PalletProxyError (329) */ interface PalletProxyError extends Enum { readonly isTooMany: boolean; readonly isNotFound: boolean; @@ -3957,7 +4066,7 @@ declare module "@polkadot/types/lookup" { | "NoSelfProxy"; } - /** @name PalletMigrationsError (319) */ + /** @name PalletMigrationsError (330) */ interface PalletMigrationsError extends Enum { readonly isPreimageMissing: boolean; readonly isWrongUpperBound: boolean; @@ -3966,14 +4075,14 @@ declare module "@polkadot/types/lookup" { readonly type: "PreimageMissing" | "WrongUpperBound" | "PreimageIsTooBig" | "PreimageAlreadyExists"; } - /** @name PalletMaintenanceModeError (320) */ + /** @name PalletMaintenanceModeError (331) */ interface PalletMaintenanceModeError extends Enum { readonly isAlreadyInMaintenanceMode: boolean; readonly isNotInMaintenanceMode: boolean; readonly type: "AlreadyInMaintenanceMode" | "NotInMaintenanceMode"; } - /** @name PalletTxPauseError (321) */ + /** @name PalletTxPauseError (332) */ interface PalletTxPauseError extends Enum { readonly isIsPaused: boolean; readonly isIsUnpaused: boolean; @@ -3982,14 +4091,14 @@ declare module "@polkadot/types/lookup" { readonly type: "IsPaused" | "IsUnpaused" | "Unpausable" | "NotFound"; } - /** @name PalletBalancesBalanceLock (323) */ + /** @name PalletBalancesBalanceLock (334) */ interface PalletBalancesBalanceLock extends Struct { readonly id: U8aFixed; readonly amount: u128; readonly reasons: PalletBalancesReasons; } - /** @name PalletBalancesReasons (324) */ + /** @name PalletBalancesReasons (335) */ interface PalletBalancesReasons extends Enum { readonly isFee: boolean; readonly isMisc: boolean; @@ -3997,32 +4106,32 @@ declare module "@polkadot/types/lookup" { readonly type: "Fee" | "Misc" | "All"; } - /** @name PalletBalancesReserveData (327) */ + /** @name PalletBalancesReserveData (338) */ interface PalletBalancesReserveData extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name DanceboxRuntimeRuntimeHoldReason (331) */ + /** @name DanceboxRuntimeRuntimeHoldReason (342) */ interface DanceboxRuntimeRuntimeHoldReason extends Enum { readonly isPooledStaking: boolean; readonly asPooledStaking: PalletPooledStakingHoldReason; readonly type: "PooledStaking"; } - /** @name PalletPooledStakingHoldReason (332) */ + /** @name PalletPooledStakingHoldReason (343) */ interface PalletPooledStakingHoldReason extends Enum { readonly isPooledStake: boolean; readonly type: "PooledStake"; } - /** @name PalletBalancesIdAmount (335) */ + /** @name PalletBalancesIdAmount (346) */ interface PalletBalancesIdAmount extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name PalletBalancesError (337) */ + /** @name PalletBalancesError (348) */ interface PalletBalancesError extends Enum { readonly isVestingBalance: boolean; readonly isLiquidityRestrictions: boolean; @@ -4047,28 +4156,34 @@ declare module "@polkadot/types/lookup" { | "TooManyFreezes"; } - /** @name PalletTransactionPaymentReleases (338) */ + /** @name PalletTransactionPaymentReleases (349) */ interface PalletTransactionPaymentReleases extends Enum { readonly isV1Ancient: boolean; readonly isV2: boolean; readonly type: "V1Ancient" | "V2"; } - /** @name PalletIdentityRegistration (339) */ + /** @name PalletIdentityRegistration (351) */ interface PalletIdentityRegistration extends Struct { readonly judgements: Vec>; readonly deposit: u128; - readonly info: PalletIdentitySimpleIdentityInfo; + readonly info: PalletIdentityLegacyIdentityInfo; } - /** @name PalletIdentityRegistrarInfo (347) */ + /** @name PalletIdentityRegistrarInfo (360) */ interface PalletIdentityRegistrarInfo extends Struct { readonly account: AccountId32; readonly fee: u128; - readonly fields: PalletIdentityBitFlags; + readonly fields: u64; + } + + /** @name PalletIdentityAuthorityProperties (362) */ + interface PalletIdentityAuthorityProperties extends Struct { + readonly suffix: Bytes; + readonly allocation: u32; } - /** @name PalletIdentityError (349) */ + /** @name PalletIdentityError (365) */ interface PalletIdentityError extends Enum { readonly isTooManySubAccounts: boolean; readonly isNotFound: boolean; @@ -4081,13 +4196,21 @@ declare module "@polkadot/types/lookup" { readonly isInvalidJudgement: boolean; readonly isInvalidIndex: boolean; readonly isInvalidTarget: boolean; - readonly isTooManyFields: boolean; readonly isTooManyRegistrars: boolean; readonly isAlreadyClaimed: boolean; readonly isNotSub: boolean; readonly isNotOwned: boolean; readonly isJudgementForDifferentIdentity: boolean; readonly isJudgementPaymentFailed: boolean; + readonly isInvalidSuffix: boolean; + readonly isNotUsernameAuthority: boolean; + readonly isNoAllocation: boolean; + readonly isInvalidSignature: boolean; + readonly isRequiresSignature: boolean; + readonly isInvalidUsername: boolean; + readonly isUsernameTaken: boolean; + readonly isNoUsername: boolean; + readonly isNotExpired: boolean; readonly type: | "TooManySubAccounts" | "NotFound" @@ -4100,22 +4223,30 @@ declare module "@polkadot/types/lookup" { | "InvalidJudgement" | "InvalidIndex" | "InvalidTarget" - | "TooManyFields" | "TooManyRegistrars" | "AlreadyClaimed" | "NotSub" | "NotOwned" | "JudgementForDifferentIdentity" - | "JudgementPaymentFailed"; - } - - /** @name PalletRegistrarDepositInfo (354) */ + | "JudgementPaymentFailed" + | "InvalidSuffix" + | "NotUsernameAuthority" + | "NoAllocation" + | "InvalidSignature" + | "RequiresSignature" + | "InvalidUsername" + | "UsernameTaken" + | "NoUsername" + | "NotExpired"; + } + + /** @name PalletRegistrarDepositInfo (370) */ interface PalletRegistrarDepositInfo extends Struct { readonly creator: AccountId32; readonly deposit: u128; } - /** @name PalletRegistrarError (355) */ + /** @name PalletRegistrarError (371) */ interface PalletRegistrarError extends Enum { readonly isParaIdAlreadyRegistered: boolean; readonly isParaIdNotRegistered: boolean; @@ -4138,7 +4269,7 @@ declare module "@polkadot/types/lookup" { | "NotSufficientDeposit"; } - /** @name PalletConfigurationHostConfiguration (356) */ + /** @name PalletConfigurationHostConfiguration (372) */ interface PalletConfigurationHostConfiguration extends Struct { readonly maxCollators: u32; readonly minOrchestratorCollators: u32; @@ -4150,25 +4281,25 @@ declare module "@polkadot/types/lookup" { readonly targetContainerChainFullness: Perbill; } - /** @name PalletConfigurationError (359) */ + /** @name PalletConfigurationError (375) */ interface PalletConfigurationError extends Enum { readonly isInvalidNewValue: boolean; readonly type: "InvalidNewValue"; } - /** @name DpCollatorAssignmentAssignedCollatorsAccountId32 (360) */ + /** @name DpCollatorAssignmentAssignedCollatorsAccountId32 (376) */ interface DpCollatorAssignmentAssignedCollatorsAccountId32 extends Struct { readonly orchestratorChain: Vec; readonly containerChains: BTreeMap>; } - /** @name PalletAuthorNotingContainerChainBlockInfo (365) */ + /** @name PalletAuthorNotingContainerChainBlockInfo (381) */ interface PalletAuthorNotingContainerChainBlockInfo extends Struct { readonly blockNumber: u32; readonly author: AccountId32; } - /** @name PalletAuthorNotingError (366) */ + /** @name PalletAuthorNotingError (382) */ interface PalletAuthorNotingError extends Enum { readonly isFailedReading: boolean; readonly isFailedDecodingHeader: boolean; @@ -4187,13 +4318,13 @@ declare module "@polkadot/types/lookup" { | "NonAuraDigest"; } - /** @name DpCollatorAssignmentAssignedCollatorsPublic (367) */ + /** @name DpCollatorAssignmentAssignedCollatorsPublic (383) */ interface DpCollatorAssignmentAssignedCollatorsPublic extends Struct { readonly orchestratorChain: Vec; readonly containerChains: BTreeMap>; } - /** @name PalletServicesPaymentError (372) */ + /** @name PalletServicesPaymentError (388) */ interface PalletServicesPaymentError extends Enum { readonly isInsufficientFundsToPurchaseCredits: boolean; readonly isInsufficientCredits: boolean; @@ -4201,13 +4332,13 @@ declare module "@polkadot/types/lookup" { readonly type: "InsufficientFundsToPurchaseCredits" | "InsufficientCredits" | "CreditPriceTooExpensive"; } - /** @name PalletDataPreserversError (373) */ + /** @name PalletDataPreserversError (389) */ interface PalletDataPreserversError extends Enum { readonly isNoBootNodes: boolean; readonly type: "NoBootNodes"; } - /** @name PalletInvulnerablesError (375) */ + /** @name PalletInvulnerablesError (391) */ interface PalletInvulnerablesError extends Enum { readonly isTooManyInvulnerables: boolean; readonly isAlreadyInvulnerable: boolean; @@ -4215,10 +4346,10 @@ declare module "@polkadot/types/lookup" { readonly type: "TooManyInvulnerables" | "AlreadyInvulnerable" | "NotInvulnerable"; } - /** @name SpCoreCryptoKeyTypeId (380) */ + /** @name SpCoreCryptoKeyTypeId (396) */ interface SpCoreCryptoKeyTypeId extends U8aFixed {} - /** @name PalletSessionError (381) */ + /** @name PalletSessionError (397) */ interface PalletSessionError extends Enum { readonly isInvalidProof: boolean; readonly isNoAssociatedValidatorId: boolean; @@ -4228,7 +4359,7 @@ declare module "@polkadot/types/lookup" { readonly type: "InvalidProof" | "NoAssociatedValidatorId" | "DuplicatedKey" | "NoKeys" | "NoAccount"; } - /** @name PalletAuthorInherentError (385) */ + /** @name PalletAuthorInherentError (401) */ interface PalletAuthorInherentError extends Enum { readonly isAuthorAlreadySet: boolean; readonly isNoAccountId: boolean; @@ -4236,13 +4367,13 @@ declare module "@polkadot/types/lookup" { readonly type: "AuthorAlreadySet" | "NoAccountId" | "CannotBeAuthor"; } - /** @name PalletPooledStakingCandidateEligibleCandidate (387) */ + /** @name PalletPooledStakingCandidateEligibleCandidate (403) */ interface PalletPooledStakingCandidateEligibleCandidate extends Struct { readonly candidate: AccountId32; readonly stake: u128; } - /** @name PalletPooledStakingPoolsKey (390) */ + /** @name PalletPooledStakingPoolsKey (406) */ interface PalletPooledStakingPoolsKey extends Enum { readonly isCandidateTotalStake: boolean; readonly isJoiningShares: boolean; @@ -4312,7 +4443,7 @@ declare module "@polkadot/types/lookup" { | "LeavingSharesHeldStake"; } - /** @name PalletPooledStakingError (392) */ + /** @name PalletPooledStakingError (408) */ interface PalletPooledStakingError extends Enum { readonly isInvalidPalletSetting: boolean; readonly isDisabledFeature: boolean; @@ -4346,35 +4477,13 @@ declare module "@polkadot/types/lookup" { | "SwapResultsInZeroShares"; } - /** @name PalletInflationRewardsChainsToRewardValue (393) */ + /** @name PalletInflationRewardsChainsToRewardValue (409) */ interface PalletInflationRewardsChainsToRewardValue extends Struct { readonly paraIds: Vec; readonly rewardsPerChain: u128; } - /** @name CumulusPalletXcmpQueueInboundChannelDetails (395) */ - interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct { - readonly sender: u32; - readonly state: CumulusPalletXcmpQueueInboundState; - readonly messageMetadata: Vec>; - } - - /** @name CumulusPalletXcmpQueueInboundState (396) */ - interface CumulusPalletXcmpQueueInboundState extends Enum { - readonly isOk: boolean; - readonly isSuspended: boolean; - readonly type: "Ok" | "Suspended"; - } - - /** @name PolkadotParachainPrimitivesPrimitivesXcmpMessageFormat (399) */ - interface PolkadotParachainPrimitivesPrimitivesXcmpMessageFormat extends Enum { - readonly isConcatenatedVersionedXcm: boolean; - readonly isConcatenatedEncodedBlob: boolean; - readonly isSignals: boolean; - readonly type: "ConcatenatedVersionedXcm" | "ConcatenatedEncodedBlob" | "Signals"; - } - - /** @name CumulusPalletXcmpQueueOutboundChannelDetails (402) */ + /** @name CumulusPalletXcmpQueueOutboundChannelDetails (413) */ interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct { readonly recipient: u32; readonly state: CumulusPalletXcmpQueueOutboundState; @@ -4383,56 +4492,57 @@ declare module "@polkadot/types/lookup" { readonly lastIndex: u16; } - /** @name CumulusPalletXcmpQueueOutboundState (403) */ + /** @name CumulusPalletXcmpQueueOutboundState (414) */ interface CumulusPalletXcmpQueueOutboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: "Ok" | "Suspended"; } - /** @name CumulusPalletXcmpQueueQueueConfigData (405) */ + /** @name CumulusPalletXcmpQueueQueueConfigData (416) */ interface CumulusPalletXcmpQueueQueueConfigData extends Struct { readonly suspendThreshold: u32; readonly dropThreshold: u32; readonly resumeThreshold: u32; - readonly thresholdWeight: SpWeightsWeightV2Weight; - readonly weightRestrictDecay: SpWeightsWeightV2Weight; - readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight; } - /** @name CumulusPalletXcmpQueueError (407) */ + /** @name CumulusPalletXcmpQueueError (417) */ interface CumulusPalletXcmpQueueError extends Enum { - readonly isFailedToSend: boolean; - readonly isBadXcmOrigin: boolean; - readonly isBadXcm: boolean; - readonly isBadOverweightIndex: boolean; - readonly isWeightOverLimit: boolean; - readonly type: "FailedToSend" | "BadXcmOrigin" | "BadXcm" | "BadOverweightIndex" | "WeightOverLimit"; - } - - /** @name CumulusPalletXcmError (408) */ - type CumulusPalletXcmError = Null; - - /** @name CumulusPalletDmpQueueConfigData (409) */ - interface CumulusPalletDmpQueueConfigData extends Struct { - readonly maxIndividual: SpWeightsWeightV2Weight; - } - - /** @name CumulusPalletDmpQueuePageIndexData (410) */ - interface CumulusPalletDmpQueuePageIndexData extends Struct { - readonly beginUsed: u32; - readonly endUsed: u32; - readonly overweightCount: u64; - } - - /** @name CumulusPalletDmpQueueError (413) */ - interface CumulusPalletDmpQueueError extends Enum { - readonly isUnknown: boolean; - readonly isOverLimit: boolean; - readonly type: "Unknown" | "OverLimit"; + readonly isBadQueueConfig: boolean; + readonly isAlreadySuspended: boolean; + readonly isAlreadyResumed: boolean; + readonly type: "BadQueueConfig" | "AlreadySuspended" | "AlreadyResumed"; + } + + /** @name CumulusPalletDmpQueueMigrationState (418) */ + interface CumulusPalletDmpQueueMigrationState extends Enum { + readonly isNotStarted: boolean; + readonly isStartedExport: boolean; + readonly asStartedExport: { + readonly nextBeginUsed: u32; + } & Struct; + readonly isCompletedExport: boolean; + readonly isStartedOverweightExport: boolean; + readonly asStartedOverweightExport: { + readonly nextOverweightIndex: u64; + } & Struct; + readonly isCompletedOverweightExport: boolean; + readonly isStartedCleanup: boolean; + readonly asStartedCleanup: { + readonly cursor: Option; + } & Struct; + readonly isCompleted: boolean; + readonly type: + | "NotStarted" + | "StartedExport" + | "CompletedExport" + | "StartedOverweightExport" + | "CompletedOverweightExport" + | "StartedCleanup" + | "Completed"; } - /** @name PalletXcmQueryStatus (414) */ + /** @name PalletXcmQueryStatus (421) */ interface PalletXcmQueryStatus extends Enum { readonly isPending: boolean; readonly asPending: { @@ -4454,7 +4564,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Pending" | "VersionNotifier" | "Ready"; } - /** @name XcmVersionedResponse (418) */ + /** @name XcmVersionedResponse (425) */ interface XcmVersionedResponse extends Enum { readonly isV2: boolean; readonly asV2: XcmV2Response; @@ -4463,7 +4573,7 @@ declare module "@polkadot/types/lookup" { readonly type: "V2" | "V3"; } - /** @name PalletXcmVersionMigrationStage (424) */ + /** @name PalletXcmVersionMigrationStage (431) */ interface PalletXcmVersionMigrationStage extends Enum { readonly isMigrateSupportedVersion: boolean; readonly isMigrateVersionNotifiers: boolean; @@ -4477,14 +4587,14 @@ declare module "@polkadot/types/lookup" { | "MigrateAndNotifyOldTargets"; } - /** @name XcmVersionedAssetId (426) */ + /** @name XcmVersionedAssetId (433) */ interface XcmVersionedAssetId extends Enum { readonly isV3: boolean; readonly asV3: XcmV3MultiassetAssetId; readonly type: "V3"; } - /** @name PalletXcmRemoteLockedFungibleRecord (427) */ + /** @name PalletXcmRemoteLockedFungibleRecord (434) */ interface PalletXcmRemoteLockedFungibleRecord extends Struct { readonly amount: u128; readonly owner: XcmVersionedMultiLocation; @@ -4492,7 +4602,7 @@ declare module "@polkadot/types/lookup" { readonly consumers: Vec>; } - /** @name PalletXcmError (434) */ + /** @name PalletXcmError (441) */ interface PalletXcmError extends Enum { readonly isUnreachable: boolean; readonly isSendFailure: boolean; @@ -4507,13 +4617,18 @@ declare module "@polkadot/types/lookup" { readonly isBadLocation: boolean; readonly isNoSubscription: boolean; readonly isAlreadySubscribed: boolean; - readonly isInvalidAsset: boolean; + readonly isCannotCheckOutTeleport: boolean; readonly isLowBalance: boolean; readonly isTooManyLocks: boolean; readonly isAccountNotSovereign: boolean; readonly isFeesNotMet: boolean; readonly isLockNotFound: boolean; readonly isInUse: boolean; + readonly isInvalidAssetNotConcrete: boolean; + readonly isInvalidAssetUnknownReserve: boolean; + readonly isInvalidAssetUnsupportedReserve: boolean; + readonly isTooManyReserves: boolean; + readonly isLocalExecutionIncomplete: boolean; readonly type: | "Unreachable" | "SendFailure" @@ -4528,16 +4643,21 @@ declare module "@polkadot/types/lookup" { | "BadLocation" | "NoSubscription" | "AlreadySubscribed" - | "InvalidAsset" + | "CannotCheckOutTeleport" | "LowBalance" | "TooManyLocks" | "AccountNotSovereign" | "FeesNotMet" | "LockNotFound" - | "InUse"; + | "InUse" + | "InvalidAssetNotConcrete" + | "InvalidAssetUnknownReserve" + | "InvalidAssetUnsupportedReserve" + | "TooManyReserves" + | "LocalExecutionIncomplete"; } - /** @name PalletAssetsAssetDetails (435) */ + /** @name PalletAssetsAssetDetails (442) */ interface PalletAssetsAssetDetails extends Struct { readonly owner: AccountId32; readonly issuer: AccountId32; @@ -4553,7 +4673,7 @@ declare module "@polkadot/types/lookup" { readonly status: PalletAssetsAssetStatus; } - /** @name PalletAssetsAssetStatus (436) */ + /** @name PalletAssetsAssetStatus (443) */ interface PalletAssetsAssetStatus extends Enum { readonly isLive: boolean; readonly isFrozen: boolean; @@ -4561,7 +4681,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Live" | "Frozen" | "Destroying"; } - /** @name PalletAssetsAssetAccount (438) */ + /** @name PalletAssetsAssetAccount (445) */ interface PalletAssetsAssetAccount extends Struct { readonly balance: u128; readonly status: PalletAssetsAccountStatus; @@ -4569,7 +4689,7 @@ declare module "@polkadot/types/lookup" { readonly extra: Null; } - /** @name PalletAssetsAccountStatus (439) */ + /** @name PalletAssetsAccountStatus (446) */ interface PalletAssetsAccountStatus extends Enum { readonly isLiquid: boolean; readonly isFrozen: boolean; @@ -4577,7 +4697,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Liquid" | "Frozen" | "Blocked"; } - /** @name PalletAssetsExistenceReason (440) */ + /** @name PalletAssetsExistenceReason (447) */ interface PalletAssetsExistenceReason extends Enum { readonly isConsumer: boolean; readonly isSufficient: boolean; @@ -4589,13 +4709,13 @@ declare module "@polkadot/types/lookup" { readonly type: "Consumer" | "Sufficient" | "DepositHeld" | "DepositRefunded" | "DepositFrom"; } - /** @name PalletAssetsApproval (442) */ + /** @name PalletAssetsApproval (449) */ interface PalletAssetsApproval extends Struct { readonly amount: u128; readonly deposit: u128; } - /** @name PalletAssetsAssetMetadata (443) */ + /** @name PalletAssetsAssetMetadata (450) */ interface PalletAssetsAssetMetadata extends Struct { readonly deposit: u128; readonly name: Bytes; @@ -4604,7 +4724,7 @@ declare module "@polkadot/types/lookup" { readonly isFrozen: bool; } - /** @name PalletAssetsError (445) */ + /** @name PalletAssetsError (452) */ interface PalletAssetsError extends Enum { readonly isBalanceLow: boolean; readonly isNoAccount: boolean; @@ -4649,61 +4769,90 @@ declare module "@polkadot/types/lookup" { | "CallbackFailed"; } - /** @name PalletForeignAssetCreatorError (446) */ + /** @name PalletForeignAssetCreatorError (453) */ interface PalletForeignAssetCreatorError extends Enum { readonly isAssetAlreadyExists: boolean; readonly isAssetDoesNotExist: boolean; readonly type: "AssetAlreadyExists" | "AssetDoesNotExist"; } - /** @name PalletAssetRateError (447) */ + /** @name PalletAssetRateError (454) */ interface PalletAssetRateError extends Enum { readonly isUnknownAssetKind: boolean; readonly isAlreadyExists: boolean; readonly type: "UnknownAssetKind" | "AlreadyExists"; } - /** @name SpRuntimeMultiSignature (452) */ - interface SpRuntimeMultiSignature extends Enum { - readonly isEd25519: boolean; - readonly asEd25519: SpCoreEd25519Signature; - readonly isSr25519: boolean; - readonly asSr25519: SpCoreSr25519Signature; - readonly isEcdsa: boolean; - readonly asEcdsa: SpCoreEcdsaSignature; - readonly type: "Ed25519" | "Sr25519" | "Ecdsa"; + /** @name PalletMessageQueueBookState (455) */ + interface PalletMessageQueueBookState extends Struct { + readonly begin: u32; + readonly end: u32; + readonly count: u32; + readonly readyNeighbours: Option; + readonly messageCount: u64; + readonly size_: u64; } - /** @name SpCoreEd25519Signature (453) */ - interface SpCoreEd25519Signature extends U8aFixed {} - - /** @name SpCoreSr25519Signature (455) */ - interface SpCoreSr25519Signature extends U8aFixed {} - - /** @name SpCoreEcdsaSignature (456) */ - interface SpCoreEcdsaSignature extends U8aFixed {} + /** @name PalletMessageQueueNeighbours (457) */ + interface PalletMessageQueueNeighbours extends Struct { + readonly prev: CumulusPrimitivesCoreAggregateMessageOrigin; + readonly next: CumulusPrimitivesCoreAggregateMessageOrigin; + } - /** @name FrameSystemExtensionsCheckNonZeroSender (459) */ + /** @name PalletMessageQueuePage (459) */ + interface PalletMessageQueuePage extends Struct { + readonly remaining: u32; + readonly remainingSize: u32; + readonly firstIndex: u32; + readonly first: u32; + readonly last: u32; + readonly heap: Bytes; + } + + /** @name PalletMessageQueueError (461) */ + interface PalletMessageQueueError extends Enum { + readonly isNotReapable: boolean; + readonly isNoPage: boolean; + readonly isNoMessage: boolean; + readonly isAlreadyProcessed: boolean; + readonly isQueued: boolean; + readonly isInsufficientWeight: boolean; + readonly isTemporarilyUnprocessable: boolean; + readonly isQueuePaused: boolean; + readonly isRecursiveDisallowed: boolean; + readonly type: + | "NotReapable" + | "NoPage" + | "NoMessage" + | "AlreadyProcessed" + | "Queued" + | "InsufficientWeight" + | "TemporarilyUnprocessable" + | "QueuePaused" + | "RecursiveDisallowed"; + } + + /** @name FrameSystemExtensionsCheckNonZeroSender (467) */ type FrameSystemExtensionsCheckNonZeroSender = Null; - /** @name FrameSystemExtensionsCheckSpecVersion (460) */ + /** @name FrameSystemExtensionsCheckSpecVersion (468) */ type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckTxVersion (461) */ + /** @name FrameSystemExtensionsCheckTxVersion (469) */ type FrameSystemExtensionsCheckTxVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (462) */ + /** @name FrameSystemExtensionsCheckGenesis (470) */ type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (465) */ + /** @name FrameSystemExtensionsCheckNonce (473) */ interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (466) */ + /** @name FrameSystemExtensionsCheckWeight (474) */ type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTransactionPaymentChargeTransactionPayment (467) */ + /** @name PalletTransactionPaymentChargeTransactionPayment (475) */ interface PalletTransactionPaymentChargeTransactionPayment extends Compact {} - /** @name DanceboxRuntimeRuntime (468) */ + /** @name DanceboxRuntimeRuntime (476) */ type DanceboxRuntimeRuntime = Null; } // declare module diff --git a/typescript-api/src/flashbox/interfaces/augment-api-consts.ts b/typescript-api/src/flashbox/interfaces/augment-api-consts.ts index 317586e2e..d7df656c1 100644 --- a/typescript-api/src/flashbox/interfaces/augment-api-consts.ts +++ b/typescript-api/src/flashbox/interfaces/augment-api-consts.ts @@ -42,19 +42,20 @@ declare module "@polkadot/api-base/types/consts" { [key: string]: Codec; }; identity: { - /** The amount held on deposit for a registered identity */ + /** The amount held on deposit for a registered identity. */ basicDeposit: u128 & AugmentedConst; - /** The amount held on deposit per additional field for a registered identity. */ - fieldDeposit: u128 & AugmentedConst; - /** - * Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O required to access an - * identity, but can be pretty high. - */ - maxAdditionalFields: u32 & AugmentedConst; + /** The amount held on deposit per encoded byte for a registered identity. */ + byteDeposit: u128 & AugmentedConst; /** Maxmimum number of registrars allowed in the system. Needed to bound the complexity of, e.g., updating judgements. */ maxRegistrars: u32 & AugmentedConst; /** The maximum number of sub-accounts allowed per identified account. */ maxSubAccounts: u32 & AugmentedConst; + /** The maximum length of a suffix. */ + maxSuffixLength: u32 & AugmentedConst; + /** The maximum length of a username, including its suffix and any system-added delimiters. */ + maxUsernameLength: u32 & AugmentedConst; + /** The number of blocks within which a username grant must be accepted. */ + pendingUsernameExpiration: u32 & AugmentedConst; /** * The amount held on deposit for a registered subaccount. This should account for the fact that one storage * item's value will increase by the size of an account ID, and there will be another trie item whose value is the @@ -153,9 +154,9 @@ declare module "@polkadot/api-base/types/consts" { }; transactionPayment: { /** - * A fee mulitplier for `Operational` extrinsics to compute "virtual tip" to boost their `priority` + * A fee multiplier for `Operational` extrinsics to compute "virtual tip" to boost their `priority` * - * This value is multipled by the `final_fee` to obtain a "virtual tip" that is later added to a tip component in + * This value is multiplied by the `final_fee` to obtain a "virtual tip" that is later added to a tip component in * regular `priority` calculations. It means that a `Normal` transaction can front-run a similarly-sized * `Operational` extrinsic (with no tip), by including a tip value greater than the virtual tip. * diff --git a/typescript-api/src/flashbox/interfaces/augment-api-errors.ts b/typescript-api/src/flashbox/interfaces/augment-api-errors.ts index 96690121c..c226e6880 100644 --- a/typescript-api/src/flashbox/interfaces/augment-api-errors.ts +++ b/typescript-api/src/flashbox/interfaces/augment-api-errors.ts @@ -80,16 +80,26 @@ declare module "@polkadot/api-base/types/errors" { InvalidIndex: AugmentedError; /** Invalid judgement. */ InvalidJudgement: AugmentedError; + /** The signature on a username was not valid. */ + InvalidSignature: AugmentedError; + /** The provided suffix is too long. */ + InvalidSuffix: AugmentedError; /** The target is invalid. */ InvalidTarget: AugmentedError; + /** The username does not meet the requirements. */ + InvalidUsername: AugmentedError; /** The provided judgement was for a different identity. */ JudgementForDifferentIdentity: AugmentedError; /** Judgement given. */ JudgementGiven: AugmentedError; /** Error that occurs when there is an issue paying for judgement. */ JudgementPaymentFailed: AugmentedError; + /** The authority cannot allocate any more usernames. */ + NoAllocation: AugmentedError; /** No identity found. */ NoIdentity: AugmentedError; + /** The username cannot be forcefully removed because it can still be accepted. */ + NotExpired: AugmentedError; /** Account isn't found. */ NotFound: AugmentedError; /** Account isn't named. */ @@ -98,14 +108,20 @@ declare module "@polkadot/api-base/types/errors" { NotOwned: AugmentedError; /** Sender is not a sub-account. */ NotSub: AugmentedError; + /** The sender does not have permission to issue a username. */ + NotUsernameAuthority: AugmentedError; + /** The requested username does not exist. */ + NoUsername: AugmentedError; + /** Setting this username requires a signature, but none was provided. */ + RequiresSignature: AugmentedError; /** Sticky judgement. */ StickyJudgement: AugmentedError; - /** Too many additional fields. */ - TooManyFields: AugmentedError; /** Maximum amount of registrars reached. Cannot add any more. */ TooManyRegistrars: AugmentedError; /** Too many subs-accounts. */ TooManySubAccounts: AugmentedError; + /** The username is already taken. */ + UsernameTaken: AugmentedError; /** Generic error */ [key: string]: AugmentedError; }; @@ -223,7 +239,7 @@ declare module "@polkadot/api-base/types/errors" { [key: string]: AugmentedError; }; sudo: { - /** Sender must be the Sudo account */ + /** Sender must be the Sudo account. */ RequireSudo: AugmentedError; /** Generic error */ [key: string]: AugmentedError; @@ -243,8 +259,12 @@ declare module "@polkadot/api-base/types/errors" { NonDefaultComposite: AugmentedError; /** There is a non-zero reference count preventing the account from being purged. */ NonZeroRefCount: AugmentedError; + /** No upgrade authorized. */ + NothingAuthorized: AugmentedError; /** The specification version is not allowed to decrease between the current runtime and the new runtime. */ SpecVersionNeedsToIncrease: AugmentedError; + /** The submitted code is not authorized. */ + Unauthorized: AugmentedError; /** Generic error */ [key: string]: AugmentedError; }; diff --git a/typescript-api/src/flashbox/interfaces/augment-api-events.ts b/typescript-api/src/flashbox/interfaces/augment-api-events.ts index 49fb77522..d76fba652 100644 --- a/typescript-api/src/flashbox/interfaces/augment-api-events.ts +++ b/typescript-api/src/flashbox/interfaces/augment-api-events.ts @@ -124,6 +124,16 @@ declare module "@polkadot/api-base/types/events" { [key: string]: AugmentedEvent; }; identity: { + /** A username authority was added. */ + AuthorityAdded: AugmentedEvent; + /** A username authority was removed. */ + AuthorityRemoved: AugmentedEvent; + /** A dangling username (as in, a username corresponding to an account that has removed its identity) has been removed. */ + DanglingUsernameRemoved: AugmentedEvent< + ApiType, + [who: AccountId32, username: Bytes], + { who: AccountId32; username: Bytes } + >; /** A name was cleared, and the given balance returned. */ IdentityCleared: AugmentedEvent< ApiType, @@ -156,6 +166,14 @@ declare module "@polkadot/api-base/types/events" { [who: AccountId32, registrarIndex: u32], { who: AccountId32; registrarIndex: u32 } >; + /** A queued username passed its expiration without being claimed and was removed. */ + PreapprovalExpired: AugmentedEvent; + /** A username was set as a primary and can be looked up from `who`. */ + PrimaryUsernameSet: AugmentedEvent< + ApiType, + [who: AccountId32, username: Bytes], + { who: AccountId32; username: Bytes } + >; /** A registrar was added. */ RegistrarAdded: AugmentedEvent; /** A sub-identity was added to an identity and the deposit paid. */ @@ -176,6 +194,18 @@ declare module "@polkadot/api-base/types/events" { [sub: AccountId32, main: AccountId32, deposit: u128], { sub: AccountId32; main: AccountId32; deposit: u128 } >; + /** A username was queued, but `who` must accept it prior to `expiration`. */ + UsernameQueued: AugmentedEvent< + ApiType, + [who: AccountId32, username: Bytes, expiration: u32], + { who: AccountId32; username: Bytes; expiration: u32 } + >; + /** A username was set for `who`. */ + UsernameSet: AugmentedEvent< + ApiType, + [who: AccountId32, username: Bytes], + { who: AccountId32; username: Bytes } + >; /** Generic event */ [key: string]: AugmentedEvent; }; @@ -275,8 +305,6 @@ declare module "@polkadot/api-base/types/events" { >; /** Some downward messages have been received and will be processed. */ DownwardMessagesReceived: AugmentedEvent; - /** An upgrade has been authorized. */ - UpgradeAuthorized: AugmentedEvent; /** An upward message was sent to the relay chain. */ UpwardMessageSent: AugmentedEvent< ApiType, @@ -340,6 +368,12 @@ declare module "@polkadot/api-base/types/events" { /** Generic event */ [key: string]: AugmentedEvent; }; + rootTesting: { + /** Event dispatched when the trigger_defensive extrinsic is called. */ + DefensiveTestCall: AugmentedEvent; + /** Generic event */ + [key: string]: AugmentedEvent; + }; servicesPayment: { CreditBurned: AugmentedEvent< ApiType, @@ -363,7 +397,13 @@ declare module "@polkadot/api-base/types/events" { }; sudo: { /** The sudo key has been updated. */ - KeyChanged: AugmentedEvent], { oldSudoer: Option }>; + KeyChanged: AugmentedEvent< + ApiType, + [old: Option, new_: AccountId32], + { old: Option; new_: AccountId32 } + >; + /** The key was permanently removed. */ + KeyRemoved: AugmentedEvent; /** A sudo call just took place. */ Sudid: AugmentedEvent< ApiType, @@ -400,6 +440,12 @@ declare module "@polkadot/api-base/types/events" { NewAccount: AugmentedEvent; /** On on-chain remark happened. */ Remarked: AugmentedEvent; + /** An upgrade was authorized. */ + UpgradeAuthorized: AugmentedEvent< + ApiType, + [codeHash: H256, checkVersion: bool], + { codeHash: H256; checkVersion: bool } + >; /** Generic event */ [key: string]: AugmentedEvent; }; diff --git a/typescript-api/src/flashbox/interfaces/augment-api-query.ts b/typescript-api/src/flashbox/interfaces/augment-api-query.ts index 7b5a3e77c..d802ff21e 100644 --- a/typescript-api/src/flashbox/interfaces/augment-api-query.ts +++ b/typescript-api/src/flashbox/interfaces/augment-api-query.ts @@ -11,7 +11,6 @@ import type { BTreeMap, Bytes, Null, Option, Struct, U8aFixed, Vec, bool, u128, import type { AnyNumber, ITuple } from "@polkadot/types-codec/types"; import type { AccountId32, H256 } from "@polkadot/types/interfaces/runtime"; import type { - CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemUnincludedSegmentAncestor, CumulusPalletParachainSystemUnincludedSegmentSegmentTracker, @@ -21,6 +20,7 @@ import type { FlashboxRuntimeSessionKeys, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, + FrameSystemCodeUpgradeAuthorization, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, @@ -31,6 +31,7 @@ import type { PalletBalancesIdAmount, PalletBalancesReserveData, PalletConfigurationHostConfiguration, + PalletIdentityAuthorityProperties, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationRewardsChainsToRewardValue, @@ -70,6 +71,8 @@ declare module "@polkadot/api-base/types/storage" { /** Author of current block. */ author: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** Check if the inherent was included */ + inherentIncluded: AugmentedQuery Observable, []> & QueryableStorageEntry; /** Generic query */ [key: string]: QueryableStorageEntry; }; @@ -248,16 +251,44 @@ declare module "@polkadot/api-base/types/storage" { }; identity: { /** - * Information that is pertinent to identify the entity behind an account. + * Reverse lookup from `username` to the `AccountId` that has registered it. The value should be a key in the + * `IdentityOf` map, but it may not if the user has cleared their identity. + * + * Multiple usernames may map to the same `AccountId`, but `IdentityOf` will only map to one primary username. + */ + accountOfUsername: AugmentedQuery< + ApiType, + (arg: Bytes | string | Uint8Array) => Observable>, + [Bytes] + > & + QueryableStorageEntry; + /** + * Information that is pertinent to identify the entity behind an account. First item is the registration, second + * is the account's primary username. * * TWOX-NOTE: OK ― `AccountId` is a secure hash. */ identityOf: AugmentedQuery< ApiType, - (arg: AccountId32 | string | Uint8Array) => Observable>, + ( + arg: AccountId32 | string | Uint8Array + ) => Observable]>>>, [AccountId32] > & QueryableStorageEntry; + /** + * Usernames that an authority has granted, but that the account controller has not confirmed that they want it. + * Used primarily in cases where the `AccountId` cannot provide a signature because they are a pure proxy, + * multisig, etc. In order to confirm it, they should call [`Call::accept_username`]. + * + * First tuple item is the account and second is the acceptance deadline. + */ + pendingUsernames: AugmentedQuery< + ApiType, + (arg: Bytes | string | Uint8Array) => Observable>>, + [Bytes] + > & + QueryableStorageEntry; /** * The set of registrars. Not expected to get very big as can only be added through a special origin (likely a * council motion). @@ -289,6 +320,13 @@ declare module "@polkadot/api-base/types/storage" { [AccountId32] > & QueryableStorageEntry; + /** A map of the accounts who are authorized to grant usernames. */ + usernameAuthorities: AugmentedQuery< + ApiType, + (arg: AccountId32 | string | Uint8Array) => Observable>, + [AccountId32] + > & + QueryableStorageEntry; /** Generic query */ [key: string]: QueryableStorageEntry; }; @@ -355,13 +393,6 @@ declare module "@polkadot/api-base/types/storage" { */ announcedHrmpMessagesPerCandidate: AugmentedQuery Observable, []> & QueryableStorageEntry; - /** The next authorized upgrade, if there is one. */ - authorizedUpgrade: AugmentedQuery< - ApiType, - () => Observable>, - [] - > & - QueryableStorageEntry; /** * A custom head data that should be returned as result of `validate_block`. * @@ -691,6 +722,13 @@ declare module "@polkadot/api-base/types/storage" { /** Total length (in bytes) for all extrinsics put together, for the current block. */ allExtrinsicsLen: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** `Some` if a code upgrade has been authorized. */ + authorizedUpgrade: AugmentedQuery< + ApiType, + () => Observable>, + [] + > & + QueryableStorageEntry; /** Map of block numbers to block hashes. */ blockHash: AugmentedQuery Observable, [u32]> & QueryableStorageEntry; diff --git a/typescript-api/src/flashbox/interfaces/augment-api-tx.ts b/typescript-api/src/flashbox/interfaces/augment-api-tx.ts index 6bfd8322b..0e31e651e 100644 --- a/typescript-api/src/flashbox/interfaces/augment-api-tx.ts +++ b/typescript-api/src/flashbox/interfaces/augment-api-tx.ts @@ -20,9 +20,9 @@ import type { FlashboxRuntimeOriginCaller, FlashboxRuntimeProxyType, FlashboxRuntimeSessionKeys, - PalletIdentityBitFlags, PalletIdentityJudgement, - PalletIdentitySimpleIdentityInfo, + PalletIdentityLegacyIdentityInfo, + SpRuntimeMultiSignature, SpWeightsWeightV2Weight, TpAuthorNotingInherentOwnParachainInherentData, TpContainerChainGenesisDataContainerChainGenesisData, @@ -253,6 +253,11 @@ declare module "@polkadot/api-base/types/submittable" { [key: string]: SubmittableExtrinsicFunction; }; identity: { + /** See [`Pallet::accept_username`]. */ + acceptUsername: AugmentedSubmittable< + (username: Bytes | string | Uint8Array) => SubmittableExtrinsic, + [Bytes] + >; /** See [`Pallet::add_registrar`]. */ addRegistrar: AugmentedSubmittable< ( @@ -293,6 +298,23 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [MultiAddress, Data] >; + /** See [`Pallet::add_username_authority`]. */ + addUsernameAuthority: AugmentedSubmittable< + ( + authority: + | MultiAddress + | { Id: any } + | { Index: any } + | { Raw: any } + | { Address32: any } + | { Address20: any } + | string + | Uint8Array, + suffix: Bytes | string | Uint8Array, + allocation: u32 | AnyNumber | Uint8Array + ) => SubmittableExtrinsic, + [MultiAddress, Bytes, u32] + >; /** See [`Pallet::cancel_request`]. */ cancelRequest: AugmentedSubmittable< (regIndex: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, @@ -345,6 +367,16 @@ declare module "@polkadot/api-base/types/submittable" { >; /** See [`Pallet::quit_sub`]. */ quitSub: AugmentedSubmittable<() => SubmittableExtrinsic, []>; + /** See [`Pallet::remove_dangling_username`]. */ + removeDanglingUsername: AugmentedSubmittable< + (username: Bytes | string | Uint8Array) => SubmittableExtrinsic, + [Bytes] + >; + /** See [`Pallet::remove_expired_approval`]. */ + removeExpiredApproval: AugmentedSubmittable< + (username: Bytes | string | Uint8Array) => SubmittableExtrinsic, + [Bytes] + >; /** See [`Pallet::remove_sub`]. */ removeSub: AugmentedSubmittable< ( @@ -360,6 +392,21 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [MultiAddress] >; + /** See [`Pallet::remove_username_authority`]. */ + removeUsernameAuthority: AugmentedSubmittable< + ( + authority: + | MultiAddress + | { Id: any } + | { Index: any } + | { Raw: any } + | { Address32: any } + | { Address20: any } + | string + | Uint8Array + ) => SubmittableExtrinsic, + [MultiAddress] + >; /** See [`Pallet::rename_sub`]. */ renameSub: AugmentedSubmittable< ( @@ -421,15 +468,15 @@ declare module "@polkadot/api-base/types/submittable" { setFields: AugmentedSubmittable< ( index: Compact | AnyNumber | Uint8Array, - fields: PalletIdentityBitFlags + fields: u64 | AnyNumber | Uint8Array ) => SubmittableExtrinsic, - [Compact, PalletIdentityBitFlags] + [Compact, u64] >; /** See [`Pallet::set_identity`]. */ setIdentity: AugmentedSubmittable< ( info: - | PalletIdentitySimpleIdentityInfo + | PalletIdentityLegacyIdentityInfo | { additional?: any; display?: any; @@ -444,7 +491,12 @@ declare module "@polkadot/api-base/types/submittable" { | string | Uint8Array ) => SubmittableExtrinsic, - [PalletIdentitySimpleIdentityInfo] + [PalletIdentityLegacyIdentityInfo] + >; + /** See [`Pallet::set_primary_username`]. */ + setPrimaryUsername: AugmentedSubmittable< + (username: Bytes | string | Uint8Array) => SubmittableExtrinsic, + [Bytes] >; /** See [`Pallet::set_subs`]. */ setSubs: AugmentedSubmittable< @@ -468,6 +520,31 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [Vec>] >; + /** See [`Pallet::set_username_for`]. */ + setUsernameFor: AugmentedSubmittable< + ( + who: + | MultiAddress + | { Id: any } + | { Index: any } + | { Raw: any } + | { Address32: any } + | { Address20: any } + | string + | Uint8Array, + username: Bytes | string | Uint8Array, + signature: + | Option + | null + | Uint8Array + | SpRuntimeMultiSignature + | { Ed25519: any } + | { Sr25519: any } + | { Ecdsa: any } + | string + ) => SubmittableExtrinsic, + [MultiAddress, Bytes, Option] + >; /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; @@ -811,6 +888,8 @@ declare module "@polkadot/api-base/types/submittable" { (ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Perbill] >; + /** See `Pallet::trigger_defensive`. */ + triggerDefensive: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; @@ -858,6 +937,8 @@ declare module "@polkadot/api-base/types/submittable" { [key: string]: SubmittableExtrinsicFunction; }; sudo: { + /** See [`Pallet::remove_key`]. */ + removeKey: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** See [`Pallet::set_key`]. */ setKey: AugmentedSubmittable< ( @@ -906,6 +987,21 @@ declare module "@polkadot/api-base/types/submittable" { [key: string]: SubmittableExtrinsicFunction; }; system: { + /** See [`Pallet::apply_authorized_upgrade`]. */ + applyAuthorizedUpgrade: AugmentedSubmittable< + (code: Bytes | string | Uint8Array) => SubmittableExtrinsic, + [Bytes] + >; + /** See [`Pallet::authorize_upgrade`]. */ + authorizeUpgrade: AugmentedSubmittable< + (codeHash: H256 | string | Uint8Array) => SubmittableExtrinsic, + [H256] + >; + /** See [`Pallet::authorize_upgrade_without_checks`]. */ + authorizeUpgradeWithoutChecks: AugmentedSubmittable< + (codeHash: H256 | string | Uint8Array) => SubmittableExtrinsic, + [H256] + >; /** See [`Pallet::kill_prefix`]. */ killPrefix: AugmentedSubmittable< ( diff --git a/typescript-api/src/flashbox/interfaces/lookup.ts b/typescript-api/src/flashbox/interfaces/lookup.ts index da1643a02..b604a230d 100644 --- a/typescript-api/src/flashbox/interfaces/lookup.ts +++ b/typescript-api/src/flashbox/interfaces/lookup.ts @@ -78,6 +78,10 @@ export default { sender: "AccountId32", hash_: "H256", }, + UpgradeAuthorized: { + codeHash: "H256", + checkVersion: "bool", + }, }, }, /** Lookup22: frame_support::dispatch::DispatchInfo */ @@ -141,7 +145,7 @@ export default { SpRuntimeTransactionalError: { _enum: ["LimitReached", "NoLayer"], }, - /** Lookup30: cumulus_pallet_parachain_system::pallet::Event */ + /** Lookup31: cumulus_pallet_parachain_system::pallet::Event */ CumulusPalletParachainSystemEvent: { _enum: { ValidationFunctionStored: "Null", @@ -149,9 +153,6 @@ export default { relayChainBlockNum: "u32", }, ValidationFunctionDiscarded: "Null", - UpgradeAuthorized: { - codeHash: "H256", - }, DownwardMessagesReceived: { count: "u32", }, @@ -164,21 +165,26 @@ export default { }, }, }, - /** Lookup32: pallet_sudo::pallet::Event */ + /** Lookup33: pallet_sudo::pallet::Event */ PalletSudoEvent: { _enum: { Sudid: { sudoResult: "Result", }, KeyChanged: { - oldSudoer: "Option", + _alias: { + new_: "new", + }, + old: "Option", + new_: "AccountId32", }, + KeyRemoved: "Null", SudoAsDone: { sudoResult: "Result", }, }, }, - /** Lookup36: pallet_utility::pallet::Event */ + /** Lookup37: pallet_utility::pallet::Event */ PalletUtilityEvent: { _enum: { BatchInterrupted: { @@ -196,7 +202,7 @@ export default { }, }, }, - /** Lookup37: pallet_proxy::pallet::Event */ + /** Lookup38: pallet_proxy::pallet::Event */ PalletProxyEvent: { _enum: { ProxyExecuted: { @@ -227,11 +233,11 @@ export default { }, }, }, - /** Lookup38: flashbox_runtime::ProxyType */ + /** Lookup39: flashbox_runtime::ProxyType */ FlashboxRuntimeProxyType: { _enum: ["Any", "NonTransfer", "Governance", "Staking", "CancelProxy", "Balances", "Registrar", "SudoRegistrar"], }, - /** Lookup40: pallet_migrations::pallet::Event */ + /** Lookup41: pallet_migrations::pallet::Event */ PalletMigrationsEvent: { _enum: { RuntimeUpgradeStarted: "Null", @@ -253,7 +259,7 @@ export default { }, }, }, - /** Lookup41: pallet_maintenance_mode::pallet::Event */ + /** Lookup42: pallet_maintenance_mode::pallet::Event */ PalletMaintenanceModeEvent: { _enum: { EnteredMaintenanceMode: "Null", @@ -266,7 +272,7 @@ export default { }, }, }, - /** Lookup42: pallet_tx_pause::pallet::Event */ + /** Lookup43: pallet_tx_pause::pallet::Event */ PalletTxPauseEvent: { _enum: { CallPaused: { @@ -277,7 +283,7 @@ export default { }, }, }, - /** Lookup45: pallet_balances::pallet::Event */ + /** Lookup46: pallet_balances::pallet::Event */ PalletBalancesEvent: { _enum: { Endowed: { @@ -366,11 +372,11 @@ export default { }, }, }, - /** Lookup46: frame_support::traits::tokens::misc::BalanceStatus */ + /** Lookup47: frame_support::traits::tokens::misc::BalanceStatus */ FrameSupportTokensMiscBalanceStatus: { _enum: ["Free", "Reserved"], }, - /** Lookup47: pallet_transaction_payment::pallet::Event */ + /** Lookup48: pallet_transaction_payment::pallet::Event */ PalletTransactionPaymentEvent: { _enum: { TransactionFeePaid: { @@ -380,7 +386,7 @@ export default { }, }, }, - /** Lookup48: pallet_identity::pallet::Event */ + /** Lookup49: pallet_identity::pallet::Event */ PalletIdentityEvent: { _enum: { IdentitySet: { @@ -424,9 +430,35 @@ export default { main: "AccountId32", deposit: "u128", }, + AuthorityAdded: { + authority: "AccountId32", + }, + AuthorityRemoved: { + authority: "AccountId32", + }, + UsernameSet: { + who: "AccountId32", + username: "Bytes", + }, + UsernameQueued: { + who: "AccountId32", + username: "Bytes", + expiration: "u32", + }, + PreapprovalExpired: { + whose: "AccountId32", + }, + PrimaryUsernameSet: { + who: "AccountId32", + username: "Bytes", + }, + DanglingUsernameRemoved: { + who: "AccountId32", + username: "Bytes", + }, }, }, - /** Lookup49: pallet_registrar::pallet::Event */ + /** Lookup51: pallet_registrar::pallet::Event */ PalletRegistrarEvent: { _enum: { ParaIdRegistered: { @@ -446,7 +478,7 @@ export default { }, }, }, - /** Lookup51: pallet_collator_assignment::pallet::Event */ + /** Lookup53: pallet_collator_assignment::pallet::Event */ PalletCollatorAssignmentEvent: { _enum: { NewPendingAssignment: { @@ -456,7 +488,7 @@ export default { }, }, }, - /** Lookup53: pallet_author_noting::pallet::Event */ + /** Lookup54: pallet_author_noting::pallet::Event */ PalletAuthorNotingEvent: { _enum: { LatestAuthorChanged: { @@ -469,7 +501,7 @@ export default { }, }, }, - /** Lookup54: pallet_services_payment::pallet::Event */ + /** Lookup55: pallet_services_payment::pallet::Event */ PalletServicesPaymentEvent: { _enum: { CreditsPurchased: { @@ -489,7 +521,7 @@ export default { }, }, }, - /** Lookup55: pallet_data_preservers::pallet::Event */ + /** Lookup56: pallet_data_preservers::pallet::Event */ PalletDataPreserversEvent: { _enum: { BootNodesChanged: { @@ -497,7 +529,7 @@ export default { }, }, }, - /** Lookup56: pallet_invulnerables::pallet::Event */ + /** Lookup57: pallet_invulnerables::pallet::Event */ PalletInvulnerablesEvent: { _enum: { NewInvulnerables: { @@ -514,7 +546,7 @@ export default { }, }, }, - /** Lookup58: pallet_session::pallet::Event */ + /** Lookup59: pallet_session::pallet::Event */ PalletSessionEvent: { _enum: { NewSession: { @@ -522,7 +554,7 @@ export default { }, }, }, - /** Lookup59: pallet_inflation_rewards::pallet::Event */ + /** Lookup60: pallet_inflation_rewards::pallet::Event */ PalletInflationRewardsEvent: { _enum: { RewardedOrchestrator: { @@ -536,7 +568,11 @@ export default { }, }, }, - /** Lookup60: frame_system::Phase */ + /** Lookup61: pallet_root_testing::pallet::Event */ + PalletRootTestingEvent: { + _enum: ["DefensiveTestCall"], + }, + /** Lookup62: frame_system::Phase */ FrameSystemPhase: { _enum: { ApplyExtrinsic: "u32", @@ -544,12 +580,17 @@ export default { Initialization: "Null", }, }, - /** Lookup64: frame_system::LastRuntimeUpgradeInfo */ + /** Lookup66: frame_system::LastRuntimeUpgradeInfo */ FrameSystemLastRuntimeUpgradeInfo: { specVersion: "Compact", specName: "Text", }, - /** Lookup67: frame_system::pallet::Call */ + /** Lookup69: frame_system::CodeUpgradeAuthorization */ + FrameSystemCodeUpgradeAuthorization: { + codeHash: "H256", + checkVersion: "bool", + }, + /** Lookup70: frame_system::pallet::Call */ FrameSystemCall: { _enum: { remark: { @@ -580,43 +621,53 @@ export default { remark_with_event: { remark: "Bytes", }, + __Unused8: "Null", + authorize_upgrade: { + codeHash: "H256", + }, + authorize_upgrade_without_checks: { + codeHash: "H256", + }, + apply_authorized_upgrade: { + code: "Bytes", + }, }, }, - /** Lookup71: frame_system::limits::BlockWeights */ + /** Lookup74: frame_system::limits::BlockWeights */ FrameSystemLimitsBlockWeights: { baseBlock: "SpWeightsWeightV2Weight", maxBlock: "SpWeightsWeightV2Weight", perClass: "FrameSupportDispatchPerDispatchClassWeightsPerClass", }, - /** Lookup72: frame_support::dispatch::PerDispatchClass */ + /** Lookup75: frame_support::dispatch::PerDispatchClass */ FrameSupportDispatchPerDispatchClassWeightsPerClass: { normal: "FrameSystemLimitsWeightsPerClass", operational: "FrameSystemLimitsWeightsPerClass", mandatory: "FrameSystemLimitsWeightsPerClass", }, - /** Lookup73: frame_system::limits::WeightsPerClass */ + /** Lookup76: frame_system::limits::WeightsPerClass */ FrameSystemLimitsWeightsPerClass: { baseExtrinsic: "SpWeightsWeightV2Weight", maxExtrinsic: "Option", maxTotal: "Option", reserved: "Option", }, - /** Lookup75: frame_system::limits::BlockLength */ + /** Lookup78: frame_system::limits::BlockLength */ FrameSystemLimitsBlockLength: { max: "FrameSupportDispatchPerDispatchClassU32", }, - /** Lookup76: frame_support::dispatch::PerDispatchClass */ + /** Lookup79: frame_support::dispatch::PerDispatchClass */ FrameSupportDispatchPerDispatchClassU32: { normal: "u32", operational: "u32", mandatory: "u32", }, - /** Lookup77: sp_weights::RuntimeDbWeight */ + /** Lookup80: sp_weights::RuntimeDbWeight */ SpWeightsRuntimeDbWeight: { read: "u64", write: "u64", }, - /** Lookup78: sp_version::RuntimeVersion */ + /** Lookup81: sp_version::RuntimeVersion */ SpVersionRuntimeVersion: { specName: "Text", implName: "Text", @@ -627,7 +678,7 @@ export default { transactionVersion: "u32", stateVersion: "u8", }, - /** Lookup83: frame_system::pallet::Error */ + /** Lookup86: frame_system::pallet::Error */ FrameSystemError: { _enum: [ "InvalidSpecName", @@ -636,51 +687,53 @@ export default { "NonDefaultComposite", "NonZeroRefCount", "CallFiltered", + "NothingAuthorized", + "Unauthorized", ], }, - /** Lookup85: cumulus_pallet_parachain_system::unincluded_segment::Ancestor */ + /** Lookup88: cumulus_pallet_parachain_system::unincluded_segment::Ancestor */ CumulusPalletParachainSystemUnincludedSegmentAncestor: { usedBandwidth: "CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth", paraHeadHash: "Option", consumedGoAheadSignal: "Option", }, - /** Lookup86: cumulus_pallet_parachain_system::unincluded_segment::UsedBandwidth */ + /** Lookup89: cumulus_pallet_parachain_system::unincluded_segment::UsedBandwidth */ CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth: { umpMsgCount: "u32", umpTotalBytes: "u32", hrmpOutgoing: "BTreeMap", }, - /** Lookup88: cumulus_pallet_parachain_system::unincluded_segment::HrmpChannelUpdate */ + /** Lookup91: cumulus_pallet_parachain_system::unincluded_segment::HrmpChannelUpdate */ CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate: { msgCount: "u32", totalBytes: "u32", }, - /** Lookup93: polkadot_primitives::v6::UpgradeGoAhead */ + /** Lookup96: polkadot_primitives::v6::UpgradeGoAhead */ PolkadotPrimitivesV6UpgradeGoAhead: { _enum: ["Abort", "GoAhead"], }, - /** Lookup94: cumulus_pallet_parachain_system::unincluded_segment::SegmentTracker */ + /** Lookup97: cumulus_pallet_parachain_system::unincluded_segment::SegmentTracker */ CumulusPalletParachainSystemUnincludedSegmentSegmentTracker: { usedBandwidth: "CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth", hrmpWatermark: "Option", consumedGoAheadSignal: "Option", }, - /** Lookup96: polkadot_primitives::v6::PersistedValidationData */ + /** Lookup99: polkadot_primitives::v6::PersistedValidationData */ PolkadotPrimitivesV6PersistedValidationData: { parentHead: "Bytes", relayParentNumber: "u32", relayParentStorageRoot: "H256", maxPovSize: "u32", }, - /** Lookup99: polkadot_primitives::v6::UpgradeRestriction */ + /** Lookup102: polkadot_primitives::v6::UpgradeRestriction */ PolkadotPrimitivesV6UpgradeRestriction: { _enum: ["Present"], }, - /** Lookup100: sp_trie::storage_proof::StorageProof */ + /** Lookup103: sp_trie::storage_proof::StorageProof */ SpTrieStorageProof: { trieNodes: "BTreeSet", }, - /** Lookup102: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot */ + /** Lookup105: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot */ CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { dmqMqcHead: "H256", relayDispatchQueueRemainingCapacity: @@ -688,12 +741,12 @@ export default { ingressChannels: "Vec<(u32,PolkadotPrimitivesV6AbridgedHrmpChannel)>", egressChannels: "Vec<(u32,PolkadotPrimitivesV6AbridgedHrmpChannel)>", }, - /** Lookup103: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispatchQueueRemainingCapacity */ + /** Lookup106: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispatchQueueRemainingCapacity */ CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity: { remainingCount: "u32", remainingSize: "u32", }, - /** Lookup106: polkadot_primitives::v6::AbridgedHrmpChannel */ + /** Lookup109: polkadot_primitives::v6::AbridgedHrmpChannel */ PolkadotPrimitivesV6AbridgedHrmpChannel: { maxCapacity: "u32", maxTotalSize: "u32", @@ -702,7 +755,7 @@ export default { totalSize: "u32", mqcHead: "Option", }, - /** Lookup107: polkadot_primitives::v6::AbridgedHostConfiguration */ + /** Lookup110: polkadot_primitives::v6::AbridgedHostConfiguration */ PolkadotPrimitivesV6AbridgedHostConfiguration: { maxCodeSize: "u32", maxHeadDataSize: "u32", @@ -715,22 +768,17 @@ export default { validationUpgradeDelay: "u32", asyncBackingParams: "PolkadotPrimitivesV6AsyncBackingAsyncBackingParams", }, - /** Lookup108: polkadot_primitives::v6::async_backing::AsyncBackingParams */ + /** Lookup111: polkadot_primitives::v6::async_backing::AsyncBackingParams */ PolkadotPrimitivesV6AsyncBackingAsyncBackingParams: { maxCandidateDepth: "u32", allowedAncestryLen: "u32", }, - /** Lookup114: polkadot_core_primitives::OutboundHrmpMessage */ + /** Lookup117: polkadot_core_primitives::OutboundHrmpMessage */ PolkadotCorePrimitivesOutboundHrmpMessage: { recipient: "u32", data: "Bytes", }, - /** Lookup116: cumulus_pallet_parachain_system::CodeUpgradeAuthorization */ - CumulusPalletParachainSystemCodeUpgradeAuthorization: { - codeHash: "H256", - checkVersion: "bool", - }, - /** Lookup117: cumulus_pallet_parachain_system::pallet::Call */ + /** Lookup119: cumulus_pallet_parachain_system::pallet::Call */ CumulusPalletParachainSystemCall: { _enum: { set_validation_data: { @@ -748,24 +796,24 @@ export default { }, }, }, - /** Lookup118: cumulus_primitives_parachain_inherent::ParachainInherentData */ + /** Lookup120: cumulus_primitives_parachain_inherent::ParachainInherentData */ CumulusPrimitivesParachainInherentParachainInherentData: { validationData: "PolkadotPrimitivesV6PersistedValidationData", relayChainState: "SpTrieStorageProof", downwardMessages: "Vec", horizontalMessages: "BTreeMap>", }, - /** Lookup120: polkadot_core_primitives::InboundDownwardMessage */ + /** Lookup122: polkadot_core_primitives::InboundDownwardMessage */ PolkadotCorePrimitivesInboundDownwardMessage: { sentAt: "u32", msg: "Bytes", }, - /** Lookup123: polkadot_core_primitives::InboundHrmpMessage */ + /** Lookup125: polkadot_core_primitives::InboundHrmpMessage */ PolkadotCorePrimitivesInboundHrmpMessage: { sentAt: "u32", data: "Bytes", }, - /** Lookup126: cumulus_pallet_parachain_system::pallet::Error */ + /** Lookup128: cumulus_pallet_parachain_system::pallet::Error */ CumulusPalletParachainSystemError: { _enum: [ "OverlappingUpgrades", @@ -778,7 +826,7 @@ export default { "Unauthorized", ], }, - /** Lookup127: pallet_timestamp::pallet::Call */ + /** Lookup129: pallet_timestamp::pallet::Call */ PalletTimestampCall: { _enum: { set: { @@ -786,9 +834,9 @@ export default { }, }, }, - /** Lookup128: parachain_info::pallet::Call */ - ParachainInfoCall: "Null", - /** Lookup129: pallet_sudo::pallet::Call */ + /** Lookup130: staging_parachain_info::pallet::Call */ + StagingParachainInfoCall: "Null", + /** Lookup131: pallet_sudo::pallet::Call */ PalletSudoCall: { _enum: { sudo: { @@ -808,9 +856,10 @@ export default { who: "MultiAddress", call: "Call", }, + remove_key: "Null", }, }, - /** Lookup131: pallet_utility::pallet::Call */ + /** Lookup133: pallet_utility::pallet::Call */ PalletUtilityCall: { _enum: { batch: { @@ -836,14 +885,14 @@ export default { }, }, }, - /** Lookup133: flashbox_runtime::OriginCaller */ + /** Lookup135: flashbox_runtime::OriginCaller */ FlashboxRuntimeOriginCaller: { _enum: { system: "FrameSupportDispatchRawOrigin", Void: "SpCoreVoid", }, }, - /** Lookup134: frame_support::dispatch::RawOrigin */ + /** Lookup136: frame_support::dispatch::RawOrigin */ FrameSupportDispatchRawOrigin: { _enum: { Root: "Null", @@ -851,9 +900,9 @@ export default { None: "Null", }, }, - /** Lookup135: sp_core::Void */ + /** Lookup137: sp_core::Void */ SpCoreVoid: "Null", - /** Lookup136: pallet_proxy::pallet::Call */ + /** Lookup138: pallet_proxy::pallet::Call */ PalletProxyCall: { _enum: { proxy: { @@ -904,11 +953,11 @@ export default { }, }, }, - /** Lookup141: pallet_maintenance_mode::pallet::Call */ + /** Lookup143: pallet_maintenance_mode::pallet::Call */ PalletMaintenanceModeCall: { _enum: ["enter_maintenance_mode", "resume_normal_operation"], }, - /** Lookup142: pallet_tx_pause::pallet::Call */ + /** Lookup144: pallet_tx_pause::pallet::Call */ PalletTxPauseCall: { _enum: { pause: { @@ -919,7 +968,7 @@ export default { }, }, }, - /** Lookup143: pallet_balances::pallet::Call */ + /** Lookup145: pallet_balances::pallet::Call */ PalletBalancesCall: { _enum: { transfer_allow_death: { @@ -954,14 +1003,14 @@ export default { }, }, }, - /** Lookup145: pallet_identity::pallet::Call */ + /** Lookup147: pallet_identity::pallet::Call */ PalletIdentityCall: { _enum: { add_registrar: { account: "MultiAddress", }, set_identity: { - info: "PalletIdentitySimpleIdentityInfo", + info: "PalletIdentityLegacyIdentityInfo", }, set_subs: { subs: "Vec<(AccountId32,Data)>", @@ -987,7 +1036,7 @@ export default { }, set_fields: { index: "Compact", - fields: "PalletIdentityBitFlags", + fields: "u64", }, provide_judgement: { regIndex: "Compact", @@ -1010,10 +1059,35 @@ export default { sub: "MultiAddress", }, quit_sub: "Null", + add_username_authority: { + authority: "MultiAddress", + suffix: "Bytes", + allocation: "u32", + }, + remove_username_authority: { + authority: "MultiAddress", + }, + set_username_for: { + who: "MultiAddress", + username: "Bytes", + signature: "Option", + }, + accept_username: { + username: "Bytes", + }, + remove_expired_approval: { + username: "Bytes", + }, + set_primary_username: { + username: "Bytes", + }, + remove_dangling_username: { + username: "Bytes", + }, }, }, - /** Lookup146: pallet_identity::simple::IdentityInfo */ - PalletIdentitySimpleIdentityInfo: { + /** Lookup148: pallet_identity::legacy::IdentityInfo */ + PalletIdentityLegacyIdentityInfo: { additional: "Vec<(Data,Data)>", display: "Data", legal: "Data", @@ -1024,22 +1098,6 @@ export default { image: "Data", twitter: "Data", }, - /** Lookup183: pallet_identity::types::BitFlags */ - PalletIdentityBitFlags: { - _bitLength: 64, - Display: 0, - Legal: 1, - Web: 2, - Riot: 3, - Email: 4, - PgpFingerprint: 5, - Image: 6, - Twitter: 7, - }, - /** Lookup184: pallet_identity::simple::IdentityField */ - PalletIdentitySimpleIdentityField: { - _enum: ["Display", "Legal", "Web", "Riot", "Email", "PgpFingerprint", "Image", "Twitter"], - }, /** Lookup185: pallet_identity::types::Judgement */ PalletIdentityJudgement: { _enum: { @@ -1052,7 +1110,21 @@ export default { Erroneous: "Null", }, }, - /** Lookup186: pallet_registrar::pallet::Call */ + /** Lookup187: sp_runtime::MultiSignature */ + SpRuntimeMultiSignature: { + _enum: { + Ed25519: "SpCoreEd25519Signature", + Sr25519: "SpCoreSr25519Signature", + Ecdsa: "SpCoreEcdsaSignature", + }, + }, + /** Lookup188: sp_core::ed25519::Signature */ + SpCoreEd25519Signature: "[u8;64]", + /** Lookup190: sp_core::sr25519::Signature */ + SpCoreSr25519Signature: "[u8;64]", + /** Lookup191: sp_core::ecdsa::Signature */ + SpCoreEcdsaSignature: "[u8;65]", + /** Lookup193: pallet_registrar::pallet::Call */ PalletRegistrarCall: { _enum: { register: { @@ -1074,7 +1146,7 @@ export default { }, }, }, - /** Lookup187: tp_container_chain_genesis_data::ContainerChainGenesisData */ + /** Lookup194: tp_container_chain_genesis_data::ContainerChainGenesisData */ TpContainerChainGenesisDataContainerChainGenesisData: { storage: "Vec", name: "Bytes", @@ -1083,23 +1155,23 @@ export default { extensions: "Bytes", properties: "TpContainerChainGenesisDataProperties", }, - /** Lookup189: tp_container_chain_genesis_data::ContainerChainGenesisDataItem */ + /** Lookup196: tp_container_chain_genesis_data::ContainerChainGenesisDataItem */ TpContainerChainGenesisDataContainerChainGenesisDataItem: { key: "Bytes", value: "Bytes", }, - /** Lookup191: tp_container_chain_genesis_data::Properties */ + /** Lookup198: tp_container_chain_genesis_data::Properties */ TpContainerChainGenesisDataProperties: { tokenMetadata: "TpContainerChainGenesisDataTokenMetadata", isEthereum: "bool", }, - /** Lookup192: tp_container_chain_genesis_data::TokenMetadata */ + /** Lookup199: tp_container_chain_genesis_data::TokenMetadata */ TpContainerChainGenesisDataTokenMetadata: { tokenSymbol: "Bytes", ss58Format: "u32", tokenDecimals: "u32", }, - /** Lookup194: pallet_configuration::pallet::Call */ + /** Lookup201: pallet_configuration::pallet::Call */ PalletConfigurationCall: { _enum: { set_max_collators: { @@ -1194,9 +1266,9 @@ export default { }, }, }, - /** Lookup196: pallet_collator_assignment::pallet::Call */ + /** Lookup203: pallet_collator_assignment::pallet::Call */ PalletCollatorAssignmentCall: "Null", - /** Lookup197: pallet_author_noting::pallet::Call */ + /** Lookup204: pallet_author_noting::pallet::Call */ PalletAuthorNotingCall: { _enum: { set_latest_author_data: { @@ -1212,13 +1284,13 @@ export default { }, }, }, - /** Lookup198: tp_author_noting_inherent::OwnParachainInherentData */ + /** Lookup205: tp_author_noting_inherent::OwnParachainInherentData */ TpAuthorNotingInherentOwnParachainInherentData: { relayStorageProof: "SpTrieStorageProof", }, - /** Lookup199: pallet_authority_assignment::pallet::Call */ + /** Lookup206: pallet_authority_assignment::pallet::Call */ PalletAuthorityAssignmentCall: "Null", - /** Lookup200: pallet_services_payment::pallet::Call */ + /** Lookup207: pallet_services_payment::pallet::Call */ PalletServicesPaymentCall: { _enum: { purchase_credits: { @@ -1236,7 +1308,7 @@ export default { }, }, }, - /** Lookup202: pallet_data_preservers::pallet::Call */ + /** Lookup209: pallet_data_preservers::pallet::Call */ PalletDataPreserversCall: { _enum: { set_boot_nodes: { @@ -1245,7 +1317,7 @@ export default { }, }, }, - /** Lookup206: pallet_invulnerables::pallet::Call */ + /** Lookup213: pallet_invulnerables::pallet::Call */ PalletInvulnerablesCall: { _enum: { set_invulnerables: { @@ -1262,7 +1334,7 @@ export default { }, }, }, - /** Lookup207: pallet_session::pallet::Call */ + /** Lookup214: pallet_session::pallet::Call */ PalletSessionCall: { _enum: { set_keys: { @@ -1275,47 +1347,48 @@ export default { purge_keys: "Null", }, }, - /** Lookup208: flashbox_runtime::SessionKeys */ + /** Lookup215: flashbox_runtime::SessionKeys */ FlashboxRuntimeSessionKeys: { nimbus: "NimbusPrimitivesNimbusCryptoPublic", }, - /** Lookup209: nimbus_primitives::nimbus_crypto::Public */ + /** Lookup216: nimbus_primitives::nimbus_crypto::Public */ NimbusPrimitivesNimbusCryptoPublic: "SpCoreSr25519Public", - /** Lookup210: sp_core::sr25519::Public */ + /** Lookup217: sp_core::sr25519::Public */ SpCoreSr25519Public: "[u8;32]", - /** Lookup211: pallet_author_inherent::pallet::Call */ + /** Lookup218: pallet_author_inherent::pallet::Call */ PalletAuthorInherentCall: { _enum: ["kick_off_authorship_validation"], }, - /** Lookup212: pallet_root_testing::pallet::Call */ + /** Lookup219: pallet_root_testing::pallet::Call */ PalletRootTestingCall: { _enum: { fill_block: { ratio: "Perbill", }, + trigger_defensive: "Null", }, }, - /** Lookup213: pallet_sudo::pallet::Error */ + /** Lookup220: pallet_sudo::pallet::Error */ PalletSudoError: { _enum: ["RequireSudo"], }, - /** Lookup214: pallet_utility::pallet::Error */ + /** Lookup221: pallet_utility::pallet::Error */ PalletUtilityError: { _enum: ["TooManyCalls"], }, - /** Lookup217: pallet_proxy::ProxyDefinition */ + /** Lookup224: pallet_proxy::ProxyDefinition */ PalletProxyProxyDefinition: { delegate: "AccountId32", proxyType: "FlashboxRuntimeProxyType", delay: "u32", }, - /** Lookup221: pallet_proxy::Announcement */ + /** Lookup228: pallet_proxy::Announcement */ PalletProxyAnnouncement: { real: "AccountId32", callHash: "H256", height: "u32", }, - /** Lookup223: pallet_proxy::pallet::Error */ + /** Lookup230: pallet_proxy::pallet::Error */ PalletProxyError: { _enum: [ "TooMany", @@ -1328,41 +1401,41 @@ export default { "NoSelfProxy", ], }, - /** Lookup224: pallet_migrations::pallet::Error */ + /** Lookup231: pallet_migrations::pallet::Error */ PalletMigrationsError: { _enum: ["PreimageMissing", "WrongUpperBound", "PreimageIsTooBig", "PreimageAlreadyExists"], }, - /** Lookup225: pallet_maintenance_mode::pallet::Error */ + /** Lookup232: pallet_maintenance_mode::pallet::Error */ PalletMaintenanceModeError: { _enum: ["AlreadyInMaintenanceMode", "NotInMaintenanceMode"], }, - /** Lookup226: pallet_tx_pause::pallet::Error */ + /** Lookup233: pallet_tx_pause::pallet::Error */ PalletTxPauseError: { _enum: ["IsPaused", "IsUnpaused", "Unpausable", "NotFound"], }, - /** Lookup228: pallet_balances::types::BalanceLock */ + /** Lookup235: pallet_balances::types::BalanceLock */ PalletBalancesBalanceLock: { id: "[u8;8]", amount: "u128", reasons: "PalletBalancesReasons", }, - /** Lookup229: pallet_balances::types::Reasons */ + /** Lookup236: pallet_balances::types::Reasons */ PalletBalancesReasons: { _enum: ["Fee", "Misc", "All"], }, - /** Lookup232: pallet_balances::types::ReserveData */ + /** Lookup239: pallet_balances::types::ReserveData */ PalletBalancesReserveData: { id: "[u8;8]", amount: "u128", }, - /** Lookup236: flashbox_runtime::RuntimeHoldReason */ + /** Lookup243: flashbox_runtime::RuntimeHoldReason */ FlashboxRuntimeRuntimeHoldReason: "Null", - /** Lookup239: pallet_balances::types::IdAmount */ + /** Lookup246: pallet_balances::types::IdAmount */ PalletBalancesIdAmount: { id: "[u8;8]", amount: "u128", }, - /** Lookup241: pallet_balances::pallet::Error */ + /** Lookup248: pallet_balances::pallet::Error */ PalletBalancesError: { _enum: [ "VestingBalance", @@ -1377,26 +1450,28 @@ export default { "TooManyFreezes", ], }, - /** Lookup242: pallet_transaction_payment::Releases */ + /** Lookup249: pallet_transaction_payment::Releases */ PalletTransactionPaymentReleases: { _enum: ["V1Ancient", "V2"], }, - /** Lookup243: pallet_identity::types::Registration> */ + /** Lookup251: pallet_identity::types::Registration> */ PalletIdentityRegistration: { judgements: "Vec<(u32,PalletIdentityJudgement)>", deposit: "u128", - info: "PalletIdentitySimpleIdentityInfo", + info: "PalletIdentityLegacyIdentityInfo", }, - /** - * Lookup251: pallet_identity::types::RegistrarInfo - */ + /** Lookup260: pallet_identity::types::RegistrarInfo */ PalletIdentityRegistrarInfo: { account: "AccountId32", fee: "u128", - fields: "PalletIdentityBitFlags", + fields: "u64", + }, + /** Lookup262: pallet_identity::types::AuthorityProperties> */ + PalletIdentityAuthorityProperties: { + suffix: "Bytes", + allocation: "u32", }, - /** Lookup253: pallet_identity::pallet::Error */ + /** Lookup265: pallet_identity::pallet::Error */ PalletIdentityError: { _enum: [ "TooManySubAccounts", @@ -1410,21 +1485,29 @@ export default { "InvalidJudgement", "InvalidIndex", "InvalidTarget", - "TooManyFields", "TooManyRegistrars", "AlreadyClaimed", "NotSub", "NotOwned", "JudgementForDifferentIdentity", "JudgementPaymentFailed", + "InvalidSuffix", + "NotUsernameAuthority", + "NoAllocation", + "InvalidSignature", + "RequiresSignature", + "InvalidUsername", + "UsernameTaken", + "NoUsername", + "NotExpired", ], }, - /** Lookup258: pallet_registrar::pallet::DepositInfo */ + /** Lookup270: pallet_registrar::pallet::DepositInfo */ PalletRegistrarDepositInfo: { creator: "AccountId32", deposit: "u128", }, - /** Lookup259: pallet_registrar::pallet::Error */ + /** Lookup271: pallet_registrar::pallet::Error */ PalletRegistrarError: { _enum: [ "ParaIdAlreadyRegistered", @@ -1438,7 +1521,7 @@ export default { "NotSufficientDeposit", ], }, - /** Lookup260: pallet_configuration::HostConfiguration */ + /** Lookup272: pallet_configuration::HostConfiguration */ PalletConfigurationHostConfiguration: { maxCollators: "u32", minOrchestratorCollators: "u32", @@ -1449,21 +1532,21 @@ export default { parathreadsPerCollator: "u32", targetContainerChainFullness: "Perbill", }, - /** Lookup263: pallet_configuration::pallet::Error */ + /** Lookup275: pallet_configuration::pallet::Error */ PalletConfigurationError: { _enum: ["InvalidNewValue"], }, - /** Lookup264: dp_collator_assignment::AssignedCollators */ + /** Lookup276: dp_collator_assignment::AssignedCollators */ DpCollatorAssignmentAssignedCollatorsAccountId32: { orchestratorChain: "Vec", containerChains: "BTreeMap>", }, - /** Lookup269: pallet_author_noting::pallet::ContainerChainBlockInfo */ + /** Lookup281: pallet_author_noting::pallet::ContainerChainBlockInfo */ PalletAuthorNotingContainerChainBlockInfo: { blockNumber: "u32", author: "AccountId32", }, - /** Lookup270: pallet_author_noting::pallet::Error */ + /** Lookup282: pallet_author_noting::pallet::Error */ PalletAuthorNotingError: { _enum: [ "FailedReading", @@ -1475,66 +1558,52 @@ export default { "NonAuraDigest", ], }, - /** Lookup271: dp_collator_assignment::AssignedCollators */ + /** Lookup283: dp_collator_assignment::AssignedCollators */ DpCollatorAssignmentAssignedCollatorsPublic: { orchestratorChain: "Vec", containerChains: "BTreeMap>", }, - /** Lookup276: pallet_services_payment::pallet::Error */ + /** Lookup288: pallet_services_payment::pallet::Error */ PalletServicesPaymentError: { _enum: ["InsufficientFundsToPurchaseCredits", "InsufficientCredits", "CreditPriceTooExpensive"], }, - /** Lookup277: pallet_data_preservers::pallet::Error */ + /** Lookup289: pallet_data_preservers::pallet::Error */ PalletDataPreserversError: { _enum: ["NoBootNodes"], }, - /** Lookup279: pallet_invulnerables::pallet::Error */ + /** Lookup291: pallet_invulnerables::pallet::Error */ PalletInvulnerablesError: { _enum: ["TooManyInvulnerables", "AlreadyInvulnerable", "NotInvulnerable"], }, - /** Lookup284: sp_core::crypto::KeyTypeId */ + /** Lookup296: sp_core::crypto::KeyTypeId */ SpCoreCryptoKeyTypeId: "[u8;4]", - /** Lookup285: pallet_session::pallet::Error */ + /** Lookup297: pallet_session::pallet::Error */ PalletSessionError: { _enum: ["InvalidProof", "NoAssociatedValidatorId", "DuplicatedKey", "NoKeys", "NoAccount"], }, - /** Lookup289: pallet_author_inherent::pallet::Error */ + /** Lookup301: pallet_author_inherent::pallet::Error */ PalletAuthorInherentError: { _enum: ["AuthorAlreadySet", "NoAccountId", "CannotBeAuthor"], }, - /** Lookup290: pallet_inflation_rewards::pallet::ChainsToRewardValue */ + /** Lookup302: pallet_inflation_rewards::pallet::ChainsToRewardValue */ PalletInflationRewardsChainsToRewardValue: { paraIds: "Vec", rewardsPerChain: "u128", }, - /** Lookup295: sp_runtime::MultiSignature */ - SpRuntimeMultiSignature: { - _enum: { - Ed25519: "SpCoreEd25519Signature", - Sr25519: "SpCoreSr25519Signature", - Ecdsa: "SpCoreEcdsaSignature", - }, - }, - /** Lookup296: sp_core::ed25519::Signature */ - SpCoreEd25519Signature: "[u8;64]", - /** Lookup298: sp_core::sr25519::Signature */ - SpCoreSr25519Signature: "[u8;64]", - /** Lookup299: sp_core::ecdsa::Signature */ - SpCoreEcdsaSignature: "[u8;65]", - /** Lookup302: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender */ + /** Lookup308: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender */ FrameSystemExtensionsCheckNonZeroSender: "Null", - /** Lookup303: frame_system::extensions::check_spec_version::CheckSpecVersion */ + /** Lookup309: frame_system::extensions::check_spec_version::CheckSpecVersion */ FrameSystemExtensionsCheckSpecVersion: "Null", - /** Lookup304: frame_system::extensions::check_tx_version::CheckTxVersion */ + /** Lookup310: frame_system::extensions::check_tx_version::CheckTxVersion */ FrameSystemExtensionsCheckTxVersion: "Null", - /** Lookup305: frame_system::extensions::check_genesis::CheckGenesis */ + /** Lookup311: frame_system::extensions::check_genesis::CheckGenesis */ FrameSystemExtensionsCheckGenesis: "Null", - /** Lookup308: frame_system::extensions::check_nonce::CheckNonce */ + /** Lookup314: frame_system::extensions::check_nonce::CheckNonce */ FrameSystemExtensionsCheckNonce: "Compact", - /** Lookup309: frame_system::extensions::check_weight::CheckWeight */ + /** Lookup315: frame_system::extensions::check_weight::CheckWeight */ FrameSystemExtensionsCheckWeight: "Null", - /** Lookup310: pallet_transaction_payment::ChargeTransactionPayment */ + /** Lookup316: pallet_transaction_payment::ChargeTransactionPayment */ PalletTransactionPaymentChargeTransactionPayment: "Compact", - /** Lookup311: flashbox_runtime::Runtime */ + /** Lookup317: flashbox_runtime::Runtime */ FlashboxRuntimeRuntime: "Null", }; diff --git a/typescript-api/src/flashbox/interfaces/registry.ts b/typescript-api/src/flashbox/interfaces/registry.ts index 391d24000..b48936727 100644 --- a/typescript-api/src/flashbox/interfaces/registry.ts +++ b/typescript-api/src/flashbox/interfaces/registry.ts @@ -7,7 +7,6 @@ import "@polkadot/types/types/registry"; import type { CumulusPalletParachainSystemCall, - CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, @@ -34,6 +33,7 @@ import type { FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, + FrameSystemCodeUpgradeAuthorization, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, @@ -72,15 +72,14 @@ import type { PalletDataPreserversCall, PalletDataPreserversError, PalletDataPreserversEvent, - PalletIdentityBitFlags, + PalletIdentityAuthorityProperties, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityJudgement, + PalletIdentityLegacyIdentityInfo, PalletIdentityRegistrarInfo, PalletIdentityRegistration, - PalletIdentitySimpleIdentityField, - PalletIdentitySimpleIdentityInfo, PalletInflationRewardsChainsToRewardValue, PalletInflationRewardsEvent, PalletInvulnerablesCall, @@ -101,6 +100,7 @@ import type { PalletRegistrarError, PalletRegistrarEvent, PalletRootTestingCall, + PalletRootTestingEvent, PalletServicesPaymentCall, PalletServicesPaymentError, PalletServicesPaymentEvent, @@ -120,7 +120,6 @@ import type { PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, - ParachainInfoCall, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, @@ -148,6 +147,7 @@ import type { SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, + StagingParachainInfoCall, TpAuthorNotingInherentOwnParachainInherentData, TpContainerChainGenesisDataContainerChainGenesisData, TpContainerChainGenesisDataContainerChainGenesisDataItem, @@ -158,7 +158,6 @@ import type { declare module "@polkadot/types/types/registry" { interface InterfaceTypes { CumulusPalletParachainSystemCall: CumulusPalletParachainSystemCall; - CumulusPalletParachainSystemCodeUpgradeAuthorization: CumulusPalletParachainSystemCodeUpgradeAuthorization; CumulusPalletParachainSystemError: CumulusPalletParachainSystemError; CumulusPalletParachainSystemEvent: CumulusPalletParachainSystemEvent; CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot; @@ -185,6 +184,7 @@ declare module "@polkadot/types/types/registry" { FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus; FrameSystemAccountInfo: FrameSystemAccountInfo; FrameSystemCall: FrameSystemCall; + FrameSystemCodeUpgradeAuthorization: FrameSystemCodeUpgradeAuthorization; FrameSystemError: FrameSystemError; FrameSystemEvent: FrameSystemEvent; FrameSystemEventRecord: FrameSystemEventRecord; @@ -223,15 +223,14 @@ declare module "@polkadot/types/types/registry" { PalletDataPreserversCall: PalletDataPreserversCall; PalletDataPreserversError: PalletDataPreserversError; PalletDataPreserversEvent: PalletDataPreserversEvent; - PalletIdentityBitFlags: PalletIdentityBitFlags; + PalletIdentityAuthorityProperties: PalletIdentityAuthorityProperties; PalletIdentityCall: PalletIdentityCall; PalletIdentityError: PalletIdentityError; PalletIdentityEvent: PalletIdentityEvent; PalletIdentityJudgement: PalletIdentityJudgement; + PalletIdentityLegacyIdentityInfo: PalletIdentityLegacyIdentityInfo; PalletIdentityRegistrarInfo: PalletIdentityRegistrarInfo; PalletIdentityRegistration: PalletIdentityRegistration; - PalletIdentitySimpleIdentityField: PalletIdentitySimpleIdentityField; - PalletIdentitySimpleIdentityInfo: PalletIdentitySimpleIdentityInfo; PalletInflationRewardsChainsToRewardValue: PalletInflationRewardsChainsToRewardValue; PalletInflationRewardsEvent: PalletInflationRewardsEvent; PalletInvulnerablesCall: PalletInvulnerablesCall; @@ -252,6 +251,7 @@ declare module "@polkadot/types/types/registry" { PalletRegistrarError: PalletRegistrarError; PalletRegistrarEvent: PalletRegistrarEvent; PalletRootTestingCall: PalletRootTestingCall; + PalletRootTestingEvent: PalletRootTestingEvent; PalletServicesPaymentCall: PalletServicesPaymentCall; PalletServicesPaymentError: PalletServicesPaymentError; PalletServicesPaymentEvent: PalletServicesPaymentEvent; @@ -271,7 +271,6 @@ declare module "@polkadot/types/types/registry" { PalletUtilityCall: PalletUtilityCall; PalletUtilityError: PalletUtilityError; PalletUtilityEvent: PalletUtilityEvent; - ParachainInfoCall: ParachainInfoCall; PolkadotCorePrimitivesInboundDownwardMessage: PolkadotCorePrimitivesInboundDownwardMessage; PolkadotCorePrimitivesInboundHrmpMessage: PolkadotCorePrimitivesInboundHrmpMessage; PolkadotCorePrimitivesOutboundHrmpMessage: PolkadotCorePrimitivesOutboundHrmpMessage; @@ -299,6 +298,7 @@ declare module "@polkadot/types/types/registry" { SpVersionRuntimeVersion: SpVersionRuntimeVersion; SpWeightsRuntimeDbWeight: SpWeightsRuntimeDbWeight; SpWeightsWeightV2Weight: SpWeightsWeightV2Weight; + StagingParachainInfoCall: StagingParachainInfoCall; TpAuthorNotingInherentOwnParachainInherentData: TpAuthorNotingInherentOwnParachainInherentData; TpContainerChainGenesisDataContainerChainGenesisData: TpContainerChainGenesisDataContainerChainGenesisData; TpContainerChainGenesisDataContainerChainGenesisDataItem: TpContainerChainGenesisDataContainerChainGenesisDataItem; diff --git a/typescript-api/src/flashbox/interfaces/types-lookup.ts b/typescript-api/src/flashbox/interfaces/types-lookup.ts index d4a8e0869..7dd3319a0 100644 --- a/typescript-api/src/flashbox/interfaces/types-lookup.ts +++ b/typescript-api/src/flashbox/interfaces/types-lookup.ts @@ -15,7 +15,6 @@ import type { Null, Option, Result, - Set, Struct, Text, U8aFixed, @@ -113,13 +112,19 @@ declare module "@polkadot/types/lookup" { readonly sender: AccountId32; readonly hash_: H256; } & Struct; + readonly isUpgradeAuthorized: boolean; + readonly asUpgradeAuthorized: { + readonly codeHash: H256; + readonly checkVersion: bool; + } & Struct; readonly type: | "ExtrinsicSuccess" | "ExtrinsicFailed" | "CodeUpdated" | "NewAccount" | "KilledAccount" - | "Remarked"; + | "Remarked" + | "UpgradeAuthorized"; } /** @name FrameSupportDispatchDispatchInfo (22) */ @@ -227,7 +232,7 @@ declare module "@polkadot/types/lookup" { readonly type: "LimitReached" | "NoLayer"; } - /** @name CumulusPalletParachainSystemEvent (30) */ + /** @name CumulusPalletParachainSystemEvent (31) */ interface CumulusPalletParachainSystemEvent extends Enum { readonly isValidationFunctionStored: boolean; readonly isValidationFunctionApplied: boolean; @@ -235,10 +240,6 @@ declare module "@polkadot/types/lookup" { readonly relayChainBlockNum: u32; } & Struct; readonly isValidationFunctionDiscarded: boolean; - readonly isUpgradeAuthorized: boolean; - readonly asUpgradeAuthorized: { - readonly codeHash: H256; - } & Struct; readonly isDownwardMessagesReceived: boolean; readonly asDownwardMessagesReceived: { readonly count: u32; @@ -256,13 +257,12 @@ declare module "@polkadot/types/lookup" { | "ValidationFunctionStored" | "ValidationFunctionApplied" | "ValidationFunctionDiscarded" - | "UpgradeAuthorized" | "DownwardMessagesReceived" | "DownwardMessagesProcessed" | "UpwardMessageSent"; } - /** @name PalletSudoEvent (32) */ + /** @name PalletSudoEvent (33) */ interface PalletSudoEvent extends Enum { readonly isSudid: boolean; readonly asSudid: { @@ -270,16 +270,18 @@ declare module "@polkadot/types/lookup" { } & Struct; readonly isKeyChanged: boolean; readonly asKeyChanged: { - readonly oldSudoer: Option; + readonly old: Option; + readonly new_: AccountId32; } & Struct; + readonly isKeyRemoved: boolean; readonly isSudoAsDone: boolean; readonly asSudoAsDone: { readonly sudoResult: Result; } & Struct; - readonly type: "Sudid" | "KeyChanged" | "SudoAsDone"; + readonly type: "Sudid" | "KeyChanged" | "KeyRemoved" | "SudoAsDone"; } - /** @name PalletUtilityEvent (36) */ + /** @name PalletUtilityEvent (37) */ interface PalletUtilityEvent extends Enum { readonly isBatchInterrupted: boolean; readonly asBatchInterrupted: { @@ -306,7 +308,7 @@ declare module "@polkadot/types/lookup" { | "DispatchedAs"; } - /** @name PalletProxyEvent (37) */ + /** @name PalletProxyEvent (38) */ interface PalletProxyEvent extends Enum { readonly isProxyExecuted: boolean; readonly asProxyExecuted: { @@ -342,7 +344,7 @@ declare module "@polkadot/types/lookup" { readonly type: "ProxyExecuted" | "PureCreated" | "Announced" | "ProxyAdded" | "ProxyRemoved"; } - /** @name FlashboxRuntimeProxyType (38) */ + /** @name FlashboxRuntimeProxyType (39) */ interface FlashboxRuntimeProxyType extends Enum { readonly isAny: boolean; readonly isNonTransfer: boolean; @@ -363,7 +365,7 @@ declare module "@polkadot/types/lookup" { | "SudoRegistrar"; } - /** @name PalletMigrationsEvent (40) */ + /** @name PalletMigrationsEvent (41) */ interface PalletMigrationsEvent extends Enum { readonly isRuntimeUpgradeStarted: boolean; readonly isRuntimeUpgradeCompleted: boolean; @@ -396,7 +398,7 @@ declare module "@polkadot/types/lookup" { | "FailedToResumeIdleXcmExecution"; } - /** @name PalletMaintenanceModeEvent (41) */ + /** @name PalletMaintenanceModeEvent (42) */ interface PalletMaintenanceModeEvent extends Enum { readonly isEnteredMaintenanceMode: boolean; readonly isNormalOperationResumed: boolean; @@ -415,7 +417,7 @@ declare module "@polkadot/types/lookup" { | "FailedToResumeIdleXcmExecution"; } - /** @name PalletTxPauseEvent (42) */ + /** @name PalletTxPauseEvent (43) */ interface PalletTxPauseEvent extends Enum { readonly isCallPaused: boolean; readonly asCallPaused: { @@ -428,7 +430,7 @@ declare module "@polkadot/types/lookup" { readonly type: "CallPaused" | "CallUnpaused"; } - /** @name PalletBalancesEvent (45) */ + /** @name PalletBalancesEvent (46) */ interface PalletBalancesEvent extends Enum { readonly isEndowed: boolean; readonly asEndowed: { @@ -559,14 +561,14 @@ declare module "@polkadot/types/lookup" { | "Thawed"; } - /** @name FrameSupportTokensMiscBalanceStatus (46) */ + /** @name FrameSupportTokensMiscBalanceStatus (47) */ interface FrameSupportTokensMiscBalanceStatus extends Enum { readonly isFree: boolean; readonly isReserved: boolean; readonly type: "Free" | "Reserved"; } - /** @name PalletTransactionPaymentEvent (47) */ + /** @name PalletTransactionPaymentEvent (48) */ interface PalletTransactionPaymentEvent extends Enum { readonly isTransactionFeePaid: boolean; readonly asTransactionFeePaid: { @@ -577,7 +579,7 @@ declare module "@polkadot/types/lookup" { readonly type: "TransactionFeePaid"; } - /** @name PalletIdentityEvent (48) */ + /** @name PalletIdentityEvent (49) */ interface PalletIdentityEvent extends Enum { readonly isIdentitySet: boolean; readonly asIdentitySet: { @@ -630,6 +632,39 @@ declare module "@polkadot/types/lookup" { readonly main: AccountId32; readonly deposit: u128; } & Struct; + readonly isAuthorityAdded: boolean; + readonly asAuthorityAdded: { + readonly authority: AccountId32; + } & Struct; + readonly isAuthorityRemoved: boolean; + readonly asAuthorityRemoved: { + readonly authority: AccountId32; + } & Struct; + readonly isUsernameSet: boolean; + readonly asUsernameSet: { + readonly who: AccountId32; + readonly username: Bytes; + } & Struct; + readonly isUsernameQueued: boolean; + readonly asUsernameQueued: { + readonly who: AccountId32; + readonly username: Bytes; + readonly expiration: u32; + } & Struct; + readonly isPreapprovalExpired: boolean; + readonly asPreapprovalExpired: { + readonly whose: AccountId32; + } & Struct; + readonly isPrimaryUsernameSet: boolean; + readonly asPrimaryUsernameSet: { + readonly who: AccountId32; + readonly username: Bytes; + } & Struct; + readonly isDanglingUsernameRemoved: boolean; + readonly asDanglingUsernameRemoved: { + readonly who: AccountId32; + readonly username: Bytes; + } & Struct; readonly type: | "IdentitySet" | "IdentityCleared" @@ -640,10 +675,17 @@ declare module "@polkadot/types/lookup" { | "RegistrarAdded" | "SubIdentityAdded" | "SubIdentityRemoved" - | "SubIdentityRevoked"; + | "SubIdentityRevoked" + | "AuthorityAdded" + | "AuthorityRemoved" + | "UsernameSet" + | "UsernameQueued" + | "PreapprovalExpired" + | "PrimaryUsernameSet" + | "DanglingUsernameRemoved"; } - /** @name PalletRegistrarEvent (49) */ + /** @name PalletRegistrarEvent (51) */ interface PalletRegistrarEvent extends Enum { readonly isParaIdRegistered: boolean; readonly asParaIdRegistered: { @@ -673,7 +715,7 @@ declare module "@polkadot/types/lookup" { | "ParaIdUnpaused"; } - /** @name PalletCollatorAssignmentEvent (51) */ + /** @name PalletCollatorAssignmentEvent (53) */ interface PalletCollatorAssignmentEvent extends Enum { readonly isNewPendingAssignment: boolean; readonly asNewPendingAssignment: { @@ -684,7 +726,7 @@ declare module "@polkadot/types/lookup" { readonly type: "NewPendingAssignment"; } - /** @name PalletAuthorNotingEvent (53) */ + /** @name PalletAuthorNotingEvent (54) */ interface PalletAuthorNotingEvent extends Enum { readonly isLatestAuthorChanged: boolean; readonly asLatestAuthorChanged: { @@ -699,7 +741,7 @@ declare module "@polkadot/types/lookup" { readonly type: "LatestAuthorChanged" | "RemovedAuthorData"; } - /** @name PalletServicesPaymentEvent (54) */ + /** @name PalletServicesPaymentEvent (55) */ interface PalletServicesPaymentEvent extends Enum { readonly isCreditsPurchased: boolean; readonly asCreditsPurchased: { @@ -722,7 +764,7 @@ declare module "@polkadot/types/lookup" { readonly type: "CreditsPurchased" | "CreditBurned" | "CreditsSet"; } - /** @name PalletDataPreserversEvent (55) */ + /** @name PalletDataPreserversEvent (56) */ interface PalletDataPreserversEvent extends Enum { readonly isBootNodesChanged: boolean; readonly asBootNodesChanged: { @@ -731,7 +773,7 @@ declare module "@polkadot/types/lookup" { readonly type: "BootNodesChanged"; } - /** @name PalletInvulnerablesEvent (56) */ + /** @name PalletInvulnerablesEvent (57) */ interface PalletInvulnerablesEvent extends Enum { readonly isNewInvulnerables: boolean; readonly asNewInvulnerables: { @@ -752,7 +794,7 @@ declare module "@polkadot/types/lookup" { readonly type: "NewInvulnerables" | "InvulnerableAdded" | "InvulnerableRemoved" | "InvalidInvulnerableSkipped"; } - /** @name PalletSessionEvent (58) */ + /** @name PalletSessionEvent (59) */ interface PalletSessionEvent extends Enum { readonly isNewSession: boolean; readonly asNewSession: { @@ -761,7 +803,7 @@ declare module "@polkadot/types/lookup" { readonly type: "NewSession"; } - /** @name PalletInflationRewardsEvent (59) */ + /** @name PalletInflationRewardsEvent (60) */ interface PalletInflationRewardsEvent extends Enum { readonly isRewardedOrchestrator: boolean; readonly asRewardedOrchestrator: { @@ -777,7 +819,13 @@ declare module "@polkadot/types/lookup" { readonly type: "RewardedOrchestrator" | "RewardedContainer"; } - /** @name FrameSystemPhase (60) */ + /** @name PalletRootTestingEvent (61) */ + interface PalletRootTestingEvent extends Enum { + readonly isDefensiveTestCall: boolean; + readonly type: "DefensiveTestCall"; + } + + /** @name FrameSystemPhase (62) */ interface FrameSystemPhase extends Enum { readonly isApplyExtrinsic: boolean; readonly asApplyExtrinsic: u32; @@ -786,13 +834,19 @@ declare module "@polkadot/types/lookup" { readonly type: "ApplyExtrinsic" | "Finalization" | "Initialization"; } - /** @name FrameSystemLastRuntimeUpgradeInfo (64) */ + /** @name FrameSystemLastRuntimeUpgradeInfo (66) */ interface FrameSystemLastRuntimeUpgradeInfo extends Struct { readonly specVersion: Compact; readonly specName: Text; } - /** @name FrameSystemCall (67) */ + /** @name FrameSystemCodeUpgradeAuthorization (69) */ + interface FrameSystemCodeUpgradeAuthorization extends Struct { + readonly codeHash: H256; + readonly checkVersion: bool; + } + + /** @name FrameSystemCall (70) */ interface FrameSystemCall extends Enum { readonly isRemark: boolean; readonly asRemark: { @@ -827,6 +881,18 @@ declare module "@polkadot/types/lookup" { readonly asRemarkWithEvent: { readonly remark: Bytes; } & Struct; + readonly isAuthorizeUpgrade: boolean; + readonly asAuthorizeUpgrade: { + readonly codeHash: H256; + } & Struct; + readonly isAuthorizeUpgradeWithoutChecks: boolean; + readonly asAuthorizeUpgradeWithoutChecks: { + readonly codeHash: H256; + } & Struct; + readonly isApplyAuthorizedUpgrade: boolean; + readonly asApplyAuthorizedUpgrade: { + readonly code: Bytes; + } & Struct; readonly type: | "Remark" | "SetHeapPages" @@ -835,24 +901,27 @@ declare module "@polkadot/types/lookup" { | "SetStorage" | "KillStorage" | "KillPrefix" - | "RemarkWithEvent"; + | "RemarkWithEvent" + | "AuthorizeUpgrade" + | "AuthorizeUpgradeWithoutChecks" + | "ApplyAuthorizedUpgrade"; } - /** @name FrameSystemLimitsBlockWeights (71) */ + /** @name FrameSystemLimitsBlockWeights (74) */ interface FrameSystemLimitsBlockWeights extends Struct { readonly baseBlock: SpWeightsWeightV2Weight; readonly maxBlock: SpWeightsWeightV2Weight; readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; } - /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (72) */ + /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (75) */ interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { readonly normal: FrameSystemLimitsWeightsPerClass; readonly operational: FrameSystemLimitsWeightsPerClass; readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name FrameSystemLimitsWeightsPerClass (73) */ + /** @name FrameSystemLimitsWeightsPerClass (76) */ interface FrameSystemLimitsWeightsPerClass extends Struct { readonly baseExtrinsic: SpWeightsWeightV2Weight; readonly maxExtrinsic: Option; @@ -860,25 +929,25 @@ declare module "@polkadot/types/lookup" { readonly reserved: Option; } - /** @name FrameSystemLimitsBlockLength (75) */ + /** @name FrameSystemLimitsBlockLength (78) */ interface FrameSystemLimitsBlockLength extends Struct { readonly max: FrameSupportDispatchPerDispatchClassU32; } - /** @name FrameSupportDispatchPerDispatchClassU32 (76) */ + /** @name FrameSupportDispatchPerDispatchClassU32 (79) */ interface FrameSupportDispatchPerDispatchClassU32 extends Struct { readonly normal: u32; readonly operational: u32; readonly mandatory: u32; } - /** @name SpWeightsRuntimeDbWeight (77) */ + /** @name SpWeightsRuntimeDbWeight (80) */ interface SpWeightsRuntimeDbWeight extends Struct { readonly read: u64; readonly write: u64; } - /** @name SpVersionRuntimeVersion (78) */ + /** @name SpVersionRuntimeVersion (81) */ interface SpVersionRuntimeVersion extends Struct { readonly specName: Text; readonly implName: Text; @@ -890,7 +959,7 @@ declare module "@polkadot/types/lookup" { readonly stateVersion: u8; } - /** @name FrameSystemError (83) */ + /** @name FrameSystemError (86) */ interface FrameSystemError extends Enum { readonly isInvalidSpecName: boolean; readonly isSpecVersionNeedsToIncrease: boolean; @@ -898,50 +967,54 @@ declare module "@polkadot/types/lookup" { readonly isNonDefaultComposite: boolean; readonly isNonZeroRefCount: boolean; readonly isCallFiltered: boolean; + readonly isNothingAuthorized: boolean; + readonly isUnauthorized: boolean; readonly type: | "InvalidSpecName" | "SpecVersionNeedsToIncrease" | "FailedToExtractRuntimeVersion" | "NonDefaultComposite" | "NonZeroRefCount" - | "CallFiltered"; + | "CallFiltered" + | "NothingAuthorized" + | "Unauthorized"; } - /** @name CumulusPalletParachainSystemUnincludedSegmentAncestor (85) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentAncestor (88) */ interface CumulusPalletParachainSystemUnincludedSegmentAncestor extends Struct { readonly usedBandwidth: CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth; readonly paraHeadHash: Option; readonly consumedGoAheadSignal: Option; } - /** @name CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth (86) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth (89) */ interface CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth extends Struct { readonly umpMsgCount: u32; readonly umpTotalBytes: u32; readonly hrmpOutgoing: BTreeMap; } - /** @name CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate (88) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate (91) */ interface CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate extends Struct { readonly msgCount: u32; readonly totalBytes: u32; } - /** @name PolkadotPrimitivesV6UpgradeGoAhead (93) */ + /** @name PolkadotPrimitivesV6UpgradeGoAhead (96) */ interface PolkadotPrimitivesV6UpgradeGoAhead extends Enum { readonly isAbort: boolean; readonly isGoAhead: boolean; readonly type: "Abort" | "GoAhead"; } - /** @name CumulusPalletParachainSystemUnincludedSegmentSegmentTracker (94) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentSegmentTracker (97) */ interface CumulusPalletParachainSystemUnincludedSegmentSegmentTracker extends Struct { readonly usedBandwidth: CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth; readonly hrmpWatermark: Option; readonly consumedGoAheadSignal: Option; } - /** @name PolkadotPrimitivesV6PersistedValidationData (96) */ + /** @name PolkadotPrimitivesV6PersistedValidationData (99) */ interface PolkadotPrimitivesV6PersistedValidationData extends Struct { readonly parentHead: Bytes; readonly relayParentNumber: u32; @@ -949,18 +1022,18 @@ declare module "@polkadot/types/lookup" { readonly maxPovSize: u32; } - /** @name PolkadotPrimitivesV6UpgradeRestriction (99) */ + /** @name PolkadotPrimitivesV6UpgradeRestriction (102) */ interface PolkadotPrimitivesV6UpgradeRestriction extends Enum { readonly isPresent: boolean; readonly type: "Present"; } - /** @name SpTrieStorageProof (100) */ + /** @name SpTrieStorageProof (103) */ interface SpTrieStorageProof extends Struct { readonly trieNodes: BTreeSet; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (102) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (105) */ interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { readonly dmqMqcHead: H256; readonly relayDispatchQueueRemainingCapacity: CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity; @@ -968,13 +1041,13 @@ declare module "@polkadot/types/lookup" { readonly egressChannels: Vec>; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity (103) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity (106) */ interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity extends Struct { readonly remainingCount: u32; readonly remainingSize: u32; } - /** @name PolkadotPrimitivesV6AbridgedHrmpChannel (106) */ + /** @name PolkadotPrimitivesV6AbridgedHrmpChannel (109) */ interface PolkadotPrimitivesV6AbridgedHrmpChannel extends Struct { readonly maxCapacity: u32; readonly maxTotalSize: u32; @@ -984,7 +1057,7 @@ declare module "@polkadot/types/lookup" { readonly mqcHead: Option; } - /** @name PolkadotPrimitivesV6AbridgedHostConfiguration (107) */ + /** @name PolkadotPrimitivesV6AbridgedHostConfiguration (110) */ interface PolkadotPrimitivesV6AbridgedHostConfiguration extends Struct { readonly maxCodeSize: u32; readonly maxHeadDataSize: u32; @@ -998,25 +1071,19 @@ declare module "@polkadot/types/lookup" { readonly asyncBackingParams: PolkadotPrimitivesV6AsyncBackingAsyncBackingParams; } - /** @name PolkadotPrimitivesV6AsyncBackingAsyncBackingParams (108) */ + /** @name PolkadotPrimitivesV6AsyncBackingAsyncBackingParams (111) */ interface PolkadotPrimitivesV6AsyncBackingAsyncBackingParams extends Struct { readonly maxCandidateDepth: u32; readonly allowedAncestryLen: u32; } - /** @name PolkadotCorePrimitivesOutboundHrmpMessage (114) */ + /** @name PolkadotCorePrimitivesOutboundHrmpMessage (117) */ interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { readonly recipient: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (116) */ - interface CumulusPalletParachainSystemCodeUpgradeAuthorization extends Struct { - readonly codeHash: H256; - readonly checkVersion: bool; - } - - /** @name CumulusPalletParachainSystemCall (117) */ + /** @name CumulusPalletParachainSystemCall (119) */ interface CumulusPalletParachainSystemCall extends Enum { readonly isSetValidationData: boolean; readonly asSetValidationData: { @@ -1038,7 +1105,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetValidationData" | "SudoSendUpwardMessage" | "AuthorizeUpgrade" | "EnactAuthorizedUpgrade"; } - /** @name CumulusPrimitivesParachainInherentParachainInherentData (118) */ + /** @name CumulusPrimitivesParachainInherentParachainInherentData (120) */ interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { readonly validationData: PolkadotPrimitivesV6PersistedValidationData; readonly relayChainState: SpTrieStorageProof; @@ -1046,19 +1113,19 @@ declare module "@polkadot/types/lookup" { readonly horizontalMessages: BTreeMap>; } - /** @name PolkadotCorePrimitivesInboundDownwardMessage (120) */ + /** @name PolkadotCorePrimitivesInboundDownwardMessage (122) */ interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { readonly sentAt: u32; readonly msg: Bytes; } - /** @name PolkadotCorePrimitivesInboundHrmpMessage (123) */ + /** @name PolkadotCorePrimitivesInboundHrmpMessage (125) */ interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { readonly sentAt: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemError (126) */ + /** @name CumulusPalletParachainSystemError (128) */ interface CumulusPalletParachainSystemError extends Enum { readonly isOverlappingUpgrades: boolean; readonly isProhibitedByPolkadot: boolean; @@ -1079,7 +1146,7 @@ declare module "@polkadot/types/lookup" { | "Unauthorized"; } - /** @name PalletTimestampCall (127) */ + /** @name PalletTimestampCall (129) */ interface PalletTimestampCall extends Enum { readonly isSet: boolean; readonly asSet: { @@ -1088,10 +1155,10 @@ declare module "@polkadot/types/lookup" { readonly type: "Set"; } - /** @name ParachainInfoCall (128) */ - type ParachainInfoCall = Null; + /** @name StagingParachainInfoCall (130) */ + type StagingParachainInfoCall = Null; - /** @name PalletSudoCall (129) */ + /** @name PalletSudoCall (131) */ interface PalletSudoCall extends Enum { readonly isSudo: boolean; readonly asSudo: { @@ -1111,10 +1178,11 @@ declare module "@polkadot/types/lookup" { readonly who: MultiAddress; readonly call: Call; } & Struct; - readonly type: "Sudo" | "SudoUncheckedWeight" | "SetKey" | "SudoAs"; + readonly isRemoveKey: boolean; + readonly type: "Sudo" | "SudoUncheckedWeight" | "SetKey" | "SudoAs" | "RemoveKey"; } - /** @name PalletUtilityCall (131) */ + /** @name PalletUtilityCall (133) */ interface PalletUtilityCall extends Enum { readonly isBatch: boolean; readonly asBatch: { @@ -1146,7 +1214,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Batch" | "AsDerivative" | "BatchAll" | "DispatchAs" | "ForceBatch" | "WithWeight"; } - /** @name FlashboxRuntimeOriginCaller (133) */ + /** @name FlashboxRuntimeOriginCaller (135) */ interface FlashboxRuntimeOriginCaller extends Enum { readonly isSystem: boolean; readonly asSystem: FrameSupportDispatchRawOrigin; @@ -1154,7 +1222,7 @@ declare module "@polkadot/types/lookup" { readonly type: "System" | "Void"; } - /** @name FrameSupportDispatchRawOrigin (134) */ + /** @name FrameSupportDispatchRawOrigin (136) */ interface FrameSupportDispatchRawOrigin extends Enum { readonly isRoot: boolean; readonly isSigned: boolean; @@ -1163,10 +1231,10 @@ declare module "@polkadot/types/lookup" { readonly type: "Root" | "Signed" | "None"; } - /** @name SpCoreVoid (135) */ + /** @name SpCoreVoid (137) */ type SpCoreVoid = Null; - /** @name PalletProxyCall (136) */ + /** @name PalletProxyCall (138) */ interface PalletProxyCall extends Enum { readonly isProxy: boolean; readonly asProxy: { @@ -1236,14 +1304,14 @@ declare module "@polkadot/types/lookup" { | "ProxyAnnounced"; } - /** @name PalletMaintenanceModeCall (141) */ + /** @name PalletMaintenanceModeCall (143) */ interface PalletMaintenanceModeCall extends Enum { readonly isEnterMaintenanceMode: boolean; readonly isResumeNormalOperation: boolean; readonly type: "EnterMaintenanceMode" | "ResumeNormalOperation"; } - /** @name PalletTxPauseCall (142) */ + /** @name PalletTxPauseCall (144) */ interface PalletTxPauseCall extends Enum { readonly isPause: boolean; readonly asPause: { @@ -1256,7 +1324,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Pause" | "Unpause"; } - /** @name PalletBalancesCall (143) */ + /** @name PalletBalancesCall (145) */ interface PalletBalancesCall extends Enum { readonly isTransferAllowDeath: boolean; readonly asTransferAllowDeath: { @@ -1303,7 +1371,7 @@ declare module "@polkadot/types/lookup" { | "ForceSetBalance"; } - /** @name PalletIdentityCall (145) */ + /** @name PalletIdentityCall (147) */ interface PalletIdentityCall extends Enum { readonly isAddRegistrar: boolean; readonly asAddRegistrar: { @@ -1311,7 +1379,7 @@ declare module "@polkadot/types/lookup" { } & Struct; readonly isSetIdentity: boolean; readonly asSetIdentity: { - readonly info: PalletIdentitySimpleIdentityInfo; + readonly info: PalletIdentityLegacyIdentityInfo; } & Struct; readonly isSetSubs: boolean; readonly asSetSubs: { @@ -1340,7 +1408,7 @@ declare module "@polkadot/types/lookup" { readonly isSetFields: boolean; readonly asSetFields: { readonly index: Compact; - readonly fields: PalletIdentityBitFlags; + readonly fields: u64; } & Struct; readonly isProvideJudgement: boolean; readonly asProvideJudgement: { @@ -1368,6 +1436,38 @@ declare module "@polkadot/types/lookup" { readonly sub: MultiAddress; } & Struct; readonly isQuitSub: boolean; + readonly isAddUsernameAuthority: boolean; + readonly asAddUsernameAuthority: { + readonly authority: MultiAddress; + readonly suffix: Bytes; + readonly allocation: u32; + } & Struct; + readonly isRemoveUsernameAuthority: boolean; + readonly asRemoveUsernameAuthority: { + readonly authority: MultiAddress; + } & Struct; + readonly isSetUsernameFor: boolean; + readonly asSetUsernameFor: { + readonly who: MultiAddress; + readonly username: Bytes; + readonly signature: Option; + } & Struct; + readonly isAcceptUsername: boolean; + readonly asAcceptUsername: { + readonly username: Bytes; + } & Struct; + readonly isRemoveExpiredApproval: boolean; + readonly asRemoveExpiredApproval: { + readonly username: Bytes; + } & Struct; + readonly isSetPrimaryUsername: boolean; + readonly asSetPrimaryUsername: { + readonly username: Bytes; + } & Struct; + readonly isRemoveDanglingUsername: boolean; + readonly asRemoveDanglingUsername: { + readonly username: Bytes; + } & Struct; readonly type: | "AddRegistrar" | "SetIdentity" @@ -1383,11 +1483,18 @@ declare module "@polkadot/types/lookup" { | "AddSub" | "RenameSub" | "RemoveSub" - | "QuitSub"; - } - - /** @name PalletIdentitySimpleIdentityInfo (146) */ - interface PalletIdentitySimpleIdentityInfo extends Struct { + | "QuitSub" + | "AddUsernameAuthority" + | "RemoveUsernameAuthority" + | "SetUsernameFor" + | "AcceptUsername" + | "RemoveExpiredApproval" + | "SetPrimaryUsername" + | "RemoveDanglingUsername"; + } + + /** @name PalletIdentityLegacyIdentityInfo (148) */ + interface PalletIdentityLegacyIdentityInfo extends Struct { readonly additional: Vec>; readonly display: Data; readonly legal: Data; @@ -1399,31 +1506,6 @@ declare module "@polkadot/types/lookup" { readonly twitter: Data; } - /** @name PalletIdentityBitFlags (183) */ - interface PalletIdentityBitFlags extends Set { - readonly isDisplay: boolean; - readonly isLegal: boolean; - readonly isWeb: boolean; - readonly isRiot: boolean; - readonly isEmail: boolean; - readonly isPgpFingerprint: boolean; - readonly isImage: boolean; - readonly isTwitter: boolean; - } - - /** @name PalletIdentitySimpleIdentityField (184) */ - interface PalletIdentitySimpleIdentityField extends Enum { - readonly isDisplay: boolean; - readonly isLegal: boolean; - readonly isWeb: boolean; - readonly isRiot: boolean; - readonly isEmail: boolean; - readonly isPgpFingerprint: boolean; - readonly isImage: boolean; - readonly isTwitter: boolean; - readonly type: "Display" | "Legal" | "Web" | "Riot" | "Email" | "PgpFingerprint" | "Image" | "Twitter"; - } - /** @name PalletIdentityJudgement (185) */ interface PalletIdentityJudgement extends Enum { readonly isUnknown: boolean; @@ -1437,7 +1519,27 @@ declare module "@polkadot/types/lookup" { readonly type: "Unknown" | "FeePaid" | "Reasonable" | "KnownGood" | "OutOfDate" | "LowQuality" | "Erroneous"; } - /** @name PalletRegistrarCall (186) */ + /** @name SpRuntimeMultiSignature (187) */ + interface SpRuntimeMultiSignature extends Enum { + readonly isEd25519: boolean; + readonly asEd25519: SpCoreEd25519Signature; + readonly isSr25519: boolean; + readonly asSr25519: SpCoreSr25519Signature; + readonly isEcdsa: boolean; + readonly asEcdsa: SpCoreEcdsaSignature; + readonly type: "Ed25519" | "Sr25519" | "Ecdsa"; + } + + /** @name SpCoreEd25519Signature (188) */ + interface SpCoreEd25519Signature extends U8aFixed {} + + /** @name SpCoreSr25519Signature (190) */ + interface SpCoreSr25519Signature extends U8aFixed {} + + /** @name SpCoreEcdsaSignature (191) */ + interface SpCoreEcdsaSignature extends U8aFixed {} + + /** @name PalletRegistrarCall (193) */ interface PalletRegistrarCall extends Enum { readonly isRegister: boolean; readonly asRegister: { @@ -1468,7 +1570,7 @@ declare module "@polkadot/types/lookup" { | "UnpauseContainerChain"; } - /** @name TpContainerChainGenesisDataContainerChainGenesisData (187) */ + /** @name TpContainerChainGenesisDataContainerChainGenesisData (194) */ interface TpContainerChainGenesisDataContainerChainGenesisData extends Struct { readonly storage: Vec; readonly name: Bytes; @@ -1478,26 +1580,26 @@ declare module "@polkadot/types/lookup" { readonly properties: TpContainerChainGenesisDataProperties; } - /** @name TpContainerChainGenesisDataContainerChainGenesisDataItem (189) */ + /** @name TpContainerChainGenesisDataContainerChainGenesisDataItem (196) */ interface TpContainerChainGenesisDataContainerChainGenesisDataItem extends Struct { readonly key: Bytes; readonly value: Bytes; } - /** @name TpContainerChainGenesisDataProperties (191) */ + /** @name TpContainerChainGenesisDataProperties (198) */ interface TpContainerChainGenesisDataProperties extends Struct { readonly tokenMetadata: TpContainerChainGenesisDataTokenMetadata; readonly isEthereum: bool; } - /** @name TpContainerChainGenesisDataTokenMetadata (192) */ + /** @name TpContainerChainGenesisDataTokenMetadata (199) */ interface TpContainerChainGenesisDataTokenMetadata extends Struct { readonly tokenSymbol: Bytes; readonly ss58Format: u32; readonly tokenDecimals: u32; } - /** @name PalletConfigurationCall (194) */ + /** @name PalletConfigurationCall (201) */ interface PalletConfigurationCall extends Enum { readonly isSetMaxCollators: boolean; readonly asSetMaxCollators: { @@ -1547,10 +1649,10 @@ declare module "@polkadot/types/lookup" { | "SetBypassConsistencyCheck"; } - /** @name PalletCollatorAssignmentCall (196) */ + /** @name PalletCollatorAssignmentCall (203) */ type PalletCollatorAssignmentCall = Null; - /** @name PalletAuthorNotingCall (197) */ + /** @name PalletAuthorNotingCall (204) */ interface PalletAuthorNotingCall extends Enum { readonly isSetLatestAuthorData: boolean; readonly asSetLatestAuthorData: { @@ -1569,15 +1671,15 @@ declare module "@polkadot/types/lookup" { readonly type: "SetLatestAuthorData" | "SetAuthor" | "KillAuthorData"; } - /** @name TpAuthorNotingInherentOwnParachainInherentData (198) */ + /** @name TpAuthorNotingInherentOwnParachainInherentData (205) */ interface TpAuthorNotingInherentOwnParachainInherentData extends Struct { readonly relayStorageProof: SpTrieStorageProof; } - /** @name PalletAuthorityAssignmentCall (199) */ + /** @name PalletAuthorityAssignmentCall (206) */ type PalletAuthorityAssignmentCall = Null; - /** @name PalletServicesPaymentCall (200) */ + /** @name PalletServicesPaymentCall (207) */ interface PalletServicesPaymentCall extends Enum { readonly isPurchaseCredits: boolean; readonly asPurchaseCredits: { @@ -1598,7 +1700,7 @@ declare module "@polkadot/types/lookup" { readonly type: "PurchaseCredits" | "SetCredits" | "SetGivenFreeCredits"; } - /** @name PalletDataPreserversCall (202) */ + /** @name PalletDataPreserversCall (209) */ interface PalletDataPreserversCall extends Enum { readonly isSetBootNodes: boolean; readonly asSetBootNodes: { @@ -1608,7 +1710,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetBootNodes"; } - /** @name PalletInvulnerablesCall (206) */ + /** @name PalletInvulnerablesCall (213) */ interface PalletInvulnerablesCall extends Enum { readonly isSetInvulnerables: boolean; readonly asSetInvulnerables: { @@ -1625,7 +1727,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetInvulnerables" | "AddInvulnerable" | "RemoveInvulnerable"; } - /** @name PalletSessionCall (207) */ + /** @name PalletSessionCall (214) */ interface PalletSessionCall extends Enum { readonly isSetKeys: boolean; readonly asSetKeys: { @@ -1636,59 +1738,60 @@ declare module "@polkadot/types/lookup" { readonly type: "SetKeys" | "PurgeKeys"; } - /** @name FlashboxRuntimeSessionKeys (208) */ + /** @name FlashboxRuntimeSessionKeys (215) */ interface FlashboxRuntimeSessionKeys extends Struct { readonly nimbus: NimbusPrimitivesNimbusCryptoPublic; } - /** @name NimbusPrimitivesNimbusCryptoPublic (209) */ + /** @name NimbusPrimitivesNimbusCryptoPublic (216) */ interface NimbusPrimitivesNimbusCryptoPublic extends SpCoreSr25519Public {} - /** @name SpCoreSr25519Public (210) */ + /** @name SpCoreSr25519Public (217) */ interface SpCoreSr25519Public extends U8aFixed {} - /** @name PalletAuthorInherentCall (211) */ + /** @name PalletAuthorInherentCall (218) */ interface PalletAuthorInherentCall extends Enum { readonly isKickOffAuthorshipValidation: boolean; readonly type: "KickOffAuthorshipValidation"; } - /** @name PalletRootTestingCall (212) */ + /** @name PalletRootTestingCall (219) */ interface PalletRootTestingCall extends Enum { readonly isFillBlock: boolean; readonly asFillBlock: { readonly ratio: Perbill; } & Struct; - readonly type: "FillBlock"; + readonly isTriggerDefensive: boolean; + readonly type: "FillBlock" | "TriggerDefensive"; } - /** @name PalletSudoError (213) */ + /** @name PalletSudoError (220) */ interface PalletSudoError extends Enum { readonly isRequireSudo: boolean; readonly type: "RequireSudo"; } - /** @name PalletUtilityError (214) */ + /** @name PalletUtilityError (221) */ interface PalletUtilityError extends Enum { readonly isTooManyCalls: boolean; readonly type: "TooManyCalls"; } - /** @name PalletProxyProxyDefinition (217) */ + /** @name PalletProxyProxyDefinition (224) */ interface PalletProxyProxyDefinition extends Struct { readonly delegate: AccountId32; readonly proxyType: FlashboxRuntimeProxyType; readonly delay: u32; } - /** @name PalletProxyAnnouncement (221) */ + /** @name PalletProxyAnnouncement (228) */ interface PalletProxyAnnouncement extends Struct { readonly real: AccountId32; readonly callHash: H256; readonly height: u32; } - /** @name PalletProxyError (223) */ + /** @name PalletProxyError (230) */ interface PalletProxyError extends Enum { readonly isTooMany: boolean; readonly isNotFound: boolean; @@ -1709,7 +1812,7 @@ declare module "@polkadot/types/lookup" { | "NoSelfProxy"; } - /** @name PalletMigrationsError (224) */ + /** @name PalletMigrationsError (231) */ interface PalletMigrationsError extends Enum { readonly isPreimageMissing: boolean; readonly isWrongUpperBound: boolean; @@ -1718,14 +1821,14 @@ declare module "@polkadot/types/lookup" { readonly type: "PreimageMissing" | "WrongUpperBound" | "PreimageIsTooBig" | "PreimageAlreadyExists"; } - /** @name PalletMaintenanceModeError (225) */ + /** @name PalletMaintenanceModeError (232) */ interface PalletMaintenanceModeError extends Enum { readonly isAlreadyInMaintenanceMode: boolean; readonly isNotInMaintenanceMode: boolean; readonly type: "AlreadyInMaintenanceMode" | "NotInMaintenanceMode"; } - /** @name PalletTxPauseError (226) */ + /** @name PalletTxPauseError (233) */ interface PalletTxPauseError extends Enum { readonly isIsPaused: boolean; readonly isIsUnpaused: boolean; @@ -1734,14 +1837,14 @@ declare module "@polkadot/types/lookup" { readonly type: "IsPaused" | "IsUnpaused" | "Unpausable" | "NotFound"; } - /** @name PalletBalancesBalanceLock (228) */ + /** @name PalletBalancesBalanceLock (235) */ interface PalletBalancesBalanceLock extends Struct { readonly id: U8aFixed; readonly amount: u128; readonly reasons: PalletBalancesReasons; } - /** @name PalletBalancesReasons (229) */ + /** @name PalletBalancesReasons (236) */ interface PalletBalancesReasons extends Enum { readonly isFee: boolean; readonly isMisc: boolean; @@ -1749,22 +1852,22 @@ declare module "@polkadot/types/lookup" { readonly type: "Fee" | "Misc" | "All"; } - /** @name PalletBalancesReserveData (232) */ + /** @name PalletBalancesReserveData (239) */ interface PalletBalancesReserveData extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name FlashboxRuntimeRuntimeHoldReason (236) */ + /** @name FlashboxRuntimeRuntimeHoldReason (243) */ type FlashboxRuntimeRuntimeHoldReason = Null; - /** @name PalletBalancesIdAmount (239) */ + /** @name PalletBalancesIdAmount (246) */ interface PalletBalancesIdAmount extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name PalletBalancesError (241) */ + /** @name PalletBalancesError (248) */ interface PalletBalancesError extends Enum { readonly isVestingBalance: boolean; readonly isLiquidityRestrictions: boolean; @@ -1789,28 +1892,34 @@ declare module "@polkadot/types/lookup" { | "TooManyFreezes"; } - /** @name PalletTransactionPaymentReleases (242) */ + /** @name PalletTransactionPaymentReleases (249) */ interface PalletTransactionPaymentReleases extends Enum { readonly isV1Ancient: boolean; readonly isV2: boolean; readonly type: "V1Ancient" | "V2"; } - /** @name PalletIdentityRegistration (243) */ + /** @name PalletIdentityRegistration (251) */ interface PalletIdentityRegistration extends Struct { readonly judgements: Vec>; readonly deposit: u128; - readonly info: PalletIdentitySimpleIdentityInfo; + readonly info: PalletIdentityLegacyIdentityInfo; } - /** @name PalletIdentityRegistrarInfo (251) */ + /** @name PalletIdentityRegistrarInfo (260) */ interface PalletIdentityRegistrarInfo extends Struct { readonly account: AccountId32; readonly fee: u128; - readonly fields: PalletIdentityBitFlags; + readonly fields: u64; + } + + /** @name PalletIdentityAuthorityProperties (262) */ + interface PalletIdentityAuthorityProperties extends Struct { + readonly suffix: Bytes; + readonly allocation: u32; } - /** @name PalletIdentityError (253) */ + /** @name PalletIdentityError (265) */ interface PalletIdentityError extends Enum { readonly isTooManySubAccounts: boolean; readonly isNotFound: boolean; @@ -1823,13 +1932,21 @@ declare module "@polkadot/types/lookup" { readonly isInvalidJudgement: boolean; readonly isInvalidIndex: boolean; readonly isInvalidTarget: boolean; - readonly isTooManyFields: boolean; readonly isTooManyRegistrars: boolean; readonly isAlreadyClaimed: boolean; readonly isNotSub: boolean; readonly isNotOwned: boolean; readonly isJudgementForDifferentIdentity: boolean; readonly isJudgementPaymentFailed: boolean; + readonly isInvalidSuffix: boolean; + readonly isNotUsernameAuthority: boolean; + readonly isNoAllocation: boolean; + readonly isInvalidSignature: boolean; + readonly isRequiresSignature: boolean; + readonly isInvalidUsername: boolean; + readonly isUsernameTaken: boolean; + readonly isNoUsername: boolean; + readonly isNotExpired: boolean; readonly type: | "TooManySubAccounts" | "NotFound" @@ -1842,22 +1959,30 @@ declare module "@polkadot/types/lookup" { | "InvalidJudgement" | "InvalidIndex" | "InvalidTarget" - | "TooManyFields" | "TooManyRegistrars" | "AlreadyClaimed" | "NotSub" | "NotOwned" | "JudgementForDifferentIdentity" - | "JudgementPaymentFailed"; - } - - /** @name PalletRegistrarDepositInfo (258) */ + | "JudgementPaymentFailed" + | "InvalidSuffix" + | "NotUsernameAuthority" + | "NoAllocation" + | "InvalidSignature" + | "RequiresSignature" + | "InvalidUsername" + | "UsernameTaken" + | "NoUsername" + | "NotExpired"; + } + + /** @name PalletRegistrarDepositInfo (270) */ interface PalletRegistrarDepositInfo extends Struct { readonly creator: AccountId32; readonly deposit: u128; } - /** @name PalletRegistrarError (259) */ + /** @name PalletRegistrarError (271) */ interface PalletRegistrarError extends Enum { readonly isParaIdAlreadyRegistered: boolean; readonly isParaIdNotRegistered: boolean; @@ -1880,7 +2005,7 @@ declare module "@polkadot/types/lookup" { | "NotSufficientDeposit"; } - /** @name PalletConfigurationHostConfiguration (260) */ + /** @name PalletConfigurationHostConfiguration (272) */ interface PalletConfigurationHostConfiguration extends Struct { readonly maxCollators: u32; readonly minOrchestratorCollators: u32; @@ -1892,25 +2017,25 @@ declare module "@polkadot/types/lookup" { readonly targetContainerChainFullness: Perbill; } - /** @name PalletConfigurationError (263) */ + /** @name PalletConfigurationError (275) */ interface PalletConfigurationError extends Enum { readonly isInvalidNewValue: boolean; readonly type: "InvalidNewValue"; } - /** @name DpCollatorAssignmentAssignedCollatorsAccountId32 (264) */ + /** @name DpCollatorAssignmentAssignedCollatorsAccountId32 (276) */ interface DpCollatorAssignmentAssignedCollatorsAccountId32 extends Struct { readonly orchestratorChain: Vec; readonly containerChains: BTreeMap>; } - /** @name PalletAuthorNotingContainerChainBlockInfo (269) */ + /** @name PalletAuthorNotingContainerChainBlockInfo (281) */ interface PalletAuthorNotingContainerChainBlockInfo extends Struct { readonly blockNumber: u32; readonly author: AccountId32; } - /** @name PalletAuthorNotingError (270) */ + /** @name PalletAuthorNotingError (282) */ interface PalletAuthorNotingError extends Enum { readonly isFailedReading: boolean; readonly isFailedDecodingHeader: boolean; @@ -1929,13 +2054,13 @@ declare module "@polkadot/types/lookup" { | "NonAuraDigest"; } - /** @name DpCollatorAssignmentAssignedCollatorsPublic (271) */ + /** @name DpCollatorAssignmentAssignedCollatorsPublic (283) */ interface DpCollatorAssignmentAssignedCollatorsPublic extends Struct { readonly orchestratorChain: Vec; readonly containerChains: BTreeMap>; } - /** @name PalletServicesPaymentError (276) */ + /** @name PalletServicesPaymentError (288) */ interface PalletServicesPaymentError extends Enum { readonly isInsufficientFundsToPurchaseCredits: boolean; readonly isInsufficientCredits: boolean; @@ -1943,13 +2068,13 @@ declare module "@polkadot/types/lookup" { readonly type: "InsufficientFundsToPurchaseCredits" | "InsufficientCredits" | "CreditPriceTooExpensive"; } - /** @name PalletDataPreserversError (277) */ + /** @name PalletDataPreserversError (289) */ interface PalletDataPreserversError extends Enum { readonly isNoBootNodes: boolean; readonly type: "NoBootNodes"; } - /** @name PalletInvulnerablesError (279) */ + /** @name PalletInvulnerablesError (291) */ interface PalletInvulnerablesError extends Enum { readonly isTooManyInvulnerables: boolean; readonly isAlreadyInvulnerable: boolean; @@ -1957,10 +2082,10 @@ declare module "@polkadot/types/lookup" { readonly type: "TooManyInvulnerables" | "AlreadyInvulnerable" | "NotInvulnerable"; } - /** @name SpCoreCryptoKeyTypeId (284) */ + /** @name SpCoreCryptoKeyTypeId (296) */ interface SpCoreCryptoKeyTypeId extends U8aFixed {} - /** @name PalletSessionError (285) */ + /** @name PalletSessionError (297) */ interface PalletSessionError extends Enum { readonly isInvalidProof: boolean; readonly isNoAssociatedValidatorId: boolean; @@ -1970,7 +2095,7 @@ declare module "@polkadot/types/lookup" { readonly type: "InvalidProof" | "NoAssociatedValidatorId" | "DuplicatedKey" | "NoKeys" | "NoAccount"; } - /** @name PalletAuthorInherentError (289) */ + /** @name PalletAuthorInherentError (301) */ interface PalletAuthorInherentError extends Enum { readonly isAuthorAlreadySet: boolean; readonly isNoAccountId: boolean; @@ -1978,53 +2103,33 @@ declare module "@polkadot/types/lookup" { readonly type: "AuthorAlreadySet" | "NoAccountId" | "CannotBeAuthor"; } - /** @name PalletInflationRewardsChainsToRewardValue (290) */ + /** @name PalletInflationRewardsChainsToRewardValue (302) */ interface PalletInflationRewardsChainsToRewardValue extends Struct { readonly paraIds: Vec; readonly rewardsPerChain: u128; } - /** @name SpRuntimeMultiSignature (295) */ - interface SpRuntimeMultiSignature extends Enum { - readonly isEd25519: boolean; - readonly asEd25519: SpCoreEd25519Signature; - readonly isSr25519: boolean; - readonly asSr25519: SpCoreSr25519Signature; - readonly isEcdsa: boolean; - readonly asEcdsa: SpCoreEcdsaSignature; - readonly type: "Ed25519" | "Sr25519" | "Ecdsa"; - } - - /** @name SpCoreEd25519Signature (296) */ - interface SpCoreEd25519Signature extends U8aFixed {} - - /** @name SpCoreSr25519Signature (298) */ - interface SpCoreSr25519Signature extends U8aFixed {} - - /** @name SpCoreEcdsaSignature (299) */ - interface SpCoreEcdsaSignature extends U8aFixed {} - - /** @name FrameSystemExtensionsCheckNonZeroSender (302) */ + /** @name FrameSystemExtensionsCheckNonZeroSender (308) */ type FrameSystemExtensionsCheckNonZeroSender = Null; - /** @name FrameSystemExtensionsCheckSpecVersion (303) */ + /** @name FrameSystemExtensionsCheckSpecVersion (309) */ type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckTxVersion (304) */ + /** @name FrameSystemExtensionsCheckTxVersion (310) */ type FrameSystemExtensionsCheckTxVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (305) */ + /** @name FrameSystemExtensionsCheckGenesis (311) */ type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (308) */ + /** @name FrameSystemExtensionsCheckNonce (314) */ interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (309) */ + /** @name FrameSystemExtensionsCheckWeight (315) */ type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTransactionPaymentChargeTransactionPayment (310) */ + /** @name PalletTransactionPaymentChargeTransactionPayment (316) */ interface PalletTransactionPaymentChargeTransactionPayment extends Compact {} - /** @name FlashboxRuntimeRuntime (311) */ + /** @name FlashboxRuntimeRuntime (317) */ type FlashboxRuntimeRuntime = Null; } // declare module From 0ee0a6eae2f20299ebaa9cc81686d7e27ff8c20e Mon Sep 17 00:00:00 2001 From: Tomasz Polaczyk Date: Fri, 16 Feb 2024 12:25:32 +0100 Subject: [PATCH 14/45] Fix container chain chain spec using set_storage --- node/src/cli.rs | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/node/src/cli.rs b/node/src/cli.rs index d235dabf9..9ab2ce5ef 100644 --- a/node/src/cli.rs +++ b/node/src/cli.rs @@ -14,6 +14,8 @@ // You should have received a copy of the GNU General Public License // along with Tanssi. If not, see . +use sc_chain_spec::ChainSpec; +use sp_runtime::Storage; use { crate::chain_spec::RawGenesisConfig, node_common::service::Sealing, @@ -336,6 +338,7 @@ impl ContainerChainCli { }; let chain_spec = crate::chain_spec::RawChainSpec::builder( + // This code is not used, we override it in `set_storage` below &[], // TODO: what to do with extensions? We are hardcoding the relay_chain and the para_id, any // other extensions are being ignored @@ -344,18 +347,26 @@ impl ContainerChainCli { .with_name(&name) .with_id(&id) .with_chain_type(chain_type) - .with_genesis_config(serde_json::to_value(&raw_genesis_config).unwrap()) .with_properties(properties) .with_boot_nodes(boot_nodes) .with_protocol_id(&protocol_id); - if let Some(fork_id) = genesis_data.fork_id { + let chain_spec = if let Some(fork_id) = genesis_data.fork_id { let fork_id_string = String::from_utf8(fork_id).map_err(|_e| "Invalid fork_id".to_string())?; - return Ok(chain_spec.with_fork_id(&fork_id_string).build()); - } + chain_spec.with_fork_id(&fork_id_string) + } else { + chain_spec + }; + + let mut chain_spec = chain_spec.build(); + + chain_spec.set_storage(Storage { + top: raw_genesis_config.storage_raw, + children_default: Default::default(), + }); - Ok(chain_spec.build()) + Ok(chain_spec) } pub fn preload_chain_spec_from_genesis_data>( From bbcbecc16bd760a8ac55e4fd68adbad8b82b0d01 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Fri, 16 Feb 2024 13:05:30 +0100 Subject: [PATCH 15/45] Merge branch 'master' into fg/polkadot-v1.6.0 --- .github/workflows/release.yml | 55 ++ Cargo.lock | 556 +++++++------ Cargo.toml | 5 +- client/consensus/Cargo.toml | 16 +- client/consensus/src/collators.rs | 449 +++++++++++ client/consensus/src/collators/basic.rs | 256 ++++++ .../consensus/src/consensus_orchestrator.rs | 748 +---------------- client/consensus/src/lib.rs | 32 +- client/consensus/src/tests.rs | 760 ++++++++---------- client/node-common/Cargo.toml | 3 + .../templates/frontier/node/src/chain_spec.rs | 1 - .../templates/frontier/runtime/Cargo.toml | 3 - .../templates/frontier/runtime/src/lib.rs | 21 +- .../templates/simple/runtime/src/lib.rs | 16 +- node/Cargo.toml | 1 + node/src/chain_spec/dancebox.rs | 1 + node/src/chain_spec/flashbox.rs | 1 + node/src/container_chain_spawner.rs | 49 +- node/src/service.rs | 497 ++++++------ pallets/collator-assignment/src/lib.rs | 15 +- pallets/collator-assignment/src/mock.rs | 33 +- pallets/collator-assignment/src/tests.rs | 64 +- .../src/tests/assign_full.rs | 6 +- pallets/configuration/src/lib.rs | 2 +- pallets/invulnerables/src/benchmarking.rs | 8 +- pallets/invulnerables/src/lib.rs | 10 + pallets/invulnerables/src/tests.rs | 14 + pallets/invulnerables/src/weights.rs | 48 +- pallets/registrar/rpc/runtime-api/src/lib.rs | 16 + pallets/registrar/src/benchmarks.rs | 90 ++- pallets/registrar/src/lib.rs | 320 ++++++-- pallets/registrar/src/tests.rs | 137 +++- pallets/registrar/src/weights.rs | 269 +++++-- pallets/services-payment/Cargo.toml | 1 + pallets/services-payment/src/benchmarks.rs | 71 +- pallets/services-payment/src/lib.rs | 191 +++-- pallets/services-payment/src/mock.rs | 16 +- pallets/services-payment/src/tests.rs | 362 +++++---- pallets/services-payment/src/weights.rs | 55 ++ pnpm-lock.yaml | 688 ++++++++++------ primitives/traits/Cargo.toml | 4 + primitives/traits/src/lib.rs | 37 +- runtime/dancebox/Cargo.toml | 4 + runtime/dancebox/src/lib.rs | 169 +++- runtime/dancebox/src/xcm_config.rs | 11 +- runtime/dancebox/tests/common/mod.rs | 10 +- runtime/dancebox/tests/integration_test.rs | 377 ++++++++- runtime/flashbox/Cargo.toml | 4 + runtime/flashbox/src/lib.rs | 145 +++- runtime/flashbox/tests/common/mod.rs | 10 +- runtime/flashbox/tests/integration_test.rs | 372 ++++++++- test/configs/zombieTanssiParathreads.json | 105 +++ test/moonwall.config.json | 45 ++ test/package.json | 2 +- test/scripts/build-spec-parathreads.sh | 13 + test/scripts/sudoRegisterPara.ts | 16 +- .../fees/test_fee_balance_transfer.ts | 4 +- .../pallet-treasury/test_pallet_treasury.ts | 183 +++++ .../registrar/test_registrar_deregister.ts | 8 +- .../test_registrar_register_parathread.ts | 155 ++++ ...ce_payment_removes_tank_money_and_burns.ts | 58 ++ ..._payment_removes_tank_money_and_refunds.ts | 71 ++ ...ices_pament_credit_buying_free_combined.ts | 90 +++ .../services-payment/test_services_payment.ts | 23 +- .../test_set_latest_author_data_weight.ts | 4 +- test/suites/para/test_tanssi_containers.ts | 5 +- .../parathreads/test_tanssi_parathreads.ts | 380 +++++++++ test/util/payment.ts | 13 + .../dancebox/interfaces/augment-api-consts.ts | 29 + .../dancebox/interfaces/augment-api-errors.ts | 32 + .../dancebox/interfaces/augment-api-events.ts | 63 +- .../dancebox/interfaces/augment-api-query.ts | 48 ++ .../src/dancebox/interfaces/augment-api-tx.ts | 110 ++- .../src/dancebox/interfaces/lookup.ts | 603 +++++++++----- .../src/dancebox/interfaces/registry.ts | 18 + .../src/dancebox/interfaces/types-lookup.ts | 687 +++++++++++----- .../flashbox/interfaces/augment-api-consts.ts | 31 +- .../flashbox/interfaces/augment-api-errors.ts | 32 + .../flashbox/interfaces/augment-api-events.ts | 63 +- .../flashbox/interfaces/augment-api-query.ts | 48 ++ .../src/flashbox/interfaces/augment-api-tx.ts | 110 ++- .../src/flashbox/interfaces/lookup.ts | 403 +++++++--- .../src/flashbox/interfaces/registry.ts | 18 + .../src/flashbox/interfaces/types-lookup.ts | 487 ++++++++--- 84 files changed, 7650 insertions(+), 3336 deletions(-) create mode 100644 client/consensus/src/collators.rs create mode 100644 client/consensus/src/collators/basic.rs create mode 100644 test/configs/zombieTanssiParathreads.json create mode 100755 test/scripts/build-spec-parathreads.sh create mode 100644 test/suites/common-tanssi/pallet-treasury/test_pallet_treasury.ts create mode 100644 test/suites/common-tanssi/registrar/test_registrar_register_parathread.ts create mode 100644 test/suites/common-tanssi/services-payment/test_service_payment_removes_tank_money_and_burns.ts create mode 100644 test/suites/common-tanssi/services-payment/test_service_payment_removes_tank_money_and_refunds.ts create mode 100644 test/suites/common-tanssi/services-payment/test_services_pament_credit_buying_free_combined.ts create mode 100644 test/suites/parathreads/test_tanssi_parathreads.ts create mode 100644 test/util/payment.ts diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2ce4d9162..de33f6541 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -545,6 +545,61 @@ jobs: name: logs path: logs + zombienet-tests-parathreads: + runs-on: ubuntu-latest + needs: ["set-tags", "build"] + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: ${{ needs.set-tags.outputs.git_ref }} + + - name: Pnpm + uses: pnpm/action-setup@v2 + with: + version: 8 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 20.x + cache: "pnpm" + + - name: "Download binaries" + uses: actions/download-artifact@v3.0.2 + with: + name: binaries + path: target/release + + - name: "Run zombie test" + run: | + chmod uog+x target/release/tanssi-node + chmod uog+x target/release/container-chain-template-simple-node + chmod uog+x target/release/container-chain-template-frontier-node + + cd test + pnpm install + + ## Run tests + + pnpm moonwall test zombie_tanssi_parathreads + + - name: "Gather zombie logs" + if: failure() + run: | + ls -ltr /tmp + latest_zombie_dir=$(find /tmp -type d -iname "*zombie*" -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" ") + logs_dir="logs" + mkdir -p "$logs_dir" + find "$latest_zombie_dir" -type f -name "*.log" -exec cp {} "$logs_dir" \; + + - name: "Upload zombie logs" + if: failure() + uses: actions/upload-artifact@v3.1.2 + with: + name: logs-parathreads + path: logs + zombienet-tests-rotation: runs-on: self-hosted needs: ["set-tags", "build"] diff --git a/Cargo.lock b/Cargo.lock index bd74cdc62..6988426a2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,9 +48,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher 0.4.4", @@ -73,9 +73,9 @@ dependencies = [ [[package]] name = "ahash" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ "getrandom 0.2.12", "once_cell", @@ -84,9 +84,9 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" +checksum = "42cd52102d3df161c77a887b608d7a4897d7cc112886a9537b738a887a03aaff" dependencies = [ "cfg-if", "getrandom 0.2.12", @@ -156,9 +156,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2faccea4cc4ab4a667ce676a30e8ec13922a692c99bb8f5b11f1502c72e04220" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" [[package]] name = "anstyle-parse" @@ -214,7 +214,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -511,13 +511,13 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" +checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" dependencies = [ "concurrent-queue", - "event-listener 4.0.3", - "event-listener-strategy", + "event-listener 5.0.0", + "event-listener-strategy 0.5.0", "futures-core", "pin-project-lite 0.2.13", ] @@ -580,8 +580,8 @@ dependencies = [ "futures-io", "futures-lite 2.2.0", "parking", - "polling 3.3.2", - "rustix 0.38.30", + "polling 3.4.0", + "rustix 0.38.31", "slab", "tracing", "windows-sys 0.52.0", @@ -603,7 +603,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" dependencies = [ "event-listener 4.0.3", - "event-listener-strategy", + "event-listener-strategy 0.4.0", "pin-project-lite 0.2.13", ] @@ -631,7 +631,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.30", + "rustix 0.38.31", "windows-sys 0.48.0", ] @@ -647,7 +647,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.30", + "rustix 0.38.31", "signal-hook-registry", "slab", "windows-sys 0.48.0", @@ -667,7 +667,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -722,7 +722,7 @@ checksum = "823b8bb275161044e2ac7a25879cb3e2480cb403e3943022c7c769c599b756aa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -821,7 +821,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -979,7 +979,7 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" dependencies = [ - "async-channel 2.1.1", + "async-channel 2.2.0", "async-lock 3.3.0", "async-task", "fastrand 2.0.1", @@ -1235,9 +1235,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "d32a994c2b3ca201d9b263612a374263f05e7adde37c4707f693dcd375076d1f" [[package]] name = "byte-slice-cast" @@ -1253,9 +1253,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.14.1" +version = "1.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2490600f404f2b94c167e31d3ed1d5f3c225a0f3b80230053b3e0b7b962bd9" +checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f" [[package]] name = "byteorder" @@ -1301,9 +1301,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceed8ef69d8518a5dda55c07425450b58a4e1946f4951eab6d7191ee86c2443d" +checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f" dependencies = [ "serde", ] @@ -1392,9 +1392,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.6" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a" +checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d" dependencies = [ "smallvec", ] @@ -1447,9 +1447,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" +checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1514,9 +1514,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.18" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c" +checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f" dependencies = [ "clap_builder", "clap_derive", @@ -1524,9 +1524,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.18" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7" +checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99" dependencies = [ "anstream", "anstyle", @@ -1537,31 +1537,30 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.4.7" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] name = "clap_lex" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "coarsetime" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71367d3385c716342014ad17e3d19f7788ae514885a1f4c24f500260fb365e1a" +checksum = "13b3839cf01bb7960114be3ccf2340f541b6d0c81f8690b007b2b39f750f7e5d" dependencies = [ "libc", - "once_cell", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasix", "wasm-bindgen", ] @@ -1789,7 +1788,6 @@ dependencies = [ "pallet-balances", "pallet-base-fee", "pallet-cc-authorities-noting", - "pallet-dynamic-fee", "pallet-ethereum", "pallet-evm", "pallet-evm-chain-id", @@ -2172,9 +2170,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", ] @@ -2574,7 +2572,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -2885,9 +2883,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" dependencies = [ "cfg-if", "cpufeatures", @@ -2908,7 +2906,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -2926,9 +2924,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.115" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de00f15a6fa069c99b88c5c78c4541d0e7899a33b86f7480e23df2431fce0bc" +checksum = "8aff472b83efd22bfc0176aa8ba34617dd5c17364670eb201a5f06d339b8abf7" dependencies = [ "cc", "cxxbridge-flags", @@ -2938,9 +2936,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.115" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a71e1e631fa2f2f5f92e8b0d860a00c198c6771623a6cefcc863e3554f0d8d6" +checksum = "bcf6e7a52c19013a9a0ec421c7d9c2d1125faf333551227e0a017288d71b47c3" dependencies = [ "cc", "codespan-reporting", @@ -2948,24 +2946,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] name = "cxxbridge-flags" -version = "1.0.115" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f3fed61d56ba497c4efef9144dfdbaa25aa58f2f6b3a7cf441d4591c583745c" +checksum = "589e83d02fc1d4fb78f5ad56ca08835341e23499d086d2821315869426d618dc" [[package]] name = "cxxbridge-macro" -version = "1.0.115" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8908e380a8efd42150c017b0cfa31509fc49b6d47f7cb6b33e93ffb8f4e3661e" +checksum = "e2cb1fd8ffae4230c7cfbbaf3698dbeaf750fa8c5dadf7ed897df581b9b572a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -3030,6 +3028,7 @@ dependencies = [ "pallet-timestamp", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", "pallet-tx-pause", "pallet-utility", "pallet-xcm", @@ -3277,7 +3276,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -3301,9 +3300,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.48", + "syn 2.0.49", "termcolor", - "toml 0.8.9", + "toml 0.8.10", "walkdir", ] @@ -3431,11 +3430,11 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.1", + "curve25519-dalek 4.1.2", "ed25519", "rand_core 0.6.4", "serde", @@ -3464,7 +3463,7 @@ version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ - "curve25519-dalek 4.1.1", + "curve25519-dalek 4.1.2", "ed25519", "hashbrown 0.14.3", "hex", @@ -3475,9 +3474,9 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" dependencies = [ "serde", ] @@ -3556,22 +3555,22 @@ dependencies = [ [[package]] name = "enumflags2" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939" +checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" dependencies = [ "enumflags2_derive", ] [[package]] name = "enumflags2_derive" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" +checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -3582,7 +3581,7 @@ checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -3697,6 +3696,17 @@ dependencies = [ "pin-project-lite 0.2.13", ] +[[package]] +name = "event-listener" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite 0.2.13", +] + [[package]] name = "event-listener-strategy" version = "0.4.0" @@ -3707,6 +3717,16 @@ dependencies = [ "pin-project-lite 0.2.13", ] +[[package]] +name = "event-listener-strategy" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" +dependencies = [ + "event-listener 5.0.0", + "pin-project-lite 0.2.13", +] + [[package]] name = "evm" version = "0.41.1" @@ -3796,7 +3816,7 @@ dependencies = [ "fs-err", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -4065,9 +4085,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7" +checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382" [[package]] name = "file-per-thread-logger" @@ -4175,6 +4195,7 @@ dependencies = [ "pallet-timestamp", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", "pallet-tx-pause", "pallet-utility", "parity-scale-codec", @@ -4325,16 +4346,6 @@ dependencies = [ "sp-std", ] -[[package]] -name = "fp-dynamic-fee" -version = "1.0.0" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" -dependencies = [ - "async-trait", - "sp-core", - "sp-inherents", -] - [[package]] name = "fp-ethereum" version = "1.0.0-dev" @@ -4489,7 +4500,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -4617,7 +4628,7 @@ dependencies = [ "proc-macro2", "quote", "sp-core-hashing", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -4629,7 +4640,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -4639,7 +4650,7 @@ source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polka dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -4723,7 +4734,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29f9df8a11882c4e3335eb2d18a0137c505d9ca927470b0cac9c6f0ae07d28f7" dependencies = [ - "rustix 0.38.30", + "rustix 0.38.31", "windows-sys 0.48.0", ] @@ -4835,7 +4846,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -5028,7 +5039,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.2.2", + "indexmap 2.2.3", "slab", "tokio", "tokio-util", @@ -5070,7 +5081,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash 0.7.7", + "ahash 0.7.8", ] [[package]] @@ -5079,7 +5090,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.7", + "ahash 0.8.8", ] [[package]] @@ -5088,7 +5099,7 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ - "ahash 0.8.7", + "ahash 0.8.8", "allocator-api2", "serde", ] @@ -5113,9 +5124,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.4" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" +checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd" [[package]] name = "hex" @@ -5288,14 +5299,14 @@ dependencies = [ "rustls-native-certs", "tokio", "tokio-rustls", - "webpki-roots 0.25.3", + "webpki-roots 0.25.4", ] [[package]] name = "iana-time-zone" -version = "0.1.59" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -5434,9 +5445,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520" +checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -5450,9 +5461,9 @@ checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" [[package]] name = "indicatif" -version = "0.17.7" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" dependencies = [ "console", "instant", @@ -5531,12 +5542,12 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455" +checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ "hermit-abi", - "rustix 0.38.30", + "libc", "windows-sys 0.52.0", ] @@ -5584,18 +5595,18 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "jobserver" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.67" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" dependencies = [ "wasm-bindgen", ] @@ -5631,7 +5642,7 @@ dependencies = [ "tokio-rustls", "tokio-util", "tracing", - "webpki-roots 0.25.3", + "webpki-roots 0.25.4", ] [[package]] @@ -6481,7 +6492,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -6495,7 +6506,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -6506,7 +6517,7 @@ checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -6517,7 +6528,7 @@ checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -6583,7 +6594,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.30", + "rustix 0.38.31", ] [[package]] @@ -6656,9 +6667,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] @@ -6685,7 +6696,7 @@ dependencies = [ "bitflags 1.3.2", "blake2 0.10.6", "c2-chacha", - "curve25519-dalek 4.1.1", + "curve25519-dalek 4.1.2", "either", "hashlink", "lioness", @@ -7137,6 +7148,7 @@ dependencies = [ "cumulus-client-collator", "cumulus-client-consensus-aura", "cumulus-client-consensus-common", + "cumulus-client-consensus-proposer", "cumulus-client-network", "cumulus-client-service", "cumulus-primitives-core", @@ -7160,6 +7172,7 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-consensus-manual-seal", + "sc-consensus-slots", "sc-executor", "sc-network", "sc-network-common", @@ -7176,6 +7189,7 @@ dependencies = [ "sc-utils", "serde", "sp-api", + "sp-application-crypto", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -7250,9 +7264,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" dependencies = [ "num-traits", ] @@ -7275,19 +7289,18 @@ dependencies = [ [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-iter" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" dependencies = [ "autocfg", "num-integer", @@ -7308,9 +7321,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", "libm", @@ -7344,7 +7357,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -7424,7 +7437,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -7475,7 +7488,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eedb646674596266dc9bb2b5c7eea7c36b32ecc7777eba0d510196972d72c4fd" dependencies = [ "expander 2.0.0", - "indexmap 2.2.2", + "indexmap 2.2.3", "itertools 0.11.0", "petgraph", "proc-macro-crate 1.3.1", @@ -8132,22 +8145,6 @@ dependencies = [ "sp-std", ] -[[package]] -name = "pallet-dynamic-fee" -version = "4.0.0-dev" -source = "git+https://github.com/moondance-labs/frontier?branch=tanssi-polkadot-v1.6.0#4414529b910e8cf802969b11505a14665e4a55d1" -dependencies = [ - "fp-dynamic-fee", - "fp-evm", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-inherents", - "sp-std", -] - [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" @@ -9090,7 +9087,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -9638,9 +9635,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f200d8d83c44a45b21764d1916299752ca035d15ecd46faca3e9a2a2bf6ad06" +checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546" dependencies = [ "memchr", "thiserror", @@ -9649,9 +9646,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcd6ab1236bbdb3a49027e920e693192ebfe8913f6d60e294de57463a493cfde" +checksum = "22e1288dbd7786462961e69bfd4df7848c1e37e8b74303dbdab82c3a9cdd2809" dependencies = [ "pest", "pest_generator", @@ -9659,22 +9656,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a31940305ffc96863a735bef7c7994a00b325a7138fdbc5bda0f1a0476d3275" +checksum = "1381c29a877c6d34b8c176e734f35d7f7f5b3adaefe940cb4d1bb7af94678e2e" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] name = "pest_meta" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ff62f5259e53b78d1af898941cdcdccfae7385cf7d793a6e55de5d05bb4b7d" +checksum = "d0934d6907f148c22a3acbda520c7eed243ad7487a30f51f6ce52b58b7077a8a" dependencies = [ "once_cell", "pest", @@ -9688,7 +9685,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.2.2", + "indexmap 2.2.3", ] [[package]] @@ -9708,7 +9705,7 @@ checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -9752,9 +9749,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "platforms" @@ -10844,14 +10841,14 @@ dependencies = [ [[package]] name = "polling" -version = "3.3.2" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41" +checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14" dependencies = [ "cfg-if", "concurrent-queue", "pin-project-lite 0.2.13", - "rustix 0.38.30", + "rustix 0.38.31", "tracing", "windows-sys 0.52.0", ] @@ -10983,7 +10980,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ "proc-macro2", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -11092,7 +11089,7 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -11138,7 +11135,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -11441,7 +11438,7 @@ checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -11804,9 +11801,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.30" +version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ "bitflags 2.4.2", "errno", @@ -12032,7 +12029,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -12312,7 +12309,7 @@ name = "sc-consensus-grandpa" version = "0.10.0-dev" source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ - "ahash 0.8.7", + "ahash 0.8.8", "array-bytes 6.2.2", "async-trait", "dyn-clone", @@ -12624,7 +12621,7 @@ name = "sc-network-gossip" version = "0.10.0-dev" source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ - "ahash 0.8.7", + "ahash 0.8.8", "futures 0.3.30", "futures-timer", "libp2p", @@ -13067,7 +13064,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -13168,7 +13165,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" dependencies = [ - "ahash 0.8.7", + "ahash 0.8.8", "cfg-if", "hashbrown 0.13.2", ] @@ -13214,7 +13211,7 @@ dependencies = [ "aead", "arrayref", "arrayvec 0.7.4", - "curve25519-dalek 4.1.1", + "curve25519-dalek 4.1.2", "getrandom_or_panic", "merlin 3.0.0", "rand_core 0.6.4", @@ -13369,7 +13366,7 @@ checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -13661,7 +13658,7 @@ dependencies = [ "soketto", "twox-hash", "wasmi", - "x25519-dalek 2.0.0", + "x25519-dalek 2.0.1", "zeroize", ] @@ -13716,7 +13713,7 @@ dependencies = [ "aes-gcm", "blake2 0.10.6", "chacha20poly1305", - "curve25519-dalek 4.1.1", + "curve25519-dalek 4.1.2", "rand_core 0.6.4", "ring 0.17.7", "rustc_version", @@ -13793,7 +13790,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -14030,7 +14027,7 @@ source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polka dependencies = [ "quote", "sp-core-hashing", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -14049,7 +14046,7 @@ source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polka dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -14280,7 +14277,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -14339,7 +14336,7 @@ version = "4.0.0-dev" source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ "aes-gcm", - "curve25519-dalek 4.1.1", + "curve25519-dalek 4.1.2", "ed25519-dalek", "hkdf", "parity-scale-codec", @@ -14354,7 +14351,7 @@ dependencies = [ "sp-runtime-interface", "sp-std", "thiserror", - "x25519-dalek 2.0.0", + "x25519-dalek 2.0.1", ] [[package]] @@ -14429,7 +14426,7 @@ name = "sp-trie" version = "22.0.0" source = "git+https://github.com/moondance-labs/polkadot-sdk?branch=tanssi-polkadot-v1.6.0#335795e63441a7c3c409ee5c532d4560a01cf3ae" dependencies = [ - "ahash 0.8.7", + "ahash 0.8.8", "hash-db", "lazy_static", "memory-db", @@ -14473,7 +14470,7 @@ dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -14568,7 +14565,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd" dependencies = [ - "ahash 0.8.7", + "ahash 0.8.8", "atoi", "byteorder", "bytes", @@ -14584,7 +14581,7 @@ dependencies = [ "futures-util", "hashlink", "hex", - "indexmap 2.2.2", + "indexmap 2.2.3", "log", "memchr", "native-tls", @@ -14808,9 +14805,9 @@ dependencies = [ [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" [[package]] name = "strum" @@ -14850,7 +14847,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -15030,7 +15027,7 @@ dependencies = [ "sp-maybe-compressed-blob", "strum 0.24.1", "tempfile", - "toml 0.8.9", + "toml 0.8.10", "walkdir", "wasm-opt", ] @@ -15066,9 +15063,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.48" +version = "2.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "915aea9e586f80826ee59f8453c1101f9d1c4b3964cd2460185ee8e299ada496" dependencies = [ "proc-macro2", "quote", @@ -15120,6 +15117,7 @@ dependencies = [ "cumulus-client-collator", "cumulus-client-consensus-aura", "cumulus-client-consensus-common", + "cumulus-client-consensus-proposer", "cumulus-client-network", "cumulus-client-parachain-inherent", "cumulus-client-pov-recovery", @@ -15212,17 +15210,28 @@ name = "tc-consensus" version = "0.1.0" dependencies = [ "async-trait", + "cumulus-client-collator", + "cumulus-client-consensus-aura", "cumulus-client-consensus-common", + "cumulus-client-consensus-proposer", + "cumulus-client-parachain-inherent", "cumulus-primitives-core", - "cumulus-primitives-parachain-inherent", + "cumulus-relay-chain-interface", + "cumulus-test-relay-sproof-builder", "fc-rpc", "futures 0.3.30", "futures-timer", "log", "nimbus-consensus", "nimbus-primitives", + "pallet-registrar-runtime-api", "parity-scale-codec", "parking_lot 0.12.1", + "polkadot-core-primitives", + "polkadot-node-primitives", + "polkadot-overseer", + "polkadot-parachain-primitives", + "polkadot-primitives", "sc-block-builder", "sc-client-api", "sc-consensus", @@ -15244,6 +15253,7 @@ dependencies = [ "sp-keyring", "sp-keystore", "sp-runtime", + "sp-state-machine", "sp-timestamp", "substrate-prometheus-endpoint", "substrate-test-runtime-client", @@ -15255,14 +15265,13 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.9.0" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" dependencies = [ "cfg-if", "fastrand 2.0.1", - "redox_syscall 0.4.1", - "rustix 0.38.30", + "rustix 0.38.31", "windows-sys 0.52.0", ] @@ -15281,7 +15290,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" dependencies = [ - "rustix 0.38.30", + "rustix 0.38.31", "windows-sys 0.48.0", ] @@ -15308,9 +15317,9 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" dependencies = [ "thiserror-impl", ] @@ -15332,18 +15341,18 @@ checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -15407,9 +15416,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe80ced77cbfb4cb91a94bf72b378b4b6791a0d9b7f09d0be747d1bdff4e68bd" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" dependencies = [ "deranged", "itoa", @@ -15462,9 +15471,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.1" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "bytes", @@ -15487,7 +15496,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -15549,14 +15558,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6a4b9e8023eb94392d3dca65d717c53abc5dad49c07cb65bb8fcd87115fa325" +checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.21.1", + "toml_edit 0.22.6", ] [[package]] @@ -15574,9 +15583,9 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.2", + "indexmap 2.2.3", "toml_datetime", - "winnow", + "winnow 0.5.40", ] [[package]] @@ -15585,9 +15594,9 @@ version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" dependencies = [ - "indexmap 2.2.2", + "indexmap 2.2.3", "toml_datetime", - "winnow", + "winnow 0.5.40", ] [[package]] @@ -15596,11 +15605,22 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.2.2", + "indexmap 2.2.3", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6" +dependencies = [ + "indexmap 2.2.3", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.1", ] [[package]] @@ -15730,6 +15750,8 @@ dependencies = [ "cumulus-primitives-core", "frame-support", "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", "sp-std", ] @@ -15753,7 +15775,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -15796,7 +15818,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -16018,9 +16040,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" @@ -16182,11 +16204,20 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasix" +version = "0.12.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1fbb4ef9bbca0c1170e0b00dd28abc9e3b68669821600cad1caaed606583c6d" +dependencies = [ + "wasi 0.11.0+wasi-snapshot-preview1", +] + [[package]] name = "wasm-bindgen" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -16194,24 +16225,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" +checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" dependencies = [ "cfg-if", "js-sys", @@ -16221,9 +16252,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -16231,22 +16262,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" +checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" [[package]] name = "wasm-instrument" @@ -16559,9 +16590,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.67" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" +checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" dependencies = [ "js-sys", "wasm-bindgen", @@ -16588,9 +16619,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.3" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "westend-runtime" @@ -16723,7 +16754,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.30", + "rustix 0.38.31", ] [[package]] @@ -17001,9 +17032,18 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.36" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "818ce546a11a9986bc24f93d0cdf38a8a1a400f1473ea8c82e59f6e0ffab9249" +checksum = "d90f4e0f530c4c69f62b80d839e9ef3855edc9cba471a160c4d692deed62b401" dependencies = [ "memchr", ] @@ -17040,11 +17080,11 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.1", + "curve25519-dalek 4.1.2", "rand_core 0.6.4", "serde", "zeroize", @@ -17119,7 +17159,7 @@ dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -17162,7 +17202,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -17182,7 +17222,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index bfac26944..cd9586161 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -97,6 +97,7 @@ pallet-staking = { git = "https://github.com/moondance-labs/polkadot-sdk", branc pallet-sudo = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-timestamp = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-transaction-payment = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +pallet-treasury = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-tx-pause = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-utility = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } parity-scale-codec = { version = "3.0.0", default-features = false, features = [ "derive", "max-encoded-len" ] } @@ -171,6 +172,8 @@ try-runtime-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", bran # Polkadot (wasm) pallet-xcm = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-xcm-benchmarks = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +polkadot-core-primitives = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +polkadot-node-primitives = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } polkadot-parachain-primitives = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } polkadot-runtime-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } polkadot-runtime-parachains = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } @@ -203,6 +206,7 @@ cumulus-client-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", b cumulus-client-collator = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } cumulus-client-consensus-aura = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } cumulus-client-consensus-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +cumulus-client-consensus-proposer = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } cumulus-client-network = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } cumulus-client-parachain-inherent = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } cumulus-client-pov-recovery = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } @@ -219,7 +223,6 @@ fp-evm = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi- fp-rpc = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } fp-self-contained = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-base-fee = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } -pallet-dynamic-fee = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-ethereum = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-evm = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } pallet-evm-chain-id = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } diff --git a/client/consensus/Cargo.toml b/client/consensus/Cargo.toml index 326fe99d8..f242b0bfa 100644 --- a/client/consensus/Cargo.toml +++ b/client/consensus/Cargo.toml @@ -24,16 +24,27 @@ sp-core = { workspace = true } sp-inherents = { workspace = true } sp-keystore = { workspace = true } sp-runtime = { workspace = true } +sp-state-machine = { workspace = true } sp-timestamp = { workspace = true } substrate-prometheus-endpoint = { workspace = true } # Own +pallet-registrar-runtime-api = { workspace = true, features = [ "std" ] } tp-consensus = { workspace = true, features = [ "std" ] } # Cumulus dependencies +cumulus-client-collator = { workspace = true } +cumulus-client-consensus-aura = { workspace = true } cumulus-client-consensus-common = { workspace = true } +cumulus-client-consensus-proposer = { workspace = true } +cumulus-client-parachain-inherent = { workspace = true } cumulus-primitives-core = { workspace = true } -cumulus-primitives-parachain-inherent = { workspace = true } +cumulus-relay-chain-interface = { workspace = true } + +# Polkadot +polkadot-node-primitives = { workspace = true } +polkadot-overseer = { workspace = true } +polkadot-primitives = { workspace = true } # Nimbus Dependencies nimbus-consensus = { workspace = true } @@ -50,8 +61,11 @@ parity-scale-codec = { workspace = true, features = [ "derive" ] } tracing = { workspace = true } [dev-dependencies] +cumulus-test-relay-sproof-builder = { workspace = true } futures-timer = { workspace = true } parking_lot = { workspace = true } +polkadot-core-primitives = { workspace = true } +polkadot-parachain-primitives = { workspace = true } sc-block-builder = { workspace = true } sc-keystore = { workspace = true } sc-network-test = { workspace = true } diff --git a/client/consensus/src/collators.rs b/client/consensus/src/collators.rs new file mode 100644 index 000000000..f6031313e --- /dev/null +++ b/client/consensus/src/collators.rs @@ -0,0 +1,449 @@ +// Copyright (C) Moondance Labs Ltd. +// This file is part of Tanssi. + +// Tanssi 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. + +// Tanssi 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 Tanssi. If not, see . + +pub mod basic; + +use cumulus_client_collator::service::ServiceInterface as CollatorServiceInterface; +use cumulus_client_consensus_common::ParachainCandidate; +use cumulus_client_consensus_proposer::ProposerInterface; +use cumulus_client_parachain_inherent::{ParachainInherentData, ParachainInherentDataProvider}; +use cumulus_primitives_core::{ + relay_chain::Hash as PHash, DigestItem, ParachainBlockData, PersistedValidationData, +}; +use cumulus_relay_chain_interface::RelayChainInterface; +use parity_scale_codec::{Codec, Encode}; + +use polkadot_node_primitives::{Collation, MaybeCompressedPoV}; +use polkadot_primitives::Id as ParaId; + +use crate::{find_pre_digest, AuthorityId, OrchestratorAuraWorkerAuxData}; +use futures::prelude::*; +use nimbus_primitives::{CompatibleDigestItem as NimbusCompatibleDigestItem, NIMBUS_KEY_ID}; +use sc_consensus::{BlockImport, BlockImportParams, ForkChoiceStrategy, StateAction}; +use sp_application_crypto::{AppCrypto, AppPublic}; +use sp_consensus::BlockOrigin; +use sp_consensus_aura::{digests::CompatibleDigestItem, Slot}; +use sp_core::crypto::{ByteArray, Pair}; +use sp_inherents::{CreateInherentDataProviders, InherentData, InherentDataProvider}; +use sp_keystore::{Keystore, KeystorePtr}; +use sp_runtime::{ + generic::Digest, + traits::{Block as BlockT, HashingFor, Header as HeaderT, Member, Zero}, +}; +use sp_state_machine::StorageChanges; +use sp_timestamp::Timestamp; +use std::{convert::TryFrom, error::Error, time::Duration}; + +/// Parameters for instantiating a [`Collator`]. +pub struct Params { + /// A builder for inherent data builders. + pub create_inherent_data_providers: CIDP, + /// The block import handle. + pub block_import: BI, + /// An interface to the relay-chain client. + pub relay_client: RClient, + /// The keystore handle used for accessing parachain key material. + pub keystore: KeystorePtr, + /// The identifier of the parachain within the relay-chain. + pub para_id: ParaId, + /// The block proposer used for building blocks. + pub proposer: Proposer, + /// The collator service used for bundling proposals into collations and announcing + /// to the network. + pub collator_service: CS, +} + +/// A utility struct for writing collation logic that makes use of +/// Tanssi Aura entirely or in part. +pub struct Collator { + create_inherent_data_providers: CIDP, + block_import: BI, + relay_client: RClient, + keystore: KeystorePtr, + para_id: ParaId, + proposer: Proposer, + collator_service: CS, + _marker: std::marker::PhantomData<(Block, Box)>, +} + +impl Collator +where + Block: BlockT, + RClient: RelayChainInterface, + CIDP: CreateInherentDataProviders + 'static, + BI: BlockImport + Send + Sync + 'static, + Proposer: ProposerInterface, + CS: CollatorServiceInterface, + P: Pair + Send + Sync + 'static, + P::Public: AppPublic + Member, + P::Signature: TryFrom> + Member + Codec, +{ + /// Instantiate a new instance of the `Tanssi Aura` manager. + pub fn new(params: Params) -> Self { + Collator { + create_inherent_data_providers: params.create_inherent_data_providers, + block_import: params.block_import, + relay_client: params.relay_client, + keystore: params.keystore, + para_id: params.para_id, + proposer: params.proposer, + collator_service: params.collator_service, + _marker: std::marker::PhantomData, + } + } + + /// Explicitly creates the inherent data for parachain block authoring. + pub async fn create_inherent_data( + &self, + relay_parent: PHash, + validation_data: &PersistedValidationData, + parent_hash: Block::Hash, + _timestamp: impl Into>, + ) -> Result<(ParachainInherentData, InherentData), Box> { + let paras_inherent_data = ParachainInherentDataProvider::create_at( + relay_parent, + &self.relay_client, + validation_data, + self.para_id, + ) + .await; + + let paras_inherent_data = match paras_inherent_data { + Some(p) => p, + None => { + return Err( + format!("Could not create paras inherent data at {:?}", relay_parent).into(), + ) + } + }; + + let other_inherent_data = self + .create_inherent_data_providers + .create_inherent_data_providers(parent_hash, (relay_parent, validation_data.clone())) + .map_err(|e| e as Box) + .await? + .create_inherent_data() + .await + .map_err(Box::new)?; + + Ok((paras_inherent_data, other_inherent_data)) + } + + /// Propose, seal, and import a block, packaging it into a collation. + /// + /// Provide the slot to build at as well as any other necessary pre-digest logs, + /// the inherent data, and the proposal duration and PoV size limits. + /// + /// The Tanssi Aura pre-digest is set internally. + /// + /// This does not announce the collation to the parachain network or the relay chain. + pub async fn collate( + &mut self, + parent_header: &Block::Header, + slot_claim: &mut SlotClaim, + additional_pre_digest: impl Into>>, + inherent_data: (ParachainInherentData, InherentData), + proposal_duration: Duration, + max_pov_size: usize, + ) -> Result< + Option<(Collation, ParachainBlockData, Block::Hash)>, + Box, + > { + let mut digest = additional_pre_digest.into().unwrap_or_default(); + digest.append(&mut slot_claim.pre_digest); + + let maybe_proposal = self + .proposer + .propose( + &parent_header, + &inherent_data.0, + inherent_data.1, + Digest { logs: digest }, + proposal_duration, + Some(max_pov_size), + ) + .await + .map_err(|e| Box::new(e) as Box)?; + + let proposal = match maybe_proposal { + None => return Ok(None), + Some(p) => p, + }; + + let sealed_importable = seal_tanssi::<_, P>( + proposal.block, + proposal.storage_changes, + &slot_claim.author_pub, + &self.keystore, + ) + .map_err(|e| e as Box)?; + + let post_hash = sealed_importable.post_hash(); + let block = Block::new( + sealed_importable.post_header(), + sealed_importable + .body + .as_ref() + .expect("body always created with this `propose` fn; qed") + .clone(), + ); + + self.block_import + .import_block(sealed_importable) + .map_err(|e| Box::new(e) as Box) + .await?; + + if let Some((collation, block_data)) = self.collator_service.build_collation( + parent_header, + post_hash, + ParachainCandidate { + block, + proof: proposal.proof, + }, + ) { + tracing::info!( + target: crate::LOG_TARGET, + "PoV size {{ header: {}kb, extrinsics: {}kb, storage_proof: {}kb }}", + block_data.header().encode().len() as f64 / 1024f64, + block_data.extrinsics().encode().len() as f64 / 1024f64, + block_data.storage_proof().encode().len() as f64 / 1024f64, + ); + + if let MaybeCompressedPoV::Compressed(ref pov) = collation.proof_of_validity { + tracing::info!( + target: crate::LOG_TARGET, + "Compressed PoV size: {}kb", + pov.block_data.0.len() as f64 / 1024f64, + ); + } + + Ok(Some((collation, block_data, post_hash))) + } else { + Err( + Box::::from("Unable to produce collation") + as Box, + ) + } + } + + /// Get the underlying collator service. + pub fn collator_service(&self) -> &CS { + &self.collator_service + } +} + +fn pre_digest_data(slot: Slot, claim: P::Public) -> Vec +where + P::Public: Codec, + P::Signature: Codec, +{ + vec![ + >::aura_pre_digest(slot), + // We inject the nimbus digest as well. Crutial to be able to verify signatures + ::nimbus_pre_digest( + // TODO remove this unwrap through trait reqs + nimbus_primitives::NimbusId::from_slice(claim.as_ref()).unwrap(), + ), + ] +} + +#[derive(Debug)] +pub struct SlotClaim { + author_pub: Pub, + pre_digest: Vec, +} + +impl SlotClaim { + pub fn unchecked

(author_pub: Pub, slot: Slot) -> Self + where + P: Pair, + P::Public: Codec, + P::Signature: Codec, + { + SlotClaim { + author_pub: author_pub.clone(), + pre_digest: pre_digest_data::

(slot, author_pub), + } + } + + /// Get the author's public key. + pub fn author_pub(&self) -> &Pub { + &self.author_pub + } + + /// Get the pre-digest. + pub fn pre_digest(&self) -> &Vec { + &self.pre_digest + } +} + +/// Attempt to claim a slot locally. +pub fn tanssi_claim_slot( + aux_data: OrchestratorAuraWorkerAuxData

, + chain_head: &B::Header, + slot: Slot, + force_authoring: bool, + keystore: &KeystorePtr, +) -> Result>, Box> +where + P: Pair + Send + Sync + 'static, + P::Public: Codec + std::fmt::Debug, + P::Signature: Codec, + B: BlockT, +{ + let author_pub = { + let res = claim_slot_inner::

(slot, &aux_data.authorities, keystore, force_authoring); + match res { + Some(p) => p, + None => return Ok(None), + } + }; + + if is_parathread_and_should_skip_slot::(&aux_data, chain_head, slot) { + return Ok(None); + } + + Ok(Some(SlotClaim::unchecked::

(author_pub, slot))) +} + +/// Returns true if this container chain is a parathread and the collator should skip this slot and not produce a block +pub fn is_parathread_and_should_skip_slot( + aux_data: &OrchestratorAuraWorkerAuxData

, + chain_head: &B::Header, + slot: Slot, +) -> bool +where + P: Pair + Send + Sync + 'static, + P::Public: Codec + std::fmt::Debug, + P::Signature: Codec, + B: BlockT, +{ + if slot.is_zero() { + // Always produce on slot 0 (for tests) + return false; + } + if let Some(min_slot_freq) = aux_data.min_slot_freq { + if let Ok(chain_head_slot) = find_pre_digest::(chain_head) { + let slot_diff = slot.saturating_sub(chain_head_slot); + + // TODO: this doesn't take into account force authoring. + // So a node with `force_authoring = true` will not propose a block for a parathread until the + // `min_slot_freq` has elapsed. + slot_diff < min_slot_freq + } else { + // In case of error always propose + false + } + } else { + // Not a parathread: always propose + false + } +} + +/// Attempt to claim a slot using a keystore. +pub fn claim_slot_inner( + slot: Slot, + authorities: &Vec>, + keystore: &KeystorePtr, + force_authoring: bool, +) -> Option +where + P: Pair, + P::Public: Codec + std::fmt::Debug, + P::Signature: Codec, +{ + let expected_author = crate::slot_author::

(slot, authorities.as_slice()); + // if not running with force-authoring, just do the usual slot check + if !force_authoring { + expected_author.and_then(|p| { + if keystore.has_keys(&[(p.to_raw_vec(), NIMBUS_KEY_ID)]) { + Some(p.clone()) + } else { + None + } + }) + } + // if running with force-authoring, as long as you are in the authority set, + // propose + else { + authorities + .iter() + .find(|key| keystore.has_keys(&[(key.to_raw_vec(), NIMBUS_KEY_ID)])) + .cloned() + } +} + +/// Seal a block with a signature in the header. +pub fn seal_tanssi( + pre_sealed: B, + storage_changes: StorageChanges>, + author_pub: &P::Public, + keystore: &KeystorePtr, +) -> Result, Box> +where + P: Pair, + P::Signature: Codec + TryFrom>, + P::Public: AppPublic, +{ + let (pre_header, body) = pre_sealed.deconstruct(); + let pre_hash = pre_header.hash(); + let block_number = *pre_header.number(); + + // sign the pre-sealed hash of the block and then + // add it to a digest item. + let signature = Keystore::sign_with( + keystore, + as AppCrypto>::ID, + as AppCrypto>::CRYPTO_ID, + author_pub.as_slice(), + pre_hash.as_ref(), + ) + .map_err(|e| sp_consensus::Error::CannotSign(format!("{}. Key: {:?}", e, author_pub)))? + .ok_or_else(|| { + sp_consensus::Error::CannotSign(format!( + "Could not find key in keystore. Key: {:?}", + author_pub + )) + })?; + let signature = signature + .clone() + .try_into() + .map_err(|_| sp_consensus::Error::InvalidSignature(signature, author_pub.to_raw_vec()))?; + + let signature_digest_item = ::nimbus_seal(signature); + + // seal the block. + let block_import_params = { + let mut block_import_params = BlockImportParams::new(BlockOrigin::Own, pre_header); + block_import_params.post_digests.push(signature_digest_item); + block_import_params.body = Some(body.clone()); + block_import_params.state_action = + StateAction::ApplyChanges(sc_consensus::StorageChanges::Changes(storage_changes)); + block_import_params.fork_choice = Some(ForkChoiceStrategy::LongestChain); + block_import_params + }; + let post_hash = block_import_params.post_hash(); + + tracing::info!( + target: crate::LOG_TARGET, + "🔖 Pre-sealed block for proposal at {}. Hash now {:?}, previously {:?}.", + block_number, + post_hash, + pre_hash, + ); + + Ok(block_import_params) +} diff --git a/client/consensus/src/collators/basic.rs b/client/consensus/src/collators/basic.rs new file mode 100644 index 000000000..c8403dd22 --- /dev/null +++ b/client/consensus/src/collators/basic.rs @@ -0,0 +1,256 @@ +// Copyright (C) Moondance Labs Ltd. +// This file is part of Tanssi. + +// Tanssi 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. + +// Tanssi 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 Tanssi. If not, see . + +use cumulus_client_collator::{ + relay_chain_driven::CollationRequest, service::ServiceInterface as CollatorServiceInterface, +}; +use cumulus_client_consensus_proposer::ProposerInterface; +use cumulus_primitives_core::{ + relay_chain::{BlockId as RBlockId, Hash as PHash}, + PersistedValidationData, +}; +use cumulus_relay_chain_interface::RelayChainInterface; +use parity_scale_codec::{Codec, Decode}; + +use polkadot_node_primitives::CollationResult; +use polkadot_overseer::Handle as OverseerHandle; +use polkadot_primitives::{CollatorPair, Id as ParaId}; + +use futures::{channel::mpsc::Receiver, prelude::*}; +use sc_client_api::{backend::AuxStore, BlockBackend, BlockOf}; +use sc_consensus::BlockImport; +use sc_consensus_slots::InherentDataProviderExt; +use sp_api::ProvideRuntimeApi; +use sp_application_crypto::AppPublic; +use sp_blockchain::HeaderBackend; +use sp_consensus::SyncOracle; +use sp_consensus_aura::SlotDuration; +use sp_core::crypto::Pair; +use sp_inherents::CreateInherentDataProviders; +use sp_keystore::KeystorePtr; +use sp_runtime::traits::{Block as BlockT, Header as HeaderT, Member}; +use std::{convert::TryFrom, sync::Arc, time::Duration}; + +use crate::consensus_orchestrator::RetrieveAuthoritiesFromOrchestrator; +use crate::{collators as collator_util, OrchestratorAuraWorkerAuxData}; + +/// Parameters for [`run`]. +pub struct Params { + pub create_inherent_data_providers: CIDP, + pub get_orchestrator_aux_data: GOH, + pub block_import: BI, + pub para_client: Arc, + pub relay_client: RClient, + pub sync_oracle: SO, + pub keystore: KeystorePtr, + pub collator_key: CollatorPair, + pub para_id: ParaId, + pub overseer_handle: OverseerHandle, + pub slot_duration: SlotDuration, + pub relay_chain_slot_duration: Duration, + pub proposer: Proposer, + pub collator_service: CS, + pub authoring_duration: Duration, + pub force_authoring: bool, + pub collation_request_receiver: Option>, +} + +/// Run tanssi Aura consensus as a relay-chain-driven collator. +pub fn run( + params: Params, +) -> impl Future + Send + 'static +where + Block: BlockT + Send, + Client: ProvideRuntimeApi + + BlockOf + + AuxStore + + HeaderBackend + + BlockBackend + + Send + + Sync + + 'static, + RClient: RelayChainInterface + Send + Clone + 'static, + CIDP: CreateInherentDataProviders + + Send + + 'static + + Clone, + CIDP::InherentDataProviders: Send + InherentDataProviderExt, + BI: BlockImport + Send + Sync + 'static, + SO: SyncOracle + Send + Sync + Clone + 'static, + Proposer: ProposerInterface + Send + Sync + 'static, + CS: CollatorServiceInterface + Send + Sync + 'static, + P: Pair + Sync + Send + 'static, + P::Public: AppPublic + Member + Codec, + P::Signature: TryFrom> + Member + Codec, + GOH: RetrieveAuthoritiesFromOrchestrator< + Block, + (PHash, PersistedValidationData), + OrchestratorAuraWorkerAuxData

, + > + + 'static + + Sync + + Send, +{ + async move { + let mut collation_requests = match params.collation_request_receiver { + Some(receiver) => receiver, + None => { + cumulus_client_collator::relay_chain_driven::init( + params.collator_key, + params.para_id, + params.overseer_handle, + ) + .await + } + }; + + let mut collator = { + let params = collator_util::Params { + create_inherent_data_providers: params.create_inherent_data_providers.clone(), + block_import: params.block_import, + relay_client: params.relay_client.clone(), + keystore: params.keystore.clone(), + para_id: params.para_id, + proposer: params.proposer, + collator_service: params.collator_service, + }; + + collator_util::Collator::::new(params) + }; + + while let Some(request) = collation_requests.next().await { + macro_rules! reject_with_error { + ($err:expr) => {{ + request.complete(None); + tracing::error!(target: crate::LOG_TARGET, err = ?{ $err }); + continue; + }}; + } + + macro_rules! try_request { + ($x:expr) => {{ + match $x { + Ok(x) => x, + Err(e) => reject_with_error!(e), + } + }}; + } + + let validation_data = request.persisted_validation_data(); + + let parent_header = try_request!(Block::Header::decode( + &mut &validation_data.parent_head.0[..] + )); + + let parent_hash = parent_header.hash(); + + // Check whether we can build upon this block + if !collator + .collator_service() + .check_block_status(parent_hash, &parent_header) + { + continue; + } + + let relay_parent_header = match params + .relay_client + .header(RBlockId::hash(*request.relay_parent())) + .await + { + Err(e) => reject_with_error!(e), + Ok(None) => continue, // sanity: would be inconsistent to get `None` here + Ok(Some(h)) => h, + }; + + // Retrieve authorities that are able to produce the block + let authorities = match params + .get_orchestrator_aux_data + .retrieve_authorities_from_orchestrator( + parent_hash, + (relay_parent_header.hash(), validation_data.clone()), + ) + .await + { + Err(e) => reject_with_error!(e), + Ok(h) => h, + }; + + let inherent_providers = match params + .create_inherent_data_providers + .create_inherent_data_providers( + parent_hash, + (*request.relay_parent(), validation_data.clone()), + ) + .await + { + Err(e) => reject_with_error!(e), + Ok(h) => h, + }; + + let mut claim = match collator_util::tanssi_claim_slot::( + authorities, + &parent_header, + inherent_providers.slot(), + params.force_authoring, + ¶ms.keystore, + ) { + Ok(None) => continue, + Err(e) => reject_with_error!(e), + Ok(Some(h)) => h, + }; + + let (parachain_inherent_data, other_inherent_data) = try_request!( + collator + .create_inherent_data( + *request.relay_parent(), + &validation_data, + parent_hash, + None, + ) + .await + ); + + let maybe_collation = try_request!( + collator + .collate( + &parent_header, + &mut claim, + None, + (parachain_inherent_data, other_inherent_data), + params.authoring_duration, + // Set the block limit to 50% of the maximum PoV size. + // + // TODO: If we got benchmarking that includes the proof size, + // we should be able to use the maximum pov size. + (validation_data.max_pov_size / 2) as usize, + ) + .await + ); + + if let Some((collation, _, post_hash)) = maybe_collation { + let result_sender = + Some(collator.collator_service().announce_with_barrier(post_hash)); + request.complete(Some(CollationResult { + collation, + result_sender, + })); + } else { + request.complete(None); + tracing::debug!(target: crate::LOG_TARGET, "No block proposal"); + } + } + } +} diff --git a/client/consensus/src/consensus_orchestrator.rs b/client/consensus/src/consensus_orchestrator.rs index 498e9e87b..fcd0079b6 100644 --- a/client/consensus/src/consensus_orchestrator.rs +++ b/client/consensus/src/consensus_orchestrator.rs @@ -21,559 +21,14 @@ //! the ParachainConsensus trait to access the orchestrator-dicated authorities, and further //! it implements the TanssiWorker to TanssiOnSlot trait. This trait is use { - cumulus_client_consensus_common::{ParachainCandidate, ParachainConsensus}, - cumulus_primitives_core::{relay_chain::Hash as PHash, PersistedValidationData}, - parity_scale_codec::{Decode, Encode}, + crate::AuthorityId, + crate::Pair, + crate::Slot, + sc_consensus_slots::{SimpleSlotWorker, SlotInfo, SlotResult}, + sp_consensus::Proposer, + sp_runtime::traits::Block as BlockT, }; -use { - futures::{lock::Mutex, prelude::*}, - nimbus_primitives::{ - CompatibleDigestItem as NimbusCompatibleDigestItem, NimbusPair, NIMBUS_KEY_ID, - }, - sc_client_api::{backend::AuxStore, BlockOf}, - sc_consensus::{BlockImport, BlockImportParams, ForkChoiceStrategy, StateAction}, - sc_consensus_aura::{find_pre_digest, CompatibilityMode}, - sc_consensus_slots::{ - BackoffAuthoringBlocksStrategy, SimpleSlotWorker, SlotInfo, SlotResult, StorageChanges, - }, - sc_telemetry::{telemetry, TelemetryHandle, CONSENSUS_DEBUG, CONSENSUS_INFO, CONSENSUS_WARN}, - sp_api::ProvideRuntimeApi, - sp_application_crypto::{AppCrypto, AppPublic}, - sp_blockchain::HeaderBackend, - sp_consensus::{ - BlockOrigin, EnableProofRecording, Environment, ProofRecording, Proposer, SyncOracle, - }, -}; - -use { - crate::{slot_author, AuthorityId}, - log::{debug, info, warn}, - sp_consensus_aura::{digests::CompatibleDigestItem, SlotDuration}, - sp_consensus_slots::Slot, - sp_core::crypto::{ByteArray, Pair, Public}, - sp_inherents::CreateInherentDataProviders, - sp_keystore::{Keystore, KeystorePtr}, - sp_runtime::{ - traits::{Block as BlockT, Header as HeaderT, Member, NumberFor}, - DigestItem, - }, - std::{ - convert::TryFrom, - fmt::Debug, - hash::Hash, - marker::PhantomData, - pin::Pin, - sync::Arc, - time::{Duration, Instant}, - }, -}; -pub use {sc_consensus_aura::SlotProportion, sc_consensus_slots::InherentDataProviderExt}; - -const LOG_TARGET: &str = "aura::tanssi"; - -/// The implementation of the Tanssi AURA consensus for parachains. -pub struct OrchestratorAuraConsensus { - create_inherent_data_providers: Arc, - get_authorities_from_orchestrator: Arc, - aura_worker: Arc>, - slot_duration: SlotDuration, - _phantom: PhantomData, -} - -impl Clone for OrchestratorAuraConsensus { - fn clone(&self) -> Self { - Self { - create_inherent_data_providers: self.create_inherent_data_providers.clone(), - get_authorities_from_orchestrator: self.get_authorities_from_orchestrator.clone(), - aura_worker: self.aura_worker.clone(), - slot_duration: self.slot_duration, - _phantom: PhantomData, - } - } -} - -/// Build the tanssi aura worker. -/// -/// The caller is responsible for running this worker, otherwise it will do nothing. -pub fn build_orchestrator_aura_worker( - BuildOrchestratorAuraWorkerParams { - client, - block_import, - proposer_factory, - sync_oracle, - justification_sync_link, - backoff_authoring_blocks, - keystore, - block_proposal_slot_portion, - max_block_proposal_slot_portion, - telemetry, - force_authoring, - compatibility_mode, - }: BuildOrchestratorAuraWorkerParams>, -) -> impl TanssiSlotWorker< - B, - Proposer = PF::Proposer, - BlockImport = I, - SyncOracle = SO, - JustificationSyncLink = L, - Claim = P::Public, - AuxData = Vec>, -> -where - B: BlockT, - C: ProvideRuntimeApi + BlockOf + AuxStore + HeaderBackend + Send + Sync, - AuthorityId

: From<::Public>, - PF: Environment + Send + Sync + 'static, - PF::Proposer: Proposer, - P: Pair + Send + Sync, - P::Public: AppPublic + Hash + Member + Encode + Decode, - P::Signature: TryFrom> + Hash + Member + Encode + Decode, - I: BlockImport + Send + Sync + 'static, - Error: std::error::Error + Send + From + 'static, - SO: SyncOracle + Send + Sync + Clone, - L: sc_consensus::JustificationSyncLink, - BS: BackoffAuthoringBlocksStrategy> + Send + Sync + 'static, -{ - OrchestratorAuraWorker { - client, - block_import, - env: proposer_factory, - keystore, - sync_oracle, - justification_sync_link, - force_authoring, - backoff_authoring_blocks, - telemetry, - block_proposal_slot_portion, - max_block_proposal_slot_portion, - compatibility_mode, - _key_type: PhantomData::

, - } -} - -/// Parameters of [`OrchestratorAuraConsensus::build`]. -pub struct BuildOrchestratorAuraConsensusParams { - pub proposer_factory: PF, - pub create_inherent_data_providers: CIDP, - pub get_authorities_from_orchestrator: GOH, - pub block_import: BI, - pub para_client: Arc, - pub backoff_authoring_blocks: Option, - pub sync_oracle: SO, - pub keystore: KeystorePtr, - pub force_authoring: bool, - pub slot_duration: SlotDuration, - pub telemetry: Option, - pub block_proposal_slot_portion: SlotProportion, - pub max_block_proposal_slot_portion: Option, -} - -impl OrchestratorAuraConsensus -where - B: BlockT, - CIDP: CreateInherentDataProviders + 'static, - GOH: 'static + Sync + Send, - CIDP::InherentDataProviders: InherentDataProviderExt, -{ - /// Create a new boxed instance of AURA consensus. - pub fn build( - BuildOrchestratorAuraConsensusParams { - proposer_factory, - create_inherent_data_providers, - get_authorities_from_orchestrator, - block_import, - para_client, - backoff_authoring_blocks, - sync_oracle, - keystore, - force_authoring, - slot_duration, - telemetry, - block_proposal_slot_portion, - max_block_proposal_slot_portion, - }: BuildOrchestratorAuraConsensusParams, - ) -> Box> - where - Client: - ProvideRuntimeApi + BlockOf + AuxStore + HeaderBackend + Send + Sync + 'static, - AuthorityId

: From<::Public>, - BI: BlockImport + Send + Sync + 'static, - SO: SyncOracle + Send + Sync + Clone + 'static, - BS: BackoffAuthoringBlocksStrategy> + Send + Sync + 'static, - PF: Environment + Send + Sync + 'static, - PF::Proposer: Proposer< - B, - Error = Error, - ProofRecording = EnableProofRecording, - Proof = ::Proof, - >, - Error: std::error::Error + Send + From + 'static, - P: Pair + Send + Sync + 'static, - P::Public: AppPublic + Hash + Member + Encode + Decode, - P::Signature: TryFrom> + Hash + Member + Encode + Decode, - GOH: RetrieveAuthoritiesFromOrchestrator< - B, - (PHash, PersistedValidationData), - Vec>, - > + 'static, - { - let worker = build_orchestrator_aura_worker::( - BuildOrchestratorAuraWorkerParams { - client: para_client, - block_import, - justification_sync_link: (), - proposer_factory, - sync_oracle, - force_authoring, - backoff_authoring_blocks, - keystore, - telemetry, - block_proposal_slot_portion, - max_block_proposal_slot_portion, - compatibility_mode: sc_consensus_aura::CompatibilityMode::None, - }, - ); - - Box::new(OrchestratorAuraConsensus { - create_inherent_data_providers: Arc::new(create_inherent_data_providers), - get_authorities_from_orchestrator: Arc::new(get_authorities_from_orchestrator), - aura_worker: Arc::new(Mutex::new(worker)), - slot_duration, - _phantom: PhantomData, - }) - } -} - -impl OrchestratorAuraConsensus -where - B: BlockT, - CIDP: CreateInherentDataProviders + 'static, - CIDP::InherentDataProviders: InherentDataProviderExt, - GOH: RetrieveAuthoritiesFromOrchestrator - + 'static, - W: TanssiSlotWorker + Send + Sync, -{ - /// Create the inherent data. - /// - /// Returns the created inherent data and the inherent data providers used. - async fn inherent_data( - &self, - parent: B::Hash, - validation_data: &PersistedValidationData, - relay_parent: PHash, - ) -> Option { - self.create_inherent_data_providers - .create_inherent_data_providers(parent, (relay_parent, validation_data.clone())) - .await - .map_err(|e| { - tracing::error!( - target: LOG_TARGET, - error = ?e, - "Failed to create inherent data providers.", - ) - }) - .ok() - } -} - -#[async_trait::async_trait] -impl ParachainConsensus for OrchestratorAuraConsensus -where - B: BlockT, - CIDP: CreateInherentDataProviders + Send + Sync + 'static, - CIDP::InherentDataProviders: InherentDataProviderExt + Send, - GOH: RetrieveAuthoritiesFromOrchestrator - + 'static, - W: TanssiSlotWorker + Send + Sync, - W::Proposer: Proposer::Proof>, -{ - async fn produce_candidate( - &mut self, - parent: &B::Header, - relay_parent: PHash, - validation_data: &PersistedValidationData, - ) -> Option> { - let inherent_data_providers = self - .inherent_data(parent.hash(), validation_data, relay_parent) - .await?; - - let header = self - .get_authorities_from_orchestrator - .retrieve_authorities_from_orchestrator( - parent.hash(), - (relay_parent, validation_data.clone()), - ) - .await - .map_err(|e| { - tracing::error!( - target: LOG_TARGET, - error = ?e, - "Failed to get orch head.", - ) - }) - .ok()?; - - let info = SlotInfo::new( - inherent_data_providers.slot(), - Box::new(inherent_data_providers), - self.slot_duration.as_duration(), - parent.clone(), - // Set the block limit to 50% of the maximum PoV size. - // - // TODO: If we got benchmarking that includes the proof size, - // we should be able to use the maximum pov size. - Some((validation_data.max_pov_size / 2) as usize), - ); - - let res = self - .aura_worker - .lock() - .await - .tanssi_on_slot(info, header) - .await?; - - Some(ParachainCandidate { - block: res.block, - proof: res.storage_proof, - }) - } -} - -#[allow(dead_code)] -struct OrchestratorAuraWorker { - client: Arc, - block_import: I, - env: E, - keystore: KeystorePtr, - sync_oracle: SO, - justification_sync_link: L, - force_authoring: bool, - backoff_authoring_blocks: Option, - block_proposal_slot_portion: SlotProportion, - max_block_proposal_slot_portion: Option, - telemetry: Option, - compatibility_mode: CompatibilityMode, - _key_type: PhantomData

, -} - -#[async_trait::async_trait] -impl sc_consensus_slots::SimpleSlotWorker - for OrchestratorAuraWorker> -where - B: BlockT, - C: ProvideRuntimeApi + BlockOf + HeaderBackend + Sync, - AuthorityId

: From<::Public>, - E: Environment + Send + Sync, - E::Proposer: Proposer, - I: BlockImport + Send + Sync + 'static, - P: Pair + Send + Sync, - P::Public: AppPublic + Public + Member + Encode + Decode + Hash, - P::Signature: TryFrom> + Member + Encode + Decode + Hash + Debug, - SO: SyncOracle + Send + Clone + Sync, - L: sc_consensus::JustificationSyncLink, - BS: BackoffAuthoringBlocksStrategy> + Send + Sync + 'static, - Error: std::error::Error + Send + From + 'static, -{ - type BlockImport = I; - type SyncOracle = SO; - type JustificationSyncLink = L; - type CreateProposer = - Pin> + Send + 'static>>; - type Proposer = E::Proposer; - type Claim = P::Public; - type AuxData = Vec>; - - fn logging_target(&self) -> &'static str { - "tanssi_aura" - } - - fn block_import(&mut self) -> &mut Self::BlockImport { - &mut self.block_import - } - - fn aux_data( - &self, - _header: &B::Header, - _slot: Slot, - ) -> Result { - Ok(Default::default()) - } - - fn authorities_len(&self, epoch_data: &Self::AuxData) -> Option { - Some(epoch_data.len()) - } - - async fn claim_slot( - &mut self, - _header: &B::Header, - slot: Slot, - epoch_data: &Self::AuxData, - ) -> Option { - let expected_author = slot_author::

(slot, epoch_data); - // if not running with force-authoring, just do the usual slot check - if !self.force_authoring { - expected_author.and_then(|p| { - if Keystore::has_keys(&*self.keystore, &[(p.to_raw_vec(), NIMBUS_KEY_ID)]) { - Some(p.clone()) - } else { - None - } - }) - } - // if running with force-authoring, as long as you are in the authority set, - // propose - else { - epoch_data - .iter() - .find(|key| { - Keystore::has_keys(&*self.keystore, &[(key.to_raw_vec(), NIMBUS_KEY_ID)]) - }) - .cloned() - } - } - - fn pre_digest_data(&self, slot: Slot, claim: &Self::Claim) -> Vec { - vec![ - >::aura_pre_digest(slot), - // We inject the nimbus digest as well. Crutial to be able to verify signatures - ::nimbus_pre_digest( - // TODO remove this unwrap through trait reqs - nimbus_primitives::NimbusId::from_slice(claim.as_ref()).unwrap(), - ), - ] - } - - async fn block_import_params( - &self, - header: B::Header, - header_hash: &B::Hash, - body: Vec, - storage_changes: StorageChanges, - public: Self::Claim, - _epoch: Self::AuxData, - ) -> Result, sp_consensus::Error> { - // sign the pre-sealed hash of the block and then - // add it to a digest item. - let signature = Keystore::sign_with( - &*self.keystore, - as AppCrypto>::ID, - as AppCrypto>::CRYPTO_ID, - public.as_slice(), - header_hash.as_ref(), - ) - .map_err(|e| sp_consensus::Error::CannotSign(format!("{}. Key: {:?}", e, public)))? - .ok_or_else(|| { - sp_consensus::Error::CannotSign(format!( - "Could not find key in keystore. Key: {:?}", - public - )) - })?; - let signature = signature - .clone() - .try_into() - .map_err(|_| sp_consensus::Error::InvalidSignature(signature, public.to_raw_vec()))?; - - let signature_digest_item = - ::nimbus_seal(signature); - - let mut import_block = BlockImportParams::new(BlockOrigin::Own, header); - import_block.post_digests.push(signature_digest_item); - import_block.body = Some(body); - import_block.state_action = - StateAction::ApplyChanges(sc_consensus::StorageChanges::Changes(storage_changes)); - import_block.fork_choice = Some(ForkChoiceStrategy::LongestChain); - - Ok(import_block) - } - - fn force_authoring(&self) -> bool { - self.force_authoring - } - - fn should_backoff(&self, slot: Slot, chain_head: &B::Header) -> bool { - if let Some(ref strategy) = self.backoff_authoring_blocks { - if let Ok(chain_head_slot) = find_pre_digest::(chain_head) { - return strategy.should_backoff( - *chain_head.number(), - chain_head_slot, - self.client.info().finalized_number, - slot, - self.logging_target(), - ); - } - } - false - } - - fn sync_oracle(&mut self) -> &mut Self::SyncOracle { - &mut self.sync_oracle - } - - fn justification_sync_link(&mut self) -> &mut Self::JustificationSyncLink { - &mut self.justification_sync_link - } - - fn proposer(&mut self, block: &B::Header) -> Self::CreateProposer { - self.env - .init(block) - .map_err(|e| sp_consensus::Error::ClientImport(format!("{:?}", e))) - .boxed() - } - - fn telemetry(&self) -> Option { - self.telemetry.clone() - } - - fn proposing_remaining_duration(&self, slot_info: &SlotInfo) -> std::time::Duration { - let parent_slot = find_pre_digest::(&slot_info.chain_head).ok(); - - sc_consensus_slots::proposing_remaining_duration( - parent_slot, - slot_info, - &self.block_proposal_slot_portion, - self.max_block_proposal_slot_portion.as_ref(), - sc_consensus_slots::SlotLenienceType::Exponential, - self.logging_target(), - ) - } -} - -/// Parameters of [`build_aura_worker`]. -pub struct BuildOrchestratorAuraWorkerParams { - /// The client to interact with the chain. - pub client: Arc, - /// The block import. - pub block_import: I, - /// The proposer factory to build proposer instances. - pub proposer_factory: PF, - /// The sync oracle that can give us the current sync status. - pub sync_oracle: SO, - /// Hook into the sync module to control the justification sync process. - pub justification_sync_link: L, - /// Should we force the authoring of blocks? - pub force_authoring: bool, - /// The backoff strategy when we miss slots. - pub backoff_authoring_blocks: Option, - /// The keystore used by the node. - pub keystore: KeystorePtr, - /// The proportion of the slot dedicated to proposing. - /// - /// The block proposing will be limited to this proportion of the slot from the starting of the - /// slot. However, the proposing can still take longer when there is some lenience factor - /// applied, because there were no blocks produced for some slots. - pub block_proposal_slot_portion: SlotProportion, - /// The maximum proportion of the slot dedicated to proposing with any lenience factor applied - /// due to no blocks being produced. - pub max_block_proposal_slot_portion: Option, - /// Telemetry instance used to report telemetry metrics. - pub telemetry: Option, - /// Compatibility mode that should be used. - /// - /// If in doubt, use `Default::default()`. - pub compatibility_mode: CompatibilityMode, -} - #[async_trait::async_trait] pub trait RetrieveAuthoritiesFromOrchestrator: Send + Sync { /// Create the inherent data providers at the given `parent` block using the given `extra_args`. @@ -603,6 +58,14 @@ where } } +pub struct OrchestratorAuraWorkerAuxData

+where + P: Pair + Send + Sync + 'static, +{ + pub authorities: Vec>, + pub min_slot_freq: Option, +} + #[async_trait::async_trait] pub trait TanssiSlotWorker: SimpleSlotWorker { /// Called when a new slot is triggered. @@ -616,186 +79,3 @@ pub trait TanssiSlotWorker: SimpleSlotWorker { aux_data: Self::AuxData, ) -> Option>::Proof>>; } - -#[async_trait::async_trait] -impl TanssiSlotWorker - for OrchestratorAuraWorker> -where - B: BlockT, - C: ProvideRuntimeApi + BlockOf + HeaderBackend + Sync, - AuthorityId

: From<::Public>, - E: Environment + Send + Sync, - E::Proposer: Proposer, - I: BlockImport + Send + Sync + 'static, - P: Pair + Send + Sync, - P::Public: AppPublic + Public + Member + Encode + Decode + Hash, - P::Signature: TryFrom> + Member + Encode + Decode + Hash + Debug, - SO: SyncOracle + Send + Clone + Sync, - L: sc_consensus::JustificationSyncLink, - BS: BackoffAuthoringBlocksStrategy> + Send + Sync + 'static, - Error: std::error::Error + Send + From + 'static, -{ - async fn tanssi_on_slot( - &mut self, - slot_info: SlotInfo, - aux_data: Self::AuxData, - ) -> Option>::Proof>> - where - Self: Sync, - { - let slot = slot_info.slot; - let telemetry = self.telemetry(); - let logging_target = self.logging_target(); - - let proposing_remaining_duration = self.proposing_remaining_duration(&slot_info); - - let end_proposing_at = if proposing_remaining_duration == Duration::default() { - debug!( - target: logging_target, - "Skipping proposal slot {} since there's no time left to propose", slot, - ); - - return None; - } else { - Instant::now() + proposing_remaining_duration - }; - - self.notify_slot(&slot_info.chain_head, slot, &aux_data); - - let authorities_len = self.authorities_len(&aux_data); - - if !self.force_authoring() - && self.sync_oracle().is_offline() - && authorities_len.map(|a| a > 1).unwrap_or(false) - { - debug!( - target: logging_target, - "Skipping proposal slot. Waiting for the network." - ); - telemetry!( - telemetry; - CONSENSUS_DEBUG; - "slots.skipping_proposal_slot"; - "authorities_len" => authorities_len, - ); - - return None; - } - - let claim = self - .claim_slot(&slot_info.chain_head, slot, &aux_data) - .await?; - - log::info!("claim valid for slot {:?}", slot); - - if self.should_backoff(slot, &slot_info.chain_head) { - return None; - } - - debug!( - target: logging_target, - "Starting authorship at slot: {slot}" - ); - - telemetry!(telemetry; CONSENSUS_DEBUG; "slots.starting_authorship"; "slot_num" => slot); - - let proposer = match self.proposer(&slot_info.chain_head).await { - Ok(p) => p, - Err(err) => { - warn!( - target: logging_target, - "Unable to author block in slot {slot:?}: {err}" - ); - - telemetry!( - telemetry; - CONSENSUS_WARN; - "slots.unable_authoring_block"; - "slot" => *slot, - "err" => ?err - ); - - return None; - } - }; - - let proposal = self - .propose(proposer, &claim, slot_info, end_proposing_at) - .await?; - - let (block, storage_proof) = (proposal.block, proposal.proof); - let (header, body) = block.deconstruct(); - let header_num = *header.number(); - let header_hash = header.hash(); - let parent_hash = *header.parent_hash(); - - let block_import_params = match self - .block_import_params( - header, - &header_hash, - body.clone(), - proposal.storage_changes, - claim, - aux_data, - ) - .await - { - Ok(bi) => bi, - Err(err) => { - warn!( - target: logging_target, - "Failed to create block import params: {}", err - ); - - return None; - } - }; - - info!( - target: logging_target, - "🔖 Pre-sealed block for proposal at {}. Hash now {:?}, previously {:?}.", - header_num, - block_import_params.post_hash(), - header_hash, - ); - - telemetry!( - telemetry; - CONSENSUS_INFO; - "slots.pre_sealed_block"; - "header_num" => ?header_num, - "hash_now" => ?block_import_params.post_hash(), - "hash_previously" => ?header_hash, - ); - - let header = block_import_params.post_header(); - match self.block_import().import_block(block_import_params).await { - Ok(res) => { - res.handle_justification( - &header.hash(), - *header.number(), - self.justification_sync_link(), - ); - } - Err(err) => { - warn!( - target: logging_target, - "Error with block built on {:?}: {}", parent_hash, err, - ); - - telemetry!( - telemetry; - CONSENSUS_WARN; - "slots.err_with_block_built_on"; - "hash" => ?parent_hash, - "err" => ?err, - ); - } - } - - Some(SlotResult { - block: B::new(header, body), - storage_proof, - }) - } -} diff --git a/client/consensus/src/lib.rs b/client/consensus/src/lib.rs index b074c486f..cd8257b32 100644 --- a/client/consensus/src/lib.rs +++ b/client/consensus/src/lib.rs @@ -22,15 +22,14 @@ use {sp_consensus_slots::Slot, sp_core::crypto::Pair}; +pub mod collators; mod consensus_orchestrator; mod manual_seal; #[cfg(test)] mod tests; -pub use { - consensus_orchestrator::{BuildOrchestratorAuraConsensusParams, OrchestratorAuraConsensus}, - sc_consensus_aura::CompatibilityMode, -}; +pub use crate::consensus_orchestrator::OrchestratorAuraWorkerAuxData; +pub use sc_consensus_aura::CompatibilityMode; pub use { cumulus_primitives_core::ParaId, @@ -38,7 +37,9 @@ pub use { get_aura_id_from_seed, ContainerManualSealAuraConsensusDataProvider, OrchestratorManualSealAuraConsensusDataProvider, }, + pallet_registrar_runtime_api::OnDemandBlockProductionApi, parity_scale_codec::{Decode, Encode}, + sc_consensus_aura::find_pre_digest, sc_consensus_aura::{slot_duration, AuraVerifier, BuildAuraWorkerParams, SlotProportion}, sc_consensus_slots::InherentDataProviderExt, sp_api::{Core, ProvideRuntimeApi}, @@ -105,6 +106,29 @@ where authorities } +/// Return the set of authorities assigned to the paraId where +/// the first eligible key from the keystore is collating +pub fn min_slot_freq(client: &C, parent_hash: &B::Hash, para_id: ParaId) -> Option +where + P: Pair + Send + Sync + 'static, + P::Public: AppPublic + Hash + Member + Encode + Decode, + P::Signature: TryFrom> + Hash + Member + Encode + Decode, + B: BlockT, + C: ProvideRuntimeApi, + C::Api: OnDemandBlockProductionApi, + AuthorityId

: From<::Public>, +{ + let runtime_api = client.runtime_api(); + + let min_slot_freq = runtime_api.min_slot_freq(*parent_hash, para_id).ok()?; + log::debug!( + "min_slot_freq for para {:?} is {:?}", + para_id, + min_slot_freq + ); + min_slot_freq +} + use nimbus_primitives::{NimbusId, NimbusPair, NIMBUS_KEY_ID}; /// Grab the first eligible nimbus key from the keystore /// If multiple keys are eligible this function still only returns one diff --git a/client/consensus/src/tests.rs b/client/consensus/src/tests.rs index 3b1101274..75fe18908 100644 --- a/client/consensus/src/tests.rs +++ b/client/consensus/src/tests.rs @@ -15,51 +15,61 @@ // along with Tanssi. If not, see . #![allow(clippy::await_holding_lock)] - // This tests have been greatly influenced by // https://github.com/paritytech/substrate/blob/master/client/consensus/aura/src/lib.rs#L832 // Most of the items hereby added are intended to make it work with our current consensus mechanism use { crate::{ - consensus_orchestrator::{ - build_orchestrator_aura_worker, BuildOrchestratorAuraWorkerParams, - }, - InherentDataProviderExt, LOG_TARGET, + collators::{tanssi_claim_slot, Collator, Params as CollatorParams}, + OrchestratorAuraWorkerAuxData, }, - cumulus_client_consensus_common::ParachainConsensus, - cumulus_primitives_core::PersistedValidationData, + async_trait::async_trait, + cumulus_client_collator::service::CollatorService, + cumulus_client_consensus_proposer::Proposer as ConsensusProposer, + cumulus_primitives_core::{relay_chain::BlockId, CollationInfo, CollectCollationInfo, ParaId}, + cumulus_relay_chain_interface::{ + CommittedCandidateReceipt, OverseerHandle, RelayChainInterface, RelayChainResult, + StorageValue, + }, + cumulus_test_relay_sproof_builder::RelayStateSproofBuilder, futures::prelude::*, - futures_timer::Delay, nimbus_primitives::{ CompatibleDigestItem, NimbusId, NimbusPair, NIMBUS_ENGINE_ID, NIMBUS_KEY_ID, }, + parity_scale_codec::Encode, parking_lot::Mutex, + polkadot_core_primitives::{Header as PHeader, InboundDownwardMessage, InboundHrmpMessage}, + polkadot_parachain_primitives::primitives::HeadData, + polkadot_primitives::{ + Hash as PHash, OccupiedCoreAssumption, PersistedValidationData, ValidatorId, + }, sc_block_builder::BlockBuilderBuilder, - sc_client_api::{BlockchainEvents, HeaderBackend}, + sc_client_api::HeaderBackend, sc_consensus::{BoxJustificationImport, ForkChoiceStrategy}, - sc_consensus_aura::SlotProportion, - sc_consensus_slots::{BackoffAuthoringOnFinalizedHeadLagging, SimpleSlotWorker, SlotInfo}, sc_keystore::LocalKeystore, - sc_network_test::{Block as TestBlock, *}, - sp_consensus::{ - BlockOrigin, EnableProofRecording, Environment, NoNetwork as DummyOracle, Proposal, - Proposer, SelectChain, SyncOracle, - }, - sp_consensus_aura::{inherents::InherentDataProvider, SlotDuration}, + sc_network_test::{Block as TestBlock, Header as TestHeader, *}, + sp_api::{ApiRef, ProvideRuntimeApi}, + sp_consensus::{EnableProofRecording, Environment, Proposal, Proposer}, + sp_consensus_aura::{inherents::InherentDataProvider, SlotDuration, AURA_ENGINE_ID}, sp_consensus_slots::Slot, sp_core::{ crypto::{ByteArray, Pair}, - H256, + traits::SpawnNamed, }, - sp_inherents::{CreateInherentDataProviders, InherentData}, + sp_inherents::InherentData, sp_keyring::sr25519::Keyring, - sp_keystore::Keystore, + sp_keystore::{Keystore, KeystorePtr}, sp_runtime::{ traits::{Block as BlockT, Header as _}, Digest, DigestItem, }, sp_timestamp::Timestamp, - std::{sync::Arc, task::Poll, time::Duration}, + std::{ + collections::{BTreeMap, BTreeSet}, + pin::Pin, + sync::Arc, + time::Duration, + }, substrate_test_runtime_client::TestClient, }; @@ -68,11 +78,11 @@ const SLOT_DURATION_MS: u64 = 1000; type Error = sp_blockchain::Error; +#[derive(Clone)] struct DummyFactory(Arc); // We are going to create API because we need this to test runtime apis // We use the client normally, but for testing certain runtime-api calls, // we basically mock the runtime-api calls -use sp_api::{ApiRef, ProvideRuntimeApi}; impl ProvideRuntimeApi for DummyFactory { type Api = MockApi; @@ -81,8 +91,6 @@ impl ProvideRuntimeApi for DummyFactory { } } -use cumulus_primitives_core::ParaId; - struct MockApi; // This is our MockAPi impl. We need these to test first_eligible_key @@ -108,6 +116,159 @@ sp_api::mock_impl_runtime_apis! { } } } + + impl CollectCollationInfo for MockApi { + fn collect_collation_info(_header: &::Header) -> CollationInfo { + CollationInfo { + upward_messages: Vec::new(), + horizontal_messages: Vec::new(), + new_validation_code: None, + processed_downward_messages: 0u32, + hrmp_watermark: 0u32, + head_data: HeadData(vec![1, 2, 3]) + } + } + + } +} + +#[derive(Clone)] +struct RelayChain(Arc); + +#[async_trait] +impl RelayChainInterface for RelayChain { + async fn validators(&self, _: PHash) -> RelayChainResult> { + unimplemented!("Not needed for test") + } + + async fn best_block_hash(&self) -> RelayChainResult { + unimplemented!("Not needed for test") + } + + async fn finalized_block_hash(&self) -> RelayChainResult { + unimplemented!("Not needed for test") + } + + async fn retrieve_dmq_contents( + &self, + _: ParaId, + _: PHash, + ) -> RelayChainResult> { + let downward_msg = InboundDownwardMessage { + sent_at: 10u32, + msg: vec![1u8, 2u8, 3u8], + }; + Ok(vec![downward_msg]) + } + + async fn retrieve_all_inbound_hrmp_channel_contents( + &self, + _: ParaId, + _: PHash, + ) -> RelayChainResult>> { + let mut tree = BTreeMap::new(); + let hrmp_msg = InboundHrmpMessage { + sent_at: 10u32, + data: vec![1u8, 2u8, 3u8], + }; + let para_id = ParaId::from(2000u32); + tree.insert(para_id, vec![hrmp_msg]); + Ok(tree) + } + + async fn persisted_validation_data( + &self, + _hash: PHash, + _: ParaId, + _assumption: OccupiedCoreAssumption, + ) -> RelayChainResult> { + unimplemented!("Not needed for test") + } + + async fn candidate_pending_availability( + &self, + _: PHash, + _: ParaId, + ) -> RelayChainResult> { + unimplemented!("Not needed for test") + } + + async fn session_index_for_child(&self, _: PHash) -> RelayChainResult { + Ok(0) + } + + async fn import_notification_stream( + &self, + ) -> RelayChainResult + Send>>> { + unimplemented!("Not needed for test") + } + + async fn finality_notification_stream( + &self, + ) -> RelayChainResult + Send>>> { + unimplemented!("Not needed for test") + } + + async fn is_major_syncing(&self) -> RelayChainResult { + Ok(false) + } + + fn overseer_handle(&self) -> RelayChainResult { + unimplemented!("Not needed for test") + } + + async fn get_storage_by_key( + &self, + _: PHash, + _: &[u8], + ) -> RelayChainResult> { + Ok(None) + } + + async fn prove_read( + &self, + _: PHash, + _: &Vec>, + ) -> RelayChainResult { + let mut tree = BTreeSet::new(); + tree.insert(vec![1u8, 2u8, 3u8]); + let proof = sc_client_api::StorageProof::new(tree); + Ok(proof) + } + + async fn wait_for_block(&self, _: PHash) -> RelayChainResult<()> { + Ok(()) + } + + async fn new_best_notification_stream( + &self, + ) -> RelayChainResult + Send>>> { + unimplemented!("Not needed for test") + } + + async fn header(&self, _block_id: BlockId) -> RelayChainResult> { + unimplemented!("Not needed for test") + } +} + +#[derive(Clone)] +struct DummySpawner(Arc); +impl SpawnNamed for DummySpawner { + fn spawn_blocking( + &self, + _name: &'static str, + _group: Option<&'static str>, + _future: futures::future::BoxFuture<'static, ()>, + ) { + } + + fn spawn( + &self, + _name: &'static str, + _group: Option<&'static str>, + _future: futures::future::BoxFuture<'static, ()>, + ) { + } } struct DummyProposer(u64, Arc); @@ -220,10 +381,12 @@ impl Proposer for DummyProposer { .build() .unwrap() .build(); + let (_relay_parent_storage_root, proof) = + RelayStateSproofBuilder::default().into_state_root_and_proof(); futures::future::ready(r.map(|b| Proposal { block: b.block, - proof: sc_client_api::StorageProof::empty(), + proof, storage_changes: b.storage_changes, })) } @@ -273,299 +436,60 @@ impl TestNetFactory for AuraTestNet { } } -/// A stream that returns every time there is a new slot. -/// TODO: this would not be necessary if Slots was public in Substrate -pub(crate) struct Slots { - last_slot: Slot, - slot_duration: Duration, - until_next_slot: Option, - create_inherent_data_providers: IDP, - select_chain: SC, - _phantom: std::marker::PhantomData, -} - -impl Slots { - /// Create a new `Slots` stream. - pub fn new( - slot_duration: Duration, - create_inherent_data_providers: IDP, - select_chain: SC, - ) -> Self { - Slots { - last_slot: 0.into(), - slot_duration, - until_next_slot: None, - create_inherent_data_providers, - select_chain, - _phantom: Default::default(), - } - } -} - -impl Slots -where - Block: BlockT, - SC: SelectChain, - IDP: CreateInherentDataProviders + 'static, - IDP::InherentDataProviders: crate::InherentDataProviderExt, -{ - /// Returns a future that fires when the next slot starts. - pub async fn next_slot(&mut self) -> SlotInfo { - loop { - // Wait for slot timeout - self.until_next_slot - .take() - .unwrap_or_else(|| { - // Schedule first timeout. - let wait_dur = time_until_next_slot(self.slot_duration); - Delay::new(wait_dur) - }) - .await; - - // Schedule delay for next slot. - let wait_dur = time_until_next_slot(self.slot_duration); - self.until_next_slot = Some(Delay::new(wait_dur)); - - let chain_head = match self.select_chain.best_chain().await { - Ok(x) => x, - Err(e) => { - log::warn!( - target: LOG_TARGET, - "Unable to author block in slot. No best block header: {}", - e, - ); - // Let's retry at the next slot. - continue; - } - }; - - let inherent_data_providers = match self - .create_inherent_data_providers - .create_inherent_data_providers(chain_head.hash(), ()) - .await - { - Ok(x) => x, - Err(e) => { - log::warn!( - target: LOG_TARGET, - "Unable to author block in slot. Failure creating inherent data provider: {}", - e, - ); - // Let's retry at the next slot. - continue; - } - }; - - let slot = inherent_data_providers.slot(); - - // Never yield the same slot twice. - if slot > self.last_slot { - self.last_slot = slot; - - break SlotInfo::new( - slot, - Box::new(inherent_data_providers), - self.slot_duration, - chain_head, - None, - ); - } - } - } -} -/// Returns current duration since unix epoch. -pub fn duration_now() -> Duration { - use std::time::SystemTime; - let now = SystemTime::now(); - now.duration_since(SystemTime::UNIX_EPOCH) - .unwrap_or_else(|e| { - panic!( - "Current time {:?} is before unix epoch. Something is wrong: {:?}", - now, e - ) - }) -} - -/// Returns the duration until the next slot from now. -pub fn time_until_next_slot(slot_duration: Duration) -> Duration { - let now = duration_now().as_millis(); - - let next_slot = (now + slot_duration.as_millis()) / slot_duration.as_millis(); - let remaining_millis = next_slot * slot_duration.as_millis() - now; - Duration::from_millis(remaining_millis as u64) -} - -/// Start a new slot worker. -/// -/// Every time a new slot is triggered, `parachain_block_producer.produce_candidate` -/// is called and the future it returns is -/// polled until completion, unless we are major syncing. -pub async fn start_orchestrator_aura_consensus_candidate_producer( - slot_duration: SlotDuration, - client: C, - mut parachain_block_producer: Box>, - sync_oracle: SO, - create_inherent_data_providers: CIDP, -) where - B: BlockT, - C: SelectChain, - SO: SyncOracle + Send, - CIDP: CreateInherentDataProviders + Send + 'static, - CIDP::InherentDataProviders: InherentDataProviderExt + Send, -{ - let mut slots = Slots::new( - slot_duration.as_duration(), - create_inherent_data_providers, - client, - ); - - loop { - let slot_info = slots.next_slot().await; - - if sync_oracle.is_major_syncing() { - continue; - } - - let _ = parachain_block_producer - .produce_candidate( - &slot_info.chain_head, - Default::default(), - &Default::default(), - ) - .await; - } -} - -// After all this boiler plate, tests start +// Checks node slot claim. Again for different slots, different authorities +// should be able to claim #[tokio::test] -async fn authoring_blocks_but_producing_candidates_instead_of_calling_on_slot() { - let net = AuraTestNet::new(3); - - let peers = &[ - (0, Keyring::Alice), - (1, Keyring::Bob), - (2, Keyring::Charlie), +async fn current_node_authority_should_claim_slot() { + let mut authorities: Vec = vec![ + Keyring::Alice.public().into(), + Keyring::Bob.public().into(), + Keyring::Charlie.public().into(), ]; - let net = Arc::new(Mutex::new(net)); - let mut import_notifications = Vec::new(); - let mut aura_futures = Vec::new(); - - let mut keystore_paths = Vec::new(); - - // For each peer, we start an instance of the orchestratorAuraConsensus - // Only one of those peers will be able to author in each slot - // The tests finishes when we see a block lower than block 5 that has - // not being authored by us - for (peer_id, key) in peers { - let mut net = net.lock(); - let peer = net.peer(*peer_id); - let client = peer.client().as_client(); - let select_chain = peer.select_chain().expect("full client has a select chain"); - let keystore_path = tempfile::tempdir().expect("Creates keystore path"); - let keystore = - Arc::new(LocalKeystore::open(keystore_path.path(), None).expect("Creates keystore.")); - - keystore - .sr25519_generate_new(NIMBUS_KEY_ID, Some(&key.to_seed())) - .expect("Creates authority key"); - keystore_paths.push(keystore_path); - - let environ = DummyFactory(client.clone()); - import_notifications.push( - client - .import_notification_stream() - .take_while(|n| { - future::ready(n.origin == BlockOrigin::Own || n.header.number() >= &5) - }) - .for_each(move |_| futures::future::ready(())), - ); - - let create_inherent_data_providers = |_, _| async { - let slot = InherentDataProvider::from_timestamp_and_slot_duration( - Timestamp::current(), - SlotDuration::from_millis(SLOT_DURATION_MS), - ); + let keystore_path = tempfile::tempdir().expect("Creates keystore path"); + let keystore = LocalKeystore::open(keystore_path.path(), None).expect("Creates keystore."); - Ok((slot,)) - }; + let public = keystore + .sr25519_generate_new(NIMBUS_KEY_ID, None) + .expect("Key should be created"); + authorities.push(public.into()); - let sync_oracle = DummyOracle; - let slot_duration = SlotDuration::from_millis(SLOT_DURATION_MS); + let keystore_ptr: KeystorePtr = keystore.into(); + let mut claimed_slots = vec![]; - let params = crate::BuildOrchestratorAuraConsensusParams { - proposer_factory: environ, - create_inherent_data_providers: |_, _| async { - let slot = InherentDataProvider::from_timestamp_and_slot_duration( - Timestamp::current(), - SlotDuration::from_millis(SLOT_DURATION_MS), - ); - - Ok((slot,)) - }, - get_authorities_from_orchestrator: move |_block_hash: ::Hash, - (_relay_parent, _validation_data): ( - H256, - PersistedValidationData, - )| { - async move { - let aux_data = vec![ - (Keyring::Alice).public().into(), - (Keyring::Bob).public().into(), - (Keyring::Charlie).public().into(), - ]; - Ok(aux_data) - } - }, - block_import: client.clone(), - para_client: client, - sync_oracle: DummyOracle, - keystore, - force_authoring: false, - backoff_authoring_blocks: Some(BackoffAuthoringOnFinalizedHeadLagging::default()), - slot_duration: SlotDuration::from_millis(SLOT_DURATION_MS), - // We got around 500ms for proposing - block_proposal_slot_portion: SlotProportion::new(0.5), - max_block_proposal_slot_portion: None, - telemetry: None, + for slot in 0..8 { + let dummy_head = TestHeader { + parent_hash: Default::default(), + number: Default::default(), + state_root: Default::default(), + extrinsics_root: Default::default(), + digest: Default::default(), + }; + let aux_data = OrchestratorAuraWorkerAuxData { + authorities: authorities.clone(), + min_slot_freq: None, }; + let claim = tanssi_claim_slot::( + aux_data, + &dummy_head, + slot.into(), + false, + &keystore_ptr, + ) + .unwrap(); + if claim.is_some() { + claimed_slots.push(slot); + } + } - let parachain_block_producer = - crate::OrchestratorAuraConsensus::build::(params); - - aura_futures.push(start_orchestrator_aura_consensus_candidate_producer( - slot_duration, - select_chain, - parachain_block_producer, - sync_oracle, - create_inherent_data_providers, - )); - } - - future::select( - future::poll_fn(move |cx| { - net.lock().poll(cx); - Poll::<()>::Pending - }), - future::select( - future::join_all(aura_futures), - future::join_all(import_notifications), - ), - ) - .await; + assert_eq!(claimed_slots, vec![3, 7]); } -// Checks node slot claim. Again for different slots, different authorities -// should be able to claim #[tokio::test] -async fn current_node_authority_should_claim_slot() { - let net = AuraTestNet::new(4); - - let mut authorities: Vec = vec![ - Keyring::Alice.public().into(), - Keyring::Bob.public().into(), - Keyring::Charlie.public().into(), - ]; +async fn claim_slot_respects_min_slot_freq() { + // There is only 1 authority, but it can only claim every 4 slots + let mut authorities: Vec = vec![]; + let min_slot_freq = 4; let keystore_path = tempfile::tempdir().expect("Creates keystore path"); let keystore = LocalKeystore::open(keystore_path.path(), None).expect("Creates keystore."); @@ -575,131 +499,155 @@ async fn current_node_authority_should_claim_slot() { .expect("Key should be created"); authorities.push(public.into()); - let net = Arc::new(Mutex::new(net)); + let keystore_ptr: KeystorePtr = keystore.into(); - let mut net = net.lock(); - let peer = net.peer(3); - let client = peer.client().as_client(); - let environ = DummyFactory(client.clone()); + let mut claimed_slots = vec![]; - let mut worker = - build_orchestrator_aura_worker::( - BuildOrchestratorAuraWorkerParams { - client: client.clone(), - block_import: client, - proposer_factory: environ, - keystore: keystore.into(), - sync_oracle: DummyOracle, - justification_sync_link: (), - force_authoring: false, - backoff_authoring_blocks: Some(BackoffAuthoringOnFinalizedHeadLagging::default()), - telemetry: None, - block_proposal_slot_portion: SlotProportion::new(0.5), - max_block_proposal_slot_portion: None, - compatibility_mode: Default::default(), - }, - ); + for slot in 0..10 { + let parent_slot: u64 = claimed_slots.last().copied().unwrap_or_default(); + let parent_slot: Slot = parent_slot.into(); + let pre_digest = Digest { + logs: vec![ + DigestItem::PreRuntime(AURA_ENGINE_ID, parent_slot.encode()), + //DigestItem::PreRuntime(NIMBUS_ENGINE_ID, authority.encode()), + ], + }; + let head = TestHeader { + parent_hash: Default::default(), + // If we use number=0 aura ignores the digest + number: claimed_slots.len() as u64, + state_root: Default::default(), + extrinsics_root: Default::default(), + digest: pre_digest, + }; + let aux_data = OrchestratorAuraWorkerAuxData { + authorities: authorities.clone(), + min_slot_freq: Some(min_slot_freq.into()), + }; + let claim = tanssi_claim_slot::( + aux_data, + &head, + slot.into(), + false, + &keystore_ptr, + ) + .unwrap(); + if claim.is_some() { + claimed_slots.push(slot); + } + } - let head = Header::new( - 1, - H256::from_low_u64_be(0), - H256::from_low_u64_be(0), - Default::default(), - Default::default(), - ); - assert!(worker - .claim_slot(&head, 0.into(), &authorities) - .await - .is_none()); - assert!(worker - .claim_slot(&head, 1.into(), &authorities) - .await - .is_none()); - assert!(worker - .claim_slot(&head, 2.into(), &authorities) - .await - .is_none()); - assert!(worker - .claim_slot(&head, 3.into(), &authorities) - .await - .is_some()); - assert!(worker - .claim_slot(&head, 4.into(), &authorities) - .await - .is_none()); - assert!(worker - .claim_slot(&head, 5.into(), &authorities) - .await - .is_none()); - assert!(worker - .claim_slot(&head, 6.into(), &authorities) - .await - .is_none()); - assert!(worker - .claim_slot(&head, 7.into(), &authorities) - .await - .is_some()); + assert_eq!(claimed_slots, vec![0, 4, 8]); } #[tokio::test] -async fn on_slot_returns_correct_block() { +async fn collate_returns_correct_block() { let net = AuraTestNet::new(4); let keystore_path = tempfile::tempdir().expect("Creates keystore path"); let keystore = LocalKeystore::open(keystore_path.path(), None).expect("Creates keystore."); - keystore + let alice_public = keystore .sr25519_generate_new(NIMBUS_KEY_ID, Some(&Keyring::Alice.to_seed())) .expect("Key should be created"); + // Copy of the keystore needed for tanssi_claim_slot() + let keystore_copy = LocalKeystore::open(keystore_path.path(), None).expect("Copies keystore."); + keystore_copy + .sr25519_generate_new(NIMBUS_KEY_ID, Some(&Keyring::Alice.to_seed())) + .expect("Key should be copied"); + let net = Arc::new(Mutex::new(net)); let mut net = net.lock(); let peer = net.peer(3); let client = peer.client().as_client(); let environ = DummyFactory(client.clone()); + let spawner = DummySpawner(client.clone()); + let relay_client = RelayChain(client.clone()); - let mut worker = - build_orchestrator_aura_worker::( - BuildOrchestratorAuraWorkerParams { - client: client.clone(), - block_import: client.clone(), - proposer_factory: environ, - keystore: keystore.into(), - sync_oracle: DummyOracle, - justification_sync_link: (), - force_authoring: false, - backoff_authoring_blocks: Some(BackoffAuthoringOnFinalizedHeadLagging::default()), - telemetry: None, - block_proposal_slot_portion: SlotProportion::new(0.5), - max_block_proposal_slot_portion: None, - compatibility_mode: Default::default(), - }, - ); + // Build the collator + let mut collator = { + let params = CollatorParams { + create_inherent_data_providers: |_, _| async { + let slot = InherentDataProvider::from_timestamp_and_slot_duration( + Timestamp::current(), + SlotDuration::from_millis(SLOT_DURATION_MS), + ); - let head = client.expect_header(client.info().genesis_hash).unwrap(); - - use crate::consensus_orchestrator::TanssiSlotWorker; - let res = worker - .tanssi_on_slot( - SlotInfo { - slot: 0.into(), - ends_at: std::time::Instant::now() + Duration::from_secs(100), - create_inherent_data: Box::new(()), - duration: Duration::from_millis(1000), - chain_head: head, - block_size_limit: None, + Ok((slot,)) }, - vec![ - (Keyring::Alice).public().into(), - (Keyring::Bob).public().into(), - (Keyring::Charlie).public().into(), - ], + block_import: client.clone(), + relay_client: relay_client.clone(), + keystore: keystore.into(), + para_id: 1000.into(), + proposer: ConsensusProposer::new(environ.clone()), + collator_service: CollatorService::new( + client.clone(), + Arc::new(spawner), + Arc::new(move |_, _| {}), + Arc::new(environ), + ), + }; + + Collator::::new(params) + }; + + let mut head = client.expect_header(client.info().genesis_hash).unwrap(); + + // Modify the state root of the genesis header for it to match + // the one inside propose() function + let (relay_parent_storage_root, _proof) = + RelayStateSproofBuilder::default().into_state_root_and_proof(); + head.state_root = relay_parent_storage_root; + + // First we create inherent data + let (parachain_inherent_data, other_inherent_data) = collator + .create_inherent_data( + Default::default(), + &Default::default(), + head.clone().hash(), + None, ) .await .unwrap(); + // Params for tanssi_claim_slot() + let slot = InherentDataProvider::from_timestamp_and_slot_duration( + Timestamp::current(), + SlotDuration::from_millis(SLOT_DURATION_MS), + ); + let keystore_ptr: KeystorePtr = keystore_copy.into(); + + let mut claim = tanssi_claim_slot::( + OrchestratorAuraWorkerAuxData { + authorities: vec![alice_public.into()], + min_slot_freq: None, + }, + &head, + *slot, + false, + &keystore_ptr, + ) + .unwrap() + .unwrap(); + + // At the end we call collate() function + let res = collator + .collate( + &head, + &mut claim, + None, + (parachain_inherent_data, other_inherent_data), + Duration::from_millis(500), + 3_500_000usize, + ) + .await + .unwrap() + .unwrap() + .1; + // The returned block should be imported and we should be able to get its header by now. - assert!(client.header(res.block.hash()).unwrap().is_some()); + assert!(client.header(res.header().hash()).unwrap().is_some()); } // Tests authorities are correctly returned and eligibility is correctly calculated @@ -712,7 +660,7 @@ async fn authorities_runtime_api_tests() { let mut net = net.lock(); let peer = net.peer(3); let client = peer.client().as_client(); - let environ = DummyFactory(client.clone()); + let environ = DummyFactory(client); let default_hash = Default::default(); diff --git a/client/node-common/Cargo.toml b/client/node-common/Cargo.toml index 1da6af0cc..409cb8ad2 100644 --- a/client/node-common/Cargo.toml +++ b/client/node-common/Cargo.toml @@ -34,6 +34,7 @@ sc-cli = { workspace = true } sc-client-api = { workspace = true } sc-consensus = { workspace = true } sc-consensus-manual-seal = { workspace = true } +sc-consensus-slots = { workspace = true } sc-executor = { workspace = true } sc-network = { workspace = true } sc-network-common = { workspace = true } @@ -49,6 +50,7 @@ sc-transaction-pool = { workspace = true } sc-transaction-pool-api = { workspace = true } sc-utils = { workspace = true } sp-api = { workspace = true, features = [ "std" ] } +sp-application-crypto = { workspace = true, features = [ "full_crypto", "std" ] } sp-block-builder = { workspace = true } sp-blockchain = { workspace = true } sp-consensus = { workspace = true } @@ -77,6 +79,7 @@ cumulus-client-cli = { workspace = true } cumulus-client-collator = { workspace = true } cumulus-client-consensus-aura = { workspace = true } cumulus-client-consensus-common = { workspace = true } +cumulus-client-consensus-proposer = { workspace = true } cumulus-client-network = { workspace = true } cumulus-client-service = { workspace = true } cumulus-primitives-core = { workspace = true } diff --git a/container-chains/templates/frontier/node/src/chain_spec.rs b/container-chains/templates/frontier/node/src/chain_spec.rs index 3e76b7cc0..d8a3e9193 100644 --- a/container-chains/templates/frontier/node/src/chain_spec.rs +++ b/container-chains/templates/frontier/node/src/chain_spec.rs @@ -187,7 +187,6 @@ fn testnet_genesis( ..Default::default() }, ethereum: Default::default(), - dynamic_fee: Default::default(), base_fee: Default::default(), transaction_payment: Default::default(), sudo: container_chain_template_frontier_runtime::SudoConfig { diff --git a/container-chains/templates/frontier/runtime/Cargo.toml b/container-chains/templates/frontier/runtime/Cargo.toml index d51766ecf..0de7f687a 100644 --- a/container-chains/templates/frontier/runtime/Cargo.toml +++ b/container-chains/templates/frontier/runtime/Cargo.toml @@ -95,7 +95,6 @@ fp-evm = { workspace = true, features = [ "serde" ] } fp-rpc = { workspace = true } fp-self-contained = { workspace = true, features = [ "serde" ] } pallet-base-fee = { workspace = true } -pallet-dynamic-fee = { workspace = true } pallet-ethereum = { workspace = true } pallet-evm = { workspace = true } pallet-evm-chain-id = { workspace = true } @@ -143,7 +142,6 @@ std = [ "pallet-balances/std", "pallet-base-fee/std", "pallet-cc-authorities-noting/std", - "pallet-dynamic-fee/std", "pallet-ethereum/std", "pallet-ethereum/std", "pallet-evm-chain-id/std", @@ -254,7 +252,6 @@ try-runtime = [ "pallet-balances/try-runtime", "pallet-base-fee/try-runtime", "pallet-cc-authorities-noting/try-runtime", - "pallet-dynamic-fee/try-runtime", "pallet-ethereum/try-runtime", "pallet-evm-chain-id/try-runtime", "pallet-evm/try-runtime", diff --git a/container-chains/templates/frontier/runtime/src/lib.rs b/container-chains/templates/frontier/runtime/src/lib.rs index 8654e3ac8..0196cd3f0 100644 --- a/container-chains/templates/frontier/runtime/src/lib.rs +++ b/container-chains/templates/frontier/runtime/src/lib.rs @@ -793,10 +793,6 @@ parameter_types! { pub BoundDivision: U256 = U256::from(1024); } -impl pallet_dynamic_fee::Config for Runtime { - type MinGasPriceBoundDivisor = BoundDivision; -} - parameter_types! { pub DefaultBaseFeePerGas: U256 = U256::from(2_000_000_000); pub DefaultElasticity: Permill = Permill::from_parts(125_000); @@ -876,7 +872,6 @@ construct_runtime!( Ethereum: pallet_ethereum = 60, EVM: pallet_evm = 61, EVMChainId: pallet_evm_chain_id = 62, - DynamicFee: pallet_dynamic_fee = 63, BaseFee: pallet_base_fee = 64, HotfixSufficients: pallet_hotfix_sufficients = 65, TransactionPayment: pallet_transaction_payment = 66, @@ -1058,14 +1053,14 @@ impl_runtime_apis! { } impl sp_genesis_builder::GenesisBuilder for Runtime { - fn create_default_config() -> Vec { - create_default_config::() - } - - fn build_config(config: Vec) -> sp_genesis_builder::Result { - build_config::(config) - } - } + fn create_default_config() -> Vec { + create_default_config::() + } + + fn build_config(config: Vec) -> sp_genesis_builder::Result { + build_config::(config) + } + } #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { diff --git a/container-chains/templates/simple/runtime/src/lib.rs b/container-chains/templates/simple/runtime/src/lib.rs index 5908eafe9..9d3fd0f08 100644 --- a/container-chains/templates/simple/runtime/src/lib.rs +++ b/container-chains/templates/simple/runtime/src/lib.rs @@ -773,14 +773,14 @@ impl_runtime_apis! { } impl sp_genesis_builder::GenesisBuilder for Runtime { - fn create_default_config() -> Vec { - create_default_config::() - } - - fn build_config(config: Vec) -> sp_genesis_builder::Result { - build_config::(config) - } - } + fn create_default_config() -> Vec { + create_default_config::() + } + + fn build_config(config: Vec) -> sp_genesis_builder::Result { + build_config::(config) + } + } #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { diff --git a/node/Cargo.toml b/node/Cargo.toml index b4d063b7a..8891e7a8a 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -95,6 +95,7 @@ cumulus-client-cli = { workspace = true } cumulus-client-collator = { workspace = true } cumulus-client-consensus-aura = { workspace = true } cumulus-client-consensus-common = { workspace = true } +cumulus-client-consensus-proposer = { workspace = true } cumulus-client-network = { workspace = true } cumulus-client-pov-recovery = { workspace = true } cumulus-client-service = { workspace = true } diff --git a/node/src/chain_spec/dancebox.rs b/node/src/chain_spec/dancebox.rs index 7ff86bdaa..7721d21e8 100644 --- a/node/src/chain_spec/dancebox.rs +++ b/node/src/chain_spec/dancebox.rs @@ -269,6 +269,7 @@ fn testnet_genesis( polkadot_xcm: PolkadotXcmConfig::default(), transaction_payment: Default::default(), tx_pause: Default::default(), + treasury: Default::default(), }; serde_json::to_value(&g).unwrap() diff --git a/node/src/chain_spec/flashbox.rs b/node/src/chain_spec/flashbox.rs index 18d5c0d03..2afb1b746 100644 --- a/node/src/chain_spec/flashbox.rs +++ b/node/src/chain_spec/flashbox.rs @@ -267,6 +267,7 @@ fn testnet_genesis( }, transaction_payment: Default::default(), tx_pause: Default::default(), + treasury: Default::default(), }; serde_json::to_value(&g).unwrap() diff --git a/node/src/container_chain_spawner.rs b/node/src/container_chain_spawner.rs index cee5fdc8e..523c46735 100644 --- a/node/src/container_chain_spawner.rs +++ b/node/src/container_chain_spawner.rs @@ -92,10 +92,6 @@ pub struct ContainerChainSpawnerState { } pub struct ContainerChainState { - /// Async callback that enables collation on this container chain - // We don't use it since we are always restarting container chains - #[allow(unused)] - collate_on: Arc Pin + Send>> + Send + Sync>, /// Handle that stops the container chain when dropped stop_handle: StopContainerChain, } @@ -291,35 +287,22 @@ impl ContainerChainSpawner { container_chain_cli_config.database.set_path(&db_path); // Start container chain node - let ( - mut container_chain_task_manager, - container_chain_client, - container_chain_db, - collate_on, - ) = start_node_impl_container( - container_chain_cli_config, - orchestrator_client.clone(), - relay_chain_interface.clone(), - orchestrator_chain_interface.clone(), - collator_key.clone(), - sync_keystore.clone(), - container_chain_para_id, - orchestrator_para_id, - validator, - ) - .await?; + let (mut container_chain_task_manager, container_chain_client, container_chain_db) = + start_node_impl_container( + container_chain_cli_config, + orchestrator_client.clone(), + relay_chain_interface.clone(), + orchestrator_chain_interface.clone(), + collator_key.clone(), + sync_keystore.clone(), + container_chain_para_id, + orchestrator_para_id, + validator && start_collation, + ) + .await?; // Signal that allows to gracefully stop a container chain let (signal, on_exit) = oneshot::channel::(); - let collate_on = collate_on.unwrap_or_else(|| { - assert!( - !validator, - "collate_on should be Some if validator flag is true" - ); - - // When running a full node we don't need to send any collate_on messages, so make this a noop - Arc::new(move || Box::pin(std::future::ready(()))) - }); let monitor_id; { @@ -339,7 +322,6 @@ impl ContainerChainSpawner { state.spawned_container_chains.insert( container_chain_para_id, ContainerChainState { - collate_on: collate_on.clone(), stop_handle: StopContainerChain { signal, id: monitor_id, @@ -348,10 +330,6 @@ impl ContainerChainSpawner { ); } - if start_collation { - collate_on().await; - } - // Add the container chain task manager as a child task to the parent task manager. // We want to stop the node if this task manager stops, but we also want to allow a // graceful shutdown using the `on_exit` future. @@ -833,7 +811,6 @@ mod tests { .insert( container_chain_para_id, ContainerChainState { - collate_on: collate_on.clone(), stop_handle: StopContainerChain { signal, id: 0 }, }, ); diff --git a/node/src/service.rs b/node/src/service.rs index 0dff6573c..7d50b8f1e 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -23,24 +23,28 @@ use { container_chain_spawner::{CcSpawnMsg, ContainerChainSpawner}, }, cumulus_client_cli::CollatorOptions, - cumulus_client_consensus_aura::SlotProportion, + cumulus_client_collator::service::CollatorService, cumulus_client_consensus_common::{ ParachainBlockImport as TParachainBlockImport, ParachainBlockImportMarker, - ParachainConsensus, }, + cumulus_client_consensus_proposer::Proposer, cumulus_client_parachain_inherent::{MockValidationDataInherentDataProvider, MockXcmConfig}, - cumulus_client_pov_recovery::{PoVRecovery, RecoveryDelayRange}, - cumulus_client_service::prepare_node_config, + cumulus_client_service::{ + prepare_node_config, start_relay_chain_tasks, DARecoveryProfile, StartRelayChainTasksParams, + }, cumulus_primitives_core::{ relay_chain::{well_known_keys as RelayWellKnownKeys, CollatorPair, Hash as PHash}, ParaId, }, - cumulus_relay_chain_interface::RelayChainInterface, - dancebox_runtime::{opaque::Block, RuntimeApi}, + cumulus_relay_chain_interface::{OverseerHandle, RelayChainInterface}, + dancebox_runtime::{ + opaque::{Block, Hash}, + RuntimeApi, + }, dc_orchestrator_chain_interface::{ OrchestratorChainError, OrchestratorChainInterface, OrchestratorChainResult, }, - futures::{channel::mpsc, StreamExt}, + futures::StreamExt, nimbus_primitives::NimbusPair, node_common::service::NodeBuilderConfig, node_common::service::{ManualSealConfiguration, NodeBuilder, Sealing}, @@ -52,12 +56,12 @@ use { sc_client_api::{ AuxStore, Backend as BackendT, BlockchainEvents, HeaderBackend, UsageProvider, }, - sc_consensus::BasicQueue, sc_consensus::BlockImport, + sc_consensus::{BasicQueue, ImportQueue}, sc_executor::NativeElseWasmExecutor, sc_network::NetworkBlock, sc_network_sync::SyncingService, - sc_service::{Configuration, TFullBackend, TFullClient, TaskManager}, + sc_service::{Configuration, SpawnTaskHandle, TFullBackend, TFullClient, TaskManager}, sc_telemetry::TelemetryHandle, sp_api::StorageProof, sp_consensus::SyncOracle, @@ -65,9 +69,12 @@ use { sp_core::{traits::SpawnEssentialNamed, H256}, sp_keystore::KeystorePtr, sp_state_machine::{Backend as StateBackend, StorageValue}, - std::{future::Future, pin::Pin, sync::Arc, time::Duration}, + std::{sync::Arc, time::Duration}, substrate_prometheus_endpoint::Registry, - tc_consensus::{BuildOrchestratorAuraConsensusParams, OrchestratorAuraConsensus}, + tc_consensus::{ + collators::basic::{self as basic_tanssi_aura, Params as BasicTanssiAuraParams}, + OrchestratorAuraWorkerAuxData, + }, tokio::sync::mpsc::{unbounded_channel, UnboundedSender}, }; @@ -302,7 +309,31 @@ async fn start_node_impl( let sync_keystore = node_builder.keystore_container.keystore(); let mut collate_on_tanssi = None; - let node_builder = if validator { + let announce_block = { + let sync_service = node_builder.network.sync_service.clone(); + Arc::new(move |hash, data| sync_service.announce_block(hash, data)) + }; + + let (mut node_builder, import_queue_service) = node_builder.extract_import_queue_service(); + + start_relay_chain_tasks(StartRelayChainTasksParams { + client: node_builder.client.clone(), + announce_block: announce_block.clone(), + para_id, + relay_chain_interface: relay_chain_interface.clone(), + task_manager: &mut node_builder.task_manager, + da_recovery_profile: if validator { + DARecoveryProfile::Collator + } else { + DARecoveryProfile::FullNode + }, + import_queue: import_queue_service, + relay_chain_slot_duration, + recovery_handle: Box::new(overseer_handle.clone()), + sync_service: node_builder.network.sync_service.clone(), + })?; + + if validator { let collator_key = collator_key .clone() .expect("Command line arguments do not allow this. qed"); @@ -319,49 +350,38 @@ async fn start_node_impl( ); } - let parachain_consensus = build_consensus_orchestrator( - node_builder.client.clone(), - block_import, - node_builder.prometheus_registry.as_ref(), - node_builder.telemetry.as_ref().map(|t| t.handle()), - &node_builder.task_manager, - relay_chain_interface.clone(), - node_builder.transaction_pool.clone(), - node_builder.network.sync_service.clone(), - node_builder.keystore_container.keystore(), - force_authoring, - para_id, - )?; + // Params for collate_on_tanssi closure + let node_spawn_handle = node_builder.task_manager.spawn_handle().clone(); + let node_keystore = node_builder.keystore_container.keystore().clone(); + let node_telemetry_handle = node_builder.telemetry.as_ref().map(|t| t.handle()).clone(); + let node_client = node_builder.client.clone(); + let relay_interface = relay_chain_interface.clone(); + let node_sync_service = node_builder.network.sync_service.clone(); + let overseer = overseer_handle.clone(); - let params_generator = node_builder.cumulus_client_collator_params_generator( - para_id, - overseer_handle.clone(), - collator_key.clone(), - parachain_consensus.clone(), - ); - - // TODO: change for async backing collate_on_tanssi = Some(move || async move { - #[allow(deprecated)] - cumulus_client_collator::start_collator(params_generator()).await; + start_consensus_orchestrator( + node_client, + block_import.clone(), + node_builder.prometheus_registry.clone(), + node_telemetry_handle, + node_spawn_handle, + relay_interface, + node_builder.transaction_pool.clone(), + node_sync_service, + node_keystore, + force_authoring, + relay_chain_slot_duration, + para_id, + collator_key.clone(), + overseer, + announce_block.clone(), + ); }); - node_builder - .start_collator( - para_id, - relay_chain_interface.clone(), - relay_chain_slot_duration, - parachain_consensus, - collator_key, - ) - .await? - } else { - node_builder.start_full_node( - para_id, - relay_chain_interface.clone(), - relay_chain_slot_duration, - )? - }; + let call = collate_on_tanssi.clone().unwrap(); + call().await; + } node_builder.network.start_network.start_network(); @@ -447,18 +467,14 @@ pub async fn start_node_impl_container( para_id: ParaId, orchestrator_para_id: ParaId, collator: bool, -) -> sc_service::error::Result<( - TaskManager, - Arc, - Arc, - Option Pin + Send>> + Send + Sync>>, -)> { +) -> sc_service::error::Result<(TaskManager, Arc, Arc)> { let parachain_config = prepare_node_config(parachain_config); // Create a `NodeBuilder` which helps setup parachain nodes common systems. let node_builder = NodeConfig::new_builder(¶chain_config, None)?; let (block_import, import_queue) = import_queue(¶chain_config, &node_builder); + let import_queue_service = import_queue.service(); log::info!("are we collators? {:?}", collator); let node_builder = node_builder @@ -499,115 +515,56 @@ pub async fn start_node_impl_container( let relay_chain_slot_duration = Duration::from_secs(6); - let mut start_collation: Option< - Arc Pin + Send>> + Send + Sync>, - > = None; + let overseer_handle = relay_chain_interface + .overseer_handle() + .map_err(|e| sc_service::Error::Application(Box::new(e)))?; + let (mut node_builder, _) = node_builder.extract_import_queue_service(); - let node_builder = if collator { - let (node_builder, import_queue) = node_builder.extract_import_queue_service(); + start_relay_chain_tasks(StartRelayChainTasksParams { + client: node_builder.client.clone(), + announce_block: announce_block.clone(), + para_id, + relay_chain_interface: relay_chain_interface.clone(), + task_manager: &mut node_builder.task_manager, + da_recovery_profile: if collator { + DARecoveryProfile::Collator + } else { + DARecoveryProfile::FullNode + }, + import_queue: import_queue_service, + relay_chain_slot_duration, + recovery_handle: Box::new(overseer_handle.clone()), + sync_service: node_builder.network.sync_service.clone(), + })?; + if collator { let collator_key = collator_key .clone() .expect("Command line arguments do not allow this. qed"); - let overseer_handle = relay_chain_interface - .overseer_handle() - .map_err(|e| sc_service::Error::Application(Box::new(e)))?; - - let parachain_consensus = build_consensus_container( - node_builder.client.clone(), + let node_spawn_handle = node_builder.task_manager.spawn_handle().clone(); + let node_client = node_builder.client.clone(); + start_consensus_container( + node_client.clone(), orchestrator_client.clone(), - block_import, - prometheus_registry.as_ref(), - node_builder.telemetry.as_ref().map(|t| t.handle()), - &node_builder.task_manager, + block_import.clone(), + prometheus_registry.clone(), + node_builder.telemetry.as_ref().map(|t| t.handle()).clone(), + node_spawn_handle.clone(), relay_chain_interface.clone(), orchestrator_chain_interface.clone(), node_builder.transaction_pool.clone(), node_builder.network.sync_service.clone(), - keystore, + keystore.clone(), force_authoring, + relay_chain_slot_duration, para_id, orchestrator_para_id, - )?; - - // Given the sporadic nature of the explicit recovery operation and the - // possibility to retry infinite times this value is more than enough. - // In practice here we expect no more than one queued messages. - const RECOVERY_CHAN_SIZE: usize = 8; - - let (recovery_chan_tx, recovery_chan_rx) = mpsc::channel(RECOVERY_CHAN_SIZE); - - let consensus = cumulus_client_consensus_common::run_parachain_consensus( - para_id, - node_builder.client.clone(), - relay_chain_interface.clone(), - announce_block, - Some(recovery_chan_tx), - ); - - node_builder - .task_manager - .spawn_essential_handle() - .spawn_blocking("cumulus-consensus", None, consensus); - - let pov_recovery = PoVRecovery::new( - Box::new(overseer_handle.clone()), - // We want that collators wait at maximum the relay chain slot duration before starting - // to recover blocks. Additionally, we wait at least half the slot time to give the - // relay chain the chance to increase availability. - RecoveryDelayRange { - min: relay_chain_slot_duration / 2, - max: relay_chain_slot_duration, - }, - node_builder.client.clone(), - import_queue, - relay_chain_interface.clone(), - para_id, - recovery_chan_rx, - node_builder.network.sync_service.clone(), - ); - - node_builder.task_manager.spawn_essential_handle().spawn( - "cumulus-pov-recovery", - None, - pov_recovery.run(), - ); - - let params_generator = node_builder.cumulus_client_collator_params_generator( - para_id, - overseer_handle, - collator_key, - parachain_consensus, + collator_key.clone(), + overseer_handle.clone(), + announce_block.clone(), ); - - // Hack to fix logs, if this future is awaited by the ContainerChainSpawner thread, - // the logs will say "Orchestrator" instead of "Container-2000". - // Wrapping the future in this function fixes that. - #[sc_tracing::logging::prefix_logs_with(container_log_str(para_id))] - async fn wrap(para_id: ParaId, f: F) -> O - where - F: Future, - { - f.await - } - - start_collation = Some(Arc::new(move || { - Box::pin(wrap( - para_id, - #[allow(deprecated)] - cumulus_client_collator::start_collator(params_generator()), - )) - })); - - node_builder - } else { - node_builder.start_full_node( - para_id, - relay_chain_interface.clone(), - relay_chain_slot_duration, - )? - }; + } node_builder.network.start_network.start_network(); @@ -615,7 +572,6 @@ pub async fn start_node_impl_container( node_builder.task_manager, node_builder.client, node_builder.backend, - start_collation, )) } @@ -634,51 +590,57 @@ fn build_manual_seal_import_queue( )) } -fn build_consensus_container( +#[sc_tracing::logging::prefix_logs_with(container_log_str(para_id))] +fn start_consensus_container( client: Arc, orchestrator_client: Arc, block_import: ParachainBlockImport, - prometheus_registry: Option<&Registry>, + prometheus_registry: Option, telemetry: Option, - task_manager: &TaskManager, + spawner: SpawnTaskHandle, relay_chain_interface: Arc, orchestrator_chain_interface: Arc, transaction_pool: Arc>, sync_oracle: Arc>, keystore: KeystorePtr, force_authoring: bool, + relay_chain_slot_duration: Duration, para_id: ParaId, orchestrator_para_id: ParaId, -) -> Result>, sc_service::Error> { - let slot_duration = cumulus_client_consensus_aura::slot_duration(&*orchestrator_client)?; + collator_key: CollatorPair, + overseer_handle: OverseerHandle, + announce_block: Arc>) + Send + Sync>, +) { + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*orchestrator_client) + .expect("start_consensus_container: slot duration should exist"); let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( - task_manager.spawn_handle(), + spawner.clone(), client.clone(), transaction_pool, - prometheus_registry, + prometheus_registry.as_ref(), telemetry.clone(), ); + let proposer = Proposer::new(proposer_factory); + + let collator_service = CollatorService::new( + client.clone(), + Arc::new(spawner.clone()), + announce_block, + client.clone(), + ); + + let relay_chain_interace_for_cidp = relay_chain_interface.clone(); let relay_chain_interace_for_orch = relay_chain_interface.clone(); let orchestrator_client_for_cidp = orchestrator_client; - let params = tc_consensus::BuildOrchestratorAuraConsensusParams { - proposer_factory, - create_inherent_data_providers: move |_block_hash, (relay_parent, validation_data)| { - let relay_chain_interface = relay_chain_interface.clone(); + let params = BasicTanssiAuraParams { + create_inherent_data_providers: move |_block_hash, (relay_parent, _validation_data)| { + let relay_chain_interface = relay_chain_interace_for_cidp.clone(); let orchestrator_chain_interface = orchestrator_chain_interface.clone(); async move { - let parachain_inherent = - cumulus_client_parachain_inherent::ParachainInherentDataProvider::create_at( - relay_parent, - &relay_chain_interface, - &validation_data, - para_id, - ) - .await; - let authorities_noting_inherent = ccp_authorities_noting_inherent::ContainerChainAuthoritiesInherentData::create_at( relay_parent, @@ -688,6 +650,7 @@ fn build_consensus_container( ) .await; + // TODO: should we still retrieve timestamp and slot? let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); let slot = @@ -696,27 +659,16 @@ fn build_consensus_container( slot_duration, ); - let parachain_inherent = parachain_inherent.ok_or_else(|| { - Box::::from( - "Failed to create parachain inherent", - ) - })?; - let authorities_noting_inherent = authorities_noting_inherent.ok_or_else(|| { Box::::from( "Failed to create authoritiesnoting inherent", ) })?; - Ok(( - slot, - timestamp, - parachain_inherent, - authorities_noting_inherent, - )) + Ok((slot, timestamp, authorities_noting_inherent)) } }, - get_authorities_from_orchestrator: move |_block_hash, (relay_parent, _validation_data)| { + get_orchestrator_aux_data: move |_block_hash, (relay_parent, _validation_data)| { let relay_chain_interace_for_orch = relay_chain_interace_for_orch.clone(); let orchestrator_client_for_cidp = orchestrator_client_for_cidp.clone(); @@ -741,7 +693,7 @@ fn build_consensus_container( para_id, ); - let aux_data = authorities.ok_or_else(|| { + let authorities = authorities.ok_or_else(|| { Box::::from( "Failed to fetch authorities with error", ) @@ -749,79 +701,92 @@ fn build_consensus_container( log::info!( "Authorities {:?} found for header {:?}", - aux_data, + authorities, latest_header ); + let min_slot_freq = tc_consensus::min_slot_freq::( + orchestrator_client_for_cidp.as_ref(), + &latest_header.hash(), + para_id, + ); + + let aux_data = OrchestratorAuraWorkerAuxData { + authorities, + min_slot_freq, + }; + Ok(aux_data) } }, block_import, para_client: client, - backoff_authoring_blocks: Option::<()>::None, + relay_client: relay_chain_interface, sync_oracle, keystore, - force_authoring, + collator_key, + para_id, + overseer_handle, slot_duration, - // We got around 500ms for proposing - block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), - // And a maximum of 750ms if slots are skipped - max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), - telemetry, + force_authoring, + relay_chain_slot_duration, + proposer, + collator_service, + // Very limited proposal time. + authoring_duration: Duration::from_millis(500), + collation_request_receiver: None, }; - Ok(tc_consensus::OrchestratorAuraConsensus::build::< - NimbusPair, - _, - _, - _, - _, - _, - _, - >(params)) + let fut = basic_tanssi_aura::run::(params); + spawner.spawn("tanssi-aura-container", None, fut); } -fn build_consensus_orchestrator( +fn start_consensus_orchestrator( client: Arc, block_import: ParachainBlockImport, - prometheus_registry: Option<&Registry>, + prometheus_registry: Option, telemetry: Option, - task_manager: &TaskManager, + spawner: SpawnTaskHandle, relay_chain_interface: Arc, transaction_pool: Arc>, sync_oracle: Arc>, keystore: KeystorePtr, force_authoring: bool, + relay_chain_slot_duration: Duration, para_id: ParaId, -) -> Result>, sc_service::Error> { - let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; + collator_key: CollatorPair, + overseer_handle: OverseerHandle, + announce_block: Arc>) + Send + Sync>, +) { + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client) + .expect("start_consensus_orchestrator: slot duration should exist"); let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( - task_manager.spawn_handle(), + spawner.clone(), client.clone(), transaction_pool, - prometheus_registry, + prometheus_registry.as_ref(), telemetry.clone(), ); + let proposer = Proposer::new(proposer_factory); + + let collator_service = CollatorService::new( + client.clone(), + Arc::new(spawner.clone()), + announce_block, + client.clone(), + ); + + let relay_chain_interace_for_cidp = relay_chain_interface.clone(); let client_set_aside_for_cidp = client.clone(); let client_set_aside_for_orch = client.clone(); - let params = BuildOrchestratorAuraConsensusParams { - proposer_factory, - create_inherent_data_providers: move |block_hash, (relay_parent, validation_data)| { - let relay_chain_interface = relay_chain_interface.clone(); + let params = BasicTanssiAuraParams { + create_inherent_data_providers: move |block_hash, (relay_parent, _validation_data)| { + let relay_chain_interface = relay_chain_interace_for_cidp.clone(); let client_set_aside_for_cidp = client_set_aside_for_cidp.clone(); async move { - let parachain_inherent = - cumulus_client_parachain_inherent::ParachainInherentDataProvider::create_at( - relay_parent, - &relay_chain_interface, - &validation_data, - para_id, - ) - .await; - let para_ids = client_set_aside_for_cidp .runtime_api() .registered_paras(block_hash)?; @@ -842,70 +807,66 @@ fn build_consensus_orchestrator( slot_duration, ); - let parachain_inherent = parachain_inherent.ok_or_else(|| { - Box::::from( - "Failed to create parachain inherent", - ) - })?; - let author_noting_inherent = author_noting_inherent.ok_or_else(|| { Box::::from( "Failed to create author noting inherent", ) })?; - Ok((slot, timestamp, parachain_inherent, author_noting_inherent)) + Ok((slot, timestamp, author_noting_inherent)) } }, - get_authorities_from_orchestrator: - move |block_hash: H256, (_relay_parent, _validation_data)| { - let client_set_aside_for_orch = client_set_aside_for_orch.clone(); + get_orchestrator_aux_data: move |block_hash: H256, (_relay_parent, _validation_data)| { + let client_set_aside_for_orch = client_set_aside_for_orch.clone(); - async move { - let authorities = tc_consensus::authorities::( - client_set_aside_for_orch.as_ref(), - &block_hash, - para_id, - ); + async move { + let authorities = tc_consensus::authorities::( + client_set_aside_for_orch.as_ref(), + &block_hash, + para_id, + ); - let aux_data = authorities.ok_or_else(|| { - Box::::from( - "Failed to fetch authorities with error", - ) - })?; + let authorities = authorities.ok_or_else(|| { + Box::::from( + "Failed to fetch authorities with error", + ) + })?; - log::info!( - "Authorities {:?} found for header {:?}", - aux_data, - block_hash - ); + log::info!( + "Authorities {:?} found for header {:?}", + authorities, + block_hash + ); - Ok(aux_data) - } - }, + let aux_data = OrchestratorAuraWorkerAuxData { + authorities, + // This is the orchestrator consensus, it does not have a slot frequency + min_slot_freq: None, + }; + + Ok(aux_data) + } + }, block_import, para_client: client, - backoff_authoring_blocks: Option::<()>::None, + relay_client: relay_chain_interface, sync_oracle, keystore, - force_authoring, + collator_key, + para_id, + overseer_handle, slot_duration, - // We got around 500ms for proposing - block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), - // And a maximum of 750ms if slots are skipped - max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), - telemetry, + relay_chain_slot_duration, + force_authoring, + proposer, + collator_service, + // Very limited proposal time. + authoring_duration: Duration::from_millis(500), + collation_request_receiver: None, }; - Ok(OrchestratorAuraConsensus::build::< - NimbusPair, - _, - _, - _, - _, - _, - _, - >(params)) + let fut = basic_tanssi_aura::run::(params); + spawner.spawn("tanssi-aura", None, fut); } /// Start a parachain node. diff --git a/pallets/collator-assignment/src/lib.rs b/pallets/collator-assignment/src/lib.rs index 5df502dec..3cbb01d7c 100644 --- a/pallets/collator-assignment/src/lib.rs +++ b/pallets/collator-assignment/src/lib.rs @@ -166,14 +166,23 @@ pub mod pallet { let session_delay = T::SessionIndex::one(); let target_session_index = current_session_index.saturating_add(session_delay); // We get the containerChains that we will have at the target session - let mut container_chain_ids = + let container_chains = T::ContainerChains::session_container_chains(target_session_index); - let mut parathreads = T::ContainerChains::session_parathreads(target_session_index); - let num_total_registered_paras = container_chain_ids.len() as u32; + let num_total_registered_paras = + (container_chains.parachains.len() + container_chains.parathreads.len()) as u32; + let mut container_chain_ids = container_chains.parachains; + let mut parathreads: Vec<_> = container_chains + .parathreads + .into_iter() + .map(|(para_id, _)| para_id) + .collect(); // Remove the containerChains that do not have enough credits for block production T::RemoveParaIdsWithNoCredits::remove_para_ids_with_no_credits( &mut container_chain_ids, ); + // TODO: parathreads should be treated a bit differently, they don't need to have the same amount of credits + // as paratherads because they will not be producing blocks on every slot. + T::RemoveParaIdsWithNoCredits::remove_para_ids_with_no_credits(&mut parathreads); // If the random_seed is all zeros, we don't shuffle the list of collators nor the list // of container chains. diff --git a/pallets/collator-assignment/src/mock.rs b/pallets/collator-assignment/src/mock.rs index effa8fc6c..274d78bda 100644 --- a/pallets/collator-assignment/src/mock.rs +++ b/pallets/collator-assignment/src/mock.rs @@ -31,7 +31,10 @@ use { BuildStorage, }, sp_std::collections::btree_map::BTreeMap, - tp_traits::{ParaId, RemoveInvulnerables, RemoveParaIdsWithNoCredits}, + tp_traits::{ + ParaId, ParathreadParams, RemoveInvulnerables, RemoveParaIdsWithNoCredits, + SessionContainerChains, + }, tracing_subscriber::{layer::SubscriberExt, FmtSubscriber}, }; @@ -162,22 +165,32 @@ impl GetCollators for CollatorsGetter { pub struct ContainerChainsGetter; impl tp_traits::GetSessionContainerChains for ContainerChainsGetter { - fn session_container_chains(_session_index: u32) -> Vec { - MockData::mock() + fn session_container_chains(_session_index: u32) -> SessionContainerChains { + let parachains = MockData::mock() .container_chains .iter() .cloned() - .map(ParaId::from) - .collect() - } + .map(|para_id| ParaId::from(para_id)) + .collect(); - fn session_parathreads(_session_index: u32) -> Vec { - MockData::mock() + let parathreads = MockData::mock() .parathreads .iter() .cloned() - .map(ParaId::from) - .collect() + .map(|para_id| { + ( + ParaId::from(para_id), + ParathreadParams { + slot_frequency: Default::default(), + }, + ) + }) + .collect(); + + SessionContainerChains { + parachains, + parathreads, + } } #[cfg(feature = "runtime-benchmarks")] diff --git a/pallets/collator-assignment/src/tests.rs b/pallets/collator-assignment/src/tests.rs index 38bc00bcf..1e248ebf1 100644 --- a/pallets/collator-assignment/src/tests.rs +++ b/pallets/collator-assignment/src/tests.rs @@ -14,9 +14,9 @@ // You should have received a copy of the GNU General Public License // along with Tanssi. If not, see -use dp_collator_assignment::AssignedCollators; use { crate::{mock::*, CollatorContainerChain, Event, PendingCollatorContainerChain}, + dp_collator_assignment::AssignedCollators, std::collections::BTreeMap, }; @@ -821,18 +821,18 @@ fn assign_collators_rotation_parathreads_are_shuffled() { // 4 collators so we can only assign to one parathread m.collators = vec![1, 2, 3, 4]; - m.parathreads = vec![5001, 5002]; + m.parathreads = vec![3001, 3002]; }); assert_eq!(assigned_collators(), initial_collators(),); run_to_block(11); let initial_assignment = - BTreeMap::from_iter(vec![(1, 1000), (2, 1000), (3, 5001), (4, 5001)]); + BTreeMap::from_iter(vec![(1, 1000), (2, 1000), (3, 3001), (4, 3001)]); assert_eq!(assigned_collators(), initial_assignment,); MockData::mutate(|m| { - // Seed chosen manually to see the case where parathread 5002 is given priority + // Seed chosen manually to see the case where parathread 3002 is given priority m.random_seed = [2; 32]; }); @@ -841,7 +841,7 @@ fn assign_collators_rotation_parathreads_are_shuffled() { // Random assignment depends on the seed, shouldn't change unless the algorithm changes // Test that container chains are shuffled because 1001 does not have priority let shuffled_assignment = - BTreeMap::from_iter(vec![(1, 1000), (2, 5002), (3, 1000), (4, 5002)]); + BTreeMap::from_iter(vec![(1, 1000), (2, 3002), (3, 1000), (4, 3002)]); assert_eq!(assigned_collators(), shuffled_assignment,); }); @@ -1231,3 +1231,57 @@ fn collator_assignment_includes_empty_chains() { assert_eq!(assigned_collators, expected); }); } + +#[test] +fn collator_assignment_remove_parachains_without_credits() { + new_test_ext().execute_with(|| { + run_to_block(1); + + MockData::mutate(|m| { + m.collators_per_container = 2; + m.collators_per_parathread = 2; + m.min_orchestrator_chain_collators = 2; + m.max_orchestrator_chain_collators = 5; + + m.collators = vec![1, 2, 3, 4, 5, 6, 7]; + m.container_chains = vec![2000, 5001, 5002]; + m.parathreads = vec![] + }); + assert_eq!(assigned_collators(), initial_collators(),); + run_to_block(11); + + let assigned_collators = CollatorContainerChain::::get(); + let expected = AssignedCollators { + orchestrator_chain: vec![1, 2, 3, 4, 5], + container_chains: BTreeMap::from_iter(vec![(2000.into(), vec![6, 7])]), + }; + assert_eq!(assigned_collators, expected); + }); +} + +#[test] +fn collator_assignment_remove_parathreads_without_credits() { + new_test_ext().execute_with(|| { + run_to_block(1); + + MockData::mutate(|m| { + m.collators_per_container = 2; + m.collators_per_parathread = 2; + m.min_orchestrator_chain_collators = 2; + m.max_orchestrator_chain_collators = 5; + + m.collators = vec![1, 2, 3, 4, 5, 6, 7]; + m.container_chains = vec![]; + m.parathreads = vec![3000, 5001, 5002] + }); + assert_eq!(assigned_collators(), initial_collators(),); + run_to_block(11); + + let assigned_collators = CollatorContainerChain::::get(); + let expected = AssignedCollators { + orchestrator_chain: vec![1, 2, 3, 4, 5], + container_chains: BTreeMap::from_iter(vec![(3000.into(), vec![6, 7])]), + }; + assert_eq!(assigned_collators, expected); + }); +} diff --git a/pallets/collator-assignment/src/tests/assign_full.rs b/pallets/collator-assignment/src/tests/assign_full.rs index 2ac36e2f3..593a552a5 100644 --- a/pallets/collator-assignment/src/tests/assign_full.rs +++ b/pallets/collator-assignment/src/tests/assign_full.rs @@ -14,9 +14,11 @@ // You should have received a copy of the GNU General Public License // along with Tanssi. If not, see -use crate::assignment::AssignmentError; use { - crate::{assignment::Assignment, tests::Test}, + crate::{ + assignment::{Assignment, AssignmentError}, + tests::Test, + }, sp_std::collections::btree_map::BTreeMap, }; diff --git a/pallets/configuration/src/lib.rs b/pallets/configuration/src/lib.rs index 0a7a035ca..724fb4a61 100644 --- a/pallets/configuration/src/lib.rs +++ b/pallets/configuration/src/lib.rs @@ -131,7 +131,7 @@ impl HostConfiguration { if self.max_orchestrator_collators < self.min_orchestrator_collators { return Err(InconsistentError::MaxCollatorsLowerThanMinCollators); } - if self.collators_per_parathread != 1 || self.parathreads_per_collator != 1 { + if self.parathreads_per_collator != 1 { return Err(InconsistentError::UnimplementedParameter); } Ok(()) diff --git a/pallets/invulnerables/src/benchmarking.rs b/pallets/invulnerables/src/benchmarking.rs index 4665b9f1d..9ecf48fa5 100644 --- a/pallets/invulnerables/src/benchmarking.rs +++ b/pallets/invulnerables/src/benchmarking.rs @@ -146,7 +146,13 @@ mod benchmarks { frame_support::BoundedVec::try_from(invulnerables).unwrap(); >::put(invulnerables); - let new_invulnerable = invulnerable::(b + 1).0; + let (new_invulnerable, keys) = invulnerable::(b + 1); + >::set_keys( + RawOrigin::Signed(new_invulnerable.clone()).into(), + keys, + Vec::new(), + ) + .unwrap(); #[extrinsic_call] _(origin as T::RuntimeOrigin, new_invulnerable.clone()); diff --git a/pallets/invulnerables/src/lib.rs b/pallets/invulnerables/src/lib.rs index 57695c468..a988839f3 100644 --- a/pallets/invulnerables/src/lib.rs +++ b/pallets/invulnerables/src/lib.rs @@ -160,6 +160,8 @@ pub mod pallet { AlreadyInvulnerable, /// Account is not an Invulnerable. NotInvulnerable, + /// Account does not have keys registered + NoKeysRegistered, } #[pallet::call] @@ -221,6 +223,14 @@ pub mod pallet { who: T::AccountId, ) -> DispatchResultWithPostInfo { T::UpdateOrigin::ensure_origin(origin)?; + // don't let one unprepared collator ruin things for everyone. + let collator_id = T::CollatorIdOf::convert(who.clone()); + + // Ensure it has keys registered + ensure!( + collator_id.map_or(false, |key| T::CollatorRegistration::is_registered(&key)), + Error::::NoKeysRegistered + ); >::try_mutate(|invulnerables| -> DispatchResult { if invulnerables.contains(&who) { diff --git a/pallets/invulnerables/src/tests.rs b/pallets/invulnerables/src/tests.rs index c591208c4..b2fa54724 100644 --- a/pallets/invulnerables/src/tests.rs +++ b/pallets/invulnerables/src/tests.rs @@ -85,6 +85,20 @@ fn add_invulnerable_works() { }); } +#[test] +fn add_invulnerable_does_not_work_if_not_registered() { + new_test_ext().execute_with(|| { + initialize_to_block(1); + assert_eq!(Invulnerables::invulnerables(), vec![1, 2]); + let new = 42; + + assert_noop!( + Invulnerables::add_invulnerable(RuntimeOrigin::signed(RootAccount::get()), new), + Error::::NoKeysRegistered + ); + }); +} + #[test] fn invulnerable_limit_works() { new_test_ext().execute_with(|| { diff --git a/pallets/invulnerables/src/weights.rs b/pallets/invulnerables/src/weights.rs index 367d83f0a..96b7afb97 100644 --- a/pallets/invulnerables/src/weights.rs +++ b/pallets/invulnerables/src/weights.rs @@ -74,20 +74,22 @@ impl WeightInfo for SubstrateWeight { .saturating_add(Weight::from_parts(56_720, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: Invulnerables Invulnerables (r:1 w:1) - /// Proof: Invulnerables Invulnerables (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen) + /// Storage: `Session::NextKeys` (r:1 w:0) + /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Invulnerables::Invulnerables` (r:1 w:1) + /// Proof: `Invulnerables::Invulnerables` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`) /// The range of component `b` is `[1, 99]`. fn add_invulnerable(b: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `70 + b * (32 ±0)` - // Estimated: `4687` - // Minimum execution time: 6_840_000 picoseconds. - Weight::from_parts(7_533_824, 0) - .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 384 - .saturating_add(Weight::from_parts(19_372, 0).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + // Measured: `548 + b * (36 ±0)` + // Estimated: `4687 + b * (37 ±0)` + // Minimum execution time: 16_117_000 picoseconds. + Weight::from_parts(18_327_160, 4687) + // Standard Error: 1_293 + .saturating_add(Weight::from_parts(94_608, 0).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + .saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into())) } /// Storage: Invulnerables Invulnerables (r:1 w:1) /// Proof: Invulnerables Invulnerables (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen) @@ -155,20 +157,22 @@ impl WeightInfo for () { .saturating_add(Weight::from_parts(56_720, 0).saturating_mul(b.into())) .saturating_add(RocksDbWeight::get().writes(1)) } - /// Storage: Invulnerables Invulnerables (r:1 w:1) - /// Proof: Invulnerables Invulnerables (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen) + /// Storage: `Session::NextKeys` (r:1 w:0) + /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Invulnerables::Invulnerables` (r:1 w:1) + /// Proof: `Invulnerables::Invulnerables` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`) /// The range of component `b` is `[1, 99]`. fn add_invulnerable(b: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `70 + b * (32 ±0)` - // Estimated: `4687` - // Minimum execution time: 6_840_000 picoseconds. - Weight::from_parts(7_533_824, 0) - .saturating_add(Weight::from_parts(0, 4687)) - // Standard Error: 384 - .saturating_add(Weight::from_parts(19_372, 0).saturating_mul(b.into())) - .saturating_add(RocksDbWeight::get().reads(1)) - .saturating_add(RocksDbWeight::get().writes(1)) + // Measured: `548 + b * (36 ±0)` + // Estimated: `4687 + b * (37 ±0)` + // Minimum execution time: 16_117_000 picoseconds. + Weight::from_parts(18_327_160, 4687) + // Standard Error: 1_293 + .saturating_add(Weight::from_parts(94_608, 0).saturating_mul(b.into())) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + .saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into())) } /// Storage: Invulnerables Invulnerables (r:1 w:1) /// Proof: Invulnerables Invulnerables (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen) diff --git a/pallets/registrar/rpc/runtime-api/src/lib.rs b/pallets/registrar/rpc/runtime-api/src/lib.rs index e8eece1d7..5733f92b4 100644 --- a/pallets/registrar/rpc/runtime-api/src/lib.rs +++ b/pallets/registrar/rpc/runtime-api/src/lib.rs @@ -36,3 +36,19 @@ sp_api::decl_runtime_apis! { fn boot_nodes(para_id: ParaId) -> Vec>; } } + +sp_api::decl_runtime_apis! { + pub trait OnDemandBlockProductionApi where + ParaId: parity_scale_codec::Codec, + Slot: parity_scale_codec::Codec, + { + /// Return the minimum number of slots that must pass between to blocks before parathread collators can propose + /// the next block. + /// + /// # Returns + /// + /// * `Some(min)`, where the condition for the slot to be valid is `(slot - parent_slot) >= min`. + /// * `None` if the `para_id` is not a parathread. + fn min_slot_freq(para_id: ParaId) -> Option; + } +} diff --git a/pallets/registrar/src/benchmarks.rs b/pallets/registrar/src/benchmarks.rs index f684d9ce2..6a1b4591a 100644 --- a/pallets/registrar/src/benchmarks.rs +++ b/pallets/registrar/src/benchmarks.rs @@ -25,7 +25,7 @@ use { sp_core::Get, sp_std::{vec, vec::Vec}, tp_container_chain_genesis_data::{ContainerChainGenesisData, ContainerChainGenesisDataItem}, - tp_traits::ParaId, + tp_traits::{ParaId, SlotFrequency}, }; /// Create a funded user. @@ -355,5 +355,93 @@ mod benchmarks { assert!(Pallet::::registered_para_ids().contains(&ParaId::from(1000))); } + #[benchmark] + fn register_parathread(x: Linear<5, 3_000_000>, y: Linear<1, 50>, z: Linear<1, 10>) { + let mut data = vec![]; + // Number of keys + for _i in 1..z { + data.push((b"code".to_vec(), vec![1; (x / z) as usize]).into()) + } + + let slot_frequency = SlotFrequency::default(); + let storage = new_genesis_data(data); + + for i in 1..y { + // Twice the deposit just in case + let (caller, _deposit_amount) = + create_funded_user::("caller", i, T::DepositAmount::get()); + Pallet::::register_parathread( + RawOrigin::Signed(caller.clone()).into(), + i.into(), + slot_frequency.clone(), + storage.clone(), + ) + .unwrap(); + } + + // We should have registered y-1 + assert_eq!(Pallet::::pending_verification().len(), (y - 1) as usize); + + let (caller, _deposit_amount) = + create_funded_user::("caller", 0, T::DepositAmount::get()); + + #[extrinsic_call] + Pallet::::register_parathread( + RawOrigin::Signed(caller), + Default::default(), + slot_frequency, + storage, + ); + + // verification code + assert_eq!(Pallet::::pending_verification().len(), y as usize); + assert!(Pallet::::registrar_deposit(ParaId::default()).is_some()); + } + + #[benchmark] + fn set_parathread_params(y: Linear<1, 50>) { + let storage = vec![(vec![1; 4], vec![1; 3_000_000usize]).into()]; + let storage = new_genesis_data(storage); + let slot_frequency = SlotFrequency::default(); + + // Deregister all the existing chains to avoid conflicts with the new ones + for para_id in Pallet::::registered_para_ids() { + Pallet::::deregister(RawOrigin::Root.into(), para_id).unwrap(); + } + + for i in 0..y { + // Twice the deposit just in case + let (caller, _deposit_amount) = + create_funded_user::("caller", i, T::DepositAmount::get()); + Pallet::::register_parathread( + RawOrigin::Signed(caller.clone()).into(), + i.into(), + slot_frequency.clone(), + storage.clone(), + ) + .unwrap(); + T::RegistrarHooks::benchmarks_ensure_valid_for_collating(i.into()); + Pallet::::mark_valid_for_collating(RawOrigin::Root.into(), i.into()).unwrap(); + } + + let new_slot_frequency = SlotFrequency { min: 2, max: 2 }; + + #[extrinsic_call] + Pallet::::set_parathread_params( + RawOrigin::Root, + (y - 1).into(), + new_slot_frequency.clone(), + ); + + // Start a new session + Pallet::::initializer_on_new_session(&T::SessionDelay::get()); + + // Check y-1 has new slot frequency + assert_eq!( + Pallet::::parathread_params(&ParaId::from(y - 1)).map(|x| x.slot_frequency), + Some(new_slot_frequency) + ); + } + impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Test); } diff --git a/pallets/registrar/src/lib.rs b/pallets/registrar/src/lib.rs index 994cd4644..9bc52c405 100644 --- a/pallets/registrar/src/lib.rs +++ b/pallets/registrar/src/lib.rs @@ -47,15 +47,20 @@ use { DefaultNoBound, LOG_TARGET, }, frame_system::pallet_prelude::*, + parity_scale_codec::{Decode, Encode}, sp_runtime::{traits::AtLeast32BitUnsigned, Saturating}, - sp_std::prelude::*, + sp_std::{collections::btree_set::BTreeSet, prelude::*}, tp_container_chain_genesis_data::ContainerChainGenesisData, - tp_traits::{GetCurrentContainerChains, GetSessionContainerChains, GetSessionIndex, ParaId}, + tp_traits::{ + GetCurrentContainerChains, GetSessionContainerChains, GetSessionIndex, ParaId, + ParathreadParams as ParathreadParamsTy, SlotFrequency, + }, }; #[frame_support::pallet] pub mod pallet { use super::*; + use tp_traits::SessionContainerChains; #[pallet::pallet] #[pallet::without_storage_info] @@ -193,6 +198,22 @@ pub mod pallet { ValueQuery, >; + #[pallet::storage] + #[pallet::getter(fn parathread_params)] + pub type ParathreadParams = + StorageMap<_, Blake2_128Concat, ParaId, ParathreadParamsTy, OptionQuery>; + + #[pallet::storage] + #[pallet::getter(fn pending_parathread_params)] + pub type PendingParathreadParams = StorageValue< + _, + Vec<( + T::SessionIndex, + BoundedVec<(ParaId, ParathreadParamsTy), T::MaxLengthParaIds>, + )>, + ValueQuery, + >; + pub type DepositBalanceOf = <::Currency as Currency<::AccountId>>::Balance; @@ -223,6 +244,8 @@ pub mod pallet { ParaIdPaused { para_id: ParaId }, /// A para id has been unpaused. ParaIdUnpaused { para_id: ParaId }, + /// Parathread params changed + ParathreadParamsChanged { para_id: ParaId }, } #[pallet::error] @@ -245,6 +268,8 @@ pub mod pallet { ParaIdNotInPendingVerification, /// Tried to register a ParaId with an account that did not have enough balance for the deposit NotSufficientDeposit, + /// Tried to change parathread params for a para id that is not a registered parathread + NotAParathread, } #[pallet::hooks] @@ -364,58 +389,7 @@ pub mod pallet { genesis_data: ContainerChainGenesisData, ) -> DispatchResult { let account = ensure_signed(origin)?; - let deposit = T::DepositAmount::get(); - - // Verify we can reserve - T::Currency::can_reserve(&account, deposit) - .then_some(true) - .ok_or(Error::::NotSufficientDeposit)?; - - // Check if the para id is already registered by looking at the genesis data - if ParaGenesisData::::contains_key(para_id) { - return Err(Error::::ParaIdAlreadyRegistered.into()); - } - - // Insert para id into PendingVerification - let mut pending_verification = PendingVerification::::get(); - match pending_verification.binary_search(¶_id) { - // This Ok is unreachable - Ok(_) => return Err(Error::::ParaIdAlreadyRegistered.into()), - Err(index) => { - pending_verification - .try_insert(index, para_id) - .map_err(|_e| Error::::ParaIdListFull)?; - } - } - - // The actual registration takes place 2 sessions after the call to - // `mark_valid_for_collating`, but the genesis data is inserted now. - // This is because collators should be able to start syncing the new container chain - // before the first block is mined. However, we could store the genesis data in a - // different key, like PendingParaGenesisData. - // TODO: for benchmarks, this call to .encoded_size is O(n) with respect to the number - // of key-values in `genesis_data.storage`, even if those key-values are empty. And we - // won't detect that the size is too big until after iterating over all of them, so the - // limit in that case would be the transaction size. - let genesis_data_size = genesis_data.encoded_size(); - if genesis_data_size > T::MaxGenesisDataSize::get() as usize { - return Err(Error::::GenesisDataTooBig.into()); - } - - // Reserve the deposit, we verified we can do this - T::Currency::reserve(&account, deposit)?; - - // Update DepositInfo - RegistrarDeposit::::insert( - para_id, - DepositInfo { - creator: account, - deposit, - }, - ); - ParaGenesisData::::insert(para_id, genesis_data); - PendingVerification::::put(pending_verification); - + Self::do_register(account, para_id, genesis_data)?; Self::deposit_event(Event::ParaIdRegistered { para_id }); Ok(()) @@ -581,6 +555,46 @@ pub mod pallet { Ok(()) } + + /// Register parathread + #[pallet::call_index(6)] + #[pallet::weight(T::WeightInfo::register_parathread(genesis_data.encoded_size() as u32, T::MaxLengthParaIds::get(), genesis_data.storage.len() as u32))] + pub fn register_parathread( + origin: OriginFor, + para_id: ParaId, + slot_frequency: SlotFrequency, + genesis_data: ContainerChainGenesisData, + ) -> DispatchResult { + let account = ensure_signed(origin)?; + Self::do_register(account, para_id, genesis_data)?; + // Insert parathread params + let params = ParathreadParamsTy { slot_frequency }; + ParathreadParams::::insert(para_id, params); + Self::deposit_event(Event::ParaIdRegistered { para_id }); + + Ok(()) + } + + /// Change parathread params + #[pallet::call_index(7)] + #[pallet::weight(T::WeightInfo::set_parathread_params(T::MaxLengthParaIds::get()))] + pub fn set_parathread_params( + origin: OriginFor, + para_id: ParaId, + slot_frequency: SlotFrequency, + ) -> DispatchResult { + T::RegistrarOrigin::ensure_origin(origin)?; + + Self::schedule_parathread_params_change(para_id, |params| { + params.slot_frequency = slot_frequency; + + Self::deposit_event(Event::ParathreadParamsChanged { para_id }); + + Ok(()) + })?; + + Ok(()) + } } pub struct SessionChangeOutcome { @@ -642,6 +656,66 @@ pub mod pallet { Ok(deposit_info.creator) } + fn do_register( + account: T::AccountId, + para_id: ParaId, + genesis_data: ContainerChainGenesisData, + ) -> DispatchResult { + let deposit = T::DepositAmount::get(); + + // Verify we can reserve + T::Currency::can_reserve(&account, deposit) + .then_some(true) + .ok_or(Error::::NotSufficientDeposit)?; + + // Check if the para id is already registered by looking at the genesis data + if ParaGenesisData::::contains_key(para_id) { + return Err(Error::::ParaIdAlreadyRegistered.into()); + } + + // Insert para id into PendingVerification + let mut pending_verification = PendingVerification::::get(); + match pending_verification.binary_search(¶_id) { + // This Ok is unreachable + Ok(_) => return Err(Error::::ParaIdAlreadyRegistered.into()), + Err(index) => { + pending_verification + .try_insert(index, para_id) + .map_err(|_e| Error::::ParaIdListFull)?; + } + } + + // The actual registration takes place 2 sessions after the call to + // `mark_valid_for_collating`, but the genesis data is inserted now. + // This is because collators should be able to start syncing the new container chain + // before the first block is mined. However, we could store the genesis data in a + // different key, like PendingParaGenesisData. + // TODO: for benchmarks, this call to .encoded_size is O(n) with respect to the number + // of key-values in `genesis_data.storage`, even if those key-values are empty. And we + // won't detect that the size is too big until after iterating over all of them, so the + // limit in that case would be the transaction size. + let genesis_data_size = genesis_data.encoded_size(); + if genesis_data_size > T::MaxGenesisDataSize::get() as usize { + return Err(Error::::GenesisDataTooBig.into()); + } + + // Reserve the deposit, we verified we can do this + T::Currency::reserve(&account, deposit)?; + + // Update DepositInfo + RegistrarDeposit::::insert( + para_id, + DepositInfo { + creator: account, + deposit, + }, + ); + ParaGenesisData::::insert(para_id, genesis_data); + PendingVerification::::put(pending_verification); + + Ok(()) + } + fn schedule_parachain_change( updater: impl FnOnce(&mut BoundedVec) -> DispatchResult, ) -> DispatchResult { @@ -731,6 +805,68 @@ pub mod pallet { Ok(()) } + fn schedule_parathread_params_change( + para_id: ParaId, + updater: impl FnOnce(&mut ParathreadParamsTy) -> DispatchResult, + ) -> DispatchResult { + // Check that the para id is a parathread by reading the old params + let params = match ParathreadParams::::get(para_id) { + Some(x) => x, + None => { + return Err(Error::::NotAParathread.into()); + } + }; + + let mut pending_params = PendingParathreadParams::::get(); + // First, we need to decide what we should use as the base params. + let mut base_params = pending_params + .last() + .and_then(|(_, para_id_params)| { + match para_id_params + .binary_search_by_key(¶_id, |(para_id, _params)| *para_id) + { + Ok(idx) => { + let (_para_id, params) = ¶_id_params[idx]; + Some(params.clone()) + } + Err(_idx) => None, + } + }) + .unwrap_or(params); + + updater(&mut base_params)?; + let new_params = base_params; + + let scheduled_session = Self::scheduled_session(); + + if let Some(&mut (_, ref mut para_id_params)) = pending_params + .iter_mut() + .find(|&&mut (apply_at_session, _)| apply_at_session >= scheduled_session) + { + match para_id_params.binary_search_by_key(¶_id, |(para_id, _params)| *para_id) { + Ok(idx) => { + let (_para_id, params) = &mut para_id_params[idx]; + *params = new_params; + } + Err(idx) => { + para_id_params + .try_insert(idx, (para_id, new_params)) + .map_err(|_e| Error::::ParaIdListFull)?; + } + } + } else { + // We are scheduling a new parathread params change for the scheduled session. + pending_params.push(( + scheduled_session, + BoundedVec::truncate_from(vec![(para_id, new_params)]), + )); + } + + >::put(pending_params); + + Ok(()) + } + /// Return the session index that should be used for any future scheduled changes. fn scheduled_session() -> T::SessionIndex { T::CurrentSessionIndex::session_index().saturating_add(T::SessionDelay::get()) @@ -801,6 +937,32 @@ pub mod pallet { } } + let pending_parathread_params = >::get(); + if !pending_parathread_params.is_empty() { + let (mut past_and_present, future) = pending_parathread_params + .into_iter() + .partition::, _>(|&(apply_at_session, _)| { + apply_at_session <= *session_index + }); + + if past_and_present.len() > 1 { + // This should never happen since we schedule parachain changes only into the future + // sessions and this handler called for each session change. + log::error!( + target: LOG_TARGET, + "Skipping applying parathread params changes scheduled sessions in the past", + ); + } + + let new_params = past_and_present.pop().map(|(_, params)| params); + if let Some(ref new_params) = new_params { + for (para_id, params) in new_params { + >::insert(para_id, params); + } + >::put(future); + } + } + let pending_to_remove = >::get(); if !pending_to_remove.is_empty() { let (past_and_present, future) = @@ -808,16 +970,27 @@ pub mod pallet { |&(apply_at_session, _)| apply_at_session <= *session_index, ); - // Unlike `PendingParaIds`, this cannot skip items because we must cleanup all parachains. - // But this will only happen if `initializer_on_new_session` is not called for a big range of - // sessions, and many parachains are deregistered in the meantime. - for (_, new_paras) in &past_and_present { - for para_id in new_paras { - Self::cleanup_deregistered_para_id(*para_id); + if !past_and_present.is_empty() { + // Unlike `PendingParaIds`, this cannot skip items because we must cleanup all parachains. + // But this will only happen if `initializer_on_new_session` is not called for a big range of + // sessions, and many parachains are deregistered in the meantime. + let mut removed_para_ids = BTreeSet::new(); + for (_, new_paras) in &past_and_present { + for para_id in new_paras { + Self::cleanup_deregistered_para_id(*para_id); + removed_para_ids.insert(*para_id); + } } - } - if !past_and_present.is_empty() { + // Also need to remove PendingParams to avoid setting params for a para id that does not exist + let mut pending_parathread_params = >::get(); + for (_, new_params) in &mut pending_parathread_params { + new_params.retain(|(para_id, _params)| { + // Retain para ids that are not in the list of removed para ids + !removed_para_ids.contains(para_id) + }); + } + >::put(pending_parathread_params); >::put(future); } } @@ -832,6 +1005,7 @@ pub mod pallet { /// and execute para_deregistered hook to clean up other pallets as well fn cleanup_deregistered_para_id(para_id: ParaId) { ParaGenesisData::::remove(para_id); + ParathreadParams::::remove(para_id); // Get asset creator and deposit amount // Deposit may not exist, for example if the para id was registered on genesis if let Some(asset_info) = RegistrarDeposit::::take(para_id) { @@ -891,7 +1065,7 @@ pub mod pallet { } impl GetSessionContainerChains for Pallet { - fn session_container_chains(session_index: T::SessionIndex) -> Vec { + fn session_container_chains(session_index: T::SessionIndex) -> SessionContainerChains { let (past_and_present, _) = Pallet::::pending_registered_para_ids() .into_iter() .partition::, _>(|&(apply_at_session, _)| apply_at_session <= session_index); @@ -902,12 +1076,22 @@ pub mod pallet { Pallet::::registered_para_ids() }; - paras.into_iter().collect() - } + let mut parachains = vec![]; + let mut parathreads = vec![]; + + for para_id in paras { + // TODO: sweet O(n) db reads + if let Some(parathread_params) = ParathreadParams::::get(¶_id) { + parathreads.push((para_id, parathread_params)); + } else { + parachains.push(para_id); + } + } - fn session_parathreads(_session_index: T::SessionIndex) -> Vec { - // FIXME(parathreads) - vec![] + SessionContainerChains { + parachains, + parathreads, + } } #[cfg(feature = "runtime-benchmarks")] diff --git a/pallets/registrar/src/tests.rs b/pallets/registrar/src/tests.rs index faca9e31a..1e93aa6d4 100644 --- a/pallets/registrar/src/tests.rs +++ b/pallets/registrar/src/tests.rs @@ -21,7 +21,7 @@ use { sp_core::Get, sp_runtime::DispatchError, tp_container_chain_genesis_data::ContainerChainGenesisData, - tp_traits::ParaId, + tp_traits::{ParaId, SlotFrequency}, }; const ALICE: u64 = 1; @@ -1174,6 +1174,141 @@ fn deposit_removed_after_2_sessions_if_marked_as_valid() { }); } +#[test] +fn parathread_change_params_after_two_sessions() { + new_test_ext().execute_with(|| { + run_to_block(1); + assert_ok!(ParaRegistrar::register_parathread( + RuntimeOrigin::signed(ALICE), + 42.into(), + SlotFrequency { min: 1, max: 1 }, + empty_genesis_data() + )); + assert!(ParaRegistrar::registrar_deposit(ParaId::from(42)).is_some()); + assert_ok!(ParaRegistrar::mark_valid_for_collating( + RuntimeOrigin::root(), + 42.into(), + )); + assert_ok!(ParaRegistrar::set_parathread_params( + RuntimeOrigin::root(), + ParaId::from(42), + SlotFrequency { min: 2, max: 2 } + )); + // Params are not updated immediately + assert_eq!( + ParaRegistrar::parathread_params(ParaId::from(42)).map(|x| x.slot_frequency), + Some(SlotFrequency { min: 1, max: 1 }) + ); + + // Params are updated after 2 sessions + run_to_session(2); + assert_eq!( + ParaRegistrar::parathread_params(ParaId::from(42)).map(|x| x.slot_frequency), + Some(SlotFrequency { min: 2, max: 2 }) + ); + }); +} + +#[test] +fn parathread_params_cannot_be_set_for_parachains() { + new_test_ext().execute_with(|| { + run_to_block(1); + assert_ok!(ParaRegistrar::register( + RuntimeOrigin::signed(ALICE), + 42.into(), + empty_genesis_data() + )); + assert!(ParaRegistrar::registrar_deposit(ParaId::from(42)).is_some()); + assert_ok!(ParaRegistrar::mark_valid_for_collating( + RuntimeOrigin::root(), + 42.into(), + )); + assert_noop!( + ParaRegistrar::set_parathread_params( + RuntimeOrigin::root(), + ParaId::from(42), + SlotFrequency { min: 2, max: 2 } + ), + Error::::NotAParathread + ); + }); +} + +#[test] +fn parathread_register_change_params_deregister() { + new_test_ext().execute_with(|| { + run_to_block(1); + assert_ok!(ParaRegistrar::register_parathread( + RuntimeOrigin::signed(ALICE), + 42.into(), + SlotFrequency { min: 1, max: 1 }, + empty_genesis_data() + )); + assert!(ParaRegistrar::registrar_deposit(ParaId::from(42)).is_some()); + assert_ok!(ParaRegistrar::mark_valid_for_collating( + RuntimeOrigin::root(), + 42.into(), + )); + assert_ok!(ParaRegistrar::set_parathread_params( + RuntimeOrigin::root(), + ParaId::from(42), + SlotFrequency { min: 2, max: 2 } + )); + + // Deregister parathread while parathread params are pending + assert_ok!(ParaRegistrar::deregister(RuntimeOrigin::root(), 42.into())); + assert!(ParaRegistrar::para_genesis_data(ParaId::from(42)).is_some()); + assert_eq!( + ParaRegistrar::parathread_params(ParaId::from(42)).map(|x| x.slot_frequency), + Some(SlotFrequency { min: 1, max: 1 }) + ); + + // Params removed after 2 sessions + run_to_session(2); + assert!(ParaRegistrar::para_genesis_data(ParaId::from(42)).is_none()); + assert!(ParaRegistrar::parathread_params(ParaId::from(42)).is_none()); + }); +} + +#[test] +fn parathread_register_deregister_change_params() { + new_test_ext().execute_with(|| { + run_to_block(1); + assert_ok!(ParaRegistrar::register_parathread( + RuntimeOrigin::signed(ALICE), + 42.into(), + SlotFrequency { min: 1, max: 1 }, + empty_genesis_data() + )); + assert!(ParaRegistrar::registrar_deposit(ParaId::from(42)).is_some()); + assert_ok!(ParaRegistrar::mark_valid_for_collating( + RuntimeOrigin::root(), + 42.into(), + )); + + // Deregister parathread while parathread params are pending + assert_ok!(ParaRegistrar::deregister(RuntimeOrigin::root(), 42.into())); + assert!(ParaRegistrar::para_genesis_data(ParaId::from(42)).is_some()); + assert!(ParaRegistrar::parathread_params(ParaId::from(42)).is_some()); + + run_to_session(1); + assert_ok!(ParaRegistrar::set_parathread_params( + RuntimeOrigin::root(), + ParaId::from(42), + SlotFrequency { min: 2, max: 2 } + )); + + // Params removed after 2 sessions + run_to_session(2); + assert!(ParaRegistrar::para_genesis_data(ParaId::from(42)).is_none()); + assert!(ParaRegistrar::parathread_params(ParaId::from(42)).is_none()); + + // Params not updated after 3 sessions + run_to_session(3); + assert!(ParaRegistrar::parathread_params(ParaId::from(42)).is_none()); + }); +} + #[test] fn weights_assigned_to_extrinsics_are_correct() { new_test_ext().execute_with(|| { diff --git a/pallets/registrar/src/weights.rs b/pallets/registrar/src/weights.rs index 30b244e71..6d0ba3903 100644 --- a/pallets/registrar/src/weights.rs +++ b/pallets/registrar/src/weights.rs @@ -18,10 +18,10 @@ //! Autogenerated weights for pallet_registrar //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-12-11, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-01-30, STEPS: `16`, REPEAT: `1`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `tomasz-XPS-15-9520`, CPU: `12th Gen Intel(R) Core(TM) i7-12700H` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/tanssi-node @@ -33,15 +33,16 @@ // pallet_registrar // --extrinsic // * +// --chain=dev // --steps -// 50 +// 16 // --repeat -// 20 +// 1 // --template=./benchmarking/frame-weight-template.hbs // --json-file // raw.json // --output -// weights.rs +// tmp/pallet_registrar.rs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -58,6 +59,8 @@ pub trait WeightInfo { fn mark_valid_for_collating(y: u32, ) -> Weight; fn pause_container_chain(y: u32, ) -> Weight; fn unpause_container_chain(y: u32, ) -> Weight; + fn register_parathread(x: u32, y: u32, z: u32, ) -> Weight; + fn set_parathread_params(y: u32, ) -> Weight; } /// Weights for pallet_registrar using the Substrate node and recommended hardware. @@ -76,18 +79,18 @@ impl WeightInfo for SubstrateWeight { /// The range of component `z` is `[1, 10]`. fn register(x: u32, y: u32, z: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `389 + y * (12 ±0)` - // Estimated: `3833 + y * (12 ±0) + z * (2 ±0)` - // Minimum execution time: 36_211_000 picoseconds. - Weight::from_parts(37_222_000, 3833) - // Standard Error: 8 - .saturating_add(Weight::from_parts(612, 0).saturating_mul(x.into())) - // Standard Error: 2_644_145 - .saturating_add(Weight::from_parts(77_565_165, 0).saturating_mul(z.into())) + // Measured: `350 + y * (13 ±0)` + // Estimated: `3809 + y * (13 ±0) + z * (3 ±2)` + // Minimum execution time: 38_408_000 picoseconds. + Weight::from_parts(38_408_000, 3809) + // Standard Error: 53 + .saturating_add(Weight::from_parts(751, 0).saturating_mul(x.into())) + // Standard Error: 16_331_035 + .saturating_add(Weight::from_parts(115_744_655, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) - .saturating_add(Weight::from_parts(0, 12).saturating_mul(y.into())) - .saturating_add(Weight::from_parts(0, 2).saturating_mul(z.into())) + .saturating_add(Weight::from_parts(0, 13).saturating_mul(y.into())) + .saturating_add(Weight::from_parts(0, 3).saturating_mul(z.into())) } /// Storage: `Registrar::PendingVerification` (r:1 w:1) /// Proof: `Registrar::PendingVerification` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) @@ -99,6 +102,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: `ServicesPayment::BlockProductionCredits` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`) /// Storage: `Registrar::ParaGenesisData` (r:0 w:1) /// Proof: `Registrar::ParaGenesisData` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Registrar::ParathreadParams` (r:0 w:1) + /// Proof: `Registrar::ParathreadParams` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `DataPreservers::BootNodes` (r:0 w:1) /// Proof: `DataPreservers::BootNodes` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `AuthorNoting::LatestAuthor` (r:0 w:1) @@ -107,16 +112,16 @@ impl WeightInfo for SubstrateWeight { /// The range of component `y` is `[1, 50]`. fn deregister_immediate(x: u32, y: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `237 + y * (17 ±0)` - // Estimated: `3795 + y * (15 ±0)` - // Minimum execution time: 39_973_000 picoseconds. - Weight::from_parts(46_896_246, 3795) - // Standard Error: 0 - .saturating_add(Weight::from_parts(4, 0).saturating_mul(x.into())) - // Standard Error: 10_525 - .saturating_add(Weight::from_parts(423_186, 0).saturating_mul(y.into())) + // Measured: `250 + y * (17 ±0)` + // Estimated: `3785 + y * (15 ±0)` + // Minimum execution time: 48_129_000 picoseconds. + Weight::from_parts(52_650_930, 3785) + // Standard Error: 1 + .saturating_add(Weight::from_parts(2, 0).saturating_mul(x.into())) + // Standard Error: 87_727 + .saturating_add(Weight::from_parts(372_523, 0).saturating_mul(y.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(7_u64)) + .saturating_add(T::DbWeight::get().writes(8_u64)) .saturating_add(Weight::from_parts(0, 15).saturating_mul(y.into())) } /// Storage: `Registrar::PendingVerification` (r:1 w:0) @@ -139,12 +144,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `396 + y * (4 ±0)` // Estimated: `1879 + y * (4 ±0)` - // Minimum execution time: 18_423_000 picoseconds. - Weight::from_parts(22_847_101, 1879) - // Standard Error: 0 - .saturating_add(Weight::from_parts(2, 0).saturating_mul(x.into())) - // Standard Error: 7_235 - .saturating_add(Weight::from_parts(310_069, 0).saturating_mul(y.into())) + // Minimum execution time: 23_181_000 picoseconds. + Weight::from_parts(24_298_819, 1879) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1, 0).saturating_mul(x.into())) + // Standard Error: 91_621 + .saturating_add(Weight::from_parts(304_778, 0).saturating_mul(y.into())) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 4).saturating_mul(y.into())) @@ -166,12 +171,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `y` is `[1, 50]`. fn mark_valid_for_collating(y: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1124 + y * (35 ±0)` - // Estimated: `4539 + y * (36 ±0)` - // Minimum execution time: 35_171_000 picoseconds. - Weight::from_parts(63_871_159, 4539) - // Standard Error: 17_776 - .saturating_add(Weight::from_parts(412_046, 0).saturating_mul(y.into())) + // Measured: `1111 + y * (36 ±0)` + // Estimated: `4514 + y * (36 ±2)` + // Minimum execution time: 49_292_000 picoseconds. + Weight::from_parts(58_444_147, 4514) + // Standard Error: 202_350 + .saturating_add(Weight::from_parts(578_764, 0).saturating_mul(y.into())) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 36).saturating_mul(y.into())) @@ -185,12 +190,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `y` is `[1, 50]`. fn pause_container_chain(y: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `431 + y * (8 ±0)` + // Measured: `428 + y * (8 ±0)` // Estimated: `1912 + y * (8 ±0)` - // Minimum execution time: 17_880_000 picoseconds. - Weight::from_parts(31_481_525, 1912) - // Standard Error: 10_053 - .saturating_add(Weight::from_parts(239_195, 0).saturating_mul(y.into())) + // Minimum execution time: 30_666_000 picoseconds. + Weight::from_parts(35_290_910, 1912) + // Standard Error: 50_241 + .saturating_add(Weight::from_parts(104_888, 0).saturating_mul(y.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(y.into())) @@ -204,16 +209,60 @@ impl WeightInfo for SubstrateWeight { /// The range of component `y` is `[1, 50]`. fn unpause_container_chain(y: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `431 + y * (8 ±0)` + // Measured: `428 + y * (8 ±0)` // Estimated: `1912 + y * (8 ±0)` - // Minimum execution time: 16_507_000 picoseconds. - Weight::from_parts(27_573_892, 1912) - // Standard Error: 9_325 - .saturating_add(Weight::from_parts(393_980, 0).saturating_mul(y.into())) + // Minimum execution time: 25_774_000 picoseconds. + Weight::from_parts(29_010_669, 1912) + // Standard Error: 39_979 + .saturating_add(Weight::from_parts(267_751, 0).saturating_mul(y.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(y.into())) } + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Registrar::ParaGenesisData` (r:1 w:1) + /// Proof: `Registrar::ParaGenesisData` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Registrar::PendingVerification` (r:1 w:1) + /// Proof: `Registrar::PendingVerification` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Registrar::ParathreadParams` (r:0 w:1) + /// Proof: `Registrar::ParathreadParams` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Registrar::RegistrarDeposit` (r:0 w:1) + /// Proof: `Registrar::RegistrarDeposit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `x` is `[5, 3000000]`. + /// The range of component `y` is `[1, 50]`. + /// The range of component `z` is `[1, 10]`. + fn register_parathread(x: u32, y: u32, z: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `384 + y * (13 ±0)` + // Estimated: `3833 + y * (13 ±0) + z * (3 ±2)` + // Minimum execution time: 42_264_000 picoseconds. + Weight::from_parts(42_264_000, 3833) + // Standard Error: 51 + .saturating_add(Weight::from_parts(722, 0).saturating_mul(x.into())) + // Standard Error: 15_908_841 + .saturating_add(Weight::from_parts(112_465_553, 0).saturating_mul(z.into())) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(5_u64)) + .saturating_add(Weight::from_parts(0, 13).saturating_mul(y.into())) + .saturating_add(Weight::from_parts(0, 3).saturating_mul(z.into())) + } + /// Storage: `Registrar::ParathreadParams` (r:1 w:0) + /// Proof: `Registrar::ParathreadParams` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Registrar::PendingParathreadParams` (r:1 w:1) + /// Proof: `Registrar::PendingParathreadParams` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Session::CurrentIndex` (r:1 w:0) + /// Proof: `Session::CurrentIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `y` is `[1, 50]`. + fn set_parathread_params(_y: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `483` + // Estimated: `3948` + // Minimum execution time: 19_970_000 picoseconds. + Weight::from_parts(23_219_566, 3948) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } } // For backwards compatibility and tests @@ -231,18 +280,18 @@ impl WeightInfo for () { /// The range of component `z` is `[1, 10]`. fn register(x: u32, y: u32, z: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `389 + y * (12 ±0)` - // Estimated: `3833 + y * (12 ±0) + z * (2 ±0)` - // Minimum execution time: 36_211_000 picoseconds. - Weight::from_parts(37_222_000, 3833) - // Standard Error: 8 - .saturating_add(Weight::from_parts(612, 0).saturating_mul(x.into())) - // Standard Error: 2_644_145 - .saturating_add(Weight::from_parts(77_565_165, 0).saturating_mul(z.into())) + // Measured: `350 + y * (13 ±0)` + // Estimated: `3809 + y * (13 ±0) + z * (3 ±2)` + // Minimum execution time: 38_408_000 picoseconds. + Weight::from_parts(38_408_000, 3809) + // Standard Error: 53 + .saturating_add(Weight::from_parts(751, 0).saturating_mul(x.into())) + // Standard Error: 16_331_035 + .saturating_add(Weight::from_parts(115_744_655, 0).saturating_mul(z.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) - .saturating_add(Weight::from_parts(0, 12).saturating_mul(y.into())) - .saturating_add(Weight::from_parts(0, 2).saturating_mul(z.into())) + .saturating_add(Weight::from_parts(0, 13).saturating_mul(y.into())) + .saturating_add(Weight::from_parts(0, 3).saturating_mul(z.into())) } /// Storage: `Registrar::PendingVerification` (r:1 w:1) /// Proof: `Registrar::PendingVerification` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) @@ -254,6 +303,8 @@ impl WeightInfo for () { /// Proof: `ServicesPayment::BlockProductionCredits` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`) /// Storage: `Registrar::ParaGenesisData` (r:0 w:1) /// Proof: `Registrar::ParaGenesisData` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Registrar::ParathreadParams` (r:0 w:1) + /// Proof: `Registrar::ParathreadParams` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `DataPreservers::BootNodes` (r:0 w:1) /// Proof: `DataPreservers::BootNodes` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `AuthorNoting::LatestAuthor` (r:0 w:1) @@ -262,16 +313,16 @@ impl WeightInfo for () { /// The range of component `y` is `[1, 50]`. fn deregister_immediate(x: u32, y: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `237 + y * (17 ±0)` - // Estimated: `3795 + y * (15 ±0)` - // Minimum execution time: 39_973_000 picoseconds. - Weight::from_parts(46_896_246, 3795) - // Standard Error: 0 - .saturating_add(Weight::from_parts(4, 0).saturating_mul(x.into())) - // Standard Error: 10_525 - .saturating_add(Weight::from_parts(423_186, 0).saturating_mul(y.into())) + // Measured: `250 + y * (17 ±0)` + // Estimated: `3785 + y * (15 ±0)` + // Minimum execution time: 48_129_000 picoseconds. + Weight::from_parts(52_650_930, 3785) + // Standard Error: 1 + .saturating_add(Weight::from_parts(2, 0).saturating_mul(x.into())) + // Standard Error: 87_727 + .saturating_add(Weight::from_parts(372_523, 0).saturating_mul(y.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(7_u64)) + .saturating_add(RocksDbWeight::get().writes(8_u64)) .saturating_add(Weight::from_parts(0, 15).saturating_mul(y.into())) } /// Storage: `Registrar::PendingVerification` (r:1 w:0) @@ -294,12 +345,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `396 + y * (4 ±0)` // Estimated: `1879 + y * (4 ±0)` - // Minimum execution time: 18_423_000 picoseconds. - Weight::from_parts(22_847_101, 1879) - // Standard Error: 0 - .saturating_add(Weight::from_parts(2, 0).saturating_mul(x.into())) - // Standard Error: 7_235 - .saturating_add(Weight::from_parts(310_069, 0).saturating_mul(y.into())) + // Minimum execution time: 23_181_000 picoseconds. + Weight::from_parts(24_298_819, 1879) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1, 0).saturating_mul(x.into())) + // Standard Error: 91_621 + .saturating_add(Weight::from_parts(304_778, 0).saturating_mul(y.into())) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 4).saturating_mul(y.into())) @@ -321,12 +372,12 @@ impl WeightInfo for () { /// The range of component `y` is `[1, 50]`. fn mark_valid_for_collating(y: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1124 + y * (35 ±0)` - // Estimated: `4539 + y * (36 ±0)` - // Minimum execution time: 35_171_000 picoseconds. - Weight::from_parts(63_871_159, 4539) - // Standard Error: 17_776 - .saturating_add(Weight::from_parts(412_046, 0).saturating_mul(y.into())) + // Measured: `1111 + y * (36 ±0)` + // Estimated: `4514 + y * (36 ±2)` + // Minimum execution time: 49_292_000 picoseconds. + Weight::from_parts(58_444_147, 4514) + // Standard Error: 202_350 + .saturating_add(Weight::from_parts(578_764, 0).saturating_mul(y.into())) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 36).saturating_mul(y.into())) @@ -340,12 +391,12 @@ impl WeightInfo for () { /// The range of component `y` is `[1, 50]`. fn pause_container_chain(y: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `431 + y * (8 ±0)` + // Measured: `428 + y * (8 ±0)` // Estimated: `1912 + y * (8 ±0)` - // Minimum execution time: 17_880_000 picoseconds. - Weight::from_parts(31_481_525, 1912) - // Standard Error: 10_053 - .saturating_add(Weight::from_parts(239_195, 0).saturating_mul(y.into())) + // Minimum execution time: 30_666_000 picoseconds. + Weight::from_parts(35_290_910, 1912) + // Standard Error: 50_241 + .saturating_add(Weight::from_parts(104_888, 0).saturating_mul(y.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(y.into())) @@ -359,14 +410,58 @@ impl WeightInfo for () { /// The range of component `y` is `[1, 50]`. fn unpause_container_chain(y: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `431 + y * (8 ±0)` + // Measured: `428 + y * (8 ±0)` // Estimated: `1912 + y * (8 ±0)` - // Minimum execution time: 16_507_000 picoseconds. - Weight::from_parts(27_573_892, 1912) - // Standard Error: 9_325 - .saturating_add(Weight::from_parts(393_980, 0).saturating_mul(y.into())) + // Minimum execution time: 25_774_000 picoseconds. + Weight::from_parts(29_010_669, 1912) + // Standard Error: 39_979 + .saturating_add(Weight::from_parts(267_751, 0).saturating_mul(y.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(y.into())) } + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Registrar::ParaGenesisData` (r:1 w:1) + /// Proof: `Registrar::ParaGenesisData` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Registrar::PendingVerification` (r:1 w:1) + /// Proof: `Registrar::PendingVerification` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Registrar::ParathreadParams` (r:0 w:1) + /// Proof: `Registrar::ParathreadParams` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Registrar::RegistrarDeposit` (r:0 w:1) + /// Proof: `Registrar::RegistrarDeposit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `x` is `[5, 3000000]`. + /// The range of component `y` is `[1, 50]`. + /// The range of component `z` is `[1, 10]`. + fn register_parathread(x: u32, y: u32, z: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `384 + y * (13 ±0)` + // Estimated: `3833 + y * (13 ±0) + z * (3 ±2)` + // Minimum execution time: 42_264_000 picoseconds. + Weight::from_parts(42_264_000, 3833) + // Standard Error: 51 + .saturating_add(Weight::from_parts(722, 0).saturating_mul(x.into())) + // Standard Error: 15_908_841 + .saturating_add(Weight::from_parts(112_465_553, 0).saturating_mul(z.into())) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(5_u64)) + .saturating_add(Weight::from_parts(0, 13).saturating_mul(y.into())) + .saturating_add(Weight::from_parts(0, 3).saturating_mul(z.into())) + } + /// Storage: `Registrar::ParathreadParams` (r:1 w:0) + /// Proof: `Registrar::ParathreadParams` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Registrar::PendingParathreadParams` (r:1 w:1) + /// Proof: `Registrar::PendingParathreadParams` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Session::CurrentIndex` (r:1 w:0) + /// Proof: `Session::CurrentIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `y` is `[1, 50]`. + fn set_parathread_params(_y: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `483` + // Estimated: `3948` + // Minimum execution time: 19_970_000 picoseconds. + Weight::from_parts(23_219_566, 3948) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } } diff --git a/pallets/services-payment/Cargo.toml b/pallets/services-payment/Cargo.toml index 0fd31ff08..d90a5175b 100644 --- a/pallets/services-payment/Cargo.toml +++ b/pallets/services-payment/Cargo.toml @@ -17,6 +17,7 @@ log = { workspace = true } parity-scale-codec = { workspace = true, features = [ "derive", "max-encoded-len" ] } scale-info = { workspace = true } serde = { workspace = true, optional = true, features = [ "derive" ] } +sp-io = { workspace = true } sp-runtime = { workspace = true } sp-std = { workspace = true } tp-traits = { workspace = true } diff --git a/pallets/services-payment/src/benchmarks.rs b/pallets/services-payment/src/benchmarks.rs index 0b0cbf531..8a80128b8 100644 --- a/pallets/services-payment/src/benchmarks.rs +++ b/pallets/services-payment/src/benchmarks.rs @@ -18,14 +18,16 @@ //! Benchmarking use { - crate::{BalanceOf, BlockNumberFor, Call, Config, Pallet}, + crate::{BalanceOf, BlockNumberFor, Call, Config, Pallet, ProvideBlockProductionCost}, frame_benchmarking::{account, v2::*}, frame_support::{ assert_ok, - traits::{Currency, Get}, + traits::{Currency, EnsureOriginWithArg, Get}, }, frame_system::RawOrigin, + sp_runtime::Saturating, sp_std::prelude::*, + tp_traits::AuthorNotingHook, }; // Build genesis storage according to the mock runtime. @@ -57,9 +59,11 @@ mod benchmarks { #[benchmark] fn purchase_credits() { - let caller = create_funded_user::("caller", 1, 1000); let para_id = 1001u32.into(); - let credits = T::MaxCreditsStored::get(); + let payment: BalanceOf = T::ProvideBlockProductionCost::block_cost(¶_id) + .0 + .saturating_mul(1000u32.into()); + let caller = create_funded_user::("caller", 1, 1_000_000_000u32); // Before call: 0 credits assert_eq!( @@ -68,31 +72,24 @@ mod benchmarks { ); #[extrinsic_call] - Pallet::::purchase_credits( - RawOrigin::Signed(caller), - para_id, - credits, - Some(u32::MAX.into()), - ); + Pallet::::purchase_credits(RawOrigin::Signed(caller), para_id, payment); // verification code assert_eq!( - crate::BlockProductionCredits::::get(¶_id).unwrap_or_default(), - credits + ::total_balance(&crate::Pallet::::parachain_tank(para_id)), + payment ); } #[benchmark] fn set_credits() { - let caller = create_funded_user::("caller", 1, 1000); let para_id = 1001u32.into(); let credits = T::MaxCreditsStored::get(); - assert_ok!(Pallet::::purchase_credits( - RawOrigin::Signed(caller).into(), + assert_ok!(Pallet::::set_credits( + RawOrigin::Root.into(), para_id, credits, - Some(u32::MAX.into()), )); // Before call: 1000 credits @@ -125,5 +122,47 @@ mod benchmarks { assert!(crate::GivenFreeCredits::::get(¶_id).is_some()); } + #[benchmark] + fn set_refund_address() { + let para_id = 1001u32.into(); + + let origin = T::SetRefundAddressOrigin::try_successful_origin(¶_id) + .expect("failed to create SetRefundAddressOrigin"); + + let refund_address = account("sufficient", 0, 1000); + + // Before call: no given free credits + assert!(crate::RefundAddress::::get(¶_id).is_none()); + + #[extrinsic_call] + Pallet::::set_refund_address(origin as T::RuntimeOrigin, para_id, Some(refund_address)); + + // After call: given free credits + assert!(crate::RefundAddress::::get(¶_id).is_some()); + } + + #[benchmark] + fn on_container_author_noted() { + let para_id = 1001u32; + let block_cost = T::ProvideBlockProductionCost::block_cost(¶_id.into()).0; + let max_credit_stored = T::MaxCreditsStored::get(); + let balance_to_purchase = block_cost.saturating_mul(max_credit_stored.into()); + let caller = create_funded_user::("caller", 1, 1_000_000_000u32); + let existential_deposit = ::minimum_balance(); + assert_ok!(Pallet::::purchase_credits( + RawOrigin::Signed(caller.clone()).into(), + para_id.into(), + balance_to_purchase + existential_deposit + )); + #[block] + { + as AuthorNotingHook>::on_container_author_noted( + &caller, + 0, + para_id.into(), + ); + } + } + impl_benchmark_test_suite!(Pallet, crate::benchmarks::new_test_ext(), crate::mock::Test); } diff --git a/pallets/services-payment/src/lib.rs b/pallets/services-payment/src/lib.rs index f46d1cdcb..64f238491 100644 --- a/pallets/services-payment/src/lib.rs +++ b/pallets/services-payment/src/lib.rs @@ -41,10 +41,15 @@ use { frame_support::{ pallet_prelude::*, sp_runtime::{traits::Zero, Saturating}, - traits::{tokens::ExistenceRequirement, Currency, WithdrawReasons}, + traits::{ + tokens::ExistenceRequirement, Currency, EnsureOriginWithArg, OnUnbalanced, + WithdrawReasons, + }, }, frame_system::pallet_prelude::*, scale_info::prelude::vec::Vec, + sp_io::hashing::blake2_256, + sp_runtime::traits::TrailingZeroInput, tp_traits::{AuthorNotingHook, BlockNumber}, }; @@ -68,11 +73,15 @@ pub mod pallet { /// The overarching event type. type RuntimeEvent: From> + IsType<::RuntimeEvent>; /// Handler for fees - type OnChargeForBlockCredit: OnChargeForBlockCredit; + type OnChargeForBlock: OnUnbalanced>; /// Currency type for fee payment type Currency: Currency; /// Provider of a block cost which can adjust from block to block type ProvideBlockProductionCost: ProvideBlockProductionCost; + + // Who can call set_refund_address? + type SetRefundAddressOrigin: EnsureOriginWithArg; + /// The maximum number of credits that can be accumulated type MaxCreditsStored: Get>; @@ -95,9 +104,7 @@ pub mod pallet { CreditsPurchased { para_id: ParaId, payer: T::AccountId, - fee: BalanceOf, - credits_purchased: BlockNumberFor, - credits_remaining: BlockNumberFor, + credit: BalanceOf, }, CreditBurned { para_id: ParaId, @@ -107,10 +114,14 @@ pub mod pallet { para_id: ParaId, credits: BlockNumberFor, }, + RefundAddressUpdated { + para_id: ParaId, + refund_address: Option, + }, } #[pallet::storage] - #[pallet::getter(fn collator_commission)] + #[pallet::getter(fn free_block_production_credits)] pub type BlockProductionCredits = StorageMap<_, Blake2_128Concat, ParaId, BlockNumberFor, OptionQuery>; @@ -119,6 +130,12 @@ pub mod pallet { #[pallet::getter(fn given_free_credits)] pub type GivenFreeCredits = StorageMap<_, Blake2_128Concat, ParaId, (), OptionQuery>; + /// Refund address + #[pallet::storage] + #[pallet::getter(fn refund_address)] + pub type RefundAddress = + StorageMap<_, Blake2_128Concat, ParaId, T::AccountId, OptionQuery>; + #[pallet::call] impl Pallet where @@ -129,44 +146,21 @@ pub mod pallet { pub fn purchase_credits( origin: OriginFor, para_id: ParaId, - credits: BlockNumberFor, - max_price_per_credit: Option>, + credit: BalanceOf, ) -> DispatchResultWithPostInfo { let account = ensure_signed(origin)?; - - let existing_credits = - BlockProductionCredits::::get(para_id).unwrap_or(BlockNumberFor::::zero()); - let credits_purchasable = T::MaxCreditsStored::get().saturating_sub(existing_credits); - let actual_credits_purchased = credits.min(credits_purchasable); - - let updated_credits = existing_credits.saturating_add(actual_credits_purchased); - - // get the current per-credit cost of a block - let (block_cost, _weight) = T::ProvideBlockProductionCost::block_cost(¶_id); - if let Some(max_price_per_credit) = max_price_per_credit { - ensure!( - block_cost <= max_price_per_credit, - Error::::CreditPriceTooExpensive, - ); - } - - let total_fee = block_cost.saturating_mul(actual_credits_purchased.into()); - - T::OnChargeForBlockCredit::charge_credits( + let parachain_tank = Self::parachain_tank(para_id); + T::Currency::transfer( &account, - ¶_id, - actual_credits_purchased, - total_fee, + ¶chain_tank, + credit, + ExistenceRequirement::KeepAlive, )?; - BlockProductionCredits::::insert(para_id, updated_credits); - Self::deposit_event(Event::::CreditsPurchased { para_id, payer: account, - fee: total_fee, - credits_purchased: actual_credits_purchased, - credits_remaining: updated_credits, + credit: credit, }); Ok(().into()) @@ -213,11 +207,35 @@ pub mod pallet { Ok(().into()) } + + /// Call index to set the refund address for non-spent tokens + #[pallet::call_index(3)] + #[pallet::weight(T::WeightInfo::set_refund_address())] + pub fn set_refund_address( + origin: OriginFor, + para_id: ParaId, + refund_address: Option, + ) -> DispatchResultWithPostInfo { + T::SetRefundAddressOrigin::ensure_origin(origin, ¶_id)?; + + if let Some(refund_address) = refund_address.clone() { + RefundAddress::::insert(para_id, refund_address.clone()); + } else { + RefundAddress::::remove(para_id); + } + + Self::deposit_event(Event::::RefundAddressUpdated { + para_id, + refund_address, + }); + + Ok(().into()) + } } impl Pallet { /// Burn a credit for the given para. Deducts one credit if possible, errors otherwise. - pub fn burn_credit_for_para(para_id: &ParaId) -> DispatchResultWithPostInfo { + pub fn burn_free_credit_for_para(para_id: &ParaId) -> DispatchResultWithPostInfo { let existing_credits = BlockProductionCredits::::get(para_id).unwrap_or(BlockNumberFor::::zero()); @@ -290,42 +308,12 @@ pub mod pallet { pub type BalanceOf = <::Currency as Currency<::AccountId>>::Balance; +pub type CurrencyOf = ::Currency; +/// Type alias to conveniently refer to the `Currency::NegativeImbalance` associated type. +pub type NegativeImbalanceOf = + as Currency<::AccountId>>::NegativeImbalance; /// Handler for fee charging. This will be invoked when fees need to be deducted from the fee /// account for a given paraId. -pub trait OnChargeForBlockCredit { - fn charge_credits( - payer: &T::AccountId, - para_id: &ParaId, - credits: BlockNumberFor, - fee: BalanceOf, - ) -> Result<(), Error>; -} - -pub struct ChargeForBlockCredit(PhantomData); -impl OnChargeForBlockCredit for ChargeForBlockCredit { - fn charge_credits( - payer: &T::AccountId, - _para_id: &ParaId, - _credits: BlockNumberFor, - fee: BalanceOf, - ) -> Result<(), crate::Error> { - use frame_support::traits::tokens::imbalance::Imbalance; - - let result = T::Currency::withdraw( - payer, - fee, - WithdrawReasons::FEE, - ExistenceRequirement::AllowDeath, - ); - let imbalance = result.map_err(|_| crate::Error::InsufficientFundsToPurchaseCredits)?; - - if imbalance.peek() != fee { - panic!("withdrawn balance incorrect"); - } - - Ok(()) - } -} /// Returns the cost for a given block credit at the current time. This can be a complex operation, /// so it also returns the weight it consumes. (TODO: or just rely on benchmarking) @@ -342,16 +330,61 @@ impl AuthorNotingHook for Pallet { _block_number: BlockNumber, para_id: ParaId, ) -> Weight { - let total_weight = T::DbWeight::get().reads_writes(1, 1); + if Pallet::::burn_free_credit_for_para(¶_id).is_err() { + let (amount_to_charge, _weight) = T::ProvideBlockProductionCost::block_cost(¶_id); + match T::Currency::withdraw( + &Self::parachain_tank(para_id), + amount_to_charge, + WithdrawReasons::FEE, + ExistenceRequirement::KeepAlive, + ) { + Err(e) => log::warn!( + "Failed to withdraw credits for container chain {}: {:?}", + u32::from(para_id), + e + ), + Ok(imbalance) => { + T::OnChargeForBlock::on_unbalanced(imbalance); + } + } + } - if let Err(e) = Pallet::::burn_credit_for_para(¶_id) { - log::warn!( - "Failed to burn credits for container chain {}: {:?}", - u32::from(para_id), - e - ); + T::WeightInfo::on_container_author_noted() + } +} + +impl Pallet { + /// Derive a derivative account ID from the paraId. + pub fn parachain_tank(para_id: ParaId) -> T::AccountId { + let entropy = (b"modlpy/serpayment", para_id).using_encoded(blake2_256); + Decode::decode(&mut TrailingZeroInput::new(entropy.as_ref())) + .expect("infinite length input; no invalid inputs for type; qed") + } + + /// Hook to perform things on deregister + pub fn para_deregistered(para_id: ParaId) { + // Drain the para-id account from tokens + let parachain_tank_balance = T::Currency::total_balance(&Self::parachain_tank(para_id)); + if !parachain_tank_balance.is_zero() { + if let Ok(imbalance) = T::Currency::withdraw( + &Self::parachain_tank(para_id), + parachain_tank_balance, + WithdrawReasons::FEE, + ExistenceRequirement::AllowDeath, + ) { + if let Some(address) = RefundAddress::::get(para_id) { + T::Currency::resolve_creating(&address, imbalance); + } else { + // Burn for now, we might be able to pass something to do with this + drop(imbalance); + } + } } - total_weight + // Clean refund addres + RefundAddress::::remove(para_id); + + // Clean credits + BlockProductionCredits::::remove(para_id); } } diff --git a/pallets/services-payment/src/mock.rs b/pallets/services-payment/src/mock.rs index 4f25b70ee..cd97c047f 100644 --- a/pallets/services-payment/src/mock.rs +++ b/pallets/services-payment/src/mock.rs @@ -29,13 +29,14 @@ //! to that containerChain, by simply assigning the slot position. use { - crate::{self as pallet_services_payment, ChargeForBlockCredit, ProvideBlockProductionCost}, + crate::{self as pallet_services_payment, ProvideBlockProductionCost}, cumulus_primitives_core::ParaId, frame_support::{ pallet_prelude::*, parameter_types, traits::{ConstU32, ConstU64, Everything}, }, + frame_system::EnsureRoot, sp_core::H256, sp_runtime::{ traits::{BlakeTwo256, IdentityLookup}, @@ -110,9 +111,10 @@ parameter_types! { impl pallet_services_payment::Config for Test { type RuntimeEvent = RuntimeEvent; - type OnChargeForBlockCredit = ChargeForBlockCredit; + type OnChargeForBlock = (); type Currency = Balances; type ProvideBlockProductionCost = BlockProductionCost; + type SetRefundAddressOrigin = EnsureRoot; type MaxCreditsStored = MaxCreditsStored; type WeightInfo = (); } @@ -165,13 +167,3 @@ pub(crate) fn events() -> Vec> { }) .collect::>() } - -// This function basically just builds a genesis storage key/value store according to -// our desired mockup. -#[cfg(feature = "runtime-benchmarks")] -pub fn new_test_ext() -> sp_io::TestExternalities { - frame_system::GenesisConfig::::default() - .build_storage() - .unwrap() - .into() -} diff --git a/pallets/services-payment/src/tests.rs b/pallets/services-payment/src/tests.rs index 4167e3bf8..2fca3d004 100644 --- a/pallets/services-payment/src/tests.rs +++ b/pallets/services-payment/src/tests.rs @@ -29,10 +29,11 @@ //! to that containerChain, by simply assigning the slot position. use { - crate::{mock::*, pallet as pallet_services_payment, BlockProductionCredits}, + crate::{mock::*, pallet as pallet_services_payment, BlockProductionCredits, RefundAddress}, cumulus_primitives_core::ParaId, - frame_support::{assert_err, assert_ok}, + frame_support::{assert_err, assert_ok, traits::fungible::Inspect}, sp_runtime::DispatchError, + tp_traits::AuthorNotingHook, }; const ALICE: u64 = 1; @@ -48,8 +49,7 @@ fn purchase_credits_works() { assert_ok!(PaymentServices::purchase_credits( RuntimeOrigin::signed(ALICE), 1.into(), - MaxCreditsStored::get(), - None, + 100u128, ),); assert_eq!( @@ -57,142 +57,34 @@ fn purchase_credits_works() { vec![pallet_services_payment::Event::CreditsPurchased { para_id: 1.into(), payer: ALICE, - fee: 500, - credits_purchased: MaxCreditsStored::get(), - credits_remaining: MaxCreditsStored::get(), + credit: 100u128 }] ); - }); -} - -#[test] -fn purchase_credits_purchases_zero_when_max_already_stored() { - ExtBuilder::default() - .with_balances([(ALICE, 1_000)].into()) - .build() - .execute_with(|| { - System::set_block_number(1); - - let para_id = 1.into(); - assert_ok!(PaymentServices::purchase_credits( - RuntimeOrigin::signed(ALICE), - para_id, - MaxCreditsStored::get(), - None, - ),); - - assert_eq!( - >::get(para_id), - Some(MaxCreditsStored::get()) - ); - assert_ok!(PaymentServices::purchase_credits( - RuntimeOrigin::signed(ALICE), - para_id, - 1, - None - ),); - assert_eq!( - >::get(para_id), - Some(MaxCreditsStored::get()) - ); - - // should have two purchase events (one with MaxCreditsStored, then one with zero) assert_eq!( - events(), - vec![ - pallet_services_payment::Event::CreditsPurchased { - para_id, - payer: ALICE, - fee: 500, - credits_purchased: MaxCreditsStored::get(), - credits_remaining: MaxCreditsStored::get(), - }, - pallet_services_payment::Event::CreditsPurchased { - para_id, - payer: ALICE, - fee: 0, - credits_purchased: 0, - credits_remaining: MaxCreditsStored::get(), - }, - ] + Balances::balance(&crate::Pallet::::parachain_tank(1.into())), + 100u128 ); }); } - #[test] -fn purchase_credits_purchases_max_possible_when_cant_purchase_all_requested() { +fn purchase_credits_fails_with_insufficient_balance() { ExtBuilder::default() .with_balances([(ALICE, 1_000)].into()) .build() .execute_with(|| { - System::set_block_number(1); - - let para_id = 1.into(); - let amount_purchased = 1u64; - assert_ok!(PaymentServices::purchase_credits( - RuntimeOrigin::signed(ALICE), - para_id, - amount_purchased, - None, - )); - - let purchasable = MaxCreditsStored::get() - amount_purchased; - assert_eq!(purchasable, 4); - - assert_eq!( - >::get(para_id), - Some(amount_purchased) - ); - assert_ok!(PaymentServices::purchase_credits( - RuntimeOrigin::signed(ALICE), - para_id, - MaxCreditsStored::get(), - None, - ),); - assert_eq!( - >::get(para_id), - Some(MaxCreditsStored::get()) - ); - - // should have two purchase events (one with amount_purchased, then with purchasable) - assert_eq!( - events(), - vec![ - pallet_services_payment::Event::CreditsPurchased { - para_id, - payer: ALICE, - fee: 100, - credits_purchased: amount_purchased, - credits_remaining: amount_purchased, - }, - pallet_services_payment::Event::CreditsPurchased { - para_id, - payer: ALICE, - fee: 400, - credits_purchased: purchasable, - credits_remaining: MaxCreditsStored::get(), - }, - ] + // cannot purchase if death + assert_err!( + PaymentServices::purchase_credits(RuntimeOrigin::signed(ALICE), 1.into(), 1000u128), + sp_runtime::TokenError::NotExpendable, ); }); } -#[test] -fn purchase_credits_fails_with_insufficient_balance() { - ExtBuilder::default().build().execute_with(|| { - // really what we're testing is that purchase_credits fails when OnChargeForBlockCredits does - assert_err!( - PaymentServices::purchase_credits(RuntimeOrigin::signed(ALICE), 1.into(), 1, None), - pallet_services_payment::Error::::InsufficientFundsToPurchaseCredits, - ); - }); -} - #[test] fn burn_credit_fails_with_no_credits() { ExtBuilder::default().build().execute_with(|| { assert_err!( - PaymentServices::burn_credit_for_para(&1u32.into()), + PaymentServices::burn_free_credit_for_para(&1u32.into()), pallet_services_payment::Error::::InsufficientCredits, ); }); @@ -205,21 +97,20 @@ fn burn_credit_works() { .build() .execute_with(|| { let para_id = 1.into(); - assert_ok!(PaymentServices::purchase_credits( - RuntimeOrigin::signed(ALICE), + assert_ok!(PaymentServices::set_credits( + RuntimeOrigin::root(), para_id, 1u64, - None, ),); // should succeed and burn one assert_eq!(>::get(para_id), Some(1u64)); - assert_ok!(PaymentServices::burn_credit_for_para(¶_id)); + assert_ok!(PaymentServices::burn_free_credit_for_para(¶_id)); assert_eq!(>::get(para_id), Some(0u64)); // now should fail assert_err!( - PaymentServices::burn_credit_for_para(¶_id), + PaymentServices::burn_free_credit_for_para(¶_id), pallet_services_payment::Error::::InsufficientCredits, ); }); @@ -232,129 +123,256 @@ fn burn_credit_fails_for_wrong_para() { .build() .execute_with(|| { let para_id = 1.into(); - assert_ok!(PaymentServices::purchase_credits( - RuntimeOrigin::signed(ALICE), + assert_ok!(PaymentServices::set_credits( + RuntimeOrigin::root(), para_id, 1u64, - None, ),); // fails for wrong para let wrong_para_id = 2.into(); assert_err!( - PaymentServices::burn_credit_for_para(&wrong_para_id), + PaymentServices::burn_free_credit_for_para(&wrong_para_id), pallet_services_payment::Error::::InsufficientCredits, ); }); } #[test] -fn buy_credits_no_limit_works() { +fn set_credits_bad_origin() { + ExtBuilder::default() + .with_balances([(ALICE, 1_000)].into()) + .build() + .execute_with(|| { + assert_err!( + PaymentServices::set_credits(RuntimeOrigin::signed(ALICE), 1.into(), 1u64,), + DispatchError::BadOrigin + ) + }); +} + +#[test] +fn set_credits_above_max_works() { ExtBuilder::default() .with_balances([(ALICE, 1_000)].into()) .build() .execute_with(|| { + assert_ok!(PaymentServices::set_credits( + RuntimeOrigin::root(), + 1.into(), + MaxCreditsStored::get() * 2, + )); + + assert_eq!( + >::get(ParaId::from(1)), + Some(MaxCreditsStored::get() * 2) + ); + }); +} + +#[test] +fn set_credits_to_zero_kills_storage() { + ExtBuilder::default() + .with_balances([(ALICE, 1_000)].into()) + .build() + .execute_with(|| { + assert_ok!(PaymentServices::set_credits( + RuntimeOrigin::root(), + 1.into(), + 0u64, + )); + + assert_eq!(>::get(ParaId::from(1)), None,); + }); +} + +#[test] +fn credits_should_be_substracted_from_tank_if_no_free_credits() { + ExtBuilder::default() + .with_balances([(ALICE, 2_000)].into()) + .build() + .execute_with(|| { + // this should give 10 block credit assert_ok!(PaymentServices::purchase_credits( RuntimeOrigin::signed(ALICE), 1.into(), - 1u64, - None, + 1000u128, )); + + assert_eq!( + Balances::balance(&crate::Pallet::::parachain_tank(1.into())), + 1000u128 + ); + + PaymentServices::on_container_author_noted(&1, 1, 1.into()); + + assert_eq!( + Balances::balance(&crate::Pallet::::parachain_tank(1.into())), + 900u128 + ); }); } #[test] -fn buy_credits_too_expensive_fails() { +fn credits_should_not_be_substracted_from_tank_if_it_involves_death() { ExtBuilder::default() - .with_balances([(ALICE, 1_000)].into()) + .with_balances([(ALICE, 2_000)].into()) .build() .execute_with(|| { - assert_err!( - PaymentServices::purchase_credits( - RuntimeOrigin::signed(ALICE), - 1.into(), - 1u64, - Some(FIXED_BLOCK_PRODUCTION_COST - 1), - ), - pallet_services_payment::Error::::CreditPriceTooExpensive, + // this should give 10 block credit + assert_ok!(PaymentServices::purchase_credits( + RuntimeOrigin::signed(ALICE), + 1.into(), + 100u128, + )); + + assert_eq!( + Balances::balance(&crate::Pallet::::parachain_tank(1.into())), + 100u128 + ); + + PaymentServices::on_container_author_noted(&1, 1, 1.into()); + + assert_eq!( + Balances::balance(&crate::Pallet::::parachain_tank(1.into())), + 100u128 ); }); } #[test] -fn buy_credits_exact_price_limit_works() { +fn not_having_enough_tokens_in_tank_should_not_error() { ExtBuilder::default() - .with_balances([(ALICE, 1_000)].into()) + .with_balances([(ALICE, 2_000)].into()) .build() .execute_with(|| { + // this should give 10 block credit assert_ok!(PaymentServices::purchase_credits( RuntimeOrigin::signed(ALICE), 1.into(), - 1u64, - Some(FIXED_BLOCK_PRODUCTION_COST), - ),); + 1u128, + )); + + assert_eq!( + Balances::balance(&crate::Pallet::::parachain_tank(1.into())), + 1u128 + ); + + PaymentServices::on_container_author_noted(&1, 1, 1.into()); + + assert_eq!( + Balances::balance(&crate::Pallet::::parachain_tank(1.into())), + 1u128 + ); }); } #[test] -fn buy_credits_limit_exceeds_price_works() { +fn on_deregister_burns_if_no_deposit_address() { ExtBuilder::default() - .with_balances([(ALICE, 1_000)].into()) + .with_balances([(ALICE, 2_000)].into()) .build() .execute_with(|| { + // this should give 10 block credit assert_ok!(PaymentServices::purchase_credits( RuntimeOrigin::signed(ALICE), 1.into(), - 1u64, - Some(FIXED_BLOCK_PRODUCTION_COST + 1), - ),); + 1000u128, + )); + + let issuance_before = Balances::total_issuance(); + crate::Pallet::::para_deregistered(1.into()); + let issuance_after = Balances::total_issuance(); + assert_eq!(issuance_after, issuance_before - 1000u128); + + // Refund address gets cleared + assert!(>::get(ParaId::from(1)).is_none()); }); } #[test] -fn set_credits_bad_origin() { +fn on_deregister_cleans_refund_address_even_when_purchases_have_not_being_made() { ExtBuilder::default() - .with_balances([(ALICE, 1_000)].into()) + .with_balances([(ALICE, 2_000)].into()) .build() .execute_with(|| { - assert_err!( - PaymentServices::set_credits(RuntimeOrigin::signed(ALICE), 1.into(), 1u64,), - DispatchError::BadOrigin - ) + let refund_address = 10u64; + + assert_ok!(PaymentServices::set_refund_address( + RuntimeOrigin::root(), + 1.into(), + Some(refund_address), + )); + + crate::Pallet::::para_deregistered(1.into()); + + // Refund address gets cleared + assert!(>::get(ParaId::from(1)).is_none()); }); } #[test] -fn set_credits_above_max_works() { +fn on_deregister_deposits_if_refund_address() { ExtBuilder::default() - .with_balances([(ALICE, 1_000)].into()) + .with_balances([(ALICE, 2_000)].into()) .build() .execute_with(|| { - assert_ok!(PaymentServices::set_credits( + let refund_address = 10u64; + // this should give 10 block credit + assert_ok!(PaymentServices::purchase_credits( + RuntimeOrigin::signed(ALICE), + 1.into(), + 1000u128, + )); + + // this should set refund address + assert_ok!(PaymentServices::set_refund_address( RuntimeOrigin::root(), 1.into(), - MaxCreditsStored::get() * 2, + Some(refund_address), )); - assert_eq!( - >::get(ParaId::from(1)), - Some(MaxCreditsStored::get() * 2) - ); + let issuance_before = Balances::total_issuance(); + crate::Pallet::::para_deregistered(1.into()); + let issuance_after = Balances::total_issuance(); + assert_eq!(issuance_after, issuance_before); + + let balance_refund_address = Balances::balance(&refund_address); + assert_eq!(balance_refund_address, 1000u128); + + assert!(>::get(ParaId::from(1)).is_none()); }); } #[test] -fn set_credits_to_zero_kills_storage() { +fn set_refund_address_with_none_removes_storage() { ExtBuilder::default() - .with_balances([(ALICE, 1_000)].into()) + .with_balances([(ALICE, 2_000)].into()) .build() .execute_with(|| { - assert_ok!(PaymentServices::set_credits( + let refund_address = 10u64; + // this should give 10 block credit + assert_ok!(PaymentServices::purchase_credits( + RuntimeOrigin::signed(ALICE), + 1.into(), + 1000u128, + )); + + // this should set refund address + assert_ok!(PaymentServices::set_refund_address( RuntimeOrigin::root(), 1.into(), - 0u64, + Some(refund_address), )); - assert_eq!(>::get(ParaId::from(1)), None,); + assert!(>::get(ParaId::from(1)).is_some()); + + assert_ok!(PaymentServices::set_refund_address( + RuntimeOrigin::root(), + 1.into(), + None, + )); + + assert!(>::get(ParaId::from(1)).is_none()); }); } diff --git a/pallets/services-payment/src/weights.rs b/pallets/services-payment/src/weights.rs index 9323b9822..c075ea08f 100644 --- a/pallets/services-payment/src/weights.rs +++ b/pallets/services-payment/src/weights.rs @@ -55,6 +55,8 @@ pub trait WeightInfo { fn purchase_credits() -> Weight; fn set_credits() -> Weight; fn set_given_free_credits() -> Weight; + fn on_container_author_noted() -> Weight; + fn set_refund_address() -> Weight; } /// Weights for pallet_services_payment using the Substrate node and recommended hardware. @@ -93,6 +95,33 @@ impl WeightInfo for SubstrateWeight { Weight::from_parts(2_691_000, 0) .saturating_add(T::DbWeight::get().writes(1_u64)) } + + /// Storage: `ServicesPayment::BlockProductionCredits` (r:1 w:0) + /// Proof: `ServicesPayment::BlockProductionCredits` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn on_container_author_noted() -> Weight { + // Proof Size summary in bytes: + // Measured: `224` + // Estimated: `3593` + // Minimum execution time: 19_043_000 picoseconds. + Weight::from_parts(19_499_000, 3593) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Registrar::RegistrarDeposit` (r:1 w:0) + /// Proof: `Registrar::RegistrarDeposit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `ServicesPayment::RefundAddress` (r:0 w:1) + /// Proof: `ServicesPayment::RefundAddress` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + fn set_refund_address() -> Weight { + // Proof Size summary in bytes: + // Measured: `195` + // Estimated: `3660` + // Minimum execution time: 12_734_000 picoseconds. + Weight::from_parts(13_245_000, 3660) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } } // For backwards compatibility and tests @@ -130,4 +159,30 @@ impl WeightInfo for () { Weight::from_parts(2_691_000, 0) .saturating_add(RocksDbWeight::get().writes(1_u64)) } + /// Storage: `ServicesPayment::BlockProductionCredits` (r:1 w:0) + /// Proof: `ServicesPayment::BlockProductionCredits` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn on_container_author_noted() -> Weight { + // Proof Size summary in bytes: + // Measured: `224` + // Estimated: `3593` + // Minimum execution time: 19_043_000 picoseconds. + Weight::from_parts(19_499_000, 3593) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Registrar::RegistrarDeposit` (r:1 w:0) + /// Proof: `Registrar::RegistrarDeposit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `ServicesPayment::RefundAddress` (r:0 w:1) + /// Proof: `ServicesPayment::RefundAddress` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + fn set_refund_address() -> Weight { + // Proof Size summary in bytes: + // Measured: `195` + // Estimated: `3660` + // Minimum execution time: 12_734_000 picoseconds. + Weight::from_parts(13_245_000, 3660) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8d468a91..2b3a9d5b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,14 +19,14 @@ importers: version: 0.1.6 devDependencies: '@acala-network/chopsticks': - specifier: npm:@tanssi/chopsticks@0.9.2 - version: /@tanssi/chopsticks@0.9.2(debug@4.3.4) + specifier: 0.9.9-1 + version: 0.9.9-1(debug@4.3.4) '@moonbeam-network/api-augment': specifier: 0.2600.0 version: 0.2600.0 '@moonwall/cli': specifier: 4.5.1 - version: 4.5.1(@polkadot/api@10.11.2)(@tanssi/chopsticks@0.9.2)(@types/node@20.10.5)(@vitest/ui@1.1.0)(typescript@5.3.3)(vitest@1.1.0) + version: 4.5.1(@acala-network/chopsticks@0.9.9-1)(@polkadot/api@10.11.2)(@types/node@20.10.5)(@vitest/ui@1.1.0)(typescript@5.3.3)(vitest@1.1.0) '@moonwall/util': specifier: 4.5.1 version: 4.5.1(@polkadot/api@10.11.2)(typescript@5.3.3)(vitest@1.1.0) @@ -189,6 +189,112 @@ packages: engines: {node: '>=0.10.0'} dev: true + /@acala-network/chopsticks-core@0.9.9-1: + resolution: {integrity: sha512-MYcAt9VdDNYgS4XHv2yB8XKSUfBxFbxjEQqg2eITqv3x2eu9p1xTDTeOVDLozjutJXdzfWqEYOGy+3AQehQzEA==} + dependencies: + '@acala-network/chopsticks-executor': 0.9.9-1 + '@polkadot/rpc-provider': 10.11.2 + '@polkadot/types': 10.11.2 + '@polkadot/types-codec': 10.11.2 + '@polkadot/types-known': 10.11.2 + '@polkadot/util': 12.6.2 + '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) + comlink: 4.4.1 + eventemitter3: 5.0.1 + lodash: 4.17.21 + lru-cache: 10.1.0 + pino: 8.18.0 + pino-pretty: 10.3.1 + rxjs: 7.8.1 + zod: 3.22.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /@acala-network/chopsticks-db@0.9.9-1: + resolution: {integrity: sha512-c/a+LduCyF6GZGVY39dnbjiFaAKOoF9MJ22LJqnyAGh7jDmJpasFnUsxBTgwm5rVxBEjDk2CXpBulBf+IebXvw==} + dependencies: + '@acala-network/chopsticks-core': 0.9.9-1 + '@polkadot/util': 12.6.2 + idb: 8.0.0 + sqlite3: 5.1.7 + typeorm: 0.3.20(sqlite3@5.1.7) + transitivePeerDependencies: + - '@google-cloud/spanner' + - '@sap/hana-client' + - better-sqlite3 + - bluebird + - bufferutil + - hdb-pool + - ioredis + - mongodb + - mssql + - mysql2 + - oracledb + - pg + - pg-native + - pg-query-stream + - redis + - sql.js + - supports-color + - ts-node + - typeorm-aurora-data-api-driver + - utf-8-validate + dev: true + + /@acala-network/chopsticks-executor@0.9.9-1: + resolution: {integrity: sha512-uuAfvvyknDUuAp3WpvaPXDcIdD0K98c/UdP0sh3AicYp6VCH17INVLLnOdiPq+/TMHDSJ599J6FZYGBcN27QBA==} + dependencies: + '@polkadot/util': 12.6.2 + '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2) + dev: true + + /@acala-network/chopsticks@0.9.9-1(debug@4.3.4): + resolution: {integrity: sha512-7Ejpv0DEj8go9zhxxkWKAKQArMHqkdryjRJdaSXZ5beDbrMlTOqvzOTLSp2EnP+tjyoG0f+L6bxEqN+6R3mmKg==} + hasBin: true + dependencies: + '@acala-network/chopsticks-core': 0.9.9-1 + '@acala-network/chopsticks-db': 0.9.9-1 + '@pnpm/npm-conf': 2.2.2 + '@polkadot/api-augment': 10.11.2 + '@polkadot/types': 10.11.2 + '@polkadot/util': 12.6.2 + '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) + axios: 1.6.7(debug@4.3.4) + dotenv: 16.4.1 + global-agent: 3.0.0 + js-yaml: 4.1.0 + jsondiffpatch: 0.5.0 + lodash: 4.17.21 + ws: 8.16.0 + yargs: 17.7.2 + zod: 3.22.4 + transitivePeerDependencies: + - '@google-cloud/spanner' + - '@sap/hana-client' + - better-sqlite3 + - bluebird + - bufferutil + - debug + - hdb-pool + - ioredis + - mongodb + - mssql + - mysql2 + - oracledb + - pg + - pg-native + - pg-query-stream + - redis + - sql.js + - supports-color + - ts-node + - typeorm-aurora-data-api-driver + - utf-8-validate + dev: true + /@adraffy/ens-normalize@1.10.0: resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} dev: true @@ -205,13 +311,6 @@ packages: resolution: {integrity: sha512-UK0bHA7hh9cR39V+4gl2/NnBBjoXIxkuWAPCaY4X7fbH4L/azIi7ilWOCjMUYfpJgraLUAqkRi2BqrjME8Rynw==} dev: true - /@babel/runtime@7.22.10: - resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.0 - dev: true - /@colors/colors@1.5.0: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -659,6 +758,18 @@ packages: resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} dev: true + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + /@jest/schemas@29.6.3: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -685,30 +796,12 @@ packages: dependencies: call-bind: 1.0.2 - /@mapbox/node-pre-gyp@1.0.11: - resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} - hasBin: true - dependencies: - detect-libc: 2.0.2 - https-proxy-agent: 5.0.1 - make-dir: 3.1.0 - node-fetch: 2.6.12 - nopt: 5.0.0 - npmlog: 5.0.1 - rimraf: 3.0.2 - semver: 7.5.4 - tar: 6.1.15 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - /@moonbeam-network/api-augment@0.2600.0: resolution: {integrity: sha512-Hnn7mw8Im+X8GgbX11EjydbPM5MTQSG6yHs7JE2mPYCgSf6PkqUqOil5F4nACI4hMn6rM6GTTdRXscu0ztiNvQ==} engines: {node: '>=14.0.0'} dev: true - /@moonwall/cli@4.5.1(@polkadot/api@10.11.2)(@tanssi/chopsticks@0.9.2)(@types/node@20.10.5)(@vitest/ui@1.1.0)(typescript@5.3.3)(vitest@1.1.0): + /@moonwall/cli@4.5.1(@acala-network/chopsticks@0.9.9-1)(@polkadot/api@10.11.2)(@types/node@20.10.5)(@vitest/ui@1.1.0)(typescript@5.3.3)(vitest@1.1.0): resolution: {integrity: sha512-2VCdqe0SXDMPfabuJJizyBU8+AJroIyZ1PbTqIiTe4MRn7eeBhvy+kktx9GlWyy03wR2VdVBuYolRKuh5BlSRQ==} engines: {node: '>=20.0.0', pnpm: '>=7'} hasBin: true @@ -718,7 +811,7 @@ packages: '@vitest/ui': 1.1.0 vitest: 1.1.0 dependencies: - '@acala-network/chopsticks': /@tanssi/chopsticks@0.9.2(debug@4.3.4) + '@acala-network/chopsticks': 0.9.9-1(debug@4.3.4) '@moonbeam-network/api-augment': 0.2600.0 '@moonwall/types': 4.5.1(@polkadot/api@10.11.2)(typescript@5.3.3) '@moonwall/util': 4.5.1(@polkadot/api@10.11.2)(typescript@5.3.3)(vitest@1.1.0) @@ -941,6 +1034,13 @@ packages: dev: true optional: true + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + /@pnpm/config.env-replace@1.1.0: resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} @@ -1285,16 +1385,6 @@ packages: '@polkadot/x-randomvalues': 12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2) tslib: 2.6.2 - /@polkadot/wasm-util@7.2.2(@polkadot/util@12.6.2): - resolution: {integrity: sha512-N/25960ifCc56sBlJZ2h5UBpEPvxBmMLgwYsl7CUuT+ea2LuJW9Xh8VHDN/guYXwmm92/KvuendYkEUykpm/JQ==} - engines: {node: '>=16'} - peerDependencies: - '@polkadot/util': '*' - dependencies: - '@polkadot/util': 12.6.2 - tslib: 2.6.2 - dev: true - /@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2): resolution: {integrity: sha512-bmD+Dxo1lTZyZNxbyPE380wd82QsX+43mgCm40boyKrRppXEyQmWT98v/Poc7chLuskYb6X8IQ6lvvK2bGR4Tg==} engines: {node: '>=18'} @@ -1575,119 +1665,6 @@ packages: /@substrate/ss58-registry@1.44.0: resolution: {integrity: sha512-7lQ/7mMCzVNSEfDS4BCqnRnKCFKpcOaPrxMeGTXHX1YQzM/m2BBHjbK2C3dJvjv7GYxMiaTq/HdWQj1xS6ss+A==} - /@tanssi/chopsticks-core@0.9.2(debug@4.3.4): - resolution: {integrity: sha512-CrbVrEnITLCLHnAckNA+x9W4MMvJsfRZNA16y1ewReiCG8rkb+zXNtzVXHlRcpmfLvwn88PDTgV7E0YJEIfOuA==} - dependencies: - '@polkadot/api': 10.11.2 - '@polkadot/rpc-provider': 10.11.2 - '@polkadot/types': 10.11.2 - '@polkadot/types-codec': 10.11.2 - '@polkadot/types-known': 10.11.2 - '@polkadot/util': 12.6.2 - '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) - '@tanssi/chopsticks-executor': 0.9.2 - axios: 1.6.2(debug@4.3.4) - comlink: 4.4.1 - eventemitter3: 5.0.1 - lodash: 4.17.21 - lru-cache: 10.1.0 - pino: 8.17.1 - pino-pretty: 10.3.0 - rxjs: 7.8.1 - zod: 3.22.4 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - dev: true - - /@tanssi/chopsticks-db@0.9.2(debug@4.3.4): - resolution: {integrity: sha512-j4U0Fv6zpL8tqVmaXQ+mxFOPeMKA3ahYDgdg0/kQxMcDWb/pPr2IvurQcxM13nr39fwDoavoBK2WsGLN4atL3A==} - dependencies: - '@polkadot/util': 12.6.2 - '@tanssi/chopsticks-core': 0.9.2(debug@4.3.4) - idb: 7.1.1 - sqlite3: 5.1.6 - typeorm: 0.3.17(sqlite3@5.1.6) - transitivePeerDependencies: - - '@google-cloud/spanner' - - '@sap/hana-client' - - better-sqlite3 - - bluebird - - bufferutil - - debug - - encoding - - hdb-pool - - ioredis - - mongodb - - mssql - - mysql2 - - oracledb - - pg - - pg-native - - pg-query-stream - - redis - - sql.js - - supports-color - - ts-node - - typeorm-aurora-data-api-driver - - utf-8-validate - dev: true - - /@tanssi/chopsticks-executor@0.9.2: - resolution: {integrity: sha512-98W/+z04tcE41JbB+wjXcrUYHT216D9RjjnzIakCN5uEcV5t6UaOVNv6wPa2CWD76TPHx3rLYa1iwoIHdv94GA==} - dependencies: - '@polkadot/util': 12.6.2 - '@polkadot/wasm-util': 7.2.2(@polkadot/util@12.6.2) - dev: true - - /@tanssi/chopsticks@0.9.2(debug@4.3.4): - resolution: {integrity: sha512-e/z11u08Kr8Nl71TxxQBb5ZzGXZl6B7UUbYk7nEGJ7DnitWYAdguXuntCBoJCcynZCppWu5OH4K8SY/p8iWlug==} - hasBin: true - dependencies: - '@pnpm/npm-conf': 2.2.2 - '@polkadot/api': 10.11.2 - '@polkadot/api-augment': 10.11.2 - '@polkadot/types': 10.11.2 - '@polkadot/util': 12.6.2 - '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) - '@tanssi/chopsticks-core': 0.9.2(debug@4.3.4) - '@tanssi/chopsticks-db': 0.9.2(debug@4.3.4) - axios: 1.6.2(debug@4.3.4) - dotenv: 16.3.1 - global-agent: 3.0.0 - js-yaml: 4.1.0 - jsondiffpatch: 0.5.0 - lodash: 4.17.21 - ws: 8.14.2 - yargs: 17.7.2 - zod: 3.22.4 - transitivePeerDependencies: - - '@google-cloud/spanner' - - '@sap/hana-client' - - better-sqlite3 - - bluebird - - bufferutil - - debug - - encoding - - hdb-pool - - ioredis - - mongodb - - mssql - - mysql2 - - oracledb - - pg - - pg-native - - pg-query-stream - - redis - - sql.js - - supports-color - - ts-node - - typeorm-aurora-data-api-driver - - utf-8-validate - dev: true - /@tootallnate/once@1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} @@ -2029,6 +2006,7 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} requiresBuild: true dev: true + optional: true /abitype@0.7.1(typescript@5.3.3): resolution: {integrity: sha512-VBkRHTDZf9Myaek/dO3yMmOzB/y2s3Zo6nVU7yaw1G+TvCHAjwaJzNGN9yo4K5D8bU/VZXKP1EJpRhFr862PlQ==} @@ -2106,11 +2084,13 @@ packages: /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} + requiresBuild: true dependencies: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true + optional: true /agent-base@7.1.0: resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} @@ -2178,6 +2158,11 @@ packages: engines: {node: '>=10'} dev: true + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true @@ -2196,15 +2181,9 @@ packages: /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + requiresBuild: true dev: true - - /are-we-there-yet@2.0.0: - resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} - engines: {node: '>=10'} - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - dev: true + optional: true /are-we-there-yet@3.0.1: resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} @@ -2253,10 +2232,10 @@ packages: engines: {node: '>= 0.4'} dev: true - /axios@1.6.2(debug@4.3.4): - resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} + /axios@1.6.7(debug@4.3.4): + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} dependencies: - follow-redirects: 1.15.2(debug@4.3.4) + follow-redirects: 1.15.5(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -2280,6 +2259,12 @@ packages: resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==} dev: true + /bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + dependencies: + file-uri-to-path: 1.0.0 + dev: true + /bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: @@ -2452,6 +2437,10 @@ packages: optionalDependencies: fsevents: 2.3.3 + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: true + /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -2552,7 +2541,9 @@ packages: /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true + requiresBuild: true dev: true + optional: true /colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -2607,7 +2598,9 @@ packages: /console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + requiresBuild: true dev: true + optional: true /crc-32@1.2.2: resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} @@ -2659,17 +2652,14 @@ packages: whatwg-mimetype: 4.0.0 whatwg-url: 14.0.0 - /date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} - dependencies: - '@babel/runtime': 7.22.10 - dev: true - /dateformat@4.6.3: resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} dev: true + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: true + /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -2695,6 +2685,13 @@ packages: character-entities: 2.0.2 dev: true + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: true + /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} @@ -2724,6 +2721,11 @@ packages: which-typed-array: 1.1.11 dev: true + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -2747,7 +2749,9 @@ packages: /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + requiresBuild: true dev: true + optional: true /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} @@ -2804,6 +2808,15 @@ packages: engines: {node: '>=12'} dev: true + /dotenv@16.4.1: + resolution: {integrity: sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==} + engines: {node: '>=12'} + dev: true + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + /elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: @@ -2819,6 +2832,10 @@ packages: /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + /encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} requiresBuild: true @@ -3089,6 +3106,11 @@ packages: strip-final-newline: 3.0.0 dev: true + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + dev: true + /external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -3175,6 +3197,10 @@ packages: flat-cache: 3.1.0 dev: true + /file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + dev: true + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -3221,12 +3247,32 @@ packages: debug: 4.3.4(supports-color@8.1.1) dev: true + /follow-redirects@1.15.5(debug@4.3.4): + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 4.3.4(supports-color@8.1.1) + dev: true + /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 dev: true + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -3241,6 +3287,10 @@ packages: dependencies: fetch-blob: 3.2.0 + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: true + /fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} @@ -3273,21 +3323,6 @@ packages: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true - /gauge@3.0.2: - resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} - engines: {node: '>=10'} - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - dev: true - /gauge@4.0.4: resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -3351,6 +3386,10 @@ packages: resolve-pkg-maps: 1.0.0 dev: true + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + dev: true + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -3364,6 +3403,18 @@ packages: is-glob: 4.0.3 dev: true + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 5.0.0 + path-scurry: 1.10.1 + dev: true + /glob@7.2.0: resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} dependencies: @@ -3384,17 +3435,6 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.0.1 - once: 1.4.0 - dev: true - /global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} engines: {node: '>=10.0'} @@ -3494,7 +3534,9 @@ packages: /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + requiresBuild: true dev: true + optional: true /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} @@ -3566,12 +3608,14 @@ packages: /https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} + requiresBuild: true dependencies: agent-base: 6.0.2 debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true + optional: true /https-proxy-agent@7.0.2: resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} @@ -3611,8 +3655,8 @@ packages: dependencies: safer-buffer: 2.1.2 - /idb@7.1.1: - resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + /idb@8.0.0: + resolution: {integrity: sha512-l//qvlAKGmQO31Qn7xdzagVPPaHTxXx199MhrAFuVBTPqydcPYBWjkrbv4Y0ktB+GmWOiwHl237UUOrLmQxLvw==} dev: true /ieee754@1.2.1: @@ -3950,6 +3994,15 @@ packages: ws: 8.13.0 dev: true + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + /joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -4032,7 +4085,6 @@ packages: chalk: 3.0.0 diff-match-patch: 1.0.5 dev: true - bundledDependencies: [] /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -4152,13 +4204,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.1 - dev: true - /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -4436,6 +4481,11 @@ packages: engines: {node: '>=12'} dev: true + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: true + /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true @@ -4534,6 +4584,10 @@ packages: yallist: 4.0.0 dev: true + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: true + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -4628,6 +4682,10 @@ packages: hasBin: true dev: true + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + dev: true + /napi-maybe-compressed-blob-darwin-arm64@0.0.11: resolution: {integrity: sha512-hZ9ye4z8iMDVPEnx9A/Ag6k7xHX/BcK5Lntw/VANBUm9ioLSuRvHTALG4XaqVDGXo4U2NFDwSLRDyhFPYvqckQ==} engines: {node: '>= 10'} @@ -4694,8 +4752,16 @@ packages: transitivePeerDependencies: - supports-color - /node-addon-api@4.3.0: - resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} + /node-abi@3.54.0: + resolution: {integrity: sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==} + engines: {node: '>=10'} + dependencies: + semver: 7.5.4 + dev: true + + /node-addon-api@7.1.0: + resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} + engines: {node: ^16 || ^18 || >= 20} dev: true /node-domexception@1.0.0: @@ -4752,9 +4818,11 @@ packages: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} engines: {node: '>=6'} hasBin: true + requiresBuild: true dependencies: abbrev: 1.1.1 dev: true + optional: true /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -4773,15 +4841,6 @@ packages: path-key: 4.0.0 dev: true - /npmlog@5.0.1: - resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} - dependencies: - are-we-there-yet: 2.0.0 - console-control-strings: 1.1.0 - gauge: 3.0.2 - set-blocking: 2.0.0 - dev: true - /npmlog@6.0.2: resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -4981,6 +5040,14 @@ packages: engines: {node: '>=12'} dev: true + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.1.0 + minipass: 5.0.0 + dev: true + /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -5011,13 +5078,6 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /pino-abstract-transport@1.0.0: - resolution: {integrity: sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==} - dependencies: - readable-stream: 4.4.2 - split2: 4.2.0 - dev: true - /pino-abstract-transport@1.1.0: resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} dependencies: @@ -5025,8 +5085,8 @@ packages: split2: 4.2.0 dev: true - /pino-pretty@10.3.0: - resolution: {integrity: sha512-JthvQW289q3454mhM3/38wFYGWPiBMR28T3CpDNABzoTQOje9UKS7XCJQSnjWF9LQGQkGd8D7h0oq+qwiM3jFA==} + /pino-pretty@10.3.1: + resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} hasBin: true dependencies: colorette: 2.0.20 @@ -5037,11 +5097,11 @@ packages: joycon: 3.1.1 minimist: 1.2.8 on-exit-leak-free: 2.1.0 - pino-abstract-transport: 1.0.0 + pino-abstract-transport: 1.1.0 pump: 3.0.0 readable-stream: 4.4.2 secure-json-parse: 2.7.0 - sonic-boom: 3.3.0 + sonic-boom: 3.7.0 strip-json-comments: 3.1.1 dev: true @@ -5049,8 +5109,8 @@ packages: resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} dev: true - /pino@8.17.1: - resolution: {integrity: sha512-YoN7/NJgnsJ+fkADZqjhRt96iepWBndQHeClmSBH0sQWCb8zGD74t00SK4eOtKFi/f8TUmQnfmgglEhd2kI1RQ==} + /pino@8.18.0: + resolution: {integrity: sha512-Mz/gKiRyuXu4HnpHgi1YWdHQCoWMufapzooisvFn78zl4dZciAxS+YeRkUxXl1ee/SzU80YCz1zpECCh4oC6Aw==} hasBin: true dependencies: atomic-sleep: 1.0.0 @@ -5058,7 +5118,7 @@ packages: on-exit-leak-free: 2.1.0 pino-abstract-transport: 1.1.0 pino-std-serializers: 6.2.2 - process-warning: 2.2.0 + process-warning: 3.0.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.4.3 @@ -5089,6 +5149,25 @@ packages: source-map-js: 1.0.2 dev: true + /prebuild-install@7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.54.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: true + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -5123,8 +5202,8 @@ packages: react-is: 18.2.0 dev: true - /process-warning@2.2.0: - resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==} + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} dev: true /process@0.11.10: @@ -5224,6 +5303,16 @@ packages: dependencies: safe-buffer: 5.2.1 + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: true + /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true @@ -5258,12 +5347,8 @@ packages: engines: {node: '>= 12.13.0'} dev: true - /reflect-metadata@0.1.13: - resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} - dev: true - - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + /reflect-metadata@0.2.1: + resolution: {integrity: sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==} dev: true /regexp.prototype.flags@1.5.0: @@ -5417,11 +5502,6 @@ packages: hasBin: true dev: true - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true - /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} @@ -5444,7 +5524,9 @@ packages: /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + requiresBuild: true dev: true + optional: true /setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} @@ -5488,6 +5570,18 @@ packages: engines: {node: '>=14'} dev: true + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: true + + /simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: true + /sirv@2.0.3: resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} engines: {node: '>= 10'} @@ -5558,12 +5652,6 @@ packages: - debug dev: true - /sonic-boom@3.3.0: - resolution: {integrity: sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==} - dependencies: - atomic-sleep: 1.0.0 - dev: true - /sonic-boom@3.7.0: resolution: {integrity: sha512-IudtNvSqA/ObjN97tfgNmOKyDOs4dNcg4cUUsHDebqsgb8wGBBwb31LIgShNO8fye0dFI52X1+tFoKKI6Rq1Gg==} dependencies: @@ -5589,21 +5677,21 @@ packages: resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} dev: true - /sqlite3@5.1.6: - resolution: {integrity: sha512-olYkWoKFVNSSSQNvxVUfjiVbz3YtBwTJj+mfV5zpHmqW3sELx2Cf4QCdirMelhM5Zh+KDVaKgQHqCxrqiWHybw==} + /sqlite3@5.1.7: + resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} requiresBuild: true peerDependenciesMeta: node-gyp: optional: true dependencies: - '@mapbox/node-pre-gyp': 1.0.11 - node-addon-api: 4.3.0 + bindings: 1.5.0 + node-addon-api: 7.1.0 + prebuild-install: 7.1.1 tar: 6.1.15 optionalDependencies: node-gyp: 8.4.1 transitivePeerDependencies: - bluebird - - encoding - supports-color dev: true @@ -5646,6 +5734,15 @@ packages: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: @@ -5673,6 +5770,11 @@ packages: engines: {node: '>=12'} dev: true + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -5704,6 +5806,26 @@ packages: connected-domain: 1.0.0 dev: false + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: true + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + /tar@6.1.15: resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==} engines: {node: '>=10'} @@ -5863,6 +5985,12 @@ packages: fsevents: 2.3.3 dev: true + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: true + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -5888,20 +6016,20 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - /typeorm@0.3.17(sqlite3@5.1.6): - resolution: {integrity: sha512-UDjUEwIQalO9tWw9O2A4GU+sT3oyoUXheHJy4ft+RFdnRdQctdQ34L9SqE2p7LdwzafHx1maxT+bqXON+Qnmig==} - engines: {node: '>= 12.9.0'} + /typeorm@0.3.20(sqlite3@5.1.7): + resolution: {integrity: sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q==} + engines: {node: '>=16.13.0'} hasBin: true peerDependencies: '@google-cloud/spanner': ^5.18.0 '@sap/hana-client': ^2.12.25 - better-sqlite3: ^7.1.2 || ^8.0.0 + better-sqlite3: ^7.1.2 || ^8.0.0 || ^9.0.0 hdb-pool: ^0.1.6 ioredis: ^5.0.4 - mongodb: ^5.2.0 - mssql: ^9.1.1 + mongodb: ^5.8.0 + mssql: ^9.1.1 || ^10.0.1 mysql2: ^2.2.5 || ^3.0.1 - oracledb: ^5.1.0 + oracledb: ^6.3.0 pg: ^8.5.1 pg-native: ^3.0.0 pg-query-stream: ^4.0.0 @@ -5951,14 +6079,14 @@ packages: buffer: 6.0.3 chalk: 4.1.2 cli-highlight: 2.1.11 - date-fns: 2.30.0 + dayjs: 1.11.10 debug: 4.3.4(supports-color@8.1.1) - dotenv: 16.3.1 - glob: 8.1.0 + dotenv: 16.4.1 + glob: 10.3.10 mkdirp: 2.1.6 - reflect-metadata: 0.1.13 + reflect-metadata: 0.2.1 sha.js: 2.4.11 - sqlite3: 5.1.6 + sqlite3: 5.1.7 tslib: 2.6.2 uuid: 9.0.0 yargs: 17.7.2 @@ -6849,9 +6977,11 @@ packages: /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + requiresBuild: true dependencies: string-width: 4.2.3 dev: true + optional: true /wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} @@ -6876,6 +7006,15 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -6929,6 +7068,19 @@ packages: utf-8-validate: optional: true + /ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + /ws@8.5.0: resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} engines: {node: '>=10.0.0'} diff --git a/primitives/traits/Cargo.toml b/primitives/traits/Cargo.toml index 953961a46..621360dba 100644 --- a/primitives/traits/Cargo.toml +++ b/primitives/traits/Cargo.toml @@ -9,6 +9,8 @@ version = "0.1.0" [dependencies] frame-support = { workspace = true } impl-trait-for-tuples = { workspace = true } +parity-scale-codec = { workspace = true } +scale-info = { workspace = true } sp-std = { workspace = true } # Cumulus @@ -19,6 +21,8 @@ default = [ "std" ] std = [ "cumulus-primitives-core/std", "frame-support/std", + "parity-scale-codec/std", + "scale-info/std", "sp-std/std", ] runtime-benchmarks = [ diff --git a/primitives/traits/src/lib.rs b/primitives/traits/src/lib.rs index 3b0537cee..5b8dd2744 100644 --- a/primitives/traits/src/lib.rs +++ b/primitives/traits/src/lib.rs @@ -25,7 +25,7 @@ pub use cumulus_primitives_core::{ }; use { frame_support::{ - pallet_prelude::{DispatchResultWithPostInfo, Get, Weight}, + pallet_prelude::{Decode, DispatchResultWithPostInfo, Encode, Get, Weight}, BoundedVec, }, sp_std::vec::Vec, @@ -72,11 +72,42 @@ pub trait GetCurrentContainerChains { fn set_current_container_chains(container_chains: &[ParaId]); } +/// How often should a parathread collator propose blocks. The units are "1 out of n slots", where the slot time is the +/// tanssi slot time, 12 seconds by default. +// TODO: this is currently ignored +#[derive(Clone, Debug, Encode, Decode, scale_info::TypeInfo, PartialEq, Eq)] +pub struct SlotFrequency { + /// The parathread will produce at most 1 block every x slots. min=10 means that collators can produce 1 block + /// every `x >= 10` slots, but they are not enforced to. If collators produce a block after less than 10 + /// slots, they will not be rewarded by tanssi. + pub min: u32, + /// The parathread will produce at least 1 block every x slots. max=10 means that collators are forced to + /// produce 1 block every `x <= 10` slots. Collators can produce a block sooner than that if the `min` allows it, but + /// waiting more than 10 slots will make them lose the block reward. + pub max: u32, +} + +impl Default for SlotFrequency { + fn default() -> Self { + Self { min: 1, max: 1 } + } +} + +#[derive(Clone, Debug, Encode, Decode, scale_info::TypeInfo, PartialEq, Eq)] +pub struct ParathreadParams { + pub slot_frequency: SlotFrequency, +} + +#[derive(Clone, Debug, Encode, Decode, scale_info::TypeInfo, PartialEq, Eq)] +pub struct SessionContainerChains { + pub parachains: Vec, + pub parathreads: Vec<(ParaId, ParathreadParams)>, +} + /// Get the list of container chains parachain ids at given /// session index. pub trait GetSessionContainerChains { - fn session_container_chains(session_index: SessionIndex) -> Vec; - fn session_parathreads(session_index: SessionIndex) -> Vec; + fn session_container_chains(session_index: SessionIndex) -> SessionContainerChains; #[cfg(feature = "runtime-benchmarks")] fn set_session_container_chains(session_index: SessionIndex, container_chains: &[ParaId]); } diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index 306dcf8b6..a5a70386d 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -61,6 +61,7 @@ pallet-sudo = { workspace = true } pallet-timestamp = { workspace = true } pallet-transaction-payment = { workspace = true } pallet-transaction-payment-rpc-runtime-api = { workspace = true } +pallet-treasury = { workspace = true } pallet-tx-pause = { workspace = true } pallet-utility = { workspace = true } sp-api = { workspace = true } @@ -195,6 +196,7 @@ std = [ "pallet-timestamp/std", "pallet-transaction-payment-rpc-runtime-api/std", "pallet-transaction-payment/std", + "pallet-treasury/std", "pallet-tx-pause/std", "pallet-utility/std", "pallet-xcm-benchmarks?/std", @@ -277,6 +279,7 @@ runtime-benchmarks = [ "pallet-staking/runtime-benchmarks", "pallet-sudo/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", + "pallet-treasury/runtime-benchmarks", "pallet-tx-pause/runtime-benchmarks", "pallet-utility/runtime-benchmarks", "pallet-xcm-benchmarks/runtime-benchmarks", @@ -339,6 +342,7 @@ try-runtime = [ "pallet-sudo/try-runtime", "pallet-timestamp/try-runtime", "pallet-transaction-payment/try-runtime", + "pallet-treasury/try-runtime", "pallet-tx-pause/try-runtime", "pallet-utility/try-runtime", "pallet-xcm/try-runtime", diff --git a/runtime/dancebox/src/lib.rs b/runtime/dancebox/src/lib.rs index d6d9c5dfe..85e81ea56 100644 --- a/runtime/dancebox/src/lib.rs +++ b/runtime/dancebox/src/lib.rs @@ -49,9 +49,10 @@ use { pallet_prelude::DispatchResult, parameter_types, traits::{ - fungible::{Balanced, Credit}, + fungible::{Balanced, Credit, Inspect}, + tokens::{PayFromAccount, UnityAssetBalanceConversion}, ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, Contains, EitherOfDiverse, - InsideBoth, InstanceFilter, ValidatorRegistration, + Imbalance, InsideBoth, InstanceFilter, OnUnbalanced, ValidatorRegistration, }, weights::{ constants::{ @@ -68,12 +69,13 @@ use { EnsureRoot, }, nimbus_primitives::NimbusId, + pallet_balances::NegativeImbalance, pallet_collator_assignment::{GetRandomnessForNextBlock, RotateCollatorsEveryNSessions}, pallet_invulnerables::InvulnerableRewardDistribution, pallet_pooled_staking::traits::{IsCandidateEligible, Timer}, pallet_registrar::RegistrarHooks, pallet_registrar_runtime_api::ContainerChainGenesisData, - pallet_services_payment::{ChargeForBlockCredit, ProvideBlockProductionCost}, + pallet_services_payment::ProvideBlockProductionCost, pallet_session::{SessionManager, ShouldEndSession}, pallet_transaction_payment::{ConstFeeMultiplier, CurrencyAdapter, Multiplier}, polkadot_runtime_common::BlockHashCount, @@ -86,7 +88,7 @@ use { create_runtime_str, generic, impl_opaque_keys, traits::{ AccountIdConversion, AccountIdLookup, BlakeTwo256, Block as BlockT, Hash as HashT, - Verify, + IdentityLookup, Verify, }, transaction_validity::{TransactionSource, TransactionValidity}, AccountId32, ApplyExtrinsicResult, @@ -190,7 +192,10 @@ impl WeightToFeePolynomial for WeightToFee { pub mod opaque { use { super::*, - sp_runtime::{generic, traits::BlakeTwo256}, + sp_runtime::{ + generic, + traits::{BlakeTwo256, Hash as HashT}, + }, }; pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; @@ -200,6 +205,10 @@ pub mod opaque { pub type Block = generic::Block; /// Opaque block identifier type. pub type BlockId = generic::BlockId; + /// Opaque block hash type. + pub type Hash = ::Output; + /// Opaque signature type. + pub use super::Signature; } impl_opaque_keys! { @@ -241,7 +250,6 @@ pub const DAYS: BlockNumber = HOURS * 24; pub const UNIT: Balance = 1_000_000_000_000; pub const MILLIUNIT: Balance = 1_000_000_000; pub const MICROUNIT: Balance = 1_000_000; - /// The existential deposit. Set to 1/10 of the Connected Relay Chain. pub const EXISTENTIAL_DEPOSIT: Balance = MILLIUNIT; @@ -415,6 +423,44 @@ impl pallet_balances::Config for Runtime { type WeightInfo = pallet_balances::weights::SubstrateWeight; } +pub struct DealWithFees(sp_std::marker::PhantomData); +impl OnUnbalanced> for DealWithFees +where + R: pallet_balances::Config + pallet_treasury::Config, + pallet_treasury::Pallet: OnUnbalanced>, +{ + // this seems to be called for substrate-based transactions + fn on_unbalanceds(mut fees_then_tips: impl Iterator>) { + if let Some(fees) = fees_then_tips.next() { + // 80% is burned, 20% goes to the treasury + // Same policy applies for tips as well + let burn_percentage = 80; + let treasury_percentage = 20; + + let (_, to_treasury) = fees.ration(burn_percentage, treasury_percentage); + // Balances pallet automatically burns dropped Negative Imbalances by decreasing total_supply accordingly + as OnUnbalanced<_>>::on_unbalanced(to_treasury); + + // handle tip if there is one + if let Some(tip) = fees_then_tips.next() { + let (_, to_treasury) = tip.ration(burn_percentage, treasury_percentage); + as OnUnbalanced<_>>::on_unbalanced(to_treasury); + } + } + } + + // this is called from pallet_evm for Ethereum-based transactions + // (technically, it calls on_unbalanced, which calls this when non-zero) + fn on_nonzero_unbalanced(amount: NegativeImbalance) { + // 80% is burned, 20% goes to the treasury + let burn_percentage = 80; + let treasury_percentage = 20; + + let (_, to_treasury) = amount.ration(burn_percentage, treasury_percentage); + as OnUnbalanced<_>>::on_unbalanced(to_treasury); + } +} + parameter_types! { pub const TransactionByteFee: Balance = 1; pub const FeeMultiplier: Multiplier = Multiplier::from_u32(1); @@ -422,8 +468,8 @@ parameter_types! { impl pallet_transaction_payment::Config for Runtime { type RuntimeEvent = RuntimeEvent; - // This will burn the fees - type OnChargeTransaction = CurrencyAdapter; + // This will burn 80% from fees & tips and deposit the remainder into the treasury + type OnChargeTransaction = CurrencyAdapter>; type OperationalFeeMultiplier = ConstU8<5>; type WeightToFee = WeightToFee; type LengthToFee = ConstantMultiplier; @@ -723,10 +769,22 @@ impl RemoveParaIdsWithNoCredits for RemoveParaIdsWithNoCreditsImpl { let credits_for_2_sessions = 2 * blocks_per_session; para_ids.retain(|para_id| { // Check if the container chain has enough credits for producing blocks for 2 sessions - let credits = pallet_services_payment::BlockProductionCredits::::get(para_id) + let free_credits = pallet_services_payment::BlockProductionCredits::::get(para_id) .unwrap_or_default(); - credits >= credits_for_2_sessions + // Return if we can survive with free credits + if free_credits >= credits_for_2_sessions { + return true + } + + let remaining_credits = credits_for_2_sessions.saturating_sub(free_credits); + + let (block_production_costs, _) = ::ProvideBlockProductionCost::block_cost(para_id); + // let's check if we can withdraw + let remaining_to_pay = (remaining_credits as u128).saturating_mul(block_production_costs); + // This should take into account whether we tank goes below ED + // The true refers to keepAlive + Balances::can_withdraw(&pallet_services_payment::Pallet::::parachain_tank(*para_id), remaining_to_pay).into_result(true).is_ok() }); } @@ -785,11 +843,13 @@ parameter_types! { impl pallet_services_payment::Config for Runtime { type RuntimeEvent = RuntimeEvent; /// Handler for fees - type OnChargeForBlockCredit = ChargeForBlockCredit; + type OnChargeForBlock = (); /// Currency type for fee payment type Currency = Balances; /// Provider of a block cost which can adjust from block to block type ProvideBlockProductionCost = BlockProductionCost; + type SetRefundAddressOrigin = + EitherOfDiverse, EnsureRoot>; /// The maximum number of credits that can be accumulated type MaxCreditsStored = MaxCreditsStored; type WeightInfo = pallet_services_payment::weights::SubstrateWeight; @@ -877,17 +937,11 @@ impl RegistrarHooks for DanceboxRegistrarHooks { e, ); } - // Remove all credits from pallet_services_payment - if let Err(e) = ServicesPayment::set_credits(RuntimeOrigin::root(), para_id, 0) { - log::warn!( - "Failed to set_credits to 0 after para id {} deregistered: {:?}", - u32::from(para_id), - e, - ); - } // Remove bootnodes from pallet_data_preservers DataPreservers::para_deregistered(para_id); + ServicesPayment::para_deregistered(para_id); + Weight::default() } @@ -1320,6 +1374,42 @@ impl pallet_identity::Config for Runtime { type WeightInfo = pallet_identity::weights::SubstrateWeight; } +parameter_types! { + pub const TreasuryId: PalletId = PalletId(*b"tns/tsry"); + pub const ProposalBond: Permill = Permill::from_percent(5); + pub TreasuryAccount: AccountId = Treasury::account_id(); +} + +impl pallet_treasury::Config for Runtime { + type PalletId = TreasuryId; + type Currency = Balances; + + type ApproveOrigin = EnsureRoot; + type RejectOrigin = EnsureRoot; + type RuntimeEvent = RuntimeEvent; + // If proposal gets rejected, bond goes to treasury + type OnSlash = Treasury; + type ProposalBond = ProposalBond; + type ProposalBondMinimum = ConstU128<{ 1 * currency::DANCE * currency::SUPPLY_FACTOR }>; + type SpendPeriod = ConstU32<{ 6 * DAYS }>; + type Burn = (); + type BurnDestination = (); + type MaxApprovals = ConstU32<100>; + type WeightInfo = pallet_treasury::weights::SubstrateWeight; + type SpendFunds = (); + type ProposalBondMaximum = (); + type SpendOrigin = frame_support::traits::NeverEnsureOrigin; // Same as Polkadot + type AssetKind = (); + type Beneficiary = AccountId; + type BeneficiaryLookup = IdentityLookup; + type Paymaster = PayFromAccount; + // TODO: implement pallet-asset-rate to allow the treasury to spend other assets + type BalanceConverter = UnityAssetBalanceConversion; + type PayoutPeriod = ConstU32<0>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); +} + // Create the runtime by composing the FRAME pallets that were previously configured. construct_runtime!( pub enum Runtime @@ -1362,6 +1452,9 @@ construct_runtime!( // InflationRewards must be after Session and AuthorInherent InflationRewards: pallet_inflation_rewards = 35, + // Treasury stuff. + Treasury: pallet_treasury::{Pallet, Storage, Config, Event, Call} = 40, + //XCM XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 50, CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 51, @@ -1388,6 +1481,7 @@ mod benches { [pallet_sudo, Sudo] [pallet_proxy, Proxy] [pallet_utility, Utility] + [pallet_treasury, Treasury] [pallet_tx_pause, TxPause] [pallet_balances, Balances] [pallet_identity, Identity] @@ -1523,14 +1617,14 @@ impl_runtime_apis! { } impl sp_genesis_builder::GenesisBuilder for Runtime { - fn create_default_config() -> Vec { - create_default_config::() - } + fn create_default_config() -> Vec { + create_default_config::() + } - fn build_config(config: Vec) -> sp_genesis_builder::Result { - build_config::(config) - } - } + fn build_config(config: Vec) -> sp_genesis_builder::Result { + build_config::(config) + } + } #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { @@ -1748,7 +1842,12 @@ impl_runtime_apis! { Session::current_index() }; - Registrar::session_container_chains(session_index).to_vec() + let container_chains = Registrar::session_container_chains(session_index); + let mut para_ids = vec![]; + para_ids.extend(container_chains.parachains); + para_ids.extend(container_chains.parathreads.into_iter().map(|(para_id, _)| para_id)); + + para_ids } /// Fetch genesis data for this para id @@ -1765,6 +1864,22 @@ impl_runtime_apis! { } } + impl pallet_registrar_runtime_api::OnDemandBlockProductionApi for Runtime { + /// Return the minimum number of slots that must pass between to blocks before parathread collators can propose + /// the next block. + /// + /// # Returns + /// + /// * `Some(min)`, where the condition for the slot to be valid is `(slot - parent_slot) >= min`. + /// * `None` if the `para_id` is not a parathread. + fn min_slot_freq(para_id: ParaId) -> Option { + Registrar::parathread_params(para_id).map(|params| { + Slot::from(u64::from(params.slot_frequency.min)) + }) + } + + } + impl pallet_author_noting_runtime_api::AuthorNotingApi for Runtime where AccountId: parity_scale_codec::Codec, diff --git a/runtime/dancebox/src/xcm_config.rs b/runtime/dancebox/src/xcm_config.rs index 166400275..ccc024042 100644 --- a/runtime/dancebox/src/xcm_config.rs +++ b/runtime/dancebox/src/xcm_config.rs @@ -339,11 +339,12 @@ impl pallet_asset_rate::Config for Runtime { type BenchmarkHelper = ForeignAssetBenchmarkHelper; } -use crate::ForeignAssets; -use sp_runtime::{traits::CheckedDiv, FixedPointNumber}; -use staging_xcm_builder::FungiblesAdapter; -use staging_xcm_builder::NoChecking; -use staging_xcm_executor::traits::JustTry; +use { + crate::ForeignAssets, + sp_runtime::{traits::CheckedDiv, FixedPointNumber}, + staging_xcm_builder::{FungiblesAdapter, NoChecking}, + staging_xcm_executor::traits::JustTry, +}; /// Means for transacting foreign assets from different global consensus. pub type ForeignFungiblesTransactor = FungiblesAdapter< diff --git a/runtime/dancebox/tests/common/mod.rs b/runtime/dancebox/tests/common/mod.rs index edf11c89f..17f19a5f8 100644 --- a/runtime/dancebox/tests/common/mod.rs +++ b/runtime/dancebox/tests/common/mod.rs @@ -17,7 +17,9 @@ use { cumulus_primitives_core::{ParaId, PersistedValidationData}, cumulus_primitives_parachain_inherent::ParachainInherentData, - dancebox_runtime::{AuthorInherent, MaxBootNodeUrlLen, MaxBootNodes, MaxLengthTokenSymbol}, + dancebox_runtime::{ + AuthorInherent, BlockProductionCost, MaxBootNodeUrlLen, MaxBootNodes, MaxLengthTokenSymbol, + }, frame_support::{ assert_ok, traits::{OnFinalize, OnInitialize}, @@ -25,6 +27,7 @@ use { nimbus_primitives::{NimbusId, NIMBUS_ENGINE_ID}, pallet_collator_assignment_runtime_api::runtime_decl_for_collator_assignment_api::CollatorAssignmentApi, pallet_registrar_runtime_api::ContainerChainGenesisData, + pallet_services_payment::ProvideBlockProductionCost, parity_scale_codec::Encode, polkadot_parachain_primitives::primitives::HeadData, sp_consensus_aura::AURA_ENGINE_ID, @@ -514,6 +517,11 @@ pub fn current_author() -> AccountId { .clone() } +pub fn block_credits_to_required_balance(number_of_blocks: u32, para_id: ParaId) -> Balance { + let block_cost = BlockProductionCost::block_cost(¶_id).0; + (number_of_blocks as u128).saturating_mul(block_cost) +} + pub const ALICE: [u8; 32] = [4u8; 32]; pub const BOB: [u8; 32] = [5u8; 32]; pub const CHARLIE: [u8; 32] = [6u8; 32]; diff --git a/runtime/dancebox/tests/integration_test.rs b/runtime/dancebox/tests/integration_test.rs index 1a7a1f2f5..877c2225f 100644 --- a/runtime/dancebox/tests/integration_test.rs +++ b/runtime/dancebox/tests/integration_test.rs @@ -16,8 +16,6 @@ #![cfg(test)] -use pallet_balances::Instance1; - use { common::*, cumulus_primitives_core::ParaId, @@ -25,13 +23,14 @@ use { migrations::{ MigrateBootNodes, MigrateConfigurationParathreads, MigrateServicesPaymentAddCredits, }, - BlockProductionCost, RewardsCollatorCommission, + RewardsCollatorCommission, }, dp_core::well_known_keys, frame_support::{assert_noop, assert_ok, BoundedVec}, nimbus_primitives::NIMBUS_KEY_ID, pallet_author_noting::ContainerChainBlockInfo, pallet_author_noting_runtime_api::runtime_decl_for_author_noting_api::AuthorNotingApi, + pallet_balances::Instance1, pallet_collator_assignment_runtime_api::runtime_decl_for_collator_assignment_api::CollatorAssignmentApi, pallet_migrations::Migration, pallet_pooled_staking::{ @@ -41,7 +40,6 @@ use { pallet_registrar_runtime_api::{ runtime_decl_for_registrar_api::RegistrarApi, ContainerChainGenesisData, }, - pallet_services_payment::ProvideBlockProductionCost, parity_scale_codec::Encode, sp_consensus_aura::AURA_ENGINE_ID, sp_core::Get, @@ -53,6 +51,7 @@ use { staging_xcm::latest::prelude::*, test_relay_sproof_builder::{HeaderAs, ParaHeaderSproofBuilder, ParaHeaderSproofBuilderItem}, tp_consensus::runtime_decl_for_tanssi_authority_assignment_api::TanssiAuthorityAssignmentApiV1, + tp_traits::SlotFrequency, }; mod common; @@ -557,8 +556,7 @@ fn test_authors_paras_inserted_a_posteriori() { assert_ok!(ServicesPayment::purchase_credits( origin_of(ALICE.into()), 1001.into(), - 100_000, - None, + block_credits_to_required_balance(1000, 1001.into()) )); assert_ok!(Registrar::register( origin_of(ALICE.into()), @@ -577,8 +575,7 @@ fn test_authors_paras_inserted_a_posteriori() { assert_ok!(ServicesPayment::purchase_credits( origin_of(ALICE.into()), 1002.into(), - 100_000, - None, + block_credits_to_required_balance(1000, 1002.into()) )); // Assignment should happen after 2 sessions @@ -652,8 +649,7 @@ fn test_authors_paras_inserted_a_posteriori_with_collators_already_assigned() { assert_ok!(ServicesPayment::purchase_credits( origin_of(ALICE.into()), 1001.into(), - 100_000, - None, + block_credits_to_required_balance(1000, 1001.into()) )); // Assignment should happen after 2 sessions @@ -782,11 +778,10 @@ fn test_paras_registered_but_not_enough_credits() { assert_ok!(ServicesPayment::set_credits(root_origin(), 1001.into(), 0)); // Purchase 1 credit less that what is needed let credits_1001 = dancebox_runtime::Period::get() * 2 - 1; - assert_ok!(ServicesPayment::purchase_credits( - origin_of(ALICE.into()), + assert_ok!(ServicesPayment::set_credits( + root_origin(), 1001.into(), - credits_1001, - None, + credits_1001 )); // Assignment should happen after 2 sessions @@ -799,11 +794,10 @@ fn test_paras_registered_but_not_enough_credits() { assert_eq!(assignment.container_chains.get(&1001u32.into()), None); // Now purchase the missing block credit - assert_ok!(ServicesPayment::purchase_credits( - origin_of(ALICE.into()), + assert_ok!(ServicesPayment::set_credits( + root_origin(), 1001.into(), - 1, - None, + credits_1001 + 1 )); run_to_session(4u32); @@ -864,11 +858,10 @@ fn test_paras_registered_but_only_credits_for_1_session() { assert_ok!(ServicesPayment::set_credits(root_origin(), 1001.into(), 0)); // Purchase only enough credits for 1 session let credits_1001 = dancebox_runtime::Period::get() * 2; - assert_ok!(ServicesPayment::purchase_credits( - origin_of(ALICE.into()), + assert_ok!(ServicesPayment::set_credits( + root_origin(), 1001.into(), - credits_1001, - None, + credits_1001 )); // Assignment should happen after 2 sessions @@ -4543,23 +4536,25 @@ fn test_can_buy_credits_before_registering_para() { // Try to buy the maximum amount of credits let balance_before = System::account(AccountId::from(ALICE)).data.free; + assert_ok!(ServicesPayment::purchase_credits( origin_of(ALICE.into()), 1001.into(), - u32::MAX, - None, + block_credits_to_required_balance(u32::MAX, 1001.into()) )); let balance_after = System::account(AccountId::from(ALICE)).data.free; - // But only up to MaxCreditsStored have actually been purchased - let credits = pallet_services_payment::BlockProductionCredits::::get( - &ParaId::from(1001), - ) - .unwrap_or_default(); - assert_eq!(credits, dancebox_runtime::MaxCreditsStored::get()); + // Now parachain tank should have this amount + let balance_tank = System::account(ServicesPayment::parachain_tank(1001.into())) + .data + .free; - let expected_cost = BlockProductionCost::::block_cost(&ParaId::from(1001)).0 - * u128::from(dancebox_runtime::MaxCreditsStored::get()); + assert_eq!( + balance_tank, + block_credits_to_required_balance(u32::MAX, 1001.into()) + ); + + let expected_cost = block_credits_to_required_balance(u32::MAX, 1001.into()); assert_eq!(balance_before - balance_after, expected_cost); }); } @@ -4622,19 +4617,30 @@ fn test_can_buy_credits_before_registering_para_and_receive_free_credits() { assert_ok!(ServicesPayment::purchase_credits( origin_of(ALICE.into()), 1001.into(), - dancebox_runtime::MaxCreditsStored::get() - 1, - None, + block_credits_to_required_balance( + dancebox_runtime::MaxCreditsStored::get() - 1, + 1001.into() + ) )); let balance_after = System::account(AccountId::from(ALICE)).data.free; - let credits = pallet_services_payment::BlockProductionCredits::::get( - &ParaId::from(1001), - ) - .unwrap_or_default(); - assert_eq!(credits, dancebox_runtime::MaxCreditsStored::get() - 1); + // Now parachain tank should have this amount + let balance_tank = System::account(ServicesPayment::parachain_tank(1001.into())) + .data + .free; - let expected_cost = BlockProductionCost::::block_cost(&ParaId::from(1001)).0 - * u128::from(dancebox_runtime::MaxCreditsStored::get() - 1); + assert_eq!( + balance_tank, + block_credits_to_required_balance( + dancebox_runtime::MaxCreditsStored::get() - 1, + 1001.into() + ) + ); + + let expected_cost = block_credits_to_required_balance( + dancebox_runtime::MaxCreditsStored::get() - 1, + 1001.into(), + ); assert_eq!(balance_before - balance_after, expected_cost); // Now register para @@ -4653,7 +4659,7 @@ fn test_can_buy_credits_before_registering_para_and_receive_free_credits() { 1001.into() )); - // We received 1 free credit, because we cannot have more than MaxCreditsStored + // We received aññ free credits, because we cannot have more than MaxCreditsStored let credits = pallet_services_payment::BlockProductionCredits::::get( &ParaId::from(1001), ) @@ -4896,3 +4902,290 @@ fn test_division_by_0() { assert!(balance.is_err()); }); } + +#[test] +fn test_register_parathread() { + ExtBuilder::default() + .with_balances(vec![ + // Alice gets 10k extra tokens for her mapping deposit + (AccountId::from(ALICE), 210_000 * UNIT), + (AccountId::from(BOB), 100_000 * UNIT), + (AccountId::from(CHARLIE), 100_000 * UNIT), + (AccountId::from(DAVE), 100_000 * UNIT), + ]) + .with_collators(vec![ + (AccountId::from(ALICE), 210 * UNIT), + (AccountId::from(BOB), 100 * UNIT), + (AccountId::from(CHARLIE), 100 * UNIT), + (AccountId::from(DAVE), 100 * UNIT), + ]) + .with_config(default_config()) + .build() + .execute_with(|| { + run_to_block(2); + + // Register + assert_ok!(Registrar::register_parathread( + origin_of(ALICE.into()), + 3001.into(), + SlotFrequency { min: 1, max: 1 }, + empty_genesis_data() + )); + assert_ok!(DataPreservers::set_boot_nodes( + origin_of(ALICE.into()), + 3001.into(), + dummy_boot_nodes() + )); + assert_ok!(Registrar::mark_valid_for_collating( + root_origin(), + 3001.into() + )); + + run_to_session(2); + let assignment = CollatorAssignment::collator_container_chain(); + assert_eq!( + assignment.container_chains[&ParaId::from(3001)], + vec![CHARLIE.into()] + ); + }); +} + +#[test] +fn test_ed_plus_two_sessions_purchase_works() { + ExtBuilder::default() + .with_balances(vec![ + // Alice gets 10k extra tokens for her mapping deposit + (AccountId::from(ALICE), 210_000 * UNIT), + (AccountId::from(BOB), 100_000 * UNIT), + (AccountId::from(CHARLIE), 100_000 * UNIT), + (AccountId::from(DAVE), 100_000 * UNIT), + ]) + .with_collators(vec![ + (AccountId::from(ALICE), 210 * UNIT), + (AccountId::from(BOB), 100 * UNIT), + (AccountId::from(CHARLIE), 100 * UNIT), + (AccountId::from(DAVE), 100 * UNIT), + ]) + .with_config(default_config()) + .build() + .execute_with(|| { + run_to_block(2); + // Assert current slot gets updated + assert_eq!(current_slot(), 1u64); + assert!(current_author() == AccountId::from(BOB)); + + // Alice and Bob collate in our chain + let alice_id = get_aura_id_from_seed(&AccountId::from(ALICE).to_string()); + let bob_id = get_aura_id_from_seed(&AccountId::from(BOB).to_string()); + + assert_eq!(authorities(), vec![alice_id, bob_id]); + + assert_ok!(Registrar::register( + origin_of(ALICE.into()), + 1001.into(), + empty_genesis_data() + )); + assert_ok!(DataPreservers::set_boot_nodes( + origin_of(ALICE.into()), + 1001.into(), + dummy_boot_nodes() + )); + assert_ok!(Registrar::mark_valid_for_collating( + root_origin(), + 1001.into() + )); + // Need to reset credits to 0 because now parachains are given free credits on register + assert_ok!(ServicesPayment::set_credits(root_origin(), 1001.into(), 0)); + let credits_1001 = + block_credits_to_required_balance(dancebox_runtime::Period::get() * 2, 1001.into()) + + dancebox_runtime::EXISTENTIAL_DEPOSIT; + + // Fill the tank + assert_ok!(ServicesPayment::purchase_credits( + origin_of(ALICE.into()), + 1001.into(), + credits_1001 + )); + + // Assignment should happen after 2 sessions + run_to_session(1u32); + let assignment = CollatorAssignment::collator_container_chain(); + assert!(assignment.container_chains.is_empty()); + run_to_session(2u32); + // Charlie and Dave should be assigned to para 1001 + let assignment = CollatorAssignment::collator_container_chain(); + assert_eq!( + assignment.container_chains[&1001u32.into()], + vec![CHARLIE.into(), DAVE.into()] + ); + + // Simulate block inclusion from container chain 1001 + let mut sproof: ParaHeaderSproofBuilder = ParaHeaderSproofBuilder::default(); + let slot: u64 = 5; + let mut s = ParaHeaderSproofBuilderItem::default(); + s.para_id = 1001.into(); + s.author_id = HeaderAs::NonEncoded(sp_runtime::generic::Header:: { + parent_hash: Default::default(), + number: 1, + state_root: Default::default(), + extrinsics_root: Default::default(), + digest: sp_runtime::generic::Digest { + logs: vec![DigestItem::PreRuntime(AURA_ENGINE_ID, slot.encode())], + }, + }); + sproof.items.push(s); + set_author_noting_inherent_data(sproof); + + run_block(); + + // After this it should not be assigned anymore, since credits are not payable + run_to_session(4u32); + // Nobody should be assigned to para 1001 + let assignment = CollatorAssignment::collator_container_chain(); + assert_eq!(assignment.container_chains.get(&1001u32.into()), None,); + }); +} + +#[test] +fn test_ed_plus_two_sessions_minus_1_purchase_fails() { + ExtBuilder::default() + .with_balances(vec![ + // Alice gets 10k extra tokens for her mapping deposit + (AccountId::from(ALICE), 210_000 * UNIT), + (AccountId::from(BOB), 100_000 * UNIT), + (AccountId::from(CHARLIE), 100_000 * UNIT), + (AccountId::from(DAVE), 100_000 * UNIT), + ]) + .with_collators(vec![ + (AccountId::from(ALICE), 210 * UNIT), + (AccountId::from(BOB), 100 * UNIT), + (AccountId::from(CHARLIE), 100 * UNIT), + (AccountId::from(DAVE), 100 * UNIT), + ]) + .with_config(default_config()) + .build() + .execute_with(|| { + run_to_block(2); + // Assert current slot gets updated + assert_eq!(current_slot(), 1u64); + assert!(current_author() == AccountId::from(BOB)); + + // Alice and Bob collate in our chain + let alice_id = get_aura_id_from_seed(&AccountId::from(ALICE).to_string()); + let bob_id = get_aura_id_from_seed(&AccountId::from(BOB).to_string()); + + assert_eq!(authorities(), vec![alice_id, bob_id]); + + assert_ok!(Registrar::register( + origin_of(ALICE.into()), + 1001.into(), + empty_genesis_data() + )); + assert_ok!(DataPreservers::set_boot_nodes( + origin_of(ALICE.into()), + 1001.into(), + dummy_boot_nodes() + )); + assert_ok!(Registrar::mark_valid_for_collating( + root_origin(), + 1001.into() + )); + // Need to reset credits to 0 because now parachains are given free credits on register + assert_ok!(ServicesPayment::set_credits(root_origin(), 1001.into(), 0)); + let credits_1001 = + block_credits_to_required_balance(dancebox_runtime::Period::get() * 2, 1001.into()) + + dancebox_runtime::EXISTENTIAL_DEPOSIT + - 1; + + // Fill the tank + assert_ok!(ServicesPayment::purchase_credits( + origin_of(ALICE.into()), + 1001.into(), + credits_1001 + )); + + // Assignment should happen after 2 sessions + run_to_session(1u32); + let assignment = CollatorAssignment::collator_container_chain(); + assert!(assignment.container_chains.is_empty()); + run_to_session(2u32); + // Charlie and Dave should not be assigned to para 1001 + let assignment = CollatorAssignment::collator_container_chain(); + assert_eq!(assignment.container_chains.get(&1001u32.into()), None,); + }); +} + +#[test] +fn test_credits_with_purchase_can_be_combined() { + ExtBuilder::default() + .with_balances(vec![ + // Alice gets 10k extra tokens for her mapping deposit + (AccountId::from(ALICE), 210_000 * UNIT), + (AccountId::from(BOB), 100_000 * UNIT), + (AccountId::from(CHARLIE), 100_000 * UNIT), + (AccountId::from(DAVE), 100_000 * UNIT), + ]) + .with_collators(vec![ + (AccountId::from(ALICE), 210 * UNIT), + (AccountId::from(BOB), 100 * UNIT), + (AccountId::from(CHARLIE), 100 * UNIT), + (AccountId::from(DAVE), 100 * UNIT), + ]) + .with_config(default_config()) + .build() + .execute_with(|| { + run_to_block(2); + // Assert current slot gets updated + assert_eq!(current_slot(), 1u64); + assert!(current_author() == AccountId::from(BOB)); + + // Alice and Bob collate in our chain + let alice_id = get_aura_id_from_seed(&AccountId::from(ALICE).to_string()); + let bob_id = get_aura_id_from_seed(&AccountId::from(BOB).to_string()); + + assert_eq!(authorities(), vec![alice_id, bob_id]); + + assert_ok!(Registrar::register( + origin_of(ALICE.into()), + 1001.into(), + empty_genesis_data() + )); + assert_ok!(DataPreservers::set_boot_nodes( + origin_of(ALICE.into()), + 1001.into(), + dummy_boot_nodes() + )); + assert_ok!(Registrar::mark_valid_for_collating( + root_origin(), + 1001.into() + )); + // Set 1 session of free credits and purchase 1 session of credits + assert_ok!(ServicesPayment::set_credits( + root_origin(), + 1001.into(), + dancebox_runtime::Period::get() + )); + let credits_1001 = + block_credits_to_required_balance(dancebox_runtime::Period::get(), 1001.into()) + + dancebox_runtime::EXISTENTIAL_DEPOSIT; + + // Fill the tank + assert_ok!(ServicesPayment::purchase_credits( + origin_of(ALICE.into()), + 1001.into(), + credits_1001 + )); + + // Assignment should happen after 2 sessions + run_to_session(1u32); + let assignment = CollatorAssignment::collator_container_chain(); + assert!(assignment.container_chains.is_empty()); + run_to_session(2u32); + // Charlie and Dave should be assigned to para 1001 + let assignment = CollatorAssignment::collator_container_chain(); + assert_eq!( + assignment.container_chains[&1001u32.into()], + vec![CHARLIE.into(), DAVE.into()] + ); + }); +} diff --git a/runtime/flashbox/Cargo.toml b/runtime/flashbox/Cargo.toml index 4b971b4b3..1ff8e983d 100644 --- a/runtime/flashbox/Cargo.toml +++ b/runtime/flashbox/Cargo.toml @@ -55,6 +55,7 @@ pallet-sudo = { workspace = true } pallet-timestamp = { workspace = true } pallet-transaction-payment = { workspace = true } pallet-transaction-payment-rpc-runtime-api = { workspace = true } +pallet-treasury = { workspace = true } pallet-tx-pause = { workspace = true } pallet-utility = { workspace = true } sp-api = { workspace = true } @@ -159,6 +160,7 @@ std = [ "pallet-timestamp/std", "pallet-transaction-payment-rpc-runtime-api/std", "pallet-transaction-payment/std", + "pallet-treasury/std", "pallet-tx-pause/std", "pallet-utility/std", "parachain-info/std", @@ -223,6 +225,7 @@ runtime-benchmarks = [ "pallet-services-payment/runtime-benchmarks", "pallet-sudo/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", + "pallet-treasury/runtime-benchmarks", "pallet-tx-pause/runtime-benchmarks", "pallet-utility/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", @@ -263,6 +266,7 @@ try-runtime = [ "pallet-sudo/try-runtime", "pallet-timestamp/try-runtime", "pallet-transaction-payment/try-runtime", + "pallet-treasury/try-runtime", "pallet-tx-pause/try-runtime", "pallet-utility/try-runtime", "parachain-info/try-runtime", diff --git a/runtime/flashbox/src/lib.rs b/runtime/flashbox/src/lib.rs index 169e92227..eb6cacd75 100644 --- a/runtime/flashbox/src/lib.rs +++ b/runtime/flashbox/src/lib.rs @@ -43,10 +43,11 @@ use { pallet_prelude::DispatchResult, parameter_types, traits::{ - fungible::{Balanced, Credit}, + fungible::{Balanced, Credit, Inspect}, + tokens::{PayFromAccount, UnityAssetBalanceConversion}, ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, Contains, EitherOfDiverse, - InsideBoth, InstanceFilter, OffchainWorker, OnFinalize, OnIdle, OnInitialize, - OnRuntimeUpgrade, + Imbalance, InsideBoth, InstanceFilter, OffchainWorker, OnFinalize, OnIdle, + OnInitialize, OnRuntimeUpgrade, OnUnbalanced, }, weights::{ constants::{ @@ -63,10 +64,11 @@ use { EnsureRoot, }, nimbus_primitives::NimbusId, + pallet_balances::NegativeImbalance, pallet_invulnerables::InvulnerableRewardDistribution, pallet_registrar::RegistrarHooks, pallet_registrar_runtime_api::ContainerChainGenesisData, - pallet_services_payment::{ChargeForBlockCredit, ProvideBlockProductionCost}, + pallet_services_payment::ProvideBlockProductionCost, pallet_session::{SessionManager, ShouldEndSession}, pallet_transaction_payment::{ConstFeeMultiplier, CurrencyAdapter, Multiplier}, polkadot_runtime_common::BlockHashCount, @@ -77,7 +79,10 @@ use { sp_core::{crypto::KeyTypeId, Decode, Encode, Get, MaxEncodedLen, OpaqueMetadata}, sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdConversion, AccountIdLookup, BlakeTwo256, Block as BlockT, Verify}, + traits::{ + AccountIdConversion, AccountIdLookup, BlakeTwo256, Block as BlockT, IdentityLookup, + Verify, + }, transaction_validity::{TransactionSource, TransactionValidity}, AccountId32, ApplyExtrinsicResult, }, @@ -402,6 +407,44 @@ impl pallet_balances::Config for Runtime { type WeightInfo = pallet_balances::weights::SubstrateWeight; } +pub struct DealWithFees(sp_std::marker::PhantomData); +impl OnUnbalanced> for DealWithFees +where + R: pallet_balances::Config + pallet_treasury::Config, + pallet_treasury::Pallet: OnUnbalanced>, +{ + // this seems to be called for substrate-based transactions + fn on_unbalanceds(mut fees_then_tips: impl Iterator>) { + if let Some(fees) = fees_then_tips.next() { + // 80% is burned, 20% goes to the treasury + // Same policy applies for tips as well + let burn_percentage = 80; + let treasury_percentage = 20; + + let (_, to_treasury) = fees.ration(burn_percentage, treasury_percentage); + // Balances pallet automatically burns dropped Negative Imbalances by decreasing total_supply accordingly + as OnUnbalanced<_>>::on_unbalanced(to_treasury); + + // handle tip if there is one + if let Some(tip) = fees_then_tips.next() { + let (_, to_treasury) = tip.ration(burn_percentage, treasury_percentage); + as OnUnbalanced<_>>::on_unbalanced(to_treasury); + } + } + } + + // this is called from pallet_evm for Ethereum-based transactions + // (technically, it calls on_unbalanced, which calls this when non-zero) + fn on_nonzero_unbalanced(amount: NegativeImbalance) { + // 80% is burned, 20% goes to the treasury + let burn_percentage = 80; + let treasury_percentage = 20; + + let (_, to_treasury) = amount.ration(burn_percentage, treasury_percentage); + as OnUnbalanced<_>>::on_unbalanced(to_treasury); + } +} + parameter_types! { pub const TransactionByteFee: Balance = 1; pub const FeeMultiplier: Multiplier = Multiplier::from_u32(1); @@ -410,7 +453,7 @@ parameter_types! { impl pallet_transaction_payment::Config for Runtime { type RuntimeEvent = RuntimeEvent; // This will burn the fees - type OnChargeTransaction = CurrencyAdapter; + type OnChargeTransaction = CurrencyAdapter>; type OperationalFeeMultiplier = ConstU8<5>; type WeightToFee = WeightToFee; type LengthToFee = ConstantMultiplier; @@ -583,10 +626,22 @@ impl RemoveParaIdsWithNoCredits for RemoveParaIdsWithNoCreditsImpl { let credits_for_2_sessions = 2 * blocks_per_session; para_ids.retain(|para_id| { // Check if the container chain has enough credits for producing blocks for 2 sessions - let credits = pallet_services_payment::BlockProductionCredits::::get(para_id) + let free_credits = pallet_services_payment::BlockProductionCredits::::get(para_id) .unwrap_or_default(); - credits >= credits_for_2_sessions + // Return if we can survive with free credits + if free_credits >= credits_for_2_sessions { + return true + } + + let remaining_credits = credits_for_2_sessions.saturating_sub(free_credits); + + let (block_production_costs, _) = ::ProvideBlockProductionCost::block_cost(para_id); + // let's check if we can withdraw + let remaining_to_pay = (remaining_credits as u128).saturating_mul(block_production_costs); + // This should take into account whether we tank goes below ED + // The true refers to keepAlive + Balances::can_withdraw(&pallet_services_payment::Pallet::::parachain_tank(*para_id), remaining_to_pay).into_result(true).is_ok() }); } @@ -652,11 +707,13 @@ parameter_types! { impl pallet_services_payment::Config for Runtime { type RuntimeEvent = RuntimeEvent; /// Handler for fees - type OnChargeForBlockCredit = ChargeForBlockCredit; + type OnChargeForBlock = (); /// Currency type for fee payment type Currency = Balances; /// Provider of a block cost which can adjust from block to block type ProvideBlockProductionCost = BlockProductionCost; + type SetRefundAddressOrigin = + EitherOfDiverse, EnsureRoot>; /// The maximum number of credits that can be accumulated type MaxCreditsStored = MaxCreditsStored; type WeightInfo = pallet_services_payment::weights::SubstrateWeight; @@ -744,17 +801,11 @@ impl RegistrarHooks for FlashboxRegistrarHooks { e, ); } - // Remove all credits from pallet_services_payment - if let Err(e) = ServicesPayment::set_credits(RuntimeOrigin::root(), para_id, 0) { - log::warn!( - "Failed to set_credits to 0 after para id {} deregistered: {:?}", - u32::from(para_id), - e, - ); - } // Remove bootnodes from pallet_data_preservers DataPreservers::para_deregistered(para_id); + ServicesPayment::para_deregistered(para_id); + Weight::default() } @@ -1135,6 +1186,41 @@ impl pallet_identity::Config for Runtime { type WeightInfo = pallet_identity::weights::SubstrateWeight; } +parameter_types! { + pub const TreasuryId: PalletId = PalletId(*b"tns/tsry"); + pub const ProposalBond: Permill = Permill::from_percent(5); + pub TreasuryAccount: AccountId = Treasury::account_id(); +} + +impl pallet_treasury::Config for Runtime { + type PalletId = TreasuryId; + type Currency = Balances; + + type ApproveOrigin = EnsureRoot; + type RejectOrigin = EnsureRoot; + type RuntimeEvent = RuntimeEvent; + // If proposal gets rejected, bond goes to treasury + type OnSlash = Treasury; + type ProposalBond = ProposalBond; + type ProposalBondMinimum = ConstU128<{ 1 * currency::DANCE * currency::SUPPLY_FACTOR }>; + type SpendPeriod = ConstU32<{ 6 * DAYS }>; + type Burn = (); + type BurnDestination = (); + type MaxApprovals = ConstU32<100>; + type WeightInfo = pallet_treasury::weights::SubstrateWeight; + type SpendFunds = (); + type ProposalBondMaximum = (); + type SpendOrigin = frame_support::traits::NeverEnsureOrigin; // Same as Polkadot + type AssetKind = (); + type Beneficiary = AccountId; + type BeneficiaryLookup = IdentityLookup; + type Paymaster = PayFromAccount; + type BalanceConverter = UnityAssetBalanceConversion; + type PayoutPeriod = ConstU32<0>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); +} + // Create the runtime by composing the FRAME pallets that were previously configured. construct_runtime!( pub enum Runtime @@ -1176,6 +1262,9 @@ construct_runtime!( // InflationRewards must be after Session and AuthorInherent InflationRewards: pallet_inflation_rewards = 35, + // Treasury stuff. + Treasury: pallet_treasury::{Pallet, Storage, Config, Event, Call} = 40, + // More system support stuff RelayStorageRoots: pallet_relay_storage_roots = 60, @@ -1192,6 +1281,7 @@ mod benches { [pallet_sudo, Sudo] [pallet_proxy, Proxy] [pallet_utility, Utility] + [pallet_treasury, Treasury] [pallet_tx_pause, TxPause] [pallet_balances, Balances] [pallet_identity, Identity] @@ -1322,14 +1412,14 @@ impl_runtime_apis! { } impl sp_genesis_builder::GenesisBuilder for Runtime { - fn create_default_config() -> Vec { - create_default_config::() - } + fn create_default_config() -> Vec { + create_default_config::() + } - fn build_config(config: Vec) -> sp_genesis_builder::Result { - build_config::(config) - } - } + fn build_config(config: Vec) -> sp_genesis_builder::Result { + build_config::(config) + } + } #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { @@ -1483,7 +1573,12 @@ impl_runtime_apis! { Session::current_index() }; - Registrar::session_container_chains(session_index).to_vec() + let container_chains = Registrar::session_container_chains(session_index); + let mut para_ids = vec![]; + para_ids.extend(container_chains.parachains); + para_ids.extend(container_chains.parathreads.into_iter().map(|(para_id, _)| para_id)); + + para_ids } /// Fetch genesis data for this para id diff --git a/runtime/flashbox/tests/common/mod.rs b/runtime/flashbox/tests/common/mod.rs index 3272705fe..49a5bfdea 100644 --- a/runtime/flashbox/tests/common/mod.rs +++ b/runtime/flashbox/tests/common/mod.rs @@ -17,7 +17,9 @@ use { cumulus_primitives_core::{ParaId, PersistedValidationData}, cumulus_primitives_parachain_inherent::ParachainInherentData, - flashbox_runtime::{AuthorInherent, MaxBootNodeUrlLen, MaxBootNodes, MaxLengthTokenSymbol}, + flashbox_runtime::{ + AuthorInherent, BlockProductionCost, MaxBootNodeUrlLen, MaxBootNodes, MaxLengthTokenSymbol, + }, frame_support::{ assert_ok, traits::{OnFinalize, OnInitialize}, @@ -25,6 +27,7 @@ use { nimbus_primitives::{NimbusId, NIMBUS_ENGINE_ID}, pallet_collator_assignment_runtime_api::runtime_decl_for_collator_assignment_api::CollatorAssignmentApi, pallet_registrar_runtime_api::ContainerChainGenesisData, + pallet_services_payment::ProvideBlockProductionCost, parity_scale_codec::Encode, polkadot_parachain_primitives::primitives::HeadData, sp_consensus_aura::AURA_ENGINE_ID, @@ -436,6 +439,11 @@ pub fn current_author() -> AccountId { .clone() } +pub fn block_credits_to_required_balance(number_of_blocks: u32, para_id: ParaId) -> Balance { + let block_cost = BlockProductionCost::block_cost(¶_id).0; + (number_of_blocks as u128).saturating_mul(block_cost) +} + pub const ALICE: [u8; 32] = [4u8; 32]; pub const BOB: [u8; 32] = [5u8; 32]; pub const CHARLIE: [u8; 32] = [6u8; 32]; diff --git a/runtime/flashbox/tests/integration_test.rs b/runtime/flashbox/tests/integration_test.rs index 59dd94bb8..2309f5b3f 100644 --- a/runtime/flashbox/tests/integration_test.rs +++ b/runtime/flashbox/tests/integration_test.rs @@ -20,7 +20,6 @@ use { common::*, cumulus_primitives_core::ParaId, dp_core::well_known_keys, - flashbox_runtime::BlockProductionCost, frame_support::{assert_noop, assert_ok, BoundedVec}, nimbus_primitives::NIMBUS_KEY_ID, pallet_author_noting::ContainerChainBlockInfo, @@ -29,7 +28,6 @@ use { pallet_registrar_runtime_api::{ runtime_decl_for_registrar_api::RegistrarApi, ContainerChainGenesisData, }, - pallet_services_payment::ProvideBlockProductionCost, parity_scale_codec::Encode, sp_consensus_aura::AURA_ENGINE_ID, sp_core::Get, @@ -40,6 +38,7 @@ use { sp_std::vec, test_relay_sproof_builder::{HeaderAs, ParaHeaderSproofBuilder, ParaHeaderSproofBuilderItem}, tp_consensus::runtime_decl_for_tanssi_authority_assignment_api::TanssiAuthorityAssignmentApiV1, + tp_traits::SlotFrequency, }; mod common; @@ -544,8 +543,7 @@ fn test_authors_paras_inserted_a_posteriori() { assert_ok!(ServicesPayment::purchase_credits( origin_of(ALICE.into()), 1001.into(), - 100_000, - None, + block_credits_to_required_balance(1000, 1001.into()) )); assert_ok!(Registrar::register( origin_of(ALICE.into()), @@ -564,8 +562,7 @@ fn test_authors_paras_inserted_a_posteriori() { assert_ok!(ServicesPayment::purchase_credits( origin_of(ALICE.into()), 1002.into(), - 100_000, - None, + block_credits_to_required_balance(1000, 1002.into()) )); // Assignment should happen after 2 sessions @@ -639,8 +636,7 @@ fn test_authors_paras_inserted_a_posteriori_with_collators_already_assigned() { assert_ok!(ServicesPayment::purchase_credits( origin_of(ALICE.into()), 1001.into(), - 100_000, - None, + block_credits_to_required_balance(1000, 1001.into()) )); // Assignment should happen after 2 sessions @@ -769,11 +765,10 @@ fn test_paras_registered_but_not_enough_credits() { assert_ok!(ServicesPayment::set_credits(root_origin(), 1001.into(), 0)); // Purchase 1 credit less that what is needed let credits_1001 = flashbox_runtime::Period::get() * 2 - 1; - assert_ok!(ServicesPayment::purchase_credits( - origin_of(ALICE.into()), + assert_ok!(ServicesPayment::set_credits( + root_origin(), 1001.into(), - credits_1001, - None, + credits_1001 )); // Assignment should happen after 2 sessions @@ -786,11 +781,10 @@ fn test_paras_registered_but_not_enough_credits() { assert_eq!(assignment.container_chains.get(&1001u32.into()), None); // Now purchase the missing block credit - assert_ok!(ServicesPayment::purchase_credits( - origin_of(ALICE.into()), + assert_ok!(ServicesPayment::set_credits( + root_origin(), 1001.into(), - 1, - None, + credits_1001 + 1 )); run_to_session(4u32); @@ -851,11 +845,10 @@ fn test_paras_registered_but_only_credits_for_1_session() { assert_ok!(ServicesPayment::set_credits(root_origin(), 1001.into(), 0)); // Purchase only enough credits for 1 session let credits_1001 = flashbox_runtime::Period::get() * 2; - assert_ok!(ServicesPayment::purchase_credits( - origin_of(ALICE.into()), + assert_ok!(ServicesPayment::set_credits( + root_origin(), 1001.into(), - credits_1001, - None, + credits_1001 )); // Assignment should happen after 2 sessions @@ -2503,20 +2496,21 @@ fn test_can_buy_credits_before_registering_para() { assert_ok!(ServicesPayment::purchase_credits( origin_of(ALICE.into()), 1001.into(), - u32::MAX, - None, + block_credits_to_required_balance(u32::MAX, 1001.into()) )); let balance_after = System::account(AccountId::from(ALICE)).data.free; - // But only up to MaxCreditsStored have actually been purchased - let credits = pallet_services_payment::BlockProductionCredits::::get( - &ParaId::from(1001), - ) - .unwrap_or_default(); - assert_eq!(credits, flashbox_runtime::MaxCreditsStored::get()); + // Now parachain tank should have this amount + let balance_tank = System::account(ServicesPayment::parachain_tank(1001.into())) + .data + .free; - let expected_cost = BlockProductionCost::::block_cost(&ParaId::from(1001)).0 - * u128::from(flashbox_runtime::MaxCreditsStored::get()); + assert_eq!( + balance_tank, + block_credits_to_required_balance(u32::MAX, 1001.into()) + ); + + let expected_cost = block_credits_to_required_balance(u32::MAX, 1001.into()); assert_eq!(balance_before - balance_after, expected_cost); }); } @@ -2579,19 +2573,30 @@ fn test_can_buy_credits_before_registering_para_and_receive_free_credits() { assert_ok!(ServicesPayment::purchase_credits( origin_of(ALICE.into()), 1001.into(), - flashbox_runtime::MaxCreditsStored::get() - 1, - None, + block_credits_to_required_balance( + flashbox_runtime::MaxCreditsStored::get() - 1, + 1001.into() + ) )); let balance_after = System::account(AccountId::from(ALICE)).data.free; - let credits = pallet_services_payment::BlockProductionCredits::::get( - &ParaId::from(1001), - ) - .unwrap_or_default(); - assert_eq!(credits, flashbox_runtime::MaxCreditsStored::get() - 1); + // Now parachain tank should have this amount + let balance_tank = System::account(ServicesPayment::parachain_tank(1001.into())) + .data + .free; - let expected_cost = BlockProductionCost::::block_cost(&ParaId::from(1001)).0 - * u128::from(flashbox_runtime::MaxCreditsStored::get() - 1); + assert_eq!( + balance_tank, + block_credits_to_required_balance( + flashbox_runtime::MaxCreditsStored::get() - 1, + 1001.into() + ) + ); + + let expected_cost = block_credits_to_required_balance( + flashbox_runtime::MaxCreditsStored::get() - 1, + 1001.into(), + ); assert_eq!(balance_before - balance_after, expected_cost); // Now register para @@ -2610,7 +2615,7 @@ fn test_can_buy_credits_before_registering_para_and_receive_free_credits() { 1001.into() )); - // We received 1 free credit, because we cannot have more than MaxCreditsStored + // We received aññ free credits, because we cannot have more than MaxCreditsStored let credits = pallet_services_payment::BlockProductionCredits::::get( &ParaId::from(1001), ) @@ -2698,3 +2703,290 @@ fn test_deregister_and_register_again_does_not_give_free_credits() { assert_eq!(credits, credits_before_2nd_register); }); } + +#[test] +fn test_register_parathread() { + ExtBuilder::default() + .with_balances(vec![ + // Alice gets 10k extra tokens for her mapping deposit + (AccountId::from(ALICE), 210_000 * UNIT), + (AccountId::from(BOB), 100_000 * UNIT), + (AccountId::from(CHARLIE), 100_000 * UNIT), + (AccountId::from(DAVE), 100_000 * UNIT), + ]) + .with_collators(vec![ + (AccountId::from(ALICE), 210 * UNIT), + (AccountId::from(BOB), 100 * UNIT), + (AccountId::from(CHARLIE), 100 * UNIT), + (AccountId::from(DAVE), 100 * UNIT), + ]) + .with_config(default_config()) + .build() + .execute_with(|| { + run_to_block(2); + + // Register + assert_ok!(Registrar::register_parathread( + origin_of(ALICE.into()), + 3001.into(), + SlotFrequency { min: 1, max: 1 }, + empty_genesis_data() + )); + assert_ok!(DataPreservers::set_boot_nodes( + origin_of(ALICE.into()), + 3001.into(), + dummy_boot_nodes() + )); + assert_ok!(Registrar::mark_valid_for_collating( + root_origin(), + 3001.into() + )); + + run_to_session(2); + let assignment = CollatorAssignment::collator_container_chain(); + assert_eq!( + assignment.container_chains[&ParaId::from(3001)], + vec![CHARLIE.into()] + ); + }); +} + +#[test] +fn test_ed_plus_two_sessions_purchase_works() { + ExtBuilder::default() + .with_balances(vec![ + // Alice gets 10k extra tokens for her mapping deposit + (AccountId::from(ALICE), 210_000 * UNIT), + (AccountId::from(BOB), 100_000 * UNIT), + (AccountId::from(CHARLIE), 100_000 * UNIT), + (AccountId::from(DAVE), 100_000 * UNIT), + ]) + .with_collators(vec![ + (AccountId::from(ALICE), 210 * UNIT), + (AccountId::from(BOB), 100 * UNIT), + (AccountId::from(CHARLIE), 100 * UNIT), + (AccountId::from(DAVE), 100 * UNIT), + ]) + .with_config(default_config()) + .build() + .execute_with(|| { + run_to_block(2); + // Assert current slot gets updated + assert_eq!(current_slot(), 1u64); + assert!(current_author() == AccountId::from(BOB)); + + // Alice and Bob collate in our chain + let alice_id = get_aura_id_from_seed(&AccountId::from(ALICE).to_string()); + let bob_id = get_aura_id_from_seed(&AccountId::from(BOB).to_string()); + + assert_eq!(authorities(), vec![alice_id, bob_id]); + + assert_ok!(Registrar::register( + origin_of(ALICE.into()), + 1001.into(), + empty_genesis_data() + )); + assert_ok!(DataPreservers::set_boot_nodes( + origin_of(ALICE.into()), + 1001.into(), + dummy_boot_nodes() + )); + assert_ok!(Registrar::mark_valid_for_collating( + root_origin(), + 1001.into() + )); + // Need to reset credits to 0 because now parachains are given free credits on register + assert_ok!(ServicesPayment::set_credits(root_origin(), 1001.into(), 0)); + let credits_1001 = + block_credits_to_required_balance(flashbox_runtime::Period::get() * 2, 1001.into()) + + flashbox_runtime::EXISTENTIAL_DEPOSIT; + + // Fill the tank + assert_ok!(ServicesPayment::purchase_credits( + origin_of(ALICE.into()), + 1001.into(), + credits_1001 + )); + + // Assignment should happen after 2 sessions + run_to_session(1u32); + let assignment = CollatorAssignment::collator_container_chain(); + assert!(assignment.container_chains.is_empty()); + run_to_session(2u32); + // Charlie and Dave should be assigned to para 1001 + let assignment = CollatorAssignment::collator_container_chain(); + assert_eq!( + assignment.container_chains[&1001u32.into()], + vec![CHARLIE.into(), DAVE.into()] + ); + + // Simulate block inclusion from container chain 1001 + let mut sproof: ParaHeaderSproofBuilder = ParaHeaderSproofBuilder::default(); + let slot: u64 = 5; + let mut s = ParaHeaderSproofBuilderItem::default(); + s.para_id = 1001.into(); + s.author_id = HeaderAs::NonEncoded(sp_runtime::generic::Header:: { + parent_hash: Default::default(), + number: 1, + state_root: Default::default(), + extrinsics_root: Default::default(), + digest: sp_runtime::generic::Digest { + logs: vec![DigestItem::PreRuntime(AURA_ENGINE_ID, slot.encode())], + }, + }); + sproof.items.push(s); + set_author_noting_inherent_data(sproof); + + run_block(); + + // After this it should not be assigned anymore, since credits are not payable + run_to_session(4u32); + // Nobody should be assigned to para 1001 + let assignment = CollatorAssignment::collator_container_chain(); + assert_eq!(assignment.container_chains.get(&1001u32.into()), None,); + }); +} + +#[test] +fn test_ed_plus_two_sessions_minus_1_purchase_fails() { + ExtBuilder::default() + .with_balances(vec![ + // Alice gets 10k extra tokens for her mapping deposit + (AccountId::from(ALICE), 210_000 * UNIT), + (AccountId::from(BOB), 100_000 * UNIT), + (AccountId::from(CHARLIE), 100_000 * UNIT), + (AccountId::from(DAVE), 100_000 * UNIT), + ]) + .with_collators(vec![ + (AccountId::from(ALICE), 210 * UNIT), + (AccountId::from(BOB), 100 * UNIT), + (AccountId::from(CHARLIE), 100 * UNIT), + (AccountId::from(DAVE), 100 * UNIT), + ]) + .with_config(default_config()) + .build() + .execute_with(|| { + run_to_block(2); + // Assert current slot gets updated + assert_eq!(current_slot(), 1u64); + assert!(current_author() == AccountId::from(BOB)); + + // Alice and Bob collate in our chain + let alice_id = get_aura_id_from_seed(&AccountId::from(ALICE).to_string()); + let bob_id = get_aura_id_from_seed(&AccountId::from(BOB).to_string()); + + assert_eq!(authorities(), vec![alice_id, bob_id]); + + assert_ok!(Registrar::register( + origin_of(ALICE.into()), + 1001.into(), + empty_genesis_data() + )); + assert_ok!(DataPreservers::set_boot_nodes( + origin_of(ALICE.into()), + 1001.into(), + dummy_boot_nodes() + )); + assert_ok!(Registrar::mark_valid_for_collating( + root_origin(), + 1001.into() + )); + // Need to reset credits to 0 because now parachains are given free credits on register + assert_ok!(ServicesPayment::set_credits(root_origin(), 1001.into(), 0)); + let credits_1001 = + block_credits_to_required_balance(flashbox_runtime::Period::get() * 2, 1001.into()) + + flashbox_runtime::EXISTENTIAL_DEPOSIT + - 1; + + // Fill the tank + assert_ok!(ServicesPayment::purchase_credits( + origin_of(ALICE.into()), + 1001.into(), + credits_1001 + )); + + // Assignment should happen after 2 sessions + run_to_session(1u32); + let assignment = CollatorAssignment::collator_container_chain(); + assert!(assignment.container_chains.is_empty()); + run_to_session(2u32); + // Charlie and Dave should not be assigned to para 1001 + let assignment = CollatorAssignment::collator_container_chain(); + assert_eq!(assignment.container_chains.get(&1001u32.into()), None,); + }); +} + +#[test] +fn test_credits_with_purchase_can_be_combined() { + ExtBuilder::default() + .with_balances(vec![ + // Alice gets 10k extra tokens for her mapping deposit + (AccountId::from(ALICE), 210_000 * UNIT), + (AccountId::from(BOB), 100_000 * UNIT), + (AccountId::from(CHARLIE), 100_000 * UNIT), + (AccountId::from(DAVE), 100_000 * UNIT), + ]) + .with_collators(vec![ + (AccountId::from(ALICE), 210 * UNIT), + (AccountId::from(BOB), 100 * UNIT), + (AccountId::from(CHARLIE), 100 * UNIT), + (AccountId::from(DAVE), 100 * UNIT), + ]) + .with_config(default_config()) + .build() + .execute_with(|| { + run_to_block(2); + // Assert current slot gets updated + assert_eq!(current_slot(), 1u64); + assert!(current_author() == AccountId::from(BOB)); + + // Alice and Bob collate in our chain + let alice_id = get_aura_id_from_seed(&AccountId::from(ALICE).to_string()); + let bob_id = get_aura_id_from_seed(&AccountId::from(BOB).to_string()); + + assert_eq!(authorities(), vec![alice_id, bob_id]); + + assert_ok!(Registrar::register( + origin_of(ALICE.into()), + 1001.into(), + empty_genesis_data() + )); + assert_ok!(DataPreservers::set_boot_nodes( + origin_of(ALICE.into()), + 1001.into(), + dummy_boot_nodes() + )); + assert_ok!(Registrar::mark_valid_for_collating( + root_origin(), + 1001.into() + )); + // Set 1 session of free credits and purchase 1 session of credits + assert_ok!(ServicesPayment::set_credits( + root_origin(), + 1001.into(), + flashbox_runtime::Period::get() + )); + let credits_1001 = + block_credits_to_required_balance(flashbox_runtime::Period::get(), 1001.into()) + + flashbox_runtime::EXISTENTIAL_DEPOSIT; + + // Fill the tank + assert_ok!(ServicesPayment::purchase_credits( + origin_of(ALICE.into()), + 1001.into(), + credits_1001 + )); + + // Assignment should happen after 2 sessions + run_to_session(1u32); + let assignment = CollatorAssignment::collator_container_chain(); + assert!(assignment.container_chains.is_empty()); + run_to_session(2u32); + // Charlie and Dave should be assigned to para 1001 + let assignment = CollatorAssignment::collator_container_chain(); + assert_eq!( + assignment.container_chains[&1001u32.into()], + vec![CHARLIE.into(), DAVE.into()] + ); + }); +} diff --git a/test/configs/zombieTanssiParathreads.json b/test/configs/zombieTanssiParathreads.json new file mode 100644 index 000000000..89a26482b --- /dev/null +++ b/test/configs/zombieTanssiParathreads.json @@ -0,0 +1,105 @@ +{ + "settings": { + "timeout": 1000, + "provider": "native" + }, + "relaychain": { + "chain": "rococo-local", + "default_command": "tmp/polkadot", + "default_args": ["--no-hardware-benchmarks", "-lparachain=debug", "--database=paritydb", "--no-beefy"], + "nodes": [ + { + "name": "alice", + "ws_port": "9947", + "validator": true + }, + { + "name": "bob", + "validator": true + }, + { + "name": "charlie", + "validator": true + }, + { + "name": "dave", + "validator": true + } + ] + }, + "parachains": [ + { + "id": 1000, + "chain_spec_path": "specs/parathreads-tanssi-1000.json", + "COMMENT": "Important: these collators will not be injected to pallet-invulnerables because zombienet does not support that. When changing the collators list, make sure to update `scripts/build-spec-parathreads.sh`", + "collators": [ + { + "name": "Collator-01", + "ws_port": "9948", + "command": "../target/release/tanssi-node" + }, + { + "name": "Collator-02", + "command": "../target/release/tanssi-node" + }, + { + "name": "Collator-03", + "command": "../target/release/tanssi-node" + }, + { + "name": "Collator-04", + "command": "../target/release/tanssi-node" + }, + { + "name": "Collator-05", + "command": "../target/release/tanssi-node" + }, + { + "name": "Collator-06", + "command": "../target/release/tanssi-node" + }, + { + "name": "Collator-07", + "command": "../target/release/tanssi-node" + }, + { + "name": "Collator-08", + "command": "../target/release/tanssi-node" + } + ] + }, + { + "id": 2000, + "chain_spec_path": "specs/parathreads-template-container-2000.json", + "collators": [ + { + "name": "FullNode-2000", + "validator": false, + "command": "../target/release/container-chain-template-simple-node", + "ws_port": 9949, + "p2p_port": 33049 + } + ] + }, + { + "id": 2001, + "chain_spec_path": "specs/parathreads-template-container-2001.json", + "collators": [ + { + "name": "FullNode-2001", + "validator": false, + "command": "../target/release/container-chain-template-frontier-node", + "ws_port": 9950, + "p2p_port": 33050 + } + ] + } + ], + "types": { + "Header": { + "number": "u64", + "parent_hash": "Hash", + "post_state": "Hash" + } + } +} diff --git a/test/moonwall.config.json b/test/moonwall.config.json index 06ed24285..f8b4d18e6 100644 --- a/test/moonwall.config.json +++ b/test/moonwall.config.json @@ -193,6 +193,51 @@ } ] }, + { + "name": "zombie_tanssi_parathreads", + "timeout": 600000, + "testFileDir": ["suites/parathreads"], + "runScripts": ["build-spec-parathreads.sh", "download-polkadot.sh"], + "foundation": { + "type": "zombie", + "zombieSpec": { + "configPath": "./configs/zombieTanssiParathreads.json", + "skipBlockCheck": ["Container2000", "Container2001"] + } + }, + "connections": [ + { + "name": "Relay", + "type": "polkadotJs", + "endpoints": ["ws://127.0.0.1:9947"] + }, + { + "name": "Tanssi", + "type": "polkadotJs", + "endpoints": ["ws://127.0.0.1:9948"] + }, + { + "name": "Container2000", + "type": "polkadotJs", + "endpoints": ["ws://127.0.0.1:9949"] + }, + { + "name": "Container2001", + "type": "polkadotJs", + "endpoints": ["ws://127.0.0.1:9950"] + }, + { + "name": "ethers", + "type": "ethers", + "endpoints": ["ws://127.0.0.1:9950"] + }, + { + "name": "w3", + "type": "web3", + "endpoints": ["ws://127.0.0.1:9950"] + } + ] + }, { "name": "zombie_tanssi_rotation", "testFileDir": ["suites/rotation-para"], diff --git a/test/package.json b/test/package.json index 30c164165..58ac4556d 100644 --- a/test/package.json +++ b/test/package.json @@ -23,7 +23,7 @@ "author": "", "license": "ISC", "devDependencies": { - "@acala-network/chopsticks": "npm:@tanssi/chopsticks@0.9.2", + "@acala-network/chopsticks": "0.9.9-1", "@moonbeam-network/api-augment": "0.2600.0", "@moonwall/cli": "4.5.1", "@moonwall/util": "4.5.1", diff --git a/test/scripts/build-spec-parathreads.sh b/test/scripts/build-spec-parathreads.sh new file mode 100755 index 000000000..e9a5340f8 --- /dev/null +++ b/test/scripts/build-spec-parathreads.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Exit on any error +set -e + +# Always run the commands from the "test" dir +cd $(dirname $0)/.. + +mkdir -p specs +../target/release/container-chain-template-simple-node build-spec --disable-default-bootnode --add-bootnode "/ip4/127.0.0.1/tcp/33049/ws/p2p/12D3KooWHVMhQDHBpj9vQmssgyfspYecgV6e3hH1dQVDUkUbCYC9" --parachain-id 2000 --raw > specs/parathreads-template-container-2000.json +../target/release/container-chain-template-frontier-node build-spec --disable-default-bootnode --add-bootnode "/ip4/127.0.0.1/tcp/33050/ws/p2p/12D3KooWFGaw1rxB6MSuN3ucuBm7hMq5pBFJbEoqTyth4cG483Cc" --parachain-id 2001 --raw > specs/parathreads-template-container-2001.json +# TODO: add parathreads to genesis when supported by pallet_registrar +../target/release/tanssi-node build-spec --chain dancebox-local --parachain-id 1000 --invulnerable "Collator-01" --invulnerable "Collator-02" --invulnerable "Collator-03" --invulnerable "Collator-04" --invulnerable "Collator-05" --invulnerable "Collator-06" --invulnerable "Collator-07" --invulnerable "Collator-08" > specs/parathreads-tanssi-1000.json diff --git a/test/scripts/sudoRegisterPara.ts b/test/scripts/sudoRegisterPara.ts index fa9c37b0c..4419461d6 100644 --- a/test/scripts/sudoRegisterPara.ts +++ b/test/scripts/sudoRegisterPara.ts @@ -26,6 +26,11 @@ yargs(hideBin(process.argv)) describe: "Input path of raw chainSpec file", type: "string", }, + parathread: { + describe: "Set the chain as a parathread instead of a parachain", + type: "boolean", + default: false, + }, }) .demandOption(["chain", "account-priv-key"]); }, @@ -42,7 +47,16 @@ yargs(hideBin(process.argv)) const containerChainGenesisData = chainSpecToContainerChainGenesisData(api, rawSpec); const txs = []; - const tx1 = api.tx.registrar.register(rawSpec.para_id, containerChainGenesisData); + let tx1; + if (argv.parathread) { + const slotFreq = api.createType("TpTraitsSlotFrequency", { + min: 1, + max: 1, + }); + tx1 = api.tx.registrar.registerParathread(rawSpec.para_id, slotFreq, containerChainGenesisData); + } else { + tx1 = api.tx.registrar.registerParathread(rawSpec.para_id, containerChainGenesisData); + } txs.push(tx1); if (rawSpec.bootNodes?.length) { const tx2 = api.tx.dataPreservers.setBootNodes(rawSpec.para_id, rawSpec.bootNodes); diff --git a/test/suites/common-tanssi/fees/test_fee_balance_transfer.ts b/test/suites/common-tanssi/fees/test_fee_balance_transfer.ts index 083c31c7f..e4681fcf0 100644 --- a/test/suites/common-tanssi/fees/test_fee_balance_transfer.ts +++ b/test/suites/common-tanssi/fees/test_fee_balance_transfer.ts @@ -171,7 +171,7 @@ describeSuite({ it({ id: "E04", - title: "Fees are burned", + title: "80% of Fees are burned", test: async function () { const totalSupplyBefore = (await polkadotJs.query.balances.totalIssuance()).toBigInt(); const balanceBefore = (await polkadotJs.query.system.account(alice.address)).data.free.toBigInt(); @@ -194,7 +194,7 @@ describeSuite({ const totalSupplyAfter = (await polkadotJs.query.balances.totalIssuance()).toBigInt(); - expect(totalSupplyAfter - totalSupplyBefore).to.equal(issuance - fee); + expect(totalSupplyAfter - totalSupplyBefore).to.equal(issuance - (fee * 4n) / 5n); }, }); diff --git a/test/suites/common-tanssi/pallet-treasury/test_pallet_treasury.ts b/test/suites/common-tanssi/pallet-treasury/test_pallet_treasury.ts new file mode 100644 index 000000000..f35da9933 --- /dev/null +++ b/test/suites/common-tanssi/pallet-treasury/test_pallet_treasury.ts @@ -0,0 +1,183 @@ +import "@tanssi/api-augment"; +import { describeSuite, expect, beforeAll } from "@moonwall/cli"; +import { ApiPromise } from "@polkadot/api"; +import { KeyringPair } from "@moonwall/util"; +import { extractFeeAuthor } from "util/block"; + +describeSuite({ + id: "CT0901", + title: "Treasury pallet test suite", + foundationMethods: "dev", + + testCases: ({ it, context }) => { + let polkadotJs: ApiPromise; + let sudo_alice: KeyringPair; + let user_charlie: KeyringPair; + let user_dave: KeyringPair; + let user_bob: KeyringPair; + // From Pallet Id "tns/tsry" -> Account + const treasury_address = "5EYCAe5jXiVvytpxmBupXPCNE9Vduq7gPeTwy9xMgQtKWMnR"; + + beforeAll(async () => { + polkadotJs = context.polkadotJs(); + sudo_alice = context.keyring.alice; + user_charlie = context.keyring.charlie; + user_dave = context.keyring.dave; + user_bob = context.keyring.bob; + }); + + it({ + id: "E01", + title: "20% of fees & tips go for treasury account", + test: async function () { + // Gets the initial pot deposit value + const initial_pot = await polkadotJs.query.system.account(treasury_address); + const initial_free_pot = initial_pot.data.free.toBigInt(); + + // Executes a tx adding an additional tip + const tx = polkadotJs.tx.balances.transferAllowDeath(user_charlie.address, 200_000); + const signedTx = await tx.signAsync(user_dave, { tip: 100_000 }); + await context.createBlock([signedTx]); + const events = await polkadotJs.query.system.events(); + const fee = extractFeeAuthor(events, user_dave.address).amount.toBigInt(); + + // Gets the new pot deposit value + const new_pot = await polkadotJs.query.system.account(treasury_address); + const new_free_pot = new_pot.data.free.toBigInt(); + + // Division operation rounding + const rounding = fee % 5n > 0 ? 1n : 0n; + + // Treasury pot should increase by 20% of the paid fee & tip + expect(new_free_pot).to.be.equal(initial_free_pot + fee / 5n + rounding); + }, + }); + + it({ + id: "E02", + title: "Create proposal locks minimum bond from proposer", + test: async function () { + // Gets the initial reserved amount from the proposer + const proposer_initial_balance = await polkadotJs.query.system.account(user_charlie.address); + const proposer_initial_reserved_balance = proposer_initial_balance.data.reserved.toBigInt(); + + // minimum configured bond > 5% of the proposal + const tx = polkadotJs.tx.treasury.proposeSpend(1, user_dave.address); + const signedTx = await tx.signAsync(user_charlie); + await context.createBlock([signedTx]); + + const proposer_new_balance = await polkadotJs.query.system.account(user_charlie.address); + const proposer_new_reserved_balance = proposer_new_balance.data.reserved.toBigInt(); + + // reserved value should be the minimum bond + expect(proposer_new_reserved_balance).to.be.equal( + proposer_initial_reserved_balance + 1_000_000_000_000n * 100n + ); + }, + }); + + it({ + id: "E03", + title: "Create proposal locks 5% of the proposal from proposer's account", + test: async function () { + // Gets the initial reserved amount from the proposer + const proposer_initial_balance = await polkadotJs.query.system.account(user_dave.address); + const proposer_initial_reserved_balance = proposer_initial_balance.data.reserved.toBigInt(); + + // minimum configured bond > 5% of the proposal + const proposal_value = 1_000_000_000_000_000_000n; + const tx = polkadotJs.tx.treasury.proposeSpend(proposal_value, user_charlie.address); + const signedTx = await tx.signAsync(user_dave); + await context.createBlock([signedTx]); + + const proposer_new_balance = await polkadotJs.query.system.account(user_dave.address); + const proposer_new_reserved_balance = proposer_new_balance.data.reserved.toBigInt(); + + // reserved value should be 5% from the total amount requested in the proposal + expect(proposer_new_reserved_balance).to.be.equal( + proposer_initial_reserved_balance + (proposal_value * 5n) / 100n + ); + }, + }); + + it({ + id: "E04", + title: "Bond goes to treasury upon proposal rejection", + test: async function () { + // Gets the initial pot deposit value + const initial_pot = await polkadotJs.query.system.account(treasury_address); + const initial_free_pot = initial_pot.data.free.toBigInt(); + + // Creates a proposal + const proposal_value = 1_000_000_000_000_000_000n; + const tx = polkadotJs.tx.treasury.proposeSpend(proposal_value, user_dave.address); + const signedTx = await tx.signAsync(user_bob); + await context.createBlock([signedTx]); + + // Proposal is rejected + const tx_rejection = polkadotJs.tx.treasury.rejectProposal(2); + const signedTx_rejection = await polkadotJs.tx.sudo.sudo(tx_rejection).signAsync(sudo_alice); + await context.createBlock([signedTx_rejection]); + + // Gets the after rejection pot deposit value + const new_pot = await polkadotJs.query.system.account(treasury_address); + const new_free_pot = new_pot.data.free.toBigInt(); + + // Pot value should be >= the initial value + reserved proposal bond + expect(new_free_pot).toBeGreaterThan(initial_free_pot + (proposal_value * 5n) / 100n); + }, + }); + + it({ + id: "E05", + title: "Proposal is approved", + test: async function () { + // initial approvals count + const initial_approvals_count = await context.polkadotJs().query.treasury.approvals(); + + // Creates a proposal + const proposal_value = 100n; + const tx = polkadotJs.tx.treasury.proposeSpend(proposal_value, user_dave.address); + const signedTx = await tx.signAsync(user_bob); + await context.createBlock([signedTx]); + + // Proposal is approved + const tx_approval = polkadotJs.tx.treasury.approveProposal(3); + const signedTx_approval = await polkadotJs.tx.sudo.sudo(tx_approval).signAsync(sudo_alice); + await context.createBlock([signedTx_approval]); + + // New approvals count + const new_approvals_count = await context.polkadotJs().query.treasury.approvals(); + + // There should be 1 new approval + expect(new_approvals_count.length).to.be.equal(initial_approvals_count.length + 1); + }, + }); + + it({ + id: "E06", + title: "Non root can not approve proposals", + test: async function () { + // initial approvals count + const initial_approvals_count = await context.polkadotJs().query.treasury.approvals(); + + // Creates a proposal + const proposal_value = 100n; + const tx = polkadotJs.tx.treasury.proposeSpend(proposal_value, user_dave.address); + const signedTx = await tx.signAsync(user_bob); + await context.createBlock([signedTx]); + + // Proposal is approved + const tx_approval = polkadotJs.tx.treasury.approveProposal(4); + const signedTx_approval = await tx_approval.signAsync(user_charlie); + await context.createBlock([signedTx_approval]); + + // New approvals count + const new_approvals_count = await context.polkadotJs().query.treasury.approvals(); + + // There should be no new approvals + expect(new_approvals_count.length).to.be.equal(initial_approvals_count.length); + }, + }); + }, +}); diff --git a/test/suites/common-tanssi/registrar/test_registrar_deregister.ts b/test/suites/common-tanssi/registrar/test_registrar_deregister.ts index 16a342e6c..a5b4be024 100644 --- a/test/suites/common-tanssi/registrar/test_registrar_deregister.ts +++ b/test/suites/common-tanssi/registrar/test_registrar_deregister.ts @@ -84,8 +84,8 @@ describeSuite({ // Check the number of keys in storage const palletKeysWithOnePara = await polkadotJs.rpc.state.getKeys("0x3fba98689ebed1138735e0e7a5a790ab"); - // 4 fixed keys + genesis data - expect(palletKeysWithOnePara.length).to.be.eq(5); + // 5 fixed keys + genesis data + expect(palletKeysWithOnePara.length).to.be.eq(6); const currentSesssion = await polkadotJs.query.session.currentIndex(); const sessionDelay = await polkadotJs.consts.registrar.sessionDelay; @@ -118,8 +118,8 @@ describeSuite({ // Check the number of keys in storage const palletKeys = await polkadotJs.rpc.state.getKeys("0x3fba98689ebed1138735e0e7a5a790ab"); - // 4 keys: version, registeredParas, pendingParas, pendingToRemove - expect(palletKeys.length).to.be.eq(4); + // 5 keys: Version, RegisteredParas, PendingParas, PendingToRemove, PendingParathreadParams + expect(palletKeys.length).to.be.eq(5); // Check that deregistered hook cleared storage of pallet_author_noting and pallet_services_payment const authorData2000 = (await polkadotJs.query.authorNoting.latestAuthor(2000)).toJSON(); diff --git a/test/suites/common-tanssi/registrar/test_registrar_register_parathread.ts b/test/suites/common-tanssi/registrar/test_registrar_register_parathread.ts new file mode 100644 index 000000000..6f44f18fc --- /dev/null +++ b/test/suites/common-tanssi/registrar/test_registrar_register_parathread.ts @@ -0,0 +1,155 @@ +import "@tanssi/api-augment"; +import { describeSuite, expect, beforeAll } from "@moonwall/cli"; +import { KeyringPair } from "@moonwall/util"; +import { ApiPromise } from "@polkadot/api"; +import { jumpSessions } from "../../../util/block"; + +describeSuite({ + id: "CT0506", + title: "Registrar test suite", + foundationMethods: "dev", + testCases: ({ it, context }) => { + let polkadotJs: ApiPromise; + let alice: KeyringPair; + + beforeAll(() => { + alice = context.keyring.alice; + polkadotJs = context.polkadotJs(); + }); + + it({ + id: "E01", + title: "Checking that fetching registered paraIds is possible", + test: async function () { + const parasRegistered = await polkadotJs.query.registrar.registeredParaIds(); + + // These are registered in genesis + // TODO: fix once we have types + expect(parasRegistered.toJSON()).to.deep.equal([2000, 2001]); + }, + }); + + it({ + id: "E02", + title: "Checking that registering paraIds is possible", + test: async function () { + await context.createBlock(); + + const currentSesssion = await polkadotJs.query.session.currentIndex(); + const sessionDelay = await polkadotJs.consts.registrar.sessionDelay; + const expectedScheduledOnboarding = + BigInt(currentSesssion.toString()) + BigInt(sessionDelay.toString()); + + const slotFrequency = polkadotJs.createType("TpTraitsSlotFrequency", { + min: 1, + max: 1, + }); + const emptyGenesisData = () => { + const g = polkadotJs.createType("TpContainerChainGenesisDataContainerChainGenesisData", { + storage: [ + { + key: "0x636f6465", + value: "0x010203040506", + }, + ], + name: "0x436f6e7461696e657220436861696e2032303030", + id: "0x636f6e7461696e65722d636861696e2d32303030", + forkId: null, + extensions: "0x", + properties: { + tokenMetadata: { + tokenSymbol: "0x61626364", + ss58Format: 42, + tokenDecimals: 12, + }, + isEthereum: false, + }, + }); + return g; + }; + const containerChainGenesisData = emptyGenesisData(); + const bootNodes = [ + "/ip4/127.0.0.1/tcp/33051/ws/p2p/12D3KooWSDsmAa7iFbHdQW4X8B2KbeRYPDLarK6EbevUSYfGkeQw", + ]; + + const tx = polkadotJs.tx.registrar.registerParathread(2002, slotFrequency, containerChainGenesisData); + const tx2 = polkadotJs.tx.dataPreservers.setBootNodes(2002, bootNodes); + const tx3 = polkadotJs.tx.registrar.markValidForCollating(2002); + const nonce = await polkadotJs.rpc.system.accountNextIndex(alice.publicKey); + await context.createBlock([ + await tx.signAsync(alice, { nonce }), + await tx2.signAsync(alice, { nonce: nonce.addn(1) }), + await polkadotJs.tx.sudo.sudo(tx3).signAsync(alice, { nonce: nonce.addn(2) }), + ]); + + const pendingParas = await polkadotJs.query.registrar.pendingParaIds(); + expect(pendingParas.length).to.be.eq(1); + const sessionScheduling = pendingParas[0][0]; + const parasScheduled = pendingParas[0][1]; + + expect(sessionScheduling.toBigInt()).to.be.eq(expectedScheduledOnboarding); + + // These will be the paras in session 2 + // TODO: fix once we have types + expect(parasScheduled.toJSON()).to.deep.equal([2000, 2001, 2002]); + + // Check that the on chain genesis data is set correctly + const onChainGenesisData = await polkadotJs.query.registrar.paraGenesisData(2002); + // TODO: fix once we have types + expect(emptyGenesisData().toJSON()).to.deep.equal(onChainGenesisData.toJSON()); + + // Check the para id has been given some free credits + const credits = (await polkadotJs.query.servicesPayment.blockProductionCredits(2002)).toJSON(); + expect(credits, "Container chain 2002 should have been given credits").toBeGreaterThan(0); + + // Checking that in session 2 paras are registered + await jumpSessions(context, 2); + + // Expect now paraIds to be registered + const parasRegistered = await polkadotJs.query.registrar.registeredParaIds(); + // TODO: fix once we have types + expect(parasRegistered.toJSON()).to.deep.equal([2000, 2001, 2002]); + }, + }); + + it({ + id: "E03", + title: "Registered paraId has been given free credits, and flag can be cleared", + test: async function () { + const paraId = 2002; + const givenFreeCredits = await polkadotJs.query.servicesPayment.givenFreeCredits(paraId); + expect(givenFreeCredits.isNone).to.be.false; + // Test that the storage can be cleared as root + const tx = polkadotJs.tx.servicesPayment.setGivenFreeCredits(paraId, false); + await context.createBlock([await polkadotJs.tx.sudo.sudo(tx).signAsync(alice)]); + + // Flag has been cleared + const givenFreeCredits2 = await polkadotJs.query.servicesPayment.givenFreeCredits(paraId); + expect(givenFreeCredits2.isNone).to.be.true; + }, + }); + + it({ + id: "E04", + title: "Parathread params can be changed", + test: async function () { + const paraId = 2002; + const slotFrequency = polkadotJs.createType("TpTraitsSlotFrequency", { + min: 2, + max: 2, + }); + const tx = polkadotJs.tx.registrar.setParathreadParams(paraId, slotFrequency); + await context.createBlock([await polkadotJs.tx.sudo.sudo(tx).signAsync(alice)]); + + // Checking that in session 2 params have changed + await jumpSessions(context, 2); + + const params = await polkadotJs.query.registrar.parathreadParams(paraId); + expect(params.unwrap().slotFrequency.toJSON()).to.deep.equal({ + min: 2, + max: 2, + }); + }, + }); + }, +}); diff --git a/test/suites/common-tanssi/services-payment/test_service_payment_removes_tank_money_and_burns.ts b/test/suites/common-tanssi/services-payment/test_service_payment_removes_tank_money_and_burns.ts new file mode 100644 index 000000000..3a1475d2e --- /dev/null +++ b/test/suites/common-tanssi/services-payment/test_service_payment_removes_tank_money_and_burns.ts @@ -0,0 +1,58 @@ +import "@tanssi/api-augment"; +import { describeSuite, expect, beforeAll } from "@moonwall/cli"; +import { ApiPromise } from "@polkadot/api"; +import { KeyringPair } from "@moonwall/util"; +import { jumpSessions, fetchIssuance } from "util/block"; +import { paraIdTank } from "util/payment"; + +describeSuite({ + id: "CT0604", + title: "Services payment test suite", + foundationMethods: "dev", + testCases: ({ it, context }) => { + let polkadotJs: ApiPromise; + let alice: KeyringPair; + const blocksPerSession = 5n; + const paraId2001 = 2001n; + const costPerBlock = 1_000_000n; + let balanceTankBefore; + beforeAll(async () => { + polkadotJs = context.polkadotJs(); + alice = context.keyring.alice; + const tx2000OneSession = polkadotJs.tx.servicesPayment.setCredits(paraId2001, 0); + await context.createBlock([await polkadotJs.tx.sudo.sudo(tx2000OneSession).signAsync(alice)]); + const existentialDeposit = await polkadotJs.consts.balances.existentialDeposit.toBigInt(); + // Now, buy some credits for container chain 2001 + const purchasedCredits = blocksPerSession * costPerBlock + existentialDeposit; + const tx = polkadotJs.tx.servicesPayment.purchaseCredits(paraId2001, purchasedCredits); + await context.createBlock([await tx.signAsync(alice)]); + balanceTankBefore = (await polkadotJs.query.system.account(paraIdTank(paraId2001))).data.free.toBigInt(); + expect(balanceTankBefore, `Tank should have been filled`).toBe(purchasedCredits); + }); + it({ + id: "E01", + title: "We deregister 2000, check the issuance drops", + test: async function () { + // We deregister the chain + const deregister2001 = polkadotJs.tx.sudo.sudo(polkadotJs.tx.registrar.deregister(paraId2001)); + await context.createBlock([await deregister2001.signAsync(alice)]); + // Check that after 2 sessions, tank is empty and chain is deregistered + await jumpSessions(context, 2); + const balanceTank = ( + await polkadotJs.query.system.account(paraIdTank(paraId2001)) + ).data.free.toBigInt(); + expect(balanceTank, `Tank should have been removed`).toBe(0n); + + const blockNumber = (await polkadotJs.rpc.chain.getHeader()).number.toNumber(); + const apiAtBlockBefore = await polkadotJs.at(await polkadotJs.rpc.chain.getBlockHash(blockNumber - 1)); + const supplyBefore = (await apiAtBlockBefore.query.balances.totalIssuance()).toBigInt(); + const supplyAfter = (await polkadotJs.query.balances.totalIssuance()).toBigInt(); + const blockIssuance = await fetchIssuance(await polkadotJs.query.system.events()); + const issuanceDiff = supplyAfter - supplyBefore; + expect(issuanceDiff, `Tank should have been removed`).toBe( + blockIssuance.amount.toBigInt() - balanceTankBefore + ); + }, + }); + }, +}); diff --git a/test/suites/common-tanssi/services-payment/test_service_payment_removes_tank_money_and_refunds.ts b/test/suites/common-tanssi/services-payment/test_service_payment_removes_tank_money_and_refunds.ts new file mode 100644 index 000000000..b70242b45 --- /dev/null +++ b/test/suites/common-tanssi/services-payment/test_service_payment_removes_tank_money_and_refunds.ts @@ -0,0 +1,71 @@ +import "@tanssi/api-augment"; +import { describeSuite, expect, beforeAll } from "@moonwall/cli"; +import { ApiPromise } from "@polkadot/api"; +import { KeyringPair, generateKeyringPair } from "@moonwall/util"; +import { jumpSessions } from "util/block"; +import { paraIdTank } from "util/payment"; + +describeSuite({ + id: "CT0604", + title: "Services payment test suite", + foundationMethods: "dev", + testCases: ({ it, context }) => { + let polkadotJs: ApiPromise; + let alice: KeyringPair; + const blocksPerSession = 5n; + const paraId2001 = 2001n; + const costPerBlock = 1_000_000n; + let refundAddress; + let balanceTankBefore; + let purchasedCredits; + beforeAll(async () => { + polkadotJs = context.polkadotJs(); + alice = context.keyring.alice; + refundAddress = generateKeyringPair("sr25519"); + const tx2001OneSession = polkadotJs.tx.servicesPayment.setCredits(paraId2001, 0); + await context.createBlock([await polkadotJs.tx.sudo.sudo(tx2001OneSession).signAsync(alice)]); + const existentialDeposit = await polkadotJs.consts.balances.existentialDeposit.toBigInt(); + // Now, buy some credits for container chain 2001 + purchasedCredits = blocksPerSession * costPerBlock + existentialDeposit; + const tx = polkadotJs.tx.servicesPayment.purchaseCredits(paraId2001, purchasedCredits); + await context.createBlock([await tx.signAsync(alice)]); + balanceTankBefore = (await polkadotJs.query.system.account(paraIdTank(paraId2001))).data.free.toBigInt(); + expect(balanceTankBefore, `Tank should have been filled`).toBe(purchasedCredits); + }); + it({ + id: "E01", + title: "Sudo can set refund address", + test: async function () { + // We deregister the chain + const setRefundAddress = polkadotJs.tx.sudo.sudo( + polkadotJs.tx.servicesPayment.setRefundAddress(paraId2001, refundAddress.address) + ); + await context.createBlock([await setRefundAddress.signAsync(alice)]); + // Check that we can fetch the address + const refundAddressOnChain = await polkadotJs.query.servicesPayment.refundAddress(paraId2001); + expect(refundAddressOnChain.toString(), `Refund address should be set`).toBe(refundAddress.address); + }, + }); + it({ + id: "E02", + title: "On deregistration we refund the address", + test: async function () { + // We deregister the chain + const deregister2001 = polkadotJs.tx.sudo.sudo(polkadotJs.tx.registrar.deregister(paraId2001)); + await context.createBlock([await deregister2001.signAsync(alice)]); + // Check that after 2 sessions, tank is empty and chain is deregistered + await jumpSessions(context, 2); + const balanceTank = ( + await polkadotJs.query.system.account(paraIdTank(paraId2001)) + ).data.free.toBigInt(); + expect(balanceTank, `Tank should have been removed`).toBe(0n); + + const balanceRefundAddress = ( + await polkadotJs.query.system.account(refundAddress.address) + ).data.free.toBigInt(); + + expect(balanceRefundAddress).toBe(purchasedCredits); + }, + }); + }, +}); diff --git a/test/suites/common-tanssi/services-payment/test_services_pament_credit_buying_free_combined.ts b/test/suites/common-tanssi/services-payment/test_services_pament_credit_buying_free_combined.ts new file mode 100644 index 000000000..886e3bf53 --- /dev/null +++ b/test/suites/common-tanssi/services-payment/test_services_pament_credit_buying_free_combined.ts @@ -0,0 +1,90 @@ +import "@tanssi/api-augment"; +import { describeSuite, expect, beforeAll } from "@moonwall/cli"; +import { ApiPromise } from "@polkadot/api"; +import { KeyringPair } from "@moonwall/util"; +import { jumpSessions } from "util/block"; + +describeSuite({ + id: "CT0603", + title: "Services payment test suite", + foundationMethods: "dev", + testCases: ({ it, context }) => { + let polkadotJs: ApiPromise; + let alice: KeyringPair; + const blocksPerSession = 5n; + const paraId2000 = 2000n; + const paraId2001 = 2001n; + const costPerBlock = 1_000_000n; + beforeAll(async () => { + polkadotJs = context.polkadotJs(); + alice = context.keyring.alice; + }); + + it({ + id: "E01", + title: "Collators are unassigned when a container chain does not have enough credits", + test: async function () { + // Create blocks until authorNoting.blockNum does not increase anymore. + // Check that collatorAssignment does not have collators and num credits is less than 2 sessions. + + const tx2000free = polkadotJs.tx.servicesPayment.setCredits(paraId2000, 0n); + const tx2001free = polkadotJs.tx.servicesPayment.setCredits(paraId2001, 0n); + + await context.createBlock([await polkadotJs.tx.sudo.sudo(tx2000free).signAsync(alice)]); + await context.createBlock([await polkadotJs.tx.sudo.sudo(tx2001free).signAsync(alice)]); + + // Check that after 2 sessions, container chain 2000 has collators and is producing blocks + await jumpSessions(context, 2); + + const collators = await polkadotJs.query.collatorAssignment.collatorContainerChain(); + expect( + collators.toJSON().containerChains[paraId2000], + `Container chain ${paraId2000} should have 0 collators` + ).toBeUndefined(); + }, + }); + it({ + id: "E02", + title: "Collators are not assigned when we buy 2 session + ED -1", + test: async function () { + const tx2000OneSession = polkadotJs.tx.servicesPayment.setCredits(paraId2000, blocksPerSession); + await context.createBlock([await polkadotJs.tx.sudo.sudo(tx2000OneSession).signAsync(alice)]); + const existentialDeposit = await polkadotJs.consts.balances.existentialDeposit.toBigInt(); + // Now, buy some credits for container chain 2000. we only buy ones session -1 + const purchasedCredits = blocksPerSession * costPerBlock + existentialDeposit - 1n; + // Check that after 2 sessions, container chain 2000 has not collators + const tx = polkadotJs.tx.servicesPayment.purchaseCredits(paraId2000, purchasedCredits); + await context.createBlock([await tx.signAsync(alice)]); + + // Check that after 2 sessions, container chain 2000 has 0 collators and is not producing blocks + await jumpSessions(context, 2); + + const collators = await polkadotJs.query.collatorAssignment.collatorContainerChain(); + expect( + collators.toJSON().containerChains[paraId2000], + `Container chain ${paraId2000} should have 0 collators` + ).toBeUndefined(); + }, + }); + it({ + id: "E03", + title: "Collators are assigned when we buy at least 2 session + ED", + test: async function () { + // Now, buy the remaining + const purchasedCredits = 1n; + // Purchase the remaining 1 + const tx = polkadotJs.tx.servicesPayment.purchaseCredits(paraId2000, purchasedCredits); + await context.createBlock([await tx.signAsync(alice)]); + + // Check that after 2 sessions, container chain 2000 has collators and is producing blocks + await jumpSessions(context, 2); + + const collators = await polkadotJs.query.collatorAssignment.collatorContainerChain(); + expect( + collators.toJSON().containerChains[paraId2000].length, + `Container chain ${paraId2000} has 0 collators` + ).toBeGreaterThan(0); + }, + }); + }, +}); diff --git a/test/suites/common-tanssi/services-payment/test_services_payment.ts b/test/suites/common-tanssi/services-payment/test_services_payment.ts index 6a1270c53..bd2170426 100644 --- a/test/suites/common-tanssi/services-payment/test_services_payment.ts +++ b/test/suites/common-tanssi/services-payment/test_services_payment.ts @@ -3,6 +3,7 @@ import { describeSuite, expect, beforeAll } from "@moonwall/cli"; import { ApiPromise } from "@polkadot/api"; import { generateKeyringPair, KeyringPair } from "@moonwall/util"; import { jumpSessions } from "util/block"; +import { paraIdTank } from "util/payment"; describeSuite({ id: "CT0601", @@ -192,18 +193,19 @@ describeSuite({ const balanceBefore = ( await polkadotJs.query.system.account(randomAccount.address) ).data.free.toBigInt(); - const credits1 = (await polkadotJs.query.servicesPayment.blockProductionCredits(paraId)).toJSON(); - const purchasedCredits = 100n * blocksPerSession; + const purchasedCredits = 1000n * blocksPerSession; - const tx = polkadotJs.tx.servicesPayment.purchaseCredits(paraId, purchasedCredits, null); + const requiredBalance = purchasedCredits * 1_000_000n; + const tx = polkadotJs.tx.servicesPayment.purchaseCredits(paraId, requiredBalance); await context.createBlock([await tx.signAsync(randomAccount)]); const balanceAfter = ( await polkadotJs.query.system.account(randomAccount.address) ).data.free.toBigInt(); expect(balanceAfter).toBeLessThan(balanceBefore); - const credits2 = (await polkadotJs.query.servicesPayment.blockProductionCredits(paraId)).toJSON(); - expect(BigInt(credits2)).toBe(BigInt(credits1) + purchasedCredits); + + const balanceTank = (await polkadotJs.query.system.account(paraIdTank(paraId))).data.free.toBigInt(); + expect(balanceTank).toBe(requiredBalance); // Check that after 2 sessions, container chain 2000 has collators and is producing blocks await jumpSessions(context, 2); @@ -213,20 +215,23 @@ describeSuite({ collators.toJSON().containerChains[paraId].length, `Container chain ${paraId} has 0 collators` ).toBeGreaterThan(0); + expect(balanceTank).toBe(requiredBalance); // Create a block, the block number should increase, and the number of credits should decrease - const credits3 = (await polkadotJs.query.servicesPayment.blockProductionCredits(paraId)).toJSON(); const containerBlockNum3 = await (await polkadotJs.query.authorNoting.latestAuthor(paraId)).toJSON() .blockNumber; await context.createBlock(); - const credits4 = (await polkadotJs.query.servicesPayment.blockProductionCredits(paraId)).toJSON(); + const containerBlockNum4 = await (await polkadotJs.query.authorNoting.latestAuthor(paraId)).toJSON() .blockNumber; expect(containerBlockNum3, "container chain 2000 did not create a block").toBeLessThan( containerBlockNum4 ); - expect(credits3, "container chain 2000 created a block without burning any credits").toBeGreaterThan( - credits4 + const balanceTankAfter = ( + await polkadotJs.query.system.account(paraIdTank(paraId)) + ).data.free.toBigInt(); + expect(balanceTank, "container chain 2000 created a block without burning any credits").toBeGreaterThan( + balanceTankAfter ); }, }); diff --git a/test/suites/dev-tanssi/weights/test_set_latest_author_data_weight.ts b/test/suites/dev-tanssi/weights/test_set_latest_author_data_weight.ts index ac8a12e5d..28bee03e3 100644 --- a/test/suites/dev-tanssi/weights/test_set_latest_author_data_weight.ts +++ b/test/suites/dev-tanssi/weights/test_set_latest_author_data_weight.ts @@ -12,8 +12,8 @@ describeSuite({ id: "E01", title: "Weight should be match expected", test: async function () { - const expectedRefTime = new BN(1_064_263_621); - const expectedProofSize = new BN(6_745); + const expectedRefTime = new BN(1_108_762_621); + const expectedProofSize = new BN(9_212); await context.createBlock(); diff --git a/test/suites/para/test_tanssi_containers.ts b/test/suites/para/test_tanssi_containers.ts index 7cf7a8823..7a79ce017 100644 --- a/test/suites/para/test_tanssi_containers.ts +++ b/test/suites/para/test_tanssi_containers.ts @@ -239,7 +239,10 @@ describeSuite({ const chainSpec2002 = JSON.parse(spec2002); const containerChainGenesisData = chainSpecToContainerChainGenesisData(paraApi, chainSpec2002); const tx1 = paraApi.tx.registrar.register(2002, containerChainGenesisData); - const tx2 = paraApi.tx.servicesPayment.purchaseCredits(2002, 100000, null); + const purchasedCredits = 100000n; + const requiredBalance = purchasedCredits * 1_000_000n; + + const tx2 = paraApi.tx.servicesPayment.purchaseCredits(2002, requiredBalance); const tx12 = paraApi.tx.utility.batchAll([tx1, tx2]); await signAndSendAndInclude(tx12, alice); const bootNodes = [ diff --git a/test/suites/parathreads/test_tanssi_parathreads.ts b/test/suites/parathreads/test_tanssi_parathreads.ts new file mode 100644 index 000000000..1eee85323 --- /dev/null +++ b/test/suites/parathreads/test_tanssi_parathreads.ts @@ -0,0 +1,380 @@ +import { beforeAll, describeSuite, expect } from "@moonwall/cli"; +import { MIN_GAS_PRICE, customWeb3Request, generateKeyringPair, getBlockArray } from "@moonwall/util"; +import { ApiPromise, Keyring } from "@polkadot/api"; +import { Signer } from "ethers"; +import fs from "fs/promises"; +import { getAuthorFromDigest } from "../../util/author"; +import { signAndSendAndInclude, waitSessions } from "../../util/block"; +import { createTransfer, waitUntilEthTxIncluded } from "../../util/ethereum"; +import { getKeyringNimbusIdHex } from "../../util/keys"; +import { getHeaderFromRelay } from "../../util/relayInterface"; +import { chainSpecToContainerChainGenesisData } from "../../util/genesis_data.ts"; +import jsonBg from "json-bigint"; +import Bottleneck from "bottleneck"; +import { stringToHex } from "@polkadot/util"; +const JSONbig = jsonBg({ useNativeBigInt: true }); + +describeSuite({ + id: "R01", + title: "Zombie Tanssi Rotation Test", + foundationMethods: "zombie", + testCases: function ({ it, context }) { + let paraApi: ApiPromise; + let relayApi: ApiPromise; + let container2000Api: ApiPromise; + let container2001Api: ApiPromise; + let ethersSigner: Signer; + let allCollators: string[]; + let collatorName: Record; + + beforeAll(async () => { + paraApi = context.polkadotJs("Tanssi"); + relayApi = context.polkadotJs("Relay"); + container2000Api = context.polkadotJs("Container2000"); + container2001Api = context.polkadotJs("Container2001"); + ethersSigner = context.ethers(); + + const relayNetwork = relayApi.consts.system.version.specName.toString(); + expect(relayNetwork, "Relay API incorrect").to.contain("rococo"); + + const paraNetwork = paraApi.consts.system.version.specName.toString(); + const paraId1000 = (await paraApi.query.parachainInfo.parachainId()).toString(); + expect(paraNetwork, "Para API incorrect").to.contain("dancebox"); + expect(paraId1000, "Para API incorrect").to.be.equal("1000"); + + const container2000Network = container2000Api.consts.system.version.specName.toString(); + const paraId2000 = (await container2000Api.query.parachainInfo.parachainId()).toString(); + expect(container2000Network, "Container2000 API incorrect").to.contain("container-chain-template"); + expect(paraId2000, "Container2000 API incorrect").to.be.equal("2000"); + + const container2001Network = container2001Api.consts.system.version.specName.toString(); + const paraId2001 = (await container2001Api.query.parachainInfo.parachainId()).toString(); + expect(container2001Network, "Container2001 API incorrect").to.contain("frontier-template"); + expect(paraId2001, "Container2001 API incorrect").to.be.equal("2001"); + + // Test block numbers in relay are 0 yet + const header2000 = await getHeaderFromRelay(relayApi, 2000); + const header2001 = await getHeaderFromRelay(relayApi, 2001); + + expect(header2000.number.toNumber()).to.be.equal(0); + expect(header2001.number.toNumber()).to.be.equal(0); + + // Initialize list of all collators, this should match the names from build-spec.sh script + allCollators = [ + "Collator-01", + "Collator-02", + "Collator-03", + "Collator-04", + "Collator-05", + "Collator-06", + "Collator-07", + "Collator-08", + ]; + // Initialize reverse map of collator key to collator name + collatorName = createCollatorKeyToNameMap(paraApi, allCollators); + console.log(collatorName); + }, 120000); + + it({ + id: "T01", + title: "Blocks are being produced on parachain", + test: async function () { + const blockNum = (await paraApi.rpc.chain.getBlock()).block.header.number.toNumber(); + expect(blockNum).to.be.greaterThan(0); + }, + }); + + it({ + id: "T02", + title: "Disable full_rotation", + timeout: 60000, + test: async function () { + const keyring = new Keyring({ type: "sr25519" }); + const alice = keyring.addFromUri("//Alice", { name: "Alice default" }); + + //const tx2 = await paraApi.tx.configuration.setMinOrchestratorCollators(1); + //const tx3 = await paraApi.tx.configuration.setMaxOrchestratorCollators(1); + const tx4 = await paraApi.tx.configuration.setFullRotationPeriod(0); + //const tx1234 = paraApi.tx.utility.batchAll([tx1, tx2, tx3, tx4]); + await signAndSendAndInclude(paraApi.tx.sudo.sudo(tx4), alice); + }, + }); + + it({ + id: "T03a", + title: "Register parathreads 2000 and 2001", + timeout: 60000, + test: async function () { + const keyring = new Keyring({ type: "sr25519" }); + const alice = keyring.addFromUri("//Alice", { name: "Alice default" }); + const txs2000 = await registerParathread(paraApi, alice.address, 2000); + const txs2001 = await registerParathread(paraApi, alice.address, 2001); + + const slotFrequency2000 = paraApi.createType("TpTraitsSlotFrequency", { + min: 5, + max: 5, + }); + const tx1 = await paraApi.tx.registrar.setParathreadParams(2000, slotFrequency2000); + const slotFrequency2001 = paraApi.createType("TpTraitsSlotFrequency", { + min: 2, + max: 2, + }); + const tx2 = await paraApi.tx.registrar.setParathreadParams(2001, slotFrequency2001); + const txs = paraApi.tx.utility.batchAll([...txs2000, ...txs2001, tx1, tx2]); + await signAndSendAndInclude(paraApi.tx.sudo.sudo(txs), alice); + }, + }); + + it({ + id: "T03b", + title: "Wait for parathreads 2000 and 2001 to be assigned collators", + timeout: 600000, + test: async function () { + await waitSessions(context, paraApi, 2); + }, + }); + + it({ + id: "T04", + title: "Blocks are being produced on container 2000", + test: async function () { + // Produces 1 block every 5 slots, which is every 60 seconds + await sleep(60000); + const blockNum = (await container2000Api.rpc.chain.getBlock()).block.header.number.toNumber(); + expect(blockNum).to.be.greaterThan(0); + }, + }); + + it({ + id: "T05", + title: "Blocks are being produced on container 2001", + test: async function () { + // Produces 1 block every 2 slots, which is every 24 seconds + await sleep(24000); + const blockNum = (await container2001Api.rpc.chain.getBlock()).block.header.number.toNumber(); + + expect(blockNum).to.be.greaterThan(0); + expect(await ethersSigner.provider.getBlockNumber(), "Safe tag is not present").to.be.greaterThan(0); + }, + }); + + it({ + id: "T06", + title: "Test container chain 2000 assignation is correct", + test: async function () { + const currentSession = (await paraApi.query.session.currentIndex()).toNumber(); + const paraId = (await container2000Api.query.parachainInfo.parachainId()).toString(); + const containerChainCollators = ( + await paraApi.query.authorityAssignment.collatorContainerChain(currentSession) + ).toJSON().containerChains[paraId]; + + // TODO: fix once we have types + const writtenCollators = (await container2000Api.query.authoritiesNoting.authorities()).toJSON(); + + expect(containerChainCollators).to.deep.equal(writtenCollators); + }, + }); + + it({ + id: "T07", + title: "Test container chain 2001 assignation is correct", + test: async function () { + const currentSession = (await paraApi.query.session.currentIndex()).toNumber(); + const paraId = (await container2001Api.query.parachainInfo.parachainId()).toString(); + const containerChainCollators = ( + await paraApi.query.authorityAssignment.collatorContainerChain(currentSession) + ).toJSON().containerChains[paraId]; + + const writtenCollators = (await container2001Api.query.authoritiesNoting.authorities()).toJSON(); + + expect(containerChainCollators).to.deep.equal(writtenCollators); + }, + }); + + it({ + id: "T08", + title: "Test author noting is correct for both containers", + timeout: 60000, + test: async function () { + const assignment = await paraApi.query.collatorAssignment.collatorContainerChain(); + const paraId2000 = await container2000Api.query.parachainInfo.parachainId(); + const paraId2001 = await container2001Api.query.parachainInfo.parachainId(); + + // TODO: fix once we have types + const containerChainCollators2000 = assignment.containerChains.toJSON()[paraId2000.toString()]; + const containerChainCollators2001 = assignment.containerChains.toJSON()[paraId2001.toString()]; + + await context.waitBlock(3, "Tanssi"); + const author2000 = await paraApi.query.authorNoting.latestAuthor(paraId2000); + const author2001 = await paraApi.query.authorNoting.latestAuthor(paraId2001); + + expect(containerChainCollators2000.includes(author2000.toJSON().author)).to.be.true; + expect(containerChainCollators2001.includes(author2001.toJSON().author)).to.be.true; + }, + }); + + it({ + id: "T09", + title: "Test author is correct in Orchestrator", + test: async function () { + const sessionIndex = (await paraApi.query.session.currentIndex()).toNumber(); + const authorities = await paraApi.query.authorityAssignment.collatorContainerChain(sessionIndex); + const author = await getAuthorFromDigest(paraApi); + // TODO: fix once we have types + expect(authorities.toJSON().orchestratorChain.includes(author.toString())).to.be.true; + }, + }); + + it({ + id: "T10", + title: "Test frontier template isEthereum", + test: async function () { + // TODO: fix once we have types + const genesisData2000 = await paraApi.query.registrar.paraGenesisData(2000); + expect(genesisData2000.toJSON().properties.isEthereum).to.be.false; + const genesisData2001 = await paraApi.query.registrar.paraGenesisData(2001); + expect(genesisData2001.toJSON().properties.isEthereum).to.be.true; + }, + }); + it({ + id: "T11", + title: "Transactions can be made with ethers", + timeout: 60000, + test: async function () { + const randomAccount = generateKeyringPair(); + const tx = await createTransfer(context, randomAccount.address, 1_000_000_000_000, { + gasPrice: MIN_GAS_PRICE, + }); + const txHash = await customWeb3Request(context.web3(), "eth_sendRawTransaction", [tx]); + await waitUntilEthTxIncluded( + () => context.waitBlock(1, "Container2001"), + context.web3(), + txHash.result + ); + expect(Number(await context.web3().eth.getBalance(randomAccount.address))).to.be.greaterThan(0); + }, + }); + it({ + id: "T12", + title: "Check block frequency of parathreads", + timeout: 120000, + test: async function () { + // Wait 1 session so that parathreads have produced at least a few blocks each + await waitSessions(context, paraApi, 2); + + // TODO: calculate block frequency somehow + assertSlotFrequency(await getBlockData(paraApi), 1); + assertSlotFrequency(await getBlockData(container2000Api), 5); + assertSlotFrequency(await getBlockData(container2001Api), 2); + }, + }); + }, +}); + +async function getBlockData(api) { + const timePeriod = 1 * 60 * 60 * 1000; // 1 hour + const blockNumArray = await getBlockArray(api, timePeriod); + + const getBlockData = async (blockNum: number) => { + const blockHash = await api.rpc.chain.getBlockHash(blockNum); + const signedBlock = await api.rpc.chain.getBlock(blockHash); + const apiAt = await api.at(blockHash); + + return { + blockNum: blockNum, + extrinsics: signedBlock.block.extrinsics, + events: await apiAt.query.system.events(), + logs: signedBlock.block.header.digest.logs, + }; + }; + const limiter = new Bottleneck({ maxConcurrent: 5, minTime: 100 }); + const blockData = await Promise.all(blockNumArray.map((num) => limiter.schedule(() => getBlockData(num)))); + return blockData; +} + +async function assertSlotFrequency(blockData, expectedSlotDiff) { + const slotNumbers = blockData + .map(({ logs }) => { + const slotLog = logs.find( + (log) => log.isPreRuntime === true && log.asPreRuntime[0].toHex() === stringToHex("aura") + ); + return slotLog ? parseInt(slotLog.asPreRuntime[1].reverse().toString("hex"), 16) : null; + }) + .filter((slot) => slot !== null); // Filter out nulls (blocks without slotLog) + + if (slotNumbers.length < 2) { + throw new Error("Insufficient data for slot time calculation."); + } + + // Calculate differences between consecutive slots + const slotDiffs = []; + for (let i = 1; i < slotNumbers.length; i++) { + slotDiffs.push(slotNumbers[i] - slotNumbers[i - 1]); + } + + // Calculate average slot difference + const avgSlotDiff = slotDiffs.reduce((acc, diff) => acc + diff, 0) / slotDiffs.length; + expect( + Math.abs(avgSlotDiff - expectedSlotDiff), + `Average slot time is different from expected: average ${avgSlotDiff}, expected ${expectedSlotDiff}` + ).to.be.lessThan(0.5); +} + +/// Create a map of collator key "5C5p..." to collator name "Collator1000-01". +function createCollatorKeyToNameMap(paraApi, collatorNames: string[]): Record { + const collatorName: Record = {}; + + collatorNames.forEach((name) => { + const hexAddress = getKeyringNimbusIdHex(name); + const k = paraApi.createType("AccountId", hexAddress); + collatorName[k] = name; + }); + + return collatorName; +} + +async function registerParathread(api, manager, paraId) { + const specPaths = { + 2000: "specs/parathreads-template-container-2000.json", + 2001: "specs/parathreads-template-container-2001.json", + }; + if (!specPaths[paraId]) { + throw new Error(`Unknown chain spec path for paraId ${paraId}`); + } + const chain = specPaths[paraId]; + const parathread = true; + const rawSpec = JSONbig.parse(await fs.readFile(chain, "utf8")); + + const containerChainGenesisData = chainSpecToContainerChainGenesisData(api, rawSpec); + const txs = []; + let tx1; + if (parathread) { + const slotFreq = api.createType("TpTraitsSlotFrequency", { + min: 1, + max: 1, + }); + tx1 = api.tx.registrar.registerParathread(rawSpec.para_id, slotFreq, containerChainGenesisData); + } else { + tx1 = api.tx.registrar.registerParathread(rawSpec.para_id, containerChainGenesisData); + } + txs.push( + api.tx.utility.dispatchAs( + { + system: { Signed: manager }, + } as any, + tx1 + ) + ); + if (rawSpec.bootNodes?.length) { + const tx2 = api.tx.dataPreservers.setBootNodes(rawSpec.para_id, rawSpec.bootNodes); + txs.push(tx2); + } + const tx3 = api.tx.registrar.markValidForCollating(rawSpec.para_id); + txs.push(tx3); + + return txs; +} + +const sleep = (ms: number): Promise => { + return new Promise((resolve) => setTimeout(resolve, ms)); +}; diff --git a/test/util/payment.ts b/test/util/payment.ts new file mode 100644 index 000000000..4cfc48cda --- /dev/null +++ b/test/util/payment.ts @@ -0,0 +1,13 @@ +import { bnToU8a, stringToU8a } from "@polkadot/util"; +import { blake2AsU8a } from "@polkadot/util-crypto"; + +// Tank account is blake2(b"modlpy/serpayment" + parahain ID) +export function paraIdTank(paraId: any): any { + const seedBytes = stringToU8a("modlpy/serpayment"); + const paraIdBytes = bnToU8a(paraId, { bitLength: 32 }); + const combinedBytes = new Uint8Array(seedBytes.length + paraIdBytes.length); + combinedBytes.set(seedBytes); + combinedBytes.set(paraIdBytes, seedBytes.length); + const para_tank = blake2AsU8a(combinedBytes, 256); + return para_tank; +} diff --git a/typescript-api/src/dancebox/interfaces/augment-api-consts.ts b/typescript-api/src/dancebox/interfaces/augment-api-consts.ts index ba656d38b..98ecc6283 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-consts.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-consts.ts @@ -8,7 +8,9 @@ import "@polkadot/api-base/types/consts"; import type { ApiTypes, AugmentedConst } from "@polkadot/api-base/types"; import type { Option, u128, u16, u32, u64, u8 } from "@polkadot/types-codec"; import type { Codec } from "@polkadot/types-codec/types"; +import type { Permill } from "@polkadot/types/interfaces/runtime"; import type { + FrameSupportPalletId, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion, @@ -224,6 +226,33 @@ declare module "@polkadot/api-base/types/consts" { /** Generic const */ [key: string]: Codec; }; + treasury: { + /** Percentage of spare funds (if any) that are burnt per spend period. */ + burn: Permill & AugmentedConst; + /** + * The maximum number of approvals that can wait in the spending queue. + * + * NOTE: This parameter is also used within the Bounties Pallet extension if enabled. + */ + maxApprovals: u32 & AugmentedConst; + /** The treasury's pallet id, used for deriving its sovereign account ID. */ + palletId: FrameSupportPalletId & AugmentedConst; + /** The period during which an approved treasury spend has to be claimed. */ + payoutPeriod: u32 & AugmentedConst; + /** + * Fraction of a proposal's value that should be bonded in order to place the proposal. An accepted proposal gets + * these back. A rejected proposal does not. + */ + proposalBond: Permill & AugmentedConst; + /** Maximum amount of funds that should be placed in a deposit for making a proposal. */ + proposalBondMaximum: Option & AugmentedConst; + /** Minimum amount of funds that should be placed in a deposit for making a proposal. */ + proposalBondMinimum: u128 & AugmentedConst; + /** Period between successive spends. */ + spendPeriod: u32 & AugmentedConst; + /** Generic const */ + [key: string]: Codec; + }; txPause: { /** * Maximum length for pallet name and call name SCALE encoded string names. diff --git a/typescript-api/src/dancebox/interfaces/augment-api-errors.ts b/typescript-api/src/dancebox/interfaces/augment-api-errors.ts index a2dfc2afa..25100cf8d 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-errors.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-errors.ts @@ -193,6 +193,8 @@ declare module "@polkadot/api-base/types/errors" { invulnerables: { /** Account is already an Invulnerable. */ AlreadyInvulnerable: AugmentedError; + /** Account does not have keys registered */ + NoKeysRegistered: AugmentedError; /** Account is not an Invulnerable. */ NotInvulnerable: AugmentedError; /** There are too many Invulnerables. */ @@ -368,6 +370,8 @@ declare module "@polkadot/api-base/types/errors" { registrar: { /** Attempted to register a ParaId with a genesis data size greater than the limit */ GenesisDataTooBig: AugmentedError; + /** Tried to change parathread params for a para id that is not a registered parathread */ + NotAParathread: AugmentedError; /** Tried to register a ParaId with an account that did not have enough balance for the deposit */ NotSufficientDeposit: AugmentedError; /** Attempted to deregister a ParaId that is already being deregistered */ @@ -438,6 +442,34 @@ declare module "@polkadot/api-base/types/errors" { /** Generic error */ [key: string]: AugmentedError; }; + treasury: { + /** The payment has already been attempted. */ + AlreadyAttempted: AugmentedError; + /** The spend is not yet eligible for payout. */ + EarlyPayout: AugmentedError; + /** The balance of the asset kind is not convertible to the balance of the native asset. */ + FailedToConvertBalance: AugmentedError; + /** The payment has neither failed nor succeeded yet. */ + Inconclusive: AugmentedError; + /** The spend origin is valid but the amount it is allowed to spend is lower than the amount to be spent. */ + InsufficientPermission: AugmentedError; + /** Proposer's balance is too low. */ + InsufficientProposersBalance: AugmentedError; + /** No proposal, bounty or spend at that index. */ + InvalidIndex: AugmentedError; + /** The payout was not yet attempted/claimed. */ + NotAttempted: AugmentedError; + /** There was some issue with the mechanism of payment. */ + PayoutError: AugmentedError; + /** Proposal has not been approved. */ + ProposalNotApproved: AugmentedError; + /** The spend has expired and cannot be claimed. */ + SpendExpired: AugmentedError; + /** Too many approvals in the queue. */ + TooManyApprovals: AugmentedError; + /** Generic error */ + [key: string]: AugmentedError; + }; txPause: { /** The call is paused. */ IsPaused: AugmentedError; diff --git a/typescript-api/src/dancebox/interfaces/augment-api-events.ts b/typescript-api/src/dancebox/interfaces/augment-api-events.ts index 4289858e8..9b3f2dbe6 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-events.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-events.ts @@ -982,6 +982,8 @@ declare module "@polkadot/api-base/types/events" { ParaIdUnpaused: AugmentedEvent; /** A new para id is now valid for collating. [para_id] */ ParaIdValidForCollating: AugmentedEvent; + /** Parathread params changed */ + ParathreadParamsChanged: AugmentedEvent; /** Generic event */ [key: string]: AugmentedEvent; }; @@ -999,10 +1001,15 @@ declare module "@polkadot/api-base/types/events" { >; CreditsPurchased: AugmentedEvent< ApiType, - [paraId: u32, payer: AccountId32, fee: u128, creditsPurchased: u32, creditsRemaining: u32], - { paraId: u32; payer: AccountId32; fee: u128; creditsPurchased: u32; creditsRemaining: u32 } + [paraId: u32, payer: AccountId32, credit: u128], + { paraId: u32; payer: AccountId32; credit: u128 } >; CreditsSet: AugmentedEvent; + RefundAddressUpdated: AugmentedEvent< + ApiType, + [paraId: u32, refundAddress: Option], + { paraId: u32; refundAddress: Option } + >; /** Generic event */ [key: string]: AugmentedEvent; }; @@ -1076,6 +1083,58 @@ declare module "@polkadot/api-base/types/events" { /** Generic event */ [key: string]: AugmentedEvent; }; + treasury: { + /** A new asset spend proposal has been approved. */ + AssetSpendApproved: AugmentedEvent< + ApiType, + [index: u32, assetKind: Null, amount: u128, beneficiary: AccountId32, validFrom: u32, expireAt: u32], + { index: u32; assetKind: Null; amount: u128; beneficiary: AccountId32; validFrom: u32; expireAt: u32 } + >; + /** An approved spend was voided. */ + AssetSpendVoided: AugmentedEvent; + /** Some funds have been allocated. */ + Awarded: AugmentedEvent< + ApiType, + [proposalIndex: u32, award: u128, account: AccountId32], + { proposalIndex: u32; award: u128; account: AccountId32 } + >; + /** Some of our funds have been burnt. */ + Burnt: AugmentedEvent; + /** Some funds have been deposited. */ + Deposit: AugmentedEvent; + /** A payment happened. */ + Paid: AugmentedEvent; + /** A payment failed and can be retried. */ + PaymentFailed: AugmentedEvent; + /** New proposal. */ + Proposed: AugmentedEvent; + /** A proposal was rejected; funds were slashed. */ + Rejected: AugmentedEvent< + ApiType, + [proposalIndex: u32, slashed: u128], + { proposalIndex: u32; slashed: u128 } + >; + /** Spending has finished; this is the amount that rolls over until next spend. */ + Rollover: AugmentedEvent; + /** A new spend proposal has been approved. */ + SpendApproved: AugmentedEvent< + ApiType, + [proposalIndex: u32, amount: u128, beneficiary: AccountId32], + { proposalIndex: u32; amount: u128; beneficiary: AccountId32 } + >; + /** We have ended a spend period and will now allocate funds. */ + Spending: AugmentedEvent; + /** A spend was processed and removed from the storage. It might have been successfully paid or it may have expired. */ + SpendProcessed: AugmentedEvent; + /** The inactive funds of the pallet have been updated. */ + UpdatedInactive: AugmentedEvent< + ApiType, + [reactivated: u128, deactivated: u128], + { reactivated: u128; deactivated: u128 } + >; + /** Generic event */ + [key: string]: AugmentedEvent; + }; txPause: { /** This pallet, or a specific call is now paused. */ CallPaused: AugmentedEvent< diff --git a/typescript-api/src/dancebox/interfaces/augment-api-query.ts b/typescript-api/src/dancebox/interfaces/augment-api-query.ts index b0d989f22..ad5283af1 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-query.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-query.ts @@ -66,6 +66,8 @@ import type { PalletProxyProxyDefinition, PalletRegistrarDepositInfo, PalletTransactionPaymentReleases, + PalletTreasuryProposal, + PalletTreasurySpendStatus, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, @@ -80,6 +82,7 @@ import type { SpWeightsWeightV2Weight, StagingXcmV3MultiLocation, TpContainerChainGenesisDataContainerChainGenesisData, + TpTraitsParathreadParams, XcmVersionedAssetId, XcmVersionedMultiLocation, } from "@polkadot/types/lookup"; @@ -926,9 +929,21 @@ declare module "@polkadot/api-base/types/storage" { [u32] > & QueryableStorageEntry; + parathreadParams: AugmentedQuery< + ApiType, + (arg: u32 | AnyNumber | Uint8Array) => Observable>, + [u32] + > & + QueryableStorageEntry; paused: AugmentedQuery Observable>, []> & QueryableStorageEntry; pendingParaIds: AugmentedQuery Observable]>>>, []> & QueryableStorageEntry; + pendingParathreadParams: AugmentedQuery< + ApiType, + () => Observable>]>>>, + [] + > & + QueryableStorageEntry; pendingPaused: AugmentedQuery Observable]>>>, []> & QueryableStorageEntry; pendingToRemove: AugmentedQuery Observable]>>>, []> & @@ -978,6 +993,13 @@ declare module "@polkadot/api-base/types/storage" { [u32] > & QueryableStorageEntry; + /** Refund address */ + refundAddress: AugmentedQuery< + ApiType, + (arg: u32 | AnyNumber | Uint8Array) => Observable>, + [u32] + > & + QueryableStorageEntry; /** Generic query */ [key: string]: QueryableStorageEntry; }; @@ -1139,6 +1161,32 @@ declare module "@polkadot/api-base/types/storage" { /** Generic query */ [key: string]: QueryableStorageEntry; }; + treasury: { + /** Proposal indices that have been approved but not yet awarded. */ + approvals: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** The amount which has been reported as inactive to Currency. */ + deactivated: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** Number of proposals that have been made. */ + proposalCount: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** Proposals that have been made. */ + proposals: AugmentedQuery< + ApiType, + (arg: u32 | AnyNumber | Uint8Array) => Observable>, + [u32] + > & + QueryableStorageEntry; + /** The count of spends that have been made. */ + spendCount: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** Spends that have been approved and being processed. */ + spends: AugmentedQuery< + ApiType, + (arg: u32 | AnyNumber | Uint8Array) => Observable>, + [u32] + > & + QueryableStorageEntry; + /** Generic query */ + [key: string]: QueryableStorageEntry; + }; txPause: { /** The set of calls that are explicitly paused. */ pausedCalls: AugmentedQuery< diff --git a/typescript-api/src/dancebox/interfaces/augment-api-tx.ts b/typescript-api/src/dancebox/interfaces/augment-api-tx.ts index c6b761709..5f581ca46 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-tx.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-tx.ts @@ -12,7 +12,7 @@ import type { SubmittableExtrinsicFunction, } from "@polkadot/api-base/types"; import type { Data } from "@polkadot/types"; -import type { Bytes, Compact, Option, Vec, bool, u128, u16, u32, u64, u8 } from "@polkadot/types-codec"; +import type { Bytes, Compact, Null, Option, Vec, bool, u128, u16, u32, u64, u8 } from "@polkadot/types-codec"; import type { AnyNumber, IMethod, ITuple } from "@polkadot/types-codec/types"; import type { AccountId32, Call, H256, MultiAddress, Perbill } from "@polkadot/types/interfaces/runtime"; import type { @@ -32,6 +32,7 @@ import type { StagingXcmV3MultiLocation, TpAuthorNotingInherentOwnParachainInherentData, TpContainerChainGenesisDataContainerChainGenesisData, + TpTraitsSlotFrequency, XcmV3WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, @@ -1634,6 +1635,27 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [u32, TpContainerChainGenesisDataContainerChainGenesisData] >; + /** See [`Pallet::register_parathread`]. */ + registerParathread: AugmentedSubmittable< + ( + paraId: u32 | AnyNumber | Uint8Array, + slotFrequency: TpTraitsSlotFrequency | { min?: any; max?: any } | string | Uint8Array, + genesisData: + | TpContainerChainGenesisDataContainerChainGenesisData + | { storage?: any; name?: any; id?: any; forkId?: any; extensions?: any; properties?: any } + | string + | Uint8Array + ) => SubmittableExtrinsic, + [u32, TpTraitsSlotFrequency, TpContainerChainGenesisDataContainerChainGenesisData] + >; + /** See [`Pallet::set_parathread_params`]. */ + setParathreadParams: AugmentedSubmittable< + ( + paraId: u32 | AnyNumber | Uint8Array, + slotFrequency: TpTraitsSlotFrequency | { min?: any; max?: any } | string | Uint8Array + ) => SubmittableExtrinsic, + [u32, TpTraitsSlotFrequency] + >; /** See [`Pallet::unpause_container_chain`]. */ unpauseContainerChain: AugmentedSubmittable< (paraId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, @@ -1658,10 +1680,9 @@ declare module "@polkadot/api-base/types/submittable" { purchaseCredits: AugmentedSubmittable< ( paraId: u32 | AnyNumber | Uint8Array, - credits: u32 | AnyNumber | Uint8Array, - maxPricePerCredit: Option | null | Uint8Array | u128 | AnyNumber + credit: u128 | AnyNumber | Uint8Array ) => SubmittableExtrinsic, - [u32, u32, Option] + [u32, u128] >; /** See [`Pallet::set_credits`]. */ setCredits: AugmentedSubmittable< @@ -1679,6 +1700,14 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [u32, bool] >; + /** See [`Pallet::set_refund_address`]. */ + setRefundAddress: AugmentedSubmittable< + ( + paraId: u32 | AnyNumber | Uint8Array, + refundAddress: Option | null | Uint8Array | AccountId32 | string + ) => SubmittableExtrinsic, + [u32, Option] + >; /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; @@ -1819,6 +1848,79 @@ declare module "@polkadot/api-base/types/submittable" { /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; + treasury: { + /** See [`Pallet::approve_proposal`]. */ + approveProposal: AugmentedSubmittable< + (proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [Compact] + >; + /** See [`Pallet::check_status`]. */ + checkStatus: AugmentedSubmittable< + (index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [u32] + >; + /** See [`Pallet::payout`]. */ + payout: AugmentedSubmittable<(index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; + /** See [`Pallet::propose_spend`]. */ + proposeSpend: AugmentedSubmittable< + ( + value: Compact | AnyNumber | Uint8Array, + beneficiary: + | MultiAddress + | { Id: any } + | { Index: any } + | { Raw: any } + | { Address32: any } + | { Address20: any } + | string + | Uint8Array + ) => SubmittableExtrinsic, + [Compact, MultiAddress] + >; + /** See [`Pallet::reject_proposal`]. */ + rejectProposal: AugmentedSubmittable< + (proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [Compact] + >; + /** See [`Pallet::remove_approval`]. */ + removeApproval: AugmentedSubmittable< + (proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [Compact] + >; + /** See [`Pallet::spend`]. */ + spend: AugmentedSubmittable< + ( + assetKind: Null | null, + amount: Compact | AnyNumber | Uint8Array, + beneficiary: AccountId32 | string | Uint8Array, + validFrom: Option | null | Uint8Array | u32 | AnyNumber + ) => SubmittableExtrinsic, + [Null, Compact, AccountId32, Option] + >; + /** See [`Pallet::spend_local`]. */ + spendLocal: AugmentedSubmittable< + ( + amount: Compact | AnyNumber | Uint8Array, + beneficiary: + | MultiAddress + | { Id: any } + | { Index: any } + | { Raw: any } + | { Address32: any } + | { Address20: any } + | string + | Uint8Array + ) => SubmittableExtrinsic, + [Compact, MultiAddress] + >; + /** See [`Pallet::void_spend`]. */ + voidSpend: AugmentedSubmittable< + (index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [u32] + >; + /** Generic tx */ + [key: string]: SubmittableExtrinsicFunction; + }; txPause: { /** See [`Pallet::pause`]. */ pause: AugmentedSubmittable< diff --git a/typescript-api/src/dancebox/interfaces/lookup.ts b/typescript-api/src/dancebox/interfaces/lookup.ts index f96e9045b..593154c5b 100644 --- a/typescript-api/src/dancebox/interfaces/lookup.ts +++ b/typescript-api/src/dancebox/interfaces/lookup.ts @@ -476,6 +476,9 @@ export default { ParaIdUnpaused: { paraId: "u32", }, + ParathreadParamsChanged: { + paraId: "u32", + }, }, }, /** Lookup53: pallet_collator_assignment::pallet::Event */ @@ -507,9 +510,7 @@ export default { CreditsPurchased: { paraId: "u32", payer: "AccountId32", - fee: "u128", - creditsPurchased: "u32", - creditsRemaining: "u32", + credit: "u128", }, CreditBurned: { paraId: "u32", @@ -519,6 +520,10 @@ export default { paraId: "u32", credits: "u32", }, + RefundAddressUpdated: { + paraId: "u32", + refundAddress: "Option", + }, }, }, /** Lookup56: pallet_data_preservers::pallet::Event */ @@ -667,7 +672,67 @@ export default { }, }, }, - /** Lookup64: cumulus_pallet_xcmp_queue::pallet::Event */ + /** Lookup64: pallet_treasury::pallet::Event */ + PalletTreasuryEvent: { + _enum: { + Proposed: { + proposalIndex: "u32", + }, + Spending: { + budgetRemaining: "u128", + }, + Awarded: { + proposalIndex: "u32", + award: "u128", + account: "AccountId32", + }, + Rejected: { + proposalIndex: "u32", + slashed: "u128", + }, + Burnt: { + burntFunds: "u128", + }, + Rollover: { + rolloverBalance: "u128", + }, + Deposit: { + value: "u128", + }, + SpendApproved: { + proposalIndex: "u32", + amount: "u128", + beneficiary: "AccountId32", + }, + UpdatedInactive: { + reactivated: "u128", + deactivated: "u128", + }, + AssetSpendApproved: { + index: "u32", + assetKind: "Null", + amount: "u128", + beneficiary: "AccountId32", + validFrom: "u32", + expireAt: "u32", + }, + AssetSpendVoided: { + index: "u32", + }, + Paid: { + index: "u32", + paymentId: "Null", + }, + PaymentFailed: { + index: "u32", + paymentId: "Null", + }, + SpendProcessed: { + index: "u32", + }, + }, + }, + /** Lookup65: cumulus_pallet_xcmp_queue::pallet::Event */ CumulusPalletXcmpQueueEvent: { _enum: { XcmpMessageSent: { @@ -675,7 +740,7 @@ export default { }, }, }, - /** Lookup65: cumulus_pallet_xcm::pallet::Event */ + /** Lookup66: cumulus_pallet_xcm::pallet::Event */ CumulusPalletXcmEvent: { _enum: { InvalidFormat: "[u8;32]", @@ -683,7 +748,7 @@ export default { ExecutedDownward: "([u8;32],XcmV3TraitsOutcome)", }, }, - /** Lookup66: xcm::v3::traits::Outcome */ + /** Lookup67: xcm::v3::traits::Outcome */ XcmV3TraitsOutcome: { _enum: { Complete: "SpWeightsWeightV2Weight", @@ -691,7 +756,7 @@ export default { Error: "XcmV3TraitsError", }, }, - /** Lookup67: xcm::v3::traits::Error */ + /** Lookup68: xcm::v3::traits::Error */ XcmV3TraitsError: { _enum: { Overflow: "Null", @@ -736,7 +801,7 @@ export default { ExceedsStackLimit: "Null", }, }, - /** Lookup68: cumulus_pallet_dmp_queue::pallet::Event */ + /** Lookup69: cumulus_pallet_dmp_queue::pallet::Event */ CumulusPalletDmpQueueEvent: { _enum: { StartedExport: "Null", @@ -764,7 +829,7 @@ export default { }, }, }, - /** Lookup69: pallet_xcm::pallet::Event */ + /** Lookup70: pallet_xcm::pallet::Event */ PalletXcmEvent: { _enum: { Attempted: { @@ -884,12 +949,12 @@ export default { }, }, }, - /** Lookup70: staging_xcm::v3::multilocation::MultiLocation */ + /** Lookup71: staging_xcm::v3::multilocation::MultiLocation */ StagingXcmV3MultiLocation: { parents: "u8", interior: "XcmV3Junctions", }, - /** Lookup71: xcm::v3::junctions::Junctions */ + /** Lookup72: xcm::v3::junctions::Junctions */ XcmV3Junctions: { _enum: { Here: "Null", @@ -903,7 +968,7 @@ export default { X8: "(XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction)", }, }, - /** Lookup72: xcm::v3::junction::Junction */ + /** Lookup73: xcm::v3::junction::Junction */ XcmV3Junction: { _enum: { Parachain: "Compact", @@ -933,7 +998,7 @@ export default { GlobalConsensus: "XcmV3JunctionNetworkId", }, }, - /** Lookup75: xcm::v3::junction::NetworkId */ + /** Lookup76: xcm::v3::junction::NetworkId */ XcmV3JunctionNetworkId: { _enum: { ByGenesis: "[u8;32]", @@ -954,7 +1019,7 @@ export default { PolkadotBulletin: "Null", }, }, - /** Lookup78: xcm::v3::junction::BodyId */ + /** Lookup79: xcm::v3::junction::BodyId */ XcmV3JunctionBodyId: { _enum: { Unit: "Null", @@ -969,7 +1034,7 @@ export default { Treasury: "Null", }, }, - /** Lookup79: xcm::v3::junction::BodyPart */ + /** Lookup80: xcm::v3::junction::BodyPart */ XcmV3JunctionBodyPart: { _enum: { Voice: "Null", @@ -990,9 +1055,9 @@ export default { }, }, }, - /** Lookup80: xcm::v3::Xcm */ + /** Lookup81: xcm::v3::Xcm */ XcmV3Xcm: "Vec", - /** Lookup82: xcm::v3::Instruction */ + /** Lookup83: xcm::v3::Instruction */ XcmV3Instruction: { _enum: { WithdrawAsset: "XcmV3MultiassetMultiAssets", @@ -1132,28 +1197,28 @@ export default { }, }, }, - /** Lookup83: xcm::v3::multiasset::MultiAssets */ + /** Lookup84: xcm::v3::multiasset::MultiAssets */ XcmV3MultiassetMultiAssets: "Vec", - /** Lookup85: xcm::v3::multiasset::MultiAsset */ + /** Lookup86: xcm::v3::multiasset::MultiAsset */ XcmV3MultiAsset: { id: "XcmV3MultiassetAssetId", fun: "XcmV3MultiassetFungibility", }, - /** Lookup86: xcm::v3::multiasset::AssetId */ + /** Lookup87: xcm::v3::multiasset::AssetId */ XcmV3MultiassetAssetId: { _enum: { Concrete: "StagingXcmV3MultiLocation", Abstract: "[u8;32]", }, }, - /** Lookup87: xcm::v3::multiasset::Fungibility */ + /** Lookup88: xcm::v3::multiasset::Fungibility */ XcmV3MultiassetFungibility: { _enum: { Fungible: "Compact", NonFungible: "XcmV3MultiassetAssetInstance", }, }, - /** Lookup88: xcm::v3::multiasset::AssetInstance */ + /** Lookup89: xcm::v3::multiasset::AssetInstance */ XcmV3MultiassetAssetInstance: { _enum: { Undefined: "Null", @@ -1164,7 +1229,7 @@ export default { Array32: "[u8;32]", }, }, - /** Lookup91: xcm::v3::Response */ + /** Lookup92: xcm::v3::Response */ XcmV3Response: { _enum: { Null: "Null", @@ -1175,7 +1240,7 @@ export default { DispatchResult: "XcmV3MaybeErrorCode", }, }, - /** Lookup95: xcm::v3::PalletInfo */ + /** Lookup96: xcm::v3::PalletInfo */ XcmV3PalletInfo: { index: "Compact", name: "Bytes", @@ -1184,7 +1249,7 @@ export default { minor: "Compact", patch: "Compact", }, - /** Lookup98: xcm::v3::MaybeErrorCode */ + /** Lookup99: xcm::v3::MaybeErrorCode */ XcmV3MaybeErrorCode: { _enum: { Success: "Null", @@ -1192,28 +1257,28 @@ export default { TruncatedError: "Bytes", }, }, - /** Lookup101: xcm::v2::OriginKind */ + /** Lookup102: xcm::v2::OriginKind */ XcmV2OriginKind: { _enum: ["Native", "SovereignAccount", "Superuser", "Xcm"], }, - /** Lookup102: xcm::double_encoded::DoubleEncoded */ + /** Lookup103: xcm::double_encoded::DoubleEncoded */ XcmDoubleEncoded: { encoded: "Bytes", }, - /** Lookup103: xcm::v3::QueryResponseInfo */ + /** Lookup104: xcm::v3::QueryResponseInfo */ XcmV3QueryResponseInfo: { destination: "StagingXcmV3MultiLocation", queryId: "Compact", maxWeight: "SpWeightsWeightV2Weight", }, - /** Lookup104: xcm::v3::multiasset::MultiAssetFilter */ + /** Lookup105: xcm::v3::multiasset::MultiAssetFilter */ XcmV3MultiassetMultiAssetFilter: { _enum: { Definite: "XcmV3MultiassetMultiAssets", Wild: "XcmV3MultiassetWildMultiAsset", }, }, - /** Lookup105: xcm::v3::multiasset::WildMultiAsset */ + /** Lookup106: xcm::v3::multiasset::WildMultiAsset */ XcmV3MultiassetWildMultiAsset: { _enum: { All: "Null", @@ -1229,18 +1294,18 @@ export default { }, }, }, - /** Lookup106: xcm::v3::multiasset::WildFungibility */ + /** Lookup107: xcm::v3::multiasset::WildFungibility */ XcmV3MultiassetWildFungibility: { _enum: ["Fungible", "NonFungible"], }, - /** Lookup107: xcm::v3::WeightLimit */ + /** Lookup108: xcm::v3::WeightLimit */ XcmV3WeightLimit: { _enum: { Unlimited: "Null", Limited: "SpWeightsWeightV2Weight", }, }, - /** Lookup108: xcm::VersionedMultiAssets */ + /** Lookup109: xcm::VersionedMultiAssets */ XcmVersionedMultiAssets: { _enum: { __Unused0: "Null", @@ -1249,26 +1314,26 @@ export default { V3: "XcmV3MultiassetMultiAssets", }, }, - /** Lookup109: xcm::v2::multiasset::MultiAssets */ + /** Lookup110: xcm::v2::multiasset::MultiAssets */ XcmV2MultiassetMultiAssets: "Vec", - /** Lookup111: xcm::v2::multiasset::MultiAsset */ + /** Lookup112: xcm::v2::multiasset::MultiAsset */ XcmV2MultiAsset: { id: "XcmV2MultiassetAssetId", fun: "XcmV2MultiassetFungibility", }, - /** Lookup112: xcm::v2::multiasset::AssetId */ + /** Lookup113: xcm::v2::multiasset::AssetId */ XcmV2MultiassetAssetId: { _enum: { Concrete: "XcmV2MultiLocation", Abstract: "Bytes", }, }, - /** Lookup113: xcm::v2::multilocation::MultiLocation */ + /** Lookup114: xcm::v2::multilocation::MultiLocation */ XcmV2MultiLocation: { parents: "u8", interior: "XcmV2MultilocationJunctions", }, - /** Lookup114: xcm::v2::multilocation::Junctions */ + /** Lookup115: xcm::v2::multilocation::Junctions */ XcmV2MultilocationJunctions: { _enum: { Here: "Null", @@ -1282,7 +1347,7 @@ export default { X8: "(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)", }, }, - /** Lookup115: xcm::v2::junction::Junction */ + /** Lookup116: xcm::v2::junction::Junction */ XcmV2Junction: { _enum: { Parachain: "Compact", @@ -1308,7 +1373,7 @@ export default { }, }, }, - /** Lookup116: xcm::v2::NetworkId */ + /** Lookup117: xcm::v2::NetworkId */ XcmV2NetworkId: { _enum: { Any: "Null", @@ -1317,7 +1382,7 @@ export default { Kusama: "Null", }, }, - /** Lookup118: xcm::v2::BodyId */ + /** Lookup119: xcm::v2::BodyId */ XcmV2BodyId: { _enum: { Unit: "Null", @@ -1332,7 +1397,7 @@ export default { Treasury: "Null", }, }, - /** Lookup119: xcm::v2::BodyPart */ + /** Lookup120: xcm::v2::BodyPart */ XcmV2BodyPart: { _enum: { Voice: "Null", @@ -1353,14 +1418,14 @@ export default { }, }, }, - /** Lookup120: xcm::v2::multiasset::Fungibility */ + /** Lookup121: xcm::v2::multiasset::Fungibility */ XcmV2MultiassetFungibility: { _enum: { Fungible: "Compact", NonFungible: "XcmV2MultiassetAssetInstance", }, }, - /** Lookup121: xcm::v2::multiasset::AssetInstance */ + /** Lookup122: xcm::v2::multiasset::AssetInstance */ XcmV2MultiassetAssetInstance: { _enum: { Undefined: "Null", @@ -1372,7 +1437,7 @@ export default { Blob: "Bytes", }, }, - /** Lookup122: xcm::VersionedMultiLocation */ + /** Lookup123: xcm::VersionedMultiLocation */ XcmVersionedMultiLocation: { _enum: { __Unused0: "Null", @@ -1381,7 +1446,7 @@ export default { V3: "StagingXcmV3MultiLocation", }, }, - /** Lookup123: pallet_assets::pallet::Event */ + /** Lookup124: pallet_assets::pallet::Event */ PalletAssetsEvent: { _enum: { Created: { @@ -1495,7 +1560,7 @@ export default { }, }, }, - /** Lookup124: pallet_foreign_asset_creator::pallet::Event */ + /** Lookup125: pallet_foreign_asset_creator::pallet::Event */ PalletForeignAssetCreatorEvent: { _enum: { ForeignAssetCreated: { @@ -1516,7 +1581,7 @@ export default { }, }, }, - /** Lookup125: pallet_asset_rate::pallet::Event */ + /** Lookup126: pallet_asset_rate::pallet::Event */ PalletAssetRateEvent: { _enum: { AssetRateCreated: { @@ -1536,7 +1601,7 @@ export default { }, }, }, - /** Lookup127: pallet_message_queue::pallet::Event */ + /** Lookup128: pallet_message_queue::pallet::Event */ PalletMessageQueueEvent: { _enum: { ProcessingFailed: { @@ -1562,7 +1627,7 @@ export default { }, }, }, - /** Lookup128: cumulus_primitives_core::AggregateMessageOrigin */ + /** Lookup129: cumulus_primitives_core::AggregateMessageOrigin */ CumulusPrimitivesCoreAggregateMessageOrigin: { _enum: { Here: "Null", @@ -1570,7 +1635,7 @@ export default { Sibling: "u32", }, }, - /** Lookup129: frame_support::traits::messages::ProcessMessageError */ + /** Lookup130: frame_support::traits::messages::ProcessMessageError */ FrameSupportMessagesProcessMessageError: { _enum: { BadFormat: "Null", @@ -1580,11 +1645,11 @@ export default { Yield: "Null", }, }, - /** Lookup130: pallet_root_testing::pallet::Event */ + /** Lookup131: pallet_root_testing::pallet::Event */ PalletRootTestingEvent: { _enum: ["DefensiveTestCall"], }, - /** Lookup131: frame_system::Phase */ + /** Lookup132: frame_system::Phase */ FrameSystemPhase: { _enum: { ApplyExtrinsic: "u32", @@ -1592,17 +1657,17 @@ export default { Initialization: "Null", }, }, - /** Lookup135: frame_system::LastRuntimeUpgradeInfo */ + /** Lookup136: frame_system::LastRuntimeUpgradeInfo */ FrameSystemLastRuntimeUpgradeInfo: { specVersion: "Compact", specName: "Text", }, - /** Lookup137: frame_system::CodeUpgradeAuthorization */ + /** Lookup138: frame_system::CodeUpgradeAuthorization */ FrameSystemCodeUpgradeAuthorization: { codeHash: "H256", checkVersion: "bool", }, - /** Lookup138: frame_system::pallet::Call */ + /** Lookup139: frame_system::pallet::Call */ FrameSystemCall: { _enum: { remark: { @@ -1645,41 +1710,41 @@ export default { }, }, }, - /** Lookup142: frame_system::limits::BlockWeights */ + /** Lookup143: frame_system::limits::BlockWeights */ FrameSystemLimitsBlockWeights: { baseBlock: "SpWeightsWeightV2Weight", maxBlock: "SpWeightsWeightV2Weight", perClass: "FrameSupportDispatchPerDispatchClassWeightsPerClass", }, - /** Lookup143: frame_support::dispatch::PerDispatchClass */ + /** Lookup144: frame_support::dispatch::PerDispatchClass */ FrameSupportDispatchPerDispatchClassWeightsPerClass: { normal: "FrameSystemLimitsWeightsPerClass", operational: "FrameSystemLimitsWeightsPerClass", mandatory: "FrameSystemLimitsWeightsPerClass", }, - /** Lookup144: frame_system::limits::WeightsPerClass */ + /** Lookup145: frame_system::limits::WeightsPerClass */ FrameSystemLimitsWeightsPerClass: { baseExtrinsic: "SpWeightsWeightV2Weight", maxExtrinsic: "Option", maxTotal: "Option", reserved: "Option", }, - /** Lookup146: frame_system::limits::BlockLength */ + /** Lookup147: frame_system::limits::BlockLength */ FrameSystemLimitsBlockLength: { max: "FrameSupportDispatchPerDispatchClassU32", }, - /** Lookup147: frame_support::dispatch::PerDispatchClass */ + /** Lookup148: frame_support::dispatch::PerDispatchClass */ FrameSupportDispatchPerDispatchClassU32: { normal: "u32", operational: "u32", mandatory: "u32", }, - /** Lookup148: sp_weights::RuntimeDbWeight */ + /** Lookup149: sp_weights::RuntimeDbWeight */ SpWeightsRuntimeDbWeight: { read: "u64", write: "u64", }, - /** Lookup149: sp_version::RuntimeVersion */ + /** Lookup150: sp_version::RuntimeVersion */ SpVersionRuntimeVersion: { specName: "Text", implName: "Text", @@ -1690,7 +1755,7 @@ export default { transactionVersion: "u32", stateVersion: "u8", }, - /** Lookup153: frame_system::pallet::Error */ + /** Lookup154: frame_system::pallet::Error */ FrameSystemError: { _enum: [ "InvalidSpecName", @@ -1703,49 +1768,49 @@ export default { "Unauthorized", ], }, - /** Lookup155: cumulus_pallet_parachain_system::unincluded_segment::Ancestor */ + /** Lookup156: cumulus_pallet_parachain_system::unincluded_segment::Ancestor */ CumulusPalletParachainSystemUnincludedSegmentAncestor: { usedBandwidth: "CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth", paraHeadHash: "Option", consumedGoAheadSignal: "Option", }, - /** Lookup156: cumulus_pallet_parachain_system::unincluded_segment::UsedBandwidth */ + /** Lookup157: cumulus_pallet_parachain_system::unincluded_segment::UsedBandwidth */ CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth: { umpMsgCount: "u32", umpTotalBytes: "u32", hrmpOutgoing: "BTreeMap", }, - /** Lookup158: cumulus_pallet_parachain_system::unincluded_segment::HrmpChannelUpdate */ + /** Lookup159: cumulus_pallet_parachain_system::unincluded_segment::HrmpChannelUpdate */ CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate: { msgCount: "u32", totalBytes: "u32", }, - /** Lookup163: polkadot_primitives::v6::UpgradeGoAhead */ + /** Lookup164: polkadot_primitives::v6::UpgradeGoAhead */ PolkadotPrimitivesV6UpgradeGoAhead: { _enum: ["Abort", "GoAhead"], }, - /** Lookup164: cumulus_pallet_parachain_system::unincluded_segment::SegmentTracker */ + /** Lookup165: cumulus_pallet_parachain_system::unincluded_segment::SegmentTracker */ CumulusPalletParachainSystemUnincludedSegmentSegmentTracker: { usedBandwidth: "CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth", hrmpWatermark: "Option", consumedGoAheadSignal: "Option", }, - /** Lookup165: polkadot_primitives::v6::PersistedValidationData */ + /** Lookup166: polkadot_primitives::v6::PersistedValidationData */ PolkadotPrimitivesV6PersistedValidationData: { parentHead: "Bytes", relayParentNumber: "u32", relayParentStorageRoot: "H256", maxPovSize: "u32", }, - /** Lookup168: polkadot_primitives::v6::UpgradeRestriction */ + /** Lookup169: polkadot_primitives::v6::UpgradeRestriction */ PolkadotPrimitivesV6UpgradeRestriction: { _enum: ["Present"], }, - /** Lookup169: sp_trie::storage_proof::StorageProof */ + /** Lookup170: sp_trie::storage_proof::StorageProof */ SpTrieStorageProof: { trieNodes: "BTreeSet", }, - /** Lookup171: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot */ + /** Lookup172: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot */ CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { dmqMqcHead: "H256", relayDispatchQueueRemainingCapacity: @@ -1753,12 +1818,12 @@ export default { ingressChannels: "Vec<(u32,PolkadotPrimitivesV6AbridgedHrmpChannel)>", egressChannels: "Vec<(u32,PolkadotPrimitivesV6AbridgedHrmpChannel)>", }, - /** Lookup172: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispatchQueueRemainingCapacity */ + /** Lookup173: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispatchQueueRemainingCapacity */ CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity: { remainingCount: "u32", remainingSize: "u32", }, - /** Lookup175: polkadot_primitives::v6::AbridgedHrmpChannel */ + /** Lookup176: polkadot_primitives::v6::AbridgedHrmpChannel */ PolkadotPrimitivesV6AbridgedHrmpChannel: { maxCapacity: "u32", maxTotalSize: "u32", @@ -1767,7 +1832,7 @@ export default { totalSize: "u32", mqcHead: "Option", }, - /** Lookup176: polkadot_primitives::v6::AbridgedHostConfiguration */ + /** Lookup177: polkadot_primitives::v6::AbridgedHostConfiguration */ PolkadotPrimitivesV6AbridgedHostConfiguration: { maxCodeSize: "u32", maxHeadDataSize: "u32", @@ -1780,17 +1845,17 @@ export default { validationUpgradeDelay: "u32", asyncBackingParams: "PolkadotPrimitivesV6AsyncBackingAsyncBackingParams", }, - /** Lookup177: polkadot_primitives::v6::async_backing::AsyncBackingParams */ + /** Lookup178: polkadot_primitives::v6::async_backing::AsyncBackingParams */ PolkadotPrimitivesV6AsyncBackingAsyncBackingParams: { maxCandidateDepth: "u32", allowedAncestryLen: "u32", }, - /** Lookup183: polkadot_core_primitives::OutboundHrmpMessage */ + /** Lookup184: polkadot_core_primitives::OutboundHrmpMessage */ PolkadotCorePrimitivesOutboundHrmpMessage: { recipient: "u32", data: "Bytes", }, - /** Lookup184: cumulus_pallet_parachain_system::pallet::Call */ + /** Lookup185: cumulus_pallet_parachain_system::pallet::Call */ CumulusPalletParachainSystemCall: { _enum: { set_validation_data: { @@ -1808,24 +1873,24 @@ export default { }, }, }, - /** Lookup185: cumulus_primitives_parachain_inherent::ParachainInherentData */ + /** Lookup186: cumulus_primitives_parachain_inherent::ParachainInherentData */ CumulusPrimitivesParachainInherentParachainInherentData: { validationData: "PolkadotPrimitivesV6PersistedValidationData", relayChainState: "SpTrieStorageProof", downwardMessages: "Vec", horizontalMessages: "BTreeMap>", }, - /** Lookup187: polkadot_core_primitives::InboundDownwardMessage */ + /** Lookup188: polkadot_core_primitives::InboundDownwardMessage */ PolkadotCorePrimitivesInboundDownwardMessage: { sentAt: "u32", msg: "Bytes", }, - /** Lookup190: polkadot_core_primitives::InboundHrmpMessage */ + /** Lookup191: polkadot_core_primitives::InboundHrmpMessage */ PolkadotCorePrimitivesInboundHrmpMessage: { sentAt: "u32", data: "Bytes", }, - /** Lookup193: cumulus_pallet_parachain_system::pallet::Error */ + /** Lookup194: cumulus_pallet_parachain_system::pallet::Error */ CumulusPalletParachainSystemError: { _enum: [ "OverlappingUpgrades", @@ -1838,7 +1903,7 @@ export default { "Unauthorized", ], }, - /** Lookup194: pallet_timestamp::pallet::Call */ + /** Lookup195: pallet_timestamp::pallet::Call */ PalletTimestampCall: { _enum: { set: { @@ -1846,9 +1911,9 @@ export default { }, }, }, - /** Lookup195: staging_parachain_info::pallet::Call */ + /** Lookup196: staging_parachain_info::pallet::Call */ StagingParachainInfoCall: "Null", - /** Lookup196: pallet_sudo::pallet::Call */ + /** Lookup197: pallet_sudo::pallet::Call */ PalletSudoCall: { _enum: { sudo: { @@ -1871,7 +1936,7 @@ export default { remove_key: "Null", }, }, - /** Lookup198: pallet_utility::pallet::Call */ + /** Lookup199: pallet_utility::pallet::Call */ PalletUtilityCall: { _enum: { batch: { @@ -1897,7 +1962,7 @@ export default { }, }, }, - /** Lookup200: dancebox_runtime::OriginCaller */ + /** Lookup201: dancebox_runtime::OriginCaller */ DanceboxRuntimeOriginCaller: { _enum: { system: "FrameSupportDispatchRawOrigin", @@ -1956,7 +2021,7 @@ export default { PolkadotXcm: "PalletXcmOrigin", }, }, - /** Lookup201: frame_support::dispatch::RawOrigin */ + /** Lookup202: frame_support::dispatch::RawOrigin */ FrameSupportDispatchRawOrigin: { _enum: { Root: "Null", @@ -1964,23 +2029,23 @@ export default { None: "Null", }, }, - /** Lookup202: cumulus_pallet_xcm::pallet::Origin */ + /** Lookup203: cumulus_pallet_xcm::pallet::Origin */ CumulusPalletXcmOrigin: { _enum: { Relay: "Null", SiblingParachain: "u32", }, }, - /** Lookup203: pallet_xcm::pallet::Origin */ + /** Lookup204: pallet_xcm::pallet::Origin */ PalletXcmOrigin: { _enum: { Xcm: "StagingXcmV3MultiLocation", Response: "StagingXcmV3MultiLocation", }, }, - /** Lookup204: sp_core::Void */ + /** Lookup205: sp_core::Void */ SpCoreVoid: "Null", - /** Lookup205: pallet_proxy::pallet::Call */ + /** Lookup206: pallet_proxy::pallet::Call */ PalletProxyCall: { _enum: { proxy: { @@ -2031,11 +2096,11 @@ export default { }, }, }, - /** Lookup209: pallet_maintenance_mode::pallet::Call */ + /** Lookup210: pallet_maintenance_mode::pallet::Call */ PalletMaintenanceModeCall: { _enum: ["enter_maintenance_mode", "resume_normal_operation"], }, - /** Lookup210: pallet_tx_pause::pallet::Call */ + /** Lookup211: pallet_tx_pause::pallet::Call */ PalletTxPauseCall: { _enum: { pause: { @@ -2046,7 +2111,7 @@ export default { }, }, }, - /** Lookup211: pallet_balances::pallet::Call */ + /** Lookup212: pallet_balances::pallet::Call */ PalletBalancesCall: { _enum: { transfer_allow_death: { @@ -2081,7 +2146,7 @@ export default { }, }, }, - /** Lookup212: pallet_identity::pallet::Call */ + /** Lookup213: pallet_identity::pallet::Call */ PalletIdentityCall: { _enum: { add_registrar: { @@ -2164,7 +2229,7 @@ export default { }, }, }, - /** Lookup213: pallet_identity::legacy::IdentityInfo */ + /** Lookup214: pallet_identity::legacy::IdentityInfo */ PalletIdentityLegacyIdentityInfo: { additional: "Vec<(Data,Data)>", display: "Data", @@ -2176,7 +2241,7 @@ export default { image: "Data", twitter: "Data", }, - /** Lookup249: pallet_identity::types::Judgement */ + /** Lookup250: pallet_identity::types::Judgement */ PalletIdentityJudgement: { _enum: { Unknown: "Null", @@ -2188,7 +2253,7 @@ export default { Erroneous: "Null", }, }, - /** Lookup251: sp_runtime::MultiSignature */ + /** Lookup252: sp_runtime::MultiSignature */ SpRuntimeMultiSignature: { _enum: { Ed25519: "SpCoreEd25519Signature", @@ -2196,13 +2261,13 @@ export default { Ecdsa: "SpCoreEcdsaSignature", }, }, - /** Lookup252: sp_core::ed25519::Signature */ + /** Lookup253: sp_core::ed25519::Signature */ SpCoreEd25519Signature: "[u8;64]", - /** Lookup254: sp_core::sr25519::Signature */ + /** Lookup255: sp_core::sr25519::Signature */ SpCoreSr25519Signature: "[u8;64]", - /** Lookup255: sp_core::ecdsa::Signature */ + /** Lookup256: sp_core::ecdsa::Signature */ SpCoreEcdsaSignature: "[u8;65]", - /** Lookup257: pallet_registrar::pallet::Call */ + /** Lookup258: pallet_registrar::pallet::Call */ PalletRegistrarCall: { _enum: { register: { @@ -2222,9 +2287,18 @@ export default { unpause_container_chain: { paraId: "u32", }, + register_parathread: { + paraId: "u32", + slotFrequency: "TpTraitsSlotFrequency", + genesisData: "TpContainerChainGenesisDataContainerChainGenesisData", + }, + set_parathread_params: { + paraId: "u32", + slotFrequency: "TpTraitsSlotFrequency", + }, }, }, - /** Lookup258: tp_container_chain_genesis_data::ContainerChainGenesisData */ + /** Lookup259: tp_container_chain_genesis_data::ContainerChainGenesisData */ TpContainerChainGenesisDataContainerChainGenesisData: { storage: "Vec", name: "Bytes", @@ -2233,23 +2307,28 @@ export default { extensions: "Bytes", properties: "TpContainerChainGenesisDataProperties", }, - /** Lookup260: tp_container_chain_genesis_data::ContainerChainGenesisDataItem */ + /** Lookup261: tp_container_chain_genesis_data::ContainerChainGenesisDataItem */ TpContainerChainGenesisDataContainerChainGenesisDataItem: { key: "Bytes", value: "Bytes", }, - /** Lookup262: tp_container_chain_genesis_data::Properties */ + /** Lookup263: tp_container_chain_genesis_data::Properties */ TpContainerChainGenesisDataProperties: { tokenMetadata: "TpContainerChainGenesisDataTokenMetadata", isEthereum: "bool", }, - /** Lookup263: tp_container_chain_genesis_data::TokenMetadata */ + /** Lookup264: tp_container_chain_genesis_data::TokenMetadata */ TpContainerChainGenesisDataTokenMetadata: { tokenSymbol: "Bytes", ss58Format: "u32", tokenDecimals: "u32", }, - /** Lookup265: pallet_configuration::pallet::Call */ + /** Lookup266: tp_traits::SlotFrequency */ + TpTraitsSlotFrequency: { + min: "u32", + max: "u32", + }, + /** Lookup267: pallet_configuration::pallet::Call */ PalletConfigurationCall: { _enum: { set_max_collators: { @@ -2344,9 +2423,9 @@ export default { }, }, }, - /** Lookup267: pallet_collator_assignment::pallet::Call */ + /** Lookup269: pallet_collator_assignment::pallet::Call */ PalletCollatorAssignmentCall: "Null", - /** Lookup268: pallet_author_noting::pallet::Call */ + /** Lookup270: pallet_author_noting::pallet::Call */ PalletAuthorNotingCall: { _enum: { set_latest_author_data: { @@ -2362,19 +2441,18 @@ export default { }, }, }, - /** Lookup269: tp_author_noting_inherent::OwnParachainInherentData */ + /** Lookup271: tp_author_noting_inherent::OwnParachainInherentData */ TpAuthorNotingInherentOwnParachainInherentData: { relayStorageProof: "SpTrieStorageProof", }, - /** Lookup270: pallet_authority_assignment::pallet::Call */ + /** Lookup272: pallet_authority_assignment::pallet::Call */ PalletAuthorityAssignmentCall: "Null", - /** Lookup271: pallet_services_payment::pallet::Call */ + /** Lookup273: pallet_services_payment::pallet::Call */ PalletServicesPaymentCall: { _enum: { purchase_credits: { paraId: "u32", - credits: "u32", - maxPricePerCredit: "Option", + credit: "u128", }, set_credits: { paraId: "u32", @@ -2384,9 +2462,13 @@ export default { paraId: "u32", givenFreeCredits: "bool", }, + set_refund_address: { + paraId: "u32", + refundAddress: "Option", + }, }, }, - /** Lookup273: pallet_data_preservers::pallet::Call */ + /** Lookup274: pallet_data_preservers::pallet::Call */ PalletDataPreserversCall: { _enum: { set_boot_nodes: { @@ -2395,7 +2477,7 @@ export default { }, }, }, - /** Lookup277: pallet_invulnerables::pallet::Call */ + /** Lookup278: pallet_invulnerables::pallet::Call */ PalletInvulnerablesCall: { _enum: { set_invulnerables: { @@ -2412,7 +2494,7 @@ export default { }, }, }, - /** Lookup278: pallet_session::pallet::Call */ + /** Lookup279: pallet_session::pallet::Call */ PalletSessionCall: { _enum: { set_keys: { @@ -2425,19 +2507,19 @@ export default { purge_keys: "Null", }, }, - /** Lookup279: dancebox_runtime::SessionKeys */ + /** Lookup280: dancebox_runtime::SessionKeys */ DanceboxRuntimeSessionKeys: { nimbus: "NimbusPrimitivesNimbusCryptoPublic", }, - /** Lookup280: nimbus_primitives::nimbus_crypto::Public */ + /** Lookup281: nimbus_primitives::nimbus_crypto::Public */ NimbusPrimitivesNimbusCryptoPublic: "SpCoreSr25519Public", - /** Lookup281: sp_core::sr25519::Public */ + /** Lookup282: sp_core::sr25519::Public */ SpCoreSr25519Public: "[u8;32]", - /** Lookup282: pallet_author_inherent::pallet::Call */ + /** Lookup283: pallet_author_inherent::pallet::Call */ PalletAuthorInherentCall: { _enum: ["kick_off_authorship_validation"], }, - /** Lookup283: pallet_pooled_staking::pallet::Call */ + /** Lookup284: pallet_pooled_staking::pallet::Call */ PalletPooledStakingCall: { _enum: { rebalance_hold: { @@ -2471,16 +2553,16 @@ export default { }, }, }, - /** Lookup284: pallet_pooled_staking::pallet::AllTargetPool */ + /** Lookup285: pallet_pooled_staking::pallet::AllTargetPool */ PalletPooledStakingAllTargetPool: { _enum: ["Joining", "AutoCompounding", "ManualRewards", "Leaving"], }, - /** Lookup286: pallet_pooled_staking::pallet::PendingOperationQuery */ + /** Lookup287: pallet_pooled_staking::pallet::PendingOperationQuery */ PalletPooledStakingPendingOperationQuery: { delegator: "AccountId32", operation: "PalletPooledStakingPendingOperationKey", }, - /** Lookup287: pallet_pooled_staking::pallet::PendingOperationKey */ + /** Lookup288: pallet_pooled_staking::pallet::PendingOperationKey */ PalletPooledStakingPendingOperationKey: { _enum: { JoiningAutoCompounding: { @@ -2497,14 +2579,51 @@ export default { }, }, }, - /** Lookup288: pallet_pooled_staking::pallet::SharesOrStake */ + /** Lookup289: pallet_pooled_staking::pallet::SharesOrStake */ PalletPooledStakingSharesOrStake: { _enum: { Shares: "u128", Stake: "u128", }, }, - /** Lookup291: cumulus_pallet_xcmp_queue::pallet::Call */ + /** Lookup292: pallet_treasury::pallet::Call */ + PalletTreasuryCall: { + _enum: { + propose_spend: { + value: "Compact", + beneficiary: "MultiAddress", + }, + reject_proposal: { + proposalId: "Compact", + }, + approve_proposal: { + proposalId: "Compact", + }, + spend_local: { + amount: "Compact", + beneficiary: "MultiAddress", + }, + remove_approval: { + proposalId: "Compact", + }, + spend: { + assetKind: "Null", + amount: "Compact", + beneficiary: "AccountId32", + validFrom: "Option", + }, + payout: { + index: "u32", + }, + check_status: { + index: "u32", + }, + void_spend: { + index: "u32", + }, + }, + }, + /** Lookup293: cumulus_pallet_xcmp_queue::pallet::Call */ CumulusPalletXcmpQueueCall: { _enum: { __Unused0: "Null", @@ -2530,9 +2649,9 @@ export default { }, }, }, - /** Lookup292: cumulus_pallet_dmp_queue::pallet::Call */ + /** Lookup294: cumulus_pallet_dmp_queue::pallet::Call */ CumulusPalletDmpQueueCall: "Null", - /** Lookup293: pallet_xcm::pallet::Call */ + /** Lookup295: pallet_xcm::pallet::Call */ PalletXcmCall: { _enum: { send: { @@ -2594,7 +2713,7 @@ export default { }, }, }, - /** Lookup294: xcm::VersionedXcm */ + /** Lookup296: xcm::VersionedXcm */ XcmVersionedXcm: { _enum: { __Unused0: "Null", @@ -2603,9 +2722,9 @@ export default { V3: "XcmV3Xcm", }, }, - /** Lookup295: xcm::v2::Xcm */ + /** Lookup297: xcm::v2::Xcm */ XcmV2Xcm: "Vec", - /** Lookup297: xcm::v2::Instruction */ + /** Lookup299: xcm::v2::Instruction */ XcmV2Instruction: { _enum: { WithdrawAsset: "XcmV2MultiassetMultiAssets", @@ -2701,7 +2820,7 @@ export default { UnsubscribeVersion: "Null", }, }, - /** Lookup298: xcm::v2::Response */ + /** Lookup300: xcm::v2::Response */ XcmV2Response: { _enum: { Null: "Null", @@ -2710,7 +2829,7 @@ export default { Version: "u32", }, }, - /** Lookup301: xcm::v2::traits::Error */ + /** Lookup303: xcm::v2::traits::Error */ XcmV2TraitsError: { _enum: { Overflow: "Null", @@ -2741,14 +2860,14 @@ export default { WeightNotComputable: "Null", }, }, - /** Lookup302: xcm::v2::multiasset::MultiAssetFilter */ + /** Lookup304: xcm::v2::multiasset::MultiAssetFilter */ XcmV2MultiassetMultiAssetFilter: { _enum: { Definite: "XcmV2MultiassetMultiAssets", Wild: "XcmV2MultiassetWildMultiAsset", }, }, - /** Lookup303: xcm::v2::multiasset::WildMultiAsset */ + /** Lookup305: xcm::v2::multiasset::WildMultiAsset */ XcmV2MultiassetWildMultiAsset: { _enum: { All: "Null", @@ -2758,18 +2877,18 @@ export default { }, }, }, - /** Lookup304: xcm::v2::multiasset::WildFungibility */ + /** Lookup306: xcm::v2::multiasset::WildFungibility */ XcmV2MultiassetWildFungibility: { _enum: ["Fungible", "NonFungible"], }, - /** Lookup305: xcm::v2::WeightLimit */ + /** Lookup307: xcm::v2::WeightLimit */ XcmV2WeightLimit: { _enum: { Unlimited: "Null", Limited: "Compact", }, }, - /** Lookup314: pallet_assets::pallet::Call */ + /** Lookup316: pallet_assets::pallet::Call */ PalletAssetsCall: { _enum: { create: { @@ -2919,7 +3038,7 @@ export default { }, }, }, - /** Lookup315: pallet_foreign_asset_creator::pallet::Call */ + /** Lookup317: pallet_foreign_asset_creator::pallet::Call */ PalletForeignAssetCreatorCall: { _enum: { create_foreign_asset: { @@ -2941,7 +3060,7 @@ export default { }, }, }, - /** Lookup316: pallet_asset_rate::pallet::Call */ + /** Lookup318: pallet_asset_rate::pallet::Call */ PalletAssetRateCall: { _enum: { create: { @@ -2957,7 +3076,7 @@ export default { }, }, }, - /** Lookup317: pallet_message_queue::pallet::Call */ + /** Lookup319: pallet_message_queue::pallet::Call */ PalletMessageQueueCall: { _enum: { reap_page: { @@ -2972,7 +3091,7 @@ export default { }, }, }, - /** Lookup318: pallet_root_testing::pallet::Call */ + /** Lookup320: pallet_root_testing::pallet::Call */ PalletRootTestingCall: { _enum: { fill_block: { @@ -2981,27 +3100,27 @@ export default { trigger_defensive: "Null", }, }, - /** Lookup319: pallet_sudo::pallet::Error */ + /** Lookup321: pallet_sudo::pallet::Error */ PalletSudoError: { _enum: ["RequireSudo"], }, - /** Lookup320: pallet_utility::pallet::Error */ + /** Lookup322: pallet_utility::pallet::Error */ PalletUtilityError: { _enum: ["TooManyCalls"], }, - /** Lookup323: pallet_proxy::ProxyDefinition */ + /** Lookup325: pallet_proxy::ProxyDefinition */ PalletProxyProxyDefinition: { delegate: "AccountId32", proxyType: "DanceboxRuntimeProxyType", delay: "u32", }, - /** Lookup327: pallet_proxy::Announcement */ + /** Lookup329: pallet_proxy::Announcement */ PalletProxyAnnouncement: { real: "AccountId32", callHash: "H256", height: "u32", }, - /** Lookup329: pallet_proxy::pallet::Error */ + /** Lookup331: pallet_proxy::pallet::Error */ PalletProxyError: { _enum: [ "TooMany", @@ -3014,34 +3133,34 @@ export default { "NoSelfProxy", ], }, - /** Lookup330: pallet_migrations::pallet::Error */ + /** Lookup332: pallet_migrations::pallet::Error */ PalletMigrationsError: { _enum: ["PreimageMissing", "WrongUpperBound", "PreimageIsTooBig", "PreimageAlreadyExists"], }, - /** Lookup331: pallet_maintenance_mode::pallet::Error */ + /** Lookup333: pallet_maintenance_mode::pallet::Error */ PalletMaintenanceModeError: { _enum: ["AlreadyInMaintenanceMode", "NotInMaintenanceMode"], }, - /** Lookup332: pallet_tx_pause::pallet::Error */ + /** Lookup334: pallet_tx_pause::pallet::Error */ PalletTxPauseError: { _enum: ["IsPaused", "IsUnpaused", "Unpausable", "NotFound"], }, - /** Lookup334: pallet_balances::types::BalanceLock */ + /** Lookup336: pallet_balances::types::BalanceLock */ PalletBalancesBalanceLock: { id: "[u8;8]", amount: "u128", reasons: "PalletBalancesReasons", }, - /** Lookup335: pallet_balances::types::Reasons */ + /** Lookup337: pallet_balances::types::Reasons */ PalletBalancesReasons: { _enum: ["Fee", "Misc", "All"], }, - /** Lookup338: pallet_balances::types::ReserveData */ + /** Lookup340: pallet_balances::types::ReserveData */ PalletBalancesReserveData: { id: "[u8;8]", amount: "u128", }, - /** Lookup342: dancebox_runtime::RuntimeHoldReason */ + /** Lookup344: dancebox_runtime::RuntimeHoldReason */ DanceboxRuntimeRuntimeHoldReason: { _enum: { __Unused0: "Null", @@ -3081,16 +3200,16 @@ export default { PooledStaking: "PalletPooledStakingHoldReason", }, }, - /** Lookup343: pallet_pooled_staking::pallet::HoldReason */ + /** Lookup345: pallet_pooled_staking::pallet::HoldReason */ PalletPooledStakingHoldReason: { _enum: ["PooledStake"], }, - /** Lookup346: pallet_balances::types::IdAmount */ + /** Lookup348: pallet_balances::types::IdAmount */ PalletBalancesIdAmount: { id: "[u8;8]", amount: "u128", }, - /** Lookup348: pallet_balances::pallet::Error */ + /** Lookup350: pallet_balances::pallet::Error */ PalletBalancesError: { _enum: [ "VestingBalance", @@ -3105,28 +3224,28 @@ export default { "TooManyFreezes", ], }, - /** Lookup349: pallet_transaction_payment::Releases */ + /** Lookup351: pallet_transaction_payment::Releases */ PalletTransactionPaymentReleases: { _enum: ["V1Ancient", "V2"], }, - /** Lookup351: pallet_identity::types::Registration> */ + /** Lookup353: pallet_identity::types::Registration> */ PalletIdentityRegistration: { judgements: "Vec<(u32,PalletIdentityJudgement)>", deposit: "u128", info: "PalletIdentityLegacyIdentityInfo", }, - /** Lookup360: pallet_identity::types::RegistrarInfo */ + /** Lookup362: pallet_identity::types::RegistrarInfo */ PalletIdentityRegistrarInfo: { account: "AccountId32", fee: "u128", fields: "u64", }, - /** Lookup362: pallet_identity::types::AuthorityProperties> */ + /** Lookup364: pallet_identity::types::AuthorityProperties> */ PalletIdentityAuthorityProperties: { suffix: "Bytes", allocation: "u32", }, - /** Lookup365: pallet_identity::pallet::Error */ + /** Lookup367: pallet_identity::pallet::Error */ PalletIdentityError: { _enum: [ "TooManySubAccounts", @@ -3157,12 +3276,16 @@ export default { "NotExpired", ], }, - /** Lookup370: pallet_registrar::pallet::DepositInfo */ + /** Lookup372: tp_traits::ParathreadParams */ + TpTraitsParathreadParams: { + slotFrequency: "TpTraitsSlotFrequency", + }, + /** Lookup378: pallet_registrar::pallet::DepositInfo */ PalletRegistrarDepositInfo: { creator: "AccountId32", deposit: "u128", }, - /** Lookup371: pallet_registrar::pallet::Error */ + /** Lookup379: pallet_registrar::pallet::Error */ PalletRegistrarError: { _enum: [ "ParaIdAlreadyRegistered", @@ -3174,9 +3297,10 @@ export default { "GenesisDataTooBig", "ParaIdNotInPendingVerification", "NotSufficientDeposit", + "NotAParathread", ], }, - /** Lookup372: pallet_configuration::HostConfiguration */ + /** Lookup380: pallet_configuration::HostConfiguration */ PalletConfigurationHostConfiguration: { maxCollators: "u32", minOrchestratorCollators: "u32", @@ -3187,21 +3311,21 @@ export default { parathreadsPerCollator: "u32", targetContainerChainFullness: "Perbill", }, - /** Lookup375: pallet_configuration::pallet::Error */ + /** Lookup383: pallet_configuration::pallet::Error */ PalletConfigurationError: { _enum: ["InvalidNewValue"], }, - /** Lookup376: dp_collator_assignment::AssignedCollators */ + /** Lookup384: dp_collator_assignment::AssignedCollators */ DpCollatorAssignmentAssignedCollatorsAccountId32: { orchestratorChain: "Vec", containerChains: "BTreeMap>", }, - /** Lookup381: pallet_author_noting::pallet::ContainerChainBlockInfo */ + /** Lookup389: pallet_author_noting::pallet::ContainerChainBlockInfo */ PalletAuthorNotingContainerChainBlockInfo: { blockNumber: "u32", author: "AccountId32", }, - /** Lookup382: pallet_author_noting::pallet::Error */ + /** Lookup390: pallet_author_noting::pallet::Error */ PalletAuthorNotingError: { _enum: [ "FailedReading", @@ -3213,39 +3337,39 @@ export default { "NonAuraDigest", ], }, - /** Lookup383: dp_collator_assignment::AssignedCollators */ + /** Lookup391: dp_collator_assignment::AssignedCollators */ DpCollatorAssignmentAssignedCollatorsPublic: { orchestratorChain: "Vec", containerChains: "BTreeMap>", }, - /** Lookup388: pallet_services_payment::pallet::Error */ + /** Lookup396: pallet_services_payment::pallet::Error */ PalletServicesPaymentError: { _enum: ["InsufficientFundsToPurchaseCredits", "InsufficientCredits", "CreditPriceTooExpensive"], }, - /** Lookup389: pallet_data_preservers::pallet::Error */ + /** Lookup397: pallet_data_preservers::pallet::Error */ PalletDataPreserversError: { _enum: ["NoBootNodes"], }, - /** Lookup391: pallet_invulnerables::pallet::Error */ + /** Lookup399: pallet_invulnerables::pallet::Error */ PalletInvulnerablesError: { - _enum: ["TooManyInvulnerables", "AlreadyInvulnerable", "NotInvulnerable"], + _enum: ["TooManyInvulnerables", "AlreadyInvulnerable", "NotInvulnerable", "NoKeysRegistered"], }, - /** Lookup396: sp_core::crypto::KeyTypeId */ + /** Lookup404: sp_core::crypto::KeyTypeId */ SpCoreCryptoKeyTypeId: "[u8;4]", - /** Lookup397: pallet_session::pallet::Error */ + /** Lookup405: pallet_session::pallet::Error */ PalletSessionError: { _enum: ["InvalidProof", "NoAssociatedValidatorId", "DuplicatedKey", "NoKeys", "NoAccount"], }, - /** Lookup401: pallet_author_inherent::pallet::Error */ + /** Lookup409: pallet_author_inherent::pallet::Error */ PalletAuthorInherentError: { _enum: ["AuthorAlreadySet", "NoAccountId", "CannotBeAuthor"], }, - /** Lookup403: pallet_pooled_staking::candidate::EligibleCandidate */ + /** Lookup411: pallet_pooled_staking::candidate::EligibleCandidate */ PalletPooledStakingCandidateEligibleCandidate: { candidate: "AccountId32", stake: "u128", }, - /** Lookup406: pallet_pooled_staking::pallet::PoolsKey */ + /** Lookup414: pallet_pooled_staking::pallet::PoolsKey */ PalletPooledStakingPoolsKey: { _enum: { CandidateTotalStake: "Null", @@ -3287,7 +3411,7 @@ export default { }, }, }, - /** Lookup408: pallet_pooled_staking::pallet::Error */ + /** Lookup416: pallet_pooled_staking::pallet::Error */ PalletPooledStakingError: { _enum: { InvalidPalletSetting: "Null", @@ -3306,12 +3430,57 @@ export default { SwapResultsInZeroShares: "Null", }, }, - /** Lookup409: pallet_inflation_rewards::pallet::ChainsToRewardValue */ + /** Lookup417: pallet_inflation_rewards::pallet::ChainsToRewardValue */ PalletInflationRewardsChainsToRewardValue: { paraIds: "Vec", rewardsPerChain: "u128", }, - /** Lookup413: cumulus_pallet_xcmp_queue::OutboundChannelDetails */ + /** Lookup418: pallet_treasury::Proposal */ + PalletTreasuryProposal: { + proposer: "AccountId32", + value: "u128", + beneficiary: "AccountId32", + bond: "u128", + }, + /** Lookup420: pallet_treasury::SpendStatus */ + PalletTreasurySpendStatus: { + assetKind: "Null", + amount: "u128", + beneficiary: "AccountId32", + validFrom: "u32", + expireAt: "u32", + status: "PalletTreasuryPaymentState", + }, + /** Lookup421: pallet_treasury::PaymentState */ + PalletTreasuryPaymentState: { + _enum: { + Pending: "Null", + Attempted: { + id: "Null", + }, + Failed: "Null", + }, + }, + /** Lookup424: frame_support::PalletId */ + FrameSupportPalletId: "[u8;8]", + /** Lookup425: pallet_treasury::pallet::Error */ + PalletTreasuryError: { + _enum: [ + "InsufficientProposersBalance", + "InvalidIndex", + "TooManyApprovals", + "InsufficientPermission", + "ProposalNotApproved", + "FailedToConvertBalance", + "SpendExpired", + "EarlyPayout", + "AlreadyAttempted", + "PayoutError", + "NotAttempted", + "Inconclusive", + ], + }, + /** Lookup429: cumulus_pallet_xcmp_queue::OutboundChannelDetails */ CumulusPalletXcmpQueueOutboundChannelDetails: { recipient: "u32", state: "CumulusPalletXcmpQueueOutboundState", @@ -3319,21 +3488,21 @@ export default { firstIndex: "u16", lastIndex: "u16", }, - /** Lookup414: cumulus_pallet_xcmp_queue::OutboundState */ + /** Lookup430: cumulus_pallet_xcmp_queue::OutboundState */ CumulusPalletXcmpQueueOutboundState: { _enum: ["Ok", "Suspended"], }, - /** Lookup416: cumulus_pallet_xcmp_queue::QueueConfigData */ + /** Lookup432: cumulus_pallet_xcmp_queue::QueueConfigData */ CumulusPalletXcmpQueueQueueConfigData: { suspendThreshold: "u32", dropThreshold: "u32", resumeThreshold: "u32", }, - /** Lookup417: cumulus_pallet_xcmp_queue::pallet::Error */ + /** Lookup433: cumulus_pallet_xcmp_queue::pallet::Error */ CumulusPalletXcmpQueueError: { _enum: ["BadQueueConfig", "AlreadySuspended", "AlreadyResumed"], }, - /** Lookup418: cumulus_pallet_dmp_queue::pallet::MigrationState */ + /** Lookup434: cumulus_pallet_dmp_queue::pallet::MigrationState */ CumulusPalletDmpQueueMigrationState: { _enum: { NotStarted: "Null", @@ -3351,7 +3520,7 @@ export default { Completed: "Null", }, }, - /** Lookup421: pallet_xcm::pallet::QueryStatus */ + /** Lookup437: pallet_xcm::pallet::QueryStatus */ PalletXcmQueryStatus: { _enum: { Pending: { @@ -3370,7 +3539,7 @@ export default { }, }, }, - /** Lookup425: xcm::VersionedResponse */ + /** Lookup441: xcm::VersionedResponse */ XcmVersionedResponse: { _enum: { __Unused0: "Null", @@ -3379,7 +3548,7 @@ export default { V3: "XcmV3Response", }, }, - /** Lookup431: pallet_xcm::pallet::VersionMigrationStage */ + /** Lookup447: pallet_xcm::pallet::VersionMigrationStage */ PalletXcmVersionMigrationStage: { _enum: { MigrateSupportedVersion: "Null", @@ -3388,7 +3557,7 @@ export default { MigrateAndNotifyOldTargets: "Null", }, }, - /** Lookup433: xcm::VersionedAssetId */ + /** Lookup449: xcm::VersionedAssetId */ XcmVersionedAssetId: { _enum: { __Unused0: "Null", @@ -3397,14 +3566,14 @@ export default { V3: "XcmV3MultiassetAssetId", }, }, - /** Lookup434: pallet_xcm::pallet::RemoteLockedFungibleRecord */ + /** Lookup450: pallet_xcm::pallet::RemoteLockedFungibleRecord */ PalletXcmRemoteLockedFungibleRecord: { amount: "u128", owner: "XcmVersionedMultiLocation", locker: "XcmVersionedMultiLocation", consumers: "Vec<(Null,u128)>", }, - /** Lookup441: pallet_xcm::pallet::Error */ + /** Lookup457: pallet_xcm::pallet::Error */ PalletXcmError: { _enum: [ "Unreachable", @@ -3434,7 +3603,7 @@ export default { "LocalExecutionIncomplete", ], }, - /** Lookup442: pallet_assets::types::AssetDetails */ + /** Lookup458: pallet_assets::types::AssetDetails */ PalletAssetsAssetDetails: { owner: "AccountId32", issuer: "AccountId32", @@ -3449,22 +3618,22 @@ export default { approvals: "u32", status: "PalletAssetsAssetStatus", }, - /** Lookup443: pallet_assets::types::AssetStatus */ + /** Lookup459: pallet_assets::types::AssetStatus */ PalletAssetsAssetStatus: { _enum: ["Live", "Frozen", "Destroying"], }, - /** Lookup445: pallet_assets::types::AssetAccount */ + /** Lookup461: pallet_assets::types::AssetAccount */ PalletAssetsAssetAccount: { balance: "u128", status: "PalletAssetsAccountStatus", reason: "PalletAssetsExistenceReason", extra: "Null", }, - /** Lookup446: pallet_assets::types::AccountStatus */ + /** Lookup462: pallet_assets::types::AccountStatus */ PalletAssetsAccountStatus: { _enum: ["Liquid", "Frozen", "Blocked"], }, - /** Lookup447: pallet_assets::types::ExistenceReason */ + /** Lookup463: pallet_assets::types::ExistenceReason */ PalletAssetsExistenceReason: { _enum: { Consumer: "Null", @@ -3474,12 +3643,12 @@ export default { DepositFrom: "(AccountId32,u128)", }, }, - /** Lookup449: pallet_assets::types::Approval */ + /** Lookup465: pallet_assets::types::Approval */ PalletAssetsApproval: { amount: "u128", deposit: "u128", }, - /** Lookup450: pallet_assets::types::AssetMetadata> */ + /** Lookup466: pallet_assets::types::AssetMetadata> */ PalletAssetsAssetMetadata: { deposit: "u128", name: "Bytes", @@ -3487,7 +3656,7 @@ export default { decimals: "u8", isFrozen: "bool", }, - /** Lookup452: pallet_assets::pallet::Error */ + /** Lookup468: pallet_assets::pallet::Error */ PalletAssetsError: { _enum: [ "BalanceLow", @@ -3512,15 +3681,15 @@ export default { "CallbackFailed", ], }, - /** Lookup453: pallet_foreign_asset_creator::pallet::Error */ + /** Lookup469: pallet_foreign_asset_creator::pallet::Error */ PalletForeignAssetCreatorError: { _enum: ["AssetAlreadyExists", "AssetDoesNotExist"], }, - /** Lookup454: pallet_asset_rate::pallet::Error */ + /** Lookup470: pallet_asset_rate::pallet::Error */ PalletAssetRateError: { _enum: ["UnknownAssetKind", "AlreadyExists"], }, - /** Lookup455: pallet_message_queue::BookState */ + /** Lookup471: pallet_message_queue::BookState */ PalletMessageQueueBookState: { _alias: { size_: "size", @@ -3532,12 +3701,12 @@ export default { messageCount: "u64", size_: "u64", }, - /** Lookup457: pallet_message_queue::Neighbours */ + /** Lookup473: pallet_message_queue::Neighbours */ PalletMessageQueueNeighbours: { prev: "CumulusPrimitivesCoreAggregateMessageOrigin", next: "CumulusPrimitivesCoreAggregateMessageOrigin", }, - /** Lookup459: pallet_message_queue::Page */ + /** Lookup475: pallet_message_queue::Page */ PalletMessageQueuePage: { remaining: "u32", remainingSize: "u32", @@ -3546,7 +3715,7 @@ export default { last: "u32", heap: "Bytes", }, - /** Lookup461: pallet_message_queue::pallet::Error */ + /** Lookup477: pallet_message_queue::pallet::Error */ PalletMessageQueueError: { _enum: [ "NotReapable", @@ -3560,20 +3729,20 @@ export default { "RecursiveDisallowed", ], }, - /** Lookup467: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender */ + /** Lookup483: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender */ FrameSystemExtensionsCheckNonZeroSender: "Null", - /** Lookup468: frame_system::extensions::check_spec_version::CheckSpecVersion */ + /** Lookup484: frame_system::extensions::check_spec_version::CheckSpecVersion */ FrameSystemExtensionsCheckSpecVersion: "Null", - /** Lookup469: frame_system::extensions::check_tx_version::CheckTxVersion */ + /** Lookup485: frame_system::extensions::check_tx_version::CheckTxVersion */ FrameSystemExtensionsCheckTxVersion: "Null", - /** Lookup470: frame_system::extensions::check_genesis::CheckGenesis */ + /** Lookup486: frame_system::extensions::check_genesis::CheckGenesis */ FrameSystemExtensionsCheckGenesis: "Null", - /** Lookup473: frame_system::extensions::check_nonce::CheckNonce */ + /** Lookup489: frame_system::extensions::check_nonce::CheckNonce */ FrameSystemExtensionsCheckNonce: "Compact", - /** Lookup474: frame_system::extensions::check_weight::CheckWeight */ + /** Lookup490: frame_system::extensions::check_weight::CheckWeight */ FrameSystemExtensionsCheckWeight: "Null", - /** Lookup475: pallet_transaction_payment::ChargeTransactionPayment */ + /** Lookup491: pallet_transaction_payment::ChargeTransactionPayment */ PalletTransactionPaymentChargeTransactionPayment: "Compact", - /** Lookup476: dancebox_runtime::Runtime */ + /** Lookup492: dancebox_runtime::Runtime */ DanceboxRuntimeRuntime: "Null", }; diff --git a/typescript-api/src/dancebox/interfaces/registry.ts b/typescript-api/src/dancebox/interfaces/registry.ts index e2cd5fb48..7671b5ba1 100644 --- a/typescript-api/src/dancebox/interfaces/registry.ts +++ b/typescript-api/src/dancebox/interfaces/registry.ts @@ -43,6 +43,7 @@ import type { FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportMessagesProcessMessageError, + FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, @@ -160,6 +161,12 @@ import type { PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, + PalletTreasuryCall, + PalletTreasuryError, + PalletTreasuryEvent, + PalletTreasuryPaymentState, + PalletTreasuryProposal, + PalletTreasurySpendStatus, PalletTxPauseCall, PalletTxPauseError, PalletTxPauseEvent, @@ -207,6 +214,8 @@ import type { TpContainerChainGenesisDataContainerChainGenesisDataItem, TpContainerChainGenesisDataProperties, TpContainerChainGenesisDataTokenMetadata, + TpTraitsParathreadParams, + TpTraitsSlotFrequency, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, @@ -296,6 +305,7 @@ declare module "@polkadot/types/types/registry" { FrameSupportDispatchPerDispatchClassWeightsPerClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; FrameSupportDispatchRawOrigin: FrameSupportDispatchRawOrigin; FrameSupportMessagesProcessMessageError: FrameSupportMessagesProcessMessageError; + FrameSupportPalletId: FrameSupportPalletId; FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus; FrameSystemAccountInfo: FrameSystemAccountInfo; FrameSystemCall: FrameSystemCall; @@ -413,6 +423,12 @@ declare module "@polkadot/types/types/registry" { PalletTransactionPaymentChargeTransactionPayment: PalletTransactionPaymentChargeTransactionPayment; PalletTransactionPaymentEvent: PalletTransactionPaymentEvent; PalletTransactionPaymentReleases: PalletTransactionPaymentReleases; + PalletTreasuryCall: PalletTreasuryCall; + PalletTreasuryError: PalletTreasuryError; + PalletTreasuryEvent: PalletTreasuryEvent; + PalletTreasuryPaymentState: PalletTreasuryPaymentState; + PalletTreasuryProposal: PalletTreasuryProposal; + PalletTreasurySpendStatus: PalletTreasurySpendStatus; PalletTxPauseCall: PalletTxPauseCall; PalletTxPauseError: PalletTxPauseError; PalletTxPauseEvent: PalletTxPauseEvent; @@ -460,6 +476,8 @@ declare module "@polkadot/types/types/registry" { TpContainerChainGenesisDataContainerChainGenesisDataItem: TpContainerChainGenesisDataContainerChainGenesisDataItem; TpContainerChainGenesisDataProperties: TpContainerChainGenesisDataProperties; TpContainerChainGenesisDataTokenMetadata: TpContainerChainGenesisDataTokenMetadata; + TpTraitsParathreadParams: TpTraitsParathreadParams; + TpTraitsSlotFrequency: TpTraitsSlotFrequency; XcmDoubleEncoded: XcmDoubleEncoded; XcmV2BodyId: XcmV2BodyId; XcmV2BodyPart: XcmV2BodyPart; diff --git a/typescript-api/src/dancebox/interfaces/types-lookup.ts b/typescript-api/src/dancebox/interfaces/types-lookup.ts index 64504e951..cd4502487 100644 --- a/typescript-api/src/dancebox/interfaces/types-lookup.ts +++ b/typescript-api/src/dancebox/interfaces/types-lookup.ts @@ -707,12 +707,17 @@ declare module "@polkadot/types/lookup" { readonly asParaIdUnpaused: { readonly paraId: u32; } & Struct; + readonly isParathreadParamsChanged: boolean; + readonly asParathreadParamsChanged: { + readonly paraId: u32; + } & Struct; readonly type: | "ParaIdRegistered" | "ParaIdDeregistered" | "ParaIdValidForCollating" | "ParaIdPaused" - | "ParaIdUnpaused"; + | "ParaIdUnpaused" + | "ParathreadParamsChanged"; } /** @name PalletCollatorAssignmentEvent (53) */ @@ -747,9 +752,7 @@ declare module "@polkadot/types/lookup" { readonly asCreditsPurchased: { readonly paraId: u32; readonly payer: AccountId32; - readonly fee: u128; - readonly creditsPurchased: u32; - readonly creditsRemaining: u32; + readonly credit: u128; } & Struct; readonly isCreditBurned: boolean; readonly asCreditBurned: { @@ -761,7 +764,12 @@ declare module "@polkadot/types/lookup" { readonly paraId: u32; readonly credits: u32; } & Struct; - readonly type: "CreditsPurchased" | "CreditBurned" | "CreditsSet"; + readonly isRefundAddressUpdated: boolean; + readonly asRefundAddressUpdated: { + readonly paraId: u32; + readonly refundAddress: Option; + } & Struct; + readonly type: "CreditsPurchased" | "CreditBurned" | "CreditsSet" | "RefundAddressUpdated"; } /** @name PalletDataPreserversEvent (56) */ @@ -951,7 +959,95 @@ declare module "@polkadot/types/lookup" { readonly type: "RewardedOrchestrator" | "RewardedContainer"; } - /** @name CumulusPalletXcmpQueueEvent (64) */ + /** @name PalletTreasuryEvent (64) */ + interface PalletTreasuryEvent extends Enum { + readonly isProposed: boolean; + readonly asProposed: { + readonly proposalIndex: u32; + } & Struct; + readonly isSpending: boolean; + readonly asSpending: { + readonly budgetRemaining: u128; + } & Struct; + readonly isAwarded: boolean; + readonly asAwarded: { + readonly proposalIndex: u32; + readonly award: u128; + readonly account: AccountId32; + } & Struct; + readonly isRejected: boolean; + readonly asRejected: { + readonly proposalIndex: u32; + readonly slashed: u128; + } & Struct; + readonly isBurnt: boolean; + readonly asBurnt: { + readonly burntFunds: u128; + } & Struct; + readonly isRollover: boolean; + readonly asRollover: { + readonly rolloverBalance: u128; + } & Struct; + readonly isDeposit: boolean; + readonly asDeposit: { + readonly value: u128; + } & Struct; + readonly isSpendApproved: boolean; + readonly asSpendApproved: { + readonly proposalIndex: u32; + readonly amount: u128; + readonly beneficiary: AccountId32; + } & Struct; + readonly isUpdatedInactive: boolean; + readonly asUpdatedInactive: { + readonly reactivated: u128; + readonly deactivated: u128; + } & Struct; + readonly isAssetSpendApproved: boolean; + readonly asAssetSpendApproved: { + readonly index: u32; + readonly assetKind: Null; + readonly amount: u128; + readonly beneficiary: AccountId32; + readonly validFrom: u32; + readonly expireAt: u32; + } & Struct; + readonly isAssetSpendVoided: boolean; + readonly asAssetSpendVoided: { + readonly index: u32; + } & Struct; + readonly isPaid: boolean; + readonly asPaid: { + readonly index: u32; + readonly paymentId: Null; + } & Struct; + readonly isPaymentFailed: boolean; + readonly asPaymentFailed: { + readonly index: u32; + readonly paymentId: Null; + } & Struct; + readonly isSpendProcessed: boolean; + readonly asSpendProcessed: { + readonly index: u32; + } & Struct; + readonly type: + | "Proposed" + | "Spending" + | "Awarded" + | "Rejected" + | "Burnt" + | "Rollover" + | "Deposit" + | "SpendApproved" + | "UpdatedInactive" + | "AssetSpendApproved" + | "AssetSpendVoided" + | "Paid" + | "PaymentFailed" + | "SpendProcessed"; + } + + /** @name CumulusPalletXcmpQueueEvent (65) */ interface CumulusPalletXcmpQueueEvent extends Enum { readonly isXcmpMessageSent: boolean; readonly asXcmpMessageSent: { @@ -960,7 +1056,7 @@ declare module "@polkadot/types/lookup" { readonly type: "XcmpMessageSent"; } - /** @name CumulusPalletXcmEvent (65) */ + /** @name CumulusPalletXcmEvent (66) */ interface CumulusPalletXcmEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: U8aFixed; @@ -971,7 +1067,7 @@ declare module "@polkadot/types/lookup" { readonly type: "InvalidFormat" | "UnsupportedVersion" | "ExecutedDownward"; } - /** @name XcmV3TraitsOutcome (66) */ + /** @name XcmV3TraitsOutcome (67) */ interface XcmV3TraitsOutcome extends Enum { readonly isComplete: boolean; readonly asComplete: SpWeightsWeightV2Weight; @@ -982,7 +1078,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Complete" | "Incomplete" | "Error"; } - /** @name XcmV3TraitsError (67) */ + /** @name XcmV3TraitsError (68) */ interface XcmV3TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; @@ -1069,7 +1165,7 @@ declare module "@polkadot/types/lookup" { | "ExceedsStackLimit"; } - /** @name CumulusPalletDmpQueueEvent (68) */ + /** @name CumulusPalletDmpQueueEvent (69) */ interface CumulusPalletDmpQueueEvent extends Enum { readonly isStartedExport: boolean; readonly isExported: boolean; @@ -1114,7 +1210,7 @@ declare module "@polkadot/types/lookup" { | "Completed"; } - /** @name PalletXcmEvent (69) */ + /** @name PalletXcmEvent (70) */ interface PalletXcmEvent extends Enum { readonly isAttempted: boolean; readonly asAttempted: { @@ -1274,13 +1370,13 @@ declare module "@polkadot/types/lookup" { | "AssetsClaimed"; } - /** @name StagingXcmV3MultiLocation (70) */ + /** @name StagingXcmV3MultiLocation (71) */ interface StagingXcmV3MultiLocation extends Struct { readonly parents: u8; readonly interior: XcmV3Junctions; } - /** @name XcmV3Junctions (71) */ + /** @name XcmV3Junctions (72) */ interface XcmV3Junctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; @@ -1317,7 +1413,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Here" | "X1" | "X2" | "X3" | "X4" | "X5" | "X6" | "X7" | "X8"; } - /** @name XcmV3Junction (72) */ + /** @name XcmV3Junction (73) */ interface XcmV3Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; @@ -1366,7 +1462,7 @@ declare module "@polkadot/types/lookup" { | "GlobalConsensus"; } - /** @name XcmV3JunctionNetworkId (75) */ + /** @name XcmV3JunctionNetworkId (76) */ interface XcmV3JunctionNetworkId extends Enum { readonly isByGenesis: boolean; readonly asByGenesis: U8aFixed; @@ -1401,7 +1497,7 @@ declare module "@polkadot/types/lookup" { | "PolkadotBulletin"; } - /** @name XcmV3JunctionBodyId (78) */ + /** @name XcmV3JunctionBodyId (79) */ interface XcmV3JunctionBodyId extends Enum { readonly isUnit: boolean; readonly isMoniker: boolean; @@ -1428,7 +1524,7 @@ declare module "@polkadot/types/lookup" { | "Treasury"; } - /** @name XcmV3JunctionBodyPart (79) */ + /** @name XcmV3JunctionBodyPart (80) */ interface XcmV3JunctionBodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; @@ -1453,10 +1549,10 @@ declare module "@polkadot/types/lookup" { readonly type: "Voice" | "Members" | "Fraction" | "AtLeastProportion" | "MoreThanProportion"; } - /** @name XcmV3Xcm (80) */ + /** @name XcmV3Xcm (81) */ interface XcmV3Xcm extends Vec {} - /** @name XcmV3Instruction (82) */ + /** @name XcmV3Instruction (83) */ interface XcmV3Instruction extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: XcmV3MultiassetMultiAssets; @@ -1686,16 +1782,16 @@ declare module "@polkadot/types/lookup" { | "UnpaidExecution"; } - /** @name XcmV3MultiassetMultiAssets (83) */ + /** @name XcmV3MultiassetMultiAssets (84) */ interface XcmV3MultiassetMultiAssets extends Vec {} - /** @name XcmV3MultiAsset (85) */ + /** @name XcmV3MultiAsset (86) */ interface XcmV3MultiAsset extends Struct { readonly id: XcmV3MultiassetAssetId; readonly fun: XcmV3MultiassetFungibility; } - /** @name XcmV3MultiassetAssetId (86) */ + /** @name XcmV3MultiassetAssetId (87) */ interface XcmV3MultiassetAssetId extends Enum { readonly isConcrete: boolean; readonly asConcrete: StagingXcmV3MultiLocation; @@ -1704,7 +1800,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Concrete" | "Abstract"; } - /** @name XcmV3MultiassetFungibility (87) */ + /** @name XcmV3MultiassetFungibility (88) */ interface XcmV3MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; @@ -1713,7 +1809,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Fungible" | "NonFungible"; } - /** @name XcmV3MultiassetAssetInstance (88) */ + /** @name XcmV3MultiassetAssetInstance (89) */ interface XcmV3MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -1729,7 +1825,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Undefined" | "Index" | "Array4" | "Array8" | "Array16" | "Array32"; } - /** @name XcmV3Response (91) */ + /** @name XcmV3Response (92) */ interface XcmV3Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; @@ -1745,7 +1841,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Null" | "Assets" | "ExecutionResult" | "Version" | "PalletsInfo" | "DispatchResult"; } - /** @name XcmV3PalletInfo (95) */ + /** @name XcmV3PalletInfo (96) */ interface XcmV3PalletInfo extends Struct { readonly index: Compact; readonly name: Bytes; @@ -1755,7 +1851,7 @@ declare module "@polkadot/types/lookup" { readonly patch: Compact; } - /** @name XcmV3MaybeErrorCode (98) */ + /** @name XcmV3MaybeErrorCode (99) */ interface XcmV3MaybeErrorCode extends Enum { readonly isSuccess: boolean; readonly isError: boolean; @@ -1765,7 +1861,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Success" | "Error" | "TruncatedError"; } - /** @name XcmV2OriginKind (101) */ + /** @name XcmV2OriginKind (102) */ interface XcmV2OriginKind extends Enum { readonly isNative: boolean; readonly isSovereignAccount: boolean; @@ -1774,19 +1870,19 @@ declare module "@polkadot/types/lookup" { readonly type: "Native" | "SovereignAccount" | "Superuser" | "Xcm"; } - /** @name XcmDoubleEncoded (102) */ + /** @name XcmDoubleEncoded (103) */ interface XcmDoubleEncoded extends Struct { readonly encoded: Bytes; } - /** @name XcmV3QueryResponseInfo (103) */ + /** @name XcmV3QueryResponseInfo (104) */ interface XcmV3QueryResponseInfo extends Struct { readonly destination: StagingXcmV3MultiLocation; readonly queryId: Compact; readonly maxWeight: SpWeightsWeightV2Weight; } - /** @name XcmV3MultiassetMultiAssetFilter (104) */ + /** @name XcmV3MultiassetMultiAssetFilter (105) */ interface XcmV3MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; readonly asDefinite: XcmV3MultiassetMultiAssets; @@ -1795,7 +1891,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Definite" | "Wild"; } - /** @name XcmV3MultiassetWildMultiAsset (105) */ + /** @name XcmV3MultiassetWildMultiAsset (106) */ interface XcmV3MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; @@ -1814,14 +1910,14 @@ declare module "@polkadot/types/lookup" { readonly type: "All" | "AllOf" | "AllCounted" | "AllOfCounted"; } - /** @name XcmV3MultiassetWildFungibility (106) */ + /** @name XcmV3MultiassetWildFungibility (107) */ interface XcmV3MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: "Fungible" | "NonFungible"; } - /** @name XcmV3WeightLimit (107) */ + /** @name XcmV3WeightLimit (108) */ interface XcmV3WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; @@ -1829,7 +1925,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Unlimited" | "Limited"; } - /** @name XcmVersionedMultiAssets (108) */ + /** @name XcmVersionedMultiAssets (109) */ interface XcmVersionedMultiAssets extends Enum { readonly isV2: boolean; readonly asV2: XcmV2MultiassetMultiAssets; @@ -1838,16 +1934,16 @@ declare module "@polkadot/types/lookup" { readonly type: "V2" | "V3"; } - /** @name XcmV2MultiassetMultiAssets (109) */ + /** @name XcmV2MultiassetMultiAssets (110) */ interface XcmV2MultiassetMultiAssets extends Vec {} - /** @name XcmV2MultiAsset (111) */ + /** @name XcmV2MultiAsset (112) */ interface XcmV2MultiAsset extends Struct { readonly id: XcmV2MultiassetAssetId; readonly fun: XcmV2MultiassetFungibility; } - /** @name XcmV2MultiassetAssetId (112) */ + /** @name XcmV2MultiassetAssetId (113) */ interface XcmV2MultiassetAssetId extends Enum { readonly isConcrete: boolean; readonly asConcrete: XcmV2MultiLocation; @@ -1856,13 +1952,13 @@ declare module "@polkadot/types/lookup" { readonly type: "Concrete" | "Abstract"; } - /** @name XcmV2MultiLocation (113) */ + /** @name XcmV2MultiLocation (114) */ interface XcmV2MultiLocation extends Struct { readonly parents: u8; readonly interior: XcmV2MultilocationJunctions; } - /** @name XcmV2MultilocationJunctions (114) */ + /** @name XcmV2MultilocationJunctions (115) */ interface XcmV2MultilocationJunctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; @@ -1899,7 +1995,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Here" | "X1" | "X2" | "X3" | "X4" | "X5" | "X6" | "X7" | "X8"; } - /** @name XcmV2Junction (115) */ + /** @name XcmV2Junction (116) */ interface XcmV2Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; @@ -1942,7 +2038,7 @@ declare module "@polkadot/types/lookup" { | "Plurality"; } - /** @name XcmV2NetworkId (116) */ + /** @name XcmV2NetworkId (117) */ interface XcmV2NetworkId extends Enum { readonly isAny: boolean; readonly isNamed: boolean; @@ -1952,7 +2048,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Any" | "Named" | "Polkadot" | "Kusama"; } - /** @name XcmV2BodyId (118) */ + /** @name XcmV2BodyId (119) */ interface XcmV2BodyId extends Enum { readonly isUnit: boolean; readonly isNamed: boolean; @@ -1979,7 +2075,7 @@ declare module "@polkadot/types/lookup" { | "Treasury"; } - /** @name XcmV2BodyPart (119) */ + /** @name XcmV2BodyPart (120) */ interface XcmV2BodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; @@ -2004,7 +2100,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Voice" | "Members" | "Fraction" | "AtLeastProportion" | "MoreThanProportion"; } - /** @name XcmV2MultiassetFungibility (120) */ + /** @name XcmV2MultiassetFungibility (121) */ interface XcmV2MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; @@ -2013,7 +2109,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Fungible" | "NonFungible"; } - /** @name XcmV2MultiassetAssetInstance (121) */ + /** @name XcmV2MultiassetAssetInstance (122) */ interface XcmV2MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -2031,7 +2127,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Undefined" | "Index" | "Array4" | "Array8" | "Array16" | "Array32" | "Blob"; } - /** @name XcmVersionedMultiLocation (122) */ + /** @name XcmVersionedMultiLocation (123) */ interface XcmVersionedMultiLocation extends Enum { readonly isV2: boolean; readonly asV2: XcmV2MultiLocation; @@ -2040,7 +2136,7 @@ declare module "@polkadot/types/lookup" { readonly type: "V2" | "V3"; } - /** @name PalletAssetsEvent (123) */ + /** @name PalletAssetsEvent (124) */ interface PalletAssetsEvent extends Enum { readonly isCreated: boolean; readonly asCreated: { @@ -2202,7 +2298,7 @@ declare module "@polkadot/types/lookup" { | "Blocked"; } - /** @name PalletForeignAssetCreatorEvent (124) */ + /** @name PalletForeignAssetCreatorEvent (125) */ interface PalletForeignAssetCreatorEvent extends Enum { readonly isForeignAssetCreated: boolean; readonly asForeignAssetCreated: { @@ -2231,7 +2327,7 @@ declare module "@polkadot/types/lookup" { | "ForeignAssetDestroyed"; } - /** @name PalletAssetRateEvent (125) */ + /** @name PalletAssetRateEvent (126) */ interface PalletAssetRateEvent extends Enum { readonly isAssetRateCreated: boolean; readonly asAssetRateCreated: { @@ -2251,7 +2347,7 @@ declare module "@polkadot/types/lookup" { readonly type: "AssetRateCreated" | "AssetRateRemoved" | "AssetRateUpdated"; } - /** @name PalletMessageQueueEvent (127) */ + /** @name PalletMessageQueueEvent (128) */ interface PalletMessageQueueEvent extends Enum { readonly isProcessingFailed: boolean; readonly asProcessingFailed: { @@ -2281,7 +2377,7 @@ declare module "@polkadot/types/lookup" { readonly type: "ProcessingFailed" | "Processed" | "OverweightEnqueued" | "PageReaped"; } - /** @name CumulusPrimitivesCoreAggregateMessageOrigin (128) */ + /** @name CumulusPrimitivesCoreAggregateMessageOrigin (129) */ interface CumulusPrimitivesCoreAggregateMessageOrigin extends Enum { readonly isHere: boolean; readonly isParent: boolean; @@ -2290,7 +2386,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Here" | "Parent" | "Sibling"; } - /** @name FrameSupportMessagesProcessMessageError (129) */ + /** @name FrameSupportMessagesProcessMessageError (130) */ interface FrameSupportMessagesProcessMessageError extends Enum { readonly isBadFormat: boolean; readonly isCorrupt: boolean; @@ -2301,13 +2397,13 @@ declare module "@polkadot/types/lookup" { readonly type: "BadFormat" | "Corrupt" | "Unsupported" | "Overweight" | "Yield"; } - /** @name PalletRootTestingEvent (130) */ + /** @name PalletRootTestingEvent (131) */ interface PalletRootTestingEvent extends Enum { readonly isDefensiveTestCall: boolean; readonly type: "DefensiveTestCall"; } - /** @name FrameSystemPhase (131) */ + /** @name FrameSystemPhase (132) */ interface FrameSystemPhase extends Enum { readonly isApplyExtrinsic: boolean; readonly asApplyExtrinsic: u32; @@ -2316,19 +2412,19 @@ declare module "@polkadot/types/lookup" { readonly type: "ApplyExtrinsic" | "Finalization" | "Initialization"; } - /** @name FrameSystemLastRuntimeUpgradeInfo (135) */ + /** @name FrameSystemLastRuntimeUpgradeInfo (136) */ interface FrameSystemLastRuntimeUpgradeInfo extends Struct { readonly specVersion: Compact; readonly specName: Text; } - /** @name FrameSystemCodeUpgradeAuthorization (137) */ + /** @name FrameSystemCodeUpgradeAuthorization (138) */ interface FrameSystemCodeUpgradeAuthorization extends Struct { readonly codeHash: H256; readonly checkVersion: bool; } - /** @name FrameSystemCall (138) */ + /** @name FrameSystemCall (139) */ interface FrameSystemCall extends Enum { readonly isRemark: boolean; readonly asRemark: { @@ -2389,21 +2485,21 @@ declare module "@polkadot/types/lookup" { | "ApplyAuthorizedUpgrade"; } - /** @name FrameSystemLimitsBlockWeights (142) */ + /** @name FrameSystemLimitsBlockWeights (143) */ interface FrameSystemLimitsBlockWeights extends Struct { readonly baseBlock: SpWeightsWeightV2Weight; readonly maxBlock: SpWeightsWeightV2Weight; readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; } - /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (143) */ + /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (144) */ interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { readonly normal: FrameSystemLimitsWeightsPerClass; readonly operational: FrameSystemLimitsWeightsPerClass; readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name FrameSystemLimitsWeightsPerClass (144) */ + /** @name FrameSystemLimitsWeightsPerClass (145) */ interface FrameSystemLimitsWeightsPerClass extends Struct { readonly baseExtrinsic: SpWeightsWeightV2Weight; readonly maxExtrinsic: Option; @@ -2411,25 +2507,25 @@ declare module "@polkadot/types/lookup" { readonly reserved: Option; } - /** @name FrameSystemLimitsBlockLength (146) */ + /** @name FrameSystemLimitsBlockLength (147) */ interface FrameSystemLimitsBlockLength extends Struct { readonly max: FrameSupportDispatchPerDispatchClassU32; } - /** @name FrameSupportDispatchPerDispatchClassU32 (147) */ + /** @name FrameSupportDispatchPerDispatchClassU32 (148) */ interface FrameSupportDispatchPerDispatchClassU32 extends Struct { readonly normal: u32; readonly operational: u32; readonly mandatory: u32; } - /** @name SpWeightsRuntimeDbWeight (148) */ + /** @name SpWeightsRuntimeDbWeight (149) */ interface SpWeightsRuntimeDbWeight extends Struct { readonly read: u64; readonly write: u64; } - /** @name SpVersionRuntimeVersion (149) */ + /** @name SpVersionRuntimeVersion (150) */ interface SpVersionRuntimeVersion extends Struct { readonly specName: Text; readonly implName: Text; @@ -2441,7 +2537,7 @@ declare module "@polkadot/types/lookup" { readonly stateVersion: u8; } - /** @name FrameSystemError (153) */ + /** @name FrameSystemError (154) */ interface FrameSystemError extends Enum { readonly isInvalidSpecName: boolean; readonly isSpecVersionNeedsToIncrease: boolean; @@ -2462,41 +2558,41 @@ declare module "@polkadot/types/lookup" { | "Unauthorized"; } - /** @name CumulusPalletParachainSystemUnincludedSegmentAncestor (155) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentAncestor (156) */ interface CumulusPalletParachainSystemUnincludedSegmentAncestor extends Struct { readonly usedBandwidth: CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth; readonly paraHeadHash: Option; readonly consumedGoAheadSignal: Option; } - /** @name CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth (156) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth (157) */ interface CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth extends Struct { readonly umpMsgCount: u32; readonly umpTotalBytes: u32; readonly hrmpOutgoing: BTreeMap; } - /** @name CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate (158) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate (159) */ interface CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate extends Struct { readonly msgCount: u32; readonly totalBytes: u32; } - /** @name PolkadotPrimitivesV6UpgradeGoAhead (163) */ + /** @name PolkadotPrimitivesV6UpgradeGoAhead (164) */ interface PolkadotPrimitivesV6UpgradeGoAhead extends Enum { readonly isAbort: boolean; readonly isGoAhead: boolean; readonly type: "Abort" | "GoAhead"; } - /** @name CumulusPalletParachainSystemUnincludedSegmentSegmentTracker (164) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentSegmentTracker (165) */ interface CumulusPalletParachainSystemUnincludedSegmentSegmentTracker extends Struct { readonly usedBandwidth: CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth; readonly hrmpWatermark: Option; readonly consumedGoAheadSignal: Option; } - /** @name PolkadotPrimitivesV6PersistedValidationData (165) */ + /** @name PolkadotPrimitivesV6PersistedValidationData (166) */ interface PolkadotPrimitivesV6PersistedValidationData extends Struct { readonly parentHead: Bytes; readonly relayParentNumber: u32; @@ -2504,18 +2600,18 @@ declare module "@polkadot/types/lookup" { readonly maxPovSize: u32; } - /** @name PolkadotPrimitivesV6UpgradeRestriction (168) */ + /** @name PolkadotPrimitivesV6UpgradeRestriction (169) */ interface PolkadotPrimitivesV6UpgradeRestriction extends Enum { readonly isPresent: boolean; readonly type: "Present"; } - /** @name SpTrieStorageProof (169) */ + /** @name SpTrieStorageProof (170) */ interface SpTrieStorageProof extends Struct { readonly trieNodes: BTreeSet; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (171) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (172) */ interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { readonly dmqMqcHead: H256; readonly relayDispatchQueueRemainingCapacity: CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity; @@ -2523,13 +2619,13 @@ declare module "@polkadot/types/lookup" { readonly egressChannels: Vec>; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity (172) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity (173) */ interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity extends Struct { readonly remainingCount: u32; readonly remainingSize: u32; } - /** @name PolkadotPrimitivesV6AbridgedHrmpChannel (175) */ + /** @name PolkadotPrimitivesV6AbridgedHrmpChannel (176) */ interface PolkadotPrimitivesV6AbridgedHrmpChannel extends Struct { readonly maxCapacity: u32; readonly maxTotalSize: u32; @@ -2539,7 +2635,7 @@ declare module "@polkadot/types/lookup" { readonly mqcHead: Option; } - /** @name PolkadotPrimitivesV6AbridgedHostConfiguration (176) */ + /** @name PolkadotPrimitivesV6AbridgedHostConfiguration (177) */ interface PolkadotPrimitivesV6AbridgedHostConfiguration extends Struct { readonly maxCodeSize: u32; readonly maxHeadDataSize: u32; @@ -2553,19 +2649,19 @@ declare module "@polkadot/types/lookup" { readonly asyncBackingParams: PolkadotPrimitivesV6AsyncBackingAsyncBackingParams; } - /** @name PolkadotPrimitivesV6AsyncBackingAsyncBackingParams (177) */ + /** @name PolkadotPrimitivesV6AsyncBackingAsyncBackingParams (178) */ interface PolkadotPrimitivesV6AsyncBackingAsyncBackingParams extends Struct { readonly maxCandidateDepth: u32; readonly allowedAncestryLen: u32; } - /** @name PolkadotCorePrimitivesOutboundHrmpMessage (183) */ + /** @name PolkadotCorePrimitivesOutboundHrmpMessage (184) */ interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { readonly recipient: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemCall (184) */ + /** @name CumulusPalletParachainSystemCall (185) */ interface CumulusPalletParachainSystemCall extends Enum { readonly isSetValidationData: boolean; readonly asSetValidationData: { @@ -2587,7 +2683,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetValidationData" | "SudoSendUpwardMessage" | "AuthorizeUpgrade" | "EnactAuthorizedUpgrade"; } - /** @name CumulusPrimitivesParachainInherentParachainInherentData (185) */ + /** @name CumulusPrimitivesParachainInherentParachainInherentData (186) */ interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { readonly validationData: PolkadotPrimitivesV6PersistedValidationData; readonly relayChainState: SpTrieStorageProof; @@ -2595,19 +2691,19 @@ declare module "@polkadot/types/lookup" { readonly horizontalMessages: BTreeMap>; } - /** @name PolkadotCorePrimitivesInboundDownwardMessage (187) */ + /** @name PolkadotCorePrimitivesInboundDownwardMessage (188) */ interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { readonly sentAt: u32; readonly msg: Bytes; } - /** @name PolkadotCorePrimitivesInboundHrmpMessage (190) */ + /** @name PolkadotCorePrimitivesInboundHrmpMessage (191) */ interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { readonly sentAt: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemError (193) */ + /** @name CumulusPalletParachainSystemError (194) */ interface CumulusPalletParachainSystemError extends Enum { readonly isOverlappingUpgrades: boolean; readonly isProhibitedByPolkadot: boolean; @@ -2628,7 +2724,7 @@ declare module "@polkadot/types/lookup" { | "Unauthorized"; } - /** @name PalletTimestampCall (194) */ + /** @name PalletTimestampCall (195) */ interface PalletTimestampCall extends Enum { readonly isSet: boolean; readonly asSet: { @@ -2637,10 +2733,10 @@ declare module "@polkadot/types/lookup" { readonly type: "Set"; } - /** @name StagingParachainInfoCall (195) */ + /** @name StagingParachainInfoCall (196) */ type StagingParachainInfoCall = Null; - /** @name PalletSudoCall (196) */ + /** @name PalletSudoCall (197) */ interface PalletSudoCall extends Enum { readonly isSudo: boolean; readonly asSudo: { @@ -2664,7 +2760,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Sudo" | "SudoUncheckedWeight" | "SetKey" | "SudoAs" | "RemoveKey"; } - /** @name PalletUtilityCall (198) */ + /** @name PalletUtilityCall (199) */ interface PalletUtilityCall extends Enum { readonly isBatch: boolean; readonly asBatch: { @@ -2696,7 +2792,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Batch" | "AsDerivative" | "BatchAll" | "DispatchAs" | "ForceBatch" | "WithWeight"; } - /** @name DanceboxRuntimeOriginCaller (200) */ + /** @name DanceboxRuntimeOriginCaller (201) */ interface DanceboxRuntimeOriginCaller extends Enum { readonly isSystem: boolean; readonly asSystem: FrameSupportDispatchRawOrigin; @@ -2708,7 +2804,7 @@ declare module "@polkadot/types/lookup" { readonly type: "System" | "Void" | "CumulusXcm" | "PolkadotXcm"; } - /** @name FrameSupportDispatchRawOrigin (201) */ + /** @name FrameSupportDispatchRawOrigin (202) */ interface FrameSupportDispatchRawOrigin extends Enum { readonly isRoot: boolean; readonly isSigned: boolean; @@ -2717,7 +2813,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Root" | "Signed" | "None"; } - /** @name CumulusPalletXcmOrigin (202) */ + /** @name CumulusPalletXcmOrigin (203) */ interface CumulusPalletXcmOrigin extends Enum { readonly isRelay: boolean; readonly isSiblingParachain: boolean; @@ -2725,7 +2821,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Relay" | "SiblingParachain"; } - /** @name PalletXcmOrigin (203) */ + /** @name PalletXcmOrigin (204) */ interface PalletXcmOrigin extends Enum { readonly isXcm: boolean; readonly asXcm: StagingXcmV3MultiLocation; @@ -2734,10 +2830,10 @@ declare module "@polkadot/types/lookup" { readonly type: "Xcm" | "Response"; } - /** @name SpCoreVoid (204) */ + /** @name SpCoreVoid (205) */ type SpCoreVoid = Null; - /** @name PalletProxyCall (205) */ + /** @name PalletProxyCall (206) */ interface PalletProxyCall extends Enum { readonly isProxy: boolean; readonly asProxy: { @@ -2807,14 +2903,14 @@ declare module "@polkadot/types/lookup" { | "ProxyAnnounced"; } - /** @name PalletMaintenanceModeCall (209) */ + /** @name PalletMaintenanceModeCall (210) */ interface PalletMaintenanceModeCall extends Enum { readonly isEnterMaintenanceMode: boolean; readonly isResumeNormalOperation: boolean; readonly type: "EnterMaintenanceMode" | "ResumeNormalOperation"; } - /** @name PalletTxPauseCall (210) */ + /** @name PalletTxPauseCall (211) */ interface PalletTxPauseCall extends Enum { readonly isPause: boolean; readonly asPause: { @@ -2827,7 +2923,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Pause" | "Unpause"; } - /** @name PalletBalancesCall (211) */ + /** @name PalletBalancesCall (212) */ interface PalletBalancesCall extends Enum { readonly isTransferAllowDeath: boolean; readonly asTransferAllowDeath: { @@ -2874,7 +2970,7 @@ declare module "@polkadot/types/lookup" { | "ForceSetBalance"; } - /** @name PalletIdentityCall (212) */ + /** @name PalletIdentityCall (213) */ interface PalletIdentityCall extends Enum { readonly isAddRegistrar: boolean; readonly asAddRegistrar: { @@ -2996,7 +3092,7 @@ declare module "@polkadot/types/lookup" { | "RemoveDanglingUsername"; } - /** @name PalletIdentityLegacyIdentityInfo (213) */ + /** @name PalletIdentityLegacyIdentityInfo (214) */ interface PalletIdentityLegacyIdentityInfo extends Struct { readonly additional: Vec>; readonly display: Data; @@ -3009,7 +3105,7 @@ declare module "@polkadot/types/lookup" { readonly twitter: Data; } - /** @name PalletIdentityJudgement (249) */ + /** @name PalletIdentityJudgement (250) */ interface PalletIdentityJudgement extends Enum { readonly isUnknown: boolean; readonly isFeePaid: boolean; @@ -3022,7 +3118,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Unknown" | "FeePaid" | "Reasonable" | "KnownGood" | "OutOfDate" | "LowQuality" | "Erroneous"; } - /** @name SpRuntimeMultiSignature (251) */ + /** @name SpRuntimeMultiSignature (252) */ interface SpRuntimeMultiSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -3033,16 +3129,16 @@ declare module "@polkadot/types/lookup" { readonly type: "Ed25519" | "Sr25519" | "Ecdsa"; } - /** @name SpCoreEd25519Signature (252) */ + /** @name SpCoreEd25519Signature (253) */ interface SpCoreEd25519Signature extends U8aFixed {} - /** @name SpCoreSr25519Signature (254) */ + /** @name SpCoreSr25519Signature (255) */ interface SpCoreSr25519Signature extends U8aFixed {} - /** @name SpCoreEcdsaSignature (255) */ + /** @name SpCoreEcdsaSignature (256) */ interface SpCoreEcdsaSignature extends U8aFixed {} - /** @name PalletRegistrarCall (257) */ + /** @name PalletRegistrarCall (258) */ interface PalletRegistrarCall extends Enum { readonly isRegister: boolean; readonly asRegister: { @@ -3065,15 +3161,28 @@ declare module "@polkadot/types/lookup" { readonly asUnpauseContainerChain: { readonly paraId: u32; } & Struct; + readonly isRegisterParathread: boolean; + readonly asRegisterParathread: { + readonly paraId: u32; + readonly slotFrequency: TpTraitsSlotFrequency; + readonly genesisData: TpContainerChainGenesisDataContainerChainGenesisData; + } & Struct; + readonly isSetParathreadParams: boolean; + readonly asSetParathreadParams: { + readonly paraId: u32; + readonly slotFrequency: TpTraitsSlotFrequency; + } & Struct; readonly type: | "Register" | "Deregister" | "MarkValidForCollating" | "PauseContainerChain" - | "UnpauseContainerChain"; + | "UnpauseContainerChain" + | "RegisterParathread" + | "SetParathreadParams"; } - /** @name TpContainerChainGenesisDataContainerChainGenesisData (258) */ + /** @name TpContainerChainGenesisDataContainerChainGenesisData (259) */ interface TpContainerChainGenesisDataContainerChainGenesisData extends Struct { readonly storage: Vec; readonly name: Bytes; @@ -3083,26 +3192,32 @@ declare module "@polkadot/types/lookup" { readonly properties: TpContainerChainGenesisDataProperties; } - /** @name TpContainerChainGenesisDataContainerChainGenesisDataItem (260) */ + /** @name TpContainerChainGenesisDataContainerChainGenesisDataItem (261) */ interface TpContainerChainGenesisDataContainerChainGenesisDataItem extends Struct { readonly key: Bytes; readonly value: Bytes; } - /** @name TpContainerChainGenesisDataProperties (262) */ + /** @name TpContainerChainGenesisDataProperties (263) */ interface TpContainerChainGenesisDataProperties extends Struct { readonly tokenMetadata: TpContainerChainGenesisDataTokenMetadata; readonly isEthereum: bool; } - /** @name TpContainerChainGenesisDataTokenMetadata (263) */ + /** @name TpContainerChainGenesisDataTokenMetadata (264) */ interface TpContainerChainGenesisDataTokenMetadata extends Struct { readonly tokenSymbol: Bytes; readonly ss58Format: u32; readonly tokenDecimals: u32; } - /** @name PalletConfigurationCall (265) */ + /** @name TpTraitsSlotFrequency (266) */ + interface TpTraitsSlotFrequency extends Struct { + readonly min: u32; + readonly max: u32; + } + + /** @name PalletConfigurationCall (267) */ interface PalletConfigurationCall extends Enum { readonly isSetMaxCollators: boolean; readonly asSetMaxCollators: { @@ -3152,10 +3267,10 @@ declare module "@polkadot/types/lookup" { | "SetBypassConsistencyCheck"; } - /** @name PalletCollatorAssignmentCall (267) */ + /** @name PalletCollatorAssignmentCall (269) */ type PalletCollatorAssignmentCall = Null; - /** @name PalletAuthorNotingCall (268) */ + /** @name PalletAuthorNotingCall (270) */ interface PalletAuthorNotingCall extends Enum { readonly isSetLatestAuthorData: boolean; readonly asSetLatestAuthorData: { @@ -3174,21 +3289,20 @@ declare module "@polkadot/types/lookup" { readonly type: "SetLatestAuthorData" | "SetAuthor" | "KillAuthorData"; } - /** @name TpAuthorNotingInherentOwnParachainInherentData (269) */ + /** @name TpAuthorNotingInherentOwnParachainInherentData (271) */ interface TpAuthorNotingInherentOwnParachainInherentData extends Struct { readonly relayStorageProof: SpTrieStorageProof; } - /** @name PalletAuthorityAssignmentCall (270) */ + /** @name PalletAuthorityAssignmentCall (272) */ type PalletAuthorityAssignmentCall = Null; - /** @name PalletServicesPaymentCall (271) */ + /** @name PalletServicesPaymentCall (273) */ interface PalletServicesPaymentCall extends Enum { readonly isPurchaseCredits: boolean; readonly asPurchaseCredits: { readonly paraId: u32; - readonly credits: u32; - readonly maxPricePerCredit: Option; + readonly credit: u128; } & Struct; readonly isSetCredits: boolean; readonly asSetCredits: { @@ -3200,10 +3314,15 @@ declare module "@polkadot/types/lookup" { readonly paraId: u32; readonly givenFreeCredits: bool; } & Struct; - readonly type: "PurchaseCredits" | "SetCredits" | "SetGivenFreeCredits"; + readonly isSetRefundAddress: boolean; + readonly asSetRefundAddress: { + readonly paraId: u32; + readonly refundAddress: Option; + } & Struct; + readonly type: "PurchaseCredits" | "SetCredits" | "SetGivenFreeCredits" | "SetRefundAddress"; } - /** @name PalletDataPreserversCall (273) */ + /** @name PalletDataPreserversCall (274) */ interface PalletDataPreserversCall extends Enum { readonly isSetBootNodes: boolean; readonly asSetBootNodes: { @@ -3213,7 +3332,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetBootNodes"; } - /** @name PalletInvulnerablesCall (277) */ + /** @name PalletInvulnerablesCall (278) */ interface PalletInvulnerablesCall extends Enum { readonly isSetInvulnerables: boolean; readonly asSetInvulnerables: { @@ -3230,7 +3349,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetInvulnerables" | "AddInvulnerable" | "RemoveInvulnerable"; } - /** @name PalletSessionCall (278) */ + /** @name PalletSessionCall (279) */ interface PalletSessionCall extends Enum { readonly isSetKeys: boolean; readonly asSetKeys: { @@ -3241,24 +3360,24 @@ declare module "@polkadot/types/lookup" { readonly type: "SetKeys" | "PurgeKeys"; } - /** @name DanceboxRuntimeSessionKeys (279) */ + /** @name DanceboxRuntimeSessionKeys (280) */ interface DanceboxRuntimeSessionKeys extends Struct { readonly nimbus: NimbusPrimitivesNimbusCryptoPublic; } - /** @name NimbusPrimitivesNimbusCryptoPublic (280) */ + /** @name NimbusPrimitivesNimbusCryptoPublic (281) */ interface NimbusPrimitivesNimbusCryptoPublic extends SpCoreSr25519Public {} - /** @name SpCoreSr25519Public (281) */ + /** @name SpCoreSr25519Public (282) */ interface SpCoreSr25519Public extends U8aFixed {} - /** @name PalletAuthorInherentCall (282) */ + /** @name PalletAuthorInherentCall (283) */ interface PalletAuthorInherentCall extends Enum { readonly isKickOffAuthorshipValidation: boolean; readonly type: "KickOffAuthorshipValidation"; } - /** @name PalletPooledStakingCall (283) */ + /** @name PalletPooledStakingCall (284) */ interface PalletPooledStakingCall extends Enum { readonly isRebalanceHold: boolean; readonly asRebalanceHold: { @@ -3306,7 +3425,7 @@ declare module "@polkadot/types/lookup" { | "SwapPool"; } - /** @name PalletPooledStakingAllTargetPool (284) */ + /** @name PalletPooledStakingAllTargetPool (285) */ interface PalletPooledStakingAllTargetPool extends Enum { readonly isJoining: boolean; readonly isAutoCompounding: boolean; @@ -3315,13 +3434,13 @@ declare module "@polkadot/types/lookup" { readonly type: "Joining" | "AutoCompounding" | "ManualRewards" | "Leaving"; } - /** @name PalletPooledStakingPendingOperationQuery (286) */ + /** @name PalletPooledStakingPendingOperationQuery (287) */ interface PalletPooledStakingPendingOperationQuery extends Struct { readonly delegator: AccountId32; readonly operation: PalletPooledStakingPendingOperationKey; } - /** @name PalletPooledStakingPendingOperationKey (287) */ + /** @name PalletPooledStakingPendingOperationKey (288) */ interface PalletPooledStakingPendingOperationKey extends Enum { readonly isJoiningAutoCompounding: boolean; readonly asJoiningAutoCompounding: { @@ -3341,7 +3460,7 @@ declare module "@polkadot/types/lookup" { readonly type: "JoiningAutoCompounding" | "JoiningManualRewards" | "Leaving"; } - /** @name PalletPooledStakingSharesOrStake (288) */ + /** @name PalletPooledStakingSharesOrStake (289) */ interface PalletPooledStakingSharesOrStake extends Enum { readonly isShares: boolean; readonly asShares: u128; @@ -3350,7 +3469,62 @@ declare module "@polkadot/types/lookup" { readonly type: "Shares" | "Stake"; } - /** @name CumulusPalletXcmpQueueCall (291) */ + /** @name PalletTreasuryCall (292) */ + interface PalletTreasuryCall extends Enum { + readonly isProposeSpend: boolean; + readonly asProposeSpend: { + readonly value: Compact; + readonly beneficiary: MultiAddress; + } & Struct; + readonly isRejectProposal: boolean; + readonly asRejectProposal: { + readonly proposalId: Compact; + } & Struct; + readonly isApproveProposal: boolean; + readonly asApproveProposal: { + readonly proposalId: Compact; + } & Struct; + readonly isSpendLocal: boolean; + readonly asSpendLocal: { + readonly amount: Compact; + readonly beneficiary: MultiAddress; + } & Struct; + readonly isRemoveApproval: boolean; + readonly asRemoveApproval: { + readonly proposalId: Compact; + } & Struct; + readonly isSpend: boolean; + readonly asSpend: { + readonly assetKind: Null; + readonly amount: Compact; + readonly beneficiary: AccountId32; + readonly validFrom: Option; + } & Struct; + readonly isPayout: boolean; + readonly asPayout: { + readonly index: u32; + } & Struct; + readonly isCheckStatus: boolean; + readonly asCheckStatus: { + readonly index: u32; + } & Struct; + readonly isVoidSpend: boolean; + readonly asVoidSpend: { + readonly index: u32; + } & Struct; + readonly type: + | "ProposeSpend" + | "RejectProposal" + | "ApproveProposal" + | "SpendLocal" + | "RemoveApproval" + | "Spend" + | "Payout" + | "CheckStatus" + | "VoidSpend"; + } + + /** @name CumulusPalletXcmpQueueCall (293) */ interface CumulusPalletXcmpQueueCall extends Enum { readonly isSuspendXcmExecution: boolean; readonly isResumeXcmExecution: boolean; @@ -3374,10 +3548,10 @@ declare module "@polkadot/types/lookup" { | "UpdateResumeThreshold"; } - /** @name CumulusPalletDmpQueueCall (292) */ + /** @name CumulusPalletDmpQueueCall (294) */ type CumulusPalletDmpQueueCall = Null; - /** @name PalletXcmCall (293) */ + /** @name PalletXcmCall (295) */ interface PalletXcmCall extends Enum { readonly isSend: boolean; readonly asSend: { @@ -3463,7 +3637,7 @@ declare module "@polkadot/types/lookup" { | "TransferAssets"; } - /** @name XcmVersionedXcm (294) */ + /** @name XcmVersionedXcm (296) */ interface XcmVersionedXcm extends Enum { readonly isV2: boolean; readonly asV2: XcmV2Xcm; @@ -3472,10 +3646,10 @@ declare module "@polkadot/types/lookup" { readonly type: "V2" | "V3"; } - /** @name XcmV2Xcm (295) */ + /** @name XcmV2Xcm (297) */ interface XcmV2Xcm extends Vec {} - /** @name XcmV2Instruction (297) */ + /** @name XcmV2Instruction (299) */ interface XcmV2Instruction extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: XcmV2MultiassetMultiAssets; @@ -3623,7 +3797,7 @@ declare module "@polkadot/types/lookup" { | "UnsubscribeVersion"; } - /** @name XcmV2Response (298) */ + /** @name XcmV2Response (300) */ interface XcmV2Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; @@ -3635,7 +3809,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Null" | "Assets" | "ExecutionResult" | "Version"; } - /** @name XcmV2TraitsError (301) */ + /** @name XcmV2TraitsError (303) */ interface XcmV2TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; @@ -3694,7 +3868,7 @@ declare module "@polkadot/types/lookup" { | "WeightNotComputable"; } - /** @name XcmV2MultiassetMultiAssetFilter (302) */ + /** @name XcmV2MultiassetMultiAssetFilter (304) */ interface XcmV2MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; readonly asDefinite: XcmV2MultiassetMultiAssets; @@ -3703,7 +3877,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Definite" | "Wild"; } - /** @name XcmV2MultiassetWildMultiAsset (303) */ + /** @name XcmV2MultiassetWildMultiAsset (305) */ interface XcmV2MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; @@ -3714,14 +3888,14 @@ declare module "@polkadot/types/lookup" { readonly type: "All" | "AllOf"; } - /** @name XcmV2MultiassetWildFungibility (304) */ + /** @name XcmV2MultiassetWildFungibility (306) */ interface XcmV2MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: "Fungible" | "NonFungible"; } - /** @name XcmV2WeightLimit (305) */ + /** @name XcmV2WeightLimit (307) */ interface XcmV2WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; @@ -3729,7 +3903,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Unlimited" | "Limited"; } - /** @name PalletAssetsCall (314) */ + /** @name PalletAssetsCall (316) */ interface PalletAssetsCall extends Enum { readonly isCreate: boolean; readonly asCreate: { @@ -3943,7 +4117,7 @@ declare module "@polkadot/types/lookup" { | "Block"; } - /** @name PalletForeignAssetCreatorCall (315) */ + /** @name PalletForeignAssetCreatorCall (317) */ interface PalletForeignAssetCreatorCall extends Enum { readonly isCreateForeignAsset: boolean; readonly asCreateForeignAsset: { @@ -3973,7 +4147,7 @@ declare module "@polkadot/types/lookup" { | "DestroyForeignAsset"; } - /** @name PalletAssetRateCall (316) */ + /** @name PalletAssetRateCall (318) */ interface PalletAssetRateCall extends Enum { readonly isCreate: boolean; readonly asCreate: { @@ -3992,7 +4166,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Create" | "Update" | "Remove"; } - /** @name PalletMessageQueueCall (317) */ + /** @name PalletMessageQueueCall (319) */ interface PalletMessageQueueCall extends Enum { readonly isReapPage: boolean; readonly asReapPage: { @@ -4009,7 +4183,7 @@ declare module "@polkadot/types/lookup" { readonly type: "ReapPage" | "ExecuteOverweight"; } - /** @name PalletRootTestingCall (318) */ + /** @name PalletRootTestingCall (320) */ interface PalletRootTestingCall extends Enum { readonly isFillBlock: boolean; readonly asFillBlock: { @@ -4019,33 +4193,33 @@ declare module "@polkadot/types/lookup" { readonly type: "FillBlock" | "TriggerDefensive"; } - /** @name PalletSudoError (319) */ + /** @name PalletSudoError (321) */ interface PalletSudoError extends Enum { readonly isRequireSudo: boolean; readonly type: "RequireSudo"; } - /** @name PalletUtilityError (320) */ + /** @name PalletUtilityError (322) */ interface PalletUtilityError extends Enum { readonly isTooManyCalls: boolean; readonly type: "TooManyCalls"; } - /** @name PalletProxyProxyDefinition (323) */ + /** @name PalletProxyProxyDefinition (325) */ interface PalletProxyProxyDefinition extends Struct { readonly delegate: AccountId32; readonly proxyType: DanceboxRuntimeProxyType; readonly delay: u32; } - /** @name PalletProxyAnnouncement (327) */ + /** @name PalletProxyAnnouncement (329) */ interface PalletProxyAnnouncement extends Struct { readonly real: AccountId32; readonly callHash: H256; readonly height: u32; } - /** @name PalletProxyError (329) */ + /** @name PalletProxyError (331) */ interface PalletProxyError extends Enum { readonly isTooMany: boolean; readonly isNotFound: boolean; @@ -4066,7 +4240,7 @@ declare module "@polkadot/types/lookup" { | "NoSelfProxy"; } - /** @name PalletMigrationsError (330) */ + /** @name PalletMigrationsError (332) */ interface PalletMigrationsError extends Enum { readonly isPreimageMissing: boolean; readonly isWrongUpperBound: boolean; @@ -4075,14 +4249,14 @@ declare module "@polkadot/types/lookup" { readonly type: "PreimageMissing" | "WrongUpperBound" | "PreimageIsTooBig" | "PreimageAlreadyExists"; } - /** @name PalletMaintenanceModeError (331) */ + /** @name PalletMaintenanceModeError (333) */ interface PalletMaintenanceModeError extends Enum { readonly isAlreadyInMaintenanceMode: boolean; readonly isNotInMaintenanceMode: boolean; readonly type: "AlreadyInMaintenanceMode" | "NotInMaintenanceMode"; } - /** @name PalletTxPauseError (332) */ + /** @name PalletTxPauseError (334) */ interface PalletTxPauseError extends Enum { readonly isIsPaused: boolean; readonly isIsUnpaused: boolean; @@ -4091,14 +4265,14 @@ declare module "@polkadot/types/lookup" { readonly type: "IsPaused" | "IsUnpaused" | "Unpausable" | "NotFound"; } - /** @name PalletBalancesBalanceLock (334) */ + /** @name PalletBalancesBalanceLock (336) */ interface PalletBalancesBalanceLock extends Struct { readonly id: U8aFixed; readonly amount: u128; readonly reasons: PalletBalancesReasons; } - /** @name PalletBalancesReasons (335) */ + /** @name PalletBalancesReasons (337) */ interface PalletBalancesReasons extends Enum { readonly isFee: boolean; readonly isMisc: boolean; @@ -4106,32 +4280,32 @@ declare module "@polkadot/types/lookup" { readonly type: "Fee" | "Misc" | "All"; } - /** @name PalletBalancesReserveData (338) */ + /** @name PalletBalancesReserveData (340) */ interface PalletBalancesReserveData extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name DanceboxRuntimeRuntimeHoldReason (342) */ + /** @name DanceboxRuntimeRuntimeHoldReason (344) */ interface DanceboxRuntimeRuntimeHoldReason extends Enum { readonly isPooledStaking: boolean; readonly asPooledStaking: PalletPooledStakingHoldReason; readonly type: "PooledStaking"; } - /** @name PalletPooledStakingHoldReason (343) */ + /** @name PalletPooledStakingHoldReason (345) */ interface PalletPooledStakingHoldReason extends Enum { readonly isPooledStake: boolean; readonly type: "PooledStake"; } - /** @name PalletBalancesIdAmount (346) */ + /** @name PalletBalancesIdAmount (348) */ interface PalletBalancesIdAmount extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name PalletBalancesError (348) */ + /** @name PalletBalancesError (350) */ interface PalletBalancesError extends Enum { readonly isVestingBalance: boolean; readonly isLiquidityRestrictions: boolean; @@ -4156,34 +4330,34 @@ declare module "@polkadot/types/lookup" { | "TooManyFreezes"; } - /** @name PalletTransactionPaymentReleases (349) */ + /** @name PalletTransactionPaymentReleases (351) */ interface PalletTransactionPaymentReleases extends Enum { readonly isV1Ancient: boolean; readonly isV2: boolean; readonly type: "V1Ancient" | "V2"; } - /** @name PalletIdentityRegistration (351) */ + /** @name PalletIdentityRegistration (353) */ interface PalletIdentityRegistration extends Struct { readonly judgements: Vec>; readonly deposit: u128; readonly info: PalletIdentityLegacyIdentityInfo; } - /** @name PalletIdentityRegistrarInfo (360) */ + /** @name PalletIdentityRegistrarInfo (362) */ interface PalletIdentityRegistrarInfo extends Struct { readonly account: AccountId32; readonly fee: u128; readonly fields: u64; } - /** @name PalletIdentityAuthorityProperties (362) */ + /** @name PalletIdentityAuthorityProperties (364) */ interface PalletIdentityAuthorityProperties extends Struct { readonly suffix: Bytes; readonly allocation: u32; } - /** @name PalletIdentityError (365) */ + /** @name PalletIdentityError (367) */ interface PalletIdentityError extends Enum { readonly isTooManySubAccounts: boolean; readonly isNotFound: boolean; @@ -4240,13 +4414,18 @@ declare module "@polkadot/types/lookup" { | "NotExpired"; } - /** @name PalletRegistrarDepositInfo (370) */ + /** @name TpTraitsParathreadParams (372) */ + interface TpTraitsParathreadParams extends Struct { + readonly slotFrequency: TpTraitsSlotFrequency; + } + + /** @name PalletRegistrarDepositInfo (378) */ interface PalletRegistrarDepositInfo extends Struct { readonly creator: AccountId32; readonly deposit: u128; } - /** @name PalletRegistrarError (371) */ + /** @name PalletRegistrarError (379) */ interface PalletRegistrarError extends Enum { readonly isParaIdAlreadyRegistered: boolean; readonly isParaIdNotRegistered: boolean; @@ -4257,6 +4436,7 @@ declare module "@polkadot/types/lookup" { readonly isGenesisDataTooBig: boolean; readonly isParaIdNotInPendingVerification: boolean; readonly isNotSufficientDeposit: boolean; + readonly isNotAParathread: boolean; readonly type: | "ParaIdAlreadyRegistered" | "ParaIdNotRegistered" @@ -4266,10 +4446,11 @@ declare module "@polkadot/types/lookup" { | "ParaIdListFull" | "GenesisDataTooBig" | "ParaIdNotInPendingVerification" - | "NotSufficientDeposit"; + | "NotSufficientDeposit" + | "NotAParathread"; } - /** @name PalletConfigurationHostConfiguration (372) */ + /** @name PalletConfigurationHostConfiguration (380) */ interface PalletConfigurationHostConfiguration extends Struct { readonly maxCollators: u32; readonly minOrchestratorCollators: u32; @@ -4281,25 +4462,25 @@ declare module "@polkadot/types/lookup" { readonly targetContainerChainFullness: Perbill; } - /** @name PalletConfigurationError (375) */ + /** @name PalletConfigurationError (383) */ interface PalletConfigurationError extends Enum { readonly isInvalidNewValue: boolean; readonly type: "InvalidNewValue"; } - /** @name DpCollatorAssignmentAssignedCollatorsAccountId32 (376) */ + /** @name DpCollatorAssignmentAssignedCollatorsAccountId32 (384) */ interface DpCollatorAssignmentAssignedCollatorsAccountId32 extends Struct { readonly orchestratorChain: Vec; readonly containerChains: BTreeMap>; } - /** @name PalletAuthorNotingContainerChainBlockInfo (381) */ + /** @name PalletAuthorNotingContainerChainBlockInfo (389) */ interface PalletAuthorNotingContainerChainBlockInfo extends Struct { readonly blockNumber: u32; readonly author: AccountId32; } - /** @name PalletAuthorNotingError (382) */ + /** @name PalletAuthorNotingError (390) */ interface PalletAuthorNotingError extends Enum { readonly isFailedReading: boolean; readonly isFailedDecodingHeader: boolean; @@ -4318,13 +4499,13 @@ declare module "@polkadot/types/lookup" { | "NonAuraDigest"; } - /** @name DpCollatorAssignmentAssignedCollatorsPublic (383) */ + /** @name DpCollatorAssignmentAssignedCollatorsPublic (391) */ interface DpCollatorAssignmentAssignedCollatorsPublic extends Struct { readonly orchestratorChain: Vec; readonly containerChains: BTreeMap>; } - /** @name PalletServicesPaymentError (388) */ + /** @name PalletServicesPaymentError (396) */ interface PalletServicesPaymentError extends Enum { readonly isInsufficientFundsToPurchaseCredits: boolean; readonly isInsufficientCredits: boolean; @@ -4332,24 +4513,25 @@ declare module "@polkadot/types/lookup" { readonly type: "InsufficientFundsToPurchaseCredits" | "InsufficientCredits" | "CreditPriceTooExpensive"; } - /** @name PalletDataPreserversError (389) */ + /** @name PalletDataPreserversError (397) */ interface PalletDataPreserversError extends Enum { readonly isNoBootNodes: boolean; readonly type: "NoBootNodes"; } - /** @name PalletInvulnerablesError (391) */ + /** @name PalletInvulnerablesError (399) */ interface PalletInvulnerablesError extends Enum { readonly isTooManyInvulnerables: boolean; readonly isAlreadyInvulnerable: boolean; readonly isNotInvulnerable: boolean; - readonly type: "TooManyInvulnerables" | "AlreadyInvulnerable" | "NotInvulnerable"; + readonly isNoKeysRegistered: boolean; + readonly type: "TooManyInvulnerables" | "AlreadyInvulnerable" | "NotInvulnerable" | "NoKeysRegistered"; } - /** @name SpCoreCryptoKeyTypeId (396) */ + /** @name SpCoreCryptoKeyTypeId (404) */ interface SpCoreCryptoKeyTypeId extends U8aFixed {} - /** @name PalletSessionError (397) */ + /** @name PalletSessionError (405) */ interface PalletSessionError extends Enum { readonly isInvalidProof: boolean; readonly isNoAssociatedValidatorId: boolean; @@ -4359,7 +4541,7 @@ declare module "@polkadot/types/lookup" { readonly type: "InvalidProof" | "NoAssociatedValidatorId" | "DuplicatedKey" | "NoKeys" | "NoAccount"; } - /** @name PalletAuthorInherentError (401) */ + /** @name PalletAuthorInherentError (409) */ interface PalletAuthorInherentError extends Enum { readonly isAuthorAlreadySet: boolean; readonly isNoAccountId: boolean; @@ -4367,13 +4549,13 @@ declare module "@polkadot/types/lookup" { readonly type: "AuthorAlreadySet" | "NoAccountId" | "CannotBeAuthor"; } - /** @name PalletPooledStakingCandidateEligibleCandidate (403) */ + /** @name PalletPooledStakingCandidateEligibleCandidate (411) */ interface PalletPooledStakingCandidateEligibleCandidate extends Struct { readonly candidate: AccountId32; readonly stake: u128; } - /** @name PalletPooledStakingPoolsKey (406) */ + /** @name PalletPooledStakingPoolsKey (414) */ interface PalletPooledStakingPoolsKey extends Enum { readonly isCandidateTotalStake: boolean; readonly isJoiningShares: boolean; @@ -4443,7 +4625,7 @@ declare module "@polkadot/types/lookup" { | "LeavingSharesHeldStake"; } - /** @name PalletPooledStakingError (408) */ + /** @name PalletPooledStakingError (416) */ interface PalletPooledStakingError extends Enum { readonly isInvalidPalletSetting: boolean; readonly isDisabledFeature: boolean; @@ -4477,13 +4659,74 @@ declare module "@polkadot/types/lookup" { | "SwapResultsInZeroShares"; } - /** @name PalletInflationRewardsChainsToRewardValue (409) */ + /** @name PalletInflationRewardsChainsToRewardValue (417) */ interface PalletInflationRewardsChainsToRewardValue extends Struct { readonly paraIds: Vec; readonly rewardsPerChain: u128; } - /** @name CumulusPalletXcmpQueueOutboundChannelDetails (413) */ + /** @name PalletTreasuryProposal (418) */ + interface PalletTreasuryProposal extends Struct { + readonly proposer: AccountId32; + readonly value: u128; + readonly beneficiary: AccountId32; + readonly bond: u128; + } + + /** @name PalletTreasurySpendStatus (420) */ + interface PalletTreasurySpendStatus extends Struct { + readonly assetKind: Null; + readonly amount: u128; + readonly beneficiary: AccountId32; + readonly validFrom: u32; + readonly expireAt: u32; + readonly status: PalletTreasuryPaymentState; + } + + /** @name PalletTreasuryPaymentState (421) */ + interface PalletTreasuryPaymentState extends Enum { + readonly isPending: boolean; + readonly isAttempted: boolean; + readonly asAttempted: { + readonly id: Null; + } & Struct; + readonly isFailed: boolean; + readonly type: "Pending" | "Attempted" | "Failed"; + } + + /** @name FrameSupportPalletId (424) */ + interface FrameSupportPalletId extends U8aFixed {} + + /** @name PalletTreasuryError (425) */ + interface PalletTreasuryError extends Enum { + readonly isInsufficientProposersBalance: boolean; + readonly isInvalidIndex: boolean; + readonly isTooManyApprovals: boolean; + readonly isInsufficientPermission: boolean; + readonly isProposalNotApproved: boolean; + readonly isFailedToConvertBalance: boolean; + readonly isSpendExpired: boolean; + readonly isEarlyPayout: boolean; + readonly isAlreadyAttempted: boolean; + readonly isPayoutError: boolean; + readonly isNotAttempted: boolean; + readonly isInconclusive: boolean; + readonly type: + | "InsufficientProposersBalance" + | "InvalidIndex" + | "TooManyApprovals" + | "InsufficientPermission" + | "ProposalNotApproved" + | "FailedToConvertBalance" + | "SpendExpired" + | "EarlyPayout" + | "AlreadyAttempted" + | "PayoutError" + | "NotAttempted" + | "Inconclusive"; + } + + /** @name CumulusPalletXcmpQueueOutboundChannelDetails (429) */ interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct { readonly recipient: u32; readonly state: CumulusPalletXcmpQueueOutboundState; @@ -4492,21 +4735,21 @@ declare module "@polkadot/types/lookup" { readonly lastIndex: u16; } - /** @name CumulusPalletXcmpQueueOutboundState (414) */ + /** @name CumulusPalletXcmpQueueOutboundState (430) */ interface CumulusPalletXcmpQueueOutboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: "Ok" | "Suspended"; } - /** @name CumulusPalletXcmpQueueQueueConfigData (416) */ + /** @name CumulusPalletXcmpQueueQueueConfigData (432) */ interface CumulusPalletXcmpQueueQueueConfigData extends Struct { readonly suspendThreshold: u32; readonly dropThreshold: u32; readonly resumeThreshold: u32; } - /** @name CumulusPalletXcmpQueueError (417) */ + /** @name CumulusPalletXcmpQueueError (433) */ interface CumulusPalletXcmpQueueError extends Enum { readonly isBadQueueConfig: boolean; readonly isAlreadySuspended: boolean; @@ -4514,7 +4757,7 @@ declare module "@polkadot/types/lookup" { readonly type: "BadQueueConfig" | "AlreadySuspended" | "AlreadyResumed"; } - /** @name CumulusPalletDmpQueueMigrationState (418) */ + /** @name CumulusPalletDmpQueueMigrationState (434) */ interface CumulusPalletDmpQueueMigrationState extends Enum { readonly isNotStarted: boolean; readonly isStartedExport: boolean; @@ -4542,7 +4785,7 @@ declare module "@polkadot/types/lookup" { | "Completed"; } - /** @name PalletXcmQueryStatus (421) */ + /** @name PalletXcmQueryStatus (437) */ interface PalletXcmQueryStatus extends Enum { readonly isPending: boolean; readonly asPending: { @@ -4564,7 +4807,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Pending" | "VersionNotifier" | "Ready"; } - /** @name XcmVersionedResponse (425) */ + /** @name XcmVersionedResponse (441) */ interface XcmVersionedResponse extends Enum { readonly isV2: boolean; readonly asV2: XcmV2Response; @@ -4573,7 +4816,7 @@ declare module "@polkadot/types/lookup" { readonly type: "V2" | "V3"; } - /** @name PalletXcmVersionMigrationStage (431) */ + /** @name PalletXcmVersionMigrationStage (447) */ interface PalletXcmVersionMigrationStage extends Enum { readonly isMigrateSupportedVersion: boolean; readonly isMigrateVersionNotifiers: boolean; @@ -4587,14 +4830,14 @@ declare module "@polkadot/types/lookup" { | "MigrateAndNotifyOldTargets"; } - /** @name XcmVersionedAssetId (433) */ + /** @name XcmVersionedAssetId (449) */ interface XcmVersionedAssetId extends Enum { readonly isV3: boolean; readonly asV3: XcmV3MultiassetAssetId; readonly type: "V3"; } - /** @name PalletXcmRemoteLockedFungibleRecord (434) */ + /** @name PalletXcmRemoteLockedFungibleRecord (450) */ interface PalletXcmRemoteLockedFungibleRecord extends Struct { readonly amount: u128; readonly owner: XcmVersionedMultiLocation; @@ -4602,7 +4845,7 @@ declare module "@polkadot/types/lookup" { readonly consumers: Vec>; } - /** @name PalletXcmError (441) */ + /** @name PalletXcmError (457) */ interface PalletXcmError extends Enum { readonly isUnreachable: boolean; readonly isSendFailure: boolean; @@ -4657,7 +4900,7 @@ declare module "@polkadot/types/lookup" { | "LocalExecutionIncomplete"; } - /** @name PalletAssetsAssetDetails (442) */ + /** @name PalletAssetsAssetDetails (458) */ interface PalletAssetsAssetDetails extends Struct { readonly owner: AccountId32; readonly issuer: AccountId32; @@ -4673,7 +4916,7 @@ declare module "@polkadot/types/lookup" { readonly status: PalletAssetsAssetStatus; } - /** @name PalletAssetsAssetStatus (443) */ + /** @name PalletAssetsAssetStatus (459) */ interface PalletAssetsAssetStatus extends Enum { readonly isLive: boolean; readonly isFrozen: boolean; @@ -4681,7 +4924,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Live" | "Frozen" | "Destroying"; } - /** @name PalletAssetsAssetAccount (445) */ + /** @name PalletAssetsAssetAccount (461) */ interface PalletAssetsAssetAccount extends Struct { readonly balance: u128; readonly status: PalletAssetsAccountStatus; @@ -4689,7 +4932,7 @@ declare module "@polkadot/types/lookup" { readonly extra: Null; } - /** @name PalletAssetsAccountStatus (446) */ + /** @name PalletAssetsAccountStatus (462) */ interface PalletAssetsAccountStatus extends Enum { readonly isLiquid: boolean; readonly isFrozen: boolean; @@ -4697,7 +4940,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Liquid" | "Frozen" | "Blocked"; } - /** @name PalletAssetsExistenceReason (447) */ + /** @name PalletAssetsExistenceReason (463) */ interface PalletAssetsExistenceReason extends Enum { readonly isConsumer: boolean; readonly isSufficient: boolean; @@ -4709,13 +4952,13 @@ declare module "@polkadot/types/lookup" { readonly type: "Consumer" | "Sufficient" | "DepositHeld" | "DepositRefunded" | "DepositFrom"; } - /** @name PalletAssetsApproval (449) */ + /** @name PalletAssetsApproval (465) */ interface PalletAssetsApproval extends Struct { readonly amount: u128; readonly deposit: u128; } - /** @name PalletAssetsAssetMetadata (450) */ + /** @name PalletAssetsAssetMetadata (466) */ interface PalletAssetsAssetMetadata extends Struct { readonly deposit: u128; readonly name: Bytes; @@ -4724,7 +4967,7 @@ declare module "@polkadot/types/lookup" { readonly isFrozen: bool; } - /** @name PalletAssetsError (452) */ + /** @name PalletAssetsError (468) */ interface PalletAssetsError extends Enum { readonly isBalanceLow: boolean; readonly isNoAccount: boolean; @@ -4769,21 +5012,21 @@ declare module "@polkadot/types/lookup" { | "CallbackFailed"; } - /** @name PalletForeignAssetCreatorError (453) */ + /** @name PalletForeignAssetCreatorError (469) */ interface PalletForeignAssetCreatorError extends Enum { readonly isAssetAlreadyExists: boolean; readonly isAssetDoesNotExist: boolean; readonly type: "AssetAlreadyExists" | "AssetDoesNotExist"; } - /** @name PalletAssetRateError (454) */ + /** @name PalletAssetRateError (470) */ interface PalletAssetRateError extends Enum { readonly isUnknownAssetKind: boolean; readonly isAlreadyExists: boolean; readonly type: "UnknownAssetKind" | "AlreadyExists"; } - /** @name PalletMessageQueueBookState (455) */ + /** @name PalletMessageQueueBookState (471) */ interface PalletMessageQueueBookState extends Struct { readonly begin: u32; readonly end: u32; @@ -4793,13 +5036,13 @@ declare module "@polkadot/types/lookup" { readonly size_: u64; } - /** @name PalletMessageQueueNeighbours (457) */ + /** @name PalletMessageQueueNeighbours (473) */ interface PalletMessageQueueNeighbours extends Struct { readonly prev: CumulusPrimitivesCoreAggregateMessageOrigin; readonly next: CumulusPrimitivesCoreAggregateMessageOrigin; } - /** @name PalletMessageQueuePage (459) */ + /** @name PalletMessageQueuePage (475) */ interface PalletMessageQueuePage extends Struct { readonly remaining: u32; readonly remainingSize: u32; @@ -4809,7 +5052,7 @@ declare module "@polkadot/types/lookup" { readonly heap: Bytes; } - /** @name PalletMessageQueueError (461) */ + /** @name PalletMessageQueueError (477) */ interface PalletMessageQueueError extends Enum { readonly isNotReapable: boolean; readonly isNoPage: boolean; @@ -4832,27 +5075,27 @@ declare module "@polkadot/types/lookup" { | "RecursiveDisallowed"; } - /** @name FrameSystemExtensionsCheckNonZeroSender (467) */ + /** @name FrameSystemExtensionsCheckNonZeroSender (483) */ type FrameSystemExtensionsCheckNonZeroSender = Null; - /** @name FrameSystemExtensionsCheckSpecVersion (468) */ + /** @name FrameSystemExtensionsCheckSpecVersion (484) */ type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckTxVersion (469) */ + /** @name FrameSystemExtensionsCheckTxVersion (485) */ type FrameSystemExtensionsCheckTxVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (470) */ + /** @name FrameSystemExtensionsCheckGenesis (486) */ type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (473) */ + /** @name FrameSystemExtensionsCheckNonce (489) */ interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (474) */ + /** @name FrameSystemExtensionsCheckWeight (490) */ type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTransactionPaymentChargeTransactionPayment (475) */ + /** @name PalletTransactionPaymentChargeTransactionPayment (491) */ interface PalletTransactionPaymentChargeTransactionPayment extends Compact {} - /** @name DanceboxRuntimeRuntime (476) */ + /** @name DanceboxRuntimeRuntime (492) */ type DanceboxRuntimeRuntime = Null; } // declare module diff --git a/typescript-api/src/flashbox/interfaces/augment-api-consts.ts b/typescript-api/src/flashbox/interfaces/augment-api-consts.ts index d7df656c1..025121789 100644 --- a/typescript-api/src/flashbox/interfaces/augment-api-consts.ts +++ b/typescript-api/src/flashbox/interfaces/augment-api-consts.ts @@ -6,9 +6,11 @@ import "@polkadot/api-base/types/consts"; import type { ApiTypes, AugmentedConst } from "@polkadot/api-base/types"; -import type { u128, u16, u32, u64, u8 } from "@polkadot/types-codec"; +import type { Option, u128, u16, u32, u64, u8 } from "@polkadot/types-codec"; import type { Codec } from "@polkadot/types-codec/types"; +import type { Permill } from "@polkadot/types/interfaces/runtime"; import type { + FrameSupportPalletId, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion, @@ -177,6 +179,33 @@ declare module "@polkadot/api-base/types/consts" { /** Generic const */ [key: string]: Codec; }; + treasury: { + /** Percentage of spare funds (if any) that are burnt per spend period. */ + burn: Permill & AugmentedConst; + /** + * The maximum number of approvals that can wait in the spending queue. + * + * NOTE: This parameter is also used within the Bounties Pallet extension if enabled. + */ + maxApprovals: u32 & AugmentedConst; + /** The treasury's pallet id, used for deriving its sovereign account ID. */ + palletId: FrameSupportPalletId & AugmentedConst; + /** The period during which an approved treasury spend has to be claimed. */ + payoutPeriod: u32 & AugmentedConst; + /** + * Fraction of a proposal's value that should be bonded in order to place the proposal. An accepted proposal gets + * these back. A rejected proposal does not. + */ + proposalBond: Permill & AugmentedConst; + /** Maximum amount of funds that should be placed in a deposit for making a proposal. */ + proposalBondMaximum: Option & AugmentedConst; + /** Minimum amount of funds that should be placed in a deposit for making a proposal. */ + proposalBondMinimum: u128 & AugmentedConst; + /** Period between successive spends. */ + spendPeriod: u32 & AugmentedConst; + /** Generic const */ + [key: string]: Codec; + }; txPause: { /** * Maximum length for pallet name and call name SCALE encoded string names. diff --git a/typescript-api/src/flashbox/interfaces/augment-api-errors.ts b/typescript-api/src/flashbox/interfaces/augment-api-errors.ts index c226e6880..129717a64 100644 --- a/typescript-api/src/flashbox/interfaces/augment-api-errors.ts +++ b/typescript-api/src/flashbox/interfaces/augment-api-errors.ts @@ -128,6 +128,8 @@ declare module "@polkadot/api-base/types/errors" { invulnerables: { /** Account is already an Invulnerable. */ AlreadyInvulnerable: AugmentedError; + /** Account does not have keys registered */ + NoKeysRegistered: AugmentedError; /** Account is not an Invulnerable. */ NotInvulnerable: AugmentedError; /** There are too many Invulnerables. */ @@ -198,6 +200,8 @@ declare module "@polkadot/api-base/types/errors" { registrar: { /** Attempted to register a ParaId with a genesis data size greater than the limit */ GenesisDataTooBig: AugmentedError; + /** Tried to change parathread params for a para id that is not a registered parathread */ + NotAParathread: AugmentedError; /** Tried to register a ParaId with an account that did not have enough balance for the deposit */ NotSufficientDeposit: AugmentedError; /** Attempted to deregister a ParaId that is already being deregistered */ @@ -268,6 +272,34 @@ declare module "@polkadot/api-base/types/errors" { /** Generic error */ [key: string]: AugmentedError; }; + treasury: { + /** The payment has already been attempted. */ + AlreadyAttempted: AugmentedError; + /** The spend is not yet eligible for payout. */ + EarlyPayout: AugmentedError; + /** The balance of the asset kind is not convertible to the balance of the native asset. */ + FailedToConvertBalance: AugmentedError; + /** The payment has neither failed nor succeeded yet. */ + Inconclusive: AugmentedError; + /** The spend origin is valid but the amount it is allowed to spend is lower than the amount to be spent. */ + InsufficientPermission: AugmentedError; + /** Proposer's balance is too low. */ + InsufficientProposersBalance: AugmentedError; + /** No proposal, bounty or spend at that index. */ + InvalidIndex: AugmentedError; + /** The payout was not yet attempted/claimed. */ + NotAttempted: AugmentedError; + /** There was some issue with the mechanism of payment. */ + PayoutError: AugmentedError; + /** Proposal has not been approved. */ + ProposalNotApproved: AugmentedError; + /** The spend has expired and cannot be claimed. */ + SpendExpired: AugmentedError; + /** Too many approvals in the queue. */ + TooManyApprovals: AugmentedError; + /** Generic error */ + [key: string]: AugmentedError; + }; txPause: { /** The call is paused. */ IsPaused: AugmentedError; diff --git a/typescript-api/src/flashbox/interfaces/augment-api-events.ts b/typescript-api/src/flashbox/interfaces/augment-api-events.ts index d76fba652..6f9fa1c10 100644 --- a/typescript-api/src/flashbox/interfaces/augment-api-events.ts +++ b/typescript-api/src/flashbox/interfaces/augment-api-events.ts @@ -365,6 +365,8 @@ declare module "@polkadot/api-base/types/events" { ParaIdUnpaused: AugmentedEvent; /** A new para id is now valid for collating. [para_id] */ ParaIdValidForCollating: AugmentedEvent; + /** Parathread params changed */ + ParathreadParamsChanged: AugmentedEvent; /** Generic event */ [key: string]: AugmentedEvent; }; @@ -382,10 +384,15 @@ declare module "@polkadot/api-base/types/events" { >; CreditsPurchased: AugmentedEvent< ApiType, - [paraId: u32, payer: AccountId32, fee: u128, creditsPurchased: u32, creditsRemaining: u32], - { paraId: u32; payer: AccountId32; fee: u128; creditsPurchased: u32; creditsRemaining: u32 } + [paraId: u32, payer: AccountId32, credit: u128], + { paraId: u32; payer: AccountId32; credit: u128 } >; CreditsSet: AugmentedEvent; + RefundAddressUpdated: AugmentedEvent< + ApiType, + [paraId: u32, refundAddress: Option], + { paraId: u32; refundAddress: Option } + >; /** Generic event */ [key: string]: AugmentedEvent; }; @@ -459,6 +466,58 @@ declare module "@polkadot/api-base/types/events" { /** Generic event */ [key: string]: AugmentedEvent; }; + treasury: { + /** A new asset spend proposal has been approved. */ + AssetSpendApproved: AugmentedEvent< + ApiType, + [index: u32, assetKind: Null, amount: u128, beneficiary: AccountId32, validFrom: u32, expireAt: u32], + { index: u32; assetKind: Null; amount: u128; beneficiary: AccountId32; validFrom: u32; expireAt: u32 } + >; + /** An approved spend was voided. */ + AssetSpendVoided: AugmentedEvent; + /** Some funds have been allocated. */ + Awarded: AugmentedEvent< + ApiType, + [proposalIndex: u32, award: u128, account: AccountId32], + { proposalIndex: u32; award: u128; account: AccountId32 } + >; + /** Some of our funds have been burnt. */ + Burnt: AugmentedEvent; + /** Some funds have been deposited. */ + Deposit: AugmentedEvent; + /** A payment happened. */ + Paid: AugmentedEvent; + /** A payment failed and can be retried. */ + PaymentFailed: AugmentedEvent; + /** New proposal. */ + Proposed: AugmentedEvent; + /** A proposal was rejected; funds were slashed. */ + Rejected: AugmentedEvent< + ApiType, + [proposalIndex: u32, slashed: u128], + { proposalIndex: u32; slashed: u128 } + >; + /** Spending has finished; this is the amount that rolls over until next spend. */ + Rollover: AugmentedEvent; + /** A new spend proposal has been approved. */ + SpendApproved: AugmentedEvent< + ApiType, + [proposalIndex: u32, amount: u128, beneficiary: AccountId32], + { proposalIndex: u32; amount: u128; beneficiary: AccountId32 } + >; + /** We have ended a spend period and will now allocate funds. */ + Spending: AugmentedEvent; + /** A spend was processed and removed from the storage. It might have been successfully paid or it may have expired. */ + SpendProcessed: AugmentedEvent; + /** The inactive funds of the pallet have been updated. */ + UpdatedInactive: AugmentedEvent< + ApiType, + [reactivated: u128, deactivated: u128], + { reactivated: u128; deactivated: u128 } + >; + /** Generic event */ + [key: string]: AugmentedEvent; + }; txPause: { /** This pallet, or a specific call is now paused. */ CallPaused: AugmentedEvent< diff --git a/typescript-api/src/flashbox/interfaces/augment-api-query.ts b/typescript-api/src/flashbox/interfaces/augment-api-query.ts index d802ff21e..2141a5234 100644 --- a/typescript-api/src/flashbox/interfaces/augment-api-query.ts +++ b/typescript-api/src/flashbox/interfaces/augment-api-query.ts @@ -39,6 +39,8 @@ import type { PalletProxyProxyDefinition, PalletRegistrarDepositInfo, PalletTransactionPaymentReleases, + PalletTreasuryProposal, + PalletTreasurySpendStatus, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV6AbridgedHostConfiguration, PolkadotPrimitivesV6PersistedValidationData, @@ -49,6 +51,7 @@ import type { SpTrieStorageProof, SpWeightsWeightV2Weight, TpContainerChainGenesisDataContainerChainGenesisData, + TpTraitsParathreadParams, } from "@polkadot/types/lookup"; import type { Observable } from "@polkadot/types/types"; @@ -602,9 +605,21 @@ declare module "@polkadot/api-base/types/storage" { [u32] > & QueryableStorageEntry; + parathreadParams: AugmentedQuery< + ApiType, + (arg: u32 | AnyNumber | Uint8Array) => Observable>, + [u32] + > & + QueryableStorageEntry; paused: AugmentedQuery Observable>, []> & QueryableStorageEntry; pendingParaIds: AugmentedQuery Observable]>>>, []> & QueryableStorageEntry; + pendingParathreadParams: AugmentedQuery< + ApiType, + () => Observable>]>>>, + [] + > & + QueryableStorageEntry; pendingPaused: AugmentedQuery Observable]>>>, []> & QueryableStorageEntry; pendingToRemove: AugmentedQuery Observable]>>>, []> & @@ -654,6 +669,13 @@ declare module "@polkadot/api-base/types/storage" { [u32] > & QueryableStorageEntry; + /** Refund address */ + refundAddress: AugmentedQuery< + ApiType, + (arg: u32 | AnyNumber | Uint8Array) => Observable>, + [u32] + > & + QueryableStorageEntry; /** Generic query */ [key: string]: QueryableStorageEntry; }; @@ -815,6 +837,32 @@ declare module "@polkadot/api-base/types/storage" { /** Generic query */ [key: string]: QueryableStorageEntry; }; + treasury: { + /** Proposal indices that have been approved but not yet awarded. */ + approvals: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** The amount which has been reported as inactive to Currency. */ + deactivated: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** Number of proposals that have been made. */ + proposalCount: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** Proposals that have been made. */ + proposals: AugmentedQuery< + ApiType, + (arg: u32 | AnyNumber | Uint8Array) => Observable>, + [u32] + > & + QueryableStorageEntry; + /** The count of spends that have been made. */ + spendCount: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** Spends that have been approved and being processed. */ + spends: AugmentedQuery< + ApiType, + (arg: u32 | AnyNumber | Uint8Array) => Observable>, + [u32] + > & + QueryableStorageEntry; + /** Generic query */ + [key: string]: QueryableStorageEntry; + }; txPause: { /** The set of calls that are explicitly paused. */ pausedCalls: AugmentedQuery< diff --git a/typescript-api/src/flashbox/interfaces/augment-api-tx.ts b/typescript-api/src/flashbox/interfaces/augment-api-tx.ts index 0e31e651e..170ca1578 100644 --- a/typescript-api/src/flashbox/interfaces/augment-api-tx.ts +++ b/typescript-api/src/flashbox/interfaces/augment-api-tx.ts @@ -12,7 +12,7 @@ import type { SubmittableExtrinsicFunction, } from "@polkadot/api-base/types"; import type { Data } from "@polkadot/types"; -import type { Bytes, Compact, Option, Vec, bool, u128, u16, u32, u64 } from "@polkadot/types-codec"; +import type { Bytes, Compact, Null, Option, Vec, bool, u128, u16, u32, u64 } from "@polkadot/types-codec"; import type { AnyNumber, IMethod, ITuple } from "@polkadot/types-codec/types"; import type { AccountId32, Call, H256, MultiAddress, Perbill } from "@polkadot/types/interfaces/runtime"; import type { @@ -26,6 +26,7 @@ import type { SpWeightsWeightV2Weight, TpAuthorNotingInherentOwnParachainInherentData, TpContainerChainGenesisDataContainerChainGenesisData, + TpTraitsSlotFrequency, } from "@polkadot/types/lookup"; export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>; @@ -874,6 +875,27 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [u32, TpContainerChainGenesisDataContainerChainGenesisData] >; + /** See [`Pallet::register_parathread`]. */ + registerParathread: AugmentedSubmittable< + ( + paraId: u32 | AnyNumber | Uint8Array, + slotFrequency: TpTraitsSlotFrequency | { min?: any; max?: any } | string | Uint8Array, + genesisData: + | TpContainerChainGenesisDataContainerChainGenesisData + | { storage?: any; name?: any; id?: any; forkId?: any; extensions?: any; properties?: any } + | string + | Uint8Array + ) => SubmittableExtrinsic, + [u32, TpTraitsSlotFrequency, TpContainerChainGenesisDataContainerChainGenesisData] + >; + /** See [`Pallet::set_parathread_params`]. */ + setParathreadParams: AugmentedSubmittable< + ( + paraId: u32 | AnyNumber | Uint8Array, + slotFrequency: TpTraitsSlotFrequency | { min?: any; max?: any } | string | Uint8Array + ) => SubmittableExtrinsic, + [u32, TpTraitsSlotFrequency] + >; /** See [`Pallet::unpause_container_chain`]. */ unpauseContainerChain: AugmentedSubmittable< (paraId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, @@ -898,10 +920,9 @@ declare module "@polkadot/api-base/types/submittable" { purchaseCredits: AugmentedSubmittable< ( paraId: u32 | AnyNumber | Uint8Array, - credits: u32 | AnyNumber | Uint8Array, - maxPricePerCredit: Option | null | Uint8Array | u128 | AnyNumber + credit: u128 | AnyNumber | Uint8Array ) => SubmittableExtrinsic, - [u32, u32, Option] + [u32, u128] >; /** See [`Pallet::set_credits`]. */ setCredits: AugmentedSubmittable< @@ -919,6 +940,14 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [u32, bool] >; + /** See [`Pallet::set_refund_address`]. */ + setRefundAddress: AugmentedSubmittable< + ( + paraId: u32 | AnyNumber | Uint8Array, + refundAddress: Option | null | Uint8Array | AccountId32 | string + ) => SubmittableExtrinsic, + [u32, Option] + >; /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; @@ -1059,6 +1088,79 @@ declare module "@polkadot/api-base/types/submittable" { /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; + treasury: { + /** See [`Pallet::approve_proposal`]. */ + approveProposal: AugmentedSubmittable< + (proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [Compact] + >; + /** See [`Pallet::check_status`]. */ + checkStatus: AugmentedSubmittable< + (index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [u32] + >; + /** See [`Pallet::payout`]. */ + payout: AugmentedSubmittable<(index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; + /** See [`Pallet::propose_spend`]. */ + proposeSpend: AugmentedSubmittable< + ( + value: Compact | AnyNumber | Uint8Array, + beneficiary: + | MultiAddress + | { Id: any } + | { Index: any } + | { Raw: any } + | { Address32: any } + | { Address20: any } + | string + | Uint8Array + ) => SubmittableExtrinsic, + [Compact, MultiAddress] + >; + /** See [`Pallet::reject_proposal`]. */ + rejectProposal: AugmentedSubmittable< + (proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [Compact] + >; + /** See [`Pallet::remove_approval`]. */ + removeApproval: AugmentedSubmittable< + (proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [Compact] + >; + /** See [`Pallet::spend`]. */ + spend: AugmentedSubmittable< + ( + assetKind: Null | null, + amount: Compact | AnyNumber | Uint8Array, + beneficiary: AccountId32 | string | Uint8Array, + validFrom: Option | null | Uint8Array | u32 | AnyNumber + ) => SubmittableExtrinsic, + [Null, Compact, AccountId32, Option] + >; + /** See [`Pallet::spend_local`]. */ + spendLocal: AugmentedSubmittable< + ( + amount: Compact | AnyNumber | Uint8Array, + beneficiary: + | MultiAddress + | { Id: any } + | { Index: any } + | { Raw: any } + | { Address32: any } + | { Address20: any } + | string + | Uint8Array + ) => SubmittableExtrinsic, + [Compact, MultiAddress] + >; + /** See [`Pallet::void_spend`]. */ + voidSpend: AugmentedSubmittable< + (index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [u32] + >; + /** Generic tx */ + [key: string]: SubmittableExtrinsicFunction; + }; txPause: { /** See [`Pallet::pause`]. */ pause: AugmentedSubmittable< diff --git a/typescript-api/src/flashbox/interfaces/lookup.ts b/typescript-api/src/flashbox/interfaces/lookup.ts index b604a230d..9f554a43d 100644 --- a/typescript-api/src/flashbox/interfaces/lookup.ts +++ b/typescript-api/src/flashbox/interfaces/lookup.ts @@ -476,6 +476,9 @@ export default { ParaIdUnpaused: { paraId: "u32", }, + ParathreadParamsChanged: { + paraId: "u32", + }, }, }, /** Lookup53: pallet_collator_assignment::pallet::Event */ @@ -507,9 +510,7 @@ export default { CreditsPurchased: { paraId: "u32", payer: "AccountId32", - fee: "u128", - creditsPurchased: "u32", - creditsRemaining: "u32", + credit: "u128", }, CreditBurned: { paraId: "u32", @@ -519,6 +520,10 @@ export default { paraId: "u32", credits: "u32", }, + RefundAddressUpdated: { + paraId: "u32", + refundAddress: "Option", + }, }, }, /** Lookup56: pallet_data_preservers::pallet::Event */ @@ -568,11 +573,71 @@ export default { }, }, }, - /** Lookup61: pallet_root_testing::pallet::Event */ + /** Lookup61: pallet_treasury::pallet::Event */ + PalletTreasuryEvent: { + _enum: { + Proposed: { + proposalIndex: "u32", + }, + Spending: { + budgetRemaining: "u128", + }, + Awarded: { + proposalIndex: "u32", + award: "u128", + account: "AccountId32", + }, + Rejected: { + proposalIndex: "u32", + slashed: "u128", + }, + Burnt: { + burntFunds: "u128", + }, + Rollover: { + rolloverBalance: "u128", + }, + Deposit: { + value: "u128", + }, + SpendApproved: { + proposalIndex: "u32", + amount: "u128", + beneficiary: "AccountId32", + }, + UpdatedInactive: { + reactivated: "u128", + deactivated: "u128", + }, + AssetSpendApproved: { + index: "u32", + assetKind: "Null", + amount: "u128", + beneficiary: "AccountId32", + validFrom: "u32", + expireAt: "u32", + }, + AssetSpendVoided: { + index: "u32", + }, + Paid: { + index: "u32", + paymentId: "Null", + }, + PaymentFailed: { + index: "u32", + paymentId: "Null", + }, + SpendProcessed: { + index: "u32", + }, + }, + }, + /** Lookup62: pallet_root_testing::pallet::Event */ PalletRootTestingEvent: { _enum: ["DefensiveTestCall"], }, - /** Lookup62: frame_system::Phase */ + /** Lookup63: frame_system::Phase */ FrameSystemPhase: { _enum: { ApplyExtrinsic: "u32", @@ -580,17 +645,17 @@ export default { Initialization: "Null", }, }, - /** Lookup66: frame_system::LastRuntimeUpgradeInfo */ + /** Lookup67: frame_system::LastRuntimeUpgradeInfo */ FrameSystemLastRuntimeUpgradeInfo: { specVersion: "Compact", specName: "Text", }, - /** Lookup69: frame_system::CodeUpgradeAuthorization */ + /** Lookup70: frame_system::CodeUpgradeAuthorization */ FrameSystemCodeUpgradeAuthorization: { codeHash: "H256", checkVersion: "bool", }, - /** Lookup70: frame_system::pallet::Call */ + /** Lookup71: frame_system::pallet::Call */ FrameSystemCall: { _enum: { remark: { @@ -633,41 +698,41 @@ export default { }, }, }, - /** Lookup74: frame_system::limits::BlockWeights */ + /** Lookup75: frame_system::limits::BlockWeights */ FrameSystemLimitsBlockWeights: { baseBlock: "SpWeightsWeightV2Weight", maxBlock: "SpWeightsWeightV2Weight", perClass: "FrameSupportDispatchPerDispatchClassWeightsPerClass", }, - /** Lookup75: frame_support::dispatch::PerDispatchClass */ + /** Lookup76: frame_support::dispatch::PerDispatchClass */ FrameSupportDispatchPerDispatchClassWeightsPerClass: { normal: "FrameSystemLimitsWeightsPerClass", operational: "FrameSystemLimitsWeightsPerClass", mandatory: "FrameSystemLimitsWeightsPerClass", }, - /** Lookup76: frame_system::limits::WeightsPerClass */ + /** Lookup77: frame_system::limits::WeightsPerClass */ FrameSystemLimitsWeightsPerClass: { baseExtrinsic: "SpWeightsWeightV2Weight", maxExtrinsic: "Option", maxTotal: "Option", reserved: "Option", }, - /** Lookup78: frame_system::limits::BlockLength */ + /** Lookup79: frame_system::limits::BlockLength */ FrameSystemLimitsBlockLength: { max: "FrameSupportDispatchPerDispatchClassU32", }, - /** Lookup79: frame_support::dispatch::PerDispatchClass */ + /** Lookup80: frame_support::dispatch::PerDispatchClass */ FrameSupportDispatchPerDispatchClassU32: { normal: "u32", operational: "u32", mandatory: "u32", }, - /** Lookup80: sp_weights::RuntimeDbWeight */ + /** Lookup81: sp_weights::RuntimeDbWeight */ SpWeightsRuntimeDbWeight: { read: "u64", write: "u64", }, - /** Lookup81: sp_version::RuntimeVersion */ + /** Lookup82: sp_version::RuntimeVersion */ SpVersionRuntimeVersion: { specName: "Text", implName: "Text", @@ -678,7 +743,7 @@ export default { transactionVersion: "u32", stateVersion: "u8", }, - /** Lookup86: frame_system::pallet::Error */ + /** Lookup87: frame_system::pallet::Error */ FrameSystemError: { _enum: [ "InvalidSpecName", @@ -691,49 +756,49 @@ export default { "Unauthorized", ], }, - /** Lookup88: cumulus_pallet_parachain_system::unincluded_segment::Ancestor */ + /** Lookup89: cumulus_pallet_parachain_system::unincluded_segment::Ancestor */ CumulusPalletParachainSystemUnincludedSegmentAncestor: { usedBandwidth: "CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth", paraHeadHash: "Option", consumedGoAheadSignal: "Option", }, - /** Lookup89: cumulus_pallet_parachain_system::unincluded_segment::UsedBandwidth */ + /** Lookup90: cumulus_pallet_parachain_system::unincluded_segment::UsedBandwidth */ CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth: { umpMsgCount: "u32", umpTotalBytes: "u32", hrmpOutgoing: "BTreeMap", }, - /** Lookup91: cumulus_pallet_parachain_system::unincluded_segment::HrmpChannelUpdate */ + /** Lookup92: cumulus_pallet_parachain_system::unincluded_segment::HrmpChannelUpdate */ CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate: { msgCount: "u32", totalBytes: "u32", }, - /** Lookup96: polkadot_primitives::v6::UpgradeGoAhead */ + /** Lookup97: polkadot_primitives::v6::UpgradeGoAhead */ PolkadotPrimitivesV6UpgradeGoAhead: { _enum: ["Abort", "GoAhead"], }, - /** Lookup97: cumulus_pallet_parachain_system::unincluded_segment::SegmentTracker */ + /** Lookup98: cumulus_pallet_parachain_system::unincluded_segment::SegmentTracker */ CumulusPalletParachainSystemUnincludedSegmentSegmentTracker: { usedBandwidth: "CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth", hrmpWatermark: "Option", consumedGoAheadSignal: "Option", }, - /** Lookup99: polkadot_primitives::v6::PersistedValidationData */ + /** Lookup100: polkadot_primitives::v6::PersistedValidationData */ PolkadotPrimitivesV6PersistedValidationData: { parentHead: "Bytes", relayParentNumber: "u32", relayParentStorageRoot: "H256", maxPovSize: "u32", }, - /** Lookup102: polkadot_primitives::v6::UpgradeRestriction */ + /** Lookup103: polkadot_primitives::v6::UpgradeRestriction */ PolkadotPrimitivesV6UpgradeRestriction: { _enum: ["Present"], }, - /** Lookup103: sp_trie::storage_proof::StorageProof */ + /** Lookup104: sp_trie::storage_proof::StorageProof */ SpTrieStorageProof: { trieNodes: "BTreeSet", }, - /** Lookup105: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot */ + /** Lookup106: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot */ CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { dmqMqcHead: "H256", relayDispatchQueueRemainingCapacity: @@ -741,12 +806,12 @@ export default { ingressChannels: "Vec<(u32,PolkadotPrimitivesV6AbridgedHrmpChannel)>", egressChannels: "Vec<(u32,PolkadotPrimitivesV6AbridgedHrmpChannel)>", }, - /** Lookup106: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispatchQueueRemainingCapacity */ + /** Lookup107: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispatchQueueRemainingCapacity */ CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity: { remainingCount: "u32", remainingSize: "u32", }, - /** Lookup109: polkadot_primitives::v6::AbridgedHrmpChannel */ + /** Lookup110: polkadot_primitives::v6::AbridgedHrmpChannel */ PolkadotPrimitivesV6AbridgedHrmpChannel: { maxCapacity: "u32", maxTotalSize: "u32", @@ -755,7 +820,7 @@ export default { totalSize: "u32", mqcHead: "Option", }, - /** Lookup110: polkadot_primitives::v6::AbridgedHostConfiguration */ + /** Lookup111: polkadot_primitives::v6::AbridgedHostConfiguration */ PolkadotPrimitivesV6AbridgedHostConfiguration: { maxCodeSize: "u32", maxHeadDataSize: "u32", @@ -768,17 +833,17 @@ export default { validationUpgradeDelay: "u32", asyncBackingParams: "PolkadotPrimitivesV6AsyncBackingAsyncBackingParams", }, - /** Lookup111: polkadot_primitives::v6::async_backing::AsyncBackingParams */ + /** Lookup112: polkadot_primitives::v6::async_backing::AsyncBackingParams */ PolkadotPrimitivesV6AsyncBackingAsyncBackingParams: { maxCandidateDepth: "u32", allowedAncestryLen: "u32", }, - /** Lookup117: polkadot_core_primitives::OutboundHrmpMessage */ + /** Lookup118: polkadot_core_primitives::OutboundHrmpMessage */ PolkadotCorePrimitivesOutboundHrmpMessage: { recipient: "u32", data: "Bytes", }, - /** Lookup119: cumulus_pallet_parachain_system::pallet::Call */ + /** Lookup120: cumulus_pallet_parachain_system::pallet::Call */ CumulusPalletParachainSystemCall: { _enum: { set_validation_data: { @@ -796,24 +861,24 @@ export default { }, }, }, - /** Lookup120: cumulus_primitives_parachain_inherent::ParachainInherentData */ + /** Lookup121: cumulus_primitives_parachain_inherent::ParachainInherentData */ CumulusPrimitivesParachainInherentParachainInherentData: { validationData: "PolkadotPrimitivesV6PersistedValidationData", relayChainState: "SpTrieStorageProof", downwardMessages: "Vec", horizontalMessages: "BTreeMap>", }, - /** Lookup122: polkadot_core_primitives::InboundDownwardMessage */ + /** Lookup123: polkadot_core_primitives::InboundDownwardMessage */ PolkadotCorePrimitivesInboundDownwardMessage: { sentAt: "u32", msg: "Bytes", }, - /** Lookup125: polkadot_core_primitives::InboundHrmpMessage */ + /** Lookup126: polkadot_core_primitives::InboundHrmpMessage */ PolkadotCorePrimitivesInboundHrmpMessage: { sentAt: "u32", data: "Bytes", }, - /** Lookup128: cumulus_pallet_parachain_system::pallet::Error */ + /** Lookup129: cumulus_pallet_parachain_system::pallet::Error */ CumulusPalletParachainSystemError: { _enum: [ "OverlappingUpgrades", @@ -826,7 +891,7 @@ export default { "Unauthorized", ], }, - /** Lookup129: pallet_timestamp::pallet::Call */ + /** Lookup130: pallet_timestamp::pallet::Call */ PalletTimestampCall: { _enum: { set: { @@ -834,9 +899,9 @@ export default { }, }, }, - /** Lookup130: staging_parachain_info::pallet::Call */ + /** Lookup131: staging_parachain_info::pallet::Call */ StagingParachainInfoCall: "Null", - /** Lookup131: pallet_sudo::pallet::Call */ + /** Lookup132: pallet_sudo::pallet::Call */ PalletSudoCall: { _enum: { sudo: { @@ -859,7 +924,7 @@ export default { remove_key: "Null", }, }, - /** Lookup133: pallet_utility::pallet::Call */ + /** Lookup134: pallet_utility::pallet::Call */ PalletUtilityCall: { _enum: { batch: { @@ -885,14 +950,14 @@ export default { }, }, }, - /** Lookup135: flashbox_runtime::OriginCaller */ + /** Lookup136: flashbox_runtime::OriginCaller */ FlashboxRuntimeOriginCaller: { _enum: { system: "FrameSupportDispatchRawOrigin", Void: "SpCoreVoid", }, }, - /** Lookup136: frame_support::dispatch::RawOrigin */ + /** Lookup137: frame_support::dispatch::RawOrigin */ FrameSupportDispatchRawOrigin: { _enum: { Root: "Null", @@ -900,9 +965,9 @@ export default { None: "Null", }, }, - /** Lookup137: sp_core::Void */ + /** Lookup138: sp_core::Void */ SpCoreVoid: "Null", - /** Lookup138: pallet_proxy::pallet::Call */ + /** Lookup139: pallet_proxy::pallet::Call */ PalletProxyCall: { _enum: { proxy: { @@ -953,11 +1018,11 @@ export default { }, }, }, - /** Lookup143: pallet_maintenance_mode::pallet::Call */ + /** Lookup144: pallet_maintenance_mode::pallet::Call */ PalletMaintenanceModeCall: { _enum: ["enter_maintenance_mode", "resume_normal_operation"], }, - /** Lookup144: pallet_tx_pause::pallet::Call */ + /** Lookup145: pallet_tx_pause::pallet::Call */ PalletTxPauseCall: { _enum: { pause: { @@ -968,7 +1033,7 @@ export default { }, }, }, - /** Lookup145: pallet_balances::pallet::Call */ + /** Lookup146: pallet_balances::pallet::Call */ PalletBalancesCall: { _enum: { transfer_allow_death: { @@ -1003,7 +1068,7 @@ export default { }, }, }, - /** Lookup147: pallet_identity::pallet::Call */ + /** Lookup148: pallet_identity::pallet::Call */ PalletIdentityCall: { _enum: { add_registrar: { @@ -1086,7 +1151,7 @@ export default { }, }, }, - /** Lookup148: pallet_identity::legacy::IdentityInfo */ + /** Lookup149: pallet_identity::legacy::IdentityInfo */ PalletIdentityLegacyIdentityInfo: { additional: "Vec<(Data,Data)>", display: "Data", @@ -1098,7 +1163,7 @@ export default { image: "Data", twitter: "Data", }, - /** Lookup185: pallet_identity::types::Judgement */ + /** Lookup186: pallet_identity::types::Judgement */ PalletIdentityJudgement: { _enum: { Unknown: "Null", @@ -1110,7 +1175,7 @@ export default { Erroneous: "Null", }, }, - /** Lookup187: sp_runtime::MultiSignature */ + /** Lookup188: sp_runtime::MultiSignature */ SpRuntimeMultiSignature: { _enum: { Ed25519: "SpCoreEd25519Signature", @@ -1118,13 +1183,13 @@ export default { Ecdsa: "SpCoreEcdsaSignature", }, }, - /** Lookup188: sp_core::ed25519::Signature */ + /** Lookup189: sp_core::ed25519::Signature */ SpCoreEd25519Signature: "[u8;64]", - /** Lookup190: sp_core::sr25519::Signature */ + /** Lookup191: sp_core::sr25519::Signature */ SpCoreSr25519Signature: "[u8;64]", - /** Lookup191: sp_core::ecdsa::Signature */ + /** Lookup192: sp_core::ecdsa::Signature */ SpCoreEcdsaSignature: "[u8;65]", - /** Lookup193: pallet_registrar::pallet::Call */ + /** Lookup194: pallet_registrar::pallet::Call */ PalletRegistrarCall: { _enum: { register: { @@ -1144,9 +1209,18 @@ export default { unpause_container_chain: { paraId: "u32", }, + register_parathread: { + paraId: "u32", + slotFrequency: "TpTraitsSlotFrequency", + genesisData: "TpContainerChainGenesisDataContainerChainGenesisData", + }, + set_parathread_params: { + paraId: "u32", + slotFrequency: "TpTraitsSlotFrequency", + }, }, }, - /** Lookup194: tp_container_chain_genesis_data::ContainerChainGenesisData */ + /** Lookup195: tp_container_chain_genesis_data::ContainerChainGenesisData */ TpContainerChainGenesisDataContainerChainGenesisData: { storage: "Vec", name: "Bytes", @@ -1155,23 +1229,28 @@ export default { extensions: "Bytes", properties: "TpContainerChainGenesisDataProperties", }, - /** Lookup196: tp_container_chain_genesis_data::ContainerChainGenesisDataItem */ + /** Lookup197: tp_container_chain_genesis_data::ContainerChainGenesisDataItem */ TpContainerChainGenesisDataContainerChainGenesisDataItem: { key: "Bytes", value: "Bytes", }, - /** Lookup198: tp_container_chain_genesis_data::Properties */ + /** Lookup199: tp_container_chain_genesis_data::Properties */ TpContainerChainGenesisDataProperties: { tokenMetadata: "TpContainerChainGenesisDataTokenMetadata", isEthereum: "bool", }, - /** Lookup199: tp_container_chain_genesis_data::TokenMetadata */ + /** Lookup200: tp_container_chain_genesis_data::TokenMetadata */ TpContainerChainGenesisDataTokenMetadata: { tokenSymbol: "Bytes", ss58Format: "u32", tokenDecimals: "u32", }, - /** Lookup201: pallet_configuration::pallet::Call */ + /** Lookup202: tp_traits::SlotFrequency */ + TpTraitsSlotFrequency: { + min: "u32", + max: "u32", + }, + /** Lookup203: pallet_configuration::pallet::Call */ PalletConfigurationCall: { _enum: { set_max_collators: { @@ -1266,9 +1345,9 @@ export default { }, }, }, - /** Lookup203: pallet_collator_assignment::pallet::Call */ + /** Lookup205: pallet_collator_assignment::pallet::Call */ PalletCollatorAssignmentCall: "Null", - /** Lookup204: pallet_author_noting::pallet::Call */ + /** Lookup206: pallet_author_noting::pallet::Call */ PalletAuthorNotingCall: { _enum: { set_latest_author_data: { @@ -1284,19 +1363,18 @@ export default { }, }, }, - /** Lookup205: tp_author_noting_inherent::OwnParachainInherentData */ + /** Lookup207: tp_author_noting_inherent::OwnParachainInherentData */ TpAuthorNotingInherentOwnParachainInherentData: { relayStorageProof: "SpTrieStorageProof", }, - /** Lookup206: pallet_authority_assignment::pallet::Call */ + /** Lookup208: pallet_authority_assignment::pallet::Call */ PalletAuthorityAssignmentCall: "Null", - /** Lookup207: pallet_services_payment::pallet::Call */ + /** Lookup209: pallet_services_payment::pallet::Call */ PalletServicesPaymentCall: { _enum: { purchase_credits: { paraId: "u32", - credits: "u32", - maxPricePerCredit: "Option", + credit: "u128", }, set_credits: { paraId: "u32", @@ -1306,9 +1384,13 @@ export default { paraId: "u32", givenFreeCredits: "bool", }, + set_refund_address: { + paraId: "u32", + refundAddress: "Option", + }, }, }, - /** Lookup209: pallet_data_preservers::pallet::Call */ + /** Lookup210: pallet_data_preservers::pallet::Call */ PalletDataPreserversCall: { _enum: { set_boot_nodes: { @@ -1317,7 +1399,7 @@ export default { }, }, }, - /** Lookup213: pallet_invulnerables::pallet::Call */ + /** Lookup214: pallet_invulnerables::pallet::Call */ PalletInvulnerablesCall: { _enum: { set_invulnerables: { @@ -1334,7 +1416,7 @@ export default { }, }, }, - /** Lookup214: pallet_session::pallet::Call */ + /** Lookup215: pallet_session::pallet::Call */ PalletSessionCall: { _enum: { set_keys: { @@ -1347,19 +1429,56 @@ export default { purge_keys: "Null", }, }, - /** Lookup215: flashbox_runtime::SessionKeys */ + /** Lookup216: flashbox_runtime::SessionKeys */ FlashboxRuntimeSessionKeys: { nimbus: "NimbusPrimitivesNimbusCryptoPublic", }, - /** Lookup216: nimbus_primitives::nimbus_crypto::Public */ + /** Lookup217: nimbus_primitives::nimbus_crypto::Public */ NimbusPrimitivesNimbusCryptoPublic: "SpCoreSr25519Public", - /** Lookup217: sp_core::sr25519::Public */ + /** Lookup218: sp_core::sr25519::Public */ SpCoreSr25519Public: "[u8;32]", - /** Lookup218: pallet_author_inherent::pallet::Call */ + /** Lookup219: pallet_author_inherent::pallet::Call */ PalletAuthorInherentCall: { _enum: ["kick_off_authorship_validation"], }, - /** Lookup219: pallet_root_testing::pallet::Call */ + /** Lookup220: pallet_treasury::pallet::Call */ + PalletTreasuryCall: { + _enum: { + propose_spend: { + value: "Compact", + beneficiary: "MultiAddress", + }, + reject_proposal: { + proposalId: "Compact", + }, + approve_proposal: { + proposalId: "Compact", + }, + spend_local: { + amount: "Compact", + beneficiary: "MultiAddress", + }, + remove_approval: { + proposalId: "Compact", + }, + spend: { + assetKind: "Null", + amount: "Compact", + beneficiary: "AccountId32", + validFrom: "Option", + }, + payout: { + index: "u32", + }, + check_status: { + index: "u32", + }, + void_spend: { + index: "u32", + }, + }, + }, + /** Lookup221: pallet_root_testing::pallet::Call */ PalletRootTestingCall: { _enum: { fill_block: { @@ -1368,27 +1487,27 @@ export default { trigger_defensive: "Null", }, }, - /** Lookup220: pallet_sudo::pallet::Error */ + /** Lookup222: pallet_sudo::pallet::Error */ PalletSudoError: { _enum: ["RequireSudo"], }, - /** Lookup221: pallet_utility::pallet::Error */ + /** Lookup223: pallet_utility::pallet::Error */ PalletUtilityError: { _enum: ["TooManyCalls"], }, - /** Lookup224: pallet_proxy::ProxyDefinition */ + /** Lookup226: pallet_proxy::ProxyDefinition */ PalletProxyProxyDefinition: { delegate: "AccountId32", proxyType: "FlashboxRuntimeProxyType", delay: "u32", }, - /** Lookup228: pallet_proxy::Announcement */ + /** Lookup230: pallet_proxy::Announcement */ PalletProxyAnnouncement: { real: "AccountId32", callHash: "H256", height: "u32", }, - /** Lookup230: pallet_proxy::pallet::Error */ + /** Lookup232: pallet_proxy::pallet::Error */ PalletProxyError: { _enum: [ "TooMany", @@ -1401,41 +1520,41 @@ export default { "NoSelfProxy", ], }, - /** Lookup231: pallet_migrations::pallet::Error */ + /** Lookup233: pallet_migrations::pallet::Error */ PalletMigrationsError: { _enum: ["PreimageMissing", "WrongUpperBound", "PreimageIsTooBig", "PreimageAlreadyExists"], }, - /** Lookup232: pallet_maintenance_mode::pallet::Error */ + /** Lookup234: pallet_maintenance_mode::pallet::Error */ PalletMaintenanceModeError: { _enum: ["AlreadyInMaintenanceMode", "NotInMaintenanceMode"], }, - /** Lookup233: pallet_tx_pause::pallet::Error */ + /** Lookup235: pallet_tx_pause::pallet::Error */ PalletTxPauseError: { _enum: ["IsPaused", "IsUnpaused", "Unpausable", "NotFound"], }, - /** Lookup235: pallet_balances::types::BalanceLock */ + /** Lookup237: pallet_balances::types::BalanceLock */ PalletBalancesBalanceLock: { id: "[u8;8]", amount: "u128", reasons: "PalletBalancesReasons", }, - /** Lookup236: pallet_balances::types::Reasons */ + /** Lookup238: pallet_balances::types::Reasons */ PalletBalancesReasons: { _enum: ["Fee", "Misc", "All"], }, - /** Lookup239: pallet_balances::types::ReserveData */ + /** Lookup241: pallet_balances::types::ReserveData */ PalletBalancesReserveData: { id: "[u8;8]", amount: "u128", }, - /** Lookup243: flashbox_runtime::RuntimeHoldReason */ + /** Lookup245: flashbox_runtime::RuntimeHoldReason */ FlashboxRuntimeRuntimeHoldReason: "Null", - /** Lookup246: pallet_balances::types::IdAmount */ + /** Lookup248: pallet_balances::types::IdAmount */ PalletBalancesIdAmount: { id: "[u8;8]", amount: "u128", }, - /** Lookup248: pallet_balances::pallet::Error */ + /** Lookup250: pallet_balances::pallet::Error */ PalletBalancesError: { _enum: [ "VestingBalance", @@ -1450,28 +1569,28 @@ export default { "TooManyFreezes", ], }, - /** Lookup249: pallet_transaction_payment::Releases */ + /** Lookup251: pallet_transaction_payment::Releases */ PalletTransactionPaymentReleases: { _enum: ["V1Ancient", "V2"], }, - /** Lookup251: pallet_identity::types::Registration> */ + /** Lookup253: pallet_identity::types::Registration> */ PalletIdentityRegistration: { judgements: "Vec<(u32,PalletIdentityJudgement)>", deposit: "u128", info: "PalletIdentityLegacyIdentityInfo", }, - /** Lookup260: pallet_identity::types::RegistrarInfo */ + /** Lookup262: pallet_identity::types::RegistrarInfo */ PalletIdentityRegistrarInfo: { account: "AccountId32", fee: "u128", fields: "u64", }, - /** Lookup262: pallet_identity::types::AuthorityProperties> */ + /** Lookup264: pallet_identity::types::AuthorityProperties> */ PalletIdentityAuthorityProperties: { suffix: "Bytes", allocation: "u32", }, - /** Lookup265: pallet_identity::pallet::Error */ + /** Lookup267: pallet_identity::pallet::Error */ PalletIdentityError: { _enum: [ "TooManySubAccounts", @@ -1502,12 +1621,16 @@ export default { "NotExpired", ], }, - /** Lookup270: pallet_registrar::pallet::DepositInfo */ + /** Lookup272: tp_traits::ParathreadParams */ + TpTraitsParathreadParams: { + slotFrequency: "TpTraitsSlotFrequency", + }, + /** Lookup278: pallet_registrar::pallet::DepositInfo */ PalletRegistrarDepositInfo: { creator: "AccountId32", deposit: "u128", }, - /** Lookup271: pallet_registrar::pallet::Error */ + /** Lookup279: pallet_registrar::pallet::Error */ PalletRegistrarError: { _enum: [ "ParaIdAlreadyRegistered", @@ -1519,9 +1642,10 @@ export default { "GenesisDataTooBig", "ParaIdNotInPendingVerification", "NotSufficientDeposit", + "NotAParathread", ], }, - /** Lookup272: pallet_configuration::HostConfiguration */ + /** Lookup280: pallet_configuration::HostConfiguration */ PalletConfigurationHostConfiguration: { maxCollators: "u32", minOrchestratorCollators: "u32", @@ -1532,21 +1656,21 @@ export default { parathreadsPerCollator: "u32", targetContainerChainFullness: "Perbill", }, - /** Lookup275: pallet_configuration::pallet::Error */ + /** Lookup283: pallet_configuration::pallet::Error */ PalletConfigurationError: { _enum: ["InvalidNewValue"], }, - /** Lookup276: dp_collator_assignment::AssignedCollators */ + /** Lookup284: dp_collator_assignment::AssignedCollators */ DpCollatorAssignmentAssignedCollatorsAccountId32: { orchestratorChain: "Vec", containerChains: "BTreeMap>", }, - /** Lookup281: pallet_author_noting::pallet::ContainerChainBlockInfo */ + /** Lookup289: pallet_author_noting::pallet::ContainerChainBlockInfo */ PalletAuthorNotingContainerChainBlockInfo: { blockNumber: "u32", author: "AccountId32", }, - /** Lookup282: pallet_author_noting::pallet::Error */ + /** Lookup290: pallet_author_noting::pallet::Error */ PalletAuthorNotingError: { _enum: [ "FailedReading", @@ -1558,52 +1682,97 @@ export default { "NonAuraDigest", ], }, - /** Lookup283: dp_collator_assignment::AssignedCollators */ + /** Lookup291: dp_collator_assignment::AssignedCollators */ DpCollatorAssignmentAssignedCollatorsPublic: { orchestratorChain: "Vec", containerChains: "BTreeMap>", }, - /** Lookup288: pallet_services_payment::pallet::Error */ + /** Lookup296: pallet_services_payment::pallet::Error */ PalletServicesPaymentError: { _enum: ["InsufficientFundsToPurchaseCredits", "InsufficientCredits", "CreditPriceTooExpensive"], }, - /** Lookup289: pallet_data_preservers::pallet::Error */ + /** Lookup297: pallet_data_preservers::pallet::Error */ PalletDataPreserversError: { _enum: ["NoBootNodes"], }, - /** Lookup291: pallet_invulnerables::pallet::Error */ + /** Lookup299: pallet_invulnerables::pallet::Error */ PalletInvulnerablesError: { - _enum: ["TooManyInvulnerables", "AlreadyInvulnerable", "NotInvulnerable"], + _enum: ["TooManyInvulnerables", "AlreadyInvulnerable", "NotInvulnerable", "NoKeysRegistered"], }, - /** Lookup296: sp_core::crypto::KeyTypeId */ + /** Lookup304: sp_core::crypto::KeyTypeId */ SpCoreCryptoKeyTypeId: "[u8;4]", - /** Lookup297: pallet_session::pallet::Error */ + /** Lookup305: pallet_session::pallet::Error */ PalletSessionError: { _enum: ["InvalidProof", "NoAssociatedValidatorId", "DuplicatedKey", "NoKeys", "NoAccount"], }, - /** Lookup301: pallet_author_inherent::pallet::Error */ + /** Lookup309: pallet_author_inherent::pallet::Error */ PalletAuthorInherentError: { _enum: ["AuthorAlreadySet", "NoAccountId", "CannotBeAuthor"], }, - /** Lookup302: pallet_inflation_rewards::pallet::ChainsToRewardValue */ + /** Lookup310: pallet_inflation_rewards::pallet::ChainsToRewardValue */ PalletInflationRewardsChainsToRewardValue: { paraIds: "Vec", rewardsPerChain: "u128", }, - /** Lookup308: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender */ + /** Lookup311: pallet_treasury::Proposal */ + PalletTreasuryProposal: { + proposer: "AccountId32", + value: "u128", + beneficiary: "AccountId32", + bond: "u128", + }, + /** Lookup313: pallet_treasury::SpendStatus */ + PalletTreasurySpendStatus: { + assetKind: "Null", + amount: "u128", + beneficiary: "AccountId32", + validFrom: "u32", + expireAt: "u32", + status: "PalletTreasuryPaymentState", + }, + /** Lookup314: pallet_treasury::PaymentState */ + PalletTreasuryPaymentState: { + _enum: { + Pending: "Null", + Attempted: { + id: "Null", + }, + Failed: "Null", + }, + }, + /** Lookup317: frame_support::PalletId */ + FrameSupportPalletId: "[u8;8]", + /** Lookup318: pallet_treasury::pallet::Error */ + PalletTreasuryError: { + _enum: [ + "InsufficientProposersBalance", + "InvalidIndex", + "TooManyApprovals", + "InsufficientPermission", + "ProposalNotApproved", + "FailedToConvertBalance", + "SpendExpired", + "EarlyPayout", + "AlreadyAttempted", + "PayoutError", + "NotAttempted", + "Inconclusive", + ], + }, + /** Lookup324: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender */ FrameSystemExtensionsCheckNonZeroSender: "Null", - /** Lookup309: frame_system::extensions::check_spec_version::CheckSpecVersion */ + /** Lookup325: frame_system::extensions::check_spec_version::CheckSpecVersion */ FrameSystemExtensionsCheckSpecVersion: "Null", - /** Lookup310: frame_system::extensions::check_tx_version::CheckTxVersion */ + /** Lookup326: frame_system::extensions::check_tx_version::CheckTxVersion */ FrameSystemExtensionsCheckTxVersion: "Null", - /** Lookup311: frame_system::extensions::check_genesis::CheckGenesis */ + /** Lookup327: frame_system::extensions::check_genesis::CheckGenesis */ FrameSystemExtensionsCheckGenesis: "Null", - /** Lookup314: frame_system::extensions::check_nonce::CheckNonce */ + /** Lookup330: frame_system::extensions::check_nonce::CheckNonce */ FrameSystemExtensionsCheckNonce: "Compact", - /** Lookup315: frame_system::extensions::check_weight::CheckWeight */ + /** Lookup331: frame_system::extensions::check_weight::CheckWeight */ FrameSystemExtensionsCheckWeight: "Null", - /** Lookup316: pallet_transaction_payment::ChargeTransactionPayment */ + /** Lookup332: pallet_transaction_payment::ChargeTransactionPayment */ PalletTransactionPaymentChargeTransactionPayment: "Compact", - /** Lookup317: flashbox_runtime::Runtime */ + /** Lookup333: flashbox_runtime::Runtime */ FlashboxRuntimeRuntime: "Null", }; diff --git a/typescript-api/src/flashbox/interfaces/registry.ts b/typescript-api/src/flashbox/interfaces/registry.ts index b48936727..116d1b8da 100644 --- a/typescript-api/src/flashbox/interfaces/registry.ts +++ b/typescript-api/src/flashbox/interfaces/registry.ts @@ -30,6 +30,7 @@ import type { FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, + FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, @@ -114,6 +115,12 @@ import type { PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, + PalletTreasuryCall, + PalletTreasuryError, + PalletTreasuryEvent, + PalletTreasuryPaymentState, + PalletTreasuryProposal, + PalletTreasurySpendStatus, PalletTxPauseCall, PalletTxPauseError, PalletTxPauseEvent, @@ -153,6 +160,8 @@ import type { TpContainerChainGenesisDataContainerChainGenesisDataItem, TpContainerChainGenesisDataProperties, TpContainerChainGenesisDataTokenMetadata, + TpTraitsParathreadParams, + TpTraitsSlotFrequency, } from "@polkadot/types/lookup"; declare module "@polkadot/types/types/registry" { @@ -181,6 +190,7 @@ declare module "@polkadot/types/types/registry" { FrameSupportDispatchPerDispatchClassWeight: FrameSupportDispatchPerDispatchClassWeight; FrameSupportDispatchPerDispatchClassWeightsPerClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; FrameSupportDispatchRawOrigin: FrameSupportDispatchRawOrigin; + FrameSupportPalletId: FrameSupportPalletId; FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus; FrameSystemAccountInfo: FrameSystemAccountInfo; FrameSystemCall: FrameSystemCall; @@ -265,6 +275,12 @@ declare module "@polkadot/types/types/registry" { PalletTransactionPaymentChargeTransactionPayment: PalletTransactionPaymentChargeTransactionPayment; PalletTransactionPaymentEvent: PalletTransactionPaymentEvent; PalletTransactionPaymentReleases: PalletTransactionPaymentReleases; + PalletTreasuryCall: PalletTreasuryCall; + PalletTreasuryError: PalletTreasuryError; + PalletTreasuryEvent: PalletTreasuryEvent; + PalletTreasuryPaymentState: PalletTreasuryPaymentState; + PalletTreasuryProposal: PalletTreasuryProposal; + PalletTreasurySpendStatus: PalletTreasurySpendStatus; PalletTxPauseCall: PalletTxPauseCall; PalletTxPauseError: PalletTxPauseError; PalletTxPauseEvent: PalletTxPauseEvent; @@ -304,5 +320,7 @@ declare module "@polkadot/types/types/registry" { TpContainerChainGenesisDataContainerChainGenesisDataItem: TpContainerChainGenesisDataContainerChainGenesisDataItem; TpContainerChainGenesisDataProperties: TpContainerChainGenesisDataProperties; TpContainerChainGenesisDataTokenMetadata: TpContainerChainGenesisDataTokenMetadata; + TpTraitsParathreadParams: TpTraitsParathreadParams; + TpTraitsSlotFrequency: TpTraitsSlotFrequency; } // InterfaceTypes } // declare module diff --git a/typescript-api/src/flashbox/interfaces/types-lookup.ts b/typescript-api/src/flashbox/interfaces/types-lookup.ts index 7dd3319a0..394a2846f 100644 --- a/typescript-api/src/flashbox/interfaces/types-lookup.ts +++ b/typescript-api/src/flashbox/interfaces/types-lookup.ts @@ -707,12 +707,17 @@ declare module "@polkadot/types/lookup" { readonly asParaIdUnpaused: { readonly paraId: u32; } & Struct; + readonly isParathreadParamsChanged: boolean; + readonly asParathreadParamsChanged: { + readonly paraId: u32; + } & Struct; readonly type: | "ParaIdRegistered" | "ParaIdDeregistered" | "ParaIdValidForCollating" | "ParaIdPaused" - | "ParaIdUnpaused"; + | "ParaIdUnpaused" + | "ParathreadParamsChanged"; } /** @name PalletCollatorAssignmentEvent (53) */ @@ -747,9 +752,7 @@ declare module "@polkadot/types/lookup" { readonly asCreditsPurchased: { readonly paraId: u32; readonly payer: AccountId32; - readonly fee: u128; - readonly creditsPurchased: u32; - readonly creditsRemaining: u32; + readonly credit: u128; } & Struct; readonly isCreditBurned: boolean; readonly asCreditBurned: { @@ -761,7 +764,12 @@ declare module "@polkadot/types/lookup" { readonly paraId: u32; readonly credits: u32; } & Struct; - readonly type: "CreditsPurchased" | "CreditBurned" | "CreditsSet"; + readonly isRefundAddressUpdated: boolean; + readonly asRefundAddressUpdated: { + readonly paraId: u32; + readonly refundAddress: Option; + } & Struct; + readonly type: "CreditsPurchased" | "CreditBurned" | "CreditsSet" | "RefundAddressUpdated"; } /** @name PalletDataPreserversEvent (56) */ @@ -819,13 +827,101 @@ declare module "@polkadot/types/lookup" { readonly type: "RewardedOrchestrator" | "RewardedContainer"; } - /** @name PalletRootTestingEvent (61) */ + /** @name PalletTreasuryEvent (61) */ + interface PalletTreasuryEvent extends Enum { + readonly isProposed: boolean; + readonly asProposed: { + readonly proposalIndex: u32; + } & Struct; + readonly isSpending: boolean; + readonly asSpending: { + readonly budgetRemaining: u128; + } & Struct; + readonly isAwarded: boolean; + readonly asAwarded: { + readonly proposalIndex: u32; + readonly award: u128; + readonly account: AccountId32; + } & Struct; + readonly isRejected: boolean; + readonly asRejected: { + readonly proposalIndex: u32; + readonly slashed: u128; + } & Struct; + readonly isBurnt: boolean; + readonly asBurnt: { + readonly burntFunds: u128; + } & Struct; + readonly isRollover: boolean; + readonly asRollover: { + readonly rolloverBalance: u128; + } & Struct; + readonly isDeposit: boolean; + readonly asDeposit: { + readonly value: u128; + } & Struct; + readonly isSpendApproved: boolean; + readonly asSpendApproved: { + readonly proposalIndex: u32; + readonly amount: u128; + readonly beneficiary: AccountId32; + } & Struct; + readonly isUpdatedInactive: boolean; + readonly asUpdatedInactive: { + readonly reactivated: u128; + readonly deactivated: u128; + } & Struct; + readonly isAssetSpendApproved: boolean; + readonly asAssetSpendApproved: { + readonly index: u32; + readonly assetKind: Null; + readonly amount: u128; + readonly beneficiary: AccountId32; + readonly validFrom: u32; + readonly expireAt: u32; + } & Struct; + readonly isAssetSpendVoided: boolean; + readonly asAssetSpendVoided: { + readonly index: u32; + } & Struct; + readonly isPaid: boolean; + readonly asPaid: { + readonly index: u32; + readonly paymentId: Null; + } & Struct; + readonly isPaymentFailed: boolean; + readonly asPaymentFailed: { + readonly index: u32; + readonly paymentId: Null; + } & Struct; + readonly isSpendProcessed: boolean; + readonly asSpendProcessed: { + readonly index: u32; + } & Struct; + readonly type: + | "Proposed" + | "Spending" + | "Awarded" + | "Rejected" + | "Burnt" + | "Rollover" + | "Deposit" + | "SpendApproved" + | "UpdatedInactive" + | "AssetSpendApproved" + | "AssetSpendVoided" + | "Paid" + | "PaymentFailed" + | "SpendProcessed"; + } + + /** @name PalletRootTestingEvent (62) */ interface PalletRootTestingEvent extends Enum { readonly isDefensiveTestCall: boolean; readonly type: "DefensiveTestCall"; } - /** @name FrameSystemPhase (62) */ + /** @name FrameSystemPhase (63) */ interface FrameSystemPhase extends Enum { readonly isApplyExtrinsic: boolean; readonly asApplyExtrinsic: u32; @@ -834,19 +930,19 @@ declare module "@polkadot/types/lookup" { readonly type: "ApplyExtrinsic" | "Finalization" | "Initialization"; } - /** @name FrameSystemLastRuntimeUpgradeInfo (66) */ + /** @name FrameSystemLastRuntimeUpgradeInfo (67) */ interface FrameSystemLastRuntimeUpgradeInfo extends Struct { readonly specVersion: Compact; readonly specName: Text; } - /** @name FrameSystemCodeUpgradeAuthorization (69) */ + /** @name FrameSystemCodeUpgradeAuthorization (70) */ interface FrameSystemCodeUpgradeAuthorization extends Struct { readonly codeHash: H256; readonly checkVersion: bool; } - /** @name FrameSystemCall (70) */ + /** @name FrameSystemCall (71) */ interface FrameSystemCall extends Enum { readonly isRemark: boolean; readonly asRemark: { @@ -907,21 +1003,21 @@ declare module "@polkadot/types/lookup" { | "ApplyAuthorizedUpgrade"; } - /** @name FrameSystemLimitsBlockWeights (74) */ + /** @name FrameSystemLimitsBlockWeights (75) */ interface FrameSystemLimitsBlockWeights extends Struct { readonly baseBlock: SpWeightsWeightV2Weight; readonly maxBlock: SpWeightsWeightV2Weight; readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; } - /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (75) */ + /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (76) */ interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { readonly normal: FrameSystemLimitsWeightsPerClass; readonly operational: FrameSystemLimitsWeightsPerClass; readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name FrameSystemLimitsWeightsPerClass (76) */ + /** @name FrameSystemLimitsWeightsPerClass (77) */ interface FrameSystemLimitsWeightsPerClass extends Struct { readonly baseExtrinsic: SpWeightsWeightV2Weight; readonly maxExtrinsic: Option; @@ -929,25 +1025,25 @@ declare module "@polkadot/types/lookup" { readonly reserved: Option; } - /** @name FrameSystemLimitsBlockLength (78) */ + /** @name FrameSystemLimitsBlockLength (79) */ interface FrameSystemLimitsBlockLength extends Struct { readonly max: FrameSupportDispatchPerDispatchClassU32; } - /** @name FrameSupportDispatchPerDispatchClassU32 (79) */ + /** @name FrameSupportDispatchPerDispatchClassU32 (80) */ interface FrameSupportDispatchPerDispatchClassU32 extends Struct { readonly normal: u32; readonly operational: u32; readonly mandatory: u32; } - /** @name SpWeightsRuntimeDbWeight (80) */ + /** @name SpWeightsRuntimeDbWeight (81) */ interface SpWeightsRuntimeDbWeight extends Struct { readonly read: u64; readonly write: u64; } - /** @name SpVersionRuntimeVersion (81) */ + /** @name SpVersionRuntimeVersion (82) */ interface SpVersionRuntimeVersion extends Struct { readonly specName: Text; readonly implName: Text; @@ -959,7 +1055,7 @@ declare module "@polkadot/types/lookup" { readonly stateVersion: u8; } - /** @name FrameSystemError (86) */ + /** @name FrameSystemError (87) */ interface FrameSystemError extends Enum { readonly isInvalidSpecName: boolean; readonly isSpecVersionNeedsToIncrease: boolean; @@ -980,41 +1076,41 @@ declare module "@polkadot/types/lookup" { | "Unauthorized"; } - /** @name CumulusPalletParachainSystemUnincludedSegmentAncestor (88) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentAncestor (89) */ interface CumulusPalletParachainSystemUnincludedSegmentAncestor extends Struct { readonly usedBandwidth: CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth; readonly paraHeadHash: Option; readonly consumedGoAheadSignal: Option; } - /** @name CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth (89) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth (90) */ interface CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth extends Struct { readonly umpMsgCount: u32; readonly umpTotalBytes: u32; readonly hrmpOutgoing: BTreeMap; } - /** @name CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate (91) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate (92) */ interface CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate extends Struct { readonly msgCount: u32; readonly totalBytes: u32; } - /** @name PolkadotPrimitivesV6UpgradeGoAhead (96) */ + /** @name PolkadotPrimitivesV6UpgradeGoAhead (97) */ interface PolkadotPrimitivesV6UpgradeGoAhead extends Enum { readonly isAbort: boolean; readonly isGoAhead: boolean; readonly type: "Abort" | "GoAhead"; } - /** @name CumulusPalletParachainSystemUnincludedSegmentSegmentTracker (97) */ + /** @name CumulusPalletParachainSystemUnincludedSegmentSegmentTracker (98) */ interface CumulusPalletParachainSystemUnincludedSegmentSegmentTracker extends Struct { readonly usedBandwidth: CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth; readonly hrmpWatermark: Option; readonly consumedGoAheadSignal: Option; } - /** @name PolkadotPrimitivesV6PersistedValidationData (99) */ + /** @name PolkadotPrimitivesV6PersistedValidationData (100) */ interface PolkadotPrimitivesV6PersistedValidationData extends Struct { readonly parentHead: Bytes; readonly relayParentNumber: u32; @@ -1022,18 +1118,18 @@ declare module "@polkadot/types/lookup" { readonly maxPovSize: u32; } - /** @name PolkadotPrimitivesV6UpgradeRestriction (102) */ + /** @name PolkadotPrimitivesV6UpgradeRestriction (103) */ interface PolkadotPrimitivesV6UpgradeRestriction extends Enum { readonly isPresent: boolean; readonly type: "Present"; } - /** @name SpTrieStorageProof (103) */ + /** @name SpTrieStorageProof (104) */ interface SpTrieStorageProof extends Struct { readonly trieNodes: BTreeSet; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (105) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (106) */ interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { readonly dmqMqcHead: H256; readonly relayDispatchQueueRemainingCapacity: CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity; @@ -1041,13 +1137,13 @@ declare module "@polkadot/types/lookup" { readonly egressChannels: Vec>; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity (106) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity (107) */ interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity extends Struct { readonly remainingCount: u32; readonly remainingSize: u32; } - /** @name PolkadotPrimitivesV6AbridgedHrmpChannel (109) */ + /** @name PolkadotPrimitivesV6AbridgedHrmpChannel (110) */ interface PolkadotPrimitivesV6AbridgedHrmpChannel extends Struct { readonly maxCapacity: u32; readonly maxTotalSize: u32; @@ -1057,7 +1153,7 @@ declare module "@polkadot/types/lookup" { readonly mqcHead: Option; } - /** @name PolkadotPrimitivesV6AbridgedHostConfiguration (110) */ + /** @name PolkadotPrimitivesV6AbridgedHostConfiguration (111) */ interface PolkadotPrimitivesV6AbridgedHostConfiguration extends Struct { readonly maxCodeSize: u32; readonly maxHeadDataSize: u32; @@ -1071,19 +1167,19 @@ declare module "@polkadot/types/lookup" { readonly asyncBackingParams: PolkadotPrimitivesV6AsyncBackingAsyncBackingParams; } - /** @name PolkadotPrimitivesV6AsyncBackingAsyncBackingParams (111) */ + /** @name PolkadotPrimitivesV6AsyncBackingAsyncBackingParams (112) */ interface PolkadotPrimitivesV6AsyncBackingAsyncBackingParams extends Struct { readonly maxCandidateDepth: u32; readonly allowedAncestryLen: u32; } - /** @name PolkadotCorePrimitivesOutboundHrmpMessage (117) */ + /** @name PolkadotCorePrimitivesOutboundHrmpMessage (118) */ interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { readonly recipient: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemCall (119) */ + /** @name CumulusPalletParachainSystemCall (120) */ interface CumulusPalletParachainSystemCall extends Enum { readonly isSetValidationData: boolean; readonly asSetValidationData: { @@ -1105,7 +1201,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetValidationData" | "SudoSendUpwardMessage" | "AuthorizeUpgrade" | "EnactAuthorizedUpgrade"; } - /** @name CumulusPrimitivesParachainInherentParachainInherentData (120) */ + /** @name CumulusPrimitivesParachainInherentParachainInherentData (121) */ interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { readonly validationData: PolkadotPrimitivesV6PersistedValidationData; readonly relayChainState: SpTrieStorageProof; @@ -1113,19 +1209,19 @@ declare module "@polkadot/types/lookup" { readonly horizontalMessages: BTreeMap>; } - /** @name PolkadotCorePrimitivesInboundDownwardMessage (122) */ + /** @name PolkadotCorePrimitivesInboundDownwardMessage (123) */ interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { readonly sentAt: u32; readonly msg: Bytes; } - /** @name PolkadotCorePrimitivesInboundHrmpMessage (125) */ + /** @name PolkadotCorePrimitivesInboundHrmpMessage (126) */ interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { readonly sentAt: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemError (128) */ + /** @name CumulusPalletParachainSystemError (129) */ interface CumulusPalletParachainSystemError extends Enum { readonly isOverlappingUpgrades: boolean; readonly isProhibitedByPolkadot: boolean; @@ -1146,7 +1242,7 @@ declare module "@polkadot/types/lookup" { | "Unauthorized"; } - /** @name PalletTimestampCall (129) */ + /** @name PalletTimestampCall (130) */ interface PalletTimestampCall extends Enum { readonly isSet: boolean; readonly asSet: { @@ -1155,10 +1251,10 @@ declare module "@polkadot/types/lookup" { readonly type: "Set"; } - /** @name StagingParachainInfoCall (130) */ + /** @name StagingParachainInfoCall (131) */ type StagingParachainInfoCall = Null; - /** @name PalletSudoCall (131) */ + /** @name PalletSudoCall (132) */ interface PalletSudoCall extends Enum { readonly isSudo: boolean; readonly asSudo: { @@ -1182,7 +1278,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Sudo" | "SudoUncheckedWeight" | "SetKey" | "SudoAs" | "RemoveKey"; } - /** @name PalletUtilityCall (133) */ + /** @name PalletUtilityCall (134) */ interface PalletUtilityCall extends Enum { readonly isBatch: boolean; readonly asBatch: { @@ -1214,7 +1310,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Batch" | "AsDerivative" | "BatchAll" | "DispatchAs" | "ForceBatch" | "WithWeight"; } - /** @name FlashboxRuntimeOriginCaller (135) */ + /** @name FlashboxRuntimeOriginCaller (136) */ interface FlashboxRuntimeOriginCaller extends Enum { readonly isSystem: boolean; readonly asSystem: FrameSupportDispatchRawOrigin; @@ -1222,7 +1318,7 @@ declare module "@polkadot/types/lookup" { readonly type: "System" | "Void"; } - /** @name FrameSupportDispatchRawOrigin (136) */ + /** @name FrameSupportDispatchRawOrigin (137) */ interface FrameSupportDispatchRawOrigin extends Enum { readonly isRoot: boolean; readonly isSigned: boolean; @@ -1231,10 +1327,10 @@ declare module "@polkadot/types/lookup" { readonly type: "Root" | "Signed" | "None"; } - /** @name SpCoreVoid (137) */ + /** @name SpCoreVoid (138) */ type SpCoreVoid = Null; - /** @name PalletProxyCall (138) */ + /** @name PalletProxyCall (139) */ interface PalletProxyCall extends Enum { readonly isProxy: boolean; readonly asProxy: { @@ -1304,14 +1400,14 @@ declare module "@polkadot/types/lookup" { | "ProxyAnnounced"; } - /** @name PalletMaintenanceModeCall (143) */ + /** @name PalletMaintenanceModeCall (144) */ interface PalletMaintenanceModeCall extends Enum { readonly isEnterMaintenanceMode: boolean; readonly isResumeNormalOperation: boolean; readonly type: "EnterMaintenanceMode" | "ResumeNormalOperation"; } - /** @name PalletTxPauseCall (144) */ + /** @name PalletTxPauseCall (145) */ interface PalletTxPauseCall extends Enum { readonly isPause: boolean; readonly asPause: { @@ -1324,7 +1420,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Pause" | "Unpause"; } - /** @name PalletBalancesCall (145) */ + /** @name PalletBalancesCall (146) */ interface PalletBalancesCall extends Enum { readonly isTransferAllowDeath: boolean; readonly asTransferAllowDeath: { @@ -1371,7 +1467,7 @@ declare module "@polkadot/types/lookup" { | "ForceSetBalance"; } - /** @name PalletIdentityCall (147) */ + /** @name PalletIdentityCall (148) */ interface PalletIdentityCall extends Enum { readonly isAddRegistrar: boolean; readonly asAddRegistrar: { @@ -1493,7 +1589,7 @@ declare module "@polkadot/types/lookup" { | "RemoveDanglingUsername"; } - /** @name PalletIdentityLegacyIdentityInfo (148) */ + /** @name PalletIdentityLegacyIdentityInfo (149) */ interface PalletIdentityLegacyIdentityInfo extends Struct { readonly additional: Vec>; readonly display: Data; @@ -1506,7 +1602,7 @@ declare module "@polkadot/types/lookup" { readonly twitter: Data; } - /** @name PalletIdentityJudgement (185) */ + /** @name PalletIdentityJudgement (186) */ interface PalletIdentityJudgement extends Enum { readonly isUnknown: boolean; readonly isFeePaid: boolean; @@ -1519,7 +1615,7 @@ declare module "@polkadot/types/lookup" { readonly type: "Unknown" | "FeePaid" | "Reasonable" | "KnownGood" | "OutOfDate" | "LowQuality" | "Erroneous"; } - /** @name SpRuntimeMultiSignature (187) */ + /** @name SpRuntimeMultiSignature (188) */ interface SpRuntimeMultiSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -1530,16 +1626,16 @@ declare module "@polkadot/types/lookup" { readonly type: "Ed25519" | "Sr25519" | "Ecdsa"; } - /** @name SpCoreEd25519Signature (188) */ + /** @name SpCoreEd25519Signature (189) */ interface SpCoreEd25519Signature extends U8aFixed {} - /** @name SpCoreSr25519Signature (190) */ + /** @name SpCoreSr25519Signature (191) */ interface SpCoreSr25519Signature extends U8aFixed {} - /** @name SpCoreEcdsaSignature (191) */ + /** @name SpCoreEcdsaSignature (192) */ interface SpCoreEcdsaSignature extends U8aFixed {} - /** @name PalletRegistrarCall (193) */ + /** @name PalletRegistrarCall (194) */ interface PalletRegistrarCall extends Enum { readonly isRegister: boolean; readonly asRegister: { @@ -1562,15 +1658,28 @@ declare module "@polkadot/types/lookup" { readonly asUnpauseContainerChain: { readonly paraId: u32; } & Struct; + readonly isRegisterParathread: boolean; + readonly asRegisterParathread: { + readonly paraId: u32; + readonly slotFrequency: TpTraitsSlotFrequency; + readonly genesisData: TpContainerChainGenesisDataContainerChainGenesisData; + } & Struct; + readonly isSetParathreadParams: boolean; + readonly asSetParathreadParams: { + readonly paraId: u32; + readonly slotFrequency: TpTraitsSlotFrequency; + } & Struct; readonly type: | "Register" | "Deregister" | "MarkValidForCollating" | "PauseContainerChain" - | "UnpauseContainerChain"; + | "UnpauseContainerChain" + | "RegisterParathread" + | "SetParathreadParams"; } - /** @name TpContainerChainGenesisDataContainerChainGenesisData (194) */ + /** @name TpContainerChainGenesisDataContainerChainGenesisData (195) */ interface TpContainerChainGenesisDataContainerChainGenesisData extends Struct { readonly storage: Vec; readonly name: Bytes; @@ -1580,26 +1689,32 @@ declare module "@polkadot/types/lookup" { readonly properties: TpContainerChainGenesisDataProperties; } - /** @name TpContainerChainGenesisDataContainerChainGenesisDataItem (196) */ + /** @name TpContainerChainGenesisDataContainerChainGenesisDataItem (197) */ interface TpContainerChainGenesisDataContainerChainGenesisDataItem extends Struct { readonly key: Bytes; readonly value: Bytes; } - /** @name TpContainerChainGenesisDataProperties (198) */ + /** @name TpContainerChainGenesisDataProperties (199) */ interface TpContainerChainGenesisDataProperties extends Struct { readonly tokenMetadata: TpContainerChainGenesisDataTokenMetadata; readonly isEthereum: bool; } - /** @name TpContainerChainGenesisDataTokenMetadata (199) */ + /** @name TpContainerChainGenesisDataTokenMetadata (200) */ interface TpContainerChainGenesisDataTokenMetadata extends Struct { readonly tokenSymbol: Bytes; readonly ss58Format: u32; readonly tokenDecimals: u32; } - /** @name PalletConfigurationCall (201) */ + /** @name TpTraitsSlotFrequency (202) */ + interface TpTraitsSlotFrequency extends Struct { + readonly min: u32; + readonly max: u32; + } + + /** @name PalletConfigurationCall (203) */ interface PalletConfigurationCall extends Enum { readonly isSetMaxCollators: boolean; readonly asSetMaxCollators: { @@ -1649,10 +1764,10 @@ declare module "@polkadot/types/lookup" { | "SetBypassConsistencyCheck"; } - /** @name PalletCollatorAssignmentCall (203) */ + /** @name PalletCollatorAssignmentCall (205) */ type PalletCollatorAssignmentCall = Null; - /** @name PalletAuthorNotingCall (204) */ + /** @name PalletAuthorNotingCall (206) */ interface PalletAuthorNotingCall extends Enum { readonly isSetLatestAuthorData: boolean; readonly asSetLatestAuthorData: { @@ -1671,21 +1786,20 @@ declare module "@polkadot/types/lookup" { readonly type: "SetLatestAuthorData" | "SetAuthor" | "KillAuthorData"; } - /** @name TpAuthorNotingInherentOwnParachainInherentData (205) */ + /** @name TpAuthorNotingInherentOwnParachainInherentData (207) */ interface TpAuthorNotingInherentOwnParachainInherentData extends Struct { readonly relayStorageProof: SpTrieStorageProof; } - /** @name PalletAuthorityAssignmentCall (206) */ + /** @name PalletAuthorityAssignmentCall (208) */ type PalletAuthorityAssignmentCall = Null; - /** @name PalletServicesPaymentCall (207) */ + /** @name PalletServicesPaymentCall (209) */ interface PalletServicesPaymentCall extends Enum { readonly isPurchaseCredits: boolean; readonly asPurchaseCredits: { readonly paraId: u32; - readonly credits: u32; - readonly maxPricePerCredit: Option; + readonly credit: u128; } & Struct; readonly isSetCredits: boolean; readonly asSetCredits: { @@ -1697,10 +1811,15 @@ declare module "@polkadot/types/lookup" { readonly paraId: u32; readonly givenFreeCredits: bool; } & Struct; - readonly type: "PurchaseCredits" | "SetCredits" | "SetGivenFreeCredits"; + readonly isSetRefundAddress: boolean; + readonly asSetRefundAddress: { + readonly paraId: u32; + readonly refundAddress: Option; + } & Struct; + readonly type: "PurchaseCredits" | "SetCredits" | "SetGivenFreeCredits" | "SetRefundAddress"; } - /** @name PalletDataPreserversCall (209) */ + /** @name PalletDataPreserversCall (210) */ interface PalletDataPreserversCall extends Enum { readonly isSetBootNodes: boolean; readonly asSetBootNodes: { @@ -1710,7 +1829,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetBootNodes"; } - /** @name PalletInvulnerablesCall (213) */ + /** @name PalletInvulnerablesCall (214) */ interface PalletInvulnerablesCall extends Enum { readonly isSetInvulnerables: boolean; readonly asSetInvulnerables: { @@ -1727,7 +1846,7 @@ declare module "@polkadot/types/lookup" { readonly type: "SetInvulnerables" | "AddInvulnerable" | "RemoveInvulnerable"; } - /** @name PalletSessionCall (214) */ + /** @name PalletSessionCall (215) */ interface PalletSessionCall extends Enum { readonly isSetKeys: boolean; readonly asSetKeys: { @@ -1738,24 +1857,79 @@ declare module "@polkadot/types/lookup" { readonly type: "SetKeys" | "PurgeKeys"; } - /** @name FlashboxRuntimeSessionKeys (215) */ + /** @name FlashboxRuntimeSessionKeys (216) */ interface FlashboxRuntimeSessionKeys extends Struct { readonly nimbus: NimbusPrimitivesNimbusCryptoPublic; } - /** @name NimbusPrimitivesNimbusCryptoPublic (216) */ + /** @name NimbusPrimitivesNimbusCryptoPublic (217) */ interface NimbusPrimitivesNimbusCryptoPublic extends SpCoreSr25519Public {} - /** @name SpCoreSr25519Public (217) */ + /** @name SpCoreSr25519Public (218) */ interface SpCoreSr25519Public extends U8aFixed {} - /** @name PalletAuthorInherentCall (218) */ + /** @name PalletAuthorInherentCall (219) */ interface PalletAuthorInherentCall extends Enum { readonly isKickOffAuthorshipValidation: boolean; readonly type: "KickOffAuthorshipValidation"; } - /** @name PalletRootTestingCall (219) */ + /** @name PalletTreasuryCall (220) */ + interface PalletTreasuryCall extends Enum { + readonly isProposeSpend: boolean; + readonly asProposeSpend: { + readonly value: Compact; + readonly beneficiary: MultiAddress; + } & Struct; + readonly isRejectProposal: boolean; + readonly asRejectProposal: { + readonly proposalId: Compact; + } & Struct; + readonly isApproveProposal: boolean; + readonly asApproveProposal: { + readonly proposalId: Compact; + } & Struct; + readonly isSpendLocal: boolean; + readonly asSpendLocal: { + readonly amount: Compact; + readonly beneficiary: MultiAddress; + } & Struct; + readonly isRemoveApproval: boolean; + readonly asRemoveApproval: { + readonly proposalId: Compact; + } & Struct; + readonly isSpend: boolean; + readonly asSpend: { + readonly assetKind: Null; + readonly amount: Compact; + readonly beneficiary: AccountId32; + readonly validFrom: Option; + } & Struct; + readonly isPayout: boolean; + readonly asPayout: { + readonly index: u32; + } & Struct; + readonly isCheckStatus: boolean; + readonly asCheckStatus: { + readonly index: u32; + } & Struct; + readonly isVoidSpend: boolean; + readonly asVoidSpend: { + readonly index: u32; + } & Struct; + readonly type: + | "ProposeSpend" + | "RejectProposal" + | "ApproveProposal" + | "SpendLocal" + | "RemoveApproval" + | "Spend" + | "Payout" + | "CheckStatus" + | "VoidSpend"; + } + + /** @name PalletRootTestingCall (221) */ interface PalletRootTestingCall extends Enum { readonly isFillBlock: boolean; readonly asFillBlock: { @@ -1765,33 +1939,33 @@ declare module "@polkadot/types/lookup" { readonly type: "FillBlock" | "TriggerDefensive"; } - /** @name PalletSudoError (220) */ + /** @name PalletSudoError (222) */ interface PalletSudoError extends Enum { readonly isRequireSudo: boolean; readonly type: "RequireSudo"; } - /** @name PalletUtilityError (221) */ + /** @name PalletUtilityError (223) */ interface PalletUtilityError extends Enum { readonly isTooManyCalls: boolean; readonly type: "TooManyCalls"; } - /** @name PalletProxyProxyDefinition (224) */ + /** @name PalletProxyProxyDefinition (226) */ interface PalletProxyProxyDefinition extends Struct { readonly delegate: AccountId32; readonly proxyType: FlashboxRuntimeProxyType; readonly delay: u32; } - /** @name PalletProxyAnnouncement (228) */ + /** @name PalletProxyAnnouncement (230) */ interface PalletProxyAnnouncement extends Struct { readonly real: AccountId32; readonly callHash: H256; readonly height: u32; } - /** @name PalletProxyError (230) */ + /** @name PalletProxyError (232) */ interface PalletProxyError extends Enum { readonly isTooMany: boolean; readonly isNotFound: boolean; @@ -1812,7 +1986,7 @@ declare module "@polkadot/types/lookup" { | "NoSelfProxy"; } - /** @name PalletMigrationsError (231) */ + /** @name PalletMigrationsError (233) */ interface PalletMigrationsError extends Enum { readonly isPreimageMissing: boolean; readonly isWrongUpperBound: boolean; @@ -1821,14 +1995,14 @@ declare module "@polkadot/types/lookup" { readonly type: "PreimageMissing" | "WrongUpperBound" | "PreimageIsTooBig" | "PreimageAlreadyExists"; } - /** @name PalletMaintenanceModeError (232) */ + /** @name PalletMaintenanceModeError (234) */ interface PalletMaintenanceModeError extends Enum { readonly isAlreadyInMaintenanceMode: boolean; readonly isNotInMaintenanceMode: boolean; readonly type: "AlreadyInMaintenanceMode" | "NotInMaintenanceMode"; } - /** @name PalletTxPauseError (233) */ + /** @name PalletTxPauseError (235) */ interface PalletTxPauseError extends Enum { readonly isIsPaused: boolean; readonly isIsUnpaused: boolean; @@ -1837,14 +2011,14 @@ declare module "@polkadot/types/lookup" { readonly type: "IsPaused" | "IsUnpaused" | "Unpausable" | "NotFound"; } - /** @name PalletBalancesBalanceLock (235) */ + /** @name PalletBalancesBalanceLock (237) */ interface PalletBalancesBalanceLock extends Struct { readonly id: U8aFixed; readonly amount: u128; readonly reasons: PalletBalancesReasons; } - /** @name PalletBalancesReasons (236) */ + /** @name PalletBalancesReasons (238) */ interface PalletBalancesReasons extends Enum { readonly isFee: boolean; readonly isMisc: boolean; @@ -1852,22 +2026,22 @@ declare module "@polkadot/types/lookup" { readonly type: "Fee" | "Misc" | "All"; } - /** @name PalletBalancesReserveData (239) */ + /** @name PalletBalancesReserveData (241) */ interface PalletBalancesReserveData extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name FlashboxRuntimeRuntimeHoldReason (243) */ + /** @name FlashboxRuntimeRuntimeHoldReason (245) */ type FlashboxRuntimeRuntimeHoldReason = Null; - /** @name PalletBalancesIdAmount (246) */ + /** @name PalletBalancesIdAmount (248) */ interface PalletBalancesIdAmount extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name PalletBalancesError (248) */ + /** @name PalletBalancesError (250) */ interface PalletBalancesError extends Enum { readonly isVestingBalance: boolean; readonly isLiquidityRestrictions: boolean; @@ -1892,34 +2066,34 @@ declare module "@polkadot/types/lookup" { | "TooManyFreezes"; } - /** @name PalletTransactionPaymentReleases (249) */ + /** @name PalletTransactionPaymentReleases (251) */ interface PalletTransactionPaymentReleases extends Enum { readonly isV1Ancient: boolean; readonly isV2: boolean; readonly type: "V1Ancient" | "V2"; } - /** @name PalletIdentityRegistration (251) */ + /** @name PalletIdentityRegistration (253) */ interface PalletIdentityRegistration extends Struct { readonly judgements: Vec>; readonly deposit: u128; readonly info: PalletIdentityLegacyIdentityInfo; } - /** @name PalletIdentityRegistrarInfo (260) */ + /** @name PalletIdentityRegistrarInfo (262) */ interface PalletIdentityRegistrarInfo extends Struct { readonly account: AccountId32; readonly fee: u128; readonly fields: u64; } - /** @name PalletIdentityAuthorityProperties (262) */ + /** @name PalletIdentityAuthorityProperties (264) */ interface PalletIdentityAuthorityProperties extends Struct { readonly suffix: Bytes; readonly allocation: u32; } - /** @name PalletIdentityError (265) */ + /** @name PalletIdentityError (267) */ interface PalletIdentityError extends Enum { readonly isTooManySubAccounts: boolean; readonly isNotFound: boolean; @@ -1976,13 +2150,18 @@ declare module "@polkadot/types/lookup" { | "NotExpired"; } - /** @name PalletRegistrarDepositInfo (270) */ + /** @name TpTraitsParathreadParams (272) */ + interface TpTraitsParathreadParams extends Struct { + readonly slotFrequency: TpTraitsSlotFrequency; + } + + /** @name PalletRegistrarDepositInfo (278) */ interface PalletRegistrarDepositInfo extends Struct { readonly creator: AccountId32; readonly deposit: u128; } - /** @name PalletRegistrarError (271) */ + /** @name PalletRegistrarError (279) */ interface PalletRegistrarError extends Enum { readonly isParaIdAlreadyRegistered: boolean; readonly isParaIdNotRegistered: boolean; @@ -1993,6 +2172,7 @@ declare module "@polkadot/types/lookup" { readonly isGenesisDataTooBig: boolean; readonly isParaIdNotInPendingVerification: boolean; readonly isNotSufficientDeposit: boolean; + readonly isNotAParathread: boolean; readonly type: | "ParaIdAlreadyRegistered" | "ParaIdNotRegistered" @@ -2002,10 +2182,11 @@ declare module "@polkadot/types/lookup" { | "ParaIdListFull" | "GenesisDataTooBig" | "ParaIdNotInPendingVerification" - | "NotSufficientDeposit"; + | "NotSufficientDeposit" + | "NotAParathread"; } - /** @name PalletConfigurationHostConfiguration (272) */ + /** @name PalletConfigurationHostConfiguration (280) */ interface PalletConfigurationHostConfiguration extends Struct { readonly maxCollators: u32; readonly minOrchestratorCollators: u32; @@ -2017,25 +2198,25 @@ declare module "@polkadot/types/lookup" { readonly targetContainerChainFullness: Perbill; } - /** @name PalletConfigurationError (275) */ + /** @name PalletConfigurationError (283) */ interface PalletConfigurationError extends Enum { readonly isInvalidNewValue: boolean; readonly type: "InvalidNewValue"; } - /** @name DpCollatorAssignmentAssignedCollatorsAccountId32 (276) */ + /** @name DpCollatorAssignmentAssignedCollatorsAccountId32 (284) */ interface DpCollatorAssignmentAssignedCollatorsAccountId32 extends Struct { readonly orchestratorChain: Vec; readonly containerChains: BTreeMap>; } - /** @name PalletAuthorNotingContainerChainBlockInfo (281) */ + /** @name PalletAuthorNotingContainerChainBlockInfo (289) */ interface PalletAuthorNotingContainerChainBlockInfo extends Struct { readonly blockNumber: u32; readonly author: AccountId32; } - /** @name PalletAuthorNotingError (282) */ + /** @name PalletAuthorNotingError (290) */ interface PalletAuthorNotingError extends Enum { readonly isFailedReading: boolean; readonly isFailedDecodingHeader: boolean; @@ -2054,13 +2235,13 @@ declare module "@polkadot/types/lookup" { | "NonAuraDigest"; } - /** @name DpCollatorAssignmentAssignedCollatorsPublic (283) */ + /** @name DpCollatorAssignmentAssignedCollatorsPublic (291) */ interface DpCollatorAssignmentAssignedCollatorsPublic extends Struct { readonly orchestratorChain: Vec; readonly containerChains: BTreeMap>; } - /** @name PalletServicesPaymentError (288) */ + /** @name PalletServicesPaymentError (296) */ interface PalletServicesPaymentError extends Enum { readonly isInsufficientFundsToPurchaseCredits: boolean; readonly isInsufficientCredits: boolean; @@ -2068,24 +2249,25 @@ declare module "@polkadot/types/lookup" { readonly type: "InsufficientFundsToPurchaseCredits" | "InsufficientCredits" | "CreditPriceTooExpensive"; } - /** @name PalletDataPreserversError (289) */ + /** @name PalletDataPreserversError (297) */ interface PalletDataPreserversError extends Enum { readonly isNoBootNodes: boolean; readonly type: "NoBootNodes"; } - /** @name PalletInvulnerablesError (291) */ + /** @name PalletInvulnerablesError (299) */ interface PalletInvulnerablesError extends Enum { readonly isTooManyInvulnerables: boolean; readonly isAlreadyInvulnerable: boolean; readonly isNotInvulnerable: boolean; - readonly type: "TooManyInvulnerables" | "AlreadyInvulnerable" | "NotInvulnerable"; + readonly isNoKeysRegistered: boolean; + readonly type: "TooManyInvulnerables" | "AlreadyInvulnerable" | "NotInvulnerable" | "NoKeysRegistered"; } - /** @name SpCoreCryptoKeyTypeId (296) */ + /** @name SpCoreCryptoKeyTypeId (304) */ interface SpCoreCryptoKeyTypeId extends U8aFixed {} - /** @name PalletSessionError (297) */ + /** @name PalletSessionError (305) */ interface PalletSessionError extends Enum { readonly isInvalidProof: boolean; readonly isNoAssociatedValidatorId: boolean; @@ -2095,7 +2277,7 @@ declare module "@polkadot/types/lookup" { readonly type: "InvalidProof" | "NoAssociatedValidatorId" | "DuplicatedKey" | "NoKeys" | "NoAccount"; } - /** @name PalletAuthorInherentError (301) */ + /** @name PalletAuthorInherentError (309) */ interface PalletAuthorInherentError extends Enum { readonly isAuthorAlreadySet: boolean; readonly isNoAccountId: boolean; @@ -2103,33 +2285,94 @@ declare module "@polkadot/types/lookup" { readonly type: "AuthorAlreadySet" | "NoAccountId" | "CannotBeAuthor"; } - /** @name PalletInflationRewardsChainsToRewardValue (302) */ + /** @name PalletInflationRewardsChainsToRewardValue (310) */ interface PalletInflationRewardsChainsToRewardValue extends Struct { readonly paraIds: Vec; readonly rewardsPerChain: u128; } - /** @name FrameSystemExtensionsCheckNonZeroSender (308) */ + /** @name PalletTreasuryProposal (311) */ + interface PalletTreasuryProposal extends Struct { + readonly proposer: AccountId32; + readonly value: u128; + readonly beneficiary: AccountId32; + readonly bond: u128; + } + + /** @name PalletTreasurySpendStatus (313) */ + interface PalletTreasurySpendStatus extends Struct { + readonly assetKind: Null; + readonly amount: u128; + readonly beneficiary: AccountId32; + readonly validFrom: u32; + readonly expireAt: u32; + readonly status: PalletTreasuryPaymentState; + } + + /** @name PalletTreasuryPaymentState (314) */ + interface PalletTreasuryPaymentState extends Enum { + readonly isPending: boolean; + readonly isAttempted: boolean; + readonly asAttempted: { + readonly id: Null; + } & Struct; + readonly isFailed: boolean; + readonly type: "Pending" | "Attempted" | "Failed"; + } + + /** @name FrameSupportPalletId (317) */ + interface FrameSupportPalletId extends U8aFixed {} + + /** @name PalletTreasuryError (318) */ + interface PalletTreasuryError extends Enum { + readonly isInsufficientProposersBalance: boolean; + readonly isInvalidIndex: boolean; + readonly isTooManyApprovals: boolean; + readonly isInsufficientPermission: boolean; + readonly isProposalNotApproved: boolean; + readonly isFailedToConvertBalance: boolean; + readonly isSpendExpired: boolean; + readonly isEarlyPayout: boolean; + readonly isAlreadyAttempted: boolean; + readonly isPayoutError: boolean; + readonly isNotAttempted: boolean; + readonly isInconclusive: boolean; + readonly type: + | "InsufficientProposersBalance" + | "InvalidIndex" + | "TooManyApprovals" + | "InsufficientPermission" + | "ProposalNotApproved" + | "FailedToConvertBalance" + | "SpendExpired" + | "EarlyPayout" + | "AlreadyAttempted" + | "PayoutError" + | "NotAttempted" + | "Inconclusive"; + } + + /** @name FrameSystemExtensionsCheckNonZeroSender (324) */ type FrameSystemExtensionsCheckNonZeroSender = Null; - /** @name FrameSystemExtensionsCheckSpecVersion (309) */ + /** @name FrameSystemExtensionsCheckSpecVersion (325) */ type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckTxVersion (310) */ + /** @name FrameSystemExtensionsCheckTxVersion (326) */ type FrameSystemExtensionsCheckTxVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (311) */ + /** @name FrameSystemExtensionsCheckGenesis (327) */ type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (314) */ + /** @name FrameSystemExtensionsCheckNonce (330) */ interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (315) */ + /** @name FrameSystemExtensionsCheckWeight (331) */ type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTransactionPaymentChargeTransactionPayment (316) */ + /** @name PalletTransactionPaymentChargeTransactionPayment (332) */ interface PalletTransactionPaymentChargeTransactionPayment extends Compact {} - /** @name FlashboxRuntimeRuntime (317) */ + /** @name FlashboxRuntimeRuntime (333) */ type FlashboxRuntimeRuntime = Null; } // declare module From d9e272a00bcb50b7db3c0c91edecbeb5991b3570 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Fri, 16 Feb 2024 15:06:53 +0100 Subject: [PATCH 16/45] Fix frontier node and identity tests --- container-chains/templates/frontier/node/Cargo.toml | 2 +- runtime/dancebox/Cargo.toml | 2 +- runtime/dancebox/tests/common/xcm/constants.rs | 2 +- .../pallet-identity/test_pallet_identity.ts | 9 ++++----- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/container-chains/templates/frontier/node/Cargo.toml b/container-chains/templates/frontier/node/Cargo.toml index 6685d95c7..dcf4ece1e 100644 --- a/container-chains/templates/frontier/node/Cargo.toml +++ b/container-chains/templates/frontier/node/Cargo.toml @@ -18,7 +18,7 @@ jsonrpsee = { workspace = true, features = [ "server" ] } log = { workspace = true } parity-scale-codec = { workspace = true } serde = { workspace = true, features = [ "derive" ] } -serde_json = { workspace = true } +serde_json = { workspace = true, features = [ "arbitrary_precision" ]} url = { workspace = true } # Local diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index a5a70386d..32cd2a063 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -15,6 +15,7 @@ log = { workspace = true } parity-scale-codec = { workspace = true, features = [ "derive" ] } scale-info = { workspace = true, features = [ "derive" ] } serde = { workspace = true, optional = true, features = [ "derive" ] } +serde_json = { workspace = true, features = [ "arbitrary_precision" ]} smallvec = { workspace = true } # Own @@ -130,7 +131,6 @@ test-relay-sproof-builder = { workspace = true } westend-runtime = { workspace = true, features = [ "std" ] } westend-runtime-constants = { workspace = true } xcm-emulator = { workspace = true } -serde_json = { workspace = true } [build-dependencies] substrate-wasm-builder = { workspace = true } diff --git a/runtime/dancebox/tests/common/xcm/constants.rs b/runtime/dancebox/tests/common/xcm/constants.rs index 2503b4e5e..bd22edc77 100644 --- a/runtime/dancebox/tests/common/xcm/constants.rs +++ b/runtime/dancebox/tests/common/xcm/constants.rs @@ -223,7 +223,7 @@ pub mod frontier_template { balances: pre_funded_accounts() .iter() .cloned() - .map(|k| (k, 1u128 << 60)) + .map(|k| (k, 1 << 80)) .collect(), }, parachain_info: container_chain_template_frontier_runtime::ParachainInfoConfig { diff --git a/test/suites/common-tanssi/pallet-identity/test_pallet_identity.ts b/test/suites/common-tanssi/pallet-identity/test_pallet_identity.ts index ddc3b1d33..0230d1be0 100644 --- a/test/suites/common-tanssi/pallet-identity/test_pallet_identity.ts +++ b/test/suites/common-tanssi/pallet-identity/test_pallet_identity.ts @@ -92,13 +92,12 @@ describeSuite({ await context.createBlock([signedTx]); const charlie_identity = await polkadotJs.query.identity.identityOf(general_user_charlie.address); - // Display has been set - const charlie_display = hexToString(charlie_identity.toJSON().info.display["raw"]); + const charlie_display = hexToString(charlie_identity.toJSON()[0].info.display["raw"]); expect(charlie_display).to.equal("It's me, Charlie"); // Web has been set - const charlie_web = hexToString(charlie_identity.toJSON().info.web["raw"]); + const charlie_web = hexToString(charlie_identity.toJSON()[0].info.web["raw"]); expect(charlie_web).to.equal("https://charlie.io"); // Event triggered @@ -111,7 +110,7 @@ describeSuite({ // Currency reserved as deposit from Charlie's account const charlie_balance = await polkadotJs.query.system.account(general_user_charlie.address); const charlie_balance_reserved = charlie_balance.toJSON().data.reserved; - const expected_reserve = 12580000000000; // Basic deposit (1 item, 258 bytes) + const expected_reserve = 13010000000000; // Basic deposit (1 item, 301 bytes) expect(charlie_balance_reserved).to.be.equal(expected_reserve); }, }); @@ -140,7 +139,7 @@ describeSuite({ const bob_registrar_on_chain = identity_registrars.toArray()[0].toJSON(); expect(bob_registrar_on_chain.fee).to.be.equal(100); - expect(bob_registrar_on_chain.fields.length).to.be.equal(2); + expect(bob_registrar_on_chain.fields).to.be.equal(2); }, }); }, From 912514883f85982907f5e3b8deaa1110c1d55887 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Fri, 16 Feb 2024 17:20:16 +0100 Subject: [PATCH 17/45] Fix xcm tests for message queue --- .../test-maintenance/test-maintenance-dmp-queue.ts | 6 +++--- .../test-maintenance/test-maintenance-xcm-queue.ts | 2 ++ test/suites/common-xcm/xcm/test-mock-dmp-transact.ts | 2 ++ test/suites/common-xcm/xcm/test-mock-hrmp-transact.ts | 4 ++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/test/suites/common-xcm/test-maintenance/test-maintenance-dmp-queue.ts b/test/suites/common-xcm/test-maintenance/test-maintenance-dmp-queue.ts index 0c9795f40..e5d183169 100644 --- a/test/suites/common-xcm/test-maintenance/test-maintenance-dmp-queue.ts +++ b/test/suites/common-xcm/test-maintenance/test-maintenance-dmp-queue.ts @@ -128,9 +128,9 @@ describeSuite({ .as_v3(); // In case of templates, we set a different Config for DmpQueue - if (["frontier-template", "container-chain-template"].includes(chain)) { - await setDmpConfigStorage(context, polkadotJs, alice); - } + // if (["frontier-template", "container-chain-template"].includes(chain)) { + // await setDmpConfigStorage(context, polkadotJs, alice); + // } }); it({ diff --git a/test/suites/common-xcm/test-maintenance/test-maintenance-xcm-queue.ts b/test/suites/common-xcm/test-maintenance/test-maintenance-xcm-queue.ts index 50924b5dd..6847a919a 100644 --- a/test/suites/common-xcm/test-maintenance/test-maintenance-xcm-queue.ts +++ b/test/suites/common-xcm/test-maintenance/test-maintenance-xcm-queue.ts @@ -140,6 +140,8 @@ describeSuite({ await context.createBlock([await polkadotJs.tx.sudo.sudo(resumeTx).signAsync(alice)]); // Create a block in which the XCM message will be executed + // MessageQueue takes two blocks to resume execution + await context.createBlock(); await context.createBlock(); // Ensure we are NOT in maintenance mode diff --git a/test/suites/common-xcm/xcm/test-mock-dmp-transact.ts b/test/suites/common-xcm/xcm/test-mock-dmp-transact.ts index de72b0e4e..ed3da92af 100644 --- a/test/suites/common-xcm/xcm/test-mock-dmp-transact.ts +++ b/test/suites/common-xcm/xcm/test-mock-dmp-transact.ts @@ -105,6 +105,8 @@ describeSuite({ payload: xcmMessage, } as RawXcmMessage); + await context.createBlock(); + // Make sure the state has ALITH's foreign parachain tokens const testAccountBalance = (await polkadotJs.query.system.account(random.address)).data.free.toBigInt(); diff --git a/test/suites/common-xcm/xcm/test-mock-hrmp-transact.ts b/test/suites/common-xcm/xcm/test-mock-hrmp-transact.ts index ba963fe2e..53d6bbd53 100644 --- a/test/suites/common-xcm/xcm/test-mock-hrmp-transact.ts +++ b/test/suites/common-xcm/xcm/test-mock-hrmp-transact.ts @@ -118,6 +118,8 @@ describeSuite({ payload: xcmMessage, } as RawXcmMessage); + await context.createBlock(); + // Make sure the state has ALITH's foreign parachain tokens const testAccountBalance = (await polkadotJs.query.system.account(random.address)).data.free.toBigInt(); @@ -181,6 +183,8 @@ describeSuite({ payload: xcmMessage, } as RawXcmMessage); + await context.createBlock(); + // Make sure the state has ALITH's foreign parachain tokens const testAccountBalance = (await polkadotJs.query.system.account(random.address)).data.free.toBigInt(); From 1121930a55d1adeefc2892c0819a9ff752c4970a Mon Sep 17 00:00:00 2001 From: girazoki Date: Fri, 16 Feb 2024 18:34:49 +0100 Subject: [PATCH 18/45] use build_storage from emulated_integration_tests --- .../dancebox/tests/common/xcm/constants.rs | 31 +++---------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/runtime/dancebox/tests/common/xcm/constants.rs b/runtime/dancebox/tests/common/xcm/constants.rs index bd22edc77..c035225bf 100644 --- a/runtime/dancebox/tests/common/xcm/constants.rs +++ b/runtime/dancebox/tests/common/xcm/constants.rs @@ -26,6 +26,7 @@ use { traits::{IdentifyAccount, Verify}, BuildStorage, MultiSignature, }, + emulated_integration_tests_common::build_genesis_storage, }; type AccountPublic = ::Signer; @@ -195,12 +196,7 @@ pub mod westend { }, ..Default::default() }; - - ChainSpec::builder(westend_runtime::WASM_BINARY.unwrap(), None) - .with_genesis_config(serde_json::to_value(&genesis_config).unwrap()) - .build() - .build_storage() - .unwrap() + build_genesis_storage(&genesis_config, westend_runtime::WASM_BINARY.unwrap()) } } @@ -209,6 +205,7 @@ pub mod frontier_template { use { container_chain_template_frontier_runtime::AccountId, hex_literal::hex, sp_runtime::BuildStorage, + emulated_integration_tests_common::build_genesis_storage, }; pub const PARA_ID: u32 = 2001; pub const ORCHESTRATOR: u32 = 2000; @@ -248,17 +245,8 @@ pub mod frontier_template { ..Default::default() }; - let json = serde_json::to_value(&genesis_config).unwrap(); + build_genesis_storage(&genesis_config, container_chain_template_frontier_runtime::WASM_BINARY.unwrap()) - ChainSpec::builder( - container_chain_template_frontier_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!"), - None, - ) - .with_genesis_config(json) - .build() - .build_storage() - .unwrap() } /// Get pre-funded accounts pub fn pre_funded_accounts() -> Vec { @@ -306,15 +294,6 @@ pub mod simple_template { }, ..Default::default() }; - - ChainSpec::builder( - container_chain_template_simple_runtime::WASM_BINARY - .expect("WASM binary was not build, please build it!"), - None, - ) - .with_genesis_config(serde_json::to_value(&genesis_config).unwrap()) - .build() - .build_storage() - .unwrap() + build_genesis_storage(&genesis_config, container_chain_template_simple_runtime::WASM_BINARY.unwrap()) } } From d027f6cbe7963b479b0e970defe9cb4df8a0fa19 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Mon, 19 Feb 2024 17:21:50 +0100 Subject: [PATCH 19/45] fmt --- client/consensus/src/collators.rs | 2 +- .../dancebox/tests/common/xcm/constants.rs | 21 +++++++++++-------- runtime/dancebox/tests/integration_test.rs | 3 +-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/client/consensus/src/collators.rs b/client/consensus/src/collators.rs index 8a333cb88..fc5e0a8b7 100644 --- a/client/consensus/src/collators.rs +++ b/client/consensus/src/collators.rs @@ -21,10 +21,10 @@ use { cumulus_client_collator::service::ServiceInterface as CollatorServiceInterface, cumulus_client_consensus_common::ParachainCandidate, cumulus_client_consensus_proposer::ProposerInterface, + cumulus_client_parachain_inherent::{ParachainInherentData, ParachainInherentDataProvider}, cumulus_primitives_core::{ relay_chain::Hash as PHash, DigestItem, ParachainBlockData, PersistedValidationData, }, - cumulus_client_parachain_inherent::{ParachainInherentData, ParachainInherentDataProvider}, cumulus_relay_chain_interface::RelayChainInterface, futures::prelude::*, nimbus_primitives::{CompatibleDigestItem as NimbusCompatibleDigestItem, NIMBUS_KEY_ID}, diff --git a/runtime/dancebox/tests/common/xcm/constants.rs b/runtime/dancebox/tests/common/xcm/constants.rs index f1adb6d01..5acd6c0d3 100644 --- a/runtime/dancebox/tests/common/xcm/constants.rs +++ b/runtime/dancebox/tests/common/xcm/constants.rs @@ -17,6 +17,7 @@ use { cumulus_primitives_core::relay_chain::{ AccountId, AssignmentId, AuthorityDiscoveryId, ValidatorId, }, + emulated_integration_tests_common::build_genesis_storage, polkadot_service::chain_spec::get_authority_keys_from_seed_no_beefy, sc_consensus_grandpa::AuthorityId as GrandpaId, sp_consensus_babe::AuthorityId as BabeId, @@ -26,7 +27,6 @@ use { traits::{IdentifyAccount, Verify}, MultiSignature, }, - emulated_integration_tests_common::build_genesis_storage, }; type AccountPublic = ::Signer; @@ -202,8 +202,8 @@ pub mod westend { // Frontier template pub mod frontier_template { use { - container_chain_template_frontier_runtime::AccountId, hex_literal::hex, - emulated_integration_tests_common::build_genesis_storage, + container_chain_template_frontier_runtime::AccountId, + emulated_integration_tests_common::build_genesis_storage, hex_literal::hex, }; pub const PARA_ID: u32 = 2001; pub const ORCHESTRATOR: u32 = 2000; @@ -240,8 +240,10 @@ pub mod frontier_template { ..Default::default() }; - build_genesis_storage(&genesis_config, container_chain_template_frontier_runtime::WASM_BINARY.unwrap()) - + build_genesis_storage( + &genesis_config, + container_chain_template_frontier_runtime::WASM_BINARY.unwrap(), + ) } /// Get pre-funded accounts pub fn pre_funded_accounts() -> Vec { @@ -258,9 +260,7 @@ pub mod frontier_template { // Simple template pub mod simple_template { - use { - super::*, container_chain_template_simple_runtime::UNIT as DEV, - }; + use {super::*, container_chain_template_simple_runtime::UNIT as DEV}; pub const PARA_ID: u32 = 2002; pub const ORCHESTRATOR: u32 = 2000; const ENDOWMENT: u128 = 1_000_000 * DEV; @@ -287,6 +287,9 @@ pub mod simple_template { }, ..Default::default() }; - build_genesis_storage(&genesis_config, container_chain_template_simple_runtime::WASM_BINARY.unwrap()) + build_genesis_storage( + &genesis_config, + container_chain_template_simple_runtime::WASM_BINARY.unwrap(), + ) } } diff --git a/runtime/dancebox/tests/integration_test.rs b/runtime/dancebox/tests/integration_test.rs index 21dad2339..bfcc5815c 100644 --- a/runtime/dancebox/tests/integration_test.rs +++ b/runtime/dancebox/tests/integration_test.rs @@ -37,8 +37,7 @@ use { }, parity_scale_codec::Encode, runtime_common::migrations::{ - MigrateConfigurationParathreads, - MigrateServicesPaymentAddCollatorAssignmentCredits, + MigrateConfigurationParathreads, MigrateServicesPaymentAddCollatorAssignmentCredits, }, sp_consensus_aura::AURA_ENGINE_ID, sp_core::Get, From e44ca0f60056147c0bfdc41c1c39886b4e6b6510 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Mon, 19 Feb 2024 17:32:00 +0100 Subject: [PATCH 20/45] Update moonkit ref --- Cargo.lock | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 43023ae85..a9fefda97 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -492,7 +492,7 @@ dependencies = [ [[package]] name = "async-backing-primitives" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "sp-api", "sp-consensus-slots", @@ -7057,7 +7057,7 @@ dependencies = [ [[package]] name = "nimbus-consensus" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "async-backing-primitives", "async-trait", @@ -7097,7 +7097,7 @@ dependencies = [ [[package]] name = "nimbus-primitives" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "async-trait", "frame-benchmarking", @@ -7580,7 +7580,7 @@ dependencies = [ [[package]] name = "pallet-async-backing" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-primitives-core", @@ -7600,7 +7600,7 @@ dependencies = [ [[package]] name = "pallet-author-inherent" version = "0.9.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -8268,7 +8268,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-balances-erc20" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "fp-evm", "frame-support", @@ -8291,7 +8291,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-batch" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "evm", "fp-evm", @@ -8312,7 +8312,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-call-permit" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "evm", "fp-evm", @@ -8363,7 +8363,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-xcm-utils" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "fp-evm", "frame-support", @@ -8404,7 +8404,7 @@ dependencies = [ [[package]] name = "pallet-foreign-asset-creator" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -8576,7 +8576,7 @@ dependencies = [ [[package]] name = "pallet-maintenance-mode" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -8629,7 +8629,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -8930,7 +8930,7 @@ dependencies = [ [[package]] name = "pallet-relay-storage-roots" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-primitives-core", @@ -17198,7 +17198,7 @@ dependencies = [ [[package]] name = "xcm-primitives" version = "0.1.0" -source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#d78830ab8afe7ecdc1c3bff5b42444f70f9ab819" +source = "git+https://github.com/moondance-labs/moonkit?branch=tanssi-polkadot-v1.6.0#71960ca8b6638ace2b2e94e7ea0fc4eb72a2d4e4" dependencies = [ "sp-runtime", ] From 1b75b68e53574ef5e2c2ddd0b48cf2385855a005 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Mon, 19 Feb 2024 18:25:25 +0100 Subject: [PATCH 21/45] try-runtime builds --- .../templates/frontier/runtime/Cargo.toml | 1 + .../templates/simple/runtime/Cargo.toml | 1 + pallets/stream-payment/Cargo.toml | 5 +++ runtime/dancebox/Cargo.toml | 2 + runtime/flashbox/Cargo.toml | 2 + runtime/flashbox/src/lib.rs | 42 +------------------ 6 files changed, 12 insertions(+), 41 deletions(-) diff --git a/container-chains/templates/frontier/runtime/Cargo.toml b/container-chains/templates/frontier/runtime/Cargo.toml index 0de7f687a..172e54af0 100644 --- a/container-chains/templates/frontier/runtime/Cargo.toml +++ b/container-chains/templates/frontier/runtime/Cargo.toml @@ -249,6 +249,7 @@ try-runtime = [ "frame-try-runtime/try-runtime", "nimbus-primitives/try-runtime", "pallet-author-inherent/try-runtime", + "pallet-async-backing/try-runtime", "pallet-balances/try-runtime", "pallet-base-fee/try-runtime", "pallet-cc-authorities-noting/try-runtime", diff --git a/container-chains/templates/simple/runtime/Cargo.toml b/container-chains/templates/simple/runtime/Cargo.toml index d5cd3774f..bf372d683 100644 --- a/container-chains/templates/simple/runtime/Cargo.toml +++ b/container-chains/templates/simple/runtime/Cargo.toml @@ -205,6 +205,7 @@ try-runtime = [ "frame-try-runtime/try-runtime", "nimbus-primitives/try-runtime", "pallet-author-inherent/try-runtime", + "pallet-async-backing/try-runtime", "pallet-balances/try-runtime", "pallet-cc-authorities-noting/try-runtime", "pallet-maintenance-mode/try-runtime", diff --git a/pallets/stream-payment/Cargo.toml b/pallets/stream-payment/Cargo.toml index 8ea4e83ad..e92c34ace 100644 --- a/pallets/stream-payment/Cargo.toml +++ b/pallets/stream-payment/Cargo.toml @@ -64,3 +64,8 @@ runtime-benchmarks = [ "tp-maths/runtime-benchmarks", "tp-traits/runtime-benchmarks", ] +try-runtime = [ + "frame-support/try-runtime", + "frame-system/try-runtime", + "sp-runtime/try-runtime", +] diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index 682ea2c0f..14215d16f 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -324,6 +324,7 @@ try-runtime = [ "pallet-author-noting/try-runtime", "pallet-authority-assignment/try-runtime", "pallet-authority-mapping/try-runtime", + "pallet-async-backing/try-runtime", "pallet-balances/try-runtime", "pallet-collator-assignment/try-runtime", "pallet-configuration/try-runtime", @@ -345,6 +346,7 @@ try-runtime = [ "pallet-services-payment/try-runtime", "pallet-session/try-runtime", "pallet-staking/try-runtime", + "pallet-stream-payment/try-runtime", "pallet-sudo/try-runtime", "pallet-timestamp/try-runtime", "pallet-transaction-payment/try-runtime", diff --git a/runtime/flashbox/Cargo.toml b/runtime/flashbox/Cargo.toml index 4917f1854..77c0ca63a 100644 --- a/runtime/flashbox/Cargo.toml +++ b/runtime/flashbox/Cargo.toml @@ -253,6 +253,7 @@ try-runtime = [ "pallet-author-noting/try-runtime", "pallet-authority-assignment/try-runtime", "pallet-authority-mapping/try-runtime", + "pallet-async-backing/try-runtime", "pallet-balances/try-runtime", "pallet-collator-assignment/try-runtime", "pallet-configuration/try-runtime", @@ -269,6 +270,7 @@ try-runtime = [ "pallet-root-testing/try-runtime", "pallet-services-payment/try-runtime", "pallet-session/try-runtime", + "pallet-stream-payment/try-runtime", "pallet-sudo/try-runtime", "pallet-timestamp/try-runtime", "pallet-transaction-payment/try-runtime", diff --git a/runtime/flashbox/src/lib.rs b/runtime/flashbox/src/lib.rs index 4c92e9df6..526d5ddcb 100644 --- a/runtime/flashbox/src/lib.rs +++ b/runtime/flashbox/src/lib.rs @@ -45,8 +45,7 @@ use { fungible::{Balanced, Credit, Inspect, InspectHold, Mutate, MutateHold}, tokens::{PayFromAccount, Precision, Preservation, UnityAssetBalanceConversion}, ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, Contains, EitherOfDiverse, - Imbalance, InsideBoth, InstanceFilter, OffchainWorker, OnFinalize, OnIdle, - OnInitialize, OnRuntimeUpgrade, OnUnbalanced, + Imbalance, InsideBoth, InstanceFilter, OnUnbalanced, }, weights::{ constants::{ @@ -1049,45 +1048,6 @@ impl Contains for NormalFilter { } } -/// The hooks we want to run in Maintenance Mode -pub struct MaintenanceHooks; - -impl OnInitialize for MaintenanceHooks { - fn on_initialize(n: BlockNumber) -> Weight { - AllPalletsWithSystem::on_initialize(n) - } -} - -// We override onIdle for xcmQueue and dmpQueue pallets to not process messages inside it -impl OnIdle for MaintenanceHooks { - fn on_idle(_n: BlockNumber, _max_weight: Weight) -> Weight { - Weight::zero() - } -} - -impl OnRuntimeUpgrade for MaintenanceHooks { - fn on_runtime_upgrade() -> Weight { - AllPalletsWithSystem::on_runtime_upgrade() - } - - #[cfg(feature = "try-runtime")] - fn try_on_runtime_upgrade(checks: bool) -> Result { - AllPalletsWithSystem::try_on_runtime_upgrade(checks) - } -} - -impl OnFinalize for MaintenanceHooks { - fn on_finalize(n: BlockNumber) { - AllPalletsWithSystem::on_finalize(n) - } -} - -impl OffchainWorker for MaintenanceHooks { - fn offchain_worker(n: BlockNumber) { - AllPalletsWithSystem::offchain_worker(n) - } -} - impl pallet_maintenance_mode::Config for Runtime { type RuntimeEvent = RuntimeEvent; type NormalCallFilter = NormalFilter; From ce7ae5c122b4b579360b8518342865385b2f2097 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Mon, 19 Feb 2024 18:27:12 +0100 Subject: [PATCH 22/45] Ts lint --- .../test-maintenance-dmp-queue.ts | 36 +------------------ 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/test/suites/common-xcm/test-maintenance/test-maintenance-dmp-queue.ts b/test/suites/common-xcm/test-maintenance/test-maintenance-dmp-queue.ts index e5d183169..5e214ac9a 100644 --- a/test/suites/common-xcm/test-maintenance/test-maintenance-dmp-queue.ts +++ b/test/suites/common-xcm/test-maintenance/test-maintenance-dmp-queue.ts @@ -1,10 +1,7 @@ -import { DevModeContext, beforeAll, describeSuite, expect } from "@moonwall/cli"; +import { beforeAll, describeSuite, expect } from "@moonwall/cli"; import { KeyringPair, alith } from "@moonwall/util"; import { generateKeyringPair } from "@moonwall/util"; import { ApiPromise, Keyring } from "@polkadot/api"; -import { xxhashAsU8a } from "@polkadot/util-crypto"; -import { u8aToHex } from "@polkadot/util"; -import { CumulusPalletDmpQueueConfigData } from "@polkadot/types/lookup"; import { RawXcmMessage, XcmFragment, @@ -13,32 +10,6 @@ import { injectDmpMessageAndSeal, } from "../../../util/xcm.ts"; -async function setDmpConfigStorage(context: DevModeContext, api: ApiPromise, sudoAccount: KeyringPair) { - // Get module and storage name keys - const module = xxhashAsU8a(new TextEncoder().encode("DmpQueue"), 128); - const configuration_key = xxhashAsU8a(new TextEncoder().encode("Configuration"), 128); - - // Build the element to insert in 'Configuration' storage - const configToEncode: CumulusPalletDmpQueueConfigData = context - .polkadotJs() - .createType("CumulusPalletDmpQueueConfigData", { - maxIndividual: { - refTime: 10_000_000_000n, - proofSize: 300_000n, - }, - }); - - // Build the entire key for 'Configuration' storage - const overallConfigKey = new Uint8Array([...module, ...configuration_key]); - - await context.createBlock( - api.tx.sudo - .sudo(api.tx.system.setStorage([[u8aToHex(overallConfigKey), u8aToHex(configToEncode.toU8a())]])) - .signAsync(sudoAccount) - ); - return; -} - describeSuite({ id: "CX0101", title: "Maintenance mode - DMP queue", @@ -126,11 +97,6 @@ describeSuite({ }, }) .as_v3(); - - // In case of templates, we set a different Config for DmpQueue - // if (["frontier-template", "container-chain-template"].includes(chain)) { - // await setDmpConfigStorage(context, polkadotJs, alice); - // } }); it({ From 30fd8cd528436d1314b3540346a71f5139de0014 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Mon, 19 Feb 2024 18:27:54 +0100 Subject: [PATCH 23/45] toml maid --- container-chains/templates/frontier/node/Cargo.toml | 4 ++-- container-chains/templates/frontier/runtime/Cargo.toml | 4 ++-- container-chains/templates/simple/node/Cargo.toml | 2 +- container-chains/templates/simple/runtime/Cargo.toml | 4 ++-- node/Cargo.toml | 2 +- runtime/dancebox/Cargo.toml | 4 ++-- runtime/flashbox/Cargo.toml | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/container-chains/templates/frontier/node/Cargo.toml b/container-chains/templates/frontier/node/Cargo.toml index dcf4ece1e..ab91091f9 100644 --- a/container-chains/templates/frontier/node/Cargo.toml +++ b/container-chains/templates/frontier/node/Cargo.toml @@ -18,7 +18,7 @@ jsonrpsee = { workspace = true, features = [ "server" ] } log = { workspace = true } parity-scale-codec = { workspace = true } serde = { workspace = true, features = [ "derive" ] } -serde_json = { workspace = true, features = [ "arbitrary_precision" ]} +serde_json = { workspace = true, features = [ "arbitrary_precision" ] } url = { workspace = true } # Local @@ -89,9 +89,9 @@ cumulus-client-cli = { workspace = true } cumulus-client-consensus-aura = { workspace = true } cumulus-client-consensus-common = { workspace = true } cumulus-client-network = { workspace = true } +cumulus-client-parachain-inherent = { workspace = true } cumulus-client-service = { workspace = true } cumulus-primitives-core = { workspace = true } -cumulus-client-parachain-inherent = { workspace = true } cumulus-relay-chain-interface = { workspace = true } cumulus-test-relay-sproof-builder = { workspace = true } diff --git a/container-chains/templates/frontier/runtime/Cargo.toml b/container-chains/templates/frontier/runtime/Cargo.toml index 172e54af0..06ce14f63 100644 --- a/container-chains/templates/frontier/runtime/Cargo.toml +++ b/container-chains/templates/frontier/runtime/Cargo.toml @@ -214,11 +214,11 @@ runtime-benchmarks = [ "pallet-author-inherent/runtime-benchmarks", "pallet-balances/runtime-benchmarks", "pallet-cc-authorities-noting/runtime-benchmarks", - "pallet-message-queue/runtime-benchmarks", "pallet-ethereum/runtime-benchmarks", "pallet-evm-precompile-xcm-utils/runtime-benchmarks", "pallet-evm/runtime-benchmarks", "pallet-hotfix-sufficients/runtime-benchmarks", + "pallet-message-queue/runtime-benchmarks", "pallet-migrations/runtime-benchmarks", "pallet-proxy/runtime-benchmarks", "pallet-sudo/runtime-benchmarks", @@ -248,8 +248,8 @@ try-runtime = [ "frame-system/try-runtime", "frame-try-runtime/try-runtime", "nimbus-primitives/try-runtime", - "pallet-author-inherent/try-runtime", "pallet-async-backing/try-runtime", + "pallet-author-inherent/try-runtime", "pallet-balances/try-runtime", "pallet-base-fee/try-runtime", "pallet-cc-authorities-noting/try-runtime", diff --git a/container-chains/templates/simple/node/Cargo.toml b/container-chains/templates/simple/node/Cargo.toml index 80eafd349..b016005eb 100644 --- a/container-chains/templates/simple/node/Cargo.toml +++ b/container-chains/templates/simple/node/Cargo.toml @@ -82,10 +82,10 @@ cumulus-client-cli = { workspace = true } cumulus-client-consensus-aura = { workspace = true } cumulus-client-consensus-common = { workspace = true } cumulus-client-network = { workspace = true } +cumulus-client-parachain-inherent = { workspace = true } cumulus-client-service = { workspace = true } cumulus-primitives-core = { workspace = true } cumulus-primitives-parachain-inherent = { workspace = true } -cumulus-client-parachain-inherent = { workspace = true } cumulus-relay-chain-interface = { workspace = true } [build-dependencies] substrate-build-script-utils = { workspace = true } diff --git a/container-chains/templates/simple/runtime/Cargo.toml b/container-chains/templates/simple/runtime/Cargo.toml index bf372d683..ad340f0b2 100644 --- a/container-chains/templates/simple/runtime/Cargo.toml +++ b/container-chains/templates/simple/runtime/Cargo.toml @@ -35,9 +35,9 @@ frame-support = { workspace = true } frame-system = { workspace = true } frame-system-rpc-runtime-api = { workspace = true } pallet-balances = { workspace = true } +pallet-message-queue = { workspace = true } pallet-proxy = { workspace = true } pallet-root-testing = { workspace = true } -pallet-message-queue = { workspace = true } pallet-session = { workspace = true } pallet-sudo = { workspace = true } pallet-timestamp = { workspace = true } @@ -204,8 +204,8 @@ try-runtime = [ "frame-try-runtime", "frame-try-runtime/try-runtime", "nimbus-primitives/try-runtime", - "pallet-author-inherent/try-runtime", "pallet-async-backing/try-runtime", + "pallet-author-inherent/try-runtime", "pallet-balances/try-runtime", "pallet-cc-authorities-noting/try-runtime", "pallet-maintenance-mode/try-runtime", diff --git a/node/Cargo.toml b/node/Cargo.toml index 8891e7a8a..ee105be41 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -97,10 +97,10 @@ cumulus-client-consensus-aura = { workspace = true } cumulus-client-consensus-common = { workspace = true } cumulus-client-consensus-proposer = { workspace = true } cumulus-client-network = { workspace = true } +cumulus-client-parachain-inherent = { workspace = true } cumulus-client-pov-recovery = { workspace = true } cumulus-client-service = { workspace = true } cumulus-primitives-core = { workspace = true } -cumulus-client-parachain-inherent = { workspace = true } cumulus-relay-chain-interface = { workspace = true } [build-dependencies] substrate-build-script-utils = { workspace = true } diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index 14215d16f..5c7d03f03 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -15,7 +15,7 @@ log = { workspace = true } parity-scale-codec = { workspace = true, features = [ "derive" ] } scale-info = { workspace = true, features = [ "derive" ] } serde = { workspace = true, optional = true, features = [ "derive" ] } -serde_json = { workspace = true, features = [ "arbitrary_precision" ]} +serde_json = { workspace = true, features = [ "arbitrary_precision" ] } smallvec = { workspace = true } # Own @@ -320,11 +320,11 @@ try-runtime = [ "pallet-asset-rate/try-runtime", "pallet-assets/try-runtime", "pallet-assets/try-runtime", + "pallet-async-backing/try-runtime", "pallet-author-inherent/try-runtime", "pallet-author-noting/try-runtime", "pallet-authority-assignment/try-runtime", "pallet-authority-mapping/try-runtime", - "pallet-async-backing/try-runtime", "pallet-balances/try-runtime", "pallet-collator-assignment/try-runtime", "pallet-configuration/try-runtime", diff --git a/runtime/flashbox/Cargo.toml b/runtime/flashbox/Cargo.toml index 77c0ca63a..94b26528f 100644 --- a/runtime/flashbox/Cargo.toml +++ b/runtime/flashbox/Cargo.toml @@ -249,11 +249,11 @@ try-runtime = [ "frame-system/try-runtime", "frame-try-runtime/try-runtime", "nimbus-primitives/try-runtime", + "pallet-async-backing/try-runtime", "pallet-author-inherent/try-runtime", "pallet-author-noting/try-runtime", "pallet-authority-assignment/try-runtime", "pallet-authority-mapping/try-runtime", - "pallet-async-backing/try-runtime", "pallet-balances/try-runtime", "pallet-collator-assignment/try-runtime", "pallet-configuration/try-runtime", From f35ea5dcc026ead5b99151b2f58f43c7a9d71909 Mon Sep 17 00:00:00 2001 From: girazoki Date: Tue, 20 Feb 2024 09:46:53 +0100 Subject: [PATCH 24/45] merge --- pallets/stream-payment/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/stream-payment/Cargo.toml b/pallets/stream-payment/Cargo.toml index e92c34ace..559542e1d 100644 --- a/pallets/stream-payment/Cargo.toml +++ b/pallets/stream-payment/Cargo.toml @@ -68,4 +68,4 @@ try-runtime = [ "frame-support/try-runtime", "frame-system/try-runtime", "sp-runtime/try-runtime", -] +] \ No newline at end of file From fdc1a265d795c8499ea38bf1736ced512ff7298c Mon Sep 17 00:00:00 2001 From: girazoki Date: Mon, 19 Feb 2024 16:02:23 +0100 Subject: [PATCH 25/45] fix runtime-benchmarks compilation --- .../templates/frontier/runtime/src/lib.rs | 41 ++++++++- .../templates/simple/runtime/src/lib.rs | 41 ++++++++- pallets/services-payment/src/benchmarks.rs | 4 +- runtime/dancebox/src/lib.rs | 85 ++++++++++++++++++- 4 files changed, 166 insertions(+), 5 deletions(-) diff --git a/container-chains/templates/frontier/runtime/src/lib.rs b/container-chains/templates/frontier/runtime/src/lib.rs index 0196cd3f0..112ed2658 100644 --- a/container-chains/templates/frontier/runtime/src/lib.rs +++ b/container-chains/templates/frontier/runtime/src/lib.rs @@ -901,7 +901,7 @@ mod benches { [pallet_cc_authorities_noting, AuthoritiesNoting] [pallet_author_inherent, AuthorInherent] [cumulus_pallet_xcmp_queue, XcmpQueue] - [pallet_xcm, PolkadotXcm] + [pallet_xcm, PalletXcmExtrinsicsBenchmark::] [pallet_xcm_benchmarks::generic, pallet_xcm_benchmarks::generic::Pallet::] ); } @@ -1072,6 +1072,7 @@ impl_runtime_apis! { ) { use frame_benchmarking::{Benchmarking, BenchmarkList}; use frame_support::traits::StorageInfoTrait; + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; let mut list = Vec::::new(); list_benchmarks!(list, extra); @@ -1159,6 +1160,44 @@ impl_runtime_apis! { } } + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; + impl pallet_xcm::benchmarking::Config for Runtime { + fn reachable_dest() -> Option { + Some(Parent.into()) + } + + fn teleportable_asset_and_dest() -> Option<(MultiAsset, MultiLocation)> { + // Relay/native token can be teleported between AH and Relay. + Some(( + MultiAsset { + fun: Fungible(EXISTENTIAL_DEPOSIT), + id: Concrete(Parent.into()) + }, + Parent.into(), + )) + } + + fn reserve_transferable_asset_and_dest() -> Option<(MultiAsset, MultiLocation)> { + // AH can reserve transfer native token to some random parachain. + let random_para_id = 43211234; + ParachainSystem::open_outbound_hrmp_channel_for_benchmarks_or_tests( + random_para_id.into() + ); + Some(( + MultiAsset { + fun: Fungible(EXISTENTIAL_DEPOSIT), + id: Concrete(Parent.into()) + }, + ParentThen(Parachain(random_para_id).into()).into(), + )) + } + + fn set_up_complex_asset_transfer( + ) -> Option<(MultiAssets, u32, MultiLocation, Box)> { + None + } + } + let whitelist: Vec = vec![ // Block Number hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac") diff --git a/container-chains/templates/simple/runtime/src/lib.rs b/container-chains/templates/simple/runtime/src/lib.rs index 9d3fd0f08..3228ea5e1 100644 --- a/container-chains/templates/simple/runtime/src/lib.rs +++ b/container-chains/templates/simple/runtime/src/lib.rs @@ -677,7 +677,7 @@ mod benches { [pallet_cc_authorities_noting, AuthoritiesNoting] [pallet_author_inherent, AuthorInherent] [cumulus_pallet_xcmp_queue, XcmpQueue] - [pallet_xcm, PolkadotXcm] + [pallet_xcm, PalletXcmExtrinsicsBenchmark::] [pallet_xcm_benchmarks::generic, pallet_xcm_benchmarks::generic::Pallet::] ); } @@ -792,6 +792,7 @@ impl_runtime_apis! { ) { use frame_benchmarking::{Benchmarking, BenchmarkList}; use frame_support::traits::StorageInfoTrait; + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; let mut list = Vec::::new(); list_benchmarks!(list, extra); @@ -879,6 +880,44 @@ impl_runtime_apis! { } } + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; + impl pallet_xcm::benchmarking::Config for Runtime { + fn reachable_dest() -> Option { + Some(Parent.into()) + } + + fn teleportable_asset_and_dest() -> Option<(MultiAsset, MultiLocation)> { + // Relay/native token can be teleported between AH and Relay. + Some(( + MultiAsset { + fun: Fungible(EXISTENTIAL_DEPOSIT), + id: Concrete(Parent.into()) + }, + Parent.into(), + )) + } + + fn reserve_transferable_asset_and_dest() -> Option<(MultiAsset, MultiLocation)> { + // AH can reserve transfer native token to some random parachain. + let random_para_id = 43211234; + ParachainSystem::open_outbound_hrmp_channel_for_benchmarks_or_tests( + random_para_id.into() + ); + Some(( + MultiAsset { + fun: Fungible(EXISTENTIAL_DEPOSIT), + id: Concrete(Parent.into()) + }, + ParentThen(Parachain(random_para_id).into()).into(), + )) + } + + fn set_up_complex_asset_transfer( + ) -> Option<(MultiAssets, u32, MultiLocation, Box)> { + None + } + } + let whitelist: Vec = vec![ // Block Number hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac") diff --git a/pallets/services-payment/src/benchmarks.rs b/pallets/services-payment/src/benchmarks.rs index ca767687a..7a2cb3575 100644 --- a/pallets/services-payment/src/benchmarks.rs +++ b/pallets/services-payment/src/benchmarks.rs @@ -148,8 +148,8 @@ mod benchmarks { fn on_container_author_noted() { let para_id = 1001u32; let block_cost = T::ProvideBlockProductionCost::block_cost(¶_id.into()).0; - let max_credit_stored = T::FreeBlockProductionCredits::get(); - let balance_to_purchase = block_cost.saturating_mul(max_credit_stored.into()); + let credits: BalanceOf = 1000u32.into(); + let balance_to_purchase = block_cost.saturating_mul(credits); let caller = create_funded_user::("caller", 1, 1_000_000_000u32); let existential_deposit = ::minimum_balance(); assert_ok!(Pallet::::purchase_credits( diff --git a/runtime/dancebox/src/lib.rs b/runtime/dancebox/src/lib.rs index db28c6239..9e62e6903 100644 --- a/runtime/dancebox/src/lib.rs +++ b/runtime/dancebox/src/lib.rs @@ -1658,7 +1658,7 @@ mod benches { [pallet_author_inherent, AuthorInherent] [pallet_pooled_staking, PooledStaking] [cumulus_pallet_xcmp_queue, XcmpQueue] - [pallet_xcm, PolkadotXcm] + [pallet_xcm, PalletXcmExtrinsicsBenchmark::] [pallet_xcm_benchmarks::generic, pallet_xcm_benchmarks::generic::Pallet::] [pallet_stream_payment, StreamPayment] [pallet_relay_storage_roots, RelayStorageRoots] @@ -1799,6 +1799,7 @@ impl_runtime_apis! { ) { use frame_benchmarking::{Benchmarking, BenchmarkList}; use frame_support::traits::StorageInfoTrait; + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; let mut list = Vec::::new(); list_benchmarks!(list, extra); @@ -1888,6 +1889,88 @@ impl_runtime_apis! { } } + use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark; + impl pallet_xcm::benchmarking::Config for Runtime { + fn reachable_dest() -> Option { + Some(Parent.into()) + } + + fn teleportable_asset_and_dest() -> Option<(MultiAsset, MultiLocation)> { + // Relay/native token can be teleported between AH and Relay. + Some(( + MultiAsset { + fun: Fungible(EXISTENTIAL_DEPOSIT), + id: Concrete(Parent.into()) + }, + Parent.into(), + )) + } + + fn reserve_transferable_asset_and_dest() -> Option<(MultiAsset, MultiLocation)> { + // AH can reserve transfer native token to some random parachain. + let random_para_id = 43211234; + ParachainSystem::open_outbound_hrmp_channel_for_benchmarks_or_tests( + random_para_id.into() + ); + Some(( + MultiAsset { + fun: Fungible(EXISTENTIAL_DEPOSIT), + id: Concrete(Parent.into()) + }, + ParentThen(Parachain(random_para_id).into()).into(), + )) + } + + fn set_up_complex_asset_transfer( + ) -> Option<(MultiAssets, u32, MultiLocation, Box)> { + // Transfer to Relay some local AH asset (local-reserve-transfer) while paying + // fees using teleported native token. + // (We don't care that Relay doesn't accept incoming unknown AH local asset) + let dest = Parent.into(); + + let fee_amount = EXISTENTIAL_DEPOSIT; + let fee_asset: MultiAsset = (MultiLocation::parent(), fee_amount).into(); + + let who = frame_benchmarking::whitelisted_caller(); + // Give some multiple of the existential deposit + let balance = fee_amount + EXISTENTIAL_DEPOSIT * 1000; + let _ = >::make_free_balance_be( + &who, balance, + ); + // verify initial balance + assert_eq!(Balances::free_balance(&who), balance); + + // set up local asset + let asset_amount = 10u128; + let initial_asset_amount = asset_amount * 10; + let (asset_id, _, _) = pallet_assets::benchmarking::create_default_minted_asset::< + Runtime, + pallet_assets::Instance1 + >(true, initial_asset_amount); + let asset_location = MultiLocation::new( + 0, + X2(PalletInstance(50), GeneralIndex(u32::from(asset_id).into())) + ); + let transfer_asset: MultiAsset = (asset_location, asset_amount).into(); + + let assets: MultiAssets = vec![fee_asset.clone(), transfer_asset].into(); + let fee_index = if assets.get(0).unwrap().eq(&fee_asset) { 0 } else { 1 }; + + // verify transferred successfully + let verify = Box::new(move || { + // verify native balance after transfer, decreased by transferred fee amount + // (plus transport fees) + assert!(Balances::free_balance(&who) <= balance - fee_amount); + // verify asset balance decreased by exactly transferred amount + assert_eq!( + ForeignAssets::balance(asset_id.into(), &who), + initial_asset_amount - asset_amount, + ); + }); + Some((assets, fee_index as u32, dest, verify)) + } + } + let whitelist: Vec = vec![ // Block Number hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac") From 8e3ece1e6a4b0a85f474bb8e082baa5b81aa0a66 Mon Sep 17 00:00:00 2001 From: girazoki Date: Tue, 20 Feb 2024 09:57:01 +0100 Subject: [PATCH 26/45] try-runtime to pallet-balances --- pallets/stream-payment/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pallets/stream-payment/Cargo.toml b/pallets/stream-payment/Cargo.toml index 559542e1d..cda994ee9 100644 --- a/pallets/stream-payment/Cargo.toml +++ b/pallets/stream-payment/Cargo.toml @@ -67,5 +67,6 @@ runtime-benchmarks = [ try-runtime = [ "frame-support/try-runtime", "frame-system/try-runtime", + "pallet-balances/try-runtime", "sp-runtime/try-runtime", ] \ No newline at end of file From e1ea2425584a86774855a275e5e0f2026999d4d4 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 20 Feb 2024 10:41:42 +0100 Subject: [PATCH 27/45] XcmpQueue migrations --- Cargo.lock | 1 + runtime/common/Cargo.toml | 3 ++ runtime/common/src/migrations.rs | 60 +++++++++++++++++++++++++++++++- 3 files changed, 63 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index a9fefda97..0396c6e43 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11767,6 +11767,7 @@ dependencies = [ name = "runtime-common" version = "0.1.0" dependencies = [ + "cumulus-pallet-xcmp-queue", "cumulus-primitives-core", "frame-support", "frame-system", diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml index 104b879b9..5f2ea772a 100644 --- a/runtime/common/Cargo.toml +++ b/runtime/common/Cargo.toml @@ -31,6 +31,9 @@ frame-system = { workspace = true } frame-try-runtime = { workspace = true, optional = true } pallet-balances = { workspace = true } +# Cumulus +cumulus-pallet-xcmp-queue = { workspace = true } + sp-core = { workspace = true } sp-runtime = { workspace = true } sp-std = { workspace = true } diff --git a/runtime/common/src/migrations.rs b/runtime/common/src/migrations.rs index 2c01a23e2..446c5357c 100644 --- a/runtime/common/src/migrations.rs +++ b/runtime/common/src/migrations.rs @@ -35,7 +35,7 @@ //! the "Migration" trait declared in the pallet-migrations crate. use { - frame_support::weights::Weight, + frame_support::{traits::OnRuntimeUpgrade, weights::Weight}, pallet_configuration::{weights::WeightInfo as _, HostConfiguration}, pallet_migrations::{GetMigrations, Migration}, sp_core::Get, @@ -238,6 +238,59 @@ where } } +pub struct XcmpQueueMigrationV3(pub PhantomData); +impl Migration for XcmpQueueMigrationV3 +where + T: cumulus_pallet_xcmp_queue::Config, +{ + fn friendly_name(&self) -> &str { + "MM_XcmpQueueMigrationV3" + } + + fn migrate(&self, _available_weight: Weight) -> Weight { + cumulus_pallet_xcmp_queue::migration::v3::MigrationToV3::::on_runtime_upgrade() + } + + // #[cfg(feature = "try-runtime")] + // let mut pre_upgrade_result: Vec; + + #[cfg(feature = "try-runtime")] + fn pre_upgrade(&self) -> Result, sp_runtime::DispatchError> { + cumulus_pallet_xcmp_queue::migration::v3::MigrationToV3::::pre_upgrade() + } + + // Run a standard post-runtime test. This works the same way as in a normal runtime upgrade. + #[cfg(feature = "try-runtime")] + fn post_upgrade(&self, state: Vec) -> Result<(), sp_runtime::DispatchError> { + cumulus_pallet_xcmp_queue::migration::v3::MigrationToV3::::post_upgrade(state) + } +} + +pub struct XcmpQueueMigrationV4(pub PhantomData); +impl Migration for XcmpQueueMigrationV4 +where + T: cumulus_pallet_xcmp_queue::Config, +{ + fn friendly_name(&self) -> &str { + "MM_XcmpQueueMigrationV4" + } + + fn migrate(&self, _available_weight: Weight) -> Weight { + cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4::::on_runtime_upgrade() + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade(&self) -> Result, sp_runtime::DispatchError> { + cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4::::pre_upgrade() + } + + // Run a standard post-runtime test. This works the same way as in a normal runtime upgrade. + #[cfg(feature = "try-runtime")] + fn post_upgrade(&self, state: Vec) -> Result<(), sp_runtime::DispatchError> { + cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4::::post_upgrade(state) + } +} + pub struct FlashboxMigrations(PhantomData); impl GetMigrations for FlashboxMigrations @@ -279,6 +332,7 @@ where Runtime: pallet_balances::Config, Runtime: pallet_configuration::Config, Runtime: pallet_services_payment::Config, + Runtime: cumulus_pallet_xcmp_queue::Config, ::RuntimeHoldReason: From, { @@ -299,6 +353,8 @@ where let migrate_add_collator_assignment_credits = MigrateServicesPaymentAddCollatorAssignmentCredits::(Default::default()); + let migrate_xcmp_queue_v3 = XcmpQueueMigrationV3::(Default::default()); + let migrate_xcmp_queue_v4 = XcmpQueueMigrationV4::(Default::default()); vec![ // Applied in runtime 200 //Box::new(migrate_invulnerables), @@ -318,6 +374,8 @@ where //Box::new(migrate_boot_nodes), Box::new(migrate_config_parathread_params), Box::new(migrate_add_collator_assignment_credits), + Box::new(migrate_xcmp_queue_v3), + Box::new(migrate_xcmp_queue_v4), ] } } From 33f74cdd52b9114554aebdbe6295fbd0547c798f Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 20 Feb 2024 15:08:33 +0100 Subject: [PATCH 28/45] Migrations --- Cargo.lock | 2 + .../templates/frontier/runtime/Cargo.toml | 4 + .../templates/frontier/runtime/src/lib.rs | 2 +- .../frontier/runtime/src/migrations.rs | 83 ++++--------- .../templates/simple/runtime/Cargo.toml | 4 + .../templates/simple/runtime/src/lib.rs | 4 +- .../simple/runtime/src/migrations.rs | 58 +++++++++ runtime/common/src/migrations.rs | 113 +++++++++++++++--- 8 files changed, 193 insertions(+), 77 deletions(-) create mode 100644 container-chains/templates/simple/runtime/src/migrations.rs diff --git a/Cargo.lock b/Cargo.lock index 0396c6e43..9bc689aa5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1817,6 +1817,7 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-runtime-common", "precompile-utils", + "runtime-common", "scale-info", "serde", "smallvec", @@ -1963,6 +1964,7 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-runtime-common", + "runtime-common", "scale-info", "serde", "smallvec", diff --git a/container-chains/templates/frontier/runtime/Cargo.toml b/container-chains/templates/frontier/runtime/Cargo.toml index 06ce14f63..4c2b15049 100644 --- a/container-chains/templates/frontier/runtime/Cargo.toml +++ b/container-chains/templates/frontier/runtime/Cargo.toml @@ -22,6 +22,7 @@ smallvec = { workspace = true } ccp-xcm = { workspace = true } pallet-cc-authorities-noting = { workspace = true } tp-consensus = { workspace = true } +runtime-common = { workspace = true } # Moonkit nimbus-primitives = { workspace = true } @@ -173,6 +174,7 @@ std = [ "polkadot-parachain-primitives/std", "polkadot-runtime-common/std", "precompile-utils/std", + "runtime-common/std", "scale-info/std", "serde", "serde?/std", @@ -230,6 +232,7 @@ runtime-benchmarks = [ "parachains-common/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", + "runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "staging-xcm-builder/runtime-benchmarks", "staging-xcm-executor/runtime-benchmarks", @@ -270,5 +273,6 @@ try-runtime = [ "pallet-xcm/try-runtime", "parachain-info/try-runtime", "polkadot-runtime-common/try-runtime", + "runtime-common/try-runtime", "sp-runtime/try-runtime", ] diff --git a/container-chains/templates/frontier/runtime/src/lib.rs b/container-chains/templates/frontier/runtime/src/lib.rs index 112ed2658..53e763710 100644 --- a/container-chains/templates/frontier/runtime/src/lib.rs +++ b/container-chains/templates/frontier/runtime/src/lib.rs @@ -664,7 +664,7 @@ impl xcm_primitives::PauseXcmExecution for XcmExecutionManager { impl pallet_migrations::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type MigrationsList = (migrations::TemplateMigrations,); + type MigrationsList = (migrations::TemplateMigrations,); type XcmExecutionManager = XcmExecutionManager; } diff --git a/container-chains/templates/frontier/runtime/src/migrations.rs b/container-chains/templates/frontier/runtime/src/migrations.rs index f5f0d7244..ae5c59600 100644 --- a/container-chains/templates/frontier/runtime/src/migrations.rs +++ b/container-chains/templates/frontier/runtime/src/migrations.rs @@ -21,76 +21,45 @@ use { crate::{Precompiles, LOG_TARGET}, - frame_support::weights::Weight, + frame_support::{pallet_prelude::GetStorageVersion, traits::PalletInfoAccess, weights::Weight}, pallet_migrations::{GetMigrations, Migration}, + runtime_common::migrations::{ + PolkadotXcmMigrationFixVersion, XcmpQueueMigrationFixVersion, XcmpQueueMigrationV3, + XcmpQueueMigrationV4, + }, sp_core::Get, sp_std::{marker::PhantomData, prelude::*}, }; -pub struct MigratePrecompileDummyCode(pub PhantomData); -impl Migration for MigratePrecompileDummyCode -where - T: pallet_evm::Config, - T: frame_system::Config, -{ - fn friendly_name(&self) -> &str { - "TM_MigratePrecompileCode" - } - - fn migrate(&self, _available_weight: Weight) -> Weight { - log::info!(target: LOG_TARGET, "migrate"); - let revert_bytecode = vec![0x60, 0x00, 0x60, 0x00, 0xFD]; - - let db_weights = T::DbWeight::get(); - - let mut count = 0u64; - - for address in Precompiles::used_addresses() { - pallet_evm::Pallet::::create_account(address.into(), revert_bytecode.clone()); - count += 1; - } - db_weights.reads_writes(count, count * 2) - } - /// Run a standard pre-runtime test. This works the same way as in a normal runtime upgrade. - #[cfg(feature = "try-runtime")] - fn pre_upgrade(&self) -> Result, sp_runtime::DispatchError> { - log::info!(target: LOG_TARGET, "pre_upgrade"); +pub struct TemplateMigrations( + PhantomData<(Runtime, XcmpQueue, PolkadotXcm)>, +); - for address in Precompiles::used_addresses() { - let account: sp_core::H160 = address.into(); - assert!(pallet_evm::AccountCodes::::get(account).is_empty()); - } - Ok(vec![]) - } - - /// Run a standard post-runtime test. This works the same way as in a normal runtime upgrade. - #[cfg(feature = "try-runtime")] - fn post_upgrade(&self, _: Vec) -> Result<(), sp_runtime::DispatchError> { - log::info!(target: LOG_TARGET, "post_upgrade"); - let revert_bytecode = vec![0x60, 0x00, 0x60, 0x00, 0xFD]; - for address in Precompiles::used_addresses() { - let account: sp_core::H160 = address.into(); - assert_eq!(pallet_evm::AccountCodes::::get(account), revert_bytecode); - } - - Ok(()) - } -} - -pub struct TemplateMigrations(PhantomData); - -impl GetMigrations for TemplateMigrations +impl GetMigrations + for TemplateMigrations where + PolkadotXcm: GetStorageVersion + PalletInfoAccess + 'static, + XcmpQueue: GetStorageVersion + PalletInfoAccess + 'static, Runtime: pallet_evm::Config, Runtime: frame_system::Config, + Runtime: cumulus_pallet_xcmp_queue::Config, { fn get_migrations() -> Vec> { - let migrate_precompiles = MigratePrecompileDummyCode::(Default::default()); - + // let migrate_precompiles = MigratePrecompileDummyCode::(Default::default()); + let migrate_polkadot_xcm_v1 = + PolkadotXcmMigrationFixVersion::(Default::default()); + let migrate_xcmp_queue_v2 = + XcmpQueueMigrationFixVersion::(Default::default()); + let migrate_xcmp_queue_v3 = XcmpQueueMigrationV3::(Default::default()); + let migrate_xcmp_queue_v4 = XcmpQueueMigrationV4::(Default::default()); vec![ - // Comment after runtime 300 - Box::new(migrate_precompiles), + // Applied in runtime 400 + // Box::new(migrate_precompiles), + Box::new(migrate_polkadot_xcm_v1), + Box::new(migrate_xcmp_queue_v2), + Box::new(migrate_xcmp_queue_v3), + Box::new(migrate_xcmp_queue_v4), ] } } diff --git a/container-chains/templates/simple/runtime/Cargo.toml b/container-chains/templates/simple/runtime/Cargo.toml index ad340f0b2..1e1d930ae 100644 --- a/container-chains/templates/simple/runtime/Cargo.toml +++ b/container-chains/templates/simple/runtime/Cargo.toml @@ -20,6 +20,7 @@ smallvec = { workspace = true } # Local pallet-cc-authorities-noting = { workspace = true } tp-consensus = { workspace = true } +runtime-common = { workspace = true } # Moonkit nimbus-primitives = { workspace = true } @@ -133,6 +134,7 @@ std = [ "parity-scale-codec/std", "polkadot-parachain-primitives/std", "polkadot-runtime-common/std", + "runtime-common/std", "scale-info/std", "serde", "serde?/std", @@ -186,6 +188,7 @@ runtime-benchmarks = [ "parachains-common/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", + "runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "staging-xcm-builder/runtime-benchmarks", "staging-xcm-executor/runtime-benchmarks", @@ -222,5 +225,6 @@ try-runtime = [ "pallet-xcm/try-runtime", "parachain-info/try-runtime", "polkadot-runtime-common/try-runtime", + "runtime-common/try-runtime", "sp-runtime/try-runtime", ] diff --git a/container-chains/templates/simple/runtime/src/lib.rs b/container-chains/templates/simple/runtime/src/lib.rs index 3228ea5e1..7e4497e28 100644 --- a/container-chains/templates/simple/runtime/src/lib.rs +++ b/container-chains/templates/simple/runtime/src/lib.rs @@ -28,6 +28,8 @@ use sp_version::NativeVersion; #[cfg(any(feature = "std", test))] pub use sp_runtime::BuildStorage; +pub mod migrations; + pub use sp_runtime::{MultiAddress, Perbill, Permill}; use { cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases, @@ -550,7 +552,7 @@ impl xcm_primitives::PauseXcmExecution for XcmExecutionManager { impl pallet_migrations::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type MigrationsList = (); + type MigrationsList = (migrations::TemplateMigrations,); type XcmExecutionManager = XcmExecutionManager; } diff --git a/container-chains/templates/simple/runtime/src/migrations.rs b/container-chains/templates/simple/runtime/src/migrations.rs new file mode 100644 index 000000000..36c644530 --- /dev/null +++ b/container-chains/templates/simple/runtime/src/migrations.rs @@ -0,0 +1,58 @@ +// Copyright (C) Moondance Labs Ltd. +// This file is part of Tanssi. + +// Tanssi 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. + +// Tanssi 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 Tanssi. If not, see + +//! # Migrations +//! +//! This module acts as a registry where each migration is defined. Each migration should implement +//! the "Migration" trait declared in the pallet-migrations crate. + +use { + frame_support::{pallet_prelude::GetStorageVersion, traits::PalletInfoAccess}, + pallet_migrations::{GetMigrations, Migration}, + runtime_common::migrations::{ + PolkadotXcmMigrationFixVersion, XcmpQueueMigrationFixVersion, XcmpQueueMigrationV3, + XcmpQueueMigrationV4, + }, + sp_std::{marker::PhantomData, prelude::*}, +}; + +pub struct TemplateMigrations( + PhantomData<(Runtime, XcmpQueue, PolkadotXcm)>, +); + +impl GetMigrations + for TemplateMigrations +where + PolkadotXcm: GetStorageVersion + PalletInfoAccess + 'static, + XcmpQueue: GetStorageVersion + PalletInfoAccess + 'static, + Runtime: frame_system::Config, + Runtime: cumulus_pallet_xcmp_queue::Config, +{ + fn get_migrations() -> Vec> { + let migrate_polkadot_xcm_v1 = + PolkadotXcmMigrationFixVersion::(Default::default()); + let migrate_xcmp_queue_v2 = + XcmpQueueMigrationFixVersion::(Default::default()); + let migrate_xcmp_queue_v3 = XcmpQueueMigrationV3::(Default::default()); + let migrate_xcmp_queue_v4 = XcmpQueueMigrationV4::(Default::default()); + vec![ + Box::new(migrate_polkadot_xcm_v1), + Box::new(migrate_xcmp_queue_v2), + Box::new(migrate_xcmp_queue_v3), + Box::new(migrate_xcmp_queue_v4), + ] + } +} diff --git a/runtime/common/src/migrations.rs b/runtime/common/src/migrations.rs index 446c5357c..ea114a050 100644 --- a/runtime/common/src/migrations.rs +++ b/runtime/common/src/migrations.rs @@ -34,8 +34,15 @@ //! This module acts as a registry where each migration is defined. Each migration should implement //! the "Migration" trait declared in the pallet-migrations crate. +#[cfg(feature = "try-runtime")] +use frame_support::ensure; + use { - frame_support::{traits::OnRuntimeUpgrade, weights::Weight}, + frame_support::{ + pallet_prelude::GetStorageVersion, + traits::{OnRuntimeUpgrade, PalletInfoAccess, StorageVersion}, + weights::Weight, + }, pallet_configuration::{weights::WeightInfo as _, HostConfiguration}, pallet_migrations::{GetMigrations, Migration}, sp_core::Get, @@ -238,6 +245,79 @@ where } } +pub struct PolkadotXcmMigrationFixVersion(pub PhantomData<(T, PolkadotXcm)>); +impl Migration for PolkadotXcmMigrationFixVersion +where + PolkadotXcm: GetStorageVersion + PalletInfoAccess, + T: cumulus_pallet_xcmp_queue::Config, +{ + fn friendly_name(&self) -> &str { + "MM_PolkadotXcmMigrationFixVersion" + } + + fn migrate(&self, _available_weight: Weight) -> Weight { + StorageVersion::new(1).put::(); + T::DbWeight::get().writes(1) + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade(&self) -> Result, sp_runtime::DispatchError> { + ensure!( + ::on_chain_storage_version() == 0, + "PolkadotXcm storage version should be 0" + ); + Ok(vec![]) + } + + // Run a standard post-runtime test. This works the same way as in a normal runtime upgrade. + #[cfg(feature = "try-runtime")] + fn post_upgrade(&self, _state: Vec) -> Result<(), sp_runtime::DispatchError> { + ensure!( + ::on_chain_storage_version() == 1, + "PolkadotXcm storage version should be 1" + ); + Ok(()) + } +} + +pub struct XcmpQueueMigrationFixVersion(pub PhantomData<(T, XcmpQueue)>); +impl Migration for XcmpQueueMigrationFixVersion +where + XcmpQueue: GetStorageVersion + PalletInfoAccess, + T: cumulus_pallet_xcmp_queue::Config, +{ + fn friendly_name(&self) -> &str { + "MM_XcmpQueueMigrationFixVersion" + } + + fn migrate(&self, _available_weight: Weight) -> Weight { + StorageVersion::new(2).put::(); + T::DbWeight::get().writes(1) + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade(&self) -> Result, sp_runtime::DispatchError> { + ensure!( + ::on_chain_storage_version() == 0, + "XcmpQueue storage version should be 0" + ); + Ok(vec![]) + } + + // Run a standard post-runtime test. This works the same way as in a normal runtime upgrade. + #[cfg(feature = "try-runtime")] + fn post_upgrade(&self, _state: Vec) -> Result<(), sp_runtime::DispatchError> { + // Greater than because the post_upgrade is run after all the migrations, so + // it can be greater if the following XcmpQueue migrations are applied in the + // same runtime + ensure!( + ::on_chain_storage_version() >= 2, + "XcmpQueue storage version should be at least 2" + ); + Ok(()) + } +} + pub struct XcmpQueueMigrationV3(pub PhantomData); impl Migration for XcmpQueueMigrationV3 where @@ -246,14 +326,14 @@ where fn friendly_name(&self) -> &str { "MM_XcmpQueueMigrationV3" } - + fn migrate(&self, _available_weight: Weight) -> Weight { cumulus_pallet_xcmp_queue::migration::v3::MigrationToV3::::on_runtime_upgrade() } // #[cfg(feature = "try-runtime")] // let mut pre_upgrade_result: Vec; - + #[cfg(feature = "try-runtime")] fn pre_upgrade(&self) -> Result, sp_runtime::DispatchError> { cumulus_pallet_xcmp_queue::migration::v3::MigrationToV3::::pre_upgrade() @@ -261,7 +341,7 @@ where // Run a standard post-runtime test. This works the same way as in a normal runtime upgrade. #[cfg(feature = "try-runtime")] - fn post_upgrade(&self, state: Vec) -> Result<(), sp_runtime::DispatchError> { + fn post_upgrade(&self, state: Vec) -> Result<(), sp_runtime::DispatchError> { cumulus_pallet_xcmp_queue::migration::v3::MigrationToV3::::post_upgrade(state) } } @@ -286,7 +366,7 @@ where // Run a standard post-runtime test. This works the same way as in a normal runtime upgrade. #[cfg(feature = "try-runtime")] - fn post_upgrade(&self, state: Vec) -> Result<(), sp_runtime::DispatchError> { + fn post_upgrade(&self, state: Vec) -> Result<(), sp_runtime::DispatchError> { cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4::::post_upgrade(state) } } @@ -337,23 +417,21 @@ where From, { fn get_migrations() -> Vec> { - //let migrate_invulnerables = MigrateInvulnerables::(Default::default()); - //let migrate_holds = MigrateHoldReason::(Default::default()); - //let migrate_config = MigrateConfigurationFullRotationPeriod::(Default::default()); - //let migrate_xcm = PolkadotXcmMigration::(Default::default()); + // let migrate_invulnerables = MigrateInvulnerables::(Default::default()); + // let migrate_holds = MigrateHoldReason::(Default::default()); + // let migrate_config = MigrateConfigurationFullRotationPeriod::(Default::default()); + // let migrate_xcm = PolkadotXcmMigration::(Default::default()); // let migrate_xcmp_queue = XcmpQueueMigration::(Default::default()); - //let migrate_services_payment = - // MigrateServicesPaymentAddCredits::(Default::default()); - //let migrate_boot_nodes = MigrateBootNodes::(Default::default()); + // let migrate_services_payment = + // MigrateServicesPaymentAddCredits::(Default::default()); + // let migrate_boot_nodes = MigrateBootNodes::(Default::default()); + // let migrate_hold_reason_runtime_enum = + // MigrateHoldReasonRuntimeEnum::(Default::default()); + let migrate_config_parathread_params = MigrateConfigurationParathreads::(Default::default()); - - //let migrate_hold_reason_runtime_enum = - // MigrateHoldReasonRuntimeEnum::(Default::default()); - let migrate_add_collator_assignment_credits = MigrateServicesPaymentAddCollatorAssignmentCredits::(Default::default()); - let migrate_xcmp_queue_v3 = XcmpQueueMigrationV3::(Default::default()); let migrate_xcmp_queue_v4 = XcmpQueueMigrationV4::(Default::default()); vec![ // Applied in runtime 200 @@ -374,7 +452,6 @@ where //Box::new(migrate_boot_nodes), Box::new(migrate_config_parathread_params), Box::new(migrate_add_collator_assignment_credits), - Box::new(migrate_xcmp_queue_v3), Box::new(migrate_xcmp_queue_v4), ] } From e4c461f4f2e5291b783e99f1f46e76828de739e1 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 20 Feb 2024 16:02:45 +0100 Subject: [PATCH 29/45] try-runtime --- .../templates/frontier/node/src/command.rs | 45 +---- .../templates/frontier/runtime/src/lib.rs | 2 - .../frontier/runtime/src/migrations.rs | 5 +- .../templates/simple/node/src/command.rs | 165 +++++++----------- node/src/command.rs | 48 +---- runtime/common/src/migrations.rs | 14 +- runtime/dancebox/src/lib.rs | 3 - runtime/flashbox/src/lib.rs | 3 - 8 files changed, 84 insertions(+), 201 deletions(-) diff --git a/container-chains/templates/frontier/node/src/command.rs b/container-chains/templates/frontier/node/src/command.rs index 39c76fda4..f65256837 100644 --- a/container-chains/templates/frontier/node/src/command.rs +++ b/container-chains/templates/frontier/node/src/command.rs @@ -41,14 +41,6 @@ use { std::net::SocketAddr, }; -#[cfg(feature = "try-runtime")] -use { - crate::client::TemplateRuntimeExecutor, try_runtime_cli::block_building_info::substrate_info, -}; - -#[cfg(feature = "try-runtime")] -const SLOT_DURATION: u64 = 12; - fn load_spec(id: &str, para_id: ParaId) -> std::result::Result, String> { Ok(match id { "dev" => Box::new(chain_spec::development_config(para_id, vec![])), @@ -288,40 +280,11 @@ pub fn run() -> Result<()> { _ => Err("Benchmarking sub-command unsupported".into()), } } - #[cfg(feature = "try-runtime")] - Some(Subcommand::TryRuntime(cmd)) => { - let runner = cli.create_runner(cmd)?; - - use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch}; - type HostFunctionsOf = ExtendedHostFunctions< - sp_io::SubstrateHostFunctions, - ::ExtendHostFunctions, - >; - - // grab the task manager. - let registry = &runner - .config() - .prometheus_config - .as_ref() - .map(|cfg| &cfg.registry); - let task_manager = - sc_service::TaskManager::new(runner.config().tokio_handle.clone(), *registry) - .map_err(|e| format!("Error: {:?}", e))?; - - let info_provider = substrate_info(SLOT_DURATION); - runner.async_run(|_| { - Ok(( - cmd.run::, _>(Some( - info_provider, - )), - task_manager, - )) - }) + Some(Subcommand::TryRuntime(_)) => { + Err("Substrate's `try-runtime` subcommand has been migrated \ + to a standalone CLI (https://github.com/paritytech/try-runtime-cli)" + .into()) } - #[cfg(not(feature = "try-runtime"))] - Some(Subcommand::TryRuntime) => Err("Try-runtime was not enabled when building the node. \ - You can enable it with `--features try-runtime`." - .into()), None => { let runner = cli.create_runner(&cli.run.normalize())?; let collator_options = cli.run.collator_options(); diff --git a/container-chains/templates/frontier/runtime/src/lib.rs b/container-chains/templates/frontier/runtime/src/lib.rs index 53e763710..6bf256d81 100644 --- a/container-chains/templates/frontier/runtime/src/lib.rs +++ b/container-chains/templates/frontier/runtime/src/lib.rs @@ -98,8 +98,6 @@ pub use { // Polkadot imports use polkadot_runtime_common::BlockHashCount; -const LOG_TARGET: &str = "runtime::evm_template"; - pub type Precompiles = TemplatePrecompiles; /// Alias to 512-bit hash when used in the context of a transaction signature on the chain. diff --git a/container-chains/templates/frontier/runtime/src/migrations.rs b/container-chains/templates/frontier/runtime/src/migrations.rs index ae5c59600..cd50a67a0 100644 --- a/container-chains/templates/frontier/runtime/src/migrations.rs +++ b/container-chains/templates/frontier/runtime/src/migrations.rs @@ -20,18 +20,15 @@ //! the "Migration" trait declared in the pallet-migrations crate. use { - crate::{Precompiles, LOG_TARGET}, - frame_support::{pallet_prelude::GetStorageVersion, traits::PalletInfoAccess, weights::Weight}, + frame_support::{pallet_prelude::GetStorageVersion, traits::PalletInfoAccess}, pallet_migrations::{GetMigrations, Migration}, runtime_common::migrations::{ PolkadotXcmMigrationFixVersion, XcmpQueueMigrationFixVersion, XcmpQueueMigrationV3, XcmpQueueMigrationV4, }, - sp_core::Get, sp_std::{marker::PhantomData, prelude::*}, }; - pub struct TemplateMigrations( PhantomData<(Runtime, XcmpQueue, PolkadotXcm)>, ); diff --git a/container-chains/templates/simple/node/src/command.rs b/container-chains/templates/simple/node/src/command.rs index 0bf52fc34..aea2b39a0 100644 --- a/container-chains/templates/simple/node/src/command.rs +++ b/container-chains/templates/simple/node/src/command.rs @@ -38,14 +38,6 @@ use { std::net::SocketAddr, }; -#[cfg(feature = "try-runtime")] -use { - crate::service::ParachainNativeExecutor, try_runtime_cli::block_building_info::substrate_info, -}; - -#[cfg(feature = "try-runtime")] -const SLOT_DURATION: u64 = 12; - fn load_spec(id: &str, para_id: ParaId) -> std::result::Result, String> { Ok(match id { "dev" => Box::new(chain_spec::development_config(para_id, vec![])), @@ -69,9 +61,9 @@ impl SubstrateCli for Cli { fn description() -> String { format!( "Parachain Collator Template\n\nThe command-line arguments provided first will be \ - passed to the parachain node, while the arguments provided after -- will be passed \ - to the relay chain node.\n\n\ - {} -- ", + passed to the parachain node, while the arguments provided after -- will be passed \ + to the relay chain node.\n\n\ + {} -- ", Self::executable_name() ) } @@ -105,9 +97,9 @@ impl SubstrateCli for RelayChainCli { fn description() -> String { format!( "Parachain Collator Template\n\nThe command-line arguments provided first will be \ - passed to the parachain node, while the arguments provided after -- will be passed \ - to the relay chain node.\n\n\ - {} -- ", + passed to the parachain node, while the arguments provided after -- will be passed \ + to the relay chain node.\n\n\ + {} -- ", Self::executable_name() ) } @@ -130,16 +122,16 @@ impl SubstrateCli for RelayChainCli { } macro_rules! construct_async_run { - (|$components:ident, $cli:ident, $cmd:ident, $config:ident| $( $code:tt )* ) => {{ - let runner = $cli.create_runner($cmd)?; - runner.async_run(|$config| { - let $components = NodeConfig::new_builder(&$config, None)?; + (|$components:ident, $cli:ident, $cmd:ident, $config:ident| $( $code:tt )* ) => {{ + let runner = $cli.create_runner($cmd)?; + runner.async_run(|$config| { + let $components = NodeConfig::new_builder(&$config, None)?; let inner = { $( $code )* }; - let task_manager = $components.task_manager; - inner.map(|v| (v, task_manager)) - }) - }} + let task_manager = $components.task_manager; + inner.map(|v| (v, task_manager)) + }) + }} } /// Parse command line arguments into service configuration. @@ -239,7 +231,7 @@ pub fn run() -> Result<()> { runner.sync_run(|config| cmd.run::(config)) } else { Err("Benchmarking wasn't enabled when building the node. \ - You can enable it with `--features runtime-benchmarks`." + You can enable it with `--features runtime-benchmarks`." .into()) } } @@ -250,7 +242,7 @@ pub fn run() -> Result<()> { #[cfg(not(feature = "runtime-benchmarks"))] BenchmarkCmd::Storage(_) => Err(sc_cli::Error::Input( "Compile with --features=runtime-benchmarks \ - to enable storage benchmarks." + to enable storage benchmarks." .into(), )), #[cfg(feature = "runtime-benchmarks")] @@ -269,115 +261,86 @@ pub fn run() -> Result<()> { _ => Err("Benchmarking sub-command unsupported".into()), } } - #[cfg(feature = "try-runtime")] - Some(Subcommand::TryRuntime(cmd)) => { - let runner = cli.create_runner(cmd)?; - - use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch}; - type HostFunctionsOf = ExtendedHostFunctions< - sp_io::SubstrateHostFunctions, - ::ExtendHostFunctions, - >; - - // grab the task manager. - let registry = &runner - .config() - .prometheus_config - .as_ref() - .map(|cfg| &cfg.registry); - let task_manager = - sc_service::TaskManager::new(runner.config().tokio_handle.clone(), *registry) - .map_err(|e| format!("Error: {:?}", e))?; - - let info_provider = substrate_info(SLOT_DURATION); - runner.async_run(|_| { - Ok(( - cmd.run::, _>(Some( - info_provider, - )), - task_manager, - )) - }) + Some(Subcommand::TryRuntime(_)) => { + Err("Substrate's `try-runtime` subcommand has been migrated \ + to a standalone CLI (https://github.com/paritytech/try-runtime-cli)" + .into()) } - #[cfg(not(feature = "try-runtime"))] - Some(Subcommand::TryRuntime) => Err("Try-runtime was not enabled when building the node. \ - You can enable it with `--features try-runtime`." - .into()), None => { let runner = cli.create_runner(&cli.run.normalize())?; let collator_options = cli.run.collator_options(); runner.run_node_until_exit(|config| async move { - let hwbench = (!cli.no_hardware_benchmarks).then_some( - config.database.path().map(|database_path| { - let _ = std::fs::create_dir_all(database_path); - sc_sysinfo::gather_hwbench(Some(database_path)) - })).flatten(); + let hwbench = (!cli.no_hardware_benchmarks).then_some( + config.database.path().map(|database_path| { + let _ = std::fs::create_dir_all(database_path); + sc_sysinfo::gather_hwbench(Some(database_path)) + })).flatten(); - let para_id = chain_spec::Extensions::try_get(&*config.chain_spec) - .map(|e| e.para_id) - .ok_or("Could not find parachain ID in chain-spec.")?; + let para_id = chain_spec::Extensions::try_get(&*config.chain_spec) + .map(|e| e.para_id) + .ok_or("Could not find parachain ID in chain-spec.")?; - let polkadot_cli = RelayChainCli::new( - &config, - [RelayChainCli::executable_name()].iter().chain(cli.relay_chain_args.iter()), - ); + let polkadot_cli = RelayChainCli::new( + &config, + [RelayChainCli::executable_name()].iter().chain(cli.relay_chain_args.iter()), + ); let extension = chain_spec::Extensions::try_get(&*config.chain_spec); let relay_chain_id = extension.map(|e| e.relay_chain.clone()); let dev_service = - config.chain_spec.is_dev() || relay_chain_id == Some("dev-service".to_string()); + config.chain_spec.is_dev() || relay_chain_id == Some("dev-service".to_string()); let id = ParaId::from(para_id); if dev_service { - return crate::service::start_dev_node(config, cli.run.sealing, id, hwbench).await + return crate::service::start_dev_node(config, cli.run.sealing, id, hwbench).await .map_err(Into::into) - } + } - let parachain_account = - AccountIdConversion::::into_account_truncating(&id); + let parachain_account = + AccountIdConversion::::into_account_truncating(&id); // We log both genesis states for reference, as fetching it from runtime would take significant time - let block_state_v0: Block = generate_genesis_block(&*config.chain_spec, sp_runtime::StateVersion::V0) - .map_err(|e| format!("{:?}", e))?; + let block_state_v0: Block = generate_genesis_block(&*config.chain_spec, sp_runtime::StateVersion::V0) + .map_err(|e| format!("{:?}", e))?; let block_state_v1: Block = generate_genesis_block(&*config.chain_spec, sp_runtime::StateVersion::V1) - .map_err(|e| format!("{:?}", e))?; + .map_err(|e| format!("{:?}", e))?; - let genesis_state_v0 = format!("0x{:?}", HexDisplay::from(&block_state_v0.header().encode())); - let genesis_state_v1 = format!("0x{:?}", HexDisplay::from(&block_state_v1.header().encode())); + let genesis_state_v0 = format!("0x{:?}", HexDisplay::from(&block_state_v0.header().encode())); + let genesis_state_v1 = format!("0x{:?}", HexDisplay::from(&block_state_v1.header().encode())); - let tokio_handle = config.tokio_handle.clone(); - let polkadot_config = - SubstrateCli::create_configuration(&polkadot_cli, &polkadot_cli, tokio_handle) - .map_err(|err| format!("Relay chain argument error: {}", err))?; + let tokio_handle = config.tokio_handle.clone(); + let polkadot_config = + SubstrateCli::create_configuration(&polkadot_cli, &polkadot_cli, tokio_handle) + .map_err(|err| format!("Relay chain argument error: {}", err))?; - info!("Parachain id: {:?}", id); - info!("Parachain Account: {}", parachain_account); - info!("Parachain genesis state V0: {}", genesis_state_v0); + info!("Parachain id: {:?}", id); + info!("Parachain Account: {}", parachain_account); + info!("Parachain genesis state V0: {}", genesis_state_v0); info!("Parachain genesis state V1: {}", genesis_state_v1); info!("Is collating: {}", if config.role.is_authority() { "yes" } else { "no" }); if let cumulus_client_cli::RelayChainMode::ExternalRpc(rpc_target_urls) = - collator_options.clone().relay_chain_mode { - if !rpc_target_urls.is_empty() && !cli.relay_chain_args.is_empty() { - warn!("Detected relay chain node arguments together with --relay-chain-rpc-url. This command starts a minimal Polkadot node that only uses a network-related subset of all relay chain CLI options."); - } + collator_options.clone().relay_chain_mode { + if !rpc_target_urls.is_empty() && !cli.relay_chain_args.is_empty() { + warn!("Detected relay chain node arguments together with --relay-chain-rpc-url. This command starts a minimal Polkadot node that only uses a network-related subset of all relay chain CLI options."); + } } - crate::service::start_parachain_node( - config, - polkadot_config, - collator_options, - id, - hwbench, - ) - .await - .map(|r| r.0) - .map_err(Into::into) - }) + crate::service::start_parachain_node( + config, + polkadot_config, + collator_options, + id, + hwbench, + ) + .await + .map(|r| r.0) + .map_err(Into::into) + }) } } } diff --git a/node/src/command.rs b/node/src/command.rs index 94f351d8b..0d34bdb13 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -38,9 +38,6 @@ use { std::{io::Write, net::SocketAddr}, }; -#[cfg(feature = "try-runtime")] -use crate::service::ParachainNativeExecutor; - fn load_spec(id: &str, para_id: ParaId) -> std::result::Result, String> { Ok(match id { "dev" => Box::new(chain_spec::dancebox::development_config( @@ -412,47 +409,12 @@ pub fn run() -> Result<()> { _ => Err("Benchmarking sub-command unsupported".into()), } } - #[cfg(feature = "try-runtime")] - Some(Subcommand::TryRuntime(cmd)) => { - use { - dancebox_runtime::MILLISECS_PER_BLOCK, - sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch}, - try_runtime_cli::block_building_info::timestamp_with_aura_info, - }; - - let runner = cli.create_runner(cmd)?; - - type HostFunctionsOf = ExtendedHostFunctions< - sp_io::SubstrateHostFunctions, - ::ExtendHostFunctions, - >; - - // grab the task manager. - let registry = &runner - .config() - .prometheus_config - .as_ref() - .map(|cfg| &cfg.registry); - let task_manager = - sc_service::TaskManager::new(runner.config().tokio_handle.clone(), *registry) - .map_err(|e| format!("Error: {:?}", e))?; - - let info_provider = timestamp_with_aura_info(MILLISECS_PER_BLOCK); - - runner.async_run(|_| { - Ok(( - cmd.run::, _>(Some( - info_provider, - )), - task_manager, - )) - }) - } - #[cfg(not(feature = "try-runtime"))] - Some(Subcommand::TryRuntime) => Err("Try-runtime was not enabled when building the node. \ - You can enable it with `--features try-runtime`." - .into()), Some(Subcommand::Key(cmd)) => Ok(cmd.run(&cli)?), + Some(Subcommand::TryRuntime(_)) => { + Err("Substrate's `try-runtime` subcommand has been migrated \ + to a standalone CLI (https://github.com/paritytech/try-runtime-cli)" + .into()) + } None => { let runner = cli.create_runner(&cli.run.normalize())?; let collator_options = cli.run.collator_options(); diff --git a/runtime/common/src/migrations.rs b/runtime/common/src/migrations.rs index ea114a050..6e52584c0 100644 --- a/runtime/common/src/migrations.rs +++ b/runtime/common/src/migrations.rs @@ -256,8 +256,11 @@ where } fn migrate(&self, _available_weight: Weight) -> Weight { - StorageVersion::new(1).put::(); - T::DbWeight::get().writes(1) + if ::on_chain_storage_version() == 0 { + StorageVersion::new(1).put::(); + return T::DbWeight::get().writes(1); + } + Weight::default() } #[cfg(feature = "try-runtime")] @@ -291,8 +294,11 @@ where } fn migrate(&self, _available_weight: Weight) -> Weight { - StorageVersion::new(2).put::(); - T::DbWeight::get().writes(1) + if ::on_chain_storage_version() == 0 { + StorageVersion::new(2).put::(); + return T::DbWeight::get().writes(1); + } + Weight::default() } #[cfg(feature = "try-runtime")] diff --git a/runtime/dancebox/src/lib.rs b/runtime/dancebox/src/lib.rs index 9e62e6903..e4c879de2 100644 --- a/runtime/dancebox/src/lib.rs +++ b/runtime/dancebox/src/lib.rs @@ -32,9 +32,6 @@ pub use sp_runtime::BuildStorage; pub mod weights; -#[cfg(feature = "try-runtime")] -use sp_runtime::TryRuntimeError; - use { cumulus_pallet_parachain_system::{RelayChainStateProof, RelayNumberStrictlyIncreases}, cumulus_primitives_core::{ diff --git a/runtime/flashbox/src/lib.rs b/runtime/flashbox/src/lib.rs index 526d5ddcb..546a8ebbf 100644 --- a/runtime/flashbox/src/lib.rs +++ b/runtime/flashbox/src/lib.rs @@ -29,9 +29,6 @@ use sp_version::NativeVersion; #[cfg(any(feature = "std", test))] pub use sp_runtime::BuildStorage; -#[cfg(feature = "try-runtime")] -use sp_runtime::TryRuntimeError; - use { cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases, cumulus_primitives_core::{relay_chain::SessionIndex, BodyId, ParaId}, From e59d5cb540406e77b423f93b303a69100d1d6ae8 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 20 Feb 2024 16:05:58 +0100 Subject: [PATCH 30/45] zepter --- container-chains/templates/frontier/node/Cargo.toml | 1 + container-chains/templates/frontier/runtime/Cargo.toml | 3 +++ container-chains/templates/simple/node/Cargo.toml | 1 + container-chains/templates/simple/runtime/Cargo.toml | 3 +++ node/Cargo.toml | 1 + pallets/author-noting/Cargo.toml | 1 + pallets/services-payment/Cargo.toml | 1 + primitives/consensus/Cargo.toml | 1 + primitives/traits/Cargo.toml | 1 + runtime/common/Cargo.toml | 4 ++++ runtime/dancebox/Cargo.toml | 5 +++++ runtime/flashbox/Cargo.toml | 2 ++ 12 files changed, 24 insertions(+) diff --git a/container-chains/templates/frontier/node/Cargo.toml b/container-chains/templates/frontier/node/Cargo.toml index ab91091f9..e80a2befd 100644 --- a/container-chains/templates/frontier/node/Cargo.toml +++ b/container-chains/templates/frontier/node/Cargo.toml @@ -124,6 +124,7 @@ runtime-benchmarks = [ "polkadot-service/runtime-benchmarks", "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ "container-chain-template-frontier-runtime/try-runtime", diff --git a/container-chains/templates/frontier/runtime/Cargo.toml b/container-chains/templates/frontier/runtime/Cargo.toml index 4c2b15049..1df4a224b 100644 --- a/container-chains/templates/frontier/runtime/Cargo.toml +++ b/container-chains/templates/frontier/runtime/Cargo.toml @@ -197,6 +197,7 @@ std = [ "staging-xcm/std", "tp-consensus/std", "xcm-primitives/std", + "sp-genesis-builder/std" ] # Allow to print logs details (no wasm:stripped) @@ -238,6 +239,8 @@ runtime-benchmarks = [ "staging-xcm-executor/runtime-benchmarks", "tp-consensus/runtime-benchmarks", "xcm-primitives/runtime-benchmarks", + "cumulus-pallet-dmp-queue/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ diff --git a/container-chains/templates/simple/node/Cargo.toml b/container-chains/templates/simple/node/Cargo.toml index b016005eb..90f0d62c3 100644 --- a/container-chains/templates/simple/node/Cargo.toml +++ b/container-chains/templates/simple/node/Cargo.toml @@ -103,6 +103,7 @@ runtime-benchmarks = [ "polkadot-service/runtime-benchmarks", "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ "container-chain-template-simple-runtime/try-runtime", diff --git a/container-chains/templates/simple/runtime/Cargo.toml b/container-chains/templates/simple/runtime/Cargo.toml index 1e1d930ae..8eafaaa1a 100644 --- a/container-chains/templates/simple/runtime/Cargo.toml +++ b/container-chains/templates/simple/runtime/Cargo.toml @@ -157,6 +157,7 @@ std = [ "staging-xcm/std", "tp-consensus/std", "xcm-primitives/std", + "sp-genesis-builder/std" ] # Allow to print logs details (no wasm:stripped) @@ -194,6 +195,8 @@ runtime-benchmarks = [ "staging-xcm-executor/runtime-benchmarks", "tp-consensus/runtime-benchmarks", "xcm-primitives/runtime-benchmarks", + "cumulus-pallet-dmp-queue/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ diff --git a/node/Cargo.toml b/node/Cargo.toml index ee105be41..d4c7ecca7 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -120,6 +120,7 @@ runtime-benchmarks = [ "polkadot-service/runtime-benchmarks", "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ "dancebox-runtime/try-runtime", "flashbox-runtime/try-runtime", "nimbus-primitives/try-runtime", "pallet-configuration/try-runtime", "polkadot-cli/try-runtime", "polkadot-service/try-runtime", "sp-runtime/try-runtime", "try-runtime-cli/try-runtime" ] diff --git a/pallets/author-noting/Cargo.toml b/pallets/author-noting/Cargo.toml index b4d4817e4..9cccb996a 100644 --- a/pallets/author-noting/Cargo.toml +++ b/pallets/author-noting/Cargo.toml @@ -89,6 +89,7 @@ runtime-benchmarks = [ "polkadot-primitives/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "tp-traits/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ "cumulus-pallet-parachain-system/try-runtime", diff --git a/pallets/services-payment/Cargo.toml b/pallets/services-payment/Cargo.toml index 099768739..af4c7fc66 100644 --- a/pallets/services-payment/Cargo.toml +++ b/pallets/services-payment/Cargo.toml @@ -53,6 +53,7 @@ runtime-benchmarks = [ "pallet-balances/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "tp-traits/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ "frame-support/try-runtime", diff --git a/primitives/consensus/Cargo.toml b/primitives/consensus/Cargo.toml index 5226d895c..638b0ced0 100644 --- a/primitives/consensus/Cargo.toml +++ b/primitives/consensus/Cargo.toml @@ -49,4 +49,5 @@ runtime-benchmarks = [ "frame-system/runtime-benchmarks", "nimbus-primitives/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks" ] diff --git a/primitives/traits/Cargo.toml b/primitives/traits/Cargo.toml index 621360dba..6926f2f14 100644 --- a/primitives/traits/Cargo.toml +++ b/primitives/traits/Cargo.toml @@ -27,4 +27,5 @@ std = [ ] runtime-benchmarks = [ "frame-support/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks" ] diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml index 5f2ea772a..2a6041faf 100644 --- a/runtime/common/Cargo.toml +++ b/runtime/common/Cargo.toml @@ -63,6 +63,7 @@ std = [ "sp-core/std", "sp-runtime/std", "sp-std/std", + "cumulus-pallet-xcmp-queue/std" ] runtime-benchmarks = [ @@ -77,6 +78,8 @@ runtime-benchmarks = [ "pallet-registrar/runtime-benchmarks", "pallet-services-payment/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "cumulus-pallet-xcmp-queue/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ @@ -92,6 +95,7 @@ try-runtime = [ "pallet-registrar/try-runtime", "pallet-services-payment/try-runtime", "sp-runtime/try-runtime", + "cumulus-pallet-xcmp-queue/try-runtime" ] fast-runtime = [] diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index 5c7d03f03..fcb6c632e 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -243,6 +243,8 @@ std = [ "westend-runtime-constants/std", "westend-runtime/std", "xcm-primitives/std", + "serde_json/std", + "sp-genesis-builder/std" ] # Allow to print logs details (no wasm:stripped) @@ -302,6 +304,9 @@ runtime-benchmarks = [ "tp-traits/runtime-benchmarks", "westend-runtime/runtime-benchmarks", "xcm-primitives/runtime-benchmarks", + "cumulus-pallet-dmp-queue/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", + "sc-service/runtime-benchmarks" ] try-runtime = [ diff --git a/runtime/flashbox/Cargo.toml b/runtime/flashbox/Cargo.toml index 94b26528f..a19fc9498 100644 --- a/runtime/flashbox/Cargo.toml +++ b/runtime/flashbox/Cargo.toml @@ -198,6 +198,7 @@ std = [ "tp-author-noting-inherent/std", "tp-consensus/std", "tp-traits/std", + "sp-genesis-builder/std" ] # Allow to print logs details (no wasm:stripped) @@ -240,6 +241,7 @@ runtime-benchmarks = [ "sp-runtime/runtime-benchmarks", "tp-consensus/runtime-benchmarks", "tp-traits/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ From a66e937aaa6e14635ee7d1e7086448b5d5e9e59b Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 20 Feb 2024 16:06:34 +0100 Subject: [PATCH 31/45] toml-maid --- container-chains/templates/frontier/node/Cargo.toml | 2 +- container-chains/templates/frontier/runtime/Cargo.toml | 8 ++++---- container-chains/templates/simple/node/Cargo.toml | 2 +- container-chains/templates/simple/runtime/Cargo.toml | 8 ++++---- node/Cargo.toml | 2 +- pallets/author-noting/Cargo.toml | 2 +- pallets/services-payment/Cargo.toml | 2 +- pallets/stream-payment/Cargo.toml | 2 +- primitives/consensus/Cargo.toml | 2 +- primitives/traits/Cargo.toml | 2 +- runtime/common/Cargo.toml | 8 ++++---- runtime/dancebox/Cargo.toml | 10 +++++----- runtime/flashbox/Cargo.toml | 4 ++-- 13 files changed, 27 insertions(+), 27 deletions(-) diff --git a/container-chains/templates/frontier/node/Cargo.toml b/container-chains/templates/frontier/node/Cargo.toml index e80a2befd..590203e3f 100644 --- a/container-chains/templates/frontier/node/Cargo.toml +++ b/container-chains/templates/frontier/node/Cargo.toml @@ -114,6 +114,7 @@ substrate-build-script-utils = { workspace = true } default = [] runtime-benchmarks = [ "container-chain-template-frontier-runtime/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", "frame-benchmarking-cli/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "nimbus-primitives/runtime-benchmarks", @@ -124,7 +125,6 @@ runtime-benchmarks = [ "polkadot-service/runtime-benchmarks", "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ "container-chain-template-frontier-runtime/try-runtime", diff --git a/container-chains/templates/frontier/runtime/Cargo.toml b/container-chains/templates/frontier/runtime/Cargo.toml index 1df4a224b..5eec29af8 100644 --- a/container-chains/templates/frontier/runtime/Cargo.toml +++ b/container-chains/templates/frontier/runtime/Cargo.toml @@ -21,8 +21,8 @@ smallvec = { workspace = true } # Local ccp-xcm = { workspace = true } pallet-cc-authorities-noting = { workspace = true } -tp-consensus = { workspace = true } runtime-common = { workspace = true } +tp-consensus = { workspace = true } # Moonkit nimbus-primitives = { workspace = true } @@ -184,6 +184,7 @@ std = [ "sp-consensus-slots/std", "sp-core/std", "sp-debug-derive/std", + "sp-genesis-builder/std", "sp-inherents/std", "sp-offchain/std", "sp-runtime/std", @@ -197,16 +198,17 @@ std = [ "staging-xcm/std", "tp-consensus/std", "xcm-primitives/std", - "sp-genesis-builder/std" ] # Allow to print logs details (no wasm:stripped) force-debug = [ "sp-debug-derive/force-debug" ] runtime-benchmarks = [ + "cumulus-pallet-dmp-queue/runtime-benchmarks", "cumulus-pallet-parachain-system/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", "cumulus-pallet-xcmp-queue/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", "cumulus-primitives-utility/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", @@ -239,8 +241,6 @@ runtime-benchmarks = [ "staging-xcm-executor/runtime-benchmarks", "tp-consensus/runtime-benchmarks", "xcm-primitives/runtime-benchmarks", - "cumulus-pallet-dmp-queue/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ diff --git a/container-chains/templates/simple/node/Cargo.toml b/container-chains/templates/simple/node/Cargo.toml index 90f0d62c3..99c1cc125 100644 --- a/container-chains/templates/simple/node/Cargo.toml +++ b/container-chains/templates/simple/node/Cargo.toml @@ -94,6 +94,7 @@ substrate-build-script-utils = { workspace = true } default = [] runtime-benchmarks = [ "container-chain-template-simple-runtime/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", "frame-benchmarking-cli/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "nimbus-primitives/runtime-benchmarks", @@ -103,7 +104,6 @@ runtime-benchmarks = [ "polkadot-service/runtime-benchmarks", "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ "container-chain-template-simple-runtime/try-runtime", diff --git a/container-chains/templates/simple/runtime/Cargo.toml b/container-chains/templates/simple/runtime/Cargo.toml index 8eafaaa1a..b1fb8afb7 100644 --- a/container-chains/templates/simple/runtime/Cargo.toml +++ b/container-chains/templates/simple/runtime/Cargo.toml @@ -19,8 +19,8 @@ smallvec = { workspace = true } # Local pallet-cc-authorities-noting = { workspace = true } -tp-consensus = { workspace = true } runtime-common = { workspace = true } +tp-consensus = { workspace = true } # Moonkit nimbus-primitives = { workspace = true } @@ -144,6 +144,7 @@ std = [ "sp-consensus-slots/std", "sp-core/std", "sp-debug-derive/std", + "sp-genesis-builder/std", "sp-inherents/std", "sp-offchain/std", "sp-runtime/std", @@ -157,16 +158,17 @@ std = [ "staging-xcm/std", "tp-consensus/std", "xcm-primitives/std", - "sp-genesis-builder/std" ] # Allow to print logs details (no wasm:stripped) force-debug = [ "sp-debug-derive/force-debug" ] runtime-benchmarks = [ + "cumulus-pallet-dmp-queue/runtime-benchmarks", "cumulus-pallet-parachain-system/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", "cumulus-pallet-xcmp-queue/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", "cumulus-primitives-utility/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", @@ -195,8 +197,6 @@ runtime-benchmarks = [ "staging-xcm-executor/runtime-benchmarks", "tp-consensus/runtime-benchmarks", "xcm-primitives/runtime-benchmarks", - "cumulus-pallet-dmp-queue/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ diff --git a/node/Cargo.toml b/node/Cargo.toml index d4c7ecca7..5a8d00a4c 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -108,6 +108,7 @@ substrate-build-script-utils = { workspace = true } [features] default = [] runtime-benchmarks = [ + "cumulus-primitives-core/runtime-benchmarks", "dancebox-runtime/runtime-benchmarks", "flashbox-runtime/runtime-benchmarks", "frame-benchmarking-cli/runtime-benchmarks", @@ -120,7 +121,6 @@ runtime-benchmarks = [ "polkadot-service/runtime-benchmarks", "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ "dancebox-runtime/try-runtime", "flashbox-runtime/try-runtime", "nimbus-primitives/try-runtime", "pallet-configuration/try-runtime", "polkadot-cli/try-runtime", "polkadot-service/try-runtime", "sp-runtime/try-runtime", "try-runtime-cli/try-runtime" ] diff --git a/pallets/author-noting/Cargo.toml b/pallets/author-noting/Cargo.toml index 9cccb996a..cef3962d3 100644 --- a/pallets/author-noting/Cargo.toml +++ b/pallets/author-noting/Cargo.toml @@ -80,6 +80,7 @@ std = [ ] runtime-benchmarks = [ "cumulus-pallet-parachain-system/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", "frame-benchmarking", "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", @@ -89,7 +90,6 @@ runtime-benchmarks = [ "polkadot-primitives/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "tp-traits/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ "cumulus-pallet-parachain-system/try-runtime", diff --git a/pallets/services-payment/Cargo.toml b/pallets/services-payment/Cargo.toml index af4c7fc66..a1a26d1ef 100644 --- a/pallets/services-payment/Cargo.toml +++ b/pallets/services-payment/Cargo.toml @@ -46,6 +46,7 @@ std = [ "tp-traits/std", ] runtime-benchmarks = [ + "cumulus-primitives-core/runtime-benchmarks", "frame-benchmarking", "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", @@ -53,7 +54,6 @@ runtime-benchmarks = [ "pallet-balances/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "tp-traits/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ "frame-support/try-runtime", diff --git a/pallets/stream-payment/Cargo.toml b/pallets/stream-payment/Cargo.toml index cda994ee9..333bdd3c4 100644 --- a/pallets/stream-payment/Cargo.toml +++ b/pallets/stream-payment/Cargo.toml @@ -69,4 +69,4 @@ try-runtime = [ "frame-system/try-runtime", "pallet-balances/try-runtime", "sp-runtime/try-runtime", -] \ No newline at end of file +] diff --git a/primitives/consensus/Cargo.toml b/primitives/consensus/Cargo.toml index 638b0ced0..7a5cbae46 100644 --- a/primitives/consensus/Cargo.toml +++ b/primitives/consensus/Cargo.toml @@ -45,9 +45,9 @@ std = [ ] runtime-benchmarks = [ + "cumulus-primitives-core/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "nimbus-primitives/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks" ] diff --git a/primitives/traits/Cargo.toml b/primitives/traits/Cargo.toml index 6926f2f14..e135805b8 100644 --- a/primitives/traits/Cargo.toml +++ b/primitives/traits/Cargo.toml @@ -26,6 +26,6 @@ std = [ "sp-std/std", ] runtime-benchmarks = [ + "cumulus-primitives-core/runtime-benchmarks", "frame-support/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks" ] diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml index 2a6041faf..845750cc5 100644 --- a/runtime/common/Cargo.toml +++ b/runtime/common/Cargo.toml @@ -46,6 +46,7 @@ default = [ "std", ] std = [ + "cumulus-pallet-xcmp-queue/std", "cumulus-primitives-core/std", "frame-support/std", "frame-system/std", @@ -63,10 +64,11 @@ std = [ "sp-core/std", "sp-runtime/std", "sp-std/std", - "cumulus-pallet-xcmp-queue/std" ] runtime-benchmarks = [ + "cumulus-pallet-xcmp-queue/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "pallet-balances/runtime-benchmarks", @@ -78,11 +80,10 @@ runtime-benchmarks = [ "pallet-registrar/runtime-benchmarks", "pallet-services-payment/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "cumulus-pallet-xcmp-queue/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ + "cumulus-pallet-xcmp-queue/try-runtime", "frame-support/try-runtime", "frame-system/try-runtime", "frame-try-runtime/try-runtime", @@ -95,7 +96,6 @@ try-runtime = [ "pallet-registrar/try-runtime", "pallet-services-payment/try-runtime", "sp-runtime/try-runtime", - "cumulus-pallet-xcmp-queue/try-runtime" ] fast-runtime = [] diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index fcb6c632e..7a5801448 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -214,6 +214,7 @@ std = [ "scale-info/std", "serde", "serde?/std", + "serde_json/std", "sp-api/std", "sp-application-crypto/std", "sp-application-crypto/std", @@ -224,6 +225,7 @@ std = [ "sp-consensus-slots/std", "sp-core/std", "sp-debug-derive/std", + "sp-genesis-builder/std", "sp-inherents/std", "sp-io/std", "sp-offchain/std", @@ -243,8 +245,6 @@ std = [ "westend-runtime-constants/std", "westend-runtime/std", "xcm-primitives/std", - "serde_json/std", - "sp-genesis-builder/std" ] # Allow to print logs details (no wasm:stripped) @@ -253,9 +253,11 @@ force-debug = [ "sp-debug-derive/force-debug" ] runtime-benchmarks = [ "container-chain-template-frontier-runtime/runtime-benchmarks", "container-chain-template-simple-runtime/runtime-benchmarks", + "cumulus-pallet-dmp-queue/runtime-benchmarks", "cumulus-pallet-parachain-system/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", "cumulus-pallet-xcmp-queue/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", "cumulus-primitives-utility/runtime-benchmarks", "frame-benchmarking", "frame-benchmarking/runtime-benchmarks", @@ -297,6 +299,7 @@ runtime-benchmarks = [ "polkadot-runtime-parachains/runtime-benchmarks", "polkadot-service/runtime-benchmarks", "runtime-common/runtime-benchmarks", + "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "staging-xcm-builder/runtime-benchmarks", "staging-xcm-executor/runtime-benchmarks", @@ -304,9 +307,6 @@ runtime-benchmarks = [ "tp-traits/runtime-benchmarks", "westend-runtime/runtime-benchmarks", "xcm-primitives/runtime-benchmarks", - "cumulus-pallet-dmp-queue/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks", - "sc-service/runtime-benchmarks" ] try-runtime = [ diff --git a/runtime/flashbox/Cargo.toml b/runtime/flashbox/Cargo.toml index a19fc9498..d6ebce2e2 100644 --- a/runtime/flashbox/Cargo.toml +++ b/runtime/flashbox/Cargo.toml @@ -185,6 +185,7 @@ std = [ "sp-consensus-slots/std", "sp-core/std", "sp-debug-derive/std", + "sp-genesis-builder/std", "sp-inherents/std", "sp-io/std", "sp-offchain/std", @@ -198,7 +199,6 @@ std = [ "tp-author-noting-inherent/std", "tp-consensus/std", "tp-traits/std", - "sp-genesis-builder/std" ] # Allow to print logs details (no wasm:stripped) @@ -207,6 +207,7 @@ force-debug = [ "sp-debug-derive/force-debug" ] runtime-benchmarks = [ "cumulus-pallet-parachain-system/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", "cumulus-primitives-utility/runtime-benchmarks", "frame-benchmarking", "frame-benchmarking/runtime-benchmarks", @@ -241,7 +242,6 @@ runtime-benchmarks = [ "sp-runtime/runtime-benchmarks", "tp-consensus/runtime-benchmarks", "tp-traits/runtime-benchmarks", - "cumulus-primitives-core/runtime-benchmarks" ] try-runtime = [ From 4dfe83e1941ed1d2867e7e6b1a4916b8a053ab9a Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 20 Feb 2024 16:18:40 +0100 Subject: [PATCH 32/45] Review --- client/node-common/src/service.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/client/node-common/src/service.rs b/client/node-common/src/service.rs index 881908f3a..9d97868a8 100644 --- a/client/node-common/src/service.rs +++ b/client/node-common/src/service.rs @@ -549,14 +549,13 @@ where // Here you can check whether the hardware meets your chains' requirements. Putting a link // in there and swapping out the requirements for your own are probably a good idea. The // requirements for a para-chain are dictated by its relay-chain. - match SUBSTRATE_REFERENCE_HARDWARE.check_hardware(&hwbench) { - Err(err) if collator => { + if collator { + if let Err(err) = SUBSTRATE_REFERENCE_HARDWARE.check_hardware(&hwbench) { log::warn!( - "⚠️ The hardware does not meet the minimal requirements {} for role 'Authority'.", - err - ); + "⚠️ The hardware does not meet the minimal requirements {} for role 'Authority'.", + err + ); } - _ => {} } if let Some(ref mut telemetry) = telemetry { From d5f17a59977179dcf47d3b8f2b80370709f9d978 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 20 Feb 2024 16:31:43 +0100 Subject: [PATCH 33/45] try runtime subcommand --- container-chains/templates/frontier/node/src/command.rs | 7 +++++++ container-chains/templates/simple/node/src/command.rs | 7 +++++++ node/src/command.rs | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/container-chains/templates/frontier/node/src/command.rs b/container-chains/templates/frontier/node/src/command.rs index f65256837..d8fa1b9cd 100644 --- a/container-chains/templates/frontier/node/src/command.rs +++ b/container-chains/templates/frontier/node/src/command.rs @@ -280,11 +280,18 @@ pub fn run() -> Result<()> { _ => Err("Benchmarking sub-command unsupported".into()), } } + #[cfg(feature = "try-runtime")] Some(Subcommand::TryRuntime(_)) => { Err("Substrate's `try-runtime` subcommand has been migrated \ to a standalone CLI (https://github.com/paritytech/try-runtime-cli)" .into()) } + #[cfg(not(feature = "try-runtime"))] + Some(Subcommand::TryRuntime) => { + Err("Substrate's `try-runtime` subcommand has been migrated \ + to a standalone CLI (https://github.com/paritytech/try-runtime-cli)" + .into()) + } None => { let runner = cli.create_runner(&cli.run.normalize())?; let collator_options = cli.run.collator_options(); diff --git a/container-chains/templates/simple/node/src/command.rs b/container-chains/templates/simple/node/src/command.rs index aea2b39a0..2a990eed3 100644 --- a/container-chains/templates/simple/node/src/command.rs +++ b/container-chains/templates/simple/node/src/command.rs @@ -261,11 +261,18 @@ pub fn run() -> Result<()> { _ => Err("Benchmarking sub-command unsupported".into()), } } + #[cfg(feature = "try-runtime")] Some(Subcommand::TryRuntime(_)) => { Err("Substrate's `try-runtime` subcommand has been migrated \ to a standalone CLI (https://github.com/paritytech/try-runtime-cli)" .into()) } + #[cfg(not(feature = "try-runtime"))] + Some(Subcommand::TryRuntime) => { + Err("Substrate's `try-runtime` subcommand has been migrated \ + to a standalone CLI (https://github.com/paritytech/try-runtime-cli)" + .into()) + } None => { let runner = cli.create_runner(&cli.run.normalize())?; let collator_options = cli.run.collator_options(); diff --git a/node/src/command.rs b/node/src/command.rs index 0d34bdb13..dc3167af6 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -410,11 +410,18 @@ pub fn run() -> Result<()> { } } Some(Subcommand::Key(cmd)) => Ok(cmd.run(&cli)?), + #[cfg(feature = "try-runtime")] Some(Subcommand::TryRuntime(_)) => { Err("Substrate's `try-runtime` subcommand has been migrated \ to a standalone CLI (https://github.com/paritytech/try-runtime-cli)" .into()) } + #[cfg(not(feature = "try-runtime"))] + Some(Subcommand::TryRuntime) => { + Err("Substrate's `try-runtime` subcommand has been migrated \ + to a standalone CLI (https://github.com/paritytech/try-runtime-cli)" + .into()) + } None => { let runner = cli.create_runner(&cli.run.normalize())?; let collator_options = cli.run.collator_options(); From e6ba443b0e747c5e3b85e8dc5eaae4f1472683bc Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 20 Feb 2024 16:35:29 +0100 Subject: [PATCH 34/45] MessageQueueServiceWeight to 25% --- container-chains/templates/frontier/runtime/src/xcm_config.rs | 3 +-- container-chains/templates/simple/runtime/src/xcm_config.rs | 3 +-- runtime/dancebox/src/xcm_config.rs | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/container-chains/templates/frontier/runtime/src/xcm_config.rs b/container-chains/templates/frontier/runtime/src/xcm_config.rs index 12ddbed3a..74c986d97 100644 --- a/container-chains/templates/frontier/runtime/src/xcm_config.rs +++ b/container-chains/templates/frontier/runtime/src/xcm_config.rs @@ -251,8 +251,7 @@ impl cumulus_pallet_dmp_queue::Config for Runtime { } parameter_types! { - // TODO verify 35% - pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; + pub MessageQueueServiceWeight: Weight = Perbill::from_percent(25) * RuntimeBlockWeights::get().max_block; } impl pallet_message_queue::Config for Runtime { diff --git a/container-chains/templates/simple/runtime/src/xcm_config.rs b/container-chains/templates/simple/runtime/src/xcm_config.rs index 2b58c2bbf..92da6bc82 100644 --- a/container-chains/templates/simple/runtime/src/xcm_config.rs +++ b/container-chains/templates/simple/runtime/src/xcm_config.rs @@ -251,8 +251,7 @@ impl cumulus_pallet_dmp_queue::Config for Runtime { } parameter_types! { - // TODO verify 35% - pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; + pub MessageQueueServiceWeight: Weight = Perbill::from_percent(25) * RuntimeBlockWeights::get().max_block; } impl pallet_message_queue::Config for Runtime { diff --git a/runtime/dancebox/src/xcm_config.rs b/runtime/dancebox/src/xcm_config.rs index ccc024042..ef9abd3e4 100644 --- a/runtime/dancebox/src/xcm_config.rs +++ b/runtime/dancebox/src/xcm_config.rs @@ -446,8 +446,7 @@ impl Parse for MultiLocation { } parameter_types! { - // TODO verify 35% - pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block; + pub MessageQueueServiceWeight: Weight = Perbill::from_percent(25) * RuntimeBlockWeights::get().max_block; } impl pallet_message_queue::Config for Runtime { From b60d095f54e42ab7f25cc5567335407622ff598d Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 20 Feb 2024 17:59:22 +0100 Subject: [PATCH 35/45] Unused import --- pallets/stream-payment/src/benchmarking.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/pallets/stream-payment/src/benchmarking.rs b/pallets/stream-payment/src/benchmarking.rs index 9d86be2b2..429a119ad 100644 --- a/pallets/stream-payment/src/benchmarking.rs +++ b/pallets/stream-payment/src/benchmarking.rs @@ -22,7 +22,6 @@ use { frame_benchmarking::{account, impl_benchmark_test_suite, v2::*, BenchmarkError}, frame_support::{assert_ok, dispatch::RawOrigin}, frame_system::EventRecord, - sp_std::vec, }; /// Create a funded user. From 017af80211d05b3cac3d902be2ebaef8024df508 Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Tue, 20 Feb 2024 18:26:07 +0100 Subject: [PATCH 36/45] Fix clippy --- Cargo.lock | 1 + Cargo.toml | 3 ++- container-chains/templates/frontier/node/src/service.rs | 1 - runtime/dancebox/Cargo.toml | 5 +++++ runtime/dancebox/src/lib.rs | 2 +- 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 990e86dbf..c582caab4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2974,6 +2974,7 @@ dependencies = [ name = "dancebox-runtime" version = "0.1.0" dependencies = [ + "assets-common", "container-chain-template-frontier-runtime", "container-chain-template-simple-runtime", "cumulus-pallet-dmp-queue", diff --git a/Cargo.toml b/Cargo.toml index 463253f85..eac3ed7cc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -206,6 +206,7 @@ parachain-info = { package = "staging-parachain-info", git = "https://github.com parachains-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } # Cumulus (client) +assets-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } cumulus-client-cli = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } cumulus-client-collator = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } cumulus-client-consensus-aura = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } @@ -218,8 +219,8 @@ cumulus-client-service = { git = "https://github.com/moondance-labs/polkadot-sdk cumulus-primitives-parachain-inherent = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } cumulus-relay-chain-interface = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } cumulus-test-relay-sproof-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } -emulated-integration-tests-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } xcm-emulator = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } +emulated-integration-tests-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } # Frontier (wasm) fp-account = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } diff --git a/container-chains/templates/frontier/node/src/service.rs b/container-chains/templates/frontier/node/src/service.rs index f15e4c82f..1fe9af91b 100644 --- a/container-chains/templates/frontier/node/src/service.rs +++ b/container-chains/templates/frontier/node/src/service.rs @@ -488,7 +488,6 @@ pub async fn start_dev_node( let backend = node_builder.backend.clone(); let max_past_logs = rpc_config.max_past_logs; let overrides = overrides; - let fee_history_cache = fee_history_cache; let block_data_cache = block_data_cache; Box::new(move |deny_unsafe, subscription_task_executor| { diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index 7a5801448..499c634f3 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -116,6 +116,9 @@ frame-system-benchmarking = { workspace = true, optional = true } frame-try-runtime = { workspace = true, optional = true } [dev-dependencies] +# Needed to force include the runtime-benchmark feature as emulated-integration-tests-common +# hasn't implemented that feature +assets-common = { workspace = true } container-chain-template-frontier-runtime = { workspace = true, features = [ "std" ] } container-chain-template-simple-runtime = { workspace = true, features = [ "std" ] } cumulus-primitives-parachain-inherent = { workspace = true } @@ -251,6 +254,8 @@ std = [ force-debug = [ "sp-debug-derive/force-debug" ] runtime-benchmarks = [ + + "assets-common/runtime-benchmarks", "container-chain-template-frontier-runtime/runtime-benchmarks", "container-chain-template-simple-runtime/runtime-benchmarks", "cumulus-pallet-dmp-queue/runtime-benchmarks", diff --git a/runtime/dancebox/src/lib.rs b/runtime/dancebox/src/lib.rs index e4c879de2..624b250f0 100644 --- a/runtime/dancebox/src/lib.rs +++ b/runtime/dancebox/src/lib.rs @@ -1960,7 +1960,7 @@ impl_runtime_apis! { assert!(Balances::free_balance(&who) <= balance - fee_amount); // verify asset balance decreased by exactly transferred amount assert_eq!( - ForeignAssets::balance(asset_id.into(), &who), + ForeignAssets::balance(asset_id, &who), initial_asset_amount - asset_amount, ); }); From 9e058e4578711e512bb8d005ca851a3e337a86a0 Mon Sep 17 00:00:00 2001 From: girazoki Date: Wed, 21 Feb 2024 10:29:50 +0100 Subject: [PATCH 37/45] increase sleep time for first block in parathread --- test/suites/parathreads/test_tanssi_parathreads.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/suites/parathreads/test_tanssi_parathreads.ts b/test/suites/parathreads/test_tanssi_parathreads.ts index 1eee85323..ff8d52a6c 100644 --- a/test/suites/parathreads/test_tanssi_parathreads.ts +++ b/test/suites/parathreads/test_tanssi_parathreads.ts @@ -139,7 +139,8 @@ describeSuite({ title: "Blocks are being produced on container 2000", test: async function () { // Produces 1 block every 5 slots, which is every 60 seconds - await sleep(60000); + // Give it a bit more time just in case + await sleep(80000); const blockNum = (await container2000Api.rpc.chain.getBlock()).block.header.number.toNumber(); expect(blockNum).to.be.greaterThan(0); }, From c2fe33c15bc99ed297c14cb771fbef8e2f9db7fb Mon Sep 17 00:00:00 2001 From: girazoki Date: Wed, 21 Feb 2024 11:01:24 +0100 Subject: [PATCH 38/45] be a bit more mindful about times in parachains --- test/suites/para/test_tanssi_containers.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/suites/para/test_tanssi_containers.ts b/test/suites/para/test_tanssi_containers.ts index 7a79ce017..c9bb5eb14 100644 --- a/test/suites/para/test_tanssi_containers.ts +++ b/test/suites/para/test_tanssi_containers.ts @@ -283,7 +283,7 @@ describeSuite({ it({ id: "T13", title: "Blocks are being produced on container 2002", - timeout: 90000, + timeout: 120000, test: async function () { // Wait 3 blocks because the next test needs to get a non empty value from // container2002Api.query.authoritiesNoting() @@ -352,8 +352,12 @@ describeSuite({ // TODO: this passes if only 2 authors are creating blocks, think a way to test that case await countUniqueBlockAuthors(paraApi, blockNumber, blockNumber2002Start - 1, 4); + expect(sessionPeriod*5 < blockNumber2002End, "2002 should have deregistered after first rotation"); + expect(sessionPeriod*10 > blockNumber2002End, "2002 should have deregistered before second rotation"); + // While 2002 is live: 2 authors (the other 2 went to container chain 2002) - await countUniqueBlockAuthors(paraApi, blockNumber2002Start, blockNumber2002End - 1, 2); + // We take from the first block that rotates, otherwise rotation kicks in + await countUniqueBlockAuthors(paraApi, sessionPeriod*5, blockNumber2002End - 1, 2); // Need to wait one session because the following blocks don't exist yet await waitSessions(context, paraApi, 1); From 98fd437fe881c58245bfa3802a8e4ef54a70a913 Mon Sep 17 00:00:00 2001 From: girazoki Date: Wed, 21 Feb 2024 11:30:59 +0100 Subject: [PATCH 39/45] increment even more timeout --- test/suites/parathreads/test_tanssi_parathreads.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/suites/parathreads/test_tanssi_parathreads.ts b/test/suites/parathreads/test_tanssi_parathreads.ts index ff8d52a6c..5824145ab 100644 --- a/test/suites/parathreads/test_tanssi_parathreads.ts +++ b/test/suites/parathreads/test_tanssi_parathreads.ts @@ -140,7 +140,7 @@ describeSuite({ test: async function () { // Produces 1 block every 5 slots, which is every 60 seconds // Give it a bit more time just in case - await sleep(80000); + await sleep(120000); const blockNum = (await container2000Api.rpc.chain.getBlock()).block.header.number.toNumber(); expect(blockNum).to.be.greaterThan(0); }, From 4b534dc356ac45ede81dba42c4ec0b70f06eb7ea Mon Sep 17 00:00:00 2001 From: Francisco Gamundi Date: Wed, 21 Feb 2024 12:19:26 +0100 Subject: [PATCH 40/45] Formatting and API augment --- Cargo.toml | 2 +- runtime/dancebox/Cargo.toml | 1 - test/suites/para/test_tanssi_containers.ts | 6 +- .../dancebox/interfaces/augment-api-errors.ts | 19 + .../dancebox/interfaces/augment-api-events.ts | 64 +- .../dancebox/interfaces/augment-api-query.ts | 64 +- .../src/dancebox/interfaces/augment-api-tx.ts | 114 ++- .../src/dancebox/interfaces/lookup.ts | 667 ++++++++++------ .../src/dancebox/interfaces/registry.ts | 34 +- .../src/dancebox/interfaces/types-lookup.ts | 732 ++++++++++++------ .../flashbox/interfaces/augment-api-errors.ts | 19 + .../flashbox/interfaces/augment-api-events.ts | 66 +- .../flashbox/interfaces/augment-api-query.ts | 48 ++ .../src/flashbox/interfaces/augment-api-tx.ts | 114 ++- .../src/flashbox/interfaces/lookup.ts | 448 +++++++---- .../src/flashbox/interfaces/registry.ts | 24 + .../src/flashbox/interfaces/types-lookup.ts | 507 ++++++++---- 17 files changed, 2145 insertions(+), 784 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index eac3ed7cc..540a1f2c5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -219,8 +219,8 @@ cumulus-client-service = { git = "https://github.com/moondance-labs/polkadot-sdk cumulus-primitives-parachain-inherent = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } cumulus-relay-chain-interface = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } cumulus-test-relay-sproof-builder = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } -xcm-emulator = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } emulated-integration-tests-common = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0" } +xcm-emulator = { git = "https://github.com/moondance-labs/polkadot-sdk", branch = "tanssi-polkadot-v1.6.0", default-features = false } # Frontier (wasm) fp-account = { git = "https://github.com/moondance-labs/frontier", branch = "tanssi-polkadot-v1.6.0", default-features = false } diff --git a/runtime/dancebox/Cargo.toml b/runtime/dancebox/Cargo.toml index 499c634f3..871eab33c 100644 --- a/runtime/dancebox/Cargo.toml +++ b/runtime/dancebox/Cargo.toml @@ -254,7 +254,6 @@ std = [ force-debug = [ "sp-debug-derive/force-debug" ] runtime-benchmarks = [ - "assets-common/runtime-benchmarks", "container-chain-template-frontier-runtime/runtime-benchmarks", "container-chain-template-simple-runtime/runtime-benchmarks", diff --git a/test/suites/para/test_tanssi_containers.ts b/test/suites/para/test_tanssi_containers.ts index c9bb5eb14..d24707b8e 100644 --- a/test/suites/para/test_tanssi_containers.ts +++ b/test/suites/para/test_tanssi_containers.ts @@ -352,12 +352,12 @@ describeSuite({ // TODO: this passes if only 2 authors are creating blocks, think a way to test that case await countUniqueBlockAuthors(paraApi, blockNumber, blockNumber2002Start - 1, 4); - expect(sessionPeriod*5 < blockNumber2002End, "2002 should have deregistered after first rotation"); - expect(sessionPeriod*10 > blockNumber2002End, "2002 should have deregistered before second rotation"); + expect(sessionPeriod * 5 < blockNumber2002End, "2002 should have deregistered after first rotation"); + expect(sessionPeriod * 10 > blockNumber2002End, "2002 should have deregistered before second rotation"); // While 2002 is live: 2 authors (the other 2 went to container chain 2002) // We take from the first block that rotates, otherwise rotation kicks in - await countUniqueBlockAuthors(paraApi, sessionPeriod*5, blockNumber2002End - 1, 2); + await countUniqueBlockAuthors(paraApi, sessionPeriod * 5, blockNumber2002End - 1, 2); // Need to wait one session because the following blocks don't exist yet await waitSessions(context, paraApi, 1); diff --git a/typescript-api/src/dancebox/interfaces/augment-api-errors.ts b/typescript-api/src/dancebox/interfaces/augment-api-errors.ts index 25100cf8d..9bc4bf8a8 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-errors.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-errors.ts @@ -412,6 +412,25 @@ declare module "@polkadot/api-base/types/errors" { /** Generic error */ [key: string]: AugmentedError; }; + streamPayment: { + CanOnlyCancelOwnRequest: AugmentedError; + CantAcceptOwnRequest: AugmentedError; + CantBeBothSourceAndTarget: AugmentedError; + CantFetchCurrentTime: AugmentedError; + CantOverrideMandatoryChange: AugmentedError; + ChangingAssetRequiresAbsoluteDepositChange: AugmentedError; + ImmediateDepositChangeRequiresSameAssetId: AugmentedError; + NoPendingRequest: AugmentedError; + SourceCantDecreaseRate: AugmentedError; + StreamIdOverflow: AugmentedError; + TargetCantChangeDeposit: AugmentedError; + TargetCantIncreaseRate: AugmentedError; + UnauthorizedOrigin: AugmentedError; + UnknownStreamId: AugmentedError; + WrongRequestNonce: AugmentedError; + /** Generic error */ + [key: string]: AugmentedError; + }; sudo: { /** Sender must be the Sudo account. */ RequireSudo: AugmentedError; diff --git a/typescript-api/src/dancebox/interfaces/augment-api-events.ts b/typescript-api/src/dancebox/interfaces/augment-api-events.ts index 9b3f2dbe6..182cfc631 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-events.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-events.ts @@ -16,6 +16,9 @@ import type { FrameSupportMessagesProcessMessageError, FrameSupportTokensMiscBalanceStatus, PalletPooledStakingTargetPool, + PalletStreamPaymentDepositChange, + PalletStreamPaymentParty, + PalletStreamPaymentStreamConfig, SpRuntimeDispatchError, SpWeightsWeightV2Weight, StagingXcmV3MultiLocation, @@ -994,17 +997,31 @@ declare module "@polkadot/api-base/types/events" { [key: string]: AugmentedEvent; }; servicesPayment: { - CreditBurned: AugmentedEvent< + BlockProductionCreditBurned: AugmentedEvent< ApiType, [paraId: u32, creditsRemaining: u32], { paraId: u32; creditsRemaining: u32 } >; + BlockProductionCreditsSet: AugmentedEvent< + ApiType, + [paraId: u32, credits: u32], + { paraId: u32; credits: u32 } + >; + CollatorAssignmentCreditBurned: AugmentedEvent< + ApiType, + [paraId: u32, creditsRemaining: u32], + { paraId: u32; creditsRemaining: u32 } + >; + CollatorAssignmentCreditsSet: AugmentedEvent< + ApiType, + [paraId: u32, credits: u32], + { paraId: u32; credits: u32 } + >; CreditsPurchased: AugmentedEvent< ApiType, [paraId: u32, payer: AccountId32, credit: u128], { paraId: u32; payer: AccountId32; credit: u128 } >; - CreditsSet: AugmentedEvent; RefundAddressUpdated: AugmentedEvent< ApiType, [paraId: u32, refundAddress: Option], @@ -1019,6 +1036,49 @@ declare module "@polkadot/api-base/types/events" { /** Generic event */ [key: string]: AugmentedEvent; }; + streamPayment: { + StreamClosed: AugmentedEvent; + StreamConfigChanged: AugmentedEvent< + ApiType, + [ + streamId: u64, + oldConfig: PalletStreamPaymentStreamConfig, + newConfig: PalletStreamPaymentStreamConfig, + depositChange: Option + ], + { + streamId: u64; + oldConfig: PalletStreamPaymentStreamConfig; + newConfig: PalletStreamPaymentStreamConfig; + depositChange: Option; + } + >; + StreamConfigChangeRequested: AugmentedEvent< + ApiType, + [ + streamId: u64, + requestNonce: u32, + requester: PalletStreamPaymentParty, + oldConfig: PalletStreamPaymentStreamConfig, + newConfig: PalletStreamPaymentStreamConfig + ], + { + streamId: u64; + requestNonce: u32; + requester: PalletStreamPaymentParty; + oldConfig: PalletStreamPaymentStreamConfig; + newConfig: PalletStreamPaymentStreamConfig; + } + >; + StreamOpened: AugmentedEvent; + StreamPayment: AugmentedEvent< + ApiType, + [streamId: u64, source: AccountId32, target: AccountId32, amount: u128, drained: bool], + { streamId: u64; source: AccountId32; target: AccountId32; amount: u128; drained: bool } + >; + /** Generic event */ + [key: string]: AugmentedEvent; + }; sudo: { /** The sudo key has been updated. */ KeyChanged: AugmentedEvent< diff --git a/typescript-api/src/dancebox/interfaces/augment-api-query.ts b/typescript-api/src/dancebox/interfaces/augment-api-query.ts index ad5283af1..20f4598e4 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-query.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-query.ts @@ -13,7 +13,6 @@ import type { Bytes, Null, Option, - Struct, U8aFixed, Vec, bool, @@ -32,7 +31,6 @@ import type { CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesCoreAggregateMessageOrigin, - DanceboxRuntimeRuntimeHoldReason, DanceboxRuntimeSessionKeys, DpCollatorAssignmentAssignedCollatorsAccountId32, DpCollatorAssignmentAssignedCollatorsPublic, @@ -50,7 +48,8 @@ import type { PalletAuthorNotingContainerChainBlockInfo, PalletBalancesAccountData, PalletBalancesBalanceLock, - PalletBalancesIdAmount, + PalletBalancesIdAmountRuntimeFreezeReason, + PalletBalancesIdAmountRuntimeHoldReason, PalletBalancesReserveData, PalletConfigurationHostConfiguration, PalletIdentityAuthorityProperties, @@ -65,6 +64,7 @@ import type { PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletRegistrarDepositInfo, + PalletStreamPaymentStream, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletTreasurySpendStatus, @@ -198,21 +198,14 @@ declare module "@polkadot/api-base/types/storage" { /** Freeze locks on account balances. */ freezes: AugmentedQuery< ApiType, - (arg: AccountId32 | string | Uint8Array) => Observable>, + (arg: AccountId32 | string | Uint8Array) => Observable>, [AccountId32] > & QueryableStorageEntry; /** Holds on account balances. */ holds: AugmentedQuery< ApiType, - (arg: AccountId32 | string | Uint8Array) => Observable< - Vec< - { - readonly id: DanceboxRuntimeRuntimeHoldReason; - readonly amount: u128; - } & Struct - > - >, + (arg: AccountId32 | string | Uint8Array) => Observable>, [AccountId32] > & QueryableStorageEntry; @@ -986,6 +979,12 @@ declare module "@polkadot/api-base/types/storage" { [u32] > & QueryableStorageEntry; + collatorAssignmentCredits: AugmentedQuery< + ApiType, + (arg: u32 | AnyNumber | Uint8Array) => Observable>, + [u32] + > & + QueryableStorageEntry; /** List of para ids that have already been given free credits */ givenFreeCredits: AugmentedQuery< ApiType, @@ -1050,6 +1049,47 @@ declare module "@polkadot/api-base/types/storage" { /** Generic query */ [key: string]: QueryableStorageEntry; }; + streamPayment: { + /** + * Lookup for all streams with given source. To avoid maintaining a growing list of stream ids, they are stored in + * the form of an entry (AccountId, StreamId). If such entry exists then this AccountId is a source in StreamId. + * One can iterate over all storage keys starting with the AccountId to find all StreamIds. + */ + lookupStreamsWithSource: AugmentedQuery< + ApiType, + ( + arg1: AccountId32 | string | Uint8Array, + arg2: u64 | AnyNumber | Uint8Array + ) => Observable>, + [AccountId32, u64] + > & + QueryableStorageEntry; + /** + * Lookup for all streams with given target. To avoid maintaining a growing list of stream ids, they are stored in + * the form of an entry (AccountId, StreamId). If such entry exists then this AccountId is a target in StreamId. + * One can iterate over all storage keys starting with the AccountId to find all StreamIds. + */ + lookupStreamsWithTarget: AugmentedQuery< + ApiType, + ( + arg1: AccountId32 | string | Uint8Array, + arg2: u64 | AnyNumber | Uint8Array + ) => Observable>, + [AccountId32, u64] + > & + QueryableStorageEntry; + /** Store the next available stream id. */ + nextStreamId: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** Store each stream indexed by an Id. */ + streams: AugmentedQuery< + ApiType, + (arg: u64 | AnyNumber | Uint8Array) => Observable>, + [u64] + > & + QueryableStorageEntry; + /** Generic query */ + [key: string]: QueryableStorageEntry; + }; sudo: { /** The `AccountId` of the sudo key. */ key: AugmentedQuery Observable>, []> & diff --git a/typescript-api/src/dancebox/interfaces/augment-api-tx.ts b/typescript-api/src/dancebox/interfaces/augment-api-tx.ts index 5f581ca46..6f8cca55b 100644 --- a/typescript-api/src/dancebox/interfaces/augment-api-tx.ts +++ b/typescript-api/src/dancebox/interfaces/augment-api-tx.ts @@ -21,12 +21,16 @@ import type { DanceboxRuntimeOriginCaller, DanceboxRuntimeProxyType, DanceboxRuntimeSessionKeys, + DanceboxRuntimeStreamPaymentAssetId, PalletIdentityJudgement, PalletIdentityLegacyIdentityInfo, PalletPooledStakingAllTargetPool, PalletPooledStakingPendingOperationQuery, PalletPooledStakingSharesOrStake, PalletPooledStakingTargetPool, + PalletStreamPaymentChangeKind, + PalletStreamPaymentDepositChange, + PalletStreamPaymentStreamConfig, SpRuntimeMultiSignature, SpWeightsWeightV2Weight, StagingXcmV3MultiLocation, @@ -1684,11 +1688,19 @@ declare module "@polkadot/api-base/types/submittable" { ) => SubmittableExtrinsic, [u32, u128] >; - /** See [`Pallet::set_credits`]. */ - setCredits: AugmentedSubmittable< + /** See [`Pallet::set_block_production_credits`]. */ + setBlockProductionCredits: AugmentedSubmittable< ( paraId: u32 | AnyNumber | Uint8Array, - credits: u32 | AnyNumber | Uint8Array + freeBlockCredits: u32 | AnyNumber | Uint8Array + ) => SubmittableExtrinsic, + [u32, u32] + >; + /** See [`Pallet::set_collator_assignment_credits`]. */ + setCollatorAssignmentCredits: AugmentedSubmittable< + ( + paraId: u32 | AnyNumber | Uint8Array, + freeCollatorAssignmentCredits: u32 | AnyNumber | Uint8Array ) => SubmittableExtrinsic, [u32, u32] >; @@ -1725,6 +1737,102 @@ declare module "@polkadot/api-base/types/submittable" { /** Generic tx */ [key: string]: SubmittableExtrinsicFunction; }; + streamPayment: { + /** See [`Pallet::accept_requested_change`]. */ + acceptRequestedChange: AugmentedSubmittable< + ( + streamId: u64 | AnyNumber | Uint8Array, + requestNonce: u32 | AnyNumber | Uint8Array, + depositChange: + | Option + | null + | Uint8Array + | PalletStreamPaymentDepositChange + | { Increase: any } + | { Decrease: any } + | { Absolute: any } + | string + ) => SubmittableExtrinsic, + [u64, u32, Option] + >; + /** See [`Pallet::cancel_change_request`]. */ + cancelChangeRequest: AugmentedSubmittable< + (streamId: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [u64] + >; + /** See [`Pallet::close_stream`]. */ + closeStream: AugmentedSubmittable< + (streamId: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [u64] + >; + /** See [`Pallet::immediately_change_deposit`]. */ + immediatelyChangeDeposit: AugmentedSubmittable< + ( + streamId: u64 | AnyNumber | Uint8Array, + assetId: DanceboxRuntimeStreamPaymentAssetId | "Native" | number | Uint8Array, + change: + | PalletStreamPaymentDepositChange + | { Increase: any } + | { Decrease: any } + | { Absolute: any } + | string + | Uint8Array + ) => SubmittableExtrinsic, + [u64, DanceboxRuntimeStreamPaymentAssetId, PalletStreamPaymentDepositChange] + >; + /** See [`Pallet::open_stream`]. */ + openStream: AugmentedSubmittable< + ( + target: AccountId32 | string | Uint8Array, + config: + | PalletStreamPaymentStreamConfig + | { timeUnit?: any; assetId?: any; rate?: any } + | string + | Uint8Array, + initialDeposit: u128 | AnyNumber | Uint8Array + ) => SubmittableExtrinsic, + [AccountId32, PalletStreamPaymentStreamConfig, u128] + >; + /** See [`Pallet::perform_payment`]. */ + performPayment: AugmentedSubmittable< + (streamId: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, + [u64] + >; + /** See [`Pallet::request_change`]. */ + requestChange: AugmentedSubmittable< + ( + streamId: u64 | AnyNumber | Uint8Array, + kind: + | PalletStreamPaymentChangeKind + | { Suggestion: any } + | { Mandatory: any } + | string + | Uint8Array, + newConfig: + | PalletStreamPaymentStreamConfig + | { timeUnit?: any; assetId?: any; rate?: any } + | string + | Uint8Array, + depositChange: + | Option + | null + | Uint8Array + | PalletStreamPaymentDepositChange + | { Increase: any } + | { Decrease: any } + | { Absolute: any } + | string + ) => SubmittableExtrinsic, + [ + u64, + PalletStreamPaymentChangeKind, + PalletStreamPaymentStreamConfig, + Option + ] + >; + /** Generic tx */ + [key: string]: SubmittableExtrinsicFunction; + }; sudo: { /** See [`Pallet::remove_key`]. */ removeKey: AugmentedSubmittable<() => SubmittableExtrinsic, []>; diff --git a/typescript-api/src/dancebox/interfaces/lookup.ts b/typescript-api/src/dancebox/interfaces/lookup.ts index 593154c5b..2fafbac4d 100644 --- a/typescript-api/src/dancebox/interfaces/lookup.ts +++ b/typescript-api/src/dancebox/interfaces/lookup.ts @@ -386,7 +386,68 @@ export default { }, }, }, - /** Lookup49: pallet_identity::pallet::Event */ + /** Lookup49: pallet_stream_payment::pallet::Event */ + PalletStreamPaymentEvent: { + _enum: { + StreamOpened: { + streamId: "u64", + }, + StreamClosed: { + streamId: "u64", + refunded: "u128", + }, + StreamPayment: { + streamId: "u64", + source: "AccountId32", + target: "AccountId32", + amount: "u128", + drained: "bool", + }, + StreamConfigChangeRequested: { + streamId: "u64", + requestNonce: "u32", + requester: "PalletStreamPaymentParty", + oldConfig: "PalletStreamPaymentStreamConfig", + newConfig: "PalletStreamPaymentStreamConfig", + }, + StreamConfigChanged: { + streamId: "u64", + oldConfig: "PalletStreamPaymentStreamConfig", + newConfig: "PalletStreamPaymentStreamConfig", + depositChange: "Option", + }, + }, + }, + /** Lookup50: pallet_stream_payment::pallet::Party */ + PalletStreamPaymentParty: { + _enum: ["Source", "Target"], + }, + /** + * Lookup51: pallet_stream_payment::pallet::StreamConfig + */ + PalletStreamPaymentStreamConfig: { + timeUnit: "DanceboxRuntimeTimeUnit", + assetId: "DanceboxRuntimeStreamPaymentAssetId", + rate: "u128", + }, + /** Lookup52: dancebox_runtime::TimeUnit */ + DanceboxRuntimeTimeUnit: { + _enum: ["BlockNumber", "Timestamp"], + }, + /** Lookup53: dancebox_runtime::StreamPaymentAssetId */ + DanceboxRuntimeStreamPaymentAssetId: { + _enum: ["Native"], + }, + /** Lookup55: pallet_stream_payment::pallet::DepositChange */ + PalletStreamPaymentDepositChange: { + _enum: { + Increase: "u128", + Decrease: "u128", + Absolute: "u128", + }, + }, + /** Lookup56: pallet_identity::pallet::Event */ PalletIdentityEvent: { _enum: { IdentitySet: { @@ -458,7 +519,7 @@ export default { }, }, }, - /** Lookup51: pallet_registrar::pallet::Event */ + /** Lookup58: pallet_registrar::pallet::Event */ PalletRegistrarEvent: { _enum: { ParaIdRegistered: { @@ -481,7 +542,7 @@ export default { }, }, }, - /** Lookup53: pallet_collator_assignment::pallet::Event */ + /** Lookup60: pallet_collator_assignment::pallet::Event */ PalletCollatorAssignmentEvent: { _enum: { NewPendingAssignment: { @@ -491,7 +552,7 @@ export default { }, }, }, - /** Lookup54: pallet_author_noting::pallet::Event */ + /** Lookup61: pallet_author_noting::pallet::Event */ PalletAuthorNotingEvent: { _enum: { LatestAuthorChanged: { @@ -504,7 +565,7 @@ export default { }, }, }, - /** Lookup55: pallet_services_payment::pallet::Event */ + /** Lookup62: pallet_services_payment::pallet::Event */ PalletServicesPaymentEvent: { _enum: { CreditsPurchased: { @@ -512,11 +573,15 @@ export default { payer: "AccountId32", credit: "u128", }, - CreditBurned: { + BlockProductionCreditBurned: { paraId: "u32", creditsRemaining: "u32", }, - CreditsSet: { + CollatorAssignmentCreditBurned: { + paraId: "u32", + creditsRemaining: "u32", + }, + BlockProductionCreditsSet: { paraId: "u32", credits: "u32", }, @@ -524,9 +589,13 @@ export default { paraId: "u32", refundAddress: "Option", }, + CollatorAssignmentCreditsSet: { + paraId: "u32", + credits: "u32", + }, }, }, - /** Lookup56: pallet_data_preservers::pallet::Event */ + /** Lookup63: pallet_data_preservers::pallet::Event */ PalletDataPreserversEvent: { _enum: { BootNodesChanged: { @@ -534,7 +603,7 @@ export default { }, }, }, - /** Lookup57: pallet_invulnerables::pallet::Event */ + /** Lookup64: pallet_invulnerables::pallet::Event */ PalletInvulnerablesEvent: { _enum: { NewInvulnerables: { @@ -551,7 +620,7 @@ export default { }, }, }, - /** Lookup59: pallet_session::pallet::Event */ + /** Lookup66: pallet_session::pallet::Event */ PalletSessionEvent: { _enum: { NewSession: { @@ -559,7 +628,7 @@ export default { }, }, }, - /** Lookup60: pallet_pooled_staking::pallet::Event */ + /** Lookup67: pallet_pooled_staking::pallet::Event */ PalletPooledStakingEvent: { _enum: { UpdatedCandidatePosition: { @@ -654,11 +723,11 @@ export default { }, }, }, - /** Lookup62: pallet_pooled_staking::pallet::TargetPool */ + /** Lookup69: pallet_pooled_staking::pallet::TargetPool */ PalletPooledStakingTargetPool: { _enum: ["AutoCompounding", "ManualRewards"], }, - /** Lookup63: pallet_inflation_rewards::pallet::Event */ + /** Lookup70: pallet_inflation_rewards::pallet::Event */ PalletInflationRewardsEvent: { _enum: { RewardedOrchestrator: { @@ -672,7 +741,7 @@ export default { }, }, }, - /** Lookup64: pallet_treasury::pallet::Event */ + /** Lookup71: pallet_treasury::pallet::Event */ PalletTreasuryEvent: { _enum: { Proposed: { @@ -732,7 +801,7 @@ export default { }, }, }, - /** Lookup65: cumulus_pallet_xcmp_queue::pallet::Event */ + /** Lookup72: cumulus_pallet_xcmp_queue::pallet::Event */ CumulusPalletXcmpQueueEvent: { _enum: { XcmpMessageSent: { @@ -740,7 +809,7 @@ export default { }, }, }, - /** Lookup66: cumulus_pallet_xcm::pallet::Event */ + /** Lookup73: cumulus_pallet_xcm::pallet::Event */ CumulusPalletXcmEvent: { _enum: { InvalidFormat: "[u8;32]", @@ -748,7 +817,7 @@ export default { ExecutedDownward: "([u8;32],XcmV3TraitsOutcome)", }, }, - /** Lookup67: xcm::v3::traits::Outcome */ + /** Lookup74: xcm::v3::traits::Outcome */ XcmV3TraitsOutcome: { _enum: { Complete: "SpWeightsWeightV2Weight", @@ -756,7 +825,7 @@ export default { Error: "XcmV3TraitsError", }, }, - /** Lookup68: xcm::v3::traits::Error */ + /** Lookup75: xcm::v3::traits::Error */ XcmV3TraitsError: { _enum: { Overflow: "Null", @@ -801,7 +870,7 @@ export default { ExceedsStackLimit: "Null", }, }, - /** Lookup69: cumulus_pallet_dmp_queue::pallet::Event */ + /** Lookup76: cumulus_pallet_dmp_queue::pallet::Event */ CumulusPalletDmpQueueEvent: { _enum: { StartedExport: "Null", @@ -829,7 +898,7 @@ export default { }, }, }, - /** Lookup70: pallet_xcm::pallet::Event */ + /** Lookup77: pallet_xcm::pallet::Event */ PalletXcmEvent: { _enum: { Attempted: { @@ -949,12 +1018,12 @@ export default { }, }, }, - /** Lookup71: staging_xcm::v3::multilocation::MultiLocation */ + /** Lookup78: staging_xcm::v3::multilocation::MultiLocation */ StagingXcmV3MultiLocation: { parents: "u8", interior: "XcmV3Junctions", }, - /** Lookup72: xcm::v3::junctions::Junctions */ + /** Lookup79: xcm::v3::junctions::Junctions */ XcmV3Junctions: { _enum: { Here: "Null", @@ -968,7 +1037,7 @@ export default { X8: "(XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction)", }, }, - /** Lookup73: xcm::v3::junction::Junction */ + /** Lookup80: xcm::v3::junction::Junction */ XcmV3Junction: { _enum: { Parachain: "Compact", @@ -998,7 +1067,7 @@ export default { GlobalConsensus: "XcmV3JunctionNetworkId", }, }, - /** Lookup76: xcm::v3::junction::NetworkId */ + /** Lookup83: xcm::v3::junction::NetworkId */ XcmV3JunctionNetworkId: { _enum: { ByGenesis: "[u8;32]", @@ -1019,7 +1088,7 @@ export default { PolkadotBulletin: "Null", }, }, - /** Lookup79: xcm::v3::junction::BodyId */ + /** Lookup86: xcm::v3::junction::BodyId */ XcmV3JunctionBodyId: { _enum: { Unit: "Null", @@ -1034,7 +1103,7 @@ export default { Treasury: "Null", }, }, - /** Lookup80: xcm::v3::junction::BodyPart */ + /** Lookup87: xcm::v3::junction::BodyPart */ XcmV3JunctionBodyPart: { _enum: { Voice: "Null", @@ -1055,9 +1124,9 @@ export default { }, }, }, - /** Lookup81: xcm::v3::Xcm */ + /** Lookup88: xcm::v3::Xcm */ XcmV3Xcm: "Vec", - /** Lookup83: xcm::v3::Instruction */ + /** Lookup90: xcm::v3::Instruction */ XcmV3Instruction: { _enum: { WithdrawAsset: "XcmV3MultiassetMultiAssets", @@ -1197,28 +1266,28 @@ export default { }, }, }, - /** Lookup84: xcm::v3::multiasset::MultiAssets */ + /** Lookup91: xcm::v3::multiasset::MultiAssets */ XcmV3MultiassetMultiAssets: "Vec", - /** Lookup86: xcm::v3::multiasset::MultiAsset */ + /** Lookup93: xcm::v3::multiasset::MultiAsset */ XcmV3MultiAsset: { id: "XcmV3MultiassetAssetId", fun: "XcmV3MultiassetFungibility", }, - /** Lookup87: xcm::v3::multiasset::AssetId */ + /** Lookup94: xcm::v3::multiasset::AssetId */ XcmV3MultiassetAssetId: { _enum: { Concrete: "StagingXcmV3MultiLocation", Abstract: "[u8;32]", }, }, - /** Lookup88: xcm::v3::multiasset::Fungibility */ + /** Lookup95: xcm::v3::multiasset::Fungibility */ XcmV3MultiassetFungibility: { _enum: { Fungible: "Compact", NonFungible: "XcmV3MultiassetAssetInstance", }, }, - /** Lookup89: xcm::v3::multiasset::AssetInstance */ + /** Lookup96: xcm::v3::multiasset::AssetInstance */ XcmV3MultiassetAssetInstance: { _enum: { Undefined: "Null", @@ -1229,7 +1298,7 @@ export default { Array32: "[u8;32]", }, }, - /** Lookup92: xcm::v3::Response */ + /** Lookup99: xcm::v3::Response */ XcmV3Response: { _enum: { Null: "Null", @@ -1240,7 +1309,7 @@ export default { DispatchResult: "XcmV3MaybeErrorCode", }, }, - /** Lookup96: xcm::v3::PalletInfo */ + /** Lookup103: xcm::v3::PalletInfo */ XcmV3PalletInfo: { index: "Compact", name: "Bytes", @@ -1249,7 +1318,7 @@ export default { minor: "Compact", patch: "Compact", }, - /** Lookup99: xcm::v3::MaybeErrorCode */ + /** Lookup106: xcm::v3::MaybeErrorCode */ XcmV3MaybeErrorCode: { _enum: { Success: "Null", @@ -1257,28 +1326,28 @@ export default { TruncatedError: "Bytes", }, }, - /** Lookup102: xcm::v2::OriginKind */ + /** Lookup109: xcm::v2::OriginKind */ XcmV2OriginKind: { _enum: ["Native", "SovereignAccount", "Superuser", "Xcm"], }, - /** Lookup103: xcm::double_encoded::DoubleEncoded */ + /** Lookup110: xcm::double_encoded::DoubleEncoded */ XcmDoubleEncoded: { encoded: "Bytes", }, - /** Lookup104: xcm::v3::QueryResponseInfo */ + /** Lookup111: xcm::v3::QueryResponseInfo */ XcmV3QueryResponseInfo: { destination: "StagingXcmV3MultiLocation", queryId: "Compact", maxWeight: "SpWeightsWeightV2Weight", }, - /** Lookup105: xcm::v3::multiasset::MultiAssetFilter */ + /** Lookup112: xcm::v3::multiasset::MultiAssetFilter */ XcmV3MultiassetMultiAssetFilter: { _enum: { Definite: "XcmV3MultiassetMultiAssets", Wild: "XcmV3MultiassetWildMultiAsset", }, }, - /** Lookup106: xcm::v3::multiasset::WildMultiAsset */ + /** Lookup113: xcm::v3::multiasset::WildMultiAsset */ XcmV3MultiassetWildMultiAsset: { _enum: { All: "Null", @@ -1294,18 +1363,18 @@ export default { }, }, }, - /** Lookup107: xcm::v3::multiasset::WildFungibility */ + /** Lookup114: xcm::v3::multiasset::WildFungibility */ XcmV3MultiassetWildFungibility: { _enum: ["Fungible", "NonFungible"], }, - /** Lookup108: xcm::v3::WeightLimit */ + /** Lookup115: xcm::v3::WeightLimit */ XcmV3WeightLimit: { _enum: { Unlimited: "Null", Limited: "SpWeightsWeightV2Weight", }, }, - /** Lookup109: xcm::VersionedMultiAssets */ + /** Lookup116: xcm::VersionedMultiAssets */ XcmVersionedMultiAssets: { _enum: { __Unused0: "Null", @@ -1314,26 +1383,26 @@ export default { V3: "XcmV3MultiassetMultiAssets", }, }, - /** Lookup110: xcm::v2::multiasset::MultiAssets */ + /** Lookup117: xcm::v2::multiasset::MultiAssets */ XcmV2MultiassetMultiAssets: "Vec", - /** Lookup112: xcm::v2::multiasset::MultiAsset */ + /** Lookup119: xcm::v2::multiasset::MultiAsset */ XcmV2MultiAsset: { id: "XcmV2MultiassetAssetId", fun: "XcmV2MultiassetFungibility", }, - /** Lookup113: xcm::v2::multiasset::AssetId */ + /** Lookup120: xcm::v2::multiasset::AssetId */ XcmV2MultiassetAssetId: { _enum: { Concrete: "XcmV2MultiLocation", Abstract: "Bytes", }, }, - /** Lookup114: xcm::v2::multilocation::MultiLocation */ + /** Lookup121: xcm::v2::multilocation::MultiLocation */ XcmV2MultiLocation: { parents: "u8", interior: "XcmV2MultilocationJunctions", }, - /** Lookup115: xcm::v2::multilocation::Junctions */ + /** Lookup122: xcm::v2::multilocation::Junctions */ XcmV2MultilocationJunctions: { _enum: { Here: "Null", @@ -1347,7 +1416,7 @@ export default { X8: "(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)", }, }, - /** Lookup116: xcm::v2::junction::Junction */ + /** Lookup123: xcm::v2::junction::Junction */ XcmV2Junction: { _enum: { Parachain: "Compact", @@ -1373,7 +1442,7 @@ export default { }, }, }, - /** Lookup117: xcm::v2::NetworkId */ + /** Lookup124: xcm::v2::NetworkId */ XcmV2NetworkId: { _enum: { Any: "Null", @@ -1382,7 +1451,7 @@ export default { Kusama: "Null", }, }, - /** Lookup119: xcm::v2::BodyId */ + /** Lookup126: xcm::v2::BodyId */ XcmV2BodyId: { _enum: { Unit: "Null", @@ -1397,7 +1466,7 @@ export default { Treasury: "Null", }, }, - /** Lookup120: xcm::v2::BodyPart */ + /** Lookup127: xcm::v2::BodyPart */ XcmV2BodyPart: { _enum: { Voice: "Null", @@ -1418,14 +1487,14 @@ export default { }, }, }, - /** Lookup121: xcm::v2::multiasset::Fungibility */ + /** Lookup128: xcm::v2::multiasset::Fungibility */ XcmV2MultiassetFungibility: { _enum: { Fungible: "Compact", NonFungible: "XcmV2MultiassetAssetInstance", }, }, - /** Lookup122: xcm::v2::multiasset::AssetInstance */ + /** Lookup129: xcm::v2::multiasset::AssetInstance */ XcmV2MultiassetAssetInstance: { _enum: { Undefined: "Null", @@ -1437,7 +1506,7 @@ export default { Blob: "Bytes", }, }, - /** Lookup123: xcm::VersionedMultiLocation */ + /** Lookup130: xcm::VersionedMultiLocation */ XcmVersionedMultiLocation: { _enum: { __Unused0: "Null", @@ -1446,7 +1515,7 @@ export default { V3: "StagingXcmV3MultiLocation", }, }, - /** Lookup124: pallet_assets::pallet::Event */ + /** Lookup131: pallet_assets::pallet::Event */ PalletAssetsEvent: { _enum: { Created: { @@ -1560,7 +1629,7 @@ export default { }, }, }, - /** Lookup125: pallet_foreign_asset_creator::pallet::Event */ + /** Lookup132: pallet_foreign_asset_creator::pallet::Event */ PalletForeignAssetCreatorEvent: { _enum: { ForeignAssetCreated: { @@ -1581,7 +1650,7 @@ export default { }, }, }, - /** Lookup126: pallet_asset_rate::pallet::Event */ + /** Lookup133: pallet_asset_rate::pallet::Event */ PalletAssetRateEvent: { _enum: { AssetRateCreated: { @@ -1601,7 +1670,7 @@ export default { }, }, }, - /** Lookup128: pallet_message_queue::pallet::Event */ + /** Lookup135: pallet_message_queue::pallet::Event */ PalletMessageQueueEvent: { _enum: { ProcessingFailed: { @@ -1627,7 +1696,7 @@ export default { }, }, }, - /** Lookup129: cumulus_primitives_core::AggregateMessageOrigin */ + /** Lookup136: cumulus_primitives_core::AggregateMessageOrigin */ CumulusPrimitivesCoreAggregateMessageOrigin: { _enum: { Here: "Null", @@ -1635,7 +1704,7 @@ export default { Sibling: "u32", }, }, - /** Lookup130: frame_support::traits::messages::ProcessMessageError */ + /** Lookup137: frame_support::traits::messages::ProcessMessageError */ FrameSupportMessagesProcessMessageError: { _enum: { BadFormat: "Null", @@ -1645,11 +1714,11 @@ export default { Yield: "Null", }, }, - /** Lookup131: pallet_root_testing::pallet::Event */ + /** Lookup138: pallet_root_testing::pallet::Event */ PalletRootTestingEvent: { _enum: ["DefensiveTestCall"], }, - /** Lookup132: frame_system::Phase */ + /** Lookup139: frame_system::Phase */ FrameSystemPhase: { _enum: { ApplyExtrinsic: "u32", @@ -1657,17 +1726,17 @@ export default { Initialization: "Null", }, }, - /** Lookup136: frame_system::LastRuntimeUpgradeInfo */ + /** Lookup143: frame_system::LastRuntimeUpgradeInfo */ FrameSystemLastRuntimeUpgradeInfo: { specVersion: "Compact", specName: "Text", }, - /** Lookup138: frame_system::CodeUpgradeAuthorization */ + /** Lookup145: frame_system::CodeUpgradeAuthorization */ FrameSystemCodeUpgradeAuthorization: { codeHash: "H256", checkVersion: "bool", }, - /** Lookup139: frame_system::pallet::Call */ + /** Lookup146: frame_system::pallet::Call */ FrameSystemCall: { _enum: { remark: { @@ -1710,41 +1779,41 @@ export default { }, }, }, - /** Lookup143: frame_system::limits::BlockWeights */ + /** Lookup150: frame_system::limits::BlockWeights */ FrameSystemLimitsBlockWeights: { baseBlock: "SpWeightsWeightV2Weight", maxBlock: "SpWeightsWeightV2Weight", perClass: "FrameSupportDispatchPerDispatchClassWeightsPerClass", }, - /** Lookup144: frame_support::dispatch::PerDispatchClass */ + /** Lookup151: frame_support::dispatch::PerDispatchClass */ FrameSupportDispatchPerDispatchClassWeightsPerClass: { normal: "FrameSystemLimitsWeightsPerClass", operational: "FrameSystemLimitsWeightsPerClass", mandatory: "FrameSystemLimitsWeightsPerClass", }, - /** Lookup145: frame_system::limits::WeightsPerClass */ + /** Lookup152: frame_system::limits::WeightsPerClass */ FrameSystemLimitsWeightsPerClass: { baseExtrinsic: "SpWeightsWeightV2Weight", maxExtrinsic: "Option", maxTotal: "Option", reserved: "Option", }, - /** Lookup147: frame_system::limits::BlockLength */ + /** Lookup154: frame_system::limits::BlockLength */ FrameSystemLimitsBlockLength: { max: "FrameSupportDispatchPerDispatchClassU32", }, - /** Lookup148: frame_support::dispatch::PerDispatchClass */ + /** Lookup155: frame_support::dispatch::PerDispatchClass */ FrameSupportDispatchPerDispatchClassU32: { normal: "u32", operational: "u32", mandatory: "u32", }, - /** Lookup149: sp_weights::RuntimeDbWeight */ + /** Lookup156: sp_weights::RuntimeDbWeight */ SpWeightsRuntimeDbWeight: { read: "u64", write: "u64", }, - /** Lookup150: sp_version::RuntimeVersion */ + /** Lookup157: sp_version::RuntimeVersion */ SpVersionRuntimeVersion: { specName: "Text", implName: "Text", @@ -1755,7 +1824,7 @@ export default { transactionVersion: "u32", stateVersion: "u8", }, - /** Lookup154: frame_system::pallet::Error */ + /** Lookup161: frame_system::pallet::Error */ FrameSystemError: { _enum: [ "InvalidSpecName", @@ -1768,49 +1837,49 @@ export default { "Unauthorized", ], }, - /** Lookup156: cumulus_pallet_parachain_system::unincluded_segment::Ancestor */ + /** Lookup163: cumulus_pallet_parachain_system::unincluded_segment::Ancestor */ CumulusPalletParachainSystemUnincludedSegmentAncestor: { usedBandwidth: "CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth", paraHeadHash: "Option", consumedGoAheadSignal: "Option", }, - /** Lookup157: cumulus_pallet_parachain_system::unincluded_segment::UsedBandwidth */ + /** Lookup164: cumulus_pallet_parachain_system::unincluded_segment::UsedBandwidth */ CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth: { umpMsgCount: "u32", umpTotalBytes: "u32", hrmpOutgoing: "BTreeMap", }, - /** Lookup159: cumulus_pallet_parachain_system::unincluded_segment::HrmpChannelUpdate */ + /** Lookup166: cumulus_pallet_parachain_system::unincluded_segment::HrmpChannelUpdate */ CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate: { msgCount: "u32", totalBytes: "u32", }, - /** Lookup164: polkadot_primitives::v6::UpgradeGoAhead */ + /** Lookup171: polkadot_primitives::v6::UpgradeGoAhead */ PolkadotPrimitivesV6UpgradeGoAhead: { _enum: ["Abort", "GoAhead"], }, - /** Lookup165: cumulus_pallet_parachain_system::unincluded_segment::SegmentTracker */ + /** Lookup172: cumulus_pallet_parachain_system::unincluded_segment::SegmentTracker */ CumulusPalletParachainSystemUnincludedSegmentSegmentTracker: { usedBandwidth: "CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth", hrmpWatermark: "Option", consumedGoAheadSignal: "Option", }, - /** Lookup166: polkadot_primitives::v6::PersistedValidationData */ + /** Lookup173: polkadot_primitives::v6::PersistedValidationData */ PolkadotPrimitivesV6PersistedValidationData: { parentHead: "Bytes", relayParentNumber: "u32", relayParentStorageRoot: "H256", maxPovSize: "u32", }, - /** Lookup169: polkadot_primitives::v6::UpgradeRestriction */ + /** Lookup176: polkadot_primitives::v6::UpgradeRestriction */ PolkadotPrimitivesV6UpgradeRestriction: { _enum: ["Present"], }, - /** Lookup170: sp_trie::storage_proof::StorageProof */ + /** Lookup177: sp_trie::storage_proof::StorageProof */ SpTrieStorageProof: { trieNodes: "BTreeSet", }, - /** Lookup172: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot */ + /** Lookup179: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot */ CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { dmqMqcHead: "H256", relayDispatchQueueRemainingCapacity: @@ -1818,12 +1887,12 @@ export default { ingressChannels: "Vec<(u32,PolkadotPrimitivesV6AbridgedHrmpChannel)>", egressChannels: "Vec<(u32,PolkadotPrimitivesV6AbridgedHrmpChannel)>", }, - /** Lookup173: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispatchQueueRemainingCapacity */ + /** Lookup180: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispatchQueueRemainingCapacity */ CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity: { remainingCount: "u32", remainingSize: "u32", }, - /** Lookup176: polkadot_primitives::v6::AbridgedHrmpChannel */ + /** Lookup183: polkadot_primitives::v6::AbridgedHrmpChannel */ PolkadotPrimitivesV6AbridgedHrmpChannel: { maxCapacity: "u32", maxTotalSize: "u32", @@ -1832,7 +1901,7 @@ export default { totalSize: "u32", mqcHead: "Option", }, - /** Lookup177: polkadot_primitives::v6::AbridgedHostConfiguration */ + /** Lookup184: polkadot_primitives::v6::AbridgedHostConfiguration */ PolkadotPrimitivesV6AbridgedHostConfiguration: { maxCodeSize: "u32", maxHeadDataSize: "u32", @@ -1845,17 +1914,17 @@ export default { validationUpgradeDelay: "u32", asyncBackingParams: "PolkadotPrimitivesV6AsyncBackingAsyncBackingParams", }, - /** Lookup178: polkadot_primitives::v6::async_backing::AsyncBackingParams */ + /** Lookup185: polkadot_primitives::v6::async_backing::AsyncBackingParams */ PolkadotPrimitivesV6AsyncBackingAsyncBackingParams: { maxCandidateDepth: "u32", allowedAncestryLen: "u32", }, - /** Lookup184: polkadot_core_primitives::OutboundHrmpMessage */ + /** Lookup191: polkadot_core_primitives::OutboundHrmpMessage */ PolkadotCorePrimitivesOutboundHrmpMessage: { recipient: "u32", data: "Bytes", }, - /** Lookup185: cumulus_pallet_parachain_system::pallet::Call */ + /** Lookup192: cumulus_pallet_parachain_system::pallet::Call */ CumulusPalletParachainSystemCall: { _enum: { set_validation_data: { @@ -1873,24 +1942,24 @@ export default { }, }, }, - /** Lookup186: cumulus_primitives_parachain_inherent::ParachainInherentData */ + /** Lookup193: cumulus_primitives_parachain_inherent::ParachainInherentData */ CumulusPrimitivesParachainInherentParachainInherentData: { validationData: "PolkadotPrimitivesV6PersistedValidationData", relayChainState: "SpTrieStorageProof", downwardMessages: "Vec", horizontalMessages: "BTreeMap>", }, - /** Lookup188: polkadot_core_primitives::InboundDownwardMessage */ + /** Lookup195: polkadot_core_primitives::InboundDownwardMessage */ PolkadotCorePrimitivesInboundDownwardMessage: { sentAt: "u32", msg: "Bytes", }, - /** Lookup191: polkadot_core_primitives::InboundHrmpMessage */ + /** Lookup198: polkadot_core_primitives::InboundHrmpMessage */ PolkadotCorePrimitivesInboundHrmpMessage: { sentAt: "u32", data: "Bytes", }, - /** Lookup194: cumulus_pallet_parachain_system::pallet::Error */ + /** Lookup201: cumulus_pallet_parachain_system::pallet::Error */ CumulusPalletParachainSystemError: { _enum: [ "OverlappingUpgrades", @@ -1903,7 +1972,7 @@ export default { "Unauthorized", ], }, - /** Lookup195: pallet_timestamp::pallet::Call */ + /** Lookup202: pallet_timestamp::pallet::Call */ PalletTimestampCall: { _enum: { set: { @@ -1911,9 +1980,9 @@ export default { }, }, }, - /** Lookup196: staging_parachain_info::pallet::Call */ + /** Lookup203: staging_parachain_info::pallet::Call */ StagingParachainInfoCall: "Null", - /** Lookup197: pallet_sudo::pallet::Call */ + /** Lookup204: pallet_sudo::pallet::Call */ PalletSudoCall: { _enum: { sudo: { @@ -1936,7 +2005,7 @@ export default { remove_key: "Null", }, }, - /** Lookup199: pallet_utility::pallet::Call */ + /** Lookup206: pallet_utility::pallet::Call */ PalletUtilityCall: { _enum: { batch: { @@ -1962,7 +2031,7 @@ export default { }, }, }, - /** Lookup201: dancebox_runtime::OriginCaller */ + /** Lookup208: dancebox_runtime::OriginCaller */ DanceboxRuntimeOriginCaller: { _enum: { system: "FrameSupportDispatchRawOrigin", @@ -2021,7 +2090,7 @@ export default { PolkadotXcm: "PalletXcmOrigin", }, }, - /** Lookup202: frame_support::dispatch::RawOrigin */ + /** Lookup209: frame_support::dispatch::RawOrigin */ FrameSupportDispatchRawOrigin: { _enum: { Root: "Null", @@ -2029,23 +2098,23 @@ export default { None: "Null", }, }, - /** Lookup203: cumulus_pallet_xcm::pallet::Origin */ + /** Lookup210: cumulus_pallet_xcm::pallet::Origin */ CumulusPalletXcmOrigin: { _enum: { Relay: "Null", SiblingParachain: "u32", }, }, - /** Lookup204: pallet_xcm::pallet::Origin */ + /** Lookup211: pallet_xcm::pallet::Origin */ PalletXcmOrigin: { _enum: { Xcm: "StagingXcmV3MultiLocation", Response: "StagingXcmV3MultiLocation", }, }, - /** Lookup205: sp_core::Void */ + /** Lookup212: sp_core::Void */ SpCoreVoid: "Null", - /** Lookup206: pallet_proxy::pallet::Call */ + /** Lookup213: pallet_proxy::pallet::Call */ PalletProxyCall: { _enum: { proxy: { @@ -2096,11 +2165,11 @@ export default { }, }, }, - /** Lookup210: pallet_maintenance_mode::pallet::Call */ + /** Lookup217: pallet_maintenance_mode::pallet::Call */ PalletMaintenanceModeCall: { _enum: ["enter_maintenance_mode", "resume_normal_operation"], }, - /** Lookup211: pallet_tx_pause::pallet::Call */ + /** Lookup218: pallet_tx_pause::pallet::Call */ PalletTxPauseCall: { _enum: { pause: { @@ -2111,7 +2180,7 @@ export default { }, }, }, - /** Lookup212: pallet_balances::pallet::Call */ + /** Lookup219: pallet_balances::pallet::Call */ PalletBalancesCall: { _enum: { transfer_allow_death: { @@ -2146,7 +2215,51 @@ export default { }, }, }, - /** Lookup213: pallet_identity::pallet::Call */ + /** Lookup220: pallet_stream_payment::pallet::Call */ + PalletStreamPaymentCall: { + _enum: { + open_stream: { + target: "AccountId32", + config: "PalletStreamPaymentStreamConfig", + initialDeposit: "u128", + }, + close_stream: { + streamId: "u64", + }, + perform_payment: { + streamId: "u64", + }, + request_change: { + streamId: "u64", + kind: "PalletStreamPaymentChangeKind", + newConfig: "PalletStreamPaymentStreamConfig", + depositChange: "Option", + }, + accept_requested_change: { + streamId: "u64", + requestNonce: "u32", + depositChange: "Option", + }, + cancel_change_request: { + streamId: "u64", + }, + immediately_change_deposit: { + streamId: "u64", + assetId: "DanceboxRuntimeStreamPaymentAssetId", + change: "PalletStreamPaymentDepositChange", + }, + }, + }, + /** Lookup221: pallet_stream_payment::pallet::ChangeKind