From 168fef2296b757e15cf7e46bb86d130b6cb8c33e Mon Sep 17 00:00:00 2001 From: gilescope Date: Thu, 12 Oct 2023 10:31:41 +0200 Subject: [PATCH 01/11] upgrade fungible --- substrate/frame/assets/src/benchmarking.rs | 91 +++++--- substrate/frame/assets/src/functions.rs | 68 ++++-- substrate/frame/assets/src/impl_fungibles.rs | 4 +- substrate/frame/assets/src/lib.rs | 88 ++++++-- substrate/frame/assets/src/mock.rs | 9 +- substrate/frame/assets/src/tests.rs | 217 ++++++++++--------- substrate/frame/assets/src/types.rs | 2 +- 7 files changed, 312 insertions(+), 167 deletions(-) diff --git a/substrate/frame/assets/src/benchmarking.rs b/substrate/frame/assets/src/benchmarking.rs index c9b0825542de7..650a3d793d9ba 100644 --- a/substrate/frame/assets/src/benchmarking.rs +++ b/substrate/frame/assets/src/benchmarking.rs @@ -23,7 +23,10 @@ use super::*; use frame_benchmarking::v1::{ account, benchmarks_instance_pallet, whitelist_account, whitelisted_caller, BenchmarkError, }; -use frame_support::traits::{EnsureOrigin, Get, UnfilteredDispatchable}; +use frame_support::traits::{ + fungible::{Inspect, InspectHold, Mutate}, + EnsureOrigin, Get, UnfilteredDispatchable, +}; use frame_system::RawOrigin as SystemOrigin; use sp_runtime::traits::Bounded; use sp_std::prelude::*; @@ -31,11 +34,44 @@ use sp_std::prelude::*; use crate::Pallet as Assets; const SEED: u32 = 0; +/// A large amount but not enough to cause overflows. +fn large_amount, I: 'static>() -> DepositBalanceOf { + DepositBalanceOf::::max_value() >> 4 +} fn default_asset_id, I: 'static>() -> T::AssetIdParameter { T::BenchmarkHelper::create_asset_id_parameter(0) } +fn create_default_asset_with_deposits, I: 'static>( +) -> (T::AssetIdParameter, T::AccountId, AccountIdLookupOf) { + let asset_id = default_asset_id::(); + let caller: T::AccountId = whitelisted_caller(); + let caller_lookup = T::Lookup::unlookup(caller.clone()); + + T::NativeToken::set_balance(&caller, large_amount::()); + + assert!(Assets::::create( + SystemOrigin::Signed(caller.clone()).into(), + asset_id, + caller_lookup.clone(), + 1u32.into(), + ) + .is_ok()); + + let dummy = vec![0u8; T::StringLimit::get() as usize]; + assert!(Assets::::set_metadata( + SystemOrigin::Signed(caller.clone()).into(), + asset_id, + dummy.clone(), + dummy, + 12 + ) + .is_ok()); + + (asset_id, caller, caller_lookup) +} + fn create_default_asset, I: 'static>( is_sufficient: bool, ) -> (T::AssetIdParameter, T::AccountId, AccountIdLookupOf) { @@ -60,7 +96,7 @@ fn create_default_minted_asset, I: 'static>( ) -> (T::AssetIdParameter, T::AccountId, AccountIdLookupOf) { let (asset_id, caller, caller_lookup) = create_default_asset::(is_sufficient); if !is_sufficient { - T::Currency::make_free_balance_be(&caller, T::Currency::minimum_balance()); + T::NativeToken::set_balance(&caller, T::NativeToken::minimum_balance()); } assert!(Assets::::mint( SystemOrigin::Signed(caller.clone()).into(), @@ -102,18 +138,19 @@ fn add_sufficients, I: 'static>(minter: T::AccountId, n: u32) { fn add_approvals, I: 'static>(minter: T::AccountId, n: u32) { let asset_id = default_asset_id::(); - T::Currency::deposit_creating( + T::NativeToken::mint_into( &minter, - T::ApprovalDeposit::get() * n.into() + T::Currency::minimum_balance(), - ); + T::ApprovalDeposit::get() * n.into() + T::NativeToken::minimum_balance(), + ) + .unwrap(); let minter_lookup = T::Lookup::unlookup(minter.clone()); let origin = SystemOrigin::Signed(minter); Assets::::mint(origin.clone().into(), asset_id, minter_lookup, (100 * (n + 1)).into()) .unwrap(); - let enough = T::Currency::minimum_balance(); + let enough = T::NativeToken::minimum_balance(); for i in 0..n { let target = account("approval", i, SEED); - T::Currency::make_free_balance_be(&target, enough); + T::NativeToken::set_balance(&target, enough); let target_lookup = T::Lookup::unlookup(target); Assets::::approve_transfer( origin.clone().into(), @@ -140,7 +177,7 @@ benchmarks_instance_pallet! { .map_err(|_| BenchmarkError::Weightless)?; let caller = T::CreateOrigin::ensure_origin(origin.clone(), &asset_id.into()).unwrap(); let caller_lookup = T::Lookup::unlookup(caller.clone()); - T::Currency::make_free_balance_be(&caller, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&caller, DepositBalanceOf::::max_value()); }: _(origin, asset_id, caller_lookup, 1u32.into()) verify { assert_last_event::(Event::Created { asset_id: asset_id.into(), creator: caller.clone(), owner: caller }.into()); @@ -305,8 +342,12 @@ benchmarks_instance_pallet! { } transfer_ownership { - let (asset_id, caller, _) = create_default_asset::(true); + let (asset_id, caller, _) = create_default_asset_with_deposits::(); let target: T::AccountId = account("target", 0, SEED); + + // Add ED to target account as transferring non-sufficient assets: + T::NativeToken::set_balance(&target, T::NativeToken::minimum_balance()); + let target_lookup = T::Lookup::unlookup(target.clone()); }: _(SystemOrigin::Signed(caller), asset_id, target_lookup) verify { @@ -337,7 +378,7 @@ benchmarks_instance_pallet! { let decimals = 12; let (asset_id, caller, _) = create_default_asset::(true); - T::Currency::make_free_balance_be(&caller, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&caller, DepositBalanceOf::::max_value()); }: _(SystemOrigin::Signed(caller), asset_id, name.clone(), symbol.clone(), decimals) verify { assert_last_event::(Event::MetadataSet { asset_id: asset_id.into(), name, symbol, decimals, is_frozen: false }.into()); @@ -345,7 +386,7 @@ benchmarks_instance_pallet! { clear_metadata { let (asset_id, caller, _) = create_default_asset::(true); - T::Currency::make_free_balance_be(&caller, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&caller, large_amount::()); let dummy = vec![0u8; T::StringLimit::get() as usize]; let origin = SystemOrigin::Signed(caller.clone()).into(); Assets::::set_metadata(origin, asset_id, dummy.clone(), dummy, 12)?; @@ -380,7 +421,7 @@ benchmarks_instance_pallet! { force_clear_metadata { let (asset_id, caller, _) = create_default_asset::(true); - T::Currency::make_free_balance_be(&caller, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&caller, large_amount::()); let dummy = vec![0u8; T::StringLimit::get() as usize]; let origin = SystemOrigin::Signed(caller).into(); Assets::::set_metadata(origin, asset_id, dummy.clone(), dummy, 12)?; @@ -415,7 +456,7 @@ benchmarks_instance_pallet! { approve_transfer { let (asset_id, caller, _) = create_default_minted_asset::(true, 100u32.into()); - T::Currency::make_free_balance_be(&caller, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&caller, DepositBalanceOf::::max_value()); let delegate: T::AccountId = account("delegate", 0, SEED); let delegate_lookup = T::Lookup::unlookup(delegate.clone()); @@ -427,7 +468,7 @@ benchmarks_instance_pallet! { transfer_approved { let (asset_id, owner, owner_lookup) = create_default_minted_asset::(true, 100u32.into()); - T::Currency::make_free_balance_be(&owner, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&owner, large_amount::()); let delegate: T::AccountId = account("delegate", 0, SEED); whitelist_account!(delegate); @@ -440,13 +481,13 @@ benchmarks_instance_pallet! { let dest_lookup = T::Lookup::unlookup(dest.clone()); }: _(SystemOrigin::Signed(delegate.clone()), asset_id, owner_lookup, dest_lookup, amount) verify { - assert!(T::Currency::reserved_balance(&owner).is_zero()); + assert!(T::NativeToken::total_balance_on_hold(&owner).is_zero()); assert_event::(Event::Transferred { asset_id: asset_id.into(), from: owner, to: dest, amount }.into()); } cancel_approval { let (asset_id, caller, _) = create_default_minted_asset::(true, 100u32.into()); - T::Currency::make_free_balance_be(&caller, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&caller, large_amount::()); let delegate: T::AccountId = account("delegate", 0, SEED); let delegate_lookup = T::Lookup::unlookup(delegate.clone()); @@ -460,7 +501,7 @@ benchmarks_instance_pallet! { force_cancel_approval { let (asset_id, caller, caller_lookup) = create_default_minted_asset::(true, 100u32.into()); - T::Currency::make_free_balance_be(&caller, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&caller, large_amount::()); let delegate: T::AccountId = account("delegate", 0, SEED); let delegate_lookup = T::Lookup::unlookup(delegate.clone()); @@ -482,7 +523,7 @@ benchmarks_instance_pallet! { touch { let (asset_id, asset_owner, asset_owner_lookup) = create_default_asset::(false); let new_account: T::AccountId = account("newaccount", 1, SEED); - T::Currency::make_free_balance_be(&new_account, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&new_account, DepositBalanceOf::::max_value()); assert_ne!(asset_owner, new_account); assert!(!Account::::contains_key(asset_id.into(), &new_account)); }: _(SystemOrigin::Signed(new_account.clone()), asset_id) @@ -494,7 +535,7 @@ benchmarks_instance_pallet! { let (asset_id, asset_owner, asset_owner_lookup) = create_default_asset::(false); let new_account: T::AccountId = account("newaccount", 1, SEED); let new_account_lookup = T::Lookup::unlookup(new_account.clone()); - T::Currency::make_free_balance_be(&asset_owner, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&asset_owner, DepositBalanceOf::::max_value()); assert_ne!(asset_owner, new_account); assert!(!Account::::contains_key(asset_id.into(), &new_account)); }: _(SystemOrigin::Signed(asset_owner.clone()), asset_id, new_account_lookup) @@ -505,27 +546,27 @@ benchmarks_instance_pallet! { refund { let (asset_id, asset_owner, asset_owner_lookup) = create_default_asset::(false); let new_account: T::AccountId = account("newaccount", 1, SEED); - T::Currency::make_free_balance_be(&new_account, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&new_account, large_amount::()); assert_ne!(asset_owner, new_account); assert!(Assets::::touch( SystemOrigin::Signed(new_account.clone()).into(), asset_id ).is_ok()); // `touch` should reserve balance of the caller according to the `AssetAccountDeposit` amount... - assert_eq!(T::Currency::reserved_balance(&new_account), T::AssetAccountDeposit::get()); + assert_eq!(T::NativeToken::total_balance_on_hold(&new_account), T::AssetAccountDeposit::get()); // ...and also create an `Account` entry. assert!(Account::::contains_key(asset_id.into(), &new_account)); }: _(SystemOrigin::Signed(new_account.clone()), asset_id, true) verify { // `refund`ing should of course repatriate the reserve - assert!(T::Currency::reserved_balance(&new_account).is_zero()); + assert!(T::NativeToken::total_balance_on_hold(&new_account).is_zero()); } refund_other { let (asset_id, asset_owner, asset_owner_lookup) = create_default_asset::(false); let new_account: T::AccountId = account("newaccount", 1, SEED); let new_account_lookup = T::Lookup::unlookup(new_account.clone()); - T::Currency::make_free_balance_be(&asset_owner, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&asset_owner, large_amount::()); assert_ne!(asset_owner, new_account); assert!(Assets::::touch_other( SystemOrigin::Signed(asset_owner.clone()).into(), @@ -533,12 +574,12 @@ benchmarks_instance_pallet! { new_account_lookup.clone() ).is_ok()); // `touch` should reserve balance of the caller according to the `AssetAccountDeposit` amount... - assert_eq!(T::Currency::reserved_balance(&asset_owner), T::AssetAccountDeposit::get()); + assert_eq!(T::NativeToken::total_balance_on_hold(&asset_owner), T::AssetAccountDeposit::get()); assert!(Account::::contains_key(asset_id.into(), &new_account)); }: _(SystemOrigin::Signed(asset_owner.clone()), asset_id, new_account_lookup.clone()) verify { // this should repatriate the reserved balance of the freezer - assert!(T::Currency::reserved_balance(&asset_owner).is_zero()); + assert!(T::NativeToken::total_balance_on_hold(&asset_owner).is_zero()); } block { diff --git a/substrate/frame/assets/src/functions.rs b/substrate/frame/assets/src/functions.rs index c2c1b6839060e..8d9062cd7a23b 100644 --- a/substrate/frame/assets/src/functions.rs +++ b/substrate/frame/assets/src/functions.rs @@ -323,7 +323,7 @@ impl, I: 'static> Pallet { Error::::NoPermission ); let reason = Self::new_account(&who, &mut details, Some((&depositor, deposit)))?; - T::Currency::reserve(&depositor, deposit)?; + T::NativeToken::hold(&HoldReason::AssetAccount.into(), &depositor, deposit)?; Asset::::insert(&id, details); Account::::insert( &id, @@ -351,7 +351,12 @@ impl, I: 'static> Pallet { ensure!(account.balance.is_zero() || allow_burn, Error::::WouldBurn); if let Some(deposit) = account.reason.take_deposit() { - T::Currency::unreserve(&who, deposit); + T::NativeToken::release( + &HoldReason::AssetAccount.into(), + &who, + deposit, + Precision::BestEffort, + )?; } if let Remove = Self::dead_account(&who, &mut details, &account.reason, false) { @@ -383,7 +388,12 @@ impl, I: 'static> Pallet { ensure!(caller == &depositor || caller == &details.admin, Error::::NoPermission); ensure!(account.balance.is_zero(), Error::::WouldBurn); - T::Currency::unreserve(&depositor, deposit); + T::NativeToken::release( + &HoldReason::AssetAccount.into(), + &depositor, + deposit, + Precision::BestEffort, + )?; if let Remove = Self::dead_account(&who, &mut details, &account.reason, false) { Account::::remove(&id, &who); @@ -762,10 +772,16 @@ impl, I: 'static> Pallet { ensure!(details.status == AssetStatus::Destroying, Error::::IncorrectStatus); for (i, (who, mut v)) in Account::::iter_prefix(&id).enumerate() { // unreserve the existence deposit if any + let reason = &HoldReason::AssetAccount.into(); if let Some((depositor, deposit)) = v.reason.take_deposit_from() { - T::Currency::unreserve(&depositor, deposit); + T::NativeToken::release( + reason, + &depositor, + deposit, + Precision::BestEffort, + )?; } else if let Some(deposit) = v.reason.take_deposit() { - T::Currency::unreserve(&who, deposit); + T::NativeToken::release(reason, &who, deposit, Precision::BestEffort)?; } if let Remove = Self::dead_account(&who, &mut details, &v.reason, false) { Account::::remove(&id, &who); @@ -813,7 +829,12 @@ impl, I: 'static> Pallet { ensure!(details.status == AssetStatus::Destroying, Error::::IncorrectStatus); for ((owner, _), approval) in Approvals::::drain_prefix((id.clone(),)) { - T::Currency::unreserve(&owner, approval.deposit); + T::NativeToken::release( + &HoldReason::AssetApproval.into(), + &owner, + approval.deposit, + Precision::BestEffort, + )?; removed_approvals = removed_approvals.saturating_add(1); details.approvals = details.approvals.saturating_sub(1); if removed_approvals >= max_items { @@ -843,10 +864,18 @@ impl, I: 'static> Pallet { ensure!(T::CallbackHandle::destroyed(&id).is_ok(), Error::::CallbackFailed); let metadata = Metadata::::take(&id); - T::Currency::unreserve( + T::NativeToken::release( + &HoldReason::AssetMetadata.into(), + &details.owner, + metadata.deposit, + Precision::BestEffort, + )?; + T::NativeToken::release( + &HoldReason::AssetCreation.into(), &details.owner, - details.deposit.saturating_add(metadata.deposit), - ); + details.deposit, + Precision::BestEffort, + )?; Self::deposit_event(Event::Destroyed { asset_id: id }); Ok(()) @@ -879,7 +908,8 @@ impl, I: 'static> Pallet { }; let deposit_required = T::ApprovalDeposit::get(); if approved.deposit < deposit_required { - T::Currency::reserve(owner, deposit_required - approved.deposit)?; + let reason = &HoldReason::AssetApproval.into(); + T::NativeToken::hold(reason, owner, deposit_required - approved.deposit)?; approved.deposit = deposit_required; } approved.amount = approved.amount.saturating_add(amount); @@ -929,7 +959,13 @@ impl, I: 'static> Pallet { Self::transfer_and_die(id.clone(), owner, destination, amount, None, f)?.1; if remaining.is_zero() { - T::Currency::unreserve(owner, approved.deposit); + let reason = &HoldReason::AssetApproval.into(); + T::NativeToken::release( + reason, + owner, + approved.deposit, + Precision::BestEffort, + )?; Asset::::mutate(id.clone(), |maybe_details| { if let Some(details) = maybe_details { details.approvals.saturating_dec(); @@ -973,10 +1009,16 @@ impl, I: 'static> Pallet { let old_deposit = metadata.take().map_or(Zero::zero(), |m| m.deposit); let new_deposit = Self::calc_metadata_deposit(&name, &symbol); + let reason = &HoldReason::AssetMetadata.into(); if new_deposit > old_deposit { - T::Currency::reserve(from, new_deposit - old_deposit)?; + T::NativeToken::hold(reason, from, new_deposit - old_deposit)?; } else { - T::Currency::unreserve(from, old_deposit - new_deposit); + T::NativeToken::release( + reason, + from, + old_deposit - new_deposit, + Precision::BestEffort, + )?; } *metadata = Some(AssetMetadata { diff --git a/substrate/frame/assets/src/impl_fungibles.rs b/substrate/frame/assets/src/impl_fungibles.rs index 123abeba8283f..c237c9618c7cc 100644 --- a/substrate/frame/assets/src/impl_fungibles.rs +++ b/substrate/frame/assets/src/impl_fungibles.rs @@ -228,13 +228,13 @@ impl, I: 'static> fungibles::metadata::Mutate<:: impl, I: 'static> fungibles::metadata::MetadataDeposit< - ::AccountId>>::Balance, + ::AccountId>>::Balance, > for Pallet { fn calc_metadata_deposit( name: &[u8], symbol: &[u8], - ) -> ::AccountId>>::Balance { + ) -> ::AccountId>>::Balance { Self::calc_metadata_deposit(&name, &symbol) } } diff --git a/substrate/frame/assets/src/lib.rs b/substrate/frame/assets/src/lib.rs index 79e4fe3001872..759ff43c564d6 100644 --- a/substrate/frame/assets/src/lib.rs +++ b/substrate/frame/assets/src/lib.rs @@ -170,9 +170,12 @@ use frame_support::{ pallet_prelude::DispatchResultWithPostInfo, storage::KeyPrefixIterator, traits::{ - tokens::{fungibles, DepositConsequence, WithdrawConsequence}, - BalanceStatus::Reserved, - Currency, EnsureOriginWithArg, ReservableCurrency, StoredMap, + fungible::MutateHold, + tokens::{ + fungible, fungibles, DepositConsequence, Fortitude, Precision, Restriction, + WithdrawConsequence, + }, + EnsureOriginWithArg, StoredMap, }, }; use frame_system::Config as SystemConfig; @@ -233,6 +236,9 @@ pub mod pallet { type RuntimeEvent: From> + IsType<::RuntimeEvent>; + /// The overarching hold reason. + type RuntimeHoldReason: From; + /// The units in which we record balances. type Balance: Member + Parameter @@ -266,7 +272,12 @@ pub mod pallet { + MaxEncodedLen; /// The currency mechanism. - type Currency: ReservableCurrency; + //type Currency: ReservableCurrency; + + type NativeToken: fungible::Inspect + + fungible::InspectHold + + fungible::Mutate + + fungible::MutateHold; /// Standard asset class creation is only allowed if the origin attempting it and the /// asset class are in this set. @@ -346,7 +357,7 @@ pub mod pallet { #[pallet::storage] /// Approved balance transfers. First balance is the amount approved for transfer. Second - /// is the amount of `T::Currency` reserved for storing this. + /// is the amount of `T::NativeToken` reserved for storing this. /// First key is the asset ID, second key is the owner and third key is the delegate. pub(super) type Approvals, I: 'static = ()> = StorageNMap< _, @@ -573,6 +584,17 @@ pub mod pallet { CallbackFailed, } + /// A reason for this pallet placing a hold on funds. + #[pallet::composite_enum] + pub enum HoldReason { + // Holds involved in asset construction: + AssetCreation, + AssetMetadata, + // Holds involved in using assets: + AssetAccount, + AssetApproval, + } + #[pallet::call(weight(>::WeightInfo))] impl, I: 'static> Pallet { /// Issue a new class of fungible assets from a public origin. @@ -608,8 +630,10 @@ pub mod pallet { ensure!(!Asset::::contains_key(&id), Error::::InUse); ensure!(!min_balance.is_zero(), Error::::MinBalanceZero); + use frame_support::traits::fungible::MutateHold; let deposit = T::AssetDeposit::get(); - T::Currency::reserve(&owner, deposit)?; + let reason = &HoldReason::AssetCreation.into(); + T::NativeToken::hold(reason, &owner, deposit)?; Asset::::insert( id.clone(), @@ -1049,7 +1073,7 @@ pub mod pallet { /// Origin must be Signed and the sender should be the Owner of the asset `id`. /// /// - `id`: The identifier of the asset. - /// - `owner`: The new Owner of this asset. + /// - `new_owner`: The new Owner of this asset. /// /// Emits `OwnerChanged`. /// @@ -1058,29 +1082,53 @@ pub mod pallet { pub fn transfer_ownership( origin: OriginFor, id: T::AssetIdParameter, - owner: AccountIdLookupOf, + new_owner: AccountIdLookupOf, ) -> DispatchResult { let origin = ensure_signed(origin)?; - let owner = T::Lookup::lookup(owner)?; + let new_owner = T::Lookup::lookup(new_owner)?; let id: T::AssetId = id.into(); Asset::::try_mutate(id.clone(), |maybe_details| { let details = maybe_details.as_mut().ok_or(Error::::Unknown)?; ensure!(details.status == AssetStatus::Live, Error::::LiveAsset); ensure!(origin == details.owner, Error::::NoPermission); - if details.owner == owner { + if details.owner == new_owner { return Ok(()) } let metadata_deposit = Metadata::::get(&id).deposit; - let deposit = details.deposit + metadata_deposit; + let deposit = details.deposit; // + metadata_deposit; // Move the deposit to the new owner. - T::Currency::repatriate_reserved(&details.owner, &owner, deposit, Reserved)?; + use frame_support::traits::fungible::MutateHold; + let reason = &HoldReason::AssetCreation.into(); + let metadata_reason = &HoldReason::AssetMetadata.into(); + if !deposit.is_zero() { + T::NativeToken::transfer_on_hold( + reason, + &origin, + &new_owner, + deposit, + Precision::Exact, + Restriction::OnHold, + Fortitude::Polite, + )?; + } + if !metadata_deposit.is_zero() { + T::NativeToken::transfer_on_hold( + metadata_reason, + &origin, + &new_owner, + metadata_deposit, + Precision::Exact, + Restriction::OnHold, + Fortitude::Polite, + )?; + } - details.owner = owner.clone(); + details.owner = new_owner.clone(); - Self::deposit_event(Event::OwnerChanged { asset_id: id, owner }); + Self::deposit_event(Event::OwnerChanged { asset_id: id, owner: new_owner }); Ok(()) }) } @@ -1177,7 +1225,8 @@ pub mod pallet { Metadata::::try_mutate_exists(id.clone(), |metadata| { let deposit = metadata.take().ok_or(Error::::Unknown)?.deposit; - T::Currency::unreserve(&d.owner, deposit); + let reason = &HoldReason::AssetMetadata.into(); + T::NativeToken::release(reason, &d.owner, deposit, Precision::BestEffort)?; Self::deposit_event(Event::MetadataCleared { asset_id: id }); Ok(()) }) @@ -1260,7 +1309,8 @@ pub mod pallet { let d = Asset::::get(&id).ok_or(Error::::Unknown)?; Metadata::::try_mutate_exists(id.clone(), |metadata| { let deposit = metadata.take().ok_or(Error::::Unknown)?.deposit; - T::Currency::unreserve(&d.owner, deposit); + let reason = &HoldReason::AssetMetadata.into(); + T::NativeToken::release(reason, &d.owner, deposit, Precision::BestEffort)?; Self::deposit_event(Event::MetadataCleared { asset_id: id }); Ok(()) }) @@ -1384,7 +1434,8 @@ pub mod pallet { let approval = Approvals::::take((id.clone(), &owner, &delegate)) .ok_or(Error::::Unknown)?; - T::Currency::unreserve(&owner, approval.deposit); + let reason = &HoldReason::AssetApproval.into(); + T::NativeToken::release(reason, &owner, approval.deposit, Precision::BestEffort)?; d.approvals.saturating_dec(); Asset::::insert(id.clone(), d); @@ -1429,7 +1480,8 @@ pub mod pallet { let approval = Approvals::::take((id.clone(), &owner, &delegate)) .ok_or(Error::::Unknown)?; - T::Currency::unreserve(&owner, approval.deposit); + let reason = &HoldReason::AssetApproval.into(); + T::NativeToken::release(reason, &owner, approval.deposit, Precision::BestEffort)?; d.approvals.saturating_dec(); Asset::::insert(id.clone(), d); diff --git a/substrate/frame/assets/src/mock.rs b/substrate/frame/assets/src/mock.rs index 32ad02da90412..b2d766215f79a 100644 --- a/substrate/frame/assets/src/mock.rs +++ b/substrate/frame/assets/src/mock.rs @@ -39,7 +39,7 @@ construct_runtime!( { System: frame_system::{Pallet, Call, Config, Storage, Event}, Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, - Assets: pallet_assets::{Pallet, Call, Storage, Event}, + Assets: pallet_assets::{Pallet, Call, Storage, Event, HoldReason}, } ); @@ -82,9 +82,9 @@ impl pallet_balances::Config for Test { type MaxLocks = (); type MaxReserves = (); type ReserveIdentifier = [u8; 8]; - type RuntimeHoldReason = (); + type RuntimeHoldReason = RuntimeHoldReason; type FreezeIdentifier = (); - type MaxHolds = (); + type MaxHolds = ConstU32<4>; type MaxFreezes = (); } @@ -133,10 +133,11 @@ impl AssetsCallbackHandle { impl Config for Test { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = u64; type AssetId = u32; type AssetIdParameter = u32; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = frame_system::EnsureRoot; type AssetDeposit = ConstU64<1>; diff --git a/substrate/frame/assets/src/tests.rs b/substrate/frame/assets/src/tests.rs index 06d4ec1211737..e23b5f5619efe 100644 --- a/substrate/frame/assets/src/tests.rs +++ b/substrate/frame/assets/src/tests.rs @@ -22,9 +22,12 @@ use crate::{mock::*, Error}; use frame_support::{ assert_noop, assert_ok, dispatch::GetDispatchInfo, - traits::{fungibles::InspectEnumerable, tokens::Preservation::Protect, Currency}, + traits::{ + fungible::{InspectHold, Mutate}, + fungibles::InspectEnumerable, + tokens::{fungible::Inspect, Preservation::Protect}, + }, }; -use pallet_balances::Error as BalancesError; use sp_io::storage; use sp_runtime::{traits::ConvertInto, TokenError}; @@ -44,8 +47,8 @@ fn asset_account_counts(asset_id: u32) -> (u32, u32) { fn transfer_should_never_burn() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); - Balances::make_free_balance_be(&1, 100); - Balances::make_free_balance_be(&2, 100); + Balances::set_balance(&1, 100); + Balances::set_balance(&2, 100); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); assert_eq!(Assets::balance(0, 1), 100); @@ -104,12 +107,12 @@ fn minting_too_many_insufficient_assets_fails() { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 1, 1, false, 1)); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 2, 1, false, 1)); - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100)); assert_noop!(Assets::mint(RuntimeOrigin::signed(1), 2, 1, 100), TokenError::CannotCreate); - Balances::make_free_balance_be(&2, 1); + Balances::set_balance(&2, 1); assert_ok!(Assets::transfer(RuntimeOrigin::signed(1), 0, 2, 100)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 2, 1, 100)); assert_eq!(asset_ids(), vec![0, 1, 2, 999]); @@ -122,13 +125,13 @@ fn minting_insufficient_asset_with_deposit_should_work_when_consumers_exhausted( assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 1, 1, false, 1)); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 2, 1, false, 1)); - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100)); assert_noop!(Assets::mint(RuntimeOrigin::signed(1), 2, 1, 100), TokenError::CannotCreate); assert_ok!(Assets::touch(RuntimeOrigin::signed(1), 2)); - assert_eq!(Balances::reserved_balance(&1), 10); + assert_eq!(Balances::total_balance_on_hold(&1), 10); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 2, 1, 100)); }); @@ -139,10 +142,10 @@ fn minting_insufficient_assets_with_deposit_without_consumer_should_work() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); assert_noop!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100), TokenError::CannotCreate); - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::touch(RuntimeOrigin::signed(1), 0)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); - assert_eq!(Balances::reserved_balance(&1), 10); + assert_eq!(Balances::total_balance_on_hold(&1), 10); assert_eq!(System::consumers(&1), 1); }); } @@ -151,11 +154,11 @@ fn minting_insufficient_assets_with_deposit_without_consumer_should_work() { fn refunding_asset_deposit_with_burn_should_work() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::touch(RuntimeOrigin::signed(1), 0)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); assert_ok!(Assets::refund(RuntimeOrigin::signed(1), 0, true)); - assert_eq!(Balances::reserved_balance(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 0); assert_eq!(Assets::balance(1, 0), 0); }); } @@ -164,7 +167,7 @@ fn refunding_asset_deposit_with_burn_should_work() { fn refunding_asset_deposit_with_burn_disallowed_should_fail() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::touch(RuntimeOrigin::signed(1), 0)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); assert_noop!(Assets::refund(RuntimeOrigin::signed(1), 0, false), Error::::WouldBurn); @@ -176,17 +179,17 @@ fn refunding_asset_deposit_without_burn_should_work() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); assert_noop!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100), TokenError::CannotCreate); - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::touch(RuntimeOrigin::signed(1), 0)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); - Balances::make_free_balance_be(&2, 100); + Balances::set_balance(&2, 100); assert_ok!(Assets::transfer(RuntimeOrigin::signed(1), 0, 2, 100)); assert_eq!(Assets::balance(0, 2), 100); assert_eq!(Assets::balance(0, 1), 0); - assert_eq!(Balances::reserved_balance(&1), 10); + assert_eq!(Balances::total_balance_on_hold(&1), 10); assert_eq!(asset_account_counts(0), (2, 0)); assert_ok!(Assets::refund(RuntimeOrigin::signed(1), 0, false)); - assert_eq!(Balances::reserved_balance(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 0); assert_eq!(Assets::balance(1, 0), 0); assert_eq!(asset_account_counts(0), (1, 0)); }); @@ -197,7 +200,7 @@ fn refunding_asset_deposit_without_burn_should_work() { fn refunding_calls_died_hook() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::touch(RuntimeOrigin::signed(1), 0)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); assert_ok!(Assets::refund(RuntimeOrigin::signed(1), 0, true)); @@ -229,10 +232,10 @@ fn refunding_with_sufficient_existence_reason_should_fail() { fn refunding_with_deposit_from_should_fail() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); // create asset account `2` with deposit from `1` assert_ok!(Assets::touch_other(RuntimeOrigin::signed(1), 0, 2)); - assert_eq!(Balances::reserved_balance(&1), 10); + assert_eq!(Balances::total_balance_on_hold(&1), 10); // fails to refund assert_noop!(Assets::refund(RuntimeOrigin::signed(2), 0, true), Error::::NoDeposit); assert!(Account::::contains_key(0, &2)); @@ -244,8 +247,8 @@ fn refunding_frozen_with_consumer_ref_works() { new_test_ext().execute_with(|| { // 1 will be an admin // 2 will be a frozen account - Balances::make_free_balance_be(&1, 100); - Balances::make_free_balance_be(&2, 100); + Balances::set_balance(&1, 100); + Balances::set_balance(&2, 100); // create non-sufficient asset assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); @@ -273,15 +276,15 @@ fn refunding_frozen_with_deposit_works() { new_test_ext().execute_with(|| { // 1 will be an asset admin // 2 will be a frozen account - Balances::make_free_balance_be(&1, 100); - Balances::make_free_balance_be(&2, 100); + Balances::set_balance(&1, 100); + Balances::set_balance(&2, 100); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); assert_eq!(System::consumers(&2), 0); assert_ok!(Assets::touch(RuntimeOrigin::signed(2), 0)); // reserve deposit holds one consumer ref assert_eq!(System::consumers(&2), 1); - assert_eq!(Balances::reserved_balance(&2), 10); + assert_eq!(Balances::total_balance_on_hold(&2), 10); assert!(Account::::contains_key(0, &2)); // transfer some assets to `2` assert_ok!(Assets::transfer(RuntimeOrigin::signed(1), 0, 2, 50)); @@ -295,7 +298,7 @@ fn refunding_frozen_with_deposit_works() { // success assert_ok!(Assets::refund(RuntimeOrigin::signed(2), 0, true)); assert!(!Account::::contains_key(0, &2)); - assert_eq!(Balances::reserved_balance(&2), 0); + assert_eq!(Balances::total_balance_on_hold(&2), 0); assert_eq!(System::consumers(&2), 0); assert_eq!(asset_account_counts(0), (1, 0)); }); @@ -312,17 +315,17 @@ fn approval_lifecycle_works() { // so we create it :) assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); - Balances::make_free_balance_be(&1, 2); + Balances::set_balance(&1, 2); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 50)); assert_eq!(Asset::::get(0).unwrap().approvals, 1); - assert_eq!(Balances::reserved_balance(&1), 1); + assert_eq!(Balances::total_balance_on_hold(&1), 1); assert_ok!(Assets::transfer_approved(RuntimeOrigin::signed(2), 0, 1, 3, 40)); assert_eq!(Asset::::get(0).unwrap().approvals, 1); assert_ok!(Assets::cancel_approval(RuntimeOrigin::signed(1), 0, 2)); assert_eq!(Asset::::get(0).unwrap().approvals, 0); assert_eq!(Assets::balance(0, 1), 60); assert_eq!(Assets::balance(0, 3), 40); - assert_eq!(Balances::reserved_balance(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 0); assert_eq!(asset_ids(), vec![0, 999]); }); } @@ -338,17 +341,17 @@ fn transfer_approved_all_funds() { // so we create it :) assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); - Balances::make_free_balance_be(&1, 2); + Balances::set_balance(&1, 2); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 50)); assert_eq!(Asset::::get(0).unwrap().approvals, 1); - assert_eq!(Balances::reserved_balance(&1), 1); + assert_eq!(Balances::total_balance_on_hold(&1), 1); // transfer the full amount, which should trigger auto-cleanup assert_ok!(Assets::transfer_approved(RuntimeOrigin::signed(2), 0, 1, 3, 50)); assert_eq!(Asset::::get(0).unwrap().approvals, 0); assert_eq!(Assets::balance(0, 1), 50); assert_eq!(Assets::balance(0, 3), 50); - assert_eq!(Balances::reserved_balance(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 0); }); } @@ -357,19 +360,19 @@ fn approval_deposits_work() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); - let e = BalancesError::::InsufficientBalance; + let e = TokenError::FundsUnavailable; assert_noop!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 50), e); - Balances::make_free_balance_be(&1, 2); + Balances::set_balance(&1, 2); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 50)); - assert_eq!(Balances::reserved_balance(&1), 1); + assert_eq!(Balances::total_balance_on_hold(&1), 1); assert_ok!(Assets::transfer_approved(RuntimeOrigin::signed(2), 0, 1, 3, 50)); - assert_eq!(Balances::reserved_balance(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 0); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 50)); assert_ok!(Assets::cancel_approval(RuntimeOrigin::signed(1), 0, 2)); - assert_eq!(Balances::reserved_balance(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 0); }); } @@ -378,7 +381,7 @@ fn cannot_transfer_more_than_approved() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); - Balances::make_free_balance_be(&1, 2); + Balances::set_balance(&1, 2); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 50)); let e = Error::::Unapproved; assert_noop!(Assets::transfer_approved(RuntimeOrigin::signed(2), 0, 1, 3, 51), e); @@ -390,7 +393,7 @@ fn cannot_transfer_more_than_exists() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); - Balances::make_free_balance_be(&1, 2); + Balances::set_balance(&1, 2); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 101)); let e = Error::::BalanceLow; assert_noop!(Assets::transfer_approved(RuntimeOrigin::signed(2), 0, 1, 3, 101), e); @@ -402,7 +405,7 @@ fn cancel_approval_works() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); - Balances::make_free_balance_be(&1, 2); + Balances::set_balance(&1, 2); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 50)); assert_eq!(Asset::::get(0).unwrap().approvals, 1); assert_noop!( @@ -432,7 +435,7 @@ fn force_cancel_approval_works() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); - Balances::make_free_balance_be(&1, 2); + Balances::set_balance(&1, 2); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 50)); assert_eq!(Asset::::get(0).unwrap().approvals, 1); let e = Error::::NoPermission; @@ -462,39 +465,41 @@ fn force_cancel_approval_works() { #[test] fn lifecycle_should_work() { new_test_ext().execute_with(|| { - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::create(RuntimeOrigin::signed(1), 0, 1, 1)); - assert_eq!(Balances::reserved_balance(&1), 1); + assert_eq!(Balances::total_balance_on_hold(&1), 1); assert!(Asset::::contains_key(0)); assert_ok!(Assets::set_metadata(RuntimeOrigin::signed(1), 0, vec![0], vec![0], 12)); - assert_eq!(Balances::reserved_balance(&1), 4); + assert_eq!(Balances::total_balance_on_hold(&1), 4); assert!(Metadata::::contains_key(0)); - Balances::make_free_balance_be(&10, 100); + Balances::set_balance(&10, 100); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 10, 100)); - Balances::make_free_balance_be(&20, 100); + Balances::set_balance(&20, 100); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 20, 100)); assert_eq!(Account::::iter_prefix(0).count(), 2); + assert_ok!(Assets::clear_metadata(RuntimeOrigin::signed(1), 0)); + assert_ok!(Assets::freeze_asset(RuntimeOrigin::signed(1), 0)); assert_ok!(Assets::start_destroy(RuntimeOrigin::signed(1), 0)); assert_ok!(Assets::destroy_accounts(RuntimeOrigin::signed(1), 0)); assert_ok!(Assets::destroy_approvals(RuntimeOrigin::signed(1), 0)); assert_ok!(Assets::finish_destroy(RuntimeOrigin::signed(1), 0)); - assert_eq!(Balances::reserved_balance(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 0); assert!(!Asset::::contains_key(0)); assert!(!Metadata::::contains_key(0)); assert_eq!(Account::::iter_prefix(0).count(), 0); assert_ok!(Assets::create(RuntimeOrigin::signed(1), 0, 1, 1)); - assert_eq!(Balances::reserved_balance(&1), 1); + assert_eq!(Balances::total_balance_on_hold(&1), 1); assert!(Asset::::contains_key(0)); assert_ok!(Assets::set_metadata(RuntimeOrigin::signed(1), 0, vec![0], vec![0], 12)); - assert_eq!(Balances::reserved_balance(&1), 4); + assert_eq!(Balances::total_balance_on_hold(&1), 4); assert!(Metadata::::contains_key(0)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 10, 100)); @@ -507,7 +512,7 @@ fn lifecycle_should_work() { assert_ok!(Assets::destroy_approvals(RuntimeOrigin::signed(1), 0)); assert_ok!(Assets::finish_destroy(RuntimeOrigin::signed(1), 0)); - assert_eq!(Balances::reserved_balance(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 0); assert!(!Asset::::contains_key(0)); assert!(!Metadata::::contains_key(0)); @@ -518,13 +523,13 @@ fn lifecycle_should_work() { #[test] fn destroy_should_refund_approvals() { new_test_ext().execute_with(|| { - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 10, 100)); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 50)); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 3, 50)); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 4, 50)); - assert_eq!(Balances::reserved_balance(&1), 3); + assert_eq!(Balances::total_balance_on_hold(&1), 3); assert_eq!(asset_ids(), vec![0, 999]); assert_ok!(Assets::freeze_asset(RuntimeOrigin::signed(1), 0)); @@ -534,7 +539,7 @@ fn destroy_should_refund_approvals() { assert_ok!(Assets::destroy_approvals(RuntimeOrigin::signed(1), 0)); assert_ok!(Assets::finish_destroy(RuntimeOrigin::signed(1), 0)); - assert_eq!(Balances::reserved_balance(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 0); assert_eq!(asset_ids(), vec![999]); // all approvals are removed @@ -599,7 +604,7 @@ fn non_providing_should_work() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); - Balances::make_free_balance_be(&0, 100); + Balances::set_balance(&0, 100); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 0, 100)); // Cannot mint into account 2 since it doesn't (yet) exist... @@ -615,8 +620,8 @@ fn non_providing_should_work() { TokenError::CannotCreate ); - Balances::make_free_balance_be(&1, 100); - Balances::make_free_balance_be(&2, 100); + Balances::set_balance(&1, 100); + Balances::set_balance(&2, 100); assert_ok!(Assets::transfer(RuntimeOrigin::signed(0), 0, 1, 25)); assert_ok!(Assets::force_transfer(RuntimeOrigin::signed(1), 0, 0, 2, 25)); assert_eq!(asset_ids(), vec![0, 999]); @@ -661,7 +666,7 @@ fn min_balance_should_work() { // Death by `transfer_approved`. assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); - Balances::make_free_balance_be(&1, 2); + Balances::set_balance(&1, 2); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 100)); assert_ok!(Assets::transfer_approved(RuntimeOrigin::signed(2), 0, 1, 3, 91)); assert_eq!(take_hooks(), vec![Hook::Died(0, 1)]); @@ -748,7 +753,7 @@ fn transferring_frozen_asset_should_not_work() { #[test] fn approve_transfer_frozen_asset_should_not_work() { new_test_ext().execute_with(|| { - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); assert_eq!(Assets::balance(0, 1), 100); @@ -830,16 +835,16 @@ fn origin_guards_should_work() { #[test] fn transfer_owner_should_work() { new_test_ext().execute_with(|| { - Balances::make_free_balance_be(&1, 100); - Balances::make_free_balance_be(&2, 100); + Balances::set_balance(&1, 100); + Balances::set_balance(&2, 100); assert_ok!(Assets::create(RuntimeOrigin::signed(1), 0, 1, 1)); assert_eq!(asset_ids(), vec![0, 999]); - assert_eq!(Balances::reserved_balance(&1), 1); + assert_eq!(Balances::total_balance_on_hold(&1), 1); assert_ok!(Assets::transfer_ownership(RuntimeOrigin::signed(1), 0, 2)); - assert_eq!(Balances::reserved_balance(&2), 1); - assert_eq!(Balances::reserved_balance(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&2), 1); assert_noop!( Assets::transfer_ownership(RuntimeOrigin::signed(1), 0, 1), @@ -854,9 +859,13 @@ fn transfer_owner_should_work() { vec![0u8; 10], 12 )); + assert_eq!(Balances::total_balance_on_hold(&2), 1 + 10 + 10 + 1); + assert_eq!(Balances::balance(&2), 79); + assert_eq!(Assets::balance(0, &2), 0); + assert_ok!(Assets::transfer_ownership(RuntimeOrigin::signed(2), 0, 1)); - assert_eq!(Balances::reserved_balance(&1), 22); - assert_eq!(Balances::reserved_balance(&2), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 22); + assert_eq!(Balances::total_balance_on_hold(&2), 0); }); } @@ -896,7 +905,7 @@ fn transferring_from_frozen_account_should_not_work() { fn touching_and_freezing_account_with_zero_asset_balance_should_work() { new_test_ext().execute_with(|| { // need some deposit for the touch - Balances::make_free_balance_be(&2, 100); + Balances::set_balance(&2, 100); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); assert_eq!(Assets::balance(0, 1), 100); @@ -921,9 +930,9 @@ fn touch_other_works() { // 1 will be admin // 2 will be freezer // 4 will be an account attempting to execute `touch_other` - Balances::make_free_balance_be(&1, 100); - Balances::make_free_balance_be(&2, 100); - Balances::make_free_balance_be(&4, 100); + Balances::set_balance(&1, 100); + Balances::set_balance(&2, 100); + Balances::set_balance(&4, 100); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); assert_ok!(Assets::set_team(RuntimeOrigin::signed(1), 0, 1, 1, 2)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); @@ -949,7 +958,7 @@ fn touch_other_works() { #[test] fn touch_other_and_freeze_works() { new_test_ext().execute_with(|| { - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); assert_eq!(Assets::balance(0, 1), 100); @@ -974,15 +983,15 @@ fn account_with_deposit_not_destroyed() { new_test_ext().execute_with(|| { // 1 will be the asset admin // 2 will exist without balance but with deposit - Balances::make_free_balance_be(&1, 100); - Balances::make_free_balance_be(&2, 100); + Balances::set_balance(&1, 100); + Balances::set_balance(&2, 100); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); assert_eq!(Assets::balance(0, 1), 100); assert_eq!(Assets::balance(0, 2), 0); // case 1; account `2` not destroyed with a holder's deposit assert_ok!(Assets::touch(RuntimeOrigin::signed(2), 0)); - assert_eq!(Balances::reserved_balance(&2), 10); + assert_eq!(Balances::total_balance_on_hold(&2), 10); assert!(Account::::contains_key(0, &2)); assert_ok!(Assets::transfer(RuntimeOrigin::signed(1), 0, 2, 50)); assert_ok!(Assets::transfer(RuntimeOrigin::signed(2), 0, 1, 50)); @@ -995,7 +1004,7 @@ fn account_with_deposit_not_destroyed() { // case 2; account `2` not destroyed with a deposit from `1` assert_ok!(Assets::touch_other(RuntimeOrigin::signed(1), 0, 2)); - assert_eq!(Balances::reserved_balance(&1), 10); + assert_eq!(Balances::total_balance_on_hold(&1), 10); assert_ok!(Assets::transfer(RuntimeOrigin::signed(1), 0, 2, 50)); assert_ok!(Assets::transfer(RuntimeOrigin::signed(2), 0, 1, 50)); assert!(Account::::contains_key(0, &2)); @@ -1008,16 +1017,16 @@ fn refund_other_should_fails() { // 1 will be the asset admin // 2 will be the asset freezer // 3 will be created with deposit of 2 - Balances::make_free_balance_be(&1, 100); - Balances::make_free_balance_be(&2, 100); - Balances::make_free_balance_be(&3, 0); + Balances::set_balance(&1, 100); + Balances::set_balance(&2, 100); + Balances::set_balance(&3, 0); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::set_team(RuntimeOrigin::signed(1), 0, 1, 1, 2)); assert!(!Account::::contains_key(0, &3)); // create asset account `3` with a deposit from freezer `2` assert_ok!(Assets::touch_other(RuntimeOrigin::signed(2), 0, 3)); - assert_eq!(Balances::reserved_balance(&2), 10); + assert_eq!(Balances::total_balance_on_hold(&2), 10); // fail case; non-existing asset account `10` assert_noop!( @@ -1076,8 +1085,8 @@ fn refund_other_works() { // 1 will be the asset admin // 2 will be the asset freezer // 3 will be created with deposit of 2 - Balances::make_free_balance_be(&1, 100); - Balances::make_free_balance_be(&2, 100); + Balances::set_balance(&1, 100); + Balances::set_balance(&2, 100); assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::set_team(RuntimeOrigin::signed(1), 0, 1, 1, 2)); assert!(!Account::::contains_key(0, &3)); @@ -1085,19 +1094,19 @@ fn refund_other_works() { // success case; freezer is depositor assert_ok!(Assets::touch_other(RuntimeOrigin::signed(2), 0, 3)); - assert_eq!(Balances::reserved_balance(&2), 10); + assert_eq!(Balances::total_balance_on_hold(&2), 10); assert_eq!(asset_account_counts(0), (1, 0)); assert_ok!(Assets::refund_other(RuntimeOrigin::signed(2), 0, 3)); - assert_eq!(Balances::reserved_balance(&2), 0); + assert_eq!(Balances::total_balance_on_hold(&2), 0); assert!(!Account::::contains_key(0, &3)); assert_eq!(asset_account_counts(0), (0, 0)); // success case; admin is depositor assert_ok!(Assets::touch_other(RuntimeOrigin::signed(1), 0, 3)); - assert_eq!(Balances::reserved_balance(&1), 10); + assert_eq!(Balances::total_balance_on_hold(&1), 10); assert_eq!(asset_account_counts(0), (1, 0)); assert_ok!(Assets::refund_other(RuntimeOrigin::signed(1), 0, 3)); - assert_eq!(Balances::reserved_balance(&1), 0); + assert_eq!(Balances::total_balance_on_hold(&1), 0); assert!(!Account::::contains_key(0, &3)); assert_eq!(asset_account_counts(0), (0, 0)); }) @@ -1207,7 +1216,7 @@ fn set_metadata_should_work() { ); // Successfully add metadata and take deposit - Balances::make_free_balance_be(&1, 30); + Balances::set_balance(&1, 30); assert_ok!(Assets::set_metadata( RuntimeOrigin::signed(1), 0, @@ -1238,7 +1247,7 @@ fn set_metadata_should_work() { // Cannot over-reserve assert_noop!( Assets::set_metadata(RuntimeOrigin::signed(1), 0, vec![0u8; 20], vec![0u8; 20], 12), - BalancesError::::InsufficientBalance, + TokenError::FundsUnavailable ); // Clear Metadata @@ -1305,7 +1314,7 @@ fn freezer_should_work() { ); // create an approved transfer... - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::approve_transfer(RuntimeOrigin::signed(1), 0, 2, 50)); let e = Error::::BalanceLow; // ...but that wont work either: @@ -1431,8 +1440,8 @@ fn force_metadata_should_work() { #[test] fn force_asset_status_should_work() { new_test_ext().execute_with(|| { - Balances::make_free_balance_be(&1, 10); - Balances::make_free_balance_be(&2, 10); + Balances::set_balance(&1, 10); + Balances::set_balance(&2, 10); assert_ok!(Assets::create(RuntimeOrigin::signed(1), 0, 1, 30)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 50)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 2, 150)); @@ -1494,7 +1503,7 @@ fn force_asset_status_should_work() { fn set_min_balance_should_work() { new_test_ext().execute_with(|| { let id = 42; - Balances::make_free_balance_be(&1, 10); + Balances::set_balance(&1, 10); assert_ok!(Assets::create(RuntimeOrigin::signed(1), id, 1, 30)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), id, 1, 100)); @@ -1613,7 +1622,7 @@ fn querying_allowance_should_work() { use frame_support::traits::tokens::fungibles::approvals::{Inspect, Mutate}; assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, true, 1)); assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 0, 1, 100)); - Balances::make_free_balance_be(&1, 2); + Balances::set_balance(&1, 2); assert_ok!(Assets::approve(0, &1, &2, 50)); assert_eq!(Assets::allowance(0, &1, &2), 50); // Transfer asset 0, from owner 1 and delegate 2 to destination 3 @@ -1660,7 +1669,7 @@ fn normal_asset_create_and_destroy_callbacks_should_work() { assert!(storage::get(AssetsCallbackHandle::CREATED.as_bytes()).is_none()); assert!(storage::get(AssetsCallbackHandle::DESTROYED.as_bytes()).is_none()); - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_ok!(Assets::create(RuntimeOrigin::signed(1), 0, 1, 1)); assert!(storage::get(AssetsCallbackHandle::CREATED.as_bytes()).is_some()); assert!(storage::get(AssetsCallbackHandle::DESTROYED.as_bytes()).is_none()); @@ -1691,7 +1700,7 @@ fn asset_create_and_destroy_is_reverted_if_callback_fails() { new_test_ext().execute_with(|| { // Asset creation fails due to callback failure AssetsCallbackHandle::set_return_error(); - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); assert_noop!( Assets::create(RuntimeOrigin::signed(1), 0, 1, 1), Error::::CallbackFailed @@ -1746,32 +1755,32 @@ fn weights_sane() { fn asset_destroy_refund_existence_deposit() { new_test_ext().execute_with(|| { assert_ok!(Assets::force_create(RuntimeOrigin::root(), 0, 1, false, 1)); - Balances::make_free_balance_be(&1, 100); + Balances::set_balance(&1, 100); let admin = 1; let admin_origin = RuntimeOrigin::signed(admin); let account2 = 2; // account with own deposit let account3 = 3; // account with admin's deposit - Balances::make_free_balance_be(&account2, 100); + Balances::set_balance(&account2, 100); - assert_eq!(Balances::reserved_balance(&account2), 0); - assert_eq!(Balances::reserved_balance(&account3), 0); - assert_eq!(Balances::reserved_balance(&admin), 0); + assert_eq!(Balances::total_balance_on_hold(&account2), 0); + assert_eq!(Balances::total_balance_on_hold(&account3), 0); + assert_eq!(Balances::total_balance_on_hold(&admin), 0); assert_ok!(Assets::touch(RuntimeOrigin::signed(account2), 0)); assert_ok!(Assets::touch_other(admin_origin.clone(), 0, account3)); - assert_eq!(Balances::reserved_balance(&account2), 10); - assert_eq!(Balances::reserved_balance(&account3), 0); - assert_eq!(Balances::reserved_balance(&admin), 10); + assert_eq!(Balances::total_balance_on_hold(&account2), 10); + assert_eq!(Balances::total_balance_on_hold(&account3), 0); + assert_eq!(Balances::total_balance_on_hold(&admin), 10); assert_ok!(Assets::start_destroy(admin_origin.clone(), 0)); assert_ok!(Assets::destroy_accounts(admin_origin.clone(), 0)); assert_ok!(Assets::destroy_approvals(admin_origin.clone(), 0)); assert_ok!(Assets::finish_destroy(admin_origin.clone(), 0)); - assert_eq!(Balances::reserved_balance(&account2), 0); - assert_eq!(Balances::reserved_balance(&account3), 0); - assert_eq!(Balances::reserved_balance(&admin), 0); + assert_eq!(Balances::total_balance_on_hold(&account2), 0); + assert_eq!(Balances::total_balance_on_hold(&account3), 0); + assert_eq!(Balances::total_balance_on_hold(&admin), 0); }); } diff --git a/substrate/frame/assets/src/types.rs b/substrate/frame/assets/src/types.rs index 67f9bf07f5e7e..6fae343e66f50 100644 --- a/substrate/frame/assets/src/types.rs +++ b/substrate/frame/assets/src/types.rs @@ -25,7 +25,7 @@ use frame_support::{ use sp_runtime::{traits::Convert, FixedPointNumber, FixedU128}; pub(super) type DepositBalanceOf = - <>::Currency as Currency<::AccountId>>::Balance; + <>::NativeToken as fungible::Inspect<::AccountId>>::Balance; pub(super) type AssetAccountOf = AssetAccount< >::Balance, DepositBalanceOf, From d4c822a86effa2a1f639bfd7d5ffefb40a67ee05 Mon Sep 17 00:00:00 2001 From: gilescope Date: Thu, 12 Oct 2023 10:32:23 +0200 Subject: [PATCH 02/11] explicitness doesn't gain much here --- substrate/frame/assets/src/mock.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/substrate/frame/assets/src/mock.rs b/substrate/frame/assets/src/mock.rs index b2d766215f79a..0aace591531a3 100644 --- a/substrate/frame/assets/src/mock.rs +++ b/substrate/frame/assets/src/mock.rs @@ -37,9 +37,9 @@ type Block = frame_system::mocking::MockBlock; construct_runtime!( pub enum Test { - System: frame_system::{Pallet, Call, Config, Storage, Event}, - Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, - Assets: pallet_assets::{Pallet, Call, Storage, Event, HoldReason}, + System: frame_system, + Balances: pallet_balances, + Assets: pallet_assets, } ); From 7ae43c1d5ee848a672bce569eb4d9695438e91e0 Mon Sep 17 00:00:00 2001 From: Giles Cope Date: Wed, 18 Oct 2023 11:35:08 +0100 Subject: [PATCH 03/11] update runtimes --- .../runtimes/assets/asset-hub-kusama/out.rs | 20109 ++++++++++++++++ .../assets/asset-hub-kusama/src/lib.rs | 18 +- .../assets/asset-hub-polkadot/src/lib.rs | 14 +- .../assets/asset-hub-westend/src/lib.rs | 18 +- .../runtimes/testing/penpal/src/lib.rs | 7 +- .../testing/rococo-parachain/src/lib.rs | 7 +- .../xcm/xcm-builder/src/tests/pay/mock.rs | 5 +- substrate/bin/node/runtime/src/lib.rs | 8 +- substrate/frame/asset-conversion/src/lib.rs | 2 +- substrate/frame/asset-conversion/src/mock.rs | 10 +- substrate/frame/assets/src/lib.rs | 4 +- .../frame/nft-fractionalization/src/mock.rs | 3 +- .../composite_enum_unsupported_identifier.rs | 2 +- .../asset-conversion-tx-payment/src/mock.rs | 10 +- .../asset-tx-payment/src/mock.rs | 7 +- 15 files changed, 20178 insertions(+), 46 deletions(-) create mode 100644 cumulus/parachains/runtimes/assets/asset-hub-kusama/out.rs diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/out.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/out.rs new file mode 100644 index 0000000000000..97999260d6465 --- /dev/null +++ b/cumulus/parachains/runtimes/assets/asset-hub-kusama/out.rs @@ -0,0 +1,20109 @@ +#![feature(prelude_import)] +//! # Asset Hub Kusama Runtime +//! +//! Asset Hub Kusama, formerly known as "Statemine", is the canary network for its Polkadot cousin. +#![recursion_limit = "256"] +#[prelude_import] +use std::prelude::rust_2021::*; +#[macro_use] +extern crate std; +pub const WASM_BINARY: Option<&[u8]> = None; +pub const WASM_BINARY_BLOATY: Option<&[u8]> = None; +mod weights { + pub mod block_weights { + pub mod constants { + use frame_support::{parameter_types, weights::{constants, Weight}}; + /// Importing a block with 0 Extrinsics. + pub struct BlockExecutionWeight; + impl BlockExecutionWeight { + /// Returns the value of this parameter type. + pub const fn get() -> Weight { + Weight::from_parts( + constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(5_000_000), + 0, + ) + } + } + impl<_I: From> ::frame_support::traits::Get<_I> + for BlockExecutionWeight { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for BlockExecutionWeight { + type Type = Weight; + fn get() -> Weight { + Self::get() + } + } + } + } + pub mod cumulus_pallet_xcmp_queue { + //! Autogenerated weights for `cumulus_pallet_xcmp_queue` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `cumulus_pallet_xcmp_queue`. + pub struct WeightInfo(PhantomData); + impl cumulus_pallet_xcmp_queue::WeightInfo + for WeightInfo { + /// Storage: `XcmpQueue::QueueConfig` (r:1 w:1) + /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn set_config_with_u32() -> Weight { + Weight::from_parts(5_634_000, 0) + .saturating_add(Weight::from_parts(0, 1561)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `XcmpQueue::QueueConfig` (r:1 w:1) + /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn set_config_with_weight() -> Weight { + Weight::from_parts(5_570_000, 0) + .saturating_add(Weight::from_parts(0, 1561)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + } + } + pub mod extrinsic_weights { + pub mod constants { + use frame_support::{parameter_types, weights::{constants, Weight}}; + /// Executing a NO-OP `System::remarks` Extrinsic. + pub struct ExtrinsicBaseWeight; + impl ExtrinsicBaseWeight { + /// Returns the value of this parameter type. + pub const fn get() -> Weight { + Weight::from_parts( + constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(125_000), + 0, + ) + } + } + impl<_I: From> ::frame_support::traits::Get<_I> + for ExtrinsicBaseWeight { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for ExtrinsicBaseWeight { + type Type = Weight; + fn get() -> Weight { + Self::get() + } + } + } + } + pub mod frame_system { + //! Autogenerated weights for `frame_system` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `frame_system`. + pub struct WeightInfo(PhantomData); + impl frame_system::WeightInfo for WeightInfo { + /// The range of component `b` is `[0, 3932160]`. + fn remark(b: u32) -> Weight { + Weight::from_parts(1_884_213, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(Weight::from_parts(388, 0).saturating_mul(b.into())) + } + /// The range of component `b` is `[0, 3932160]`. + fn remark_with_event(b: u32) -> Weight { + Weight::from_parts(27_081_927, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add( + Weight::from_parts(1_730, 0).saturating_mul(b.into()), + ) + } + /// Storage: `System::Digest` (r:1 w:1) + /// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1) + /// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1) + fn set_heap_pages() -> Weight { + Weight::from_parts(4_149_000, 0) + .saturating_add(Weight::from_parts(0, 1485)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::UpgradeRestrictionSignal` (r:1 w:0) + /// Proof: `ParachainSystem::UpgradeRestrictionSignal` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::PendingValidationCode` (r:1 w:1) + /// Proof: `ParachainSystem::PendingValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) + /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::NewValidationCode` (r:0 w:1) + /// Proof: `ParachainSystem::NewValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::DidSetValidationCode` (r:0 w:1) + /// Proof: `ParachainSystem::DidSetValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn set_code() -> Weight { + Weight::from_parts(106_870_091_000, 0) + .saturating_add(Weight::from_parts(0, 1604)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `i` is `[0, 1000]`. + fn set_storage(i: u32) -> Weight { + Weight::from_parts(2_302_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add( + Weight::from_parts(763_456, 0).saturating_mul(i.into()), + ) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(i.into())), + ) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `i` is `[0, 1000]`. + fn kill_storage(i: u32) -> Weight { + Weight::from_parts(2_238_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add( + Weight::from_parts(571_397, 0).saturating_mul(i.into()), + ) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(i.into())), + ) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `p` is `[0, 1000]`. + fn kill_prefix(p: u32) -> Weight { + Weight::from_parts(3_947_000, 0) + .saturating_add(Weight::from_parts(0, 80)) + .saturating_add( + Weight::from_parts(1_212_360, 0).saturating_mul(p.into()), + ) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(p.into())), + ) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(p.into())), + ) + .saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into())) + } + } + } + pub mod pallet_asset_conversion { + //! Autogenerated weights for `pallet_asset_conversion` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_asset_conversion`. + pub struct WeightInfo(PhantomData); + impl pallet_asset_conversion::WeightInfo + for WeightInfo { + /// Storage: `AssetConversion::Pools` (r:1 w:1) + /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0x76a2c49709deec21d9c05f96c1f47351` (r:1 w:0) + /// Proof: UNKNOWN KEY `0x76a2c49709deec21d9c05f96c1f47351` (r:1 w:0) + /// Storage: `System::Account` (r:2 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:1 w:1) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `AssetConversion::NextPoolAssetId` (r:1 w:1) + /// Proof: `AssetConversion::NextPoolAssetId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn create_pool() -> Weight { + Weight::from_parts(92_964_000, 0) + .saturating_add(Weight::from_parts(0, 6196)) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(7)) + } + /// Storage: `AssetConversion::Pools` (r:1 w:0) + /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:2 w:2) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:2 w:2) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn add_liquidity() -> Weight { + Weight::from_parts(157_018_000, 0) + .saturating_add(Weight::from_parts(0, 7404)) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(7)) + } + /// Storage: `AssetConversion::Pools` (r:1 w:0) + /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:2 w:2) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0x2433d831722b1f4aeb1666953f1c0e77` (r:1 w:0) + /// Proof: UNKNOWN KEY `0x2433d831722b1f4aeb1666953f1c0e77` (r:1 w:0) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn remove_liquidity() -> Weight { + Weight::from_parts(147_865_000, 0) + .saturating_add(Weight::from_parts(0, 7404)) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(6)) + } + /// Storage: `ForeignAssets::Asset` (r:2 w:2) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:4 w:4) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn swap_exact_tokens_for_tokens() -> Weight { + Weight::from_parts(174_283_000, 0) + .saturating_add(Weight::from_parts(0, 13818)) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(8)) + } + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:2 w:2) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:4 w:4) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + fn swap_tokens_for_exact_tokens() -> Weight { + Weight::from_parts(173_702_000, 0) + .saturating_add(Weight::from_parts(0, 13818)) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(8)) + } + } + } + pub mod pallet_assets_foreign { + //! Autogenerated weights for `pallet_assets` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-06-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_assets`. + pub struct WeightInfo(PhantomData); + impl pallet_assets::WeightInfo for WeightInfo { + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn create() -> Weight { + Weight::from_parts(31_007_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + fn force_create() -> Weight { + Weight::from_parts(13_304_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + fn start_destroy() -> Weight { + Weight::from_parts(16_063_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: ForeignAssets Asset (r:1 w:1) + /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen) + /// Storage: ForeignAssets Account (r:1001 w:1000) + /// Proof: ForeignAssets Account (max_values: None, max_size: Some(732), added: 3207, mode: MaxEncodedLen) + /// Storage: System Account (r:1000 w:1000) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) + /// The range of component `c` is `[0, 1000]`. + /// The range of component `c` is `[0, 1000]`. + fn destroy_accounts(c: u32) -> Weight { + Weight::from_parts(18_791_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add( + Weight::from_parts(12_049_659, 0).saturating_mul(c.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add( + T::DbWeight::get().reads((2_u64).saturating_mul(c.into())), + ) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add( + T::DbWeight::get().writes((2_u64).saturating_mul(c.into())), + ) + .saturating_add(Weight::from_parts(0, 3207).saturating_mul(c.into())) + } + /// Storage: ForeignAssets Asset (r:1 w:1) + /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen) + /// Storage: ForeignAssets Approvals (r:1001 w:1000) + /// Proof: ForeignAssets Approvals (max_values: None, max_size: Some(746), added: 3221, mode: MaxEncodedLen) + /// The range of component `a` is `[0, 1000]`. + /// The range of component `a` is `[0, 1000]`. + fn destroy_approvals(a: u32) -> Weight { + Weight::from_parts(20_148_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add( + Weight::from_parts(13_897_319, 0).saturating_mul(a.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(a.into())), + ) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(a.into())), + ) + .saturating_add(Weight::from_parts(0, 3221).saturating_mul(a.into())) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Metadata` (r:1 w:0) + /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`) + fn finish_destroy() -> Weight { + Weight::from_parts(16_241_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:1 w:1) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + fn mint() -> Weight { + Weight::from_parts(28_182_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:1 w:1) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + fn burn() -> Weight { + Weight::from_parts(33_860_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:2 w:2) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer() -> Weight { + Weight::from_parts(45_856_000, 0) + .saturating_add(Weight::from_parts(0, 7404)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:2 w:2) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer_keep_alive() -> Weight { + Weight::from_parts(40_791_000, 0) + .saturating_add(Weight::from_parts(0, 7404)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:2 w:2) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn force_transfer() -> Weight { + Weight::from_parts(45_980_000, 0) + .saturating_add(Weight::from_parts(0, 7404)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:0) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:1 w:1) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + fn freeze() -> Weight { + Weight::from_parts(19_326_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:0) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:1 w:1) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + fn thaw() -> Weight { + Weight::from_parts(19_205_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + fn freeze_asset() -> Weight { + Weight::from_parts(15_825_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + fn thaw_asset() -> Weight { + Weight::from_parts(15_769_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Metadata` (r:1 w:0) + /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`) + fn transfer_ownership() -> Weight { + Weight::from_parts(16_931_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + fn set_team() -> Weight { + Weight::from_parts(15_435_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: ForeignAssets Asset (r:1 w:0) + /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen) + /// Storage: ForeignAssets Metadata (r:1 w:1) + /// Proof: ForeignAssets Metadata (max_values: None, max_size: Some(738), added: 3213, mode: MaxEncodedLen) + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + fn set_metadata(_n: u32, _s: u32) -> Weight { + Weight::from_parts(31_607_649, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:0) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Metadata` (r:1 w:1) + /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`) + fn clear_metadata() -> Weight { + Weight::from_parts(31_008_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: ForeignAssets Asset (r:1 w:0) + /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen) + /// Storage: ForeignAssets Metadata (r:1 w:1) + /// Proof: ForeignAssets Metadata (max_values: None, max_size: Some(738), added: 3213, mode: MaxEncodedLen) + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + fn force_set_metadata(_n: u32, s: u32) -> Weight { + Weight::from_parts(14_717_332, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add( + Weight::from_parts(2_595, 0).saturating_mul(s.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:0) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Metadata` (r:1 w:1) + /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`) + fn force_clear_metadata() -> Weight { + Weight::from_parts(29_918_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + fn force_asset_status() -> Weight { + Weight::from_parts(14_138_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Approvals` (r:1 w:1) + /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) + fn approve_transfer() -> Weight { + Weight::from_parts(33_524_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Approvals` (r:1 w:1) + /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:2 w:2) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer_approved() -> Weight { + Weight::from_parts(64_078_000, 0) + .saturating_add(Weight::from_parts(0, 7404)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Approvals` (r:1 w:1) + /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) + fn cancel_approval() -> Weight { + Weight::from_parts(35_484_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Approvals` (r:1 w:1) + /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) + fn force_cancel_approval() -> Weight { + Weight::from_parts(36_266_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + fn set_min_balance() -> Weight { + Weight::from_parts(16_182_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `ForeignAssets::Account` (r:1 w:1) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn touch() -> Weight { + Weight::from_parts(35_512_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `ForeignAssets::Account` (r:1 w:1) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + fn touch_other() -> Weight { + Weight::from_parts(34_124_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `ForeignAssets::Account` (r:1 w:1) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn refund() -> Weight { + Weight::from_parts(32_012_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `ForeignAssets::Account` (r:1 w:1) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + fn refund_other() -> Weight { + Weight::from_parts(29_968_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `ForeignAssets::Asset` (r:1 w:0) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:1 w:1) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + fn block() -> Weight { + Weight::from_parts(19_172_000, 0) + .saturating_add(Weight::from_parts(0, 4273)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + } + } + pub mod pallet_assets_local { + //! Autogenerated weights for `pallet_assets` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_assets`. + pub struct WeightInfo(PhantomData); + impl pallet_assets::WeightInfo for WeightInfo { + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn create() -> Weight { + Weight::from_parts(27_332_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn force_create() -> Weight { + Weight::from_parts(11_395_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn start_destroy() -> Weight { + Weight::from_parts(14_108_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:1001 w:1000) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1000 w:1000) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `c` is `[0, 1000]`. + /// The range of component `c` is `[0, 1000]`. + fn destroy_accounts(c: u32) -> Weight { + Weight::from_parts(16_636_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add( + Weight::from_parts(15_306_152, 0).saturating_mul(c.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add( + T::DbWeight::get().reads((2_u64).saturating_mul(c.into())), + ) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add( + T::DbWeight::get().writes((2_u64).saturating_mul(c.into())), + ) + .saturating_add(Weight::from_parts(0, 2609).saturating_mul(c.into())) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Approvals` (r:1001 w:1000) + /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + /// The range of component `a` is `[0, 1000]`. + /// The range of component `a` is `[0, 1000]`. + fn destroy_approvals(a: u32) -> Weight { + Weight::from_parts(17_247_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add( + Weight::from_parts(15_634_963, 0).saturating_mul(a.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(a.into())), + ) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(Weight::from_parts(0, 2623).saturating_mul(a.into())) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Metadata` (r:1 w:0) + /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn finish_destroy() -> Weight { + Weight::from_parts(14_721_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:1 w:1) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn mint() -> Weight { + Weight::from_parts(25_023_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:1 w:1) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn burn() -> Weight { + Weight::from_parts(32_235_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:2 w:2) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer() -> Weight { + Weight::from_parts(44_106_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:2 w:2) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer_keep_alive() -> Weight { + Weight::from_parts(38_772_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:2 w:2) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn force_transfer() -> Weight { + Weight::from_parts(44_003_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Assets::Asset` (r:1 w:0) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:1 w:1) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn freeze() -> Weight { + Weight::from_parts(17_614_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:0) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:1 w:1) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn thaw() -> Weight { + Weight::from_parts(17_581_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn freeze_asset() -> Weight { + Weight::from_parts(13_735_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn thaw_asset() -> Weight { + Weight::from_parts(13_417_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Metadata` (r:1 w:0) + /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn transfer_ownership() -> Weight { + Weight::from_parts(14_660_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn set_team() -> Weight { + Weight::from_parts(13_172_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:0) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Metadata` (r:1 w:1) + /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + fn set_metadata(n: u32, s: u32) -> Weight { + Weight::from_parts(29_036_880, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add( + Weight::from_parts(2_426, 0).saturating_mul(n.into()), + ) + .saturating_add(Weight::from_parts(776, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:0) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Metadata` (r:1 w:1) + /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn clear_metadata() -> Weight { + Weight::from_parts(29_216_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:0) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Metadata` (r:1 w:1) + /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + fn force_set_metadata(n: u32, s: u32) -> Weight { + Weight::from_parts(13_095_356, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(Weight::from_parts(826, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(808, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:0) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Metadata` (r:1 w:1) + /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn force_clear_metadata() -> Weight { + Weight::from_parts(29_050_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn force_asset_status() -> Weight { + Weight::from_parts(12_545_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Approvals` (r:1 w:1) + /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + fn approve_transfer() -> Weight { + Weight::from_parts(32_052_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Approvals` (r:1 w:1) + /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:2 w:2) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer_approved() -> Weight { + Weight::from_parts(62_740_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Approvals` (r:1 w:1) + /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + fn cancel_approval() -> Weight { + Weight::from_parts(34_127_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Approvals` (r:1 w:1) + /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + fn force_cancel_approval() -> Weight { + Weight::from_parts(34_613_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn set_min_balance() -> Weight { + Weight::from_parts(13_997_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Assets::Account` (r:1 w:1) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn touch() -> Weight { + Weight::from_parts(33_675_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `Assets::Account` (r:1 w:1) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn touch_other() -> Weight { + Weight::from_parts(31_710_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Assets::Account` (r:1 w:1) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn refund() -> Weight { + Weight::from_parts(30_793_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `Assets::Account` (r:1 w:1) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn refund_other() -> Weight { + Weight::from_parts(29_097_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Assets::Asset` (r:1 w:0) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:1 w:1) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn block() -> Weight { + Weight::from_parts(17_433_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + } + } + pub mod pallet_assets_pool { + //! Autogenerated weights for `pallet_assets` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_assets`. + pub struct WeightInfo(PhantomData); + impl pallet_assets::WeightInfo for WeightInfo { + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn create() -> Weight { + Weight::from_parts(11_901_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn force_create() -> Weight { + Weight::from_parts(11_640_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn start_destroy() -> Weight { + Weight::from_parts(14_226_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1001 w:1000) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1000 w:1000) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `c` is `[0, 1000]`. + /// The range of component `c` is `[0, 1000]`. + /// The range of component `c` is `[0, 1000]`. + fn destroy_accounts(c: u32) -> Weight { + Weight::from_parts(16_743_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add( + Weight::from_parts(14_463_991, 0).saturating_mul(c.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add( + T::DbWeight::get().reads((2_u64).saturating_mul(c.into())), + ) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add( + T::DbWeight::get().writes((2_u64).saturating_mul(c.into())), + ) + .saturating_add(Weight::from_parts(0, 2609).saturating_mul(c.into())) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Approvals` (r:1001 w:1000) + /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + /// The range of component `a` is `[0, 1000]`. + /// The range of component `a` is `[0, 1000]`. + /// The range of component `a` is `[0, 1000]`. + fn destroy_approvals(a: u32) -> Weight { + Weight::from_parts(17_585_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add( + Weight::from_parts(5_323_866, 0).saturating_mul(a.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(a.into())), + ) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(a.into())), + ) + .saturating_add(Weight::from_parts(0, 2623).saturating_mul(a.into())) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:0) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn finish_destroy() -> Weight { + Weight::from_parts(14_325_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn mint() -> Weight { + Weight::from_parts(25_607_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn burn() -> Weight { + Weight::from_parts(32_338_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:2 w:2) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer() -> Weight { + Weight::from_parts(44_041_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:2 w:2) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer_keep_alive() -> Weight { + Weight::from_parts(38_648_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:2 w:2) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn force_transfer() -> Weight { + Weight::from_parts(44_029_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn freeze() -> Weight { + Weight::from_parts(17_782_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn thaw() -> Weight { + Weight::from_parts(17_698_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn freeze_asset() -> Weight { + Weight::from_parts(13_810_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn thaw_asset() -> Weight { + Weight::from_parts(13_603_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:0) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn transfer_ownership() -> Weight { + Weight::from_parts(14_774_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn set_team() -> Weight { + Weight::from_parts(13_616_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:1) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + fn set_metadata(n: u32, s: u32) -> Weight { + Weight::from_parts(16_096_881, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add( + Weight::from_parts(1_631, 0).saturating_mul(n.into()), + ) + .saturating_add( + Weight::from_parts(2_334, 0).saturating_mul(s.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:1) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn clear_metadata() -> Weight { + Weight::from_parts(16_526_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:1) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + fn force_set_metadata(n: u32, s: u32) -> Weight { + Weight::from_parts(14_047_176, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add( + Weight::from_parts(2_617, 0).saturating_mul(n.into()), + ) + .saturating_add( + Weight::from_parts(2_081, 0).saturating_mul(s.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:1) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn force_clear_metadata() -> Weight { + Weight::from_parts(16_279_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn force_asset_status() -> Weight { + Weight::from_parts(13_080_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Approvals` (r:1 w:1) + /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + fn approve_transfer() -> Weight { + Weight::from_parts(19_812_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Approvals` (r:1 w:1) + /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:2 w:2) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer_approved() -> Weight { + Weight::from_parts(51_441_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Approvals` (r:1 w:1) + /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + fn cancel_approval() -> Weight { + Weight::from_parts(21_946_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Approvals` (r:1 w:1) + /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + fn force_cancel_approval() -> Weight { + Weight::from_parts(22_366_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn set_min_balance() -> Weight { + Weight::from_parts(14_086_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn touch() -> Weight { + Weight::from_parts(19_000_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn touch_other() -> Weight { + Weight::from_parts(19_040_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn refund() -> Weight { + Weight::from_parts(15_296_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn refund_other() -> Weight { + Weight::from_parts(15_312_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn block() -> Weight { + Weight::from_parts(17_653_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + } + } + pub mod pallet_balances { + //! Autogenerated weights for `pallet_balances` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_balances`. + pub struct WeightInfo(PhantomData); + impl pallet_balances::WeightInfo for WeightInfo { + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer_allow_death() -> Weight { + Weight::from_parts(56_106_000, 0) + .saturating_add(Weight::from_parts(0, 3593)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer_keep_alive() -> Weight { + Weight::from_parts(41_890_000, 0) + .saturating_add(Weight::from_parts(0, 3593)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn force_set_balance_creating() -> Weight { + Weight::from_parts(15_182_000, 0) + .saturating_add(Weight::from_parts(0, 3593)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn force_set_balance_killing() -> Weight { + Weight::from_parts(22_638_000, 0) + .saturating_add(Weight::from_parts(0, 3593)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn force_transfer() -> Weight { + Weight::from_parts(58_222_000, 0) + .saturating_add(Weight::from_parts(0, 6196)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer_all() -> Weight { + Weight::from_parts(52_003_000, 0) + .saturating_add(Weight::from_parts(0, 3593)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn force_unreserve() -> Weight { + Weight::from_parts(17_849_000, 0) + .saturating_add(Weight::from_parts(0, 3593)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `System::Account` (r:999 w:999) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `u` is `[1, 1000]`. + fn upgrade_accounts(u: u32) -> Weight { + Weight::from_parts(17_478_000, 0) + .saturating_add(Weight::from_parts(0, 990)) + .saturating_add( + Weight::from_parts(15_291_954, 0).saturating_mul(u.into()), + ) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(u.into())), + ) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(u.into())), + ) + .saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into())) + } + } + } + pub mod pallet_collator_selection { + //! Autogenerated weights for `pallet_collator_selection` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_collator_selection`. + pub struct WeightInfo(PhantomData); + impl pallet_collator_selection::WeightInfo + for WeightInfo { + /// Storage: `Session::NextKeys` (r:20 w:0) + /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `CollatorSelection::Invulnerables` (r:0 w:1) + /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// The range of component `b` is `[1, 20]`. + fn set_invulnerables(b: u32) -> Weight { + Weight::from_parts(13_068_592, 0) + .saturating_add(Weight::from_parts(0, 1154)) + .saturating_add( + Weight::from_parts(3_219_916, 0).saturating_mul(b.into()), + ) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(b.into())), + ) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(Weight::from_parts(0, 2555).saturating_mul(b.into())) + } + /// Storage: `Session::NextKeys` (r:1 w:0) + /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `CollatorSelection::Invulnerables` (r:1 w:1) + /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `CollatorSelection::Candidates` (r:1 w:1) + /// Proof: `CollatorSelection::Candidates` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `b` is `[1, 19]`. + /// The range of component `c` is `[1, 99]`. + fn add_invulnerable(b: u32, c: u32) -> Weight { + Weight::from_parts(51_768_986, 0) + .saturating_add(Weight::from_parts(0, 6287)) + .saturating_add( + Weight::from_parts(55_676, 0).saturating_mul(b.into()), + ) + .saturating_add( + Weight::from_parts(184_343, 0).saturating_mul(c.into()), + ) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(0, 53).saturating_mul(c.into())) + } + /// Storage: `CollatorSelection::Candidates` (r:1 w:0) + /// Proof: `CollatorSelection::Candidates` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) + /// Storage: `CollatorSelection::Invulnerables` (r:1 w:1) + /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// The range of component `b` is `[5, 20]`. + fn remove_invulnerable(b: u32) -> Weight { + Weight::from_parts(16_646_017, 0) + .saturating_add(Weight::from_parts(0, 6287)) + .saturating_add( + Weight::from_parts(148_941, 0).saturating_mul(b.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `CollatorSelection::DesiredCandidates` (r:0 w:1) + /// Proof: `CollatorSelection::DesiredCandidates` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + fn set_desired_candidates() -> Weight { + Weight::from_parts(8_002_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `CollatorSelection::CandidacyBond` (r:0 w:1) + /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + fn set_candidacy_bond() -> Weight { + Weight::from_parts(8_161_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `CollatorSelection::Candidates` (r:1 w:1) + /// Proof: `CollatorSelection::Candidates` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) + /// Storage: `CollatorSelection::DesiredCandidates` (r:1 w:0) + /// Proof: `CollatorSelection::DesiredCandidates` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) + /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `Session::NextKeys` (r:1 w:0) + /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `CollatorSelection::CandidacyBond` (r:1 w:0) + /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) + /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + /// The range of component `c` is `[1, 99]`. + fn register_as_candidate(c: u32) -> Weight { + Weight::from_parts(45_979_502, 0) + .saturating_add(Weight::from_parts(0, 6287)) + .saturating_add( + Weight::from_parts(221_049, 0).saturating_mul(c.into()), + ) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(Weight::from_parts(0, 54).saturating_mul(c.into())) + } + /// Storage: `CollatorSelection::Candidates` (r:1 w:1) + /// Proof: `CollatorSelection::Candidates` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) + /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) + /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) + /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + /// The range of component `c` is `[4, 100]`. + fn leave_intent(c: u32) -> Weight { + Weight::from_parts(36_371_520, 0) + .saturating_add(Weight::from_parts(0, 6287)) + .saturating_add( + Weight::from_parts(201_700, 0).saturating_mul(c.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `System::BlockWeight` (r:1 w:1) + /// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`) + /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) + /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + fn note_author() -> Weight { + Weight::from_parts(48_151_000, 0) + .saturating_add(Weight::from_parts(0, 6196)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `CollatorSelection::Candidates` (r:1 w:0) + /// Proof: `CollatorSelection::Candidates` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) + /// Storage: `CollatorSelection::LastAuthoredBlock` (r:100 w:0) + /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) + /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) + /// Storage: `System::BlockWeight` (r:1 w:1) + /// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:97 w:97) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `r` is `[1, 100]`. + /// The range of component `c` is `[1, 100]`. + fn new_session(r: u32, c: u32) -> Weight { + Weight::from_parts(17_854_000, 0) + .saturating_add(Weight::from_parts(0, 6287)) + .saturating_add( + Weight::from_parts(15_798_857, 0).saturating_mul(c.into()), + ) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(c.into())), + ) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(c.into())), + ) + .saturating_add(Weight::from_parts(0, 2519).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(0, 2603).saturating_mul(r.into())) + } + } + } + pub mod pallet_multisig { + //! Autogenerated weights for `pallet_multisig` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_multisig`. + pub struct WeightInfo(PhantomData); + impl pallet_multisig::WeightInfo for WeightInfo { + /// The range of component `z` is `[0, 10000]`. + fn as_multi_threshold_1(z: u32) -> Weight { + Weight::from_parts(14_440_231, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(Weight::from_parts(598, 0).saturating_mul(z.into())) + } + /// Storage: `Multisig::Multisigs` (r:1 w:1) + /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) + /// The range of component `s` is `[2, 100]`. + /// The range of component `z` is `[0, 10000]`. + fn as_multi_create(s: u32, z: u32) -> Weight { + Weight::from_parts(33_662_218, 0) + .saturating_add(Weight::from_parts(0, 6811)) + .saturating_add( + Weight::from_parts(128_927, 0).saturating_mul(s.into()), + ) + .saturating_add( + Weight::from_parts(1_543, 0).saturating_mul(z.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Multisig::Multisigs` (r:1 w:1) + /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) + /// The range of component `s` is `[3, 100]`. + /// The range of component `z` is `[0, 10000]`. + fn as_multi_approve(s: u32, z: u32) -> Weight { + Weight::from_parts(20_559_891, 0) + .saturating_add(Weight::from_parts(0, 6811)) + .saturating_add( + Weight::from_parts(103_601, 0).saturating_mul(s.into()), + ) + .saturating_add( + Weight::from_parts(1_504, 0).saturating_mul(z.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Multisig::Multisigs` (r:1 w:1) + /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `s` is `[2, 100]`. + /// The range of component `z` is `[0, 10000]`. + fn as_multi_complete(s: u32, z: u32) -> Weight { + Weight::from_parts(36_510_777, 0) + .saturating_add(Weight::from_parts(0, 6811)) + .saturating_add( + Weight::from_parts(183_764, 0).saturating_mul(s.into()), + ) + .saturating_add( + Weight::from_parts(1_653, 0).saturating_mul(z.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Multisig::Multisigs` (r:1 w:1) + /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) + /// The range of component `s` is `[2, 100]`. + fn approve_as_multi_create(s: u32) -> Weight { + Weight::from_parts(32_408_621, 0) + .saturating_add(Weight::from_parts(0, 6811)) + .saturating_add( + Weight::from_parts(121_410, 0).saturating_mul(s.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Multisig::Multisigs` (r:1 w:1) + /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) + /// The range of component `s` is `[2, 100]`. + fn approve_as_multi_approve(s: u32) -> Weight { + Weight::from_parts(18_223_547, 0) + .saturating_add(Weight::from_parts(0, 6811)) + .saturating_add( + Weight::from_parts(114_584, 0).saturating_mul(s.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Multisig::Multisigs` (r:1 w:1) + /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) + /// The range of component `s` is `[2, 100]`. + fn cancel_as_multi(s: u32) -> Weight { + Weight::from_parts(33_674_827, 0) + .saturating_add(Weight::from_parts(0, 6811)) + .saturating_add( + Weight::from_parts(122_011, 0).saturating_mul(s.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + } + } + pub mod pallet_nft_fractionalization { + //! Autogenerated weights for `pallet_nft_fractionalization` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_nft_fractionalization`. + pub struct WeightInfo(PhantomData); + impl pallet_nft_fractionalization::WeightInfo + for WeightInfo { + /// Storage: `Nfts::Item` (r:1 w:0) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Attribute` (r:1 w:1) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:1 w:1) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Assets::Metadata` (r:1 w:1) + /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// Storage: `NftFractionalization::NftToAsset` (r:0 w:1) + /// Proof: `NftFractionalization::NftToAsset` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`) + fn fractionalize() -> Weight { + Weight::from_parts(180_912_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(8)) + } + /// Storage: `NftFractionalization::NftToAsset` (r:1 w:1) + /// Proof: `NftFractionalization::NftToAsset` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:1 w:1) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Attribute` (r:1 w:1) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Item` (r:1 w:1) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Account` (r:0 w:1) + /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemPriceOf` (r:0 w:1) + /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + /// Storage: `Nfts::PendingSwapOf` (r:0 w:1) + /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) + fn unify() -> Weight { + Weight::from_parts(128_238_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(10)) + } + } + } + pub mod pallet_nfts { + //! Autogenerated weights for `pallet_nfts` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_nfts`. + pub struct WeightInfo(PhantomData); + impl pallet_nfts::WeightInfo for WeightInfo { + /// Storage: `Nfts::NextCollectionId` (r:1 w:1) + /// Proof: `Nfts::NextCollectionId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionRoleOf` (r:0 w:1) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:0 w:1) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionAccount` (r:0 w:1) + /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + fn create() -> Weight { + Weight::from_parts(39_975_000, 0) + .saturating_add(Weight::from_parts(0, 3549)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: `Nfts::NextCollectionId` (r:1 w:1) + /// Proof: `Nfts::NextCollectionId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionRoleOf` (r:0 w:1) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:0 w:1) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionAccount` (r:0 w:1) + /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + fn force_create() -> Weight { + Weight::from_parts(23_857_000, 0) + .saturating_add(Weight::from_parts(0, 3549)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemMetadataOf` (r:1 w:0) + /// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:1) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Attribute` (r:1001 w:1000) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1000 w:1000) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionMetadataOf` (r:0 w:1) + /// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:0 w:1) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionAccount` (r:0 w:1) + /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + /// The range of component `m` is `[0, 1000]`. + /// The range of component `c` is `[0, 1000]`. + /// The range of component `a` is `[0, 1000]`. + fn destroy(_m: u32, _c: u32, a: u32) -> Weight { + Weight::from_parts(1_281_136_346, 0) + .saturating_add(Weight::from_parts(0, 2523990)) + .saturating_add( + Weight::from_parts(6_910_740, 0).saturating_mul(a.into()), + ) + .saturating_add(T::DbWeight::get().reads(1004)) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(a.into())), + ) + .saturating_add(T::DbWeight::get().writes(1005)) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(a.into())), + ) + .saturating_add(Weight::from_parts(0, 2954).saturating_mul(a.into())) + } + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Item` (r:1 w:1) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Account` (r:0 w:1) + /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + fn mint() -> Weight { + Weight::from_parts(51_045_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Item` (r:1 w:1) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Account` (r:0 w:1) + /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + fn force_mint() -> Weight { + Weight::from_parts(49_756_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Nfts::Attribute` (r:1 w:0) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Item` (r:1 w:1) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemMetadataOf` (r:1 w:0) + /// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Account` (r:0 w:1) + /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemPriceOf` (r:0 w:1) + /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemAttributesApprovalsOf` (r:0 w:1) + /// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(1001), added: 3476, mode: `MaxEncodedLen`) + /// Storage: `Nfts::PendingSwapOf` (r:0 w:1) + /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) + fn burn() -> Weight { + Weight::from_parts(57_162_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(7)) + } + /// Storage: `Nfts::Collection` (r:1 w:0) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Attribute` (r:1 w:0) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Item` (r:1 w:1) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Account` (r:0 w:2) + /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemPriceOf` (r:0 w:1) + /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + /// Storage: `Nfts::PendingSwapOf` (r:0 w:1) + /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) + fn transfer() -> Weight { + Weight::from_parts(43_187_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: `Nfts::Collection` (r:1 w:0) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Item` (r:5000 w:5000) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// The range of component `i` is `[0, 5000]`. + fn redeposit(i: u32) -> Weight { + Weight::from_parts(17_167_000, 0) + .saturating_add(Weight::from_parts(0, 3549)) + .saturating_add( + Weight::from_parts(18_046_970, 0).saturating_mul(i.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(i.into())), + ) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(i.into())), + ) + .saturating_add(Weight::from_parts(0, 3336).saturating_mul(i.into())) + } + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + fn lock_item_transfer() -> Weight { + Weight::from_parts(21_409_000, 0) + .saturating_add(Weight::from_parts(0, 3534)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + fn unlock_item_transfer() -> Weight { + Weight::from_parts(21_030_000, 0) + .saturating_add(Weight::from_parts(0, 3534)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::Collection` (r:1 w:0) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:1) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn lock_collection() -> Weight { + Weight::from_parts(17_804_000, 0) + .saturating_add(Weight::from_parts(0, 3549)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::OwnershipAcceptance` (r:1 w:1) + /// Proof: `Nfts::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionAccount` (r:0 w:2) + /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + fn transfer_ownership() -> Weight { + Weight::from_parts(23_499_000, 0) + .saturating_add(Weight::from_parts(0, 3549)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionRoleOf` (r:2 w:4) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + fn set_team() -> Weight { + Weight::from_parts(40_800_000, 0) + .saturating_add(Weight::from_parts(0, 6078)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionAccount` (r:0 w:2) + /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + fn force_collection_owner() -> Weight { + Weight::from_parts(18_297_000, 0) + .saturating_add(Weight::from_parts(0, 3549)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `Nfts::Collection` (r:1 w:0) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:0 w:1) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn force_collection_config() -> Weight { + Weight::from_parts(15_370_000, 0) + .saturating_add(Weight::from_parts(0, 3549)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + fn lock_item_properties() -> Weight { + Weight::from_parts(20_258_000, 0) + .saturating_add(Weight::from_parts(0, 3534)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Attribute` (r:1 w:1) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + fn set_attribute() -> Weight { + Weight::from_parts(50_971_000, 0) + .saturating_add(Weight::from_parts(0, 3944)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Attribute` (r:1 w:1) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + fn force_set_attribute() -> Weight { + Weight::from_parts(27_086_000, 0) + .saturating_add(Weight::from_parts(0, 3944)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Nfts::Attribute` (r:1 w:1) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + fn clear_attribute() -> Weight { + Weight::from_parts(47_107_000, 0) + .saturating_add(Weight::from_parts(0, 3944)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Nfts::Item` (r:1 w:0) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1) + /// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(1001), added: 3476, mode: `MaxEncodedLen`) + fn approve_item_attributes() -> Weight { + Weight::from_parts(18_371_000, 0) + .saturating_add(Weight::from_parts(0, 4466)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::Item` (r:1 w:0) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1) + /// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(1001), added: 3476, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Attribute` (r:1001 w:1000) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 1000]`. + fn cancel_item_attributes_approval(n: u32) -> Weight { + Weight::from_parts(27_010_000, 0) + .saturating_add(Weight::from_parts(0, 4466)) + .saturating_add( + Weight::from_parts(6_584_290, 0).saturating_mul(n.into()), + ) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(n.into())), + ) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(n.into())), + ) + .saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into())) + } + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemMetadataOf` (r:1 w:1) + /// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`) + fn set_metadata() -> Weight { + Weight::from_parts(42_758_000, 0) + .saturating_add(Weight::from_parts(0, 3812)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemMetadataOf` (r:1 w:1) + /// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + fn clear_metadata() -> Weight { + Weight::from_parts(41_026_000, 0) + .saturating_add(Weight::from_parts(0, 3812)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionMetadataOf` (r:1 w:1) + /// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`) + fn set_collection_metadata() -> Weight { + Weight::from_parts(38_561_000, 0) + .saturating_add(Weight::from_parts(0, 3759)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:0) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionMetadataOf` (r:1 w:1) + /// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`) + fn clear_collection_metadata() -> Weight { + Weight::from_parts(38_215_000, 0) + .saturating_add(Weight::from_parts(0, 3759)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::Item` (r:1 w:1) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn approve_transfer() -> Weight { + Weight::from_parts(21_803_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::Item` (r:1 w:1) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + fn cancel_approval() -> Weight { + Weight::from_parts(19_185_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::Item` (r:1 w:1) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + fn clear_all_transfer_approvals() -> Weight { + Weight::from_parts(18_270_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::OwnershipAcceptance` (r:1 w:1) + /// Proof: `Nfts::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + fn set_accept_ownership() -> Weight { + Weight::from_parts(16_700_000, 0) + .saturating_add(Weight::from_parts(0, 3517)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:1) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:0) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + fn set_collection_max_supply() -> Weight { + Weight::from_parts(19_785_000, 0) + .saturating_add(Weight::from_parts(0, 3549)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:1) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn update_mint_settings() -> Weight { + Weight::from_parts(19_292_000, 0) + .saturating_add(Weight::from_parts(0, 3538)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::Item` (r:1 w:0) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemPriceOf` (r:0 w:1) + /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + fn set_price() -> Weight { + Weight::from_parts(25_257_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::Item` (r:1 w:1) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemPriceOf` (r:1 w:1) + /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:0) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Attribute` (r:1 w:0) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Account` (r:0 w:2) + /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + /// Storage: `Nfts::PendingSwapOf` (r:0 w:1) + /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) + fn buy_item() -> Weight { + Weight::from_parts(52_161_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// The range of component `n` is `[0, 10]`. + fn pay_tips(n: u32) -> Weight { + Weight::from_parts(3_476_001, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add( + Weight::from_parts(3_844_820, 0).saturating_mul(n.into()), + ) + } + /// Storage: `Nfts::Item` (r:2 w:0) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::PendingSwapOf` (r:0 w:1) + /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) + fn create_swap() -> Weight { + Weight::from_parts(22_746_000, 0) + .saturating_add(Weight::from_parts(0, 7662)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::PendingSwapOf` (r:1 w:1) + /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Item` (r:1 w:0) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + fn cancel_swap() -> Weight { + Weight::from_parts(21_465_000, 0) + .saturating_add(Weight::from_parts(0, 4326)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Nfts::Item` (r:2 w:2) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::PendingSwapOf` (r:1 w:2) + /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:0) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Attribute` (r:2 w:0) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:2 w:0) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Account` (r:0 w:4) + /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemPriceOf` (r:0 w:2) + /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + fn claim_swap() -> Weight { + Weight::from_parts(86_078_000, 0) + .saturating_add(Weight::from_parts(0, 7662)) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(10)) + } + /// Storage: `Nfts::CollectionRoleOf` (r:2 w:0) + /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Item` (r:1 w:1) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) + /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Attribute` (r:10 w:10) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemMetadataOf` (r:1 w:1) + /// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Account` (r:0 w:1) + /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 10]`. + fn mint_pre_signed(n: u32) -> Weight { + Weight::from_parts(150_978_773, 0) + .saturating_add(Weight::from_parts(0, 6078)) + .saturating_add( + Weight::from_parts(31_888_255, 0).saturating_mul(n.into()), + ) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(n.into())), + ) + .saturating_add(T::DbWeight::get().writes(6)) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(n.into())), + ) + .saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into())) + } + /// Storage: `Nfts::Item` (r:1 w:0) + /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1) + /// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(1001), added: 3476, mode: `MaxEncodedLen`) + /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) + /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Collection` (r:1 w:1) + /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `Nfts::Attribute` (r:10 w:10) + /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 10]`. + fn set_attributes_pre_signed(n: u32) -> Weight { + Weight::from_parts(96_685_026, 0) + .saturating_add(Weight::from_parts(0, 4466)) + .saturating_add( + Weight::from_parts(30_914_858, 0).saturating_mul(n.into()), + ) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(n.into())), + ) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(n.into())), + ) + .saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into())) + } + } + } + pub mod pallet_proxy { + //! Autogenerated weights for `pallet_proxy` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_proxy`. + pub struct WeightInfo(PhantomData); + impl pallet_proxy::WeightInfo for WeightInfo { + /// Storage: `Proxy::Proxies` (r:1 w:0) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) + /// The range of component `p` is `[1, 31]`. + fn proxy(p: u32) -> Weight { + Weight::from_parts(17_283_443, 0) + .saturating_add(Weight::from_parts(0, 4706)) + .saturating_add( + Weight::from_parts(32_123, 0).saturating_mul(p.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + } + /// Storage: `Proxy::Proxies` (r:1 w:0) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) + /// Storage: `Proxy::Announcements` (r:1 w:1) + /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. + fn proxy_announced(a: u32, p: u32) -> Weight { + Weight::from_parts(37_045_756, 0) + .saturating_add(Weight::from_parts(0, 5698)) + .saturating_add( + Weight::from_parts(139_561, 0).saturating_mul(a.into()), + ) + .saturating_add( + Weight::from_parts(73_270, 0).saturating_mul(p.into()), + ) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Proxy::Announcements` (r:1 w:1) + /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. + fn remove_announcement(a: u32, p: u32) -> Weight { + Weight::from_parts(24_711_403, 0) + .saturating_add(Weight::from_parts(0, 5698)) + .saturating_add( + Weight::from_parts(128_391, 0).saturating_mul(a.into()), + ) + .saturating_add( + Weight::from_parts(23_124, 0).saturating_mul(p.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Proxy::Announcements` (r:1 w:1) + /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. + fn reject_announcement(a: u32, p: u32) -> Weight { + Weight::from_parts(23_928_058, 0) + .saturating_add(Weight::from_parts(0, 5698)) + .saturating_add( + Weight::from_parts(152_299, 0).saturating_mul(a.into()), + ) + .saturating_add( + Weight::from_parts(39_775, 0).saturating_mul(p.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Proxy::Proxies` (r:1 w:0) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) + /// Storage: `Proxy::Announcements` (r:1 w:1) + /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. + fn announce(a: u32, p: u32) -> Weight { + Weight::from_parts(33_568_059, 0) + .saturating_add(Weight::from_parts(0, 5698)) + .saturating_add( + Weight::from_parts(134_400, 0).saturating_mul(a.into()), + ) + .saturating_add( + Weight::from_parts(57_028, 0).saturating_mul(p.into()), + ) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Proxy::Proxies` (r:1 w:1) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) + /// The range of component `p` is `[1, 31]`. + fn add_proxy(p: u32) -> Weight { + Weight::from_parts(26_235_199, 0) + .saturating_add(Weight::from_parts(0, 4706)) + .saturating_add( + Weight::from_parts(41_435, 0).saturating_mul(p.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Proxy::Proxies` (r:1 w:1) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) + /// The range of component `p` is `[1, 31]`. + fn remove_proxy(p: u32) -> Weight { + Weight::from_parts(26_823_133, 0) + .saturating_add(Weight::from_parts(0, 4706)) + .saturating_add( + Weight::from_parts(34_224, 0).saturating_mul(p.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Proxy::Proxies` (r:1 w:1) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) + /// The range of component `p` is `[1, 31]`. + fn remove_proxies(p: u32) -> Weight { + Weight::from_parts(23_304_060, 0) + .saturating_add(Weight::from_parts(0, 4706)) + .saturating_add( + Weight::from_parts(39_612, 0).saturating_mul(p.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Proxy::Proxies` (r:1 w:1) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) + /// The range of component `p` is `[1, 31]`. + fn create_pure(p: u32) -> Weight { + Weight::from_parts(28_009_062, 0) + .saturating_add(Weight::from_parts(0, 4706)) + .saturating_add( + Weight::from_parts(12_255, 0).saturating_mul(p.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Proxy::Proxies` (r:1 w:1) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 30]`. + fn kill_pure(p: u32) -> Weight { + Weight::from_parts(24_392_989, 0) + .saturating_add(Weight::from_parts(0, 4706)) + .saturating_add( + Weight::from_parts(30_287, 0).saturating_mul(p.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + } + } + pub mod pallet_session { + //! Autogenerated weights for `pallet_session` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_session`. + pub struct WeightInfo(PhantomData); + impl pallet_session::WeightInfo for WeightInfo { + /// Storage: `Session::NextKeys` (r:1 w:1) + /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Session::KeyOwner` (r:1 w:1) + /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_keys() -> Weight { + Weight::from_parts(17_357_000, 0) + .saturating_add(Weight::from_parts(0, 3735)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Session::NextKeys` (r:1 w:1) + /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Session::KeyOwner` (r:0 w:1) + /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn purge_keys() -> Weight { + Weight::from_parts(12_770_000, 0) + .saturating_add(Weight::from_parts(0, 3707)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(2)) + } + } + } + pub mod pallet_timestamp { + //! Autogenerated weights for `pallet_timestamp` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_timestamp`. + pub struct WeightInfo(PhantomData); + impl pallet_timestamp::WeightInfo for WeightInfo { + /// Storage: `Timestamp::Now` (r:1 w:1) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `Aura::CurrentSlot` (r:1 w:0) + /// Proof: `Aura::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + fn set() -> Weight { + Weight::from_parts(9_775_000, 0) + .saturating_add(Weight::from_parts(0, 1493)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + fn on_finalize() -> Weight { + Weight::from_parts(3_577_000, 0).saturating_add(Weight::from_parts(0, 0)) + } + } + } + pub mod pallet_uniques { + //! Autogenerated weights for `pallet_uniques` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_uniques`. + pub struct WeightInfo(PhantomData); + impl pallet_uniques::WeightInfo for WeightInfo { + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ClassAccount` (r:0 w:1) + /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + fn create() -> Weight { + Weight::from_parts(29_675_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ClassAccount` (r:0 w:1) + /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + fn force_create() -> Weight { + Weight::from_parts(14_049_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Asset` (r:1001 w:1000) + /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) + /// Storage: `Uniques::InstanceMetadataOf` (r:1000 w:1000) + /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Attribute` (r:1000 w:1000) + /// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ClassAccount` (r:0 w:1) + /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ClassMetadataOf` (r:0 w:1) + /// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Account` (r:0 w:1000) + /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + /// Storage: `Uniques::CollectionMaxSupply` (r:0 w:1) + /// Proof: `Uniques::CollectionMaxSupply` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 1000]`. + /// The range of component `m` is `[0, 1000]`. + /// The range of component `a` is `[0, 1000]`. + fn destroy(n: u32, m: u32, a: u32) -> Weight { + Weight::from_parts(2_983_862_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add( + Weight::from_parts(7_589_778, 0).saturating_mul(n.into()), + ) + .saturating_add( + Weight::from_parts(479_496, 0).saturating_mul(m.into()), + ) + .saturating_add( + Weight::from_parts(562_056, 0).saturating_mul(a.into()), + ) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(n.into())), + ) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(m.into())), + ) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(a.into())), + ) + .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add( + T::DbWeight::get().writes((2_u64).saturating_mul(n.into())), + ) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(m.into())), + ) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(a.into())), + ) + .saturating_add(Weight::from_parts(0, 2647).saturating_mul(a.into())) + .saturating_add(Weight::from_parts(0, 2662).saturating_mul(m.into())) + .saturating_add(Weight::from_parts(0, 2597).saturating_mul(n.into())) + } + /// Storage: `Uniques::Asset` (r:1 w:1) + /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::CollectionMaxSupply` (r:1 w:0) + /// Proof: `Uniques::CollectionMaxSupply` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Account` (r:0 w:1) + /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + fn mint() -> Weight { + Weight::from_parts(36_019_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Asset` (r:1 w:1) + /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Account` (r:0 w:1) + /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ItemPriceOf` (r:0 w:1) + /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + fn burn() -> Weight { + Weight::from_parts(37_190_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Uniques::Class` (r:1 w:0) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Asset` (r:1 w:1) + /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Account` (r:0 w:2) + /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ItemPriceOf` (r:0 w:1) + /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + fn transfer() -> Weight { + Weight::from_parts(27_400_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Asset` (r:5000 w:5000) + /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) + /// The range of component `i` is `[0, 5000]`. + fn redeposit(i: u32) -> Weight { + Weight::from_parts(14_831_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add( + Weight::from_parts(17_972_938, 0).saturating_mul(i.into()), + ) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add( + T::DbWeight::get().reads((1_u64).saturating_mul(i.into())), + ) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add( + T::DbWeight::get().writes((1_u64).saturating_mul(i.into())), + ) + .saturating_add(Weight::from_parts(0, 2597).saturating_mul(i.into())) + } + /// Storage: `Uniques::Asset` (r:1 w:1) + /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Class` (r:1 w:0) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + fn freeze() -> Weight { + Weight::from_parts(19_547_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Uniques::Asset` (r:1 w:1) + /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Class` (r:1 w:0) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + fn thaw() -> Weight { + Weight::from_parts(19_000_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + fn freeze_collection() -> Weight { + Weight::from_parts(14_165_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + fn thaw_collection() -> Weight { + Weight::from_parts(14_055_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Uniques::OwnershipAcceptance` (r:1 w:1) + /// Proof: `Uniques::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ClassAccount` (r:0 w:2) + /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + fn transfer_ownership() -> Weight { + Weight::from_parts(22_628_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + fn set_team() -> Weight { + Weight::from_parts(14_408_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ClassAccount` (r:0 w:1) + /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + fn force_item_status() -> Weight { + Weight::from_parts(17_482_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::InstanceMetadataOf` (r:1 w:0) + /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Attribute` (r:1 w:1) + /// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`) + fn set_attribute() -> Weight { + Weight::from_parts(39_513_000, 0) + .saturating_add(Weight::from_parts(0, 3652)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::InstanceMetadataOf` (r:1 w:0) + /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Attribute` (r:1 w:1) + /// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`) + fn clear_attribute() -> Weight { + Weight::from_parts(38_666_000, 0) + .saturating_add(Weight::from_parts(0, 3652)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::InstanceMetadataOf` (r:1 w:1) + /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) + fn set_metadata() -> Weight { + Weight::from_parts(30_363_000, 0) + .saturating_add(Weight::from_parts(0, 3652)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::InstanceMetadataOf` (r:1 w:1) + /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) + fn clear_metadata() -> Weight { + Weight::from_parts(31_430_000, 0) + .saturating_add(Weight::from_parts(0, 3652)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Uniques::Class` (r:1 w:1) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ClassMetadataOf` (r:1 w:1) + /// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`) + fn set_collection_metadata() -> Weight { + Weight::from_parts(31_065_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Uniques::Class` (r:1 w:0) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ClassMetadataOf` (r:1 w:1) + /// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`) + fn clear_collection_metadata() -> Weight { + Weight::from_parts(30_160_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Uniques::Class` (r:1 w:0) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Asset` (r:1 w:1) + /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) + fn approve_transfer() -> Weight { + Weight::from_parts(19_866_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Uniques::Class` (r:1 w:0) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Asset` (r:1 w:1) + /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) + fn cancel_approval() -> Weight { + Weight::from_parts(19_569_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Uniques::OwnershipAcceptance` (r:1 w:1) + /// Proof: `Uniques::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + fn set_accept_ownership() -> Weight { + Weight::from_parts(15_691_000, 0) + .saturating_add(Weight::from_parts(0, 3517)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Uniques::CollectionMaxSupply` (r:1 w:1) + /// Proof: `Uniques::CollectionMaxSupply` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Class` (r:1 w:0) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + fn set_collection_max_supply() -> Weight { + Weight::from_parts(16_654_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Uniques::Asset` (r:1 w:0) + /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ItemPriceOf` (r:0 w:1) + /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + fn set_price() -> Weight { + Weight::from_parts(16_555_000, 0) + .saturating_add(Weight::from_parts(0, 3587)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Uniques::Asset` (r:1 w:1) + /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) + /// Storage: `Uniques::ItemPriceOf` (r:1 w:1) + /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Class` (r:1 w:0) + /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `Uniques::Account` (r:0 w:2) + /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) + fn buy_item() -> Weight { + Weight::from_parts(36_305_000, 0) + .saturating_add(Weight::from_parts(0, 3643)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(4)) + } + } + } + pub mod pallet_utility { + //! Autogenerated weights for `pallet_utility` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_utility`. + pub struct WeightInfo(PhantomData); + impl pallet_utility::WeightInfo for WeightInfo { + /// The range of component `c` is `[0, 1000]`. + fn batch(c: u32) -> Weight { + Weight::from_parts(7_226_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add( + Weight::from_parts(6_560_347, 0).saturating_mul(c.into()), + ) + } + fn as_derivative() -> Weight { + Weight::from_parts(5_480_000, 0).saturating_add(Weight::from_parts(0, 0)) + } + /// The range of component `c` is `[0, 1000]`. + fn batch_all(c: u32) -> Weight { + Weight::from_parts(1_321_270, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add( + Weight::from_parts(6_864_640, 0).saturating_mul(c.into()), + ) + } + fn dispatch_as() -> Weight { + Weight::from_parts(9_683_000, 0).saturating_add(Weight::from_parts(0, 0)) + } + /// The range of component `c` is `[0, 1000]`. + fn force_batch(c: u32) -> Weight { + Weight::from_parts(7_007_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add( + Weight::from_parts(6_562_902, 0).saturating_mul(c.into()), + ) + } + } + } + pub mod pallet_xcm { + //! Autogenerated weights for `pallet_xcm` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + #![allow(missing_docs)] + use frame_support::{traits::Get, weights::Weight}; + use core::marker::PhantomData; + /// Weight functions for `pallet_xcm`. + pub struct WeightInfo(PhantomData); + impl pallet_xcm::WeightInfo for WeightInfo { + /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1) + /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) + /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) + /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn send() -> Weight { + Weight::from_parts(30_576_000, 0) + .saturating_add(Weight::from_parts(0, 3574)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + fn teleport_assets() -> Weight { + Weight::from_parts(25_097_000, 0) + .saturating_add(Weight::from_parts(0, 1489)) + .saturating_add(T::DbWeight::get().reads(1)) + } + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + fn reserve_transfer_assets() -> Weight { + Weight::from_parts(19_121_000, 0) + .saturating_add(Weight::from_parts(0, 1489)) + .saturating_add(T::DbWeight::get().reads(1)) + } + /// Storage: `Benchmark::Override` (r:0 w:0) + /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn execute() -> Weight { + Weight::from_parts(18_446_744_073_709_551_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1) + /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn force_xcm_version() -> Weight { + Weight::from_parts(9_721_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PolkadotXcm::SafeXcmVersion` (r:0 w:1) + /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn force_default_xcm_version() -> Weight { + Weight::from_parts(3_262_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1) + /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1) + /// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1) + /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) + /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) + /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::Queries` (r:0 w:1) + /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn force_subscribe_version_notify() -> Weight { + Weight::from_parts(36_317_000, 0) + .saturating_add(Weight::from_parts(0, 3574)) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1) + /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1) + /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) + /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) + /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::Queries` (r:0 w:1) + /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn force_unsubscribe_version_notify() -> Weight { + Weight::from_parts(37_983_000, 0) + .saturating_add(Weight::from_parts(0, 3791)) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `PolkadotXcm::XcmExecutionSuspended` (r:0 w:1) + /// Proof: `PolkadotXcm::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn force_suspension() -> Weight { + Weight::from_parts(3_085_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PolkadotXcm::SupportedVersion` (r:4 w:2) + /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn migrate_supported_version() -> Weight { + Weight::from_parts(17_759_000, 0) + .saturating_add(Weight::from_parts(0, 11052)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PolkadotXcm::VersionNotifiers` (r:4 w:2) + /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn migrate_version_notifiers() -> Weight { + Weight::from_parts(17_678_000, 0) + .saturating_add(Weight::from_parts(0, 11056)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:5 w:0) + /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn already_notified_target() -> Weight { + Weight::from_parts(19_285_000, 0) + .saturating_add(Weight::from_parts(0, 13538)) + .saturating_add(T::DbWeight::get().reads(5)) + } + /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:2 w:1) + /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1) + /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) + /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) + /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn notify_current_targets() -> Weight { + Weight::from_parts(33_533_000, 0) + .saturating_add(Weight::from_parts(0, 6116)) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:3 w:0) + /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn notify_target_migration_fail() -> Weight { + Weight::from_parts(9_498_000, 0) + .saturating_add(Weight::from_parts(0, 8621)) + .saturating_add(T::DbWeight::get().reads(3)) + } + /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:4 w:2) + /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn migrate_version_notify_targets() -> Weight { + Weight::from_parts(17_943_000, 0) + .saturating_add(Weight::from_parts(0, 11063)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:4 w:2) + /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1) + /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0) + /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) + /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) + /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn migrate_and_notify_old_targets() -> Weight { + Weight::from_parts(39_984_000, 0) + .saturating_add(Weight::from_parts(0, 11069)) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(4)) + } + } + } + pub mod paritydb_weights { + pub mod constants { + use frame_support::{parameter_types, weights::{constants, RuntimeDbWeight}}; + /// `ParityDB` can be enabled with a feature flag, but is still experimental. These weights + /// are available for brave runtime engineers who may want to try this out as default. + pub struct ParityDbWeight; + impl ParityDbWeight { + /// Returns the value of this parameter type. + pub const fn get() -> RuntimeDbWeight { + RuntimeDbWeight { + read: 8_000 * constants::WEIGHT_REF_TIME_PER_NANOS, + write: 50_000 * constants::WEIGHT_REF_TIME_PER_NANOS, + } + } + } + impl<_I: From> ::frame_support::traits::Get<_I> + for ParityDbWeight { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for ParityDbWeight { + type Type = RuntimeDbWeight; + fn get() -> RuntimeDbWeight { + Self::get() + } + } + } + } + pub mod rocksdb_weights { + pub mod constants { + use frame_support::{parameter_types, weights::{constants, RuntimeDbWeight}}; + /// By default, Substrate uses `RocksDB`, so this will be the weight used throughout + /// the runtime. + pub struct RocksDbWeight; + impl RocksDbWeight { + /// Returns the value of this parameter type. + pub const fn get() -> RuntimeDbWeight { + RuntimeDbWeight { + read: 25_000 * constants::WEIGHT_REF_TIME_PER_NANOS, + write: 100_000 * constants::WEIGHT_REF_TIME_PER_NANOS, + } + } + } + impl<_I: From> ::frame_support::traits::Get<_I> + for RocksDbWeight { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for RocksDbWeight { + type Type = RuntimeDbWeight; + fn get() -> RuntimeDbWeight { + Self::get() + } + } + } + } + pub mod xcm { + mod pallet_xcm_benchmarks_fungible { + //! Autogenerated weights for `pallet_xcm_benchmarks::fungible` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-09-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-nbnwcyh-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! WASM-EXECUTION: Compiled, CHAIN: Some("asset-hub-kusama-dev"), DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + use frame_support::{traits::Get, weights::Weight}; + use sp_std::marker::PhantomData; + /// Weights for `pallet_xcm_benchmarks::fungible`. + pub struct WeightInfo(PhantomData); + impl WeightInfo { + pub fn withdraw_asset() -> Weight { + Weight::from_parts(26_312_000, 3593) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + pub fn transfer_asset() -> Weight { + Weight::from_parts(52_221_000, 6196) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + pub fn transfer_reserve_asset() -> Weight { + Weight::from_parts(76_500_000, 6196) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(4)) + } + pub fn reserve_asset_deposited() -> Weight { + Weight::from_parts(18_446_744_073_709_551_000, 0) + } + pub fn initiate_reserve_withdraw() -> Weight { + Weight::from_parts(470_470_000, 3610) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(2)) + } + pub fn receive_teleported_asset() -> Weight { + Weight::from_parts(3_887_000, 0) + } + pub fn deposit_asset() -> Weight { + Weight::from_parts(26_320_000, 3593) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + pub fn deposit_reserve_asset() -> Weight { + Weight::from_parts(52_538_000, 3610) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(3)) + } + pub fn initiate_teleport() -> Weight { + Weight::from_parts(32_834_000, 3610) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(2)) + } + } + } + mod pallet_xcm_benchmarks_generic { + //! Autogenerated weights for `pallet_xcm_benchmarks::generic` + //! + //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev + //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` + //! WORST CASE MAP SIZE: `1000000` + //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` + //! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("asset-hub-kusama-dev"), DB CACHE: 1024 + #![allow(unused_parens)] + #![allow(unused_imports)] + use frame_support::{traits::Get, weights::Weight}; + use sp_std::marker::PhantomData; + /// Weights for `pallet_xcm_benchmarks::generic`. + pub struct WeightInfo(PhantomData); + impl WeightInfo { + pub fn report_holding() -> Weight { + Weight::from_parts(438_017_000, 3574) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(2)) + } + pub fn buy_execution() -> Weight { + Weight::from_parts(4_412_000, 0) + } + pub fn query_response() -> Weight { + Weight::from_parts(11_830_000, 3568) + .saturating_add(T::DbWeight::get().reads(1)) + } + pub fn transact() -> Weight { + Weight::from_parts(14_320_000, 0) + } + pub fn refund_surplus() -> Weight { + Weight::from_parts(4_709_000, 0) + } + pub fn set_error_handler() -> Weight { + Weight::from_parts(3_151_000, 0) + } + pub fn set_appendix() -> Weight { + Weight::from_parts(3_076_000, 0) + } + pub fn clear_error() -> Weight { + Weight::from_parts(3_119_000, 0) + } + pub fn descend_origin() -> Weight { + Weight::from_parts(3_853_000, 0) + } + pub fn clear_origin() -> Weight { + Weight::from_parts(3_050_000, 0) + } + pub fn report_error() -> Weight { + Weight::from_parts(28_351_000, 3574) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(2)) + } + pub fn claim_asset() -> Weight { + Weight::from_parts(16_846_000, 3625) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + pub fn trap() -> Weight { + Weight::from_parts(3_108_000, 0) + } + pub fn subscribe_version() -> Weight { + Weight::from_parts(30_776_000, 3574) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(3)) + } + pub fn unsubscribe_version() -> Weight { + Weight::from_parts(5_157_000, 0) + .saturating_add(T::DbWeight::get().writes(1)) + } + pub fn burn_asset() -> Weight { + Weight::from_parts(144_925_000, 0) + } + pub fn expect_asset() -> Weight { + Weight::from_parts(13_420_000, 0) + } + pub fn expect_origin() -> Weight { + Weight::from_parts(3_161_000, 0) + } + pub fn expect_error() -> Weight { + Weight::from_parts(3_077_000, 0) + } + pub fn expect_transact_status() -> Weight { + Weight::from_parts(3_299_000, 0) + } + pub fn query_pallet() -> Weight { + Weight::from_parts(32_462_000, 3574) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(2)) + } + pub fn expect_pallet() -> Weight { + Weight::from_parts(5_756_000, 0) + } + pub fn report_transact_status() -> Weight { + Weight::from_parts(28_240_000, 3574) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(2)) + } + pub fn clear_transact_status() -> Weight { + Weight::from_parts(3_097_000, 0) + } + pub fn set_topic() -> Weight { + Weight::from_parts(2_957_000, 0) + } + pub fn clear_topic() -> Weight { + Weight::from_parts(3_015_000, 0) + } + pub fn set_fees_mode() -> Weight { + Weight::from_parts(3_060_000, 0) + } + pub fn unpaid_execution() -> Weight { + Weight::from_parts(3_158_000, 0) + } + } + } + use crate::{xcm_config::MaxAssetsIntoHolding, Runtime}; + use frame_support::weights::Weight; + use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight; + use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric; + use sp_std::prelude::*; + use xcm::{latest::prelude::*, DoubleEncoded}; + trait WeighMultiAssets { + fn weigh_multi_assets(&self, weight: Weight) -> Weight; + } + const MAX_ASSETS: u64 = 100; + impl WeighMultiAssets for MultiAssetFilter { + fn weigh_multi_assets(&self, weight: Weight) -> Weight { + match self { + Self::Definite(assets) => { + weight.saturating_mul(assets.inner().iter().count() as u64) + } + Self::Wild(asset) => { + match asset { + All => weight.saturating_mul(MAX_ASSETS), + AllOf { fun, .. } => { + match fun { + WildFungibility::Fungible => weight, + WildFungibility::NonFungible => { + weight + .saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64) + } + } + } + AllCounted(count) => { + weight.saturating_mul(MAX_ASSETS.min(*count as u64)) + } + AllOfCounted { count, .. } => { + weight.saturating_mul(MAX_ASSETS.min(*count as u64)) + } + } + } + } + } + } + impl WeighMultiAssets for MultiAssets { + fn weigh_multi_assets(&self, weight: Weight) -> Weight { + weight.saturating_mul(self.inner().iter().count() as u64) + } + } + pub struct AssetHubKusamaXcmWeight(core::marker::PhantomData); + impl XcmWeightInfo for AssetHubKusamaXcmWeight { + fn withdraw_asset(assets: &MultiAssets) -> Weight { + assets.weigh_multi_assets(XcmFungibleWeight::::withdraw_asset()) + } + fn reserve_asset_deposited(assets: &MultiAssets) -> Weight { + assets + .weigh_multi_assets( + XcmFungibleWeight::::reserve_asset_deposited(), + ) + } + fn receive_teleported_asset(assets: &MultiAssets) -> Weight { + assets + .weigh_multi_assets( + XcmFungibleWeight::::receive_teleported_asset(), + ) + } + fn query_response( + _query_id: &u64, + _response: &Response, + _max_weight: &Weight, + _querier: &Option, + ) -> Weight { + XcmGeneric::::query_response() + } + fn transfer_asset(assets: &MultiAssets, _dest: &MultiLocation) -> Weight { + assets.weigh_multi_assets(XcmFungibleWeight::::transfer_asset()) + } + fn transfer_reserve_asset( + assets: &MultiAssets, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> Weight { + assets + .weigh_multi_assets( + XcmFungibleWeight::::transfer_reserve_asset(), + ) + } + fn transact( + _origin_type: &OriginKind, + _require_weight_at_most: &Weight, + _call: &DoubleEncoded, + ) -> Weight { + XcmGeneric::::transact() + } + fn hrmp_new_channel_open_request( + _sender: &u32, + _max_message_size: &u32, + _max_capacity: &u32, + ) -> Weight { + Weight::MAX + } + fn hrmp_channel_accepted(_recipient: &u32) -> Weight { + Weight::MAX + } + fn hrmp_channel_closing( + _initiator: &u32, + _sender: &u32, + _recipient: &u32, + ) -> Weight { + Weight::MAX + } + fn clear_origin() -> Weight { + XcmGeneric::::clear_origin() + } + fn descend_origin(_who: &InteriorMultiLocation) -> Weight { + XcmGeneric::::descend_origin() + } + fn report_error(_query_response_info: &QueryResponseInfo) -> Weight { + XcmGeneric::::report_error() + } + fn deposit_asset( + assets: &MultiAssetFilter, + _dest: &MultiLocation, + ) -> Weight { + assets.weigh_multi_assets(XcmFungibleWeight::::deposit_asset()) + } + fn deposit_reserve_asset( + assets: &MultiAssetFilter, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> Weight { + assets + .weigh_multi_assets( + XcmFungibleWeight::::deposit_reserve_asset(), + ) + } + fn exchange_asset( + _give: &MultiAssetFilter, + _receive: &MultiAssets, + _maximal: &bool, + ) -> Weight { + Weight::MAX + } + fn initiate_reserve_withdraw( + assets: &MultiAssetFilter, + _reserve: &MultiLocation, + _xcm: &Xcm<()>, + ) -> Weight { + assets + .weigh_multi_assets( + XcmFungibleWeight::::initiate_reserve_withdraw(), + ) + } + fn initiate_teleport( + assets: &MultiAssetFilter, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> Weight { + assets + .weigh_multi_assets( + XcmFungibleWeight::::initiate_teleport(), + ) + } + fn report_holding( + _response_info: &QueryResponseInfo, + _assets: &MultiAssetFilter, + ) -> Weight { + XcmGeneric::::report_holding() + } + fn buy_execution(_fees: &MultiAsset, _weight_limit: &WeightLimit) -> Weight { + XcmGeneric::::buy_execution() + } + fn refund_surplus() -> Weight { + XcmGeneric::::refund_surplus() + } + fn set_error_handler(_xcm: &Xcm) -> Weight { + XcmGeneric::::set_error_handler() + } + fn set_appendix(_xcm: &Xcm) -> Weight { + XcmGeneric::::set_appendix() + } + fn clear_error() -> Weight { + XcmGeneric::::clear_error() + } + fn claim_asset(_assets: &MultiAssets, _ticket: &MultiLocation) -> Weight { + XcmGeneric::::claim_asset() + } + fn trap(_code: &u64) -> Weight { + XcmGeneric::::trap() + } + fn subscribe_version( + _query_id: &QueryId, + _max_response_weight: &Weight, + ) -> Weight { + XcmGeneric::::subscribe_version() + } + fn unsubscribe_version() -> Weight { + XcmGeneric::::unsubscribe_version() + } + fn burn_asset(assets: &MultiAssets) -> Weight { + assets.weigh_multi_assets(XcmGeneric::::burn_asset()) + } + fn expect_asset(assets: &MultiAssets) -> Weight { + assets.weigh_multi_assets(XcmGeneric::::expect_asset()) + } + fn expect_origin(_origin: &Option) -> Weight { + XcmGeneric::::expect_origin() + } + fn expect_error(_error: &Option<(u32, XcmError)>) -> Weight { + XcmGeneric::::expect_error() + } + fn expect_transact_status(_transact_status: &MaybeErrorCode) -> Weight { + XcmGeneric::::expect_transact_status() + } + fn query_pallet( + _module_name: &Vec, + _response_info: &QueryResponseInfo, + ) -> Weight { + XcmGeneric::::query_pallet() + } + fn expect_pallet( + _index: &u32, + _name: &Vec, + _module_name: &Vec, + _crate_major: &u32, + _min_crate_minor: &u32, + ) -> Weight { + XcmGeneric::::expect_pallet() + } + fn report_transact_status(_response_info: &QueryResponseInfo) -> Weight { + XcmGeneric::::report_transact_status() + } + fn clear_transact_status() -> Weight { + XcmGeneric::::clear_transact_status() + } + fn universal_origin(_: &Junction) -> Weight { + Weight::MAX + } + fn export_message(_: &NetworkId, _: &Junctions, _: &Xcm<()>) -> Weight { + Weight::MAX + } + fn lock_asset(_: &MultiAsset, _: &MultiLocation) -> Weight { + Weight::MAX + } + fn unlock_asset(_: &MultiAsset, _: &MultiLocation) -> Weight { + Weight::MAX + } + fn note_unlockable(_: &MultiAsset, _: &MultiLocation) -> Weight { + Weight::MAX + } + fn request_unlock(_: &MultiAsset, _: &MultiLocation) -> Weight { + Weight::MAX + } + fn set_fees_mode(_: &bool) -> Weight { + XcmGeneric::::set_fees_mode() + } + fn set_topic(_topic: &[u8; 32]) -> Weight { + XcmGeneric::::set_topic() + } + fn clear_topic() -> Weight { + XcmGeneric::::clear_topic() + } + fn alias_origin(_: &MultiLocation) -> Weight { + Weight::MAX + } + fn unpaid_execution(_: &WeightLimit, _: &Option) -> Weight { + XcmGeneric::::unpaid_execution() + } + } + } + pub use block_weights::constants::BlockExecutionWeight; + pub use extrinsic_weights::constants::ExtrinsicBaseWeight; + pub use paritydb_weights::constants::ParityDbWeight; + pub use rocksdb_weights::constants::RocksDbWeight; +} +pub mod xcm_config { + use super::{ + AccountId, AllPalletsWithSystem, Assets, Authorship, Balance, Balances, + ParachainInfo, ParachainSystem, PolkadotXcm, PoolAssets, Runtime, RuntimeCall, + RuntimeEvent, RuntimeOrigin, TrustBackedAssetsInstance, WeightToFee, XcmpQueue, + }; + use crate::ForeignAssets; + use assets_common::{ + local_and_foreign_assets::MatchesLocalAndForeignAssetsMultiLocation, + matching::{FromSiblingParachain, IsForeignConcreteAsset}, + }; + use frame_support::{ + match_types, parameter_types, + traits::{ConstU32, Contains, Everything, Nothing, PalletInfoAccess}, + }; + use frame_system::EnsureRoot; + use pallet_xcm::XcmPassthrough; + use parachains_common::{ + impls::ToStakingPot, + xcm_config::{AssetFeeAsExistentialDepositMultiplier, ConcreteAssetFromSystem}, + }; + use polkadot_parachain_primitives::primitives::Sibling; + use sp_runtime::traits::ConvertInto; + use xcm::latest::prelude::*; + use xcm_builder::{ + AccountId32Aliases, AllowExplicitUnpaidExecutionFrom, AllowKnownQueryResponses, + AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, CurrencyAdapter, + DenyReserveTransferToRelayChain, DenyThenTry, DescribeAllTerminal, + DescribeFamily, EnsureXcmOrigin, FungiblesAdapter, HashedDescription, IsConcrete, + LocalMint, NoChecking, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, + SignedToAccountId32, SovereignSignedViaLocation, StartsWith, + StartsWithExplicitGlobalConsensus, TakeWeightCredit, TrailingSetTopicAsId, + UsingComponents, WeightInfoBounds, WithComputedOrigin, WithUniqueTopic, + }; + use xcm_executor::{traits::WithOriginFilter, XcmExecutor}; + pub struct KsmLocation; + impl KsmLocation { + /// Returns the value of this parameter type. + pub const fn get() -> MultiLocation { + MultiLocation::parent() + } + } + impl<_I: From> ::frame_support::traits::Get<_I> for KsmLocation { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for KsmLocation { + type Type = MultiLocation; + fn get() -> MultiLocation { + Self::get() + } + } + pub struct RelayNetwork; + impl RelayNetwork { + /// Returns the value of this parameter type. + pub const fn get() -> Option { + Some(NetworkId::Kusama) + } + } + impl<_I: From>> ::frame_support::traits::Get<_I> for RelayNetwork { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for RelayNetwork { + type Type = Option; + fn get() -> Option { + Self::get() + } + } + pub struct RelayChainOrigin; + impl RelayChainOrigin { + /// Returns the value of this parameter type. + pub fn get() -> RuntimeOrigin { + cumulus_pallet_xcm::Origin::Relay.into() + } + } + impl<_I: From> ::frame_support::traits::Get<_I> for RelayChainOrigin { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for RelayChainOrigin { + type Type = RuntimeOrigin; + fn get() -> RuntimeOrigin { + Self::get() + } + } + pub struct UniversalLocation; + impl UniversalLocation { + /// Returns the value of this parameter type. + pub fn get() -> InteriorMultiLocation { + X2( + GlobalConsensus(RelayNetwork::get().unwrap()), + Parachain(ParachainInfo::parachain_id().into()), + ) + } + } + impl<_I: From> ::frame_support::traits::Get<_I> + for UniversalLocation { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for UniversalLocation { + type Type = InteriorMultiLocation; + fn get() -> InteriorMultiLocation { + Self::get() + } + } + pub struct UniversalLocationNetworkId; + impl UniversalLocationNetworkId { + /// Returns the value of this parameter type. + pub fn get() -> NetworkId { + UniversalLocation::get().global_consensus().unwrap() + } + } + impl<_I: From> ::frame_support::traits::Get<_I> + for UniversalLocationNetworkId { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for UniversalLocationNetworkId { + type Type = NetworkId; + fn get() -> NetworkId { + Self::get() + } + } + pub struct TrustBackedAssetsPalletLocation; + impl TrustBackedAssetsPalletLocation { + /// Returns the value of this parameter type. + pub fn get() -> MultiLocation { + PalletInstance(::index() as u8).into() + } + } + impl<_I: From> ::frame_support::traits::Get<_I> + for TrustBackedAssetsPalletLocation { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for TrustBackedAssetsPalletLocation { + type Type = MultiLocation; + fn get() -> MultiLocation { + Self::get() + } + } + pub struct ForeignAssetsPalletLocation; + impl ForeignAssetsPalletLocation { + /// Returns the value of this parameter type. + pub fn get() -> MultiLocation { + PalletInstance(::index() as u8).into() + } + } + impl<_I: From> ::frame_support::traits::Get<_I> + for ForeignAssetsPalletLocation { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for ForeignAssetsPalletLocation { + type Type = MultiLocation; + fn get() -> MultiLocation { + Self::get() + } + } + pub struct PoolAssetsPalletLocation; + impl PoolAssetsPalletLocation { + /// Returns the value of this parameter type. + pub fn get() -> MultiLocation { + PalletInstance(::index() as u8).into() + } + } + impl<_I: From> ::frame_support::traits::Get<_I> + for PoolAssetsPalletLocation { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for PoolAssetsPalletLocation { + type Type = MultiLocation; + fn get() -> MultiLocation { + Self::get() + } + } + pub struct CheckingAccount; + impl CheckingAccount { + /// Returns the value of this parameter type. + pub fn get() -> AccountId { + PolkadotXcm::check_account() + } + } + impl<_I: From> ::frame_support::traits::Get<_I> for CheckingAccount { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for CheckingAccount { + type Type = AccountId; + fn get() -> AccountId { + Self::get() + } + } + pub struct GovernanceLocation; + impl GovernanceLocation { + /// Returns the value of this parameter type. + pub const fn get() -> MultiLocation { + MultiLocation::parent() + } + } + impl<_I: From> ::frame_support::traits::Get<_I> + for GovernanceLocation { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for GovernanceLocation { + type Type = MultiLocation; + fn get() -> MultiLocation { + Self::get() + } + } + pub struct FellowshipLocation; + impl FellowshipLocation { + /// Returns the value of this parameter type. + pub const fn get() -> MultiLocation { + MultiLocation::parent() + } + } + impl<_I: From> ::frame_support::traits::Get<_I> + for FellowshipLocation { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for FellowshipLocation { + type Type = MultiLocation; + fn get() -> MultiLocation { + Self::get() + } + } + /// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used + /// when determining ownership of accounts for asset transacting and when attempting to use XCM + /// `Transact` in order to determine the dispatch Origin. + pub type LocationToAccountId = ( + ParentIsPreset, + SiblingParachainConvertsVia, + AccountId32Aliases, + HashedDescription>, + ); + /// Means for transacting the native currency on this chain. + pub type CurrencyTransactor = CurrencyAdapter< + Balances, + IsConcrete, + LocationToAccountId, + AccountId, + (), + >; + /// `AssetId`/`Balance` converter for `PoolAssets`. + pub type TrustBackedAssetsConvertedConcreteId = assets_common::TrustBackedAssetsConvertedConcreteId< + TrustBackedAssetsPalletLocation, + Balance, + >; + /// Means for transacting assets besides the native currency on this chain. + pub type FungiblesTransactor = FungiblesAdapter< + Assets, + TrustBackedAssetsConvertedConcreteId, + LocationToAccountId, + AccountId, + LocalMint>, + CheckingAccount, + >; + /// `AssetId/Balance` converter for `TrustBackedAssets` + pub type ForeignAssetsConvertedConcreteId = assets_common::ForeignAssetsConvertedConcreteId< + ( + StartsWith, + StartsWithExplicitGlobalConsensus, + ), + Balance, + >; + /// Means for transacting foreign assets from different global consensus. + pub type ForeignFungiblesTransactor = FungiblesAdapter< + ForeignAssets, + ForeignAssetsConvertedConcreteId, + LocationToAccountId, + AccountId, + NoChecking, + CheckingAccount, + >; + /// `AssetId`/`Balance` converter for `PoolAssets`. + pub type PoolAssetsConvertedConcreteId = assets_common::PoolAssetsConvertedConcreteId< + PoolAssetsPalletLocation, + Balance, + >; + /// Means for transacting asset conversion pool assets on this chain. + pub type PoolFungiblesTransactor = FungiblesAdapter< + PoolAssets, + PoolAssetsConvertedConcreteId, + LocationToAccountId, + AccountId, + LocalMint>, + CheckingAccount, + >; + /// Means for transacting assets on this chain. + pub type AssetTransactors = ( + CurrencyTransactor, + FungiblesTransactor, + ForeignFungiblesTransactor, + PoolFungiblesTransactor, + ); + /// Simple `MultiLocation` matcher for Local and Foreign asset `MultiLocation`. + pub struct LocalAndForeignAssetsMultiLocationMatcher; + impl MatchesLocalAndForeignAssetsMultiLocation + for LocalAndForeignAssetsMultiLocationMatcher { + fn is_local(location: &MultiLocation) -> bool { + use assets_common::fungible_conversion::MatchesMultiLocation; + TrustBackedAssetsConvertedConcreteId::contains(location) + } + fn is_foreign(location: &MultiLocation) -> bool { + use assets_common::fungible_conversion::MatchesMultiLocation; + ForeignAssetsConvertedConcreteId::contains(location) + } + } + impl Contains for LocalAndForeignAssetsMultiLocationMatcher { + fn contains(location: &MultiLocation) -> bool { + Self::is_local(location) || Self::is_foreign(location) + } + } + /// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance, + /// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can + /// biases the kind of local `Origin` it will become. + pub type XcmOriginToTransactDispatchOrigin = ( + SovereignSignedViaLocation, + RelayChainAsNative, + SiblingParachainAsNative, + ParentAsSuperuser, + SignedAccountId32AsNative, + XcmPassthrough, + ); + pub struct MaxInstructions; + impl MaxInstructions { + /// Returns the value of this parameter type. + pub const fn get() -> u32 { + 100 + } + } + impl<_I: From> ::frame_support::traits::Get<_I> for MaxInstructions { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for MaxInstructions { + type Type = u32; + fn get() -> u32 { + Self::get() + } + } + pub struct MaxAssetsIntoHolding; + impl MaxAssetsIntoHolding { + /// Returns the value of this parameter type. + pub const fn get() -> u32 { + 64 + } + } + impl<_I: From> ::frame_support::traits::Get<_I> for MaxAssetsIntoHolding { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for MaxAssetsIntoHolding { + type Type = u32; + fn get() -> u32 { + Self::get() + } + } + pub struct XcmAssetFeesReceiver; + impl XcmAssetFeesReceiver { + /// Returns the value of this parameter type. + pub fn get() -> Option { + Authorship::author() + } + } + impl<_I: From>> ::frame_support::traits::Get<_I> + for XcmAssetFeesReceiver { + fn get() -> _I { + _I::from(Self::get()) + } + } + impl ::frame_support::traits::TypedGet for XcmAssetFeesReceiver { + type Type = Option; + fn get() -> Option { + Self::get() + } + } + pub struct ParentOrParentsPlurality; + impl ::frame_support::traits::Contains for ParentOrParentsPlurality { + fn contains(l: &MultiLocation) -> bool { + match l { + MultiLocation { parents: 1, interior: Here } + | MultiLocation { parents: 1, interior: X1(Plurality { .. }) } => true, + _ => false, + } + } + } + pub struct ParentOrSiblings; + impl ::frame_support::traits::Contains for ParentOrSiblings { + fn contains(l: &MultiLocation) -> bool { + match l { + MultiLocation { parents: 1, interior: Here } + | MultiLocation { parents: 1, interior: X1(_) } => true, + _ => false, + } + } + } + /// A call filter for the XCM Transact instruction. This is a temporary measure until we properly + /// account for proof size weights. + /// + /// Calls that are allowed through this filter must: + /// 1. Have a fixed weight; + /// 2. Cannot lead to another call being made; + /// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters. + pub struct SafeCallFilter; + impl Contains for SafeCallFilter { + fn contains(call: &RuntimeCall) -> bool { + match call { + RuntimeCall::PolkadotXcm(pallet_xcm::Call::force_xcm_version { .. }) + | RuntimeCall::System( + frame_system::Call::set_heap_pages { .. } + | frame_system::Call::set_code { .. } + | frame_system::Call::set_code_without_checks { .. } + | frame_system::Call::kill_prefix { .. }, + ) + | RuntimeCall::ParachainSystem(..) + | RuntimeCall::Timestamp(..) + | RuntimeCall::Balances(..) + | RuntimeCall::CollatorSelection( + pallet_collator_selection::Call::set_desired_candidates { .. } + | pallet_collator_selection::Call::set_candidacy_bond { .. } + | pallet_collator_selection::Call::register_as_candidate { .. } + | pallet_collator_selection::Call::leave_intent { .. } + | pallet_collator_selection::Call::set_invulnerables { .. } + | pallet_collator_selection::Call::add_invulnerable { .. } + | pallet_collator_selection::Call::remove_invulnerable { .. }, + ) + | RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) + | RuntimeCall::XcmpQueue(..) + | RuntimeCall::DmpQueue(..) + | RuntimeCall::Assets( + pallet_assets::Call::create { .. } + | pallet_assets::Call::force_create { .. } + | pallet_assets::Call::start_destroy { .. } + | pallet_assets::Call::destroy_accounts { .. } + | pallet_assets::Call::destroy_approvals { .. } + | pallet_assets::Call::finish_destroy { .. } + | pallet_assets::Call::block { .. } + | pallet_assets::Call::mint { .. } + | pallet_assets::Call::burn { .. } + | pallet_assets::Call::transfer { .. } + | pallet_assets::Call::transfer_keep_alive { .. } + | pallet_assets::Call::force_transfer { .. } + | pallet_assets::Call::freeze { .. } + | pallet_assets::Call::thaw { .. } + | pallet_assets::Call::freeze_asset { .. } + | pallet_assets::Call::thaw_asset { .. } + | pallet_assets::Call::transfer_ownership { .. } + | pallet_assets::Call::set_team { .. } + | pallet_assets::Call::set_metadata { .. } + | pallet_assets::Call::clear_metadata { .. } + | pallet_assets::Call::force_set_metadata { .. } + | pallet_assets::Call::force_clear_metadata { .. } + | pallet_assets::Call::force_asset_status { .. } + | pallet_assets::Call::approve_transfer { .. } + | pallet_assets::Call::cancel_approval { .. } + | pallet_assets::Call::force_cancel_approval { .. } + | pallet_assets::Call::transfer_approved { .. } + | pallet_assets::Call::touch { .. } + | pallet_assets::Call::touch_other { .. } + | pallet_assets::Call::refund { .. } + | pallet_assets::Call::refund_other { .. }, + ) + | RuntimeCall::ForeignAssets( + pallet_assets::Call::create { .. } + | pallet_assets::Call::force_create { .. } + | pallet_assets::Call::start_destroy { .. } + | pallet_assets::Call::destroy_accounts { .. } + | pallet_assets::Call::destroy_approvals { .. } + | pallet_assets::Call::finish_destroy { .. } + | pallet_assets::Call::block { .. } + | pallet_assets::Call::mint { .. } + | pallet_assets::Call::burn { .. } + | pallet_assets::Call::transfer { .. } + | pallet_assets::Call::transfer_keep_alive { .. } + | pallet_assets::Call::force_transfer { .. } + | pallet_assets::Call::freeze { .. } + | pallet_assets::Call::thaw { .. } + | pallet_assets::Call::freeze_asset { .. } + | pallet_assets::Call::thaw_asset { .. } + | pallet_assets::Call::transfer_ownership { .. } + | pallet_assets::Call::set_team { .. } + | pallet_assets::Call::set_metadata { .. } + | pallet_assets::Call::clear_metadata { .. } + | pallet_assets::Call::force_set_metadata { .. } + | pallet_assets::Call::force_clear_metadata { .. } + | pallet_assets::Call::force_asset_status { .. } + | pallet_assets::Call::approve_transfer { .. } + | pallet_assets::Call::cancel_approval { .. } + | pallet_assets::Call::force_cancel_approval { .. } + | pallet_assets::Call::transfer_approved { .. } + | pallet_assets::Call::touch { .. } + | pallet_assets::Call::touch_other { .. } + | pallet_assets::Call::refund { .. } + | pallet_assets::Call::refund_other { .. }, + ) + | RuntimeCall::PoolAssets( + pallet_assets::Call::force_create { .. } + | pallet_assets::Call::block { .. } + | pallet_assets::Call::burn { .. } + | pallet_assets::Call::transfer { .. } + | pallet_assets::Call::transfer_keep_alive { .. } + | pallet_assets::Call::force_transfer { .. } + | pallet_assets::Call::freeze { .. } + | pallet_assets::Call::thaw { .. } + | pallet_assets::Call::freeze_asset { .. } + | pallet_assets::Call::thaw_asset { .. } + | pallet_assets::Call::transfer_ownership { .. } + | pallet_assets::Call::set_team { .. } + | pallet_assets::Call::set_metadata { .. } + | pallet_assets::Call::clear_metadata { .. } + | pallet_assets::Call::force_set_metadata { .. } + | pallet_assets::Call::force_clear_metadata { .. } + | pallet_assets::Call::force_asset_status { .. } + | pallet_assets::Call::approve_transfer { .. } + | pallet_assets::Call::cancel_approval { .. } + | pallet_assets::Call::force_cancel_approval { .. } + | pallet_assets::Call::transfer_approved { .. } + | pallet_assets::Call::touch { .. } + | pallet_assets::Call::touch_other { .. } + | pallet_assets::Call::refund { .. } + | pallet_assets::Call::refund_other { .. }, + ) + | RuntimeCall::AssetConversion( + pallet_asset_conversion::Call::create_pool { .. } + | pallet_asset_conversion::Call::add_liquidity { .. } + | pallet_asset_conversion::Call::remove_liquidity { .. } + | pallet_asset_conversion::Call::swap_tokens_for_exact_tokens { .. } + | pallet_asset_conversion::Call::swap_exact_tokens_for_tokens { .. }, + ) + | RuntimeCall::NftFractionalization( + pallet_nft_fractionalization::Call::fractionalize { .. } + | pallet_nft_fractionalization::Call::unify { .. }, + ) + | RuntimeCall::Nfts( + pallet_nfts::Call::create { .. } + | pallet_nfts::Call::force_create { .. } + | pallet_nfts::Call::destroy { .. } + | pallet_nfts::Call::mint { .. } + | pallet_nfts::Call::force_mint { .. } + | pallet_nfts::Call::burn { .. } + | pallet_nfts::Call::transfer { .. } + | pallet_nfts::Call::lock_item_transfer { .. } + | pallet_nfts::Call::unlock_item_transfer { .. } + | pallet_nfts::Call::lock_collection { .. } + | pallet_nfts::Call::transfer_ownership { .. } + | pallet_nfts::Call::set_team { .. } + | pallet_nfts::Call::force_collection_owner { .. } + | pallet_nfts::Call::force_collection_config { .. } + | pallet_nfts::Call::approve_transfer { .. } + | pallet_nfts::Call::cancel_approval { .. } + | pallet_nfts::Call::clear_all_transfer_approvals { .. } + | pallet_nfts::Call::lock_item_properties { .. } + | pallet_nfts::Call::set_attribute { .. } + | pallet_nfts::Call::force_set_attribute { .. } + | pallet_nfts::Call::clear_attribute { .. } + | pallet_nfts::Call::approve_item_attributes { .. } + | pallet_nfts::Call::cancel_item_attributes_approval { .. } + | pallet_nfts::Call::set_metadata { .. } + | pallet_nfts::Call::clear_metadata { .. } + | pallet_nfts::Call::set_collection_metadata { .. } + | pallet_nfts::Call::clear_collection_metadata { .. } + | pallet_nfts::Call::set_accept_ownership { .. } + | pallet_nfts::Call::set_collection_max_supply { .. } + | pallet_nfts::Call::update_mint_settings { .. } + | pallet_nfts::Call::set_price { .. } + | pallet_nfts::Call::buy_item { .. } + | pallet_nfts::Call::pay_tips { .. } + | pallet_nfts::Call::create_swap { .. } + | pallet_nfts::Call::cancel_swap { .. } + | pallet_nfts::Call::claim_swap { .. }, + ) + | RuntimeCall::Uniques( + pallet_uniques::Call::create { .. } + | pallet_uniques::Call::force_create { .. } + | pallet_uniques::Call::destroy { .. } + | pallet_uniques::Call::mint { .. } + | pallet_uniques::Call::burn { .. } + | pallet_uniques::Call::transfer { .. } + | pallet_uniques::Call::freeze { .. } + | pallet_uniques::Call::thaw { .. } + | pallet_uniques::Call::freeze_collection { .. } + | pallet_uniques::Call::thaw_collection { .. } + | pallet_uniques::Call::transfer_ownership { .. } + | pallet_uniques::Call::set_team { .. } + | pallet_uniques::Call::approve_transfer { .. } + | pallet_uniques::Call::cancel_approval { .. } + | pallet_uniques::Call::force_item_status { .. } + | pallet_uniques::Call::set_attribute { .. } + | pallet_uniques::Call::clear_attribute { .. } + | pallet_uniques::Call::set_metadata { .. } + | pallet_uniques::Call::clear_metadata { .. } + | pallet_uniques::Call::set_collection_metadata { .. } + | pallet_uniques::Call::clear_collection_metadata { .. } + | pallet_uniques::Call::set_accept_ownership { .. } + | pallet_uniques::Call::set_collection_max_supply { .. } + | pallet_uniques::Call::set_price { .. } + | pallet_uniques::Call::buy_item { .. }, + ) => true, + _ => false, + } + } + } + pub type Barrier = TrailingSetTopicAsId< + DenyThenTry< + DenyReserveTransferToRelayChain, + ( + TakeWeightCredit, + AllowKnownQueryResponses, + WithComputedOrigin< + ( + AllowTopLevelPaidExecutionFrom, + AllowExplicitUnpaidExecutionFrom, + AllowSubscriptionsFrom, + ), + UniversalLocation, + ConstU32<8>, + >, + ), + >, + >; + pub type AssetFeeAsExistentialDepositMultiplierFeeCharger = AssetFeeAsExistentialDepositMultiplier< + Runtime, + WeightToFee, + pallet_assets::BalanceToAssetBalance< + Balances, + Runtime, + ConvertInto, + TrustBackedAssetsInstance, + >, + TrustBackedAssetsInstance, + >; + /// Cases where a remote origin is accepted as trusted Teleporter for a given asset: + /// + /// - KSM with the parent Relay Chain and sibling system parachains; and + /// - Sibling parachains' assets from where they originate (as `ForeignCreators`). + pub type TrustedTeleporters = ( + ConcreteAssetFromSystem, + IsForeignConcreteAsset>>, + ); + pub struct XcmConfig; + impl xcm_executor::Config for XcmConfig { + type RuntimeCall = RuntimeCall; + type XcmSender = XcmRouter; + type AssetTransactor = AssetTransactors; + type OriginConverter = XcmOriginToTransactDispatchOrigin; + type IsReserve = (); + type IsTeleporter = TrustedTeleporters; + type UniversalLocation = UniversalLocation; + type Barrier = Barrier; + type Weigher = WeightInfoBounds< + crate::weights::xcm::AssetHubKusamaXcmWeight, + RuntimeCall, + MaxInstructions, + >; + type Trader = ( + UsingComponents< + WeightToFee, + KsmLocation, + AccountId, + Balances, + ToStakingPot, + >, + cumulus_primitives_utility::TakeFirstAssetTrader< + AccountId, + AssetFeeAsExistentialDepositMultiplierFeeCharger, + TrustBackedAssetsConvertedConcreteId, + Assets, + cumulus_primitives_utility::XcmFeesTo32ByteAccount< + FungiblesTransactor, + AccountId, + XcmAssetFeesReceiver, + >, + >, + ); + type ResponseHandler = PolkadotXcm; + type AssetTrap = PolkadotXcm; + type AssetClaims = PolkadotXcm; + type SubscriptionService = PolkadotXcm; + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = MaxAssetsIntoHolding; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type CallDispatcher = WithOriginFilter; + type SafeCallFilter = SafeCallFilter; + type Aliasers = Nothing; + } + /// Converts a local signed origin into an XCM multilocation. + /// Forms the basis for local origins sending/executing XCMs. + pub type LocalOriginToLocation = SignedToAccountId32< + RuntimeOrigin, + AccountId, + RelayNetwork, + >; + /// The means for routing XCM messages which are not for local execution into the right message + /// queues. + pub type XcmRouter = WithUniqueTopic< + ( + cumulus_primitives_utility::ParentAsUmp, + XcmpQueue, + ), + >; + impl pallet_xcm::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type SendXcmOrigin = EnsureXcmOrigin; + type XcmRouter = XcmRouter; + type ExecuteXcmOrigin = EnsureXcmOrigin; + type XcmExecuteFilter = Nothing; + type XcmExecutor = XcmExecutor; + type XcmTeleportFilter = Everything; + type XcmReserveTransferFilter = Everything; + type Weigher = WeightInfoBounds< + crate::weights::xcm::AssetHubKusamaXcmWeight, + RuntimeCall, + MaxInstructions, + >; + type UniversalLocation = UniversalLocation; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; + const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; + type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; + type WeightInfo = crate::weights::pallet_xcm::WeightInfo; + type AdminOrigin = EnsureRoot; + type MaxRemoteLockConsumers = ConstU32<0>; + type RemoteLockConsumerIdentifier = (); + } + impl cumulus_pallet_xcm::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type XcmExecutor = XcmExecutor; + } + pub type ForeignCreatorsSovereignAccountOf = ( + SiblingParachainConvertsVia, + AccountId32Aliases, + ParentIsPreset, + ); + /// Simple conversion of `u32` into an `AssetId` for use in benchmarking. + pub struct XcmBenchmarkHelper; +} +use assets_common::{ + foreign_creators::ForeignCreators, + local_and_foreign_assets::{LocalAndForeignAssets, MultiLocationConverter}, + matching::FromSiblingParachain, AssetIdForTrustBackedAssetsConvert, + MultiLocationForAssetId, +}; +use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases; +use sp_api::impl_runtime_apis; +use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; +use sp_runtime::{ + create_runtime_str, generic, impl_opaque_keys, + traits::{AccountIdConversion, AccountIdLookup, BlakeTwo256, Block as BlockT, Verify}, + transaction_validity::{TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, Permill, +}; +use sp_std::prelude::*; +#[cfg(feature = "std")] +use sp_version::NativeVersion; +use sp_version::RuntimeVersion; +use codec::{Decode, Encode, MaxEncodedLen}; +use frame_support::{ + construct_runtime, dispatch::DispatchClass, + genesis_builder_helper::{build_config, create_default_config}, + ord_parameter_types, parameter_types, + traits::{ + AsEnsureOriginWithArg, ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, + EitherOfDiverse, InstanceFilter, + }, + weights::{ConstantMultiplier, Weight}, + BoundedVec, PalletId, +}; +use frame_system::{ + limits::{BlockLength, BlockWeights}, + EnsureRoot, EnsureSigned, EnsureSignedBy, +}; +use pallet_asset_conversion_tx_payment::AssetConversionAdapter; +use pallet_nfts::PalletFeatures; +pub use parachains_common as common; +use parachains_common::{ + impls::DealWithFees, kusama::{consensus::*, currency::*, fee::WeightToFee}, + AccountId, AssetIdForTrustBackedAssets, AuraId, Balance, BlockNumber, Hash, Header, + Nonce, Signature, AVERAGE_ON_INITIALIZE_RATIO, DAYS, HOURS, MAXIMUM_BLOCK_WEIGHT, + NORMAL_DISPATCH_RATIO, SLOT_DURATION, +}; +use sp_runtime::RuntimeDebug; +use xcm::opaque::v3::MultiLocation; +use xcm_config::{ + FellowshipLocation, ForeignAssetsConvertedConcreteId, GovernanceLocation, + KsmLocation, PoolAssetsConvertedConcreteId, TrustBackedAssetsConvertedConcreteId, + XcmConfig, +}; +#[cfg(any(feature = "std", test))] +pub use sp_runtime::BuildStorage; +use pallet_xcm::{EnsureXcm, IsVoiceOfBody}; +use polkadot_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate}; +use xcm::latest::BodyId; +use xcm_executor::XcmExecutor; +use crate::xcm_config::{ + ForeignCreatorsSovereignAccountOf, LocalAndForeignAssetsMultiLocationMatcher, + TrustBackedAssetsPalletLocation, +}; +use weights::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight}; +use ::sp_runtime::serde as __opaque_keys_serde_import__SessionKeys; +#[serde(crate = "__opaque_keys_serde_import__SessionKeys")] +pub struct SessionKeys { + pub aura: ::Public, +} +#[automatically_derived] +impl ::core::clone::Clone for SessionKeys { + #[inline] + fn clone(&self) -> SessionKeys { + SessionKeys { + aura: ::core::clone::Clone::clone(&self.aura), + } + } +} +#[automatically_derived] +impl ::core::marker::StructuralPartialEq for SessionKeys {} +#[automatically_derived] +impl ::core::cmp::PartialEq for SessionKeys { + #[inline] + fn eq(&self, other: &SessionKeys) -> bool { + self.aura == other.aura + } +} +#[automatically_derived] +impl ::core::marker::StructuralEq for SessionKeys {} +#[automatically_derived] +impl ::core::cmp::Eq for SessionKeys { + #[inline] + #[doc(hidden)] + #[coverage(off)] + fn assert_receiver_is_total_eq(&self) -> () { + let _: ::core::cmp::AssertParamIsEq< + ::Public, + >; + } +} +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Encode for SessionKeys { + fn size_hint(&self) -> usize { + ::codec::Encode::size_hint(&&self.aura) + } + fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy, + ) { + ::codec::Encode::encode_to(&&self.aura, __codec_dest_edqy) + } + fn encode(&self) -> ::codec::alloc::vec::Vec<::core::primitive::u8> { + ::codec::Encode::encode(&&self.aura) + } + fn using_encoded R>( + &self, + f: F, + ) -> R { + ::codec::Encode::using_encoded(&&self.aura, f) + } + } + #[automatically_derived] + impl ::codec::EncodeLike for SessionKeys {} +}; +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Decode for SessionKeys { + fn decode<__CodecInputEdqy: ::codec::Input>( + __codec_input_edqy: &mut __CodecInputEdqy, + ) -> ::core::result::Result { + ::core::result::Result::Ok(SessionKeys { + aura: { + let __codec_res_edqy = <::Public as ::codec::Decode>::decode( + __codec_input_edqy, + ); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `SessionKeys::aura`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy, + } + }, + }) + } + } +}; +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + impl ::scale_info::TypeInfo for SessionKeys { + type Identity = Self; + fn type_info() -> ::scale_info::Type { + ::scale_info::Type::builder() + .path(::scale_info::Path::new("SessionKeys", "asset_hub_kusama_runtime")) + .type_params(::alloc::vec::Vec::new()) + .composite( + ::scale_info::build::Fields::named() + .field(|f| { + f + .ty::< + ::Public, + >() + .name("aura") + .type_name( + "::Public", + ) + }), + ) + } + } +}; +impl core::fmt::Debug for SessionKeys { + fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { + fmt.debug_struct("SessionKeys").field("aura", &self.aura).finish() + } +} +#[doc(hidden)] +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + use __opaque_keys_serde_import__SessionKeys as _serde; + #[automatically_derived] + impl __opaque_keys_serde_import__SessionKeys::Serialize for SessionKeys { + fn serialize<__S>( + &self, + __serializer: __S, + ) -> __opaque_keys_serde_import__SessionKeys::__private::Result< + __S::Ok, + __S::Error, + > + where + __S: __opaque_keys_serde_import__SessionKeys::Serializer, + { + let mut __serde_state = _serde::Serializer::serialize_struct( + __serializer, + "SessionKeys", + false as usize + 1, + )?; + _serde::ser::SerializeStruct::serialize_field( + &mut __serde_state, + "aura", + &self.aura, + )?; + _serde::ser::SerializeStruct::end(__serde_state) + } + } +}; +#[doc(hidden)] +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + use __opaque_keys_serde_import__SessionKeys as _serde; + #[automatically_derived] + impl<'de> __opaque_keys_serde_import__SessionKeys::Deserialize<'de> for SessionKeys { + fn deserialize<__D>( + __deserializer: __D, + ) -> __opaque_keys_serde_import__SessionKeys::__private::Result + where + __D: __opaque_keys_serde_import__SessionKeys::Deserializer<'de>, + { + #[allow(non_camel_case_types)] + #[doc(hidden)] + enum __Field { + __field0, + __ignore, + } + #[doc(hidden)] + struct __FieldVisitor; + impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { + type Value = __Field; + fn expecting( + &self, + __formatter: &mut _serde::__private::Formatter, + ) -> _serde::__private::fmt::Result { + _serde::__private::Formatter::write_str( + __formatter, + "field identifier", + ) + } + fn visit_u64<__E>( + self, + __value: u64, + ) -> _serde::__private::Result + where + __E: _serde::de::Error, + { + match __value { + 0u64 => _serde::__private::Ok(__Field::__field0), + _ => _serde::__private::Ok(__Field::__ignore), + } + } + fn visit_str<__E>( + self, + __value: &str, + ) -> _serde::__private::Result + where + __E: _serde::de::Error, + { + match __value { + "aura" => _serde::__private::Ok(__Field::__field0), + _ => _serde::__private::Ok(__Field::__ignore), + } + } + fn visit_bytes<__E>( + self, + __value: &[u8], + ) -> _serde::__private::Result + where + __E: _serde::de::Error, + { + match __value { + b"aura" => _serde::__private::Ok(__Field::__field0), + _ => _serde::__private::Ok(__Field::__ignore), + } + } + } + impl<'de> _serde::Deserialize<'de> for __Field { + #[inline] + fn deserialize<__D>( + __deserializer: __D, + ) -> _serde::__private::Result + where + __D: _serde::Deserializer<'de>, + { + _serde::Deserializer::deserialize_identifier( + __deserializer, + __FieldVisitor, + ) + } + } + #[doc(hidden)] + struct __Visitor<'de> { + marker: _serde::__private::PhantomData, + lifetime: _serde::__private::PhantomData<&'de ()>, + } + impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { + type Value = SessionKeys; + fn expecting( + &self, + __formatter: &mut _serde::__private::Formatter, + ) -> _serde::__private::fmt::Result { + _serde::__private::Formatter::write_str( + __formatter, + "struct SessionKeys", + ) + } + #[inline] + fn visit_seq<__A>( + self, + mut __seq: __A, + ) -> _serde::__private::Result + where + __A: _serde::de::SeqAccess<'de>, + { + let __field0 = match _serde::de::SeqAccess::next_element::< + ::Public, + >(&mut __seq)? { + _serde::__private::Some(__value) => __value, + _serde::__private::None => { + return _serde::__private::Err( + _serde::de::Error::invalid_length( + 0usize, + &"struct SessionKeys with 1 element", + ), + ); + } + }; + _serde::__private::Ok(SessionKeys { aura: __field0 }) + } + #[inline] + fn visit_map<__A>( + self, + mut __map: __A, + ) -> _serde::__private::Result + where + __A: _serde::de::MapAccess<'de>, + { + let mut __field0: _serde::__private::Option< + ::Public, + > = _serde::__private::None; + while let _serde::__private::Some(__key) + = _serde::de::MapAccess::next_key::<__Field>(&mut __map)? { + match __key { + __Field::__field0 => { + if _serde::__private::Option::is_some(&__field0) { + return _serde::__private::Err( + <__A::Error as _serde::de::Error>::duplicate_field("aura"), + ); + } + __field0 = _serde::__private::Some( + _serde::de::MapAccess::next_value::< + ::Public, + >(&mut __map)?, + ); + } + _ => { + let _ = _serde::de::MapAccess::next_value::< + _serde::de::IgnoredAny, + >(&mut __map)?; + } + } + } + let __field0 = match __field0 { + _serde::__private::Some(__field0) => __field0, + _serde::__private::None => { + _serde::__private::de::missing_field("aura")? + } + }; + _serde::__private::Ok(SessionKeys { aura: __field0 }) + } + } + #[doc(hidden)] + const FIELDS: &'static [&'static str] = &["aura"]; + _serde::Deserializer::deserialize_struct( + __deserializer, + "SessionKeys", + FIELDS, + __Visitor { + marker: _serde::__private::PhantomData::, + lifetime: _serde::__private::PhantomData, + }, + ) + } + } +}; +impl SessionKeys { + /// Generate a set of keys with optionally using the given seed. + /// + /// The generated key pairs are stored in the keystore. + /// + /// Returns the concatenated SCALE encoded public keys. + pub fn generate( + seed: Option<::sp_runtime::sp_std::vec::Vec>, + ) -> ::sp_runtime::sp_std::vec::Vec { + let keys = Self { + aura: <::Public as ::sp_runtime::RuntimeAppPublic>::generate_pair( + seed.clone(), + ), + }; + ::sp_runtime::codec::Encode::encode(&keys) + } + /// Converts `Self` into a `Vec` of `(raw public key, KeyTypeId)`. + pub fn into_raw_public_keys( + self, + ) -> ::sp_runtime::sp_std::vec::Vec< + (::sp_runtime::sp_std::vec::Vec, ::sp_runtime::KeyTypeId), + > { + let mut keys = Vec::new(); + keys.push(( + ::sp_runtime::RuntimeAppPublic::to_raw_vec(&self.aura), + <::Public as ::sp_runtime::RuntimeAppPublic>::ID, + )); + keys + } + /// Decode `Self` from the given `encoded` slice and convert `Self` into the raw public + /// keys (see [`Self::into_raw_public_keys`]). + /// + /// Returns `None` when the decoding failed, otherwise `Some(_)`. + pub fn decode_into_raw_public_keys( + encoded: &[u8], + ) -> Option< + ::sp_runtime::sp_std::vec::Vec< + (::sp_runtime::sp_std::vec::Vec, ::sp_runtime::KeyTypeId), + >, + > { + ::decode(&mut &encoded[..]) + .ok() + .map(|s| s.into_raw_public_keys()) + } +} +impl ::sp_runtime::traits::OpaqueKeys for SessionKeys { + type KeyTypeIdProviders = (Aura,); + fn key_ids() -> &'static [::sp_runtime::KeyTypeId] { + &[ + <::Public as ::sp_runtime::RuntimeAppPublic>::ID, + ] + } + fn get_raw(&self, i: ::sp_runtime::KeyTypeId) -> &[u8] { + match i { + i if i + == <::Public as ::sp_runtime::RuntimeAppPublic>::ID => { + self.aura.as_ref() + } + _ => &[], + } + } +} +#[cfg(not(feature = "state-trie-version-1"))] +pub const VERSION: RuntimeVersion = RuntimeVersion { + spec_name: { ::sp_runtime::RuntimeString::Borrowed("statemine") }, + impl_name: { ::sp_runtime::RuntimeString::Borrowed("statemine") }, + authoring_version: 1, + spec_version: 10000, + impl_version: 0, + apis: RUNTIME_API_VERSIONS, + transaction_version: 13, + state_version: 0, +}; +const _: () = {}; +/// The version information used to identify this runtime when compiled natively. +#[cfg(feature = "std")] +pub fn native_version() -> NativeVersion { + NativeVersion { + runtime_version: VERSION, + can_author_with: Default::default(), + } +} +pub struct Version; +impl Version { + /// Returns the value of this parameter type. + pub const fn get() -> RuntimeVersion { + VERSION + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for Version { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for Version { + type Type = RuntimeVersion; + fn get() -> RuntimeVersion { + Self::get() + } +} +pub struct RuntimeBlockLength; +impl RuntimeBlockLength { + /// Returns the value of this parameter type. + pub fn get() -> BlockLength { + BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for RuntimeBlockLength { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for RuntimeBlockLength { + type Type = BlockLength; + fn get() -> BlockLength { + Self::get() + } +} +pub struct RuntimeBlockWeights; +impl RuntimeBlockWeights { + /// Returns the value of this parameter type. + pub fn get() -> BlockWeights { + BlockWeights::builder() + .base_block(BlockExecutionWeight::get()) + .for_class( + DispatchClass::all(), + |weights| { + weights.base_extrinsic = ExtrinsicBaseWeight::get(); + }, + ) + .for_class( + DispatchClass::Normal, + |weights| { + weights + .max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); + }, + ) + .for_class( + DispatchClass::Operational, + |weights| { + weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); + weights + .reserved = Some( + MAXIMUM_BLOCK_WEIGHT + - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT, + ); + }, + ) + .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) + .build_or_panic() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for RuntimeBlockWeights { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for RuntimeBlockWeights { + type Type = BlockWeights; + fn get() -> BlockWeights { + Self::get() + } +} +pub struct SS58Prefix; +impl SS58Prefix { + /// Returns the value of this parameter type. + pub const fn get() -> u8 { + 2 + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for SS58Prefix { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for SS58Prefix { + type Type = u8; + fn get() -> u8 { + Self::get() + } +} +impl frame_system::Config for Runtime { + type BaseCallFilter = frame_support::traits::Everything; + type BlockWeights = RuntimeBlockWeights; + type BlockLength = RuntimeBlockLength; + type AccountId = AccountId; + type RuntimeCall = RuntimeCall; + type Lookup = AccountIdLookup; + type Nonce = Nonce; + type Hash = Hash; + type Hashing = BlakeTwo256; + type Block = Block; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; + type BlockHashCount = BlockHashCount; + type DbWeight = RocksDbWeight; + type Version = Version; + type PalletInfo = PalletInfo; + type OnNewAccount = (); + type OnKilledAccount = (); + type AccountData = pallet_balances::AccountData; + type SystemWeightInfo = weights::frame_system::WeightInfo; + type SS58Prefix = SS58Prefix; + type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; + type MaxConsumers = frame_support::traits::ConstU32<16>; +} +impl pallet_timestamp::Config for Runtime { + /// A timestamp: milliseconds since the unix epoch. + type Moment = u64; + type OnTimestampSet = Aura; + type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; + type WeightInfo = weights::pallet_timestamp::WeightInfo; +} +impl pallet_authorship::Config for Runtime { + type FindAuthor = pallet_session::FindAccountFromAuthorIndex; + type EventHandler = (CollatorSelection,); +} +pub struct ExistentialDeposit; +impl ExistentialDeposit { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + EXISTENTIAL_DEPOSIT + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for ExistentialDeposit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ExistentialDeposit { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +impl pallet_balances::Config for Runtime { + type MaxLocks = ConstU32<50>; + /// The type for recording an account's balance. + type Balance = Balance; + /// The ubiquitous event type. + type RuntimeEvent = RuntimeEvent; + type DustRemoval = (); + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; + type WeightInfo = weights::pallet_balances::WeightInfo; + type MaxReserves = ConstU32<50>; + type ReserveIdentifier = [u8; 8]; + type RuntimeHoldReason = RuntimeHoldReason; + type FreezeIdentifier = (); + type MaxHolds = ConstU32<1>; + type MaxFreezes = ConstU32<0>; +} +/// Relay Chain `TransactionByteFee` / 10 +pub struct TransactionByteFee; +impl TransactionByteFee { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + MILLICENTS + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for TransactionByteFee { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for TransactionByteFee { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +impl pallet_transaction_payment::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter< + Balances, + DealWithFees, + >; + type WeightToFee = WeightToFee; + type LengthToFee = ConstantMultiplier; + type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; + type OperationalFeeMultiplier = ConstU8<5>; +} +pub struct AssetDeposit; +impl AssetDeposit { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + UNITS / 10 + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for AssetDeposit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for AssetDeposit { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct AssetAccountDeposit; +impl AssetAccountDeposit { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(1, 16) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for AssetAccountDeposit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for AssetAccountDeposit { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct ApprovalDeposit; +impl ApprovalDeposit { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + EXISTENTIAL_DEPOSIT + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for ApprovalDeposit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ApprovalDeposit { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct AssetsStringLimit; +impl AssetsStringLimit { + /// Returns the value of this parameter type. + pub const fn get() -> u32 { + 50 + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for AssetsStringLimit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for AssetsStringLimit { + type Type = u32; + fn get() -> u32 { + Self::get() + } +} +/// Key = 32 bytes, Value = 36 bytes (32+1+1+1+1) +pub struct MetadataDepositBase; +impl MetadataDepositBase { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(1, 68) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for MetadataDepositBase { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for MetadataDepositBase { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct MetadataDepositPerByte; +impl MetadataDepositPerByte { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(0, 1) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for MetadataDepositPerByte { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for MetadataDepositPerByte { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +/// We allow root to execute privileged asset operations. +pub type AssetsForceOrigin = EnsureRoot; +pub type TrustBackedAssetsInstance = pallet_assets::Instance1; +type TrustBackedAssetsCall = pallet_assets::Call; +impl pallet_assets::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; + type Balance = Balance; + type AssetId = AssetIdForTrustBackedAssets; + type AssetIdParameter = codec::Compact; + type NativeToken = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; + type ForceOrigin = AssetsForceOrigin; + type AssetDeposit = AssetDeposit; + type MetadataDepositBase = MetadataDepositBase; + type MetadataDepositPerByte = MetadataDepositPerByte; + type ApprovalDeposit = ApprovalDeposit; + type StringLimit = AssetsStringLimit; + type Freezer = (); + type Extra = (); + type WeightInfo = weights::pallet_assets_local::WeightInfo; + type CallbackHandle = (); + type AssetAccountDeposit = AssetAccountDeposit; + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; +} +pub struct AssetConversionPalletId; +impl AssetConversionPalletId { + /// Returns the value of this parameter type. + pub const fn get() -> PalletId { + PalletId(*b"py/ascon") + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for AssetConversionPalletId { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for AssetConversionPalletId { + type Type = PalletId; + fn get() -> PalletId { + Self::get() + } +} +pub struct AllowMultiAssetPools; +impl AllowMultiAssetPools { + /// Returns the value of this parameter type. + pub const fn get() -> bool { + false + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for AllowMultiAssetPools { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for AllowMultiAssetPools { + type Type = bool; + fn get() -> bool { + Self::get() + } +} +pub struct LiquidityWithdrawalFee; +impl LiquidityWithdrawalFee { + /// Returns the value of this parameter type. + pub const fn get() -> Permill { + Permill::from_percent(0) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for LiquidityWithdrawalFee { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for LiquidityWithdrawalFee { + type Type = Permill; + fn get() -> Permill { + Self::get() + } +} +pub struct AssetConversionOrigin; +impl AssetConversionOrigin { + /// Returns the value of this parameter type. + pub fn get() -> sp_runtime::AccountId32 { + AccountIdConversion::< + sp_runtime::AccountId32, + >::into_account_truncating(&AssetConversionPalletId::get()) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> +for AssetConversionOrigin { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for AssetConversionOrigin { + type Type = sp_runtime::AccountId32; + fn get() -> sp_runtime::AccountId32 { + Self::get() + } +} +impl ::frame_support::traits::SortedMembers +for AssetConversionOrigin { + fn contains(t: &sp_runtime::AccountId32) -> bool { + &AccountIdConversion::< + sp_runtime::AccountId32, + >::into_account_truncating(&AssetConversionPalletId::get()) == t + } + fn sorted_members() -> ::frame_support::__private::sp_std::prelude::Vec< + sp_runtime::AccountId32, + > { + <[_]>::into_vec( + #[rustc_box] + ::alloc::boxed::Box::new([ + AccountIdConversion::< + sp_runtime::AccountId32, + >::into_account_truncating(&AssetConversionPalletId::get()), + ]), + ) + } + fn count() -> usize { + 1 + } +} +impl ::frame_support::traits::Contains +for AssetConversionOrigin { + fn contains(t: &sp_runtime::AccountId32) -> bool { + &AccountIdConversion::< + sp_runtime::AccountId32, + >::into_account_truncating(&AssetConversionPalletId::get()) == t + } +} +pub type PoolAssetsInstance = pallet_assets::Instance3; +impl pallet_assets::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; + type Balance = Balance; + type RemoveItemsLimit = ConstU32<1000>; + type AssetId = u32; + type AssetIdParameter = u32; + type NativeToken = Balances; + type CreateOrigin = AsEnsureOriginWithArg< + EnsureSignedBy, + >; + type ForceOrigin = AssetsForceOrigin; + type AssetDeposit = ConstU128<0>; + type AssetAccountDeposit = ConstU128<0>; + type MetadataDepositBase = ConstU128<0>; + type MetadataDepositPerByte = ConstU128<0>; + type ApprovalDeposit = ApprovalDeposit; + type StringLimit = ConstU32<50>; + type Freezer = (); + type Extra = (); + type WeightInfo = weights::pallet_assets_pool::WeightInfo; + type CallbackHandle = (); +} +impl pallet_asset_conversion::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Balance = Balance; + type HigherPrecisionBalance = sp_core::U256; + type Currency = Balances; + type AssetBalance = Balance; + type AssetId = MultiLocation; + type Assets = LocalAndForeignAssets< + Assets, + AssetIdForTrustBackedAssetsConvert, + ForeignAssets, + >; + type PoolAssets = PoolAssets; + type PoolAssetId = u32; + type PoolSetupFee = ConstU128<0>; + type PoolSetupFeeReceiver = AssetConversionOrigin; + type LiquidityWithdrawalFee = LiquidityWithdrawalFee; + type LPFee = ConstU32<3>; + type PalletId = AssetConversionPalletId; + type AllowMultiAssetPools = AllowMultiAssetPools; + type MaxSwapPathLength = ConstU32<4>; + type MultiAssetId = Box; + type MultiAssetIdConverter = MultiLocationConverter< + KsmLocation, + LocalAndForeignAssetsMultiLocationMatcher, + >; + type MintMinLiquidity = ConstU128<100>; + type WeightInfo = weights::pallet_asset_conversion::WeightInfo; +} +pub struct ForeignAssetsAssetDeposit; +impl ForeignAssetsAssetDeposit { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + AssetDeposit::get() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for ForeignAssetsAssetDeposit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ForeignAssetsAssetDeposit { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct ForeignAssetsAssetAccountDeposit; +impl ForeignAssetsAssetAccountDeposit { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + AssetAccountDeposit::get() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> +for ForeignAssetsAssetAccountDeposit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ForeignAssetsAssetAccountDeposit { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct ForeignAssetsApprovalDeposit; +impl ForeignAssetsApprovalDeposit { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + ApprovalDeposit::get() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> +for ForeignAssetsApprovalDeposit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ForeignAssetsApprovalDeposit { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct ForeignAssetsAssetsStringLimit; +impl ForeignAssetsAssetsStringLimit { + /// Returns the value of this parameter type. + pub const fn get() -> u32 { + AssetsStringLimit::get() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for ForeignAssetsAssetsStringLimit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ForeignAssetsAssetsStringLimit { + type Type = u32; + fn get() -> u32 { + Self::get() + } +} +pub struct ForeignAssetsMetadataDepositBase; +impl ForeignAssetsMetadataDepositBase { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + MetadataDepositBase::get() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> +for ForeignAssetsMetadataDepositBase { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ForeignAssetsMetadataDepositBase { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct ForeignAssetsMetadataDepositPerByte; +impl ForeignAssetsMetadataDepositPerByte { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + MetadataDepositPerByte::get() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> +for ForeignAssetsMetadataDepositPerByte { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ForeignAssetsMetadataDepositPerByte { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +/// Assets managed by some foreign location. Note: we do not declare a `ForeignAssetsCall` type, as +/// this type is used in proxy definitions. We assume that a foreign location would not want to set +/// an individual, local account as a proxy for the issuance of their assets. This issuance should +/// be managed by the foreign location's governance. +pub type ForeignAssetsInstance = pallet_assets::Instance2; +impl pallet_assets::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; + type Balance = Balance; + type AssetId = MultiLocationForAssetId; + type AssetIdParameter = MultiLocationForAssetId; + type NativeToken = Balances; + type CreateOrigin = ForeignCreators< + (FromSiblingParachain>,), + ForeignCreatorsSovereignAccountOf, + AccountId, + >; + type ForceOrigin = AssetsForceOrigin; + type AssetDeposit = ForeignAssetsAssetDeposit; + type MetadataDepositBase = ForeignAssetsMetadataDepositBase; + type MetadataDepositPerByte = ForeignAssetsMetadataDepositPerByte; + type ApprovalDeposit = ForeignAssetsApprovalDeposit; + type StringLimit = ForeignAssetsAssetsStringLimit; + type Freezer = (); + type Extra = (); + type WeightInfo = weights::pallet_assets_foreign::WeightInfo; + type CallbackHandle = (); + type AssetAccountDeposit = ForeignAssetsAssetAccountDeposit; + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; +} +pub struct DepositBase; +impl DepositBase { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(1, 88) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for DepositBase { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for DepositBase { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct DepositFactor; +impl DepositFactor { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(0, 32) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for DepositFactor { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for DepositFactor { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct MaxSignatories; +impl MaxSignatories { + /// Returns the value of this parameter type. + pub const fn get() -> u32 { + 100 + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for MaxSignatories { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for MaxSignatories { + type Type = u32; + fn get() -> u32 { + Self::get() + } +} +impl pallet_multisig::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type Currency = Balances; + type DepositBase = DepositBase; + type DepositFactor = DepositFactor; + type MaxSignatories = MaxSignatories; + type WeightInfo = weights::pallet_multisig::WeightInfo; +} +impl pallet_utility::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type PalletsOrigin = OriginCaller; + type WeightInfo = weights::pallet_utility::WeightInfo; +} +pub struct ProxyDepositBase; +impl ProxyDepositBase { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(1, 40) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for ProxyDepositBase { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ProxyDepositBase { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct ProxyDepositFactor; +impl ProxyDepositFactor { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(0, 33) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for ProxyDepositFactor { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ProxyDepositFactor { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct MaxProxies; +impl MaxProxies { + /// Returns the value of this parameter type. + pub const fn get() -> u16 { + 32 + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for MaxProxies { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for MaxProxies { + type Type = u16; + fn get() -> u16 { + Self::get() + } +} +pub struct AnnouncementDepositBase; +impl AnnouncementDepositBase { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(1, 48) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for AnnouncementDepositBase { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for AnnouncementDepositBase { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct AnnouncementDepositFactor; +impl AnnouncementDepositFactor { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(0, 66) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for AnnouncementDepositFactor { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for AnnouncementDepositFactor { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct MaxPending; +impl MaxPending { + /// Returns the value of this parameter type. + pub const fn get() -> u16 { + 32 + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for MaxPending { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for MaxPending { + type Type = u16; + fn get() -> u16 { + Self::get() + } +} +/// The type used to represent the kinds of proxying allowed. +pub enum ProxyType { + /// Fully permissioned proxy. Can execute any call on behalf of _proxied_. + Any, + /// Can execute any call that does not transfer funds or assets. + NonTransfer, + /// Proxy with the ability to reject time-delay proxy announcements. + CancelProxy, + /// Assets proxy. Can execute any call from `assets`, **including asset transfers**. + Assets, + /// Owner proxy. Can execute calls related to asset ownership. + AssetOwner, + /// Asset manager. Can execute calls related to asset management. + AssetManager, + /// Collator selection proxy. Can execute calls related to collator selection mechanism. + Collator, +} +#[automatically_derived] +impl ::core::marker::Copy for ProxyType {} +#[automatically_derived] +impl ::core::clone::Clone for ProxyType { + #[inline] + fn clone(&self) -> ProxyType { + *self + } +} +#[automatically_derived] +impl ::core::marker::StructuralEq for ProxyType {} +#[automatically_derived] +impl ::core::cmp::Eq for ProxyType { + #[inline] + #[doc(hidden)] + #[coverage(off)] + fn assert_receiver_is_total_eq(&self) -> () {} +} +#[automatically_derived] +impl ::core::marker::StructuralPartialEq for ProxyType {} +#[automatically_derived] +impl ::core::cmp::PartialEq for ProxyType { + #[inline] + fn eq(&self, other: &ProxyType) -> bool { + let __self_tag = ::core::intrinsics::discriminant_value(self); + let __arg1_tag = ::core::intrinsics::discriminant_value(other); + __self_tag == __arg1_tag + } +} +#[automatically_derived] +impl ::core::cmp::Ord for ProxyType { + #[inline] + fn cmp(&self, other: &ProxyType) -> ::core::cmp::Ordering { + let __self_tag = ::core::intrinsics::discriminant_value(self); + let __arg1_tag = ::core::intrinsics::discriminant_value(other); + ::core::cmp::Ord::cmp(&__self_tag, &__arg1_tag) + } +} +#[automatically_derived] +impl ::core::cmp::PartialOrd for ProxyType { + #[inline] + fn partial_cmp( + &self, + other: &ProxyType, + ) -> ::core::option::Option<::core::cmp::Ordering> { + let __self_tag = ::core::intrinsics::discriminant_value(self); + let __arg1_tag = ::core::intrinsics::discriminant_value(other); + ::core::cmp::PartialOrd::partial_cmp(&__self_tag, &__arg1_tag) + } +} +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Encode for ProxyType { + fn size_hint(&self) -> usize { + 1_usize + + match *self { + ProxyType::Any => 0_usize, + ProxyType::NonTransfer => 0_usize, + ProxyType::CancelProxy => 0_usize, + ProxyType::Assets => 0_usize, + ProxyType::AssetOwner => 0_usize, + ProxyType::AssetManager => 0_usize, + ProxyType::Collator => 0_usize, + _ => 0_usize, + } + } + fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy, + ) { + match *self { + ProxyType::Any => { + #[allow(clippy::unnecessary_cast)] + __codec_dest_edqy.push_byte(0usize as ::core::primitive::u8); + } + ProxyType::NonTransfer => { + #[allow(clippy::unnecessary_cast)] + __codec_dest_edqy.push_byte(1usize as ::core::primitive::u8); + } + ProxyType::CancelProxy => { + #[allow(clippy::unnecessary_cast)] + __codec_dest_edqy.push_byte(2usize as ::core::primitive::u8); + } + ProxyType::Assets => { + #[allow(clippy::unnecessary_cast)] + __codec_dest_edqy.push_byte(3usize as ::core::primitive::u8); + } + ProxyType::AssetOwner => { + #[allow(clippy::unnecessary_cast)] + __codec_dest_edqy.push_byte(4usize as ::core::primitive::u8); + } + ProxyType::AssetManager => { + #[allow(clippy::unnecessary_cast)] + __codec_dest_edqy.push_byte(5usize as ::core::primitive::u8); + } + ProxyType::Collator => { + #[allow(clippy::unnecessary_cast)] + __codec_dest_edqy.push_byte(6usize as ::core::primitive::u8); + } + _ => {} + } + } + } + #[automatically_derived] + impl ::codec::EncodeLike for ProxyType {} +}; +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Decode for ProxyType { + fn decode<__CodecInputEdqy: ::codec::Input>( + __codec_input_edqy: &mut __CodecInputEdqy, + ) -> ::core::result::Result { + match __codec_input_edqy + .read_byte() + .map_err(|e| { + e.chain("Could not decode `ProxyType`, failed to read variant byte") + })? + { + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 0usize as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { ::core::result::Result::Ok(ProxyType::Any) })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 1usize as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok(ProxyType::NonTransfer) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 2usize as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok(ProxyType::CancelProxy) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 3usize as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { ::core::result::Result::Ok(ProxyType::Assets) })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 4usize as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok(ProxyType::AssetOwner) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 5usize as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok(ProxyType::AssetManager) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 6usize as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok(ProxyType::Collator) + })(); + } + _ => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Err( + <_ as ::core::convert::Into< + _, + >>::into( + "Could not decode `ProxyType`, variant doesn't exist", + ), + ) + })(); + } + } + } + } +}; +impl core::fmt::Debug for ProxyType { + fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { + match self { + Self::Any => fmt.debug_tuple("ProxyType::Any").finish(), + Self::NonTransfer => fmt.debug_tuple("ProxyType::NonTransfer").finish(), + Self::CancelProxy => fmt.debug_tuple("ProxyType::CancelProxy").finish(), + Self::Assets => fmt.debug_tuple("ProxyType::Assets").finish(), + Self::AssetOwner => fmt.debug_tuple("ProxyType::AssetOwner").finish(), + Self::AssetManager => fmt.debug_tuple("ProxyType::AssetManager").finish(), + Self::Collator => fmt.debug_tuple("ProxyType::Collator").finish(), + _ => Ok(()), + } + } +} +const _: () = { + impl ::codec::MaxEncodedLen for ProxyType { + fn max_encoded_len() -> ::core::primitive::usize { + 0_usize + .max(0_usize) + .max(0_usize) + .max(0_usize) + .max(0_usize) + .max(0_usize) + .max(0_usize) + .max(0_usize) + .saturating_add(1) + } + } +}; +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + impl ::scale_info::TypeInfo for ProxyType { + type Identity = Self; + fn type_info() -> ::scale_info::Type { + ::scale_info::Type::builder() + .path(::scale_info::Path::new("ProxyType", "asset_hub_kusama_runtime")) + .type_params(::alloc::vec::Vec::new()) + .docs(&["The type used to represent the kinds of proxying allowed."]) + .variant( + ::scale_info::build::Variants::new() + .variant( + "Any", + |v| { + v + .index(0usize as ::core::primitive::u8) + .docs( + &[ + "Fully permissioned proxy. Can execute any call on behalf of _proxied_.", + ], + ) + }, + ) + .variant( + "NonTransfer", + |v| { + v + .index(1usize as ::core::primitive::u8) + .docs( + &[ + "Can execute any call that does not transfer funds or assets.", + ], + ) + }, + ) + .variant( + "CancelProxy", + |v| { + v + .index(2usize as ::core::primitive::u8) + .docs( + &[ + "Proxy with the ability to reject time-delay proxy announcements.", + ], + ) + }, + ) + .variant( + "Assets", + |v| { + v + .index(3usize as ::core::primitive::u8) + .docs( + &[ + "Assets proxy. Can execute any call from `assets`, **including asset transfers**.", + ], + ) + }, + ) + .variant( + "AssetOwner", + |v| { + v + .index(4usize as ::core::primitive::u8) + .docs( + &[ + "Owner proxy. Can execute calls related to asset ownership.", + ], + ) + }, + ) + .variant( + "AssetManager", + |v| { + v + .index(5usize as ::core::primitive::u8) + .docs( + &[ + "Asset manager. Can execute calls related to asset management.", + ], + ) + }, + ) + .variant( + "Collator", + |v| { + v + .index(6usize as ::core::primitive::u8) + .docs( + &[ + "Collator selection proxy. Can execute calls related to collator selection mechanism.", + ], + ) + }, + ), + ) + } + } +}; +impl Default for ProxyType { + fn default() -> Self { + Self::Any + } +} +impl InstanceFilter for ProxyType { + fn filter(&self, c: &RuntimeCall) -> bool { + match self { + ProxyType::Any => true, + ProxyType::NonTransfer => { + !match c { + RuntimeCall::Balances { .. } + | RuntimeCall::Assets { .. } + | RuntimeCall::NftFractionalization { .. } + | RuntimeCall::Nfts { .. } + | RuntimeCall::Uniques { .. } => true, + _ => false, + } + } + ProxyType::CancelProxy => { + match c { + RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. }) + | RuntimeCall::Utility { .. } + | RuntimeCall::Multisig { .. } => true, + _ => false, + } + } + ProxyType::Assets => { + match c { + RuntimeCall::Assets { .. } + | RuntimeCall::Utility { .. } + | RuntimeCall::Multisig { .. } + | RuntimeCall::NftFractionalization { .. } + | RuntimeCall::Nfts { .. } + | RuntimeCall::Uniques { .. } => true, + _ => false, + } + } + ProxyType::AssetOwner => { + match c { + RuntimeCall::Assets(TrustBackedAssetsCall::create { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::start_destroy { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::destroy_accounts { .. }) + | RuntimeCall::Assets( + TrustBackedAssetsCall::destroy_approvals { .. }, + ) + | RuntimeCall::Assets(TrustBackedAssetsCall::finish_destroy { .. }) + | RuntimeCall::Assets( + TrustBackedAssetsCall::transfer_ownership { .. }, + ) + | RuntimeCall::Assets(TrustBackedAssetsCall::set_team { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::set_metadata { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::clear_metadata { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::set_min_balance { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::create { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::destroy { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::redeposit { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::transfer_ownership { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::set_team { .. }) + | RuntimeCall::Nfts( + pallet_nfts::Call::set_collection_max_supply { .. }, + ) + | RuntimeCall::Nfts(pallet_nfts::Call::lock_collection { .. }) + | RuntimeCall::Uniques(pallet_uniques::Call::create { .. }) + | RuntimeCall::Uniques(pallet_uniques::Call::destroy { .. }) + | RuntimeCall::Uniques( + pallet_uniques::Call::transfer_ownership { .. }, + ) + | RuntimeCall::Uniques(pallet_uniques::Call::set_team { .. }) + | RuntimeCall::Uniques(pallet_uniques::Call::set_metadata { .. }) + | RuntimeCall::Uniques(pallet_uniques::Call::set_attribute { .. }) + | RuntimeCall::Uniques( + pallet_uniques::Call::set_collection_metadata { .. }, + ) + | RuntimeCall::Uniques(pallet_uniques::Call::clear_metadata { .. }) + | RuntimeCall::Uniques(pallet_uniques::Call::clear_attribute { .. }) + | RuntimeCall::Uniques( + pallet_uniques::Call::clear_collection_metadata { .. }, + ) + | RuntimeCall::Uniques( + pallet_uniques::Call::set_collection_max_supply { .. }, + ) + | RuntimeCall::Utility { .. } + | RuntimeCall::Multisig { .. } => true, + _ => false, + } + } + ProxyType::AssetManager => { + match c { + RuntimeCall::Assets(TrustBackedAssetsCall::mint { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::burn { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::freeze { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::block { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::thaw { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::freeze_asset { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::thaw_asset { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::touch_other { .. }) + | RuntimeCall::Assets(TrustBackedAssetsCall::refund_other { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::force_mint { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::update_mint_settings { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::mint_pre_signed { .. }) + | RuntimeCall::Nfts( + pallet_nfts::Call::set_attributes_pre_signed { .. }, + ) + | RuntimeCall::Nfts(pallet_nfts::Call::lock_item_transfer { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::unlock_item_transfer { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::lock_item_properties { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::set_metadata { .. }) + | RuntimeCall::Nfts(pallet_nfts::Call::clear_metadata { .. }) + | RuntimeCall::Nfts( + pallet_nfts::Call::set_collection_metadata { .. }, + ) + | RuntimeCall::Nfts( + pallet_nfts::Call::clear_collection_metadata { .. }, + ) + | RuntimeCall::Uniques(pallet_uniques::Call::mint { .. }) + | RuntimeCall::Uniques(pallet_uniques::Call::burn { .. }) + | RuntimeCall::Uniques(pallet_uniques::Call::freeze { .. }) + | RuntimeCall::Uniques(pallet_uniques::Call::thaw { .. }) + | RuntimeCall::Uniques( + pallet_uniques::Call::freeze_collection { .. }, + ) + | RuntimeCall::Uniques(pallet_uniques::Call::thaw_collection { .. }) + | RuntimeCall::Utility { .. } + | RuntimeCall::Multisig { .. } => true, + _ => false, + } + } + ProxyType::Collator => { + match c { + RuntimeCall::CollatorSelection { .. } + | RuntimeCall::Utility { .. } + | RuntimeCall::Multisig { .. } => true, + _ => false, + } + } + } + } + fn is_superset(&self, o: &Self) -> bool { + match (self, o) { + (x, y) if x == y => true, + (ProxyType::Any, _) => true, + (_, ProxyType::Any) => false, + (ProxyType::Assets, ProxyType::AssetOwner) => true, + (ProxyType::Assets, ProxyType::AssetManager) => true, + (ProxyType::NonTransfer, ProxyType::Collator) => true, + _ => false, + } + } +} +impl pallet_proxy::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type Currency = Balances; + type ProxyType = ProxyType; + type ProxyDepositBase = ProxyDepositBase; + type ProxyDepositFactor = ProxyDepositFactor; + type MaxProxies = MaxProxies; + type WeightInfo = weights::pallet_proxy::WeightInfo; + type MaxPending = MaxPending; + type CallHasher = BlakeTwo256; + type AnnouncementDepositBase = AnnouncementDepositBase; + type AnnouncementDepositFactor = AnnouncementDepositFactor; +} +pub struct ReservedXcmpWeight; +impl ReservedXcmpWeight { + /// Returns the value of this parameter type. + pub const fn get() -> Weight { + MAXIMUM_BLOCK_WEIGHT.saturating_div(4) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for ReservedXcmpWeight { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ReservedXcmpWeight { + type Type = Weight; + fn get() -> Weight { + Self::get() + } +} +pub struct ReservedDmpWeight; +impl ReservedDmpWeight { + /// Returns the value of this parameter type. + pub const fn get() -> Weight { + MAXIMUM_BLOCK_WEIGHT.saturating_div(4) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for ReservedDmpWeight { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for ReservedDmpWeight { + type Type = Weight; + fn get() -> Weight { + Self::get() + } +} +impl cumulus_pallet_parachain_system::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type OnSystemEvent = (); + type SelfParaId = parachain_info::Pallet; + type DmpMessageHandler = DmpQueue; + type ReservedDmpWeight = ReservedDmpWeight; + type OutboundXcmpMessageSource = XcmpQueue; + type XcmpMessageHandler = XcmpQueue; + type ReservedXcmpWeight = ReservedXcmpWeight; + type CheckAssociatedRelayNumber = RelayNumberStrictlyIncreases; + type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook< + Runtime, + RELAY_CHAIN_SLOT_DURATION_MILLIS, + BLOCK_PROCESSING_VELOCITY, + UNINCLUDED_SEGMENT_CAPACITY, + >; +} +impl parachain_info::Config for Runtime {} +impl cumulus_pallet_aura_ext::Config for Runtime {} +pub struct FellowsBodyId; +impl FellowsBodyId { + /// Returns the value of this parameter type. + pub const fn get() -> BodyId { + BodyId::Technical + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for FellowsBodyId { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for FellowsBodyId { + type Type = BodyId; + fn get() -> BodyId { + Self::get() + } +} +impl cumulus_pallet_xcmp_queue::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type XcmExecutor = XcmExecutor; + type ChannelInfo = ParachainSystem; + type VersionWrapper = PolkadotXcm; + type ExecuteOverweightOrigin = EnsureRoot; + type ControllerOrigin = EitherOfDiverse< + EnsureRoot, + EnsureXcm>, + >; + type ControllerOriginConverter = xcm_config::XcmOriginToTransactDispatchOrigin; + type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo; + type PriceForSiblingDelivery = (); +} +impl cumulus_pallet_dmp_queue::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type XcmExecutor = XcmExecutor; + type ExecuteOverweightOrigin = EnsureRoot; +} +pub struct Period; +impl Period { + /// Returns the value of this parameter type. + pub const fn get() -> u32 { + 6 * HOURS + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for Period { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for Period { + type Type = u32; + fn get() -> u32 { + Self::get() + } +} +pub struct Offset; +impl Offset { + /// Returns the value of this parameter type. + pub const fn get() -> u32 { + 0 + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for Offset { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for Offset { + type Type = u32; + fn get() -> u32 { + Self::get() + } +} +impl pallet_session::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type ValidatorId = ::AccountId; + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type ShouldEndSession = pallet_session::PeriodicSessions; + type NextSessionRotation = pallet_session::PeriodicSessions; + type SessionManager = CollatorSelection; + type SessionHandler = ::KeyTypeIdProviders; + type Keys = SessionKeys; + type WeightInfo = weights::pallet_session::WeightInfo; +} +impl pallet_aura::Config for Runtime { + type AuthorityId = AuraId; + type DisabledValidators = (); + type MaxAuthorities = ConstU32<100_000>; + type AllowMultipleBlocksPerSlot = ConstBool; +} +pub struct PotId; +impl PotId { + /// Returns the value of this parameter type. + pub const fn get() -> PalletId { + PalletId(*b"PotStake") + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for PotId { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for PotId { + type Type = PalletId; + fn get() -> PalletId { + Self::get() + } +} +pub struct SessionLength; +impl SessionLength { + /// Returns the value of this parameter type. + pub const fn get() -> BlockNumber { + 6 * HOURS + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for SessionLength { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for SessionLength { + type Type = BlockNumber; + fn get() -> BlockNumber { + Self::get() + } +} +pub struct StakingAdminBodyId; +impl StakingAdminBodyId { + /// Returns the value of this parameter type. + pub const fn get() -> BodyId { + BodyId::Defense + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for StakingAdminBodyId { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for StakingAdminBodyId { + type Type = BodyId; + fn get() -> BodyId { + Self::get() + } +} +/// We allow root and the `StakingAdmin` to execute privileged collator selection operations. +pub type CollatorSelectionUpdateOrigin = EitherOfDiverse< + EnsureRoot, + EnsureXcm>, +>; +impl pallet_collator_selection::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type UpdateOrigin = CollatorSelectionUpdateOrigin; + type PotId = PotId; + type MaxCandidates = ConstU32<100>; + type MinEligibleCollators = ConstU32<4>; + type MaxInvulnerables = ConstU32<20>; + type KickThreshold = Period; + type ValidatorId = ::AccountId; + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type ValidatorRegistration = Session; + type WeightInfo = weights::pallet_collator_selection::WeightInfo; +} +impl pallet_asset_conversion_tx_payment::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Fungibles = LocalAndForeignAssets< + Assets, + AssetIdForTrustBackedAssetsConvert, + ForeignAssets, + >; + type OnChargeAssetTransaction = AssetConversionAdapter; +} +pub struct UniquesCollectionDeposit; +impl UniquesCollectionDeposit { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + UNITS / 10 + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for UniquesCollectionDeposit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for UniquesCollectionDeposit { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct UniquesItemDeposit; +impl UniquesItemDeposit { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + UNITS / 1_000 + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for UniquesItemDeposit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for UniquesItemDeposit { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct UniquesMetadataDepositBase; +impl UniquesMetadataDepositBase { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(1, 129) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for UniquesMetadataDepositBase { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for UniquesMetadataDepositBase { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct UniquesAttributeDepositBase; +impl UniquesAttributeDepositBase { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(1, 0) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> +for UniquesAttributeDepositBase { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for UniquesAttributeDepositBase { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct UniquesDepositPerByte; +impl UniquesDepositPerByte { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + deposit(0, 1) + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for UniquesDepositPerByte { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for UniquesDepositPerByte { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +impl pallet_uniques::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type CollectionId = u32; + type ItemId = u32; + type Currency = Balances; + type ForceOrigin = AssetsForceOrigin; + type CollectionDeposit = UniquesCollectionDeposit; + type ItemDeposit = UniquesItemDeposit; + type MetadataDepositBase = UniquesMetadataDepositBase; + type AttributeDepositBase = UniquesAttributeDepositBase; + type DepositPerByte = UniquesDepositPerByte; + type StringLimit = ConstU32<128>; + type KeyLimit = ConstU32<32>; + type ValueLimit = ConstU32<64>; + type WeightInfo = weights::pallet_uniques::WeightInfo; + type CreateOrigin = AsEnsureOriginWithArg>; + type Locker = (); +} +pub struct NftFractionalizationPalletId; +impl NftFractionalizationPalletId { + /// Returns the value of this parameter type. + pub const fn get() -> PalletId { + PalletId(*b"fraction") + } +} +impl<_I: From> ::frame_support::traits::Get<_I> +for NftFractionalizationPalletId { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for NftFractionalizationPalletId { + type Type = PalletId; + fn get() -> PalletId { + Self::get() + } +} +pub struct NewAssetSymbol; +impl NewAssetSymbol { + /// Returns the value of this parameter type. + pub fn get() -> BoundedVec { + (*b"FRAC").to_vec().try_into().unwrap() + } +} +impl<_I: From>> ::frame_support::traits::Get<_I> +for NewAssetSymbol { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for NewAssetSymbol { + type Type = BoundedVec; + fn get() -> BoundedVec { + Self::get() + } +} +pub struct NewAssetName; +impl NewAssetName { + /// Returns the value of this parameter type. + pub fn get() -> BoundedVec { + (*b"Frac").to_vec().try_into().unwrap() + } +} +impl<_I: From>> ::frame_support::traits::Get<_I> +for NewAssetName { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for NewAssetName { + type Type = BoundedVec; + fn get() -> BoundedVec { + Self::get() + } +} +impl pallet_nft_fractionalization::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Deposit = AssetDeposit; + type Currency = Balances; + type NewAssetSymbol = NewAssetSymbol; + type NewAssetName = NewAssetName; + type StringLimit = AssetsStringLimit; + type NftCollectionId = ::CollectionId; + type NftId = ::ItemId; + type AssetBalance = ::Balance; + type AssetId = >::AssetId; + type Assets = Assets; + type Nfts = Nfts; + type PalletId = NftFractionalizationPalletId; + type WeightInfo = pallet_nft_fractionalization::weights::SubstrateWeight; + type RuntimeHoldReason = RuntimeHoldReason; +} +pub struct NftsPalletFeatures; +impl NftsPalletFeatures { + /// Returns the value of this parameter type. + pub fn get() -> PalletFeatures { + PalletFeatures::all_enabled() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for NftsPalletFeatures { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for NftsPalletFeatures { + type Type = PalletFeatures; + fn get() -> PalletFeatures { + Self::get() + } +} +pub struct NftsMaxDeadlineDuration; +impl NftsMaxDeadlineDuration { + /// Returns the value of this parameter type. + pub const fn get() -> BlockNumber { + 12 * 30 * DAYS + } +} +impl<_I: From> ::frame_support::traits::Get<_I> +for NftsMaxDeadlineDuration { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for NftsMaxDeadlineDuration { + type Type = BlockNumber; + fn get() -> BlockNumber { + Self::get() + } +} +pub struct NftsCollectionDeposit; +impl NftsCollectionDeposit { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + UniquesCollectionDeposit::get() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for NftsCollectionDeposit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for NftsCollectionDeposit { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct NftsItemDeposit; +impl NftsItemDeposit { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + UniquesItemDeposit::get() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for NftsItemDeposit { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for NftsItemDeposit { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct NftsMetadataDepositBase; +impl NftsMetadataDepositBase { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + UniquesMetadataDepositBase::get() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for NftsMetadataDepositBase { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for NftsMetadataDepositBase { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct NftsAttributeDepositBase; +impl NftsAttributeDepositBase { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + UniquesAttributeDepositBase::get() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for NftsAttributeDepositBase { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for NftsAttributeDepositBase { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +pub struct NftsDepositPerByte; +impl NftsDepositPerByte { + /// Returns the value of this parameter type. + pub const fn get() -> Balance { + UniquesDepositPerByte::get() + } +} +impl<_I: From> ::frame_support::traits::Get<_I> for NftsDepositPerByte { + fn get() -> _I { + _I::from(Self::get()) + } +} +impl ::frame_support::traits::TypedGet for NftsDepositPerByte { + type Type = Balance; + fn get() -> Balance { + Self::get() + } +} +impl pallet_nfts::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type CollectionId = u32; + type ItemId = u32; + type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; + type ForceOrigin = AssetsForceOrigin; + type Locker = (); + type CollectionDeposit = NftsCollectionDeposit; + type ItemDeposit = NftsItemDeposit; + type MetadataDepositBase = NftsMetadataDepositBase; + type AttributeDepositBase = NftsAttributeDepositBase; + type DepositPerByte = NftsDepositPerByte; + type StringLimit = ConstU32<256>; + type KeyLimit = ConstU32<64>; + type ValueLimit = ConstU32<256>; + type ApprovalsLimit = ConstU32<20>; + type ItemAttributesApprovalsLimit = ConstU32<30>; + type MaxTips = ConstU32<10>; + type MaxDeadlineDuration = NftsMaxDeadlineDuration; + type MaxAttributesPerCall = ConstU32<10>; + type Features = NftsPalletFeatures; + type OffchainSignature = Signature; + type OffchainPublic = ::Signer; + type WeightInfo = weights::pallet_nfts::WeightInfo; +} +#[doc(hidden)] +mod sp_api_hidden_includes_construct_runtime { + pub use frame_support as hidden_include; +} +const _: () = { + #[allow(unused)] + type __hidden_use_of_unchecked_extrinsic = <::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic; +}; +pub struct Runtime; +#[automatically_derived] +impl ::core::clone::Clone for Runtime { + #[inline] + fn clone(&self) -> Runtime { + *self + } +} +#[automatically_derived] +impl ::core::marker::Copy for Runtime {} +#[automatically_derived] +impl ::core::marker::StructuralPartialEq for Runtime {} +#[automatically_derived] +impl ::core::cmp::PartialEq for Runtime { + #[inline] + fn eq(&self, other: &Runtime) -> bool { + true + } +} +#[automatically_derived] +impl ::core::marker::StructuralEq for Runtime {} +#[automatically_derived] +impl ::core::cmp::Eq for Runtime { + #[inline] + #[doc(hidden)] + #[coverage(off)] + fn assert_receiver_is_total_eq(&self) -> () {} +} +impl core::fmt::Debug for Runtime { + fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { + fmt.debug_tuple("Runtime").finish() + } +} +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + impl ::scale_info::TypeInfo for Runtime { + type Identity = Self; + fn type_info() -> ::scale_info::Type { + ::scale_info::Type::builder() + .path(::scale_info::Path::new("Runtime", "asset_hub_kusama_runtime")) + .type_params(::alloc::vec::Vec::new()) + .composite(::scale_info::build::Fields::unit()) + } + } +}; +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::GetRuntimeBlockType +for Runtime { + type RuntimeBlock = ::Block; +} +#[doc(hidden)] +trait InternalConstructRuntime { + #[inline(always)] + fn runtime_metadata( + &self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::vec::Vec< + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::RuntimeApiMetadataIR, + > { + Default::default() + } +} +#[doc(hidden)] +impl InternalConstructRuntime for &Runtime {} +#[allow(non_camel_case_types)] +pub enum RuntimeEvent { + #[codec(index = 0u8)] + System(frame_system::Event), + #[codec(index = 1u8)] + ParachainSystem(cumulus_pallet_parachain_system::Event), + #[codec(index = 10u8)] + Balances(pallet_balances::Event), + #[codec(index = 11u8)] + TransactionPayment(pallet_transaction_payment::Event), + #[codec(index = 13u8)] + AssetTxPayment(pallet_asset_conversion_tx_payment::Event), + #[codec(index = 21u8)] + CollatorSelection(pallet_collator_selection::Event), + #[codec(index = 22u8)] + Session(pallet_session::Event), + #[codec(index = 30u8)] + XcmpQueue(cumulus_pallet_xcmp_queue::Event), + #[codec(index = 31u8)] + PolkadotXcm(pallet_xcm::Event), + #[codec(index = 32u8)] + CumulusXcm(cumulus_pallet_xcm::Event), + #[codec(index = 33u8)] + DmpQueue(cumulus_pallet_dmp_queue::Event), + #[codec(index = 40u8)] + Utility(pallet_utility::Event), + #[codec(index = 41u8)] + Multisig(pallet_multisig::Event), + #[codec(index = 42u8)] + Proxy(pallet_proxy::Event), + #[codec(index = 50u8)] + Assets(pallet_assets::Event), + #[codec(index = 51u8)] + Uniques(pallet_uniques::Event), + #[codec(index = 52u8)] + Nfts(pallet_nfts::Event), + #[codec(index = 53u8)] + ForeignAssets(pallet_assets::Event), + #[codec(index = 54u8)] + NftFractionalization(pallet_nft_fractionalization::Event), + #[codec(index = 55u8)] + PoolAssets(pallet_assets::Event), + #[codec(index = 56u8)] + AssetConversion(pallet_asset_conversion::Event), +} +#[automatically_derived] +#[allow(non_camel_case_types)] +impl ::core::clone::Clone for RuntimeEvent { + #[inline] + fn clone(&self) -> RuntimeEvent { + match self { + RuntimeEvent::System(__self_0) => { + RuntimeEvent::System(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::ParachainSystem(__self_0) => { + RuntimeEvent::ParachainSystem(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::Balances(__self_0) => { + RuntimeEvent::Balances(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::TransactionPayment(__self_0) => { + RuntimeEvent::TransactionPayment(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::AssetTxPayment(__self_0) => { + RuntimeEvent::AssetTxPayment(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::CollatorSelection(__self_0) => { + RuntimeEvent::CollatorSelection(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::Session(__self_0) => { + RuntimeEvent::Session(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::XcmpQueue(__self_0) => { + RuntimeEvent::XcmpQueue(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::PolkadotXcm(__self_0) => { + RuntimeEvent::PolkadotXcm(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::CumulusXcm(__self_0) => { + RuntimeEvent::CumulusXcm(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::DmpQueue(__self_0) => { + RuntimeEvent::DmpQueue(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::Utility(__self_0) => { + RuntimeEvent::Utility(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::Multisig(__self_0) => { + RuntimeEvent::Multisig(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::Proxy(__self_0) => { + RuntimeEvent::Proxy(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::Assets(__self_0) => { + RuntimeEvent::Assets(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::Uniques(__self_0) => { + RuntimeEvent::Uniques(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::Nfts(__self_0) => { + RuntimeEvent::Nfts(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::ForeignAssets(__self_0) => { + RuntimeEvent::ForeignAssets(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::NftFractionalization(__self_0) => { + RuntimeEvent::NftFractionalization(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::PoolAssets(__self_0) => { + RuntimeEvent::PoolAssets(::core::clone::Clone::clone(__self_0)) + } + RuntimeEvent::AssetConversion(__self_0) => { + RuntimeEvent::AssetConversion(::core::clone::Clone::clone(__self_0)) + } + } + } +} +#[automatically_derived] +#[allow(non_camel_case_types)] +impl ::core::marker::StructuralPartialEq for RuntimeEvent {} +#[automatically_derived] +#[allow(non_camel_case_types)] +impl ::core::cmp::PartialEq for RuntimeEvent { + #[inline] + fn eq(&self, other: &RuntimeEvent) -> bool { + let __self_tag = ::core::intrinsics::discriminant_value(self); + let __arg1_tag = ::core::intrinsics::discriminant_value(other); + __self_tag == __arg1_tag + && match (self, other) { + (RuntimeEvent::System(__self_0), RuntimeEvent::System(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + ( + RuntimeEvent::ParachainSystem(__self_0), + RuntimeEvent::ParachainSystem(__arg1_0), + ) => *__self_0 == *__arg1_0, + (RuntimeEvent::Balances(__self_0), RuntimeEvent::Balances(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + ( + RuntimeEvent::TransactionPayment(__self_0), + RuntimeEvent::TransactionPayment(__arg1_0), + ) => *__self_0 == *__arg1_0, + ( + RuntimeEvent::AssetTxPayment(__self_0), + RuntimeEvent::AssetTxPayment(__arg1_0), + ) => *__self_0 == *__arg1_0, + ( + RuntimeEvent::CollatorSelection(__self_0), + RuntimeEvent::CollatorSelection(__arg1_0), + ) => *__self_0 == *__arg1_0, + (RuntimeEvent::Session(__self_0), RuntimeEvent::Session(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + ( + RuntimeEvent::XcmpQueue(__self_0), + RuntimeEvent::XcmpQueue(__arg1_0), + ) => *__self_0 == *__arg1_0, + ( + RuntimeEvent::PolkadotXcm(__self_0), + RuntimeEvent::PolkadotXcm(__arg1_0), + ) => *__self_0 == *__arg1_0, + ( + RuntimeEvent::CumulusXcm(__self_0), + RuntimeEvent::CumulusXcm(__arg1_0), + ) => *__self_0 == *__arg1_0, + (RuntimeEvent::DmpQueue(__self_0), RuntimeEvent::DmpQueue(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeEvent::Utility(__self_0), RuntimeEvent::Utility(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeEvent::Multisig(__self_0), RuntimeEvent::Multisig(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeEvent::Proxy(__self_0), RuntimeEvent::Proxy(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeEvent::Assets(__self_0), RuntimeEvent::Assets(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeEvent::Uniques(__self_0), RuntimeEvent::Uniques(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeEvent::Nfts(__self_0), RuntimeEvent::Nfts(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + ( + RuntimeEvent::ForeignAssets(__self_0), + RuntimeEvent::ForeignAssets(__arg1_0), + ) => *__self_0 == *__arg1_0, + ( + RuntimeEvent::NftFractionalization(__self_0), + RuntimeEvent::NftFractionalization(__arg1_0), + ) => *__self_0 == *__arg1_0, + ( + RuntimeEvent::PoolAssets(__self_0), + RuntimeEvent::PoolAssets(__arg1_0), + ) => *__self_0 == *__arg1_0, + ( + RuntimeEvent::AssetConversion(__self_0), + RuntimeEvent::AssetConversion(__arg1_0), + ) => *__self_0 == *__arg1_0, + _ => unsafe { ::core::intrinsics::unreachable() } + } + } +} +#[automatically_derived] +#[allow(non_camel_case_types)] +impl ::core::marker::StructuralEq for RuntimeEvent {} +#[automatically_derived] +#[allow(non_camel_case_types)] +impl ::core::cmp::Eq for RuntimeEvent { + #[inline] + #[doc(hidden)] + #[coverage(off)] + fn assert_receiver_is_total_eq(&self) -> () { + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq< + cumulus_pallet_parachain_system::Event, + >; + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq< + pallet_asset_conversion_tx_payment::Event, + >; + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq; + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq; + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq< + pallet_assets::Event, + >; + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq< + pallet_assets::Event, + >; + let _: ::core::cmp::AssertParamIsEq< + pallet_nft_fractionalization::Event, + >; + let _: ::core::cmp::AssertParamIsEq< + pallet_assets::Event, + >; + let _: ::core::cmp::AssertParamIsEq>; + } +} +#[allow(deprecated)] +const _: () = { + #[allow(non_camel_case_types)] + #[automatically_derived] + impl ::codec::Encode for RuntimeEvent { + fn size_hint(&self) -> usize { + 1_usize + + match *self { + RuntimeEvent::System(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::ParachainSystem(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::Balances(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::TransactionPayment(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::AssetTxPayment(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::CollatorSelection(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::Session(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::XcmpQueue(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::PolkadotXcm(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::CumulusXcm(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::DmpQueue(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::Utility(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::Multisig(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::Proxy(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::Assets(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::Uniques(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::Nfts(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::ForeignAssets(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::NftFractionalization(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::PoolAssets(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeEvent::AssetConversion(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + _ => 0_usize, + } + } + fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy, + ) { + match *self { + RuntimeEvent::System(ref aa) => { + __codec_dest_edqy.push_byte(0u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::ParachainSystem(ref aa) => { + __codec_dest_edqy.push_byte(1u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::Balances(ref aa) => { + __codec_dest_edqy.push_byte(10u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::TransactionPayment(ref aa) => { + __codec_dest_edqy.push_byte(11u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::AssetTxPayment(ref aa) => { + __codec_dest_edqy.push_byte(13u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::CollatorSelection(ref aa) => { + __codec_dest_edqy.push_byte(21u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::Session(ref aa) => { + __codec_dest_edqy.push_byte(22u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::XcmpQueue(ref aa) => { + __codec_dest_edqy.push_byte(30u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::PolkadotXcm(ref aa) => { + __codec_dest_edqy.push_byte(31u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::CumulusXcm(ref aa) => { + __codec_dest_edqy.push_byte(32u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::DmpQueue(ref aa) => { + __codec_dest_edqy.push_byte(33u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::Utility(ref aa) => { + __codec_dest_edqy.push_byte(40u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::Multisig(ref aa) => { + __codec_dest_edqy.push_byte(41u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::Proxy(ref aa) => { + __codec_dest_edqy.push_byte(42u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::Assets(ref aa) => { + __codec_dest_edqy.push_byte(50u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::Uniques(ref aa) => { + __codec_dest_edqy.push_byte(51u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::Nfts(ref aa) => { + __codec_dest_edqy.push_byte(52u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::ForeignAssets(ref aa) => { + __codec_dest_edqy.push_byte(53u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::NftFractionalization(ref aa) => { + __codec_dest_edqy.push_byte(54u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::PoolAssets(ref aa) => { + __codec_dest_edqy.push_byte(55u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeEvent::AssetConversion(ref aa) => { + __codec_dest_edqy.push_byte(56u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + _ => {} + } + } + } + #[automatically_derived] + impl ::codec::EncodeLike for RuntimeEvent {} +}; +#[allow(deprecated)] +const _: () = { + #[allow(non_camel_case_types)] + #[automatically_derived] + impl ::codec::Decode for RuntimeEvent { + fn decode<__CodecInputEdqy: ::codec::Input>( + __codec_input_edqy: &mut __CodecInputEdqy, + ) -> ::core::result::Result { + match __codec_input_edqy + .read_byte() + .map_err(|e| { + e + .chain( + "Could not decode `RuntimeEvent`, failed to read variant byte", + ) + })? + { + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 0u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::System({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::System.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 1u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::ParachainSystem({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain("Could not decode `RuntimeEvent::ParachainSystem.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 10u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::Balances({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::Balances.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 11u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::TransactionPayment({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain( + "Could not decode `RuntimeEvent::TransactionPayment.0`", + ), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 13u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::AssetTxPayment({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::AssetTxPayment.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 21u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::CollatorSelection({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain( + "Could not decode `RuntimeEvent::CollatorSelection.0`", + ), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 22u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::Session({ + let __codec_res_edqy = ::decode( + __codec_input_edqy, + ); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::Session.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 30u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::XcmpQueue({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::XcmpQueue.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 31u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::PolkadotXcm({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::PolkadotXcm.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 32u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::CumulusXcm({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::CumulusXcm.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 33u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::DmpQueue({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::DmpQueue.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 40u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::Utility({ + let __codec_res_edqy = ::decode( + __codec_input_edqy, + ); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::Utility.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 41u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::Multisig({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::Multisig.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 42u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::Proxy({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::Proxy.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 50u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::Assets({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::Assets.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 51u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::Uniques({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::Uniques.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 52u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::Nfts({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::Nfts.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 53u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::ForeignAssets({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::ForeignAssets.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 54u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::NftFractionalization({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain( + "Could not decode `RuntimeEvent::NftFractionalization.0`", + ), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 55u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::PoolAssets({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeEvent::PoolAssets.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 56u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeEvent::AssetConversion({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain("Could not decode `RuntimeEvent::AssetConversion.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + _ => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Err( + <_ as ::core::convert::Into< + _, + >>::into( + "Could not decode `RuntimeEvent`, variant doesn't exist", + ), + ) + })(); + } + } + } + } +}; +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + impl ::scale_info::TypeInfo for RuntimeEvent { + type Identity = Self; + fn type_info() -> ::scale_info::Type { + ::scale_info::Type::builder() + .path( + ::scale_info::Path::new("RuntimeEvent", "asset_hub_kusama_runtime"), + ) + .type_params(::alloc::vec::Vec::new()) + .variant( + ::scale_info::build::Variants::new() + .variant( + "System", + |v| { + v + .index(0u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("frame_system::Event") + }), + ) + }, + ) + .variant( + "ParachainSystem", + |v| { + v + .index(1u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name( + "cumulus_pallet_parachain_system::Event", + ) + }), + ) + }, + ) + .variant( + "Balances", + |v| { + v + .index(10u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_balances::Event") + }), + ) + }, + ) + .variant( + "TransactionPayment", + |v| { + v + .index(11u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_transaction_payment::Event") + }), + ) + }, + ) + .variant( + "AssetTxPayment", + |v| { + v + .index(13u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name( + "pallet_asset_conversion_tx_payment::Event", + ) + }), + ) + }, + ) + .variant( + "CollatorSelection", + |v| { + v + .index(21u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_collator_selection::Event") + }), + ) + }, + ) + .variant( + "Session", + |v| { + v + .index(22u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::() + .type_name("pallet_session::Event") + }), + ) + }, + ) + .variant( + "XcmpQueue", + |v| { + v + .index(30u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("cumulus_pallet_xcmp_queue::Event") + }), + ) + }, + ) + .variant( + "PolkadotXcm", + |v| { + v + .index(31u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_xcm::Event") + }), + ) + }, + ) + .variant( + "CumulusXcm", + |v| { + v + .index(32u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("cumulus_pallet_xcm::Event") + }), + ) + }, + ) + .variant( + "DmpQueue", + |v| { + v + .index(33u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("cumulus_pallet_dmp_queue::Event") + }), + ) + }, + ) + .variant( + "Utility", + |v| { + v + .index(40u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::() + .type_name("pallet_utility::Event") + }), + ) + }, + ) + .variant( + "Multisig", + |v| { + v + .index(41u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_multisig::Event") + }), + ) + }, + ) + .variant( + "Proxy", + |v| { + v + .index(42u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_proxy::Event") + }), + ) + }, + ) + .variant( + "Assets", + |v| { + v + .index(50u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + pallet_assets::Event, + >() + .type_name( + "pallet_assets::Event", + ) + }), + ) + }, + ) + .variant( + "Uniques", + |v| { + v + .index(51u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_uniques::Event") + }), + ) + }, + ) + .variant( + "Nfts", + |v| { + v + .index(52u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_nfts::Event") + }), + ) + }, + ) + .variant( + "ForeignAssets", + |v| { + v + .index(53u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + pallet_assets::Event, + >() + .type_name( + "pallet_assets::Event", + ) + }), + ) + }, + ) + .variant( + "NftFractionalization", + |v| { + v + .index(54u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_nft_fractionalization::Event") + }), + ) + }, + ) + .variant( + "PoolAssets", + |v| { + v + .index(55u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + pallet_assets::Event, + >() + .type_name( + "pallet_assets::Event", + ) + }), + ) + }, + ) + .variant( + "AssetConversion", + |v| { + v + .index(56u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_asset_conversion::Event") + }), + ) + }, + ), + ) + } + } +}; +impl core::fmt::Debug for RuntimeEvent { + fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { + match self { + Self::System(ref a0) => { + fmt.debug_tuple("RuntimeEvent::System").field(a0).finish() + } + Self::ParachainSystem(ref a0) => { + fmt.debug_tuple("RuntimeEvent::ParachainSystem").field(a0).finish() + } + Self::Balances(ref a0) => { + fmt.debug_tuple("RuntimeEvent::Balances").field(a0).finish() + } + Self::TransactionPayment(ref a0) => { + fmt.debug_tuple("RuntimeEvent::TransactionPayment").field(a0).finish() + } + Self::AssetTxPayment(ref a0) => { + fmt.debug_tuple("RuntimeEvent::AssetTxPayment").field(a0).finish() + } + Self::CollatorSelection(ref a0) => { + fmt.debug_tuple("RuntimeEvent::CollatorSelection").field(a0).finish() + } + Self::Session(ref a0) => { + fmt.debug_tuple("RuntimeEvent::Session").field(a0).finish() + } + Self::XcmpQueue(ref a0) => { + fmt.debug_tuple("RuntimeEvent::XcmpQueue").field(a0).finish() + } + Self::PolkadotXcm(ref a0) => { + fmt.debug_tuple("RuntimeEvent::PolkadotXcm").field(a0).finish() + } + Self::CumulusXcm(ref a0) => { + fmt.debug_tuple("RuntimeEvent::CumulusXcm").field(a0).finish() + } + Self::DmpQueue(ref a0) => { + fmt.debug_tuple("RuntimeEvent::DmpQueue").field(a0).finish() + } + Self::Utility(ref a0) => { + fmt.debug_tuple("RuntimeEvent::Utility").field(a0).finish() + } + Self::Multisig(ref a0) => { + fmt.debug_tuple("RuntimeEvent::Multisig").field(a0).finish() + } + Self::Proxy(ref a0) => { + fmt.debug_tuple("RuntimeEvent::Proxy").field(a0).finish() + } + Self::Assets(ref a0) => { + fmt.debug_tuple("RuntimeEvent::Assets").field(a0).finish() + } + Self::Uniques(ref a0) => { + fmt.debug_tuple("RuntimeEvent::Uniques").field(a0).finish() + } + Self::Nfts(ref a0) => { + fmt.debug_tuple("RuntimeEvent::Nfts").field(a0).finish() + } + Self::ForeignAssets(ref a0) => { + fmt.debug_tuple("RuntimeEvent::ForeignAssets").field(a0).finish() + } + Self::NftFractionalization(ref a0) => { + fmt.debug_tuple("RuntimeEvent::NftFractionalization").field(a0).finish() + } + Self::PoolAssets(ref a0) => { + fmt.debug_tuple("RuntimeEvent::PoolAssets").field(a0).finish() + } + Self::AssetConversion(ref a0) => { + fmt.debug_tuple("RuntimeEvent::AssetConversion").field(a0).finish() + } + _ => Ok(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: frame_system::Event) -> Self { + RuntimeEvent::System(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + frame_system::Event, + Self::Error, + > { + match self { + Self::System(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: cumulus_pallet_parachain_system::Event) -> Self { + RuntimeEvent::ParachainSystem(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + cumulus_pallet_parachain_system::Event, + Self::Error, + > { + match self { + Self::ParachainSystem(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_balances::Event) -> Self { + RuntimeEvent::Balances(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_balances::Event, + Self::Error, + > { + match self { + Self::Balances(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_transaction_payment::Event) -> Self { + RuntimeEvent::TransactionPayment(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_transaction_payment::Event, + Self::Error, + > { + match self { + Self::TransactionPayment(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_asset_conversion_tx_payment::Event) -> Self { + RuntimeEvent::AssetTxPayment(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_asset_conversion_tx_payment::Event, + Self::Error, + > { + match self { + Self::AssetTxPayment(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_collator_selection::Event) -> Self { + RuntimeEvent::CollatorSelection(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_collator_selection::Event, + Self::Error, + > { + match self { + Self::CollatorSelection(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From for RuntimeEvent { + fn from(x: pallet_session::Event) -> Self { + RuntimeEvent::Session(x) + } +} +impl TryInto for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_session::Event, + Self::Error, + > { + match self { + Self::Session(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: cumulus_pallet_xcmp_queue::Event) -> Self { + RuntimeEvent::XcmpQueue(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + cumulus_pallet_xcmp_queue::Event, + Self::Error, + > { + match self { + Self::XcmpQueue(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_xcm::Event) -> Self { + RuntimeEvent::PolkadotXcm(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_xcm::Event, + Self::Error, + > { + match self { + Self::PolkadotXcm(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: cumulus_pallet_xcm::Event) -> Self { + RuntimeEvent::CumulusXcm(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + cumulus_pallet_xcm::Event, + Self::Error, + > { + match self { + Self::CumulusXcm(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: cumulus_pallet_dmp_queue::Event) -> Self { + RuntimeEvent::DmpQueue(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + cumulus_pallet_dmp_queue::Event, + Self::Error, + > { + match self { + Self::DmpQueue(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From for RuntimeEvent { + fn from(x: pallet_utility::Event) -> Self { + RuntimeEvent::Utility(x) + } +} +impl TryInto for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_utility::Event, + Self::Error, + > { + match self { + Self::Utility(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_multisig::Event) -> Self { + RuntimeEvent::Multisig(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_multisig::Event, + Self::Error, + > { + match self { + Self::Multisig(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_proxy::Event) -> Self { + RuntimeEvent::Proxy(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_proxy::Event, + Self::Error, + > { + match self { + Self::Proxy(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_assets::Event) -> Self { + RuntimeEvent::Assets(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_assets::Event, + Self::Error, + > { + match self { + Self::Assets(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_uniques::Event) -> Self { + RuntimeEvent::Uniques(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_uniques::Event, + Self::Error, + > { + match self { + Self::Uniques(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_nfts::Event) -> Self { + RuntimeEvent::Nfts(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_nfts::Event, + Self::Error, + > { + match self { + Self::Nfts(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_assets::Event) -> Self { + RuntimeEvent::ForeignAssets(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_assets::Event, + Self::Error, + > { + match self { + Self::ForeignAssets(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_nft_fractionalization::Event) -> Self { + RuntimeEvent::NftFractionalization(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_nft_fractionalization::Event, + Self::Error, + > { + match self { + Self::NftFractionalization(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_assets::Event) -> Self { + RuntimeEvent::PoolAssets(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_assets::Event, + Self::Error, + > { + match self { + Self::PoolAssets(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeEvent { + fn from(x: pallet_asset_conversion::Event) -> Self { + RuntimeEvent::AssetConversion(x) + } +} +impl TryInto> for RuntimeEvent { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_asset_conversion::Event, + Self::Error, + > { + match self { + Self::AssetConversion(evt) => Ok(evt), + _ => Err(()), + } + } +} +#[allow(non_camel_case_types)] +pub enum RuntimeError { + #[codec(index = 0u8)] + System(frame_system::Error), + #[codec(index = 1u8)] + ParachainSystem(cumulus_pallet_parachain_system::Error), + #[codec(index = 10u8)] + Balances(pallet_balances::Error), + #[codec(index = 21u8)] + CollatorSelection(pallet_collator_selection::Error), + #[codec(index = 22u8)] + Session(pallet_session::Error), + #[codec(index = 30u8)] + XcmpQueue(cumulus_pallet_xcmp_queue::Error), + #[codec(index = 31u8)] + PolkadotXcm(pallet_xcm::Error), + #[codec(index = 32u8)] + CumulusXcm(cumulus_pallet_xcm::Error), + #[codec(index = 33u8)] + DmpQueue(cumulus_pallet_dmp_queue::Error), + #[codec(index = 40u8)] + Utility(pallet_utility::Error), + #[codec(index = 41u8)] + Multisig(pallet_multisig::Error), + #[codec(index = 42u8)] + Proxy(pallet_proxy::Error), + #[codec(index = 50u8)] + Assets(pallet_assets::Error), + #[codec(index = 51u8)] + Uniques(pallet_uniques::Error), + #[codec(index = 52u8)] + Nfts(pallet_nfts::Error), + #[codec(index = 53u8)] + ForeignAssets(pallet_assets::Error), + #[codec(index = 54u8)] + NftFractionalization(pallet_nft_fractionalization::Error), + #[codec(index = 55u8)] + PoolAssets(pallet_assets::Error), + #[codec(index = 56u8)] + AssetConversion(pallet_asset_conversion::Error), +} +#[allow(deprecated)] +const _: () = { + #[allow(non_camel_case_types)] + #[automatically_derived] + impl ::codec::Encode for RuntimeError { + fn size_hint(&self) -> usize { + 1_usize + + match *self { + RuntimeError::System(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::ParachainSystem(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::Balances(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::CollatorSelection(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::Session(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::XcmpQueue(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::PolkadotXcm(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::CumulusXcm(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::DmpQueue(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::Utility(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::Multisig(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::Proxy(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::Assets(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::Uniques(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::Nfts(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::ForeignAssets(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::NftFractionalization(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::PoolAssets(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeError::AssetConversion(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + _ => 0_usize, + } + } + fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy, + ) { + match *self { + RuntimeError::System(ref aa) => { + __codec_dest_edqy.push_byte(0u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::ParachainSystem(ref aa) => { + __codec_dest_edqy.push_byte(1u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::Balances(ref aa) => { + __codec_dest_edqy.push_byte(10u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::CollatorSelection(ref aa) => { + __codec_dest_edqy.push_byte(21u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::Session(ref aa) => { + __codec_dest_edqy.push_byte(22u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::XcmpQueue(ref aa) => { + __codec_dest_edqy.push_byte(30u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::PolkadotXcm(ref aa) => { + __codec_dest_edqy.push_byte(31u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::CumulusXcm(ref aa) => { + __codec_dest_edqy.push_byte(32u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::DmpQueue(ref aa) => { + __codec_dest_edqy.push_byte(33u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::Utility(ref aa) => { + __codec_dest_edqy.push_byte(40u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::Multisig(ref aa) => { + __codec_dest_edqy.push_byte(41u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::Proxy(ref aa) => { + __codec_dest_edqy.push_byte(42u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::Assets(ref aa) => { + __codec_dest_edqy.push_byte(50u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::Uniques(ref aa) => { + __codec_dest_edqy.push_byte(51u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::Nfts(ref aa) => { + __codec_dest_edqy.push_byte(52u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::ForeignAssets(ref aa) => { + __codec_dest_edqy.push_byte(53u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::NftFractionalization(ref aa) => { + __codec_dest_edqy.push_byte(54u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::PoolAssets(ref aa) => { + __codec_dest_edqy.push_byte(55u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeError::AssetConversion(ref aa) => { + __codec_dest_edqy.push_byte(56u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + _ => {} + } + } + } + #[automatically_derived] + impl ::codec::EncodeLike for RuntimeError {} +}; +#[allow(deprecated)] +const _: () = { + #[allow(non_camel_case_types)] + #[automatically_derived] + impl ::codec::Decode for RuntimeError { + fn decode<__CodecInputEdqy: ::codec::Input>( + __codec_input_edqy: &mut __CodecInputEdqy, + ) -> ::core::result::Result { + match __codec_input_edqy + .read_byte() + .map_err(|e| { + e + .chain( + "Could not decode `RuntimeError`, failed to read variant byte", + ) + })? + { + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 0u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::System({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::System.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 1u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::ParachainSystem({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain("Could not decode `RuntimeError::ParachainSystem.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 10u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::Balances({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::Balances.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 21u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::CollatorSelection({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain( + "Could not decode `RuntimeError::CollatorSelection.0`", + ), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 22u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::Session({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::Session.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 30u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::XcmpQueue({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::XcmpQueue.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 31u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::PolkadotXcm({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::PolkadotXcm.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 32u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::CumulusXcm({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::CumulusXcm.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 33u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::DmpQueue({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::DmpQueue.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 40u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::Utility({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::Utility.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 41u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::Multisig({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::Multisig.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 42u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::Proxy({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::Proxy.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 50u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::Assets({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::Assets.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 51u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::Uniques({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::Uniques.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 52u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::Nfts({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::Nfts.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 53u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::ForeignAssets({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::ForeignAssets.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 54u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::NftFractionalization({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain( + "Could not decode `RuntimeError::NftFractionalization.0`", + ), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 55u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::PoolAssets({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeError::PoolAssets.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 56u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeError::AssetConversion({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain("Could not decode `RuntimeError::AssetConversion.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + _ => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Err( + <_ as ::core::convert::Into< + _, + >>::into( + "Could not decode `RuntimeError`, variant doesn't exist", + ), + ) + })(); + } + } + } + } +}; +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + impl ::scale_info::TypeInfo for RuntimeError { + type Identity = Self; + fn type_info() -> ::scale_info::Type { + ::scale_info::Type::builder() + .path( + ::scale_info::Path::new("RuntimeError", "asset_hub_kusama_runtime"), + ) + .type_params(::alloc::vec::Vec::new()) + .variant( + ::scale_info::build::Variants::new() + .variant( + "System", + |v| { + v + .index(0u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("frame_system::Error") + }), + ) + }, + ) + .variant( + "ParachainSystem", + |v| { + v + .index(1u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name( + "cumulus_pallet_parachain_system::Error", + ) + }), + ) + }, + ) + .variant( + "Balances", + |v| { + v + .index(10u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_balances::Error") + }), + ) + }, + ) + .variant( + "CollatorSelection", + |v| { + v + .index(21u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_collator_selection::Error") + }), + ) + }, + ) + .variant( + "Session", + |v| { + v + .index(22u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_session::Error") + }), + ) + }, + ) + .variant( + "XcmpQueue", + |v| { + v + .index(30u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("cumulus_pallet_xcmp_queue::Error") + }), + ) + }, + ) + .variant( + "PolkadotXcm", + |v| { + v + .index(31u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_xcm::Error") + }), + ) + }, + ) + .variant( + "CumulusXcm", + |v| { + v + .index(32u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("cumulus_pallet_xcm::Error") + }), + ) + }, + ) + .variant( + "DmpQueue", + |v| { + v + .index(33u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("cumulus_pallet_dmp_queue::Error") + }), + ) + }, + ) + .variant( + "Utility", + |v| { + v + .index(40u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_utility::Error") + }), + ) + }, + ) + .variant( + "Multisig", + |v| { + v + .index(41u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_multisig::Error") + }), + ) + }, + ) + .variant( + "Proxy", + |v| { + v + .index(42u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_proxy::Error") + }), + ) + }, + ) + .variant( + "Assets", + |v| { + v + .index(50u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + pallet_assets::Error, + >() + .type_name( + "pallet_assets::Error", + ) + }), + ) + }, + ) + .variant( + "Uniques", + |v| { + v + .index(51u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_uniques::Error") + }), + ) + }, + ) + .variant( + "Nfts", + |v| { + v + .index(52u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_nfts::Error") + }), + ) + }, + ) + .variant( + "ForeignAssets", + |v| { + v + .index(53u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + pallet_assets::Error, + >() + .type_name( + "pallet_assets::Error", + ) + }), + ) + }, + ) + .variant( + "NftFractionalization", + |v| { + v + .index(54u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_nft_fractionalization::Error") + }), + ) + }, + ) + .variant( + "PoolAssets", + |v| { + v + .index(55u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + pallet_assets::Error, + >() + .type_name( + "pallet_assets::Error", + ) + }), + ) + }, + ) + .variant( + "AssetConversion", + |v| { + v + .index(56u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("pallet_asset_conversion::Error") + }), + ) + }, + ), + ) + } + } +}; +impl core::fmt::Debug for RuntimeError { + fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { + match self { + Self::System(ref a0) => { + fmt.debug_tuple("RuntimeError::System").field(a0).finish() + } + Self::ParachainSystem(ref a0) => { + fmt.debug_tuple("RuntimeError::ParachainSystem").field(a0).finish() + } + Self::Balances(ref a0) => { + fmt.debug_tuple("RuntimeError::Balances").field(a0).finish() + } + Self::CollatorSelection(ref a0) => { + fmt.debug_tuple("RuntimeError::CollatorSelection").field(a0).finish() + } + Self::Session(ref a0) => { + fmt.debug_tuple("RuntimeError::Session").field(a0).finish() + } + Self::XcmpQueue(ref a0) => { + fmt.debug_tuple("RuntimeError::XcmpQueue").field(a0).finish() + } + Self::PolkadotXcm(ref a0) => { + fmt.debug_tuple("RuntimeError::PolkadotXcm").field(a0).finish() + } + Self::CumulusXcm(ref a0) => { + fmt.debug_tuple("RuntimeError::CumulusXcm").field(a0).finish() + } + Self::DmpQueue(ref a0) => { + fmt.debug_tuple("RuntimeError::DmpQueue").field(a0).finish() + } + Self::Utility(ref a0) => { + fmt.debug_tuple("RuntimeError::Utility").field(a0).finish() + } + Self::Multisig(ref a0) => { + fmt.debug_tuple("RuntimeError::Multisig").field(a0).finish() + } + Self::Proxy(ref a0) => { + fmt.debug_tuple("RuntimeError::Proxy").field(a0).finish() + } + Self::Assets(ref a0) => { + fmt.debug_tuple("RuntimeError::Assets").field(a0).finish() + } + Self::Uniques(ref a0) => { + fmt.debug_tuple("RuntimeError::Uniques").field(a0).finish() + } + Self::Nfts(ref a0) => { + fmt.debug_tuple("RuntimeError::Nfts").field(a0).finish() + } + Self::ForeignAssets(ref a0) => { + fmt.debug_tuple("RuntimeError::ForeignAssets").field(a0).finish() + } + Self::NftFractionalization(ref a0) => { + fmt.debug_tuple("RuntimeError::NftFractionalization").field(a0).finish() + } + Self::PoolAssets(ref a0) => { + fmt.debug_tuple("RuntimeError::PoolAssets").field(a0).finish() + } + Self::AssetConversion(ref a0) => { + fmt.debug_tuple("RuntimeError::AssetConversion").field(a0).finish() + } + _ => Ok(()), + } + } +} +impl From> for RuntimeError { + fn from(x: frame_system::Error) -> Self { + RuntimeError::System(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + frame_system::Error, + Self::Error, + > { + match self { + Self::System(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: cumulus_pallet_parachain_system::Error) -> Self { + RuntimeError::ParachainSystem(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + cumulus_pallet_parachain_system::Error, + Self::Error, + > { + match self { + Self::ParachainSystem(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_balances::Error) -> Self { + RuntimeError::Balances(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_balances::Error, + Self::Error, + > { + match self { + Self::Balances(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_collator_selection::Error) -> Self { + RuntimeError::CollatorSelection(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_collator_selection::Error, + Self::Error, + > { + match self { + Self::CollatorSelection(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_session::Error) -> Self { + RuntimeError::Session(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_session::Error, + Self::Error, + > { + match self { + Self::Session(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: cumulus_pallet_xcmp_queue::Error) -> Self { + RuntimeError::XcmpQueue(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + cumulus_pallet_xcmp_queue::Error, + Self::Error, + > { + match self { + Self::XcmpQueue(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_xcm::Error) -> Self { + RuntimeError::PolkadotXcm(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_xcm::Error, + Self::Error, + > { + match self { + Self::PolkadotXcm(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: cumulus_pallet_xcm::Error) -> Self { + RuntimeError::CumulusXcm(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + cumulus_pallet_xcm::Error, + Self::Error, + > { + match self { + Self::CumulusXcm(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: cumulus_pallet_dmp_queue::Error) -> Self { + RuntimeError::DmpQueue(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + cumulus_pallet_dmp_queue::Error, + Self::Error, + > { + match self { + Self::DmpQueue(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_utility::Error) -> Self { + RuntimeError::Utility(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_utility::Error, + Self::Error, + > { + match self { + Self::Utility(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_multisig::Error) -> Self { + RuntimeError::Multisig(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_multisig::Error, + Self::Error, + > { + match self { + Self::Multisig(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_proxy::Error) -> Self { + RuntimeError::Proxy(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_proxy::Error, + Self::Error, + > { + match self { + Self::Proxy(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_assets::Error) -> Self { + RuntimeError::Assets(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_assets::Error, + Self::Error, + > { + match self { + Self::Assets(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_uniques::Error) -> Self { + RuntimeError::Uniques(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_uniques::Error, + Self::Error, + > { + match self { + Self::Uniques(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_nfts::Error) -> Self { + RuntimeError::Nfts(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_nfts::Error, + Self::Error, + > { + match self { + Self::Nfts(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_assets::Error) -> Self { + RuntimeError::ForeignAssets(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_assets::Error, + Self::Error, + > { + match self { + Self::ForeignAssets(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_nft_fractionalization::Error) -> Self { + RuntimeError::NftFractionalization(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_nft_fractionalization::Error, + Self::Error, + > { + match self { + Self::NftFractionalization(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_assets::Error) -> Self { + RuntimeError::PoolAssets(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_assets::Error, + Self::Error, + > { + match self { + Self::PoolAssets(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl From> for RuntimeError { + fn from(x: pallet_asset_conversion::Error) -> Self { + RuntimeError::AssetConversion(x) + } +} +impl TryInto> for RuntimeError { + type Error = (); + fn try_into( + self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_asset_conversion::Error, + Self::Error, + > { + match self { + Self::AssetConversion(evt) => Ok(evt), + _ => Err(()), + } + } +} +impl RuntimeError { + /// Optionally convert the `DispatchError` into the `RuntimeError`. + /// + /// Returns `Some` if the error matches the `DispatchError::Module` variant, otherwise `None`. + pub fn from_dispatch_error( + err: self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::DispatchError, + ) -> Option { + let self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::DispatchError::Module( + module_error, + ) = err else { return None }; + let bytes = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::codec::Encode::encode( + &module_error, + ); + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::codec::Decode::decode( + &mut &bytes[..], + ) + .ok() + } +} +/// The runtime origin type representing the origin of a call. +/// +/// Origin is always created with the base filter configured in [`frame_system::Config::BaseCallFilter`]. +pub struct RuntimeOrigin { + caller: OriginCaller, + filter: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::rc::Rc< + Box::RuntimeCall) -> bool>, + >, +} +#[automatically_derived] +impl ::core::clone::Clone for RuntimeOrigin { + #[inline] + fn clone(&self) -> RuntimeOrigin { + RuntimeOrigin { + caller: ::core::clone::Clone::clone(&self.caller), + filter: ::core::clone::Clone::clone(&self.filter), + } + } +} +#[cfg(feature = "std")] +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::fmt::Debug +for RuntimeOrigin { + fn fmt( + &self, + fmt: &mut self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::fmt::Formatter, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + (), + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::fmt::Error, + > { + fmt.debug_struct("Origin") + .field("caller", &self.caller) + .field("filter", &"[function ptr]") + .finish() + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::OriginTrait +for RuntimeOrigin { + type Call = ::RuntimeCall; + type PalletsOrigin = OriginCaller; + type AccountId = ::AccountId; + fn add_filter(&mut self, filter: impl Fn(&Self::Call) -> bool + 'static) { + let f = self.filter.clone(); + self + .filter = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::rc::Rc::new( + Box::new(move |call| { f(call) && filter(call) }), + ); + } + fn reset_filter(&mut self) { + let filter = <::BaseCallFilter as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::Contains< + ::RuntimeCall, + >>::contains; + self + .filter = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::rc::Rc::new( + Box::new(filter), + ); + } + fn set_caller_from(&mut self, other: impl Into) { + self.caller = other.into().caller; + } + fn filter_call(&self, call: &Self::Call) -> bool { + match self.caller { + OriginCaller::system(frame_system::Origin::::Root) => true, + _ => (self.filter)(call), + } + } + fn caller(&self) -> &Self::PalletsOrigin { + &self.caller + } + fn into_caller(self) -> Self::PalletsOrigin { + self.caller + } + fn try_with_caller( + mut self, + f: impl FnOnce(Self::PalletsOrigin) -> Result, + ) -> Result { + match f(self.caller) { + Ok(r) => Ok(r), + Err(caller) => { + self.caller = caller; + Err(self) + } + } + } + fn none() -> Self { + frame_system::RawOrigin::None.into() + } + fn root() -> Self { + frame_system::RawOrigin::Root.into() + } + fn signed(by: Self::AccountId) -> Self { + frame_system::RawOrigin::Signed(by).into() + } +} +#[allow(non_camel_case_types)] +pub enum OriginCaller { + #[codec(index = 0u8)] + system(frame_system::Origin), + #[codec(index = 31u8)] + PolkadotXcm(pallet_xcm::Origin), + #[codec(index = 32u8)] + CumulusXcm(cumulus_pallet_xcm::Origin), + #[allow(dead_code)] + Void( + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::Void, + ), +} +#[automatically_derived] +#[allow(non_camel_case_types)] +impl ::core::clone::Clone for OriginCaller { + #[inline] + fn clone(&self) -> OriginCaller { + match self { + OriginCaller::system(__self_0) => { + OriginCaller::system(::core::clone::Clone::clone(__self_0)) + } + OriginCaller::PolkadotXcm(__self_0) => { + OriginCaller::PolkadotXcm(::core::clone::Clone::clone(__self_0)) + } + OriginCaller::CumulusXcm(__self_0) => { + OriginCaller::CumulusXcm(::core::clone::Clone::clone(__self_0)) + } + OriginCaller::Void(__self_0) => { + OriginCaller::Void(::core::clone::Clone::clone(__self_0)) + } + } + } +} +#[automatically_derived] +#[allow(non_camel_case_types)] +impl ::core::marker::StructuralPartialEq for OriginCaller {} +#[automatically_derived] +#[allow(non_camel_case_types)] +impl ::core::cmp::PartialEq for OriginCaller { + #[inline] + fn eq(&self, other: &OriginCaller) -> bool { + let __self_tag = ::core::intrinsics::discriminant_value(self); + let __arg1_tag = ::core::intrinsics::discriminant_value(other); + __self_tag == __arg1_tag + && match (self, other) { + (OriginCaller::system(__self_0), OriginCaller::system(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + ( + OriginCaller::PolkadotXcm(__self_0), + OriginCaller::PolkadotXcm(__arg1_0), + ) => *__self_0 == *__arg1_0, + ( + OriginCaller::CumulusXcm(__self_0), + OriginCaller::CumulusXcm(__arg1_0), + ) => *__self_0 == *__arg1_0, + (OriginCaller::Void(__self_0), OriginCaller::Void(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + _ => unsafe { ::core::intrinsics::unreachable() } + } + } +} +#[automatically_derived] +#[allow(non_camel_case_types)] +impl ::core::marker::StructuralEq for OriginCaller {} +#[automatically_derived] +#[allow(non_camel_case_types)] +impl ::core::cmp::Eq for OriginCaller { + #[inline] + #[doc(hidden)] + #[coverage(off)] + fn assert_receiver_is_total_eq(&self) -> () { + let _: ::core::cmp::AssertParamIsEq>; + let _: ::core::cmp::AssertParamIsEq; + let _: ::core::cmp::AssertParamIsEq; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::Void, + >; + } +} +impl core::fmt::Debug for OriginCaller { + fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { + match self { + Self::system(ref a0) => { + fmt.debug_tuple("OriginCaller::system").field(a0).finish() + } + Self::PolkadotXcm(ref a0) => { + fmt.debug_tuple("OriginCaller::PolkadotXcm").field(a0).finish() + } + Self::CumulusXcm(ref a0) => { + fmt.debug_tuple("OriginCaller::CumulusXcm").field(a0).finish() + } + Self::Void(ref a0) => { + fmt.debug_tuple("OriginCaller::Void").field(a0).finish() + } + _ => Ok(()), + } + } +} +#[allow(deprecated)] +const _: () = { + #[allow(non_camel_case_types)] + #[automatically_derived] + impl ::codec::Encode for OriginCaller { + fn size_hint(&self) -> usize { + 1_usize + + match *self { + OriginCaller::system(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + OriginCaller::PolkadotXcm(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + OriginCaller::CumulusXcm(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + OriginCaller::Void(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + _ => 0_usize, + } + } + fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy, + ) { + match *self { + OriginCaller::system(ref aa) => { + __codec_dest_edqy.push_byte(0u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + OriginCaller::PolkadotXcm(ref aa) => { + __codec_dest_edqy.push_byte(31u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + OriginCaller::CumulusXcm(ref aa) => { + __codec_dest_edqy.push_byte(32u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + OriginCaller::Void(ref aa) => { + __codec_dest_edqy.push_byte(3usize as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + _ => {} + } + } + } + #[automatically_derived] + impl ::codec::EncodeLike for OriginCaller {} +}; +#[allow(deprecated)] +const _: () = { + #[allow(non_camel_case_types)] + #[automatically_derived] + impl ::codec::Decode for OriginCaller { + fn decode<__CodecInputEdqy: ::codec::Input>( + __codec_input_edqy: &mut __CodecInputEdqy, + ) -> ::core::result::Result { + match __codec_input_edqy + .read_byte() + .map_err(|e| { + e + .chain( + "Could not decode `OriginCaller`, failed to read variant byte", + ) + })? + { + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 0u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + OriginCaller::system({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `OriginCaller::system.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 31u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + OriginCaller::PolkadotXcm({ + let __codec_res_edqy = ::decode( + __codec_input_edqy, + ); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `OriginCaller::PolkadotXcm.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 32u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + OriginCaller::CumulusXcm({ + let __codec_res_edqy = ::decode( + __codec_input_edqy, + ); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `OriginCaller::CumulusXcm.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 3usize as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + OriginCaller::Void({ + let __codec_res_edqy = ::decode( + __codec_input_edqy, + ); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `OriginCaller::Void.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + _ => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Err( + <_ as ::core::convert::Into< + _, + >>::into( + "Could not decode `OriginCaller`, variant doesn't exist", + ), + ) + })(); + } + } + } + } +}; +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + impl ::scale_info::TypeInfo for OriginCaller { + type Identity = Self; + fn type_info() -> ::scale_info::Type { + ::scale_info::Type::builder() + .path( + ::scale_info::Path::new("OriginCaller", "asset_hub_kusama_runtime"), + ) + .type_params(::alloc::vec::Vec::new()) + .variant( + ::scale_info::build::Variants::new() + .variant( + "system", + |v| { + v + .index(0u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::>() + .type_name("frame_system::Origin") + }), + ) + }, + ) + .variant( + "PolkadotXcm", + |v| { + v + .index(31u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f.ty::().type_name("pallet_xcm::Origin") + }), + ) + }, + ) + .variant( + "CumulusXcm", + |v| { + v + .index(32u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::() + .type_name("cumulus_pallet_xcm::Origin") + }), + ) + }, + ) + .variant( + "Void", + |v| { + v + .index(3usize as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::Void, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::\n__private::Void", + ) + }), + ) + }, + ), + ) + } + } +}; +const _: () = { + impl ::codec::MaxEncodedLen for OriginCaller { + fn max_encoded_len() -> ::core::primitive::usize { + 0_usize + .max( + 0_usize + .saturating_add( + >::max_encoded_len(), + ), + ) + .max(0_usize.saturating_add(::max_encoded_len())) + .max( + 0_usize + .saturating_add(::max_encoded_len()), + ) + .max( + 0_usize + .saturating_add( + ::max_encoded_len(), + ), + ) + .saturating_add(1) + } + } +}; +#[allow(dead_code)] +impl RuntimeOrigin { + /// Create with system none origin and [`frame_system::Config::BaseCallFilter`]. + pub fn none() -> Self { + ::none() + } + /// Create with system root origin and [`frame_system::Config::BaseCallFilter`]. + pub fn root() -> Self { + ::root() + } + /// Create with system signed origin and [`frame_system::Config::BaseCallFilter`]. + pub fn signed(by: ::AccountId) -> Self { + ::signed( + by, + ) + } +} +impl From> for OriginCaller { + fn from(x: frame_system::Origin) -> Self { + OriginCaller::system(x) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallerTrait< + ::AccountId, +> for OriginCaller { + fn into_system( + self, + ) -> Option::AccountId>> { + match self { + OriginCaller::system(x) => Some(x), + _ => None, + } + } + fn as_system_ref( + &self, + ) -> Option<&frame_system::RawOrigin<::AccountId>> { + match &self { + OriginCaller::system(o) => Some(o), + _ => None, + } + } +} +impl TryFrom for frame_system::Origin { + type Error = OriginCaller; + fn try_from( + x: OriginCaller, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + frame_system::Origin, + OriginCaller, + > { + if let OriginCaller::system(l) = x { Ok(l) } else { Err(x) } + } +} +impl From> for RuntimeOrigin { + /// Convert to runtime origin, using as filter: [`frame_system::Config::BaseCallFilter`]. + fn from(x: frame_system::Origin) -> Self { + let o: OriginCaller = x.into(); + o.into() + } +} +impl From for RuntimeOrigin { + fn from(x: OriginCaller) -> Self { + let mut o = RuntimeOrigin { + caller: x, + filter: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::rc::Rc::new( + Box::new(|_| true), + ), + }; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::OriginTrait::reset_filter( + &mut o, + ); + o + } +} +impl From +for self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + frame_system::Origin, + RuntimeOrigin, +> { + /// NOTE: converting to pallet origin loses the origin filter information. + fn from(val: RuntimeOrigin) -> Self { + if let OriginCaller::system(l) = val.caller { Ok(l) } else { Err(val) } + } +} +impl From::AccountId>> for RuntimeOrigin { + /// Convert to runtime origin with caller being system signed or none and use filter [`frame_system::Config::BaseCallFilter`]. + fn from(x: Option<::AccountId>) -> Self { + >::from(x).into() + } +} +impl From for OriginCaller { + fn from(x: pallet_xcm::Origin) -> Self { + OriginCaller::PolkadotXcm(x) + } +} +impl From for RuntimeOrigin { + /// Convert to runtime origin using [`pallet_xcm::Config::BaseCallFilter`]. + fn from(x: pallet_xcm::Origin) -> Self { + let x: OriginCaller = x.into(); + x.into() + } +} +impl From +for self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_xcm::Origin, + RuntimeOrigin, +> { + /// NOTE: converting to pallet origin loses the origin filter information. + fn from(val: RuntimeOrigin) -> Self { + if let OriginCaller::PolkadotXcm(l) = val.caller { Ok(l) } else { Err(val) } + } +} +impl TryFrom for pallet_xcm::Origin { + type Error = OriginCaller; + fn try_from( + x: OriginCaller, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + pallet_xcm::Origin, + OriginCaller, + > { + if let OriginCaller::PolkadotXcm(l) = x { Ok(l) } else { Err(x) } + } +} +impl<'a> TryFrom<&'a OriginCaller> for &'a pallet_xcm::Origin { + type Error = (); + fn try_from( + x: &'a OriginCaller, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + &'a pallet_xcm::Origin, + (), + > { + if let OriginCaller::PolkadotXcm(l) = x { Ok(&l) } else { Err(()) } + } +} +impl<'a> TryFrom<&'a RuntimeOrigin> for &'a pallet_xcm::Origin { + type Error = (); + fn try_from( + x: &'a RuntimeOrigin, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + &'a pallet_xcm::Origin, + (), + > { + if let OriginCaller::PolkadotXcm(l) = &x.caller { Ok(&l) } else { Err(()) } + } +} +impl From for OriginCaller { + fn from(x: cumulus_pallet_xcm::Origin) -> Self { + OriginCaller::CumulusXcm(x) + } +} +impl From for RuntimeOrigin { + /// Convert to runtime origin using [`cumulus_pallet_xcm::Config::BaseCallFilter`]. + fn from(x: cumulus_pallet_xcm::Origin) -> Self { + let x: OriginCaller = x.into(); + x.into() + } +} +impl From +for self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + cumulus_pallet_xcm::Origin, + RuntimeOrigin, +> { + /// NOTE: converting to pallet origin loses the origin filter information. + fn from(val: RuntimeOrigin) -> Self { + if let OriginCaller::CumulusXcm(l) = val.caller { Ok(l) } else { Err(val) } + } +} +impl TryFrom for cumulus_pallet_xcm::Origin { + type Error = OriginCaller; + fn try_from( + x: OriginCaller, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + cumulus_pallet_xcm::Origin, + OriginCaller, + > { + if let OriginCaller::CumulusXcm(l) = x { Ok(l) } else { Err(x) } + } +} +impl<'a> TryFrom<&'a OriginCaller> for &'a cumulus_pallet_xcm::Origin { + type Error = (); + fn try_from( + x: &'a OriginCaller, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + &'a cumulus_pallet_xcm::Origin, + (), + > { + if let OriginCaller::CumulusXcm(l) = x { Ok(&l) } else { Err(()) } + } +} +impl<'a> TryFrom<&'a RuntimeOrigin> for &'a cumulus_pallet_xcm::Origin { + type Error = (); + fn try_from( + x: &'a RuntimeOrigin, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< + &'a cumulus_pallet_xcm::Origin, + (), + > { + if let OriginCaller::CumulusXcm(l) = &x.caller { Ok(&l) } else { Err(()) } + } +} +pub type System = frame_system::Pallet; +pub type ParachainSystem = cumulus_pallet_parachain_system::Pallet; +pub type Timestamp = pallet_timestamp::Pallet; +pub type ParachainInfo = parachain_info::Pallet; +pub type Balances = pallet_balances::Pallet; +pub type TransactionPayment = pallet_transaction_payment::Pallet; +pub type AssetTxPayment = pallet_asset_conversion_tx_payment::Pallet; +pub type Authorship = pallet_authorship::Pallet; +pub type CollatorSelection = pallet_collator_selection::Pallet; +pub type Session = pallet_session::Pallet; +pub type Aura = pallet_aura::Pallet; +pub type AuraExt = cumulus_pallet_aura_ext::Pallet; +pub type XcmpQueue = cumulus_pallet_xcmp_queue::Pallet; +pub type PolkadotXcm = pallet_xcm::Pallet; +pub type CumulusXcm = cumulus_pallet_xcm::Pallet; +pub type DmpQueue = cumulus_pallet_dmp_queue::Pallet; +pub type Utility = pallet_utility::Pallet; +pub type Multisig = pallet_multisig::Pallet; +pub type Proxy = pallet_proxy::Pallet; +pub type Assets = pallet_assets::Pallet; +pub type Uniques = pallet_uniques::Pallet; +pub type Nfts = pallet_nfts::Pallet; +pub type ForeignAssets = pallet_assets::Pallet; +pub type NftFractionalization = pallet_nft_fractionalization::Pallet; +pub type PoolAssets = pallet_assets::Pallet; +pub type AssetConversion = pallet_asset_conversion::Pallet; +/// All pallets included in the runtime as a nested tuple of types. +#[deprecated( + note = "The type definition has changed from representing all pallets \ + excluding system, in reversed order to become the representation of all pallets \ + including system pallet in regular order. For this reason it is encouraged to use \ + explicitly one of `AllPalletsWithSystem`, `AllPalletsWithoutSystem`, \ + `AllPalletsWithSystemReversed`, `AllPalletsWithoutSystemReversed`. \ + Note that the type `frame_executive::Executive` expects one of `AllPalletsWithSystem` \ + , `AllPalletsWithSystemReversed`, `AllPalletsReversedWithSystemFirst`. More details in \ + https://github.com/paritytech/substrate/pull/10043" +)] +pub type AllPallets = AllPalletsWithSystem; +#[cfg(all(not(feature = "state-trie-version-1")))] +/// All pallets included in the runtime as a nested tuple of types. +pub type AllPalletsWithSystem = ( + System, + ParachainSystem, + Timestamp, + ParachainInfo, + Balances, + TransactionPayment, + AssetTxPayment, + Authorship, + CollatorSelection, + Session, + Aura, + AuraExt, + XcmpQueue, + PolkadotXcm, + CumulusXcm, + DmpQueue, + Utility, + Multisig, + Proxy, + Assets, + Uniques, + Nfts, + ForeignAssets, + NftFractionalization, + PoolAssets, + AssetConversion, +); +#[cfg(all(not(feature = "state-trie-version-1")))] +/// All pallets included in the runtime as a nested tuple of types. +/// Excludes the System pallet. +pub type AllPalletsWithoutSystem = ( + ParachainSystem, + Timestamp, + ParachainInfo, + Balances, + TransactionPayment, + AssetTxPayment, + Authorship, + CollatorSelection, + Session, + Aura, + AuraExt, + XcmpQueue, + PolkadotXcm, + CumulusXcm, + DmpQueue, + Utility, + Multisig, + Proxy, + Assets, + Uniques, + Nfts, + ForeignAssets, + NftFractionalization, + PoolAssets, + AssetConversion, +); +#[cfg(all(not(feature = "state-trie-version-1")))] +/// All pallets included in the runtime as a nested tuple of types in reversed order. +#[deprecated( + note = "Using reverse pallet orders is deprecated. use only \ + `AllPalletsWithSystem or AllPalletsWithoutSystem`" +)] +pub type AllPalletsWithSystemReversed = ( + AssetConversion, + PoolAssets, + NftFractionalization, + ForeignAssets, + Nfts, + Uniques, + Assets, + Proxy, + Multisig, + Utility, + DmpQueue, + CumulusXcm, + PolkadotXcm, + XcmpQueue, + AuraExt, + Aura, + Session, + CollatorSelection, + Authorship, + AssetTxPayment, + TransactionPayment, + Balances, + ParachainInfo, + Timestamp, + ParachainSystem, + System, +); +#[cfg(all(not(feature = "state-trie-version-1")))] +/// All pallets included in the runtime as a nested tuple of types in reversed order. +/// Excludes the System pallet. +#[deprecated( + note = "Using reverse pallet orders is deprecated. use only \ + `AllPalletsWithSystem or AllPalletsWithoutSystem`" +)] +pub type AllPalletsWithoutSystemReversed = ( + AssetConversion, + PoolAssets, + NftFractionalization, + ForeignAssets, + Nfts, + Uniques, + Assets, + Proxy, + Multisig, + Utility, + DmpQueue, + CumulusXcm, + PolkadotXcm, + XcmpQueue, + AuraExt, + Aura, + Session, + CollatorSelection, + Authorship, + AssetTxPayment, + TransactionPayment, + Balances, + ParachainInfo, + Timestamp, + ParachainSystem, +); +#[cfg(all(not(feature = "state-trie-version-1")))] +/// All pallets included in the runtime as a nested tuple of types in reversed order. +/// With the system pallet first. +#[deprecated( + note = "Using reverse pallet orders is deprecated. use only \ + `AllPalletsWithSystem or AllPalletsWithoutSystem`" +)] +pub type AllPalletsReversedWithSystemFirst = ( + System, + AssetConversion, + PoolAssets, + NftFractionalization, + ForeignAssets, + Nfts, + Uniques, + Assets, + Proxy, + Multisig, + Utility, + DmpQueue, + CumulusXcm, + PolkadotXcm, + XcmpQueue, + AuraExt, + Aura, + Session, + CollatorSelection, + Authorship, + AssetTxPayment, + TransactionPayment, + Balances, + ParachainInfo, + Timestamp, + ParachainSystem, +); +/// Provides an implementation of `PalletInfo` to provide information +/// about the pallet setup in the runtime. +pub struct PalletInfo; +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfo +for PalletInfo { + fn index() -> Option { + let type_id = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + P, + >(); + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + System, + >() + { + return Some(0usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ParachainSystem, + >() + { + return Some(1usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Timestamp, + >() + { + return Some(3usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ParachainInfo, + >() + { + return Some(4usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Balances, + >() + { + return Some(10usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + TransactionPayment, + >() + { + return Some(11usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AssetTxPayment, + >() + { + return Some(13usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Authorship, + >() + { + return Some(20usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + CollatorSelection, + >() + { + return Some(21usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Session, + >() + { + return Some(22usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Aura, + >() + { + return Some(23usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AuraExt, + >() + { + return Some(24usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + XcmpQueue, + >() + { + return Some(30usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + PolkadotXcm, + >() + { + return Some(31usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + CumulusXcm, + >() + { + return Some(32usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + DmpQueue, + >() + { + return Some(33usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Utility, + >() + { + return Some(40usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Multisig, + >() + { + return Some(41usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Proxy, + >() + { + return Some(42usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Assets, + >() + { + return Some(50usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Uniques, + >() + { + return Some(51usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Nfts, + >() + { + return Some(52usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ForeignAssets, + >() + { + return Some(53usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + NftFractionalization, + >() + { + return Some(54usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + PoolAssets, + >() + { + return Some(55usize); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AssetConversion, + >() + { + return Some(56usize); + } + None + } + fn name() -> Option<&'static str> { + let type_id = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + P, + >(); + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + System, + >() + { + return Some("System"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ParachainSystem, + >() + { + return Some("ParachainSystem"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Timestamp, + >() + { + return Some("Timestamp"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ParachainInfo, + >() + { + return Some("ParachainInfo"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Balances, + >() + { + return Some("Balances"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + TransactionPayment, + >() + { + return Some("TransactionPayment"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AssetTxPayment, + >() + { + return Some("AssetTxPayment"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Authorship, + >() + { + return Some("Authorship"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + CollatorSelection, + >() + { + return Some("CollatorSelection"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Session, + >() + { + return Some("Session"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Aura, + >() + { + return Some("Aura"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AuraExt, + >() + { + return Some("AuraExt"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + XcmpQueue, + >() + { + return Some("XcmpQueue"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + PolkadotXcm, + >() + { + return Some("PolkadotXcm"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + CumulusXcm, + >() + { + return Some("CumulusXcm"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + DmpQueue, + >() + { + return Some("DmpQueue"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Utility, + >() + { + return Some("Utility"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Multisig, + >() + { + return Some("Multisig"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Proxy, + >() + { + return Some("Proxy"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Assets, + >() + { + return Some("Assets"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Uniques, + >() + { + return Some("Uniques"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Nfts, + >() + { + return Some("Nfts"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ForeignAssets, + >() + { + return Some("ForeignAssets"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + NftFractionalization, + >() + { + return Some("NftFractionalization"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + PoolAssets, + >() + { + return Some("PoolAssets"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AssetConversion, + >() + { + return Some("AssetConversion"); + } + None + } + fn name_hash() -> Option<[u8; 16]> { + let type_id = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + P, + >(); + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + System, + >() + { + return Some([ + 38u8, + 170u8, + 57u8, + 78u8, + 234u8, + 86u8, + 48u8, + 224u8, + 124u8, + 72u8, + 174u8, + 12u8, + 149u8, + 88u8, + 206u8, + 247u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ParachainSystem, + >() + { + return Some([ + 69u8, + 50u8, + 61u8, + 247u8, + 204u8, + 71u8, + 21u8, + 11u8, + 57u8, + 48u8, + 226u8, + 102u8, + 107u8, + 10u8, + 163u8, + 19u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Timestamp, + >() + { + return Some([ + 240u8, + 195u8, + 101u8, + 195u8, + 207u8, + 89u8, + 214u8, + 113u8, + 235u8, + 114u8, + 218u8, + 14u8, + 122u8, + 65u8, + 19u8, + 196u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ParachainInfo, + >() + { + return Some([ + 13u8, + 113u8, + 95u8, + 38u8, + 70u8, + 200u8, + 248u8, + 87u8, + 103u8, + 181u8, + 210u8, + 118u8, + 75u8, + 178u8, + 120u8, + 38u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Balances, + >() + { + return Some([ + 194u8, + 38u8, + 18u8, + 118u8, + 204u8, + 157u8, + 31u8, + 133u8, + 152u8, + 234u8, + 75u8, + 106u8, + 116u8, + 177u8, + 92u8, + 47u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + TransactionPayment, + >() + { + return Some([ + 63u8, + 20u8, + 103u8, + 160u8, + 150u8, + 188u8, + 215u8, + 26u8, + 91u8, + 106u8, + 12u8, + 129u8, + 85u8, + 226u8, + 8u8, + 16u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AssetTxPayment, + >() + { + return Some([ + 38u8, + 122u8, + 218u8, + 22u8, + 64u8, + 85u8, + 41u8, + 194u8, + 247u8, + 239u8, + 39u8, + 39u8, + 215u8, + 30u8, + 219u8, + 222u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Authorship, + >() + { + return Some([ + 213u8, + 123u8, + 206u8, + 84u8, + 95u8, + 179u8, + 130u8, + 195u8, + 69u8, + 112u8, + 229u8, + 223u8, + 191u8, + 51u8, + 143u8, + 94u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + CollatorSelection, + >() + { + return Some([ + 21u8, + 70u8, + 76u8, + 172u8, + 51u8, + 120u8, + 212u8, + 111u8, + 17u8, + 60u8, + 213u8, + 183u8, + 164u8, + 215u8, + 28u8, + 132u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Session, + >() + { + return Some([ + 206u8, + 197u8, + 7u8, + 13u8, + 96u8, + 157u8, + 211u8, + 73u8, + 127u8, + 114u8, + 189u8, + 224u8, + 127u8, + 201u8, + 107u8, + 160u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Aura, + >() + { + return Some([ + 87u8, + 248u8, + 220u8, + 47u8, + 90u8, + 176u8, + 148u8, + 103u8, + 137u8, + 111u8, + 71u8, + 48u8, + 15u8, + 4u8, + 36u8, + 56u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AuraExt, + >() + { + return Some([ + 60u8, + 49u8, + 29u8, + 87u8, + 212u8, + 218u8, + 245u8, + 41u8, + 4u8, + 97u8, + 108u8, + 246u8, + 150u8, + 72u8, + 8u8, + 30u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + XcmpQueue, + >() + { + return Some([ + 123u8, + 50u8, + 55u8, + 55u8, + 63u8, + 253u8, + 254u8, + 177u8, + 202u8, + 180u8, + 34u8, + 46u8, + 59u8, + 82u8, + 13u8, + 107u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + PolkadotXcm, + >() + { + return Some([ + 227u8, + 143u8, + 24u8, + 82u8, + 7u8, + 73u8, + 138u8, + 187u8, + 92u8, + 33u8, + 61u8, + 15u8, + 176u8, + 89u8, + 179u8, + 216u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + CumulusXcm, + >() + { + return Some([ + 121u8, + 226u8, + 254u8, + 93u8, + 50u8, + 113u8, + 101u8, + 0u8, + 31u8, + 130u8, + 50u8, + 100u8, + 48u8, + 35u8, + 237u8, + 139u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + DmpQueue, + >() + { + return Some([ + 205u8, + 92u8, + 31u8, + 109u8, + 246u8, + 59u8, + 201u8, + 127u8, + 74u8, + 140u8, + 227u8, + 127u8, + 20u8, + 165u8, + 12u8, + 167u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Utility, + >() + { + return Some([ + 213u8, + 225u8, + 162u8, + 250u8, + 22u8, + 115u8, + 44u8, + 230u8, + 144u8, + 97u8, + 137u8, + 67u8, + 140u8, + 10u8, + 130u8, + 198u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Multisig, + >() + { + return Some([ + 116u8, + 116u8, + 68u8, + 156u8, + 202u8, + 149u8, + 220u8, + 93u8, + 12u8, + 0u8, + 231u8, + 23u8, + 53u8, + 166u8, + 209u8, + 125u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Proxy, + >() + { + return Some([ + 24u8, + 9u8, + 215u8, + 131u8, + 70u8, + 114u8, + 122u8, + 14u8, + 245u8, + 140u8, + 15u8, + 160u8, + 59u8, + 175u8, + 163u8, + 35u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Assets, + >() + { + return Some([ + 104u8, + 42u8, + 89u8, + 213u8, + 26u8, + 185u8, + 228u8, + 138u8, + 140u8, + 140u8, + 196u8, + 24u8, + 255u8, + 151u8, + 8u8, + 210u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Uniques, + >() + { + return Some([ + 94u8, + 138u8, + 25u8, + 227u8, + 205u8, + 27u8, + 124u8, + 20u8, + 139u8, + 51u8, + 136u8, + 12u8, + 71u8, + 156u8, + 2u8, + 129u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Nfts, + >() + { + return Some([ + 232u8, + 212u8, + 147u8, + 137u8, + 194u8, + 226u8, + 62u8, + 21u8, + 47u8, + 221u8, + 99u8, + 100u8, + 218u8, + 173u8, + 210u8, + 204u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ForeignAssets, + >() + { + return Some([ + 48u8, + 230u8, + 74u8, + 86u8, + 2u8, + 111u8, + 75u8, + 94u8, + 60u8, + 45u8, + 25u8, + 98u8, + 131u8, + 169u8, + 161u8, + 125u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + NftFractionalization, + >() + { + return Some([ + 230u8, + 255u8, + 9u8, + 92u8, + 139u8, + 243u8, + 137u8, + 146u8, + 239u8, + 116u8, + 139u8, + 16u8, + 55u8, + 163u8, + 8u8, + 175u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + PoolAssets, + >() + { + return Some([ + 77u8, + 176u8, + 107u8, + 161u8, + 202u8, + 111u8, + 24u8, + 177u8, + 237u8, + 176u8, + 111u8, + 240u8, + 130u8, + 210u8, + 68u8, + 9u8, + ]); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AssetConversion, + >() + { + return Some([ + 181u8, + 38u8, + 6u8, + 218u8, + 128u8, + 208u8, + 42u8, + 179u8, + 116u8, + 66u8, + 131u8, + 105u8, + 165u8, + 242u8, + 70u8, + 241u8, + ]); + } + None + } + fn module_name() -> Option<&'static str> { + let type_id = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + P, + >(); + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + System, + >() + { + return Some("frame_system"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ParachainSystem, + >() + { + return Some("cumulus_pallet_parachain_system"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Timestamp, + >() + { + return Some("pallet_timestamp"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ParachainInfo, + >() + { + return Some("parachain_info"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Balances, + >() + { + return Some("pallet_balances"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + TransactionPayment, + >() + { + return Some("pallet_transaction_payment"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AssetTxPayment, + >() + { + return Some("pallet_asset_conversion_tx_payment"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Authorship, + >() + { + return Some("pallet_authorship"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + CollatorSelection, + >() + { + return Some("pallet_collator_selection"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Session, + >() + { + return Some("pallet_session"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Aura, + >() + { + return Some("pallet_aura"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AuraExt, + >() + { + return Some("cumulus_pallet_aura_ext"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + XcmpQueue, + >() + { + return Some("cumulus_pallet_xcmp_queue"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + PolkadotXcm, + >() + { + return Some("pallet_xcm"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + CumulusXcm, + >() + { + return Some("cumulus_pallet_xcm"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + DmpQueue, + >() + { + return Some("cumulus_pallet_dmp_queue"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Utility, + >() + { + return Some("pallet_utility"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Multisig, + >() + { + return Some("pallet_multisig"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Proxy, + >() + { + return Some("pallet_proxy"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Assets, + >() + { + return Some("pallet_assets"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Uniques, + >() + { + return Some("pallet_uniques"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Nfts, + >() + { + return Some("pallet_nfts"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ForeignAssets, + >() + { + return Some("pallet_assets"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + NftFractionalization, + >() + { + return Some("pallet_nft_fractionalization"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + PoolAssets, + >() + { + return Some("pallet_assets"); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AssetConversion, + >() + { + return Some("pallet_asset_conversion"); + } + None + } + fn crate_version() -> Option< + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CrateVersion, + > { + let type_id = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + P, + >(); + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + System, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ParachainSystem, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Timestamp, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ParachainInfo, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Balances, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + TransactionPayment, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AssetTxPayment, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Authorship, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + CollatorSelection, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Session, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Aura, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AuraExt, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + XcmpQueue, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + PolkadotXcm, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + CumulusXcm, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + DmpQueue, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Utility, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Multisig, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Proxy, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Assets, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Uniques, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + Nfts, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + ForeignAssets, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + NftFractionalization, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + PoolAssets, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + if type_id + == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< + AssetConversion, + >() + { + return Some( + as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), + ); + } + None + } +} +pub enum RuntimeCall { + #[codec(index = 0u8)] + System( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + System, + Runtime, + >, + ), + #[codec(index = 1u8)] + ParachainSystem( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ParachainSystem, + Runtime, + >, + ), + #[codec(index = 3u8)] + Timestamp( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Timestamp, + Runtime, + >, + ), + #[codec(index = 10u8)] + Balances( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Balances, + Runtime, + >, + ), + #[codec(index = 21u8)] + CollatorSelection( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + CollatorSelection, + Runtime, + >, + ), + #[codec(index = 22u8)] + Session( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Session, + Runtime, + >, + ), + #[codec(index = 30u8)] + XcmpQueue( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + XcmpQueue, + Runtime, + >, + ), + #[codec(index = 31u8)] + PolkadotXcm( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PolkadotXcm, + Runtime, + >, + ), + #[codec(index = 33u8)] + DmpQueue( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + DmpQueue, + Runtime, + >, + ), + #[codec(index = 40u8)] + Utility( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Utility, + Runtime, + >, + ), + #[codec(index = 41u8)] + Multisig( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Multisig, + Runtime, + >, + ), + #[codec(index = 42u8)] + Proxy( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Proxy, + Runtime, + >, + ), + #[codec(index = 50u8)] + Assets( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Assets, + Runtime, + >, + ), + #[codec(index = 51u8)] + Uniques( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Uniques, + Runtime, + >, + ), + #[codec(index = 52u8)] + Nfts( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Nfts, + Runtime, + >, + ), + #[codec(index = 53u8)] + ForeignAssets( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ForeignAssets, + Runtime, + >, + ), + #[codec(index = 54u8)] + NftFractionalization( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + NftFractionalization, + Runtime, + >, + ), + #[codec(index = 55u8)] + PoolAssets( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PoolAssets, + Runtime, + >, + ), + #[codec(index = 56u8)] + AssetConversion( + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + AssetConversion, + Runtime, + >, + ), +} +#[automatically_derived] +impl ::core::clone::Clone for RuntimeCall { + #[inline] + fn clone(&self) -> RuntimeCall { + match self { + RuntimeCall::System(__self_0) => { + RuntimeCall::System(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::ParachainSystem(__self_0) => { + RuntimeCall::ParachainSystem(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::Timestamp(__self_0) => { + RuntimeCall::Timestamp(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::Balances(__self_0) => { + RuntimeCall::Balances(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::CollatorSelection(__self_0) => { + RuntimeCall::CollatorSelection(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::Session(__self_0) => { + RuntimeCall::Session(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::XcmpQueue(__self_0) => { + RuntimeCall::XcmpQueue(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::PolkadotXcm(__self_0) => { + RuntimeCall::PolkadotXcm(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::DmpQueue(__self_0) => { + RuntimeCall::DmpQueue(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::Utility(__self_0) => { + RuntimeCall::Utility(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::Multisig(__self_0) => { + RuntimeCall::Multisig(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::Proxy(__self_0) => { + RuntimeCall::Proxy(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::Assets(__self_0) => { + RuntimeCall::Assets(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::Uniques(__self_0) => { + RuntimeCall::Uniques(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::Nfts(__self_0) => { + RuntimeCall::Nfts(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::ForeignAssets(__self_0) => { + RuntimeCall::ForeignAssets(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::NftFractionalization(__self_0) => { + RuntimeCall::NftFractionalization(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::PoolAssets(__self_0) => { + RuntimeCall::PoolAssets(::core::clone::Clone::clone(__self_0)) + } + RuntimeCall::AssetConversion(__self_0) => { + RuntimeCall::AssetConversion(::core::clone::Clone::clone(__self_0)) + } + } + } +} +#[automatically_derived] +impl ::core::marker::StructuralPartialEq for RuntimeCall {} +#[automatically_derived] +impl ::core::cmp::PartialEq for RuntimeCall { + #[inline] + fn eq(&self, other: &RuntimeCall) -> bool { + let __self_tag = ::core::intrinsics::discriminant_value(self); + let __arg1_tag = ::core::intrinsics::discriminant_value(other); + __self_tag == __arg1_tag + && match (self, other) { + (RuntimeCall::System(__self_0), RuntimeCall::System(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + ( + RuntimeCall::ParachainSystem(__self_0), + RuntimeCall::ParachainSystem(__arg1_0), + ) => *__self_0 == *__arg1_0, + (RuntimeCall::Timestamp(__self_0), RuntimeCall::Timestamp(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeCall::Balances(__self_0), RuntimeCall::Balances(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + ( + RuntimeCall::CollatorSelection(__self_0), + RuntimeCall::CollatorSelection(__arg1_0), + ) => *__self_0 == *__arg1_0, + (RuntimeCall::Session(__self_0), RuntimeCall::Session(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeCall::XcmpQueue(__self_0), RuntimeCall::XcmpQueue(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + ( + RuntimeCall::PolkadotXcm(__self_0), + RuntimeCall::PolkadotXcm(__arg1_0), + ) => *__self_0 == *__arg1_0, + (RuntimeCall::DmpQueue(__self_0), RuntimeCall::DmpQueue(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeCall::Utility(__self_0), RuntimeCall::Utility(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeCall::Multisig(__self_0), RuntimeCall::Multisig(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeCall::Proxy(__self_0), RuntimeCall::Proxy(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeCall::Assets(__self_0), RuntimeCall::Assets(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeCall::Uniques(__self_0), RuntimeCall::Uniques(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + (RuntimeCall::Nfts(__self_0), RuntimeCall::Nfts(__arg1_0)) => { + *__self_0 == *__arg1_0 + } + ( + RuntimeCall::ForeignAssets(__self_0), + RuntimeCall::ForeignAssets(__arg1_0), + ) => *__self_0 == *__arg1_0, + ( + RuntimeCall::NftFractionalization(__self_0), + RuntimeCall::NftFractionalization(__arg1_0), + ) => *__self_0 == *__arg1_0, + ( + RuntimeCall::PoolAssets(__self_0), + RuntimeCall::PoolAssets(__arg1_0), + ) => *__self_0 == *__arg1_0, + ( + RuntimeCall::AssetConversion(__self_0), + RuntimeCall::AssetConversion(__arg1_0), + ) => *__self_0 == *__arg1_0, + _ => unsafe { ::core::intrinsics::unreachable() } + } + } +} +#[automatically_derived] +impl ::core::marker::StructuralEq for RuntimeCall {} +#[automatically_derived] +impl ::core::cmp::Eq for RuntimeCall { + #[inline] + #[doc(hidden)] + #[coverage(off)] + fn assert_receiver_is_total_eq(&self) -> () { + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + System, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ParachainSystem, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Timestamp, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Balances, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + CollatorSelection, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Session, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + XcmpQueue, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PolkadotXcm, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + DmpQueue, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Utility, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Multisig, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Proxy, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Assets, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Uniques, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Nfts, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ForeignAssets, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + NftFractionalization, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PoolAssets, + Runtime, + >, + >; + let _: ::core::cmp::AssertParamIsEq< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + AssetConversion, + Runtime, + >, + >; + } +} +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Encode for RuntimeCall { + fn size_hint(&self) -> usize { + 1_usize + + match *self { + RuntimeCall::System(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::ParachainSystem(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::Timestamp(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::Balances(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::CollatorSelection(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::Session(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::XcmpQueue(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::PolkadotXcm(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::DmpQueue(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::Utility(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::Multisig(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::Proxy(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::Assets(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::Uniques(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::Nfts(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::ForeignAssets(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::NftFractionalization(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::PoolAssets(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + RuntimeCall::AssetConversion(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + _ => 0_usize, + } + } + fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy, + ) { + match *self { + RuntimeCall::System(ref aa) => { + __codec_dest_edqy.push_byte(0u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::ParachainSystem(ref aa) => { + __codec_dest_edqy.push_byte(1u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::Timestamp(ref aa) => { + __codec_dest_edqy.push_byte(3u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::Balances(ref aa) => { + __codec_dest_edqy.push_byte(10u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::CollatorSelection(ref aa) => { + __codec_dest_edqy.push_byte(21u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::Session(ref aa) => { + __codec_dest_edqy.push_byte(22u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::XcmpQueue(ref aa) => { + __codec_dest_edqy.push_byte(30u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::PolkadotXcm(ref aa) => { + __codec_dest_edqy.push_byte(31u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::DmpQueue(ref aa) => { + __codec_dest_edqy.push_byte(33u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::Utility(ref aa) => { + __codec_dest_edqy.push_byte(40u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::Multisig(ref aa) => { + __codec_dest_edqy.push_byte(41u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::Proxy(ref aa) => { + __codec_dest_edqy.push_byte(42u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::Assets(ref aa) => { + __codec_dest_edqy.push_byte(50u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::Uniques(ref aa) => { + __codec_dest_edqy.push_byte(51u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::Nfts(ref aa) => { + __codec_dest_edqy.push_byte(52u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::ForeignAssets(ref aa) => { + __codec_dest_edqy.push_byte(53u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::NftFractionalization(ref aa) => { + __codec_dest_edqy.push_byte(54u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::PoolAssets(ref aa) => { + __codec_dest_edqy.push_byte(55u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + RuntimeCall::AssetConversion(ref aa) => { + __codec_dest_edqy.push_byte(56u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + _ => {} + } + } + } + #[automatically_derived] + impl ::codec::EncodeLike for RuntimeCall {} +}; +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Decode for RuntimeCall { + fn decode<__CodecInputEdqy: ::codec::Input>( + __codec_input_edqy: &mut __CodecInputEdqy, + ) -> ::core::result::Result { + match __codec_input_edqy + .read_byte() + .map_err(|e| { + e + .chain( + "Could not decode `RuntimeCall`, failed to read variant byte", + ) + })? + { + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 0u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::System({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::System.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 1u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::ParachainSystem({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::ParachainSystem.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 3u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::Timestamp({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::Timestamp.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 10u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::Balances({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::Balances.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 21u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::CollatorSelection({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain( + "Could not decode `RuntimeCall::CollatorSelection.0`", + ), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 22u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::Session({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::Session.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 30u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::XcmpQueue({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::XcmpQueue.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 31u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::PolkadotXcm({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::PolkadotXcm.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 33u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::DmpQueue({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::DmpQueue.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 40u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::Utility({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::Utility.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 41u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::Multisig({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::Multisig.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 42u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::Proxy({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::Proxy.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 50u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::Assets({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::Assets.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 51u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::Uniques({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::Uniques.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 52u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::Nfts({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::Nfts.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 53u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::ForeignAssets({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::ForeignAssets.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 54u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::NftFractionalization({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain( + "Could not decode `RuntimeCall::NftFractionalization.0`", + ), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 55u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::PoolAssets({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::PoolAssets.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 56u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeCall::AssetConversion({ + let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e.chain("Could not decode `RuntimeCall::AssetConversion.0`"), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + _ => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Err( + <_ as ::core::convert::Into< + _, + >>::into( + "Could not decode `RuntimeCall`, variant doesn't exist", + ), + ) + })(); + } + } + } + } +}; +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + impl ::scale_info::TypeInfo for RuntimeCall { + type Identity = Self; + fn type_info() -> ::scale_info::Type { + ::scale_info::Type::builder() + .path(::scale_info::Path::new("RuntimeCall", "asset_hub_kusama_runtime")) + .type_params(::alloc::vec::Vec::new()) + .variant( + ::scale_info::build::Variants::new() + .variant( + "System", + |v| { + v + .index(0u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + System, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "ParachainSystem", + |v| { + v + .index(1u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ParachainSystem, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "Timestamp", + |v| { + v + .index(3u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Timestamp, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "Balances", + |v| { + v + .index(10u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Balances, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "CollatorSelection", + |v| { + v + .index(21u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + CollatorSelection, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "Session", + |v| { + v + .index(22u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Session, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "XcmpQueue", + |v| { + v + .index(30u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + XcmpQueue, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "PolkadotXcm", + |v| { + v + .index(31u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PolkadotXcm, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "DmpQueue", + |v| { + v + .index(33u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + DmpQueue, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "Utility", + |v| { + v + .index(40u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Utility, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "Multisig", + |v| { + v + .index(41u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Multisig, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "Proxy", + |v| { + v + .index(42u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Proxy, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "Assets", + |v| { + v + .index(50u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Assets, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "Uniques", + |v| { + v + .index(51u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Uniques, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "Nfts", + |v| { + v + .index(52u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Nfts, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "ForeignAssets", + |v| { + v + .index(53u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ForeignAssets, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "NftFractionalization", + |v| { + v + .index(54u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + NftFractionalization, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "PoolAssets", + |v| { + v + .index(55u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PoolAssets, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ) + .variant( + "AssetConversion", + |v| { + v + .index(56u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + AssetConversion, + Runtime, + >, + >() + .type_name( + "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", + ) + }), + ) + }, + ), + ) + } + } +}; +impl core::fmt::Debug for RuntimeCall { + fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { + match self { + Self::System(ref a0) => { + fmt.debug_tuple("RuntimeCall::System").field(a0).finish() + } + Self::ParachainSystem(ref a0) => { + fmt.debug_tuple("RuntimeCall::ParachainSystem").field(a0).finish() + } + Self::Timestamp(ref a0) => { + fmt.debug_tuple("RuntimeCall::Timestamp").field(a0).finish() + } + Self::Balances(ref a0) => { + fmt.debug_tuple("RuntimeCall::Balances").field(a0).finish() + } + Self::CollatorSelection(ref a0) => { + fmt.debug_tuple("RuntimeCall::CollatorSelection").field(a0).finish() + } + Self::Session(ref a0) => { + fmt.debug_tuple("RuntimeCall::Session").field(a0).finish() + } + Self::XcmpQueue(ref a0) => { + fmt.debug_tuple("RuntimeCall::XcmpQueue").field(a0).finish() + } + Self::PolkadotXcm(ref a0) => { + fmt.debug_tuple("RuntimeCall::PolkadotXcm").field(a0).finish() + } + Self::DmpQueue(ref a0) => { + fmt.debug_tuple("RuntimeCall::DmpQueue").field(a0).finish() + } + Self::Utility(ref a0) => { + fmt.debug_tuple("RuntimeCall::Utility").field(a0).finish() + } + Self::Multisig(ref a0) => { + fmt.debug_tuple("RuntimeCall::Multisig").field(a0).finish() + } + Self::Proxy(ref a0) => { + fmt.debug_tuple("RuntimeCall::Proxy").field(a0).finish() + } + Self::Assets(ref a0) => { + fmt.debug_tuple("RuntimeCall::Assets").field(a0).finish() + } + Self::Uniques(ref a0) => { + fmt.debug_tuple("RuntimeCall::Uniques").field(a0).finish() + } + Self::Nfts(ref a0) => fmt.debug_tuple("RuntimeCall::Nfts").field(a0).finish(), + Self::ForeignAssets(ref a0) => { + fmt.debug_tuple("RuntimeCall::ForeignAssets").field(a0).finish() + } + Self::NftFractionalization(ref a0) => { + fmt.debug_tuple("RuntimeCall::NftFractionalization").field(a0).finish() + } + Self::PoolAssets(ref a0) => { + fmt.debug_tuple("RuntimeCall::PoolAssets").field(a0).finish() + } + Self::AssetConversion(ref a0) => { + fmt.debug_tuple("RuntimeCall::AssetConversion").field(a0).finish() + } + _ => Ok(()), + } + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::GetDispatchInfo +for RuntimeCall { + fn get_dispatch_info( + &self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::DispatchInfo { + match self { + RuntimeCall::System(call) => call.get_dispatch_info(), + RuntimeCall::ParachainSystem(call) => call.get_dispatch_info(), + RuntimeCall::Timestamp(call) => call.get_dispatch_info(), + RuntimeCall::Balances(call) => call.get_dispatch_info(), + RuntimeCall::CollatorSelection(call) => call.get_dispatch_info(), + RuntimeCall::Session(call) => call.get_dispatch_info(), + RuntimeCall::XcmpQueue(call) => call.get_dispatch_info(), + RuntimeCall::PolkadotXcm(call) => call.get_dispatch_info(), + RuntimeCall::DmpQueue(call) => call.get_dispatch_info(), + RuntimeCall::Utility(call) => call.get_dispatch_info(), + RuntimeCall::Multisig(call) => call.get_dispatch_info(), + RuntimeCall::Proxy(call) => call.get_dispatch_info(), + RuntimeCall::Assets(call) => call.get_dispatch_info(), + RuntimeCall::Uniques(call) => call.get_dispatch_info(), + RuntimeCall::Nfts(call) => call.get_dispatch_info(), + RuntimeCall::ForeignAssets(call) => call.get_dispatch_info(), + RuntimeCall::NftFractionalization(call) => call.get_dispatch_info(), + RuntimeCall::PoolAssets(call) => call.get_dispatch_info(), + RuntimeCall::AssetConversion(call) => call.get_dispatch_info(), + } + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::GetCallMetadata +for RuntimeCall { + fn get_call_metadata( + &self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + use self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::GetCallName; + match self { + RuntimeCall::System(call) => { + let function_name = call.get_call_name(); + let pallet_name = "System"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::ParachainSystem(call) => { + let function_name = call.get_call_name(); + let pallet_name = "ParachainSystem"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::Timestamp(call) => { + let function_name = call.get_call_name(); + let pallet_name = "Timestamp"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::Balances(call) => { + let function_name = call.get_call_name(); + let pallet_name = "Balances"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::CollatorSelection(call) => { + let function_name = call.get_call_name(); + let pallet_name = "CollatorSelection"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::Session(call) => { + let function_name = call.get_call_name(); + let pallet_name = "Session"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::XcmpQueue(call) => { + let function_name = call.get_call_name(); + let pallet_name = "XcmpQueue"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::PolkadotXcm(call) => { + let function_name = call.get_call_name(); + let pallet_name = "PolkadotXcm"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::DmpQueue(call) => { + let function_name = call.get_call_name(); + let pallet_name = "DmpQueue"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::Utility(call) => { + let function_name = call.get_call_name(); + let pallet_name = "Utility"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::Multisig(call) => { + let function_name = call.get_call_name(); + let pallet_name = "Multisig"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::Proxy(call) => { + let function_name = call.get_call_name(); + let pallet_name = "Proxy"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::Assets(call) => { + let function_name = call.get_call_name(); + let pallet_name = "Assets"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::Uniques(call) => { + let function_name = call.get_call_name(); + let pallet_name = "Uniques"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::Nfts(call) => { + let function_name = call.get_call_name(); + let pallet_name = "Nfts"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::ForeignAssets(call) => { + let function_name = call.get_call_name(); + let pallet_name = "ForeignAssets"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::NftFractionalization(call) => { + let function_name = call.get_call_name(); + let pallet_name = "NftFractionalization"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::PoolAssets(call) => { + let function_name = call.get_call_name(); + let pallet_name = "PoolAssets"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + RuntimeCall::AssetConversion(call) => { + let function_name = call.get_call_name(); + let pallet_name = "AssetConversion"; + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { + function_name, + pallet_name, + } + } + } + } + fn get_module_names() -> &'static [&'static str] { + &[ + "System", + "ParachainSystem", + "Timestamp", + "Balances", + "CollatorSelection", + "Session", + "XcmpQueue", + "PolkadotXcm", + "DmpQueue", + "Utility", + "Multisig", + "Proxy", + "Assets", + "Uniques", + "Nfts", + "ForeignAssets", + "NftFractionalization", + "PoolAssets", + "AssetConversion", + ] + } + fn get_call_names(module: &str) -> &'static [&'static str] { + use self::sp_api_hidden_includes_construct_runtime::hidden_include::{ + dispatch::Callable, traits::GetCallName, + }; + match module { + "System" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "ParachainSystem" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "Timestamp" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "Balances" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "CollatorSelection" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "Session" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "XcmpQueue" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "PolkadotXcm" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "DmpQueue" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "Utility" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "Multisig" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "Proxy" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "Assets" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "Uniques" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "Nfts" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "ForeignAssets" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "NftFractionalization" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "PoolAssets" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + "AssetConversion" => { + <>::RuntimeCall as GetCallName>::get_call_names() + } + _ => ::core::panicking::panic("internal error: entered unreachable code"), + } + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::Dispatchable +for RuntimeCall { + type RuntimeOrigin = RuntimeOrigin; + type Config = RuntimeCall; + type Info = self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::DispatchInfo; + type PostInfo = self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::PostDispatchInfo; + fn dispatch( + self, + origin: RuntimeOrigin, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::DispatchResultWithPostInfo { + if !::filter_call( + &origin, + &self, + ) { + return self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result::Err( + frame_system::Error::::CallFiltered.into(), + ); + } + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + self, + origin, + ) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable +for RuntimeCall { + type RuntimeOrigin = RuntimeOrigin; + fn dispatch_bypass_filter( + self, + origin: RuntimeOrigin, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::DispatchResultWithPostInfo { + match self { + RuntimeCall::System(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::ParachainSystem(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::Timestamp(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::Balances(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::CollatorSelection(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::Session(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::XcmpQueue(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::PolkadotXcm(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::DmpQueue(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::Utility(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::Multisig(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::Proxy(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::Assets(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::Uniques(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::Nfts(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::ForeignAssets(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::NftFractionalization(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::PoolAssets(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + RuntimeCall::AssetConversion(call) => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( + call, + origin, + ) + } + } + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + System, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + System, + Runtime, + >, + > { + match self { + RuntimeCall::System(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + System, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + System, + Runtime, + >, + ) -> Self { + RuntimeCall::System(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ParachainSystem, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ParachainSystem, + Runtime, + >, + > { + match self { + RuntimeCall::ParachainSystem(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ParachainSystem, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ParachainSystem, + Runtime, + >, + ) -> Self { + RuntimeCall::ParachainSystem(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Timestamp, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Timestamp, + Runtime, + >, + > { + match self { + RuntimeCall::Timestamp(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Timestamp, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Timestamp, + Runtime, + >, + ) -> Self { + RuntimeCall::Timestamp(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Balances, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Balances, + Runtime, + >, + > { + match self { + RuntimeCall::Balances(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Balances, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Balances, + Runtime, + >, + ) -> Self { + RuntimeCall::Balances(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + CollatorSelection, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + CollatorSelection, + Runtime, + >, + > { + match self { + RuntimeCall::CollatorSelection(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + CollatorSelection, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + CollatorSelection, + Runtime, + >, + ) -> Self { + RuntimeCall::CollatorSelection(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Session, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Session, + Runtime, + >, + > { + match self { + RuntimeCall::Session(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Session, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Session, + Runtime, + >, + ) -> Self { + RuntimeCall::Session(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + XcmpQueue, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + XcmpQueue, + Runtime, + >, + > { + match self { + RuntimeCall::XcmpQueue(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + XcmpQueue, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + XcmpQueue, + Runtime, + >, + ) -> Self { + RuntimeCall::XcmpQueue(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PolkadotXcm, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PolkadotXcm, + Runtime, + >, + > { + match self { + RuntimeCall::PolkadotXcm(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PolkadotXcm, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PolkadotXcm, + Runtime, + >, + ) -> Self { + RuntimeCall::PolkadotXcm(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + DmpQueue, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + DmpQueue, + Runtime, + >, + > { + match self { + RuntimeCall::DmpQueue(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + DmpQueue, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + DmpQueue, + Runtime, + >, + ) -> Self { + RuntimeCall::DmpQueue(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Utility, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Utility, + Runtime, + >, + > { + match self { + RuntimeCall::Utility(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Utility, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Utility, + Runtime, + >, + ) -> Self { + RuntimeCall::Utility(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Multisig, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Multisig, + Runtime, + >, + > { + match self { + RuntimeCall::Multisig(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Multisig, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Multisig, + Runtime, + >, + ) -> Self { + RuntimeCall::Multisig(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Proxy, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Proxy, + Runtime, + >, + > { + match self { + RuntimeCall::Proxy(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Proxy, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Proxy, + Runtime, + >, + ) -> Self { + RuntimeCall::Proxy(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Assets, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Assets, + Runtime, + >, + > { + match self { + RuntimeCall::Assets(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Assets, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Assets, + Runtime, + >, + ) -> Self { + RuntimeCall::Assets(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Uniques, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Uniques, + Runtime, + >, + > { + match self { + RuntimeCall::Uniques(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Uniques, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Uniques, + Runtime, + >, + ) -> Self { + RuntimeCall::Uniques(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Nfts, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Nfts, + Runtime, + >, + > { + match self { + RuntimeCall::Nfts(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Nfts, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + Nfts, + Runtime, + >, + ) -> Self { + RuntimeCall::Nfts(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ForeignAssets, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ForeignAssets, + Runtime, + >, + > { + match self { + RuntimeCall::ForeignAssets(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ForeignAssets, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + ForeignAssets, + Runtime, + >, + ) -> Self { + RuntimeCall::ForeignAssets(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + NftFractionalization, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + NftFractionalization, + Runtime, + >, + > { + match self { + RuntimeCall::NftFractionalization(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + NftFractionalization, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + NftFractionalization, + Runtime, + >, + ) -> Self { + RuntimeCall::NftFractionalization(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PoolAssets, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PoolAssets, + Runtime, + >, + > { + match self { + RuntimeCall::PoolAssets(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PoolAssets, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + PoolAssets, + Runtime, + >, + ) -> Self { + RuntimeCall::PoolAssets(call) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + AssetConversion, + Runtime, + >, +> for RuntimeCall { + #[allow(unreachable_patterns)] + fn is_sub_type( + &self, + ) -> Option< + &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + AssetConversion, + Runtime, + >, + > { + match self { + RuntimeCall::AssetConversion(call) => Some(call), + _ => None, + } + } +} +impl From< + self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + AssetConversion, + Runtime, + >, +> for RuntimeCall { + fn from( + call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< + AssetConversion, + Runtime, + >, + ) -> Self { + RuntimeCall::AssetConversion(call) + } +} +impl Runtime { + fn metadata_ir() -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::MetadataIR { + let rt = Runtime; + let ty = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + <::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic, + >(); + let address_ty = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + <<<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::SignaturePayload as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::SignaturePayload>::SignatureAddress, + >(); + let call_ty = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::Call, + >(); + let signature_ty = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + <<<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::SignaturePayload as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::SignaturePayload>::Signature, + >(); + let extra_ty = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + <<<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::SignaturePayload as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::SignaturePayload>::SignatureExtra, + >(); + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::MetadataIR { + pallets: <[_]>::into_vec( + #[rustc_box] + ::alloc::boxed::Box::new([ + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "System", + index: 0u8, + storage: Some( + frame_system::Pallet::::storage_metadata(), + ), + calls: Some(frame_system::Pallet::::call_functions()), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + frame_system::Event, + >(), + }), + constants: frame_system::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: frame_system::Pallet::::error_metadata(), + docs: frame_system::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "ParachainSystem", + index: 1u8, + storage: Some( + cumulus_pallet_parachain_system::Pallet::< + Runtime, + >::storage_metadata(), + ), + calls: Some( + cumulus_pallet_parachain_system::Pallet::< + Runtime, + >::call_functions(), + ), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + cumulus_pallet_parachain_system::Event, + >(), + }), + constants: cumulus_pallet_parachain_system::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: cumulus_pallet_parachain_system::Pallet::< + Runtime, + >::error_metadata(), + docs: cumulus_pallet_parachain_system::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "Timestamp", + index: 3u8, + storage: Some( + pallet_timestamp::Pallet::::storage_metadata(), + ), + calls: Some( + pallet_timestamp::Pallet::::call_functions(), + ), + event: None, + constants: pallet_timestamp::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_timestamp::Pallet::::error_metadata(), + docs: pallet_timestamp::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "ParachainInfo", + index: 4u8, + storage: Some( + parachain_info::Pallet::::storage_metadata(), + ), + calls: None, + event: None, + constants: parachain_info::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: parachain_info::Pallet::::error_metadata(), + docs: parachain_info::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "Balances", + index: 10u8, + storage: Some( + pallet_balances::Pallet::::storage_metadata(), + ), + calls: Some( + pallet_balances::Pallet::::call_functions(), + ), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_balances::Event, + >(), + }), + constants: pallet_balances::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_balances::Pallet::::error_metadata(), + docs: pallet_balances::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "TransactionPayment", + index: 11u8, + storage: Some( + pallet_transaction_payment::Pallet::< + Runtime, + >::storage_metadata(), + ), + calls: None, + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_transaction_payment::Event, + >(), + }), + constants: pallet_transaction_payment::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_transaction_payment::Pallet::< + Runtime, + >::error_metadata(), + docs: pallet_transaction_payment::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "AssetTxPayment", + index: 13u8, + storage: None, + calls: None, + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_asset_conversion_tx_payment::Event, + >(), + }), + constants: pallet_asset_conversion_tx_payment::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_asset_conversion_tx_payment::Pallet::< + Runtime, + >::error_metadata(), + docs: pallet_asset_conversion_tx_payment::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "Authorship", + index: 20u8, + storage: Some( + pallet_authorship::Pallet::::storage_metadata(), + ), + calls: None, + event: None, + constants: pallet_authorship::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_authorship::Pallet::::error_metadata(), + docs: pallet_authorship::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "CollatorSelection", + index: 21u8, + storage: Some( + pallet_collator_selection::Pallet::< + Runtime, + >::storage_metadata(), + ), + calls: Some( + pallet_collator_selection::Pallet::< + Runtime, + >::call_functions(), + ), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_collator_selection::Event, + >(), + }), + constants: pallet_collator_selection::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_collator_selection::Pallet::< + Runtime, + >::error_metadata(), + docs: pallet_collator_selection::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "Session", + index: 22u8, + storage: Some( + pallet_session::Pallet::::storage_metadata(), + ), + calls: Some(pallet_session::Pallet::::call_functions()), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_session::Event, + >(), + }), + constants: pallet_session::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_session::Pallet::::error_metadata(), + docs: pallet_session::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "Aura", + index: 23u8, + storage: Some( + pallet_aura::Pallet::::storage_metadata(), + ), + calls: None, + event: None, + constants: pallet_aura::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_aura::Pallet::::error_metadata(), + docs: pallet_aura::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "AuraExt", + index: 24u8, + storage: Some( + cumulus_pallet_aura_ext::Pallet::< + Runtime, + >::storage_metadata(), + ), + calls: None, + event: None, + constants: cumulus_pallet_aura_ext::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: cumulus_pallet_aura_ext::Pallet::< + Runtime, + >::error_metadata(), + docs: cumulus_pallet_aura_ext::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "XcmpQueue", + index: 30u8, + storage: Some( + cumulus_pallet_xcmp_queue::Pallet::< + Runtime, + >::storage_metadata(), + ), + calls: Some( + cumulus_pallet_xcmp_queue::Pallet::< + Runtime, + >::call_functions(), + ), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + cumulus_pallet_xcmp_queue::Event, + >(), + }), + constants: cumulus_pallet_xcmp_queue::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: cumulus_pallet_xcmp_queue::Pallet::< + Runtime, + >::error_metadata(), + docs: cumulus_pallet_xcmp_queue::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "PolkadotXcm", + index: 31u8, + storage: Some(pallet_xcm::Pallet::::storage_metadata()), + calls: Some(pallet_xcm::Pallet::::call_functions()), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_xcm::Event, + >(), + }), + constants: pallet_xcm::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_xcm::Pallet::::error_metadata(), + docs: pallet_xcm::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "CumulusXcm", + index: 32u8, + storage: None, + calls: None, + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + cumulus_pallet_xcm::Event, + >(), + }), + constants: cumulus_pallet_xcm::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: cumulus_pallet_xcm::Pallet::::error_metadata(), + docs: cumulus_pallet_xcm::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "DmpQueue", + index: 33u8, + storage: Some( + cumulus_pallet_dmp_queue::Pallet::< + Runtime, + >::storage_metadata(), + ), + calls: Some( + cumulus_pallet_dmp_queue::Pallet::::call_functions(), + ), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + cumulus_pallet_dmp_queue::Event, + >(), + }), + constants: cumulus_pallet_dmp_queue::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: cumulus_pallet_dmp_queue::Pallet::< + Runtime, + >::error_metadata(), + docs: cumulus_pallet_dmp_queue::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "Utility", + index: 40u8, + storage: None, + calls: Some(pallet_utility::Pallet::::call_functions()), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_utility::Event, + >(), + }), + constants: pallet_utility::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_utility::Pallet::::error_metadata(), + docs: pallet_utility::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "Multisig", + index: 41u8, + storage: Some( + pallet_multisig::Pallet::::storage_metadata(), + ), + calls: Some( + pallet_multisig::Pallet::::call_functions(), + ), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_multisig::Event, + >(), + }), + constants: pallet_multisig::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_multisig::Pallet::::error_metadata(), + docs: pallet_multisig::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "Proxy", + index: 42u8, + storage: Some( + pallet_proxy::Pallet::::storage_metadata(), + ), + calls: Some(pallet_proxy::Pallet::::call_functions()), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_proxy::Event, + >(), + }), + constants: pallet_proxy::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_proxy::Pallet::::error_metadata(), + docs: pallet_proxy::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "Assets", + index: 50u8, + storage: Some( + pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance1, + >::storage_metadata(), + ), + calls: Some( + pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance1, + >::call_functions(), + ), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_assets::Event, + >(), + }), + constants: pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance1, + >::pallet_constants_metadata(), + error: pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance1, + >::error_metadata(), + docs: pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance1, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "Uniques", + index: 51u8, + storage: Some( + pallet_uniques::Pallet::::storage_metadata(), + ), + calls: Some(pallet_uniques::Pallet::::call_functions()), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_uniques::Event, + >(), + }), + constants: pallet_uniques::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_uniques::Pallet::::error_metadata(), + docs: pallet_uniques::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "Nfts", + index: 52u8, + storage: Some( + pallet_nfts::Pallet::::storage_metadata(), + ), + calls: Some(pallet_nfts::Pallet::::call_functions()), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_nfts::Event, + >(), + }), + constants: pallet_nfts::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_nfts::Pallet::::error_metadata(), + docs: pallet_nfts::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "ForeignAssets", + index: 53u8, + storage: Some( + pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance2, + >::storage_metadata(), + ), + calls: Some( + pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance2, + >::call_functions(), + ), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_assets::Event, + >(), + }), + constants: pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance2, + >::pallet_constants_metadata(), + error: pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance2, + >::error_metadata(), + docs: pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance2, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "NftFractionalization", + index: 54u8, + storage: Some( + pallet_nft_fractionalization::Pallet::< + Runtime, + >::storage_metadata(), + ), + calls: Some( + pallet_nft_fractionalization::Pallet::< + Runtime, + >::call_functions(), + ), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_nft_fractionalization::Event, + >(), + }), + constants: pallet_nft_fractionalization::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_nft_fractionalization::Pallet::< + Runtime, + >::error_metadata(), + docs: pallet_nft_fractionalization::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "PoolAssets", + index: 55u8, + storage: Some( + pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance3, + >::storage_metadata(), + ), + calls: Some( + pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance3, + >::call_functions(), + ), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_assets::Event, + >(), + }), + constants: pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance3, + >::pallet_constants_metadata(), + error: pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance3, + >::error_metadata(), + docs: pallet_assets::Pallet::< + Runtime, + pallet_assets::Instance3, + >::pallet_documentation_metadata(), + }, + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { + name: "AssetConversion", + index: 56u8, + storage: Some( + pallet_asset_conversion::Pallet::< + Runtime, + >::storage_metadata(), + ), + calls: Some( + pallet_asset_conversion::Pallet::::call_functions(), + ), + event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + pallet_asset_conversion::Event, + >(), + }), + constants: pallet_asset_conversion::Pallet::< + Runtime, + >::pallet_constants_metadata(), + error: pallet_asset_conversion::Pallet::< + Runtime, + >::error_metadata(), + docs: pallet_asset_conversion::Pallet::< + Runtime, + >::pallet_documentation_metadata(), + }, + ]), + ), + extrinsic: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::ExtrinsicMetadataIR { + ty, + version: <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::ExtrinsicMetadata>::VERSION, + address_ty, + call_ty, + signature_ty, + extra_ty, + signed_extensions: <<<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::ExtrinsicMetadata>::SignedExtensions as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::SignedExtension>::metadata() + .into_iter() + .map(|meta| self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::SignedExtensionMetadataIR { + identifier: meta.identifier, + ty: meta.ty, + additional_signed: meta.additional_signed, + }) + .collect(), + }, + ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + Runtime, + >(), + apis: (&rt).runtime_metadata(), + outer_enums: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::OuterEnumsIR { + call_enum_ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + ::RuntimeCall, + >(), + event_enum_ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + RuntimeEvent, + >(), + error_enum_ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< + RuntimeError, + >(), + }, + } + } + pub fn metadata() -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata::RuntimeMetadataPrefixed { + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::into_v14( + Runtime::metadata_ir(), + ) + } + pub fn metadata_at_version( + version: u32, + ) -> Option< + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::OpaqueMetadata, + > { + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::into_version( + Runtime::metadata_ir(), + version, + ) + .map(|prefixed| { + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::OpaqueMetadata::new( + prefixed.into(), + ) + }) + } + pub fn metadata_versions() -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::vec::Vec< + u32, + > { + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::supported_versions() + } +} +pub type SystemConfig = frame_system::GenesisConfig; +pub type ParachainSystemConfig = cumulus_pallet_parachain_system::GenesisConfig; +pub type ParachainInfoConfig = parachain_info::GenesisConfig; +pub type BalancesConfig = pallet_balances::GenesisConfig; +pub type CollatorSelectionConfig = pallet_collator_selection::GenesisConfig; +pub type SessionConfig = pallet_session::GenesisConfig; +pub type AuraConfig = pallet_aura::GenesisConfig; +pub type AuraExtConfig = cumulus_pallet_aura_ext::GenesisConfig; +pub type PolkadotXcmConfig = pallet_xcm::GenesisConfig; +use self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::serde as __genesis_config_serde_import__; +#[serde(rename_all = "camelCase")] +#[serde(deny_unknown_fields)] +#[serde(crate = "__genesis_config_serde_import__")] +pub struct RuntimeGenesisConfig { + pub system: SystemConfig, + pub parachain_system: ParachainSystemConfig, + pub parachain_info: ParachainInfoConfig, + pub balances: BalancesConfig, + pub collator_selection: CollatorSelectionConfig, + pub session: SessionConfig, + pub aura: AuraConfig, + pub aura_ext: AuraExtConfig, + pub polkadot_xcm: PolkadotXcmConfig, +} +#[doc(hidden)] +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + use __genesis_config_serde_import__ as _serde; + #[automatically_derived] + impl __genesis_config_serde_import__::Serialize for RuntimeGenesisConfig { + fn serialize<__S>( + &self, + __serializer: __S, + ) -> __genesis_config_serde_import__::__private::Result<__S::Ok, __S::Error> + where + __S: __genesis_config_serde_import__::Serializer, + { + let mut __serde_state = _serde::Serializer::serialize_struct( + __serializer, + "RuntimeGenesisConfig", + false as usize + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1, + )?; + _serde::ser::SerializeStruct::serialize_field( + &mut __serde_state, + "system", + &self.system, + )?; + _serde::ser::SerializeStruct::serialize_field( + &mut __serde_state, + "parachainSystem", + &self.parachain_system, + )?; + _serde::ser::SerializeStruct::serialize_field( + &mut __serde_state, + "parachainInfo", + &self.parachain_info, + )?; + _serde::ser::SerializeStruct::serialize_field( + &mut __serde_state, + "balances", + &self.balances, + )?; + _serde::ser::SerializeStruct::serialize_field( + &mut __serde_state, + "collatorSelection", + &self.collator_selection, + )?; + _serde::ser::SerializeStruct::serialize_field( + &mut __serde_state, + "session", + &self.session, + )?; + _serde::ser::SerializeStruct::serialize_field( + &mut __serde_state, + "aura", + &self.aura, + )?; + _serde::ser::SerializeStruct::serialize_field( + &mut __serde_state, + "auraExt", + &self.aura_ext, + )?; + _serde::ser::SerializeStruct::serialize_field( + &mut __serde_state, + "polkadotXcm", + &self.polkadot_xcm, + )?; + _serde::ser::SerializeStruct::end(__serde_state) + } + } +}; +#[doc(hidden)] +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + use __genesis_config_serde_import__ as _serde; + #[automatically_derived] + impl<'de> __genesis_config_serde_import__::Deserialize<'de> + for RuntimeGenesisConfig { + fn deserialize<__D>( + __deserializer: __D, + ) -> __genesis_config_serde_import__::__private::Result + where + __D: __genesis_config_serde_import__::Deserializer<'de>, + { + #[allow(non_camel_case_types)] + #[doc(hidden)] + enum __Field { + __field0, + __field1, + __field2, + __field3, + __field4, + __field5, + __field6, + __field7, + __field8, + } + #[doc(hidden)] + struct __FieldVisitor; + impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { + type Value = __Field; + fn expecting( + &self, + __formatter: &mut _serde::__private::Formatter, + ) -> _serde::__private::fmt::Result { + _serde::__private::Formatter::write_str( + __formatter, + "field identifier", + ) + } + fn visit_u64<__E>( + self, + __value: u64, + ) -> _serde::__private::Result + where + __E: _serde::de::Error, + { + match __value { + 0u64 => _serde::__private::Ok(__Field::__field0), + 1u64 => _serde::__private::Ok(__Field::__field1), + 2u64 => _serde::__private::Ok(__Field::__field2), + 3u64 => _serde::__private::Ok(__Field::__field3), + 4u64 => _serde::__private::Ok(__Field::__field4), + 5u64 => _serde::__private::Ok(__Field::__field5), + 6u64 => _serde::__private::Ok(__Field::__field6), + 7u64 => _serde::__private::Ok(__Field::__field7), + 8u64 => _serde::__private::Ok(__Field::__field8), + _ => { + _serde::__private::Err( + _serde::de::Error::invalid_value( + _serde::de::Unexpected::Unsigned(__value), + &"field index 0 <= i < 9", + ), + ) + } + } + } + fn visit_str<__E>( + self, + __value: &str, + ) -> _serde::__private::Result + where + __E: _serde::de::Error, + { + match __value { + "system" => _serde::__private::Ok(__Field::__field0), + "parachainSystem" => _serde::__private::Ok(__Field::__field1), + "parachainInfo" => _serde::__private::Ok(__Field::__field2), + "balances" => _serde::__private::Ok(__Field::__field3), + "collatorSelection" => _serde::__private::Ok(__Field::__field4), + "session" => _serde::__private::Ok(__Field::__field5), + "aura" => _serde::__private::Ok(__Field::__field6), + "auraExt" => _serde::__private::Ok(__Field::__field7), + "polkadotXcm" => _serde::__private::Ok(__Field::__field8), + _ => { + _serde::__private::Err( + _serde::de::Error::unknown_field(__value, FIELDS), + ) + } + } + } + fn visit_bytes<__E>( + self, + __value: &[u8], + ) -> _serde::__private::Result + where + __E: _serde::de::Error, + { + match __value { + b"system" => _serde::__private::Ok(__Field::__field0), + b"parachainSystem" => _serde::__private::Ok(__Field::__field1), + b"parachainInfo" => _serde::__private::Ok(__Field::__field2), + b"balances" => _serde::__private::Ok(__Field::__field3), + b"collatorSelection" => _serde::__private::Ok(__Field::__field4), + b"session" => _serde::__private::Ok(__Field::__field5), + b"aura" => _serde::__private::Ok(__Field::__field6), + b"auraExt" => _serde::__private::Ok(__Field::__field7), + b"polkadotXcm" => _serde::__private::Ok(__Field::__field8), + _ => { + let __value = &_serde::__private::from_utf8_lossy(__value); + _serde::__private::Err( + _serde::de::Error::unknown_field(__value, FIELDS), + ) + } + } + } + } + impl<'de> _serde::Deserialize<'de> for __Field { + #[inline] + fn deserialize<__D>( + __deserializer: __D, + ) -> _serde::__private::Result + where + __D: _serde::Deserializer<'de>, + { + _serde::Deserializer::deserialize_identifier( + __deserializer, + __FieldVisitor, + ) + } + } + #[doc(hidden)] + struct __Visitor<'de> { + marker: _serde::__private::PhantomData, + lifetime: _serde::__private::PhantomData<&'de ()>, + } + impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { + type Value = RuntimeGenesisConfig; + fn expecting( + &self, + __formatter: &mut _serde::__private::Formatter, + ) -> _serde::__private::fmt::Result { + _serde::__private::Formatter::write_str( + __formatter, + "struct RuntimeGenesisConfig", + ) + } + #[inline] + fn visit_seq<__A>( + self, + mut __seq: __A, + ) -> _serde::__private::Result + where + __A: _serde::de::SeqAccess<'de>, + { + let __field0 = match _serde::de::SeqAccess::next_element::< + SystemConfig, + >(&mut __seq)? { + _serde::__private::Some(__value) => __value, + _serde::__private::None => { + return _serde::__private::Err( + _serde::de::Error::invalid_length( + 0usize, + &"struct RuntimeGenesisConfig with 9 elements", + ), + ); + } + }; + let __field1 = match _serde::de::SeqAccess::next_element::< + ParachainSystemConfig, + >(&mut __seq)? { + _serde::__private::Some(__value) => __value, + _serde::__private::None => { + return _serde::__private::Err( + _serde::de::Error::invalid_length( + 1usize, + &"struct RuntimeGenesisConfig with 9 elements", + ), + ); + } + }; + let __field2 = match _serde::de::SeqAccess::next_element::< + ParachainInfoConfig, + >(&mut __seq)? { + _serde::__private::Some(__value) => __value, + _serde::__private::None => { + return _serde::__private::Err( + _serde::de::Error::invalid_length( + 2usize, + &"struct RuntimeGenesisConfig with 9 elements", + ), + ); + } + }; + let __field3 = match _serde::de::SeqAccess::next_element::< + BalancesConfig, + >(&mut __seq)? { + _serde::__private::Some(__value) => __value, + _serde::__private::None => { + return _serde::__private::Err( + _serde::de::Error::invalid_length( + 3usize, + &"struct RuntimeGenesisConfig with 9 elements", + ), + ); + } + }; + let __field4 = match _serde::de::SeqAccess::next_element::< + CollatorSelectionConfig, + >(&mut __seq)? { + _serde::__private::Some(__value) => __value, + _serde::__private::None => { + return _serde::__private::Err( + _serde::de::Error::invalid_length( + 4usize, + &"struct RuntimeGenesisConfig with 9 elements", + ), + ); + } + }; + let __field5 = match _serde::de::SeqAccess::next_element::< + SessionConfig, + >(&mut __seq)? { + _serde::__private::Some(__value) => __value, + _serde::__private::None => { + return _serde::__private::Err( + _serde::de::Error::invalid_length( + 5usize, + &"struct RuntimeGenesisConfig with 9 elements", + ), + ); + } + }; + let __field6 = match _serde::de::SeqAccess::next_element::< + AuraConfig, + >(&mut __seq)? { + _serde::__private::Some(__value) => __value, + _serde::__private::None => { + return _serde::__private::Err( + _serde::de::Error::invalid_length( + 6usize, + &"struct RuntimeGenesisConfig with 9 elements", + ), + ); + } + }; + let __field7 = match _serde::de::SeqAccess::next_element::< + AuraExtConfig, + >(&mut __seq)? { + _serde::__private::Some(__value) => __value, + _serde::__private::None => { + return _serde::__private::Err( + _serde::de::Error::invalid_length( + 7usize, + &"struct RuntimeGenesisConfig with 9 elements", + ), + ); + } + }; + let __field8 = match _serde::de::SeqAccess::next_element::< + PolkadotXcmConfig, + >(&mut __seq)? { + _serde::__private::Some(__value) => __value, + _serde::__private::None => { + return _serde::__private::Err( + _serde::de::Error::invalid_length( + 8usize, + &"struct RuntimeGenesisConfig with 9 elements", + ), + ); + } + }; + _serde::__private::Ok(RuntimeGenesisConfig { + system: __field0, + parachain_system: __field1, + parachain_info: __field2, + balances: __field3, + collator_selection: __field4, + session: __field5, + aura: __field6, + aura_ext: __field7, + polkadot_xcm: __field8, + }) + } + #[inline] + fn visit_map<__A>( + self, + mut __map: __A, + ) -> _serde::__private::Result + where + __A: _serde::de::MapAccess<'de>, + { + let mut __field0: _serde::__private::Option = _serde::__private::None; + let mut __field1: _serde::__private::Option = _serde::__private::None; + let mut __field2: _serde::__private::Option = _serde::__private::None; + let mut __field3: _serde::__private::Option = _serde::__private::None; + let mut __field4: _serde::__private::Option< + CollatorSelectionConfig, + > = _serde::__private::None; + let mut __field5: _serde::__private::Option = _serde::__private::None; + let mut __field6: _serde::__private::Option = _serde::__private::None; + let mut __field7: _serde::__private::Option = _serde::__private::None; + let mut __field8: _serde::__private::Option = _serde::__private::None; + while let _serde::__private::Some(__key) + = _serde::de::MapAccess::next_key::<__Field>(&mut __map)? { + match __key { + __Field::__field0 => { + if _serde::__private::Option::is_some(&__field0) { + return _serde::__private::Err( + <__A::Error as _serde::de::Error>::duplicate_field("system"), + ); + } + __field0 = _serde::__private::Some( + _serde::de::MapAccess::next_value::< + SystemConfig, + >(&mut __map)?, + ); + } + __Field::__field1 => { + if _serde::__private::Option::is_some(&__field1) { + return _serde::__private::Err( + <__A::Error as _serde::de::Error>::duplicate_field( + "parachainSystem", + ), + ); + } + __field1 = _serde::__private::Some( + _serde::de::MapAccess::next_value::< + ParachainSystemConfig, + >(&mut __map)?, + ); + } + __Field::__field2 => { + if _serde::__private::Option::is_some(&__field2) { + return _serde::__private::Err( + <__A::Error as _serde::de::Error>::duplicate_field( + "parachainInfo", + ), + ); + } + __field2 = _serde::__private::Some( + _serde::de::MapAccess::next_value::< + ParachainInfoConfig, + >(&mut __map)?, + ); + } + __Field::__field3 => { + if _serde::__private::Option::is_some(&__field3) { + return _serde::__private::Err( + <__A::Error as _serde::de::Error>::duplicate_field( + "balances", + ), + ); + } + __field3 = _serde::__private::Some( + _serde::de::MapAccess::next_value::< + BalancesConfig, + >(&mut __map)?, + ); + } + __Field::__field4 => { + if _serde::__private::Option::is_some(&__field4) { + return _serde::__private::Err( + <__A::Error as _serde::de::Error>::duplicate_field( + "collatorSelection", + ), + ); + } + __field4 = _serde::__private::Some( + _serde::de::MapAccess::next_value::< + CollatorSelectionConfig, + >(&mut __map)?, + ); + } + __Field::__field5 => { + if _serde::__private::Option::is_some(&__field5) { + return _serde::__private::Err( + <__A::Error as _serde::de::Error>::duplicate_field( + "session", + ), + ); + } + __field5 = _serde::__private::Some( + _serde::de::MapAccess::next_value::< + SessionConfig, + >(&mut __map)?, + ); + } + __Field::__field6 => { + if _serde::__private::Option::is_some(&__field6) { + return _serde::__private::Err( + <__A::Error as _serde::de::Error>::duplicate_field("aura"), + ); + } + __field6 = _serde::__private::Some( + _serde::de::MapAccess::next_value::(&mut __map)?, + ); + } + __Field::__field7 => { + if _serde::__private::Option::is_some(&__field7) { + return _serde::__private::Err( + <__A::Error as _serde::de::Error>::duplicate_field( + "auraExt", + ), + ); + } + __field7 = _serde::__private::Some( + _serde::de::MapAccess::next_value::< + AuraExtConfig, + >(&mut __map)?, + ); + } + __Field::__field8 => { + if _serde::__private::Option::is_some(&__field8) { + return _serde::__private::Err( + <__A::Error as _serde::de::Error>::duplicate_field( + "polkadotXcm", + ), + ); + } + __field8 = _serde::__private::Some( + _serde::de::MapAccess::next_value::< + PolkadotXcmConfig, + >(&mut __map)?, + ); + } + } + } + let __field0 = match __field0 { + _serde::__private::Some(__field0) => __field0, + _serde::__private::None => { + _serde::__private::de::missing_field("system")? + } + }; + let __field1 = match __field1 { + _serde::__private::Some(__field1) => __field1, + _serde::__private::None => { + _serde::__private::de::missing_field("parachainSystem")? + } + }; + let __field2 = match __field2 { + _serde::__private::Some(__field2) => __field2, + _serde::__private::None => { + _serde::__private::de::missing_field("parachainInfo")? + } + }; + let __field3 = match __field3 { + _serde::__private::Some(__field3) => __field3, + _serde::__private::None => { + _serde::__private::de::missing_field("balances")? + } + }; + let __field4 = match __field4 { + _serde::__private::Some(__field4) => __field4, + _serde::__private::None => { + _serde::__private::de::missing_field("collatorSelection")? + } + }; + let __field5 = match __field5 { + _serde::__private::Some(__field5) => __field5, + _serde::__private::None => { + _serde::__private::de::missing_field("session")? + } + }; + let __field6 = match __field6 { + _serde::__private::Some(__field6) => __field6, + _serde::__private::None => { + _serde::__private::de::missing_field("aura")? + } + }; + let __field7 = match __field7 { + _serde::__private::Some(__field7) => __field7, + _serde::__private::None => { + _serde::__private::de::missing_field("auraExt")? + } + }; + let __field8 = match __field8 { + _serde::__private::Some(__field8) => __field8, + _serde::__private::None => { + _serde::__private::de::missing_field("polkadotXcm")? + } + }; + _serde::__private::Ok(RuntimeGenesisConfig { + system: __field0, + parachain_system: __field1, + parachain_info: __field2, + balances: __field3, + collator_selection: __field4, + session: __field5, + aura: __field6, + aura_ext: __field7, + polkadot_xcm: __field8, + }) + } + } + #[doc(hidden)] + const FIELDS: &'static [&'static str] = &[ + "system", + "parachainSystem", + "parachainInfo", + "balances", + "collatorSelection", + "session", + "aura", + "auraExt", + "polkadotXcm", + ]; + _serde::Deserializer::deserialize_struct( + __deserializer, + "RuntimeGenesisConfig", + FIELDS, + __Visitor { + marker: _serde::__private::PhantomData::, + lifetime: _serde::__private::PhantomData, + }, + ) + } + } +}; +#[automatically_derived] +impl ::core::default::Default for RuntimeGenesisConfig { + #[inline] + fn default() -> RuntimeGenesisConfig { + RuntimeGenesisConfig { + system: ::core::default::Default::default(), + parachain_system: ::core::default::Default::default(), + parachain_info: ::core::default::Default::default(), + balances: ::core::default::Default::default(), + collator_selection: ::core::default::Default::default(), + session: ::core::default::Default::default(), + aura: ::core::default::Default::default(), + aura_ext: ::core::default::Default::default(), + polkadot_xcm: ::core::default::Default::default(), + } + } +} +#[cfg(any(feature = "std", test))] +#[deprecated( + note = "GenesisConfig is planned to be removed in December 2023. Use `RuntimeGenesisConfig` instead." +)] +pub type GenesisConfig = RuntimeGenesisConfig; +#[cfg(any(feature = "std", test))] +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::BuildStorage +for RuntimeGenesisConfig { + fn assimilate_storage( + &self, + storage: &mut self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::Storage, + ) -> std::result::Result<(), String> { + self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::BasicExternalities::execute_with_storage( + storage, + || { + ::build( + &self, + ); + Ok(()) + }, + ) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::BuildGenesisConfig +for RuntimeGenesisConfig { + fn build(&self) { + ::build( + &self.system, + ); + ::build( + &self.parachain_system, + ); + ::build( + &self.parachain_info, + ); + ::build( + &self.balances, + ); + ::build( + &self.collator_selection, + ); + ::build( + &self.session, + ); + ::build( + &self.aura, + ); + ::build( + &self.aura_ext, + ); + ::build( + &self.polkadot_xcm, + ); + ::on_genesis(); + } +} +trait InherentDataExt { + fn create_extrinsics( + &self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::vec::Vec< + <::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic, + >; + fn check_extrinsics( + &self, + block: &::Block, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::CheckInherentsResult; +} +impl InherentDataExt +for self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::InherentData { + fn create_extrinsics( + &self, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::vec::Vec< + <::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic, + > { + use self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::ProvideInherent; + let mut inherents = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::vec::Vec::new(); + if let Some(inherent) = ParachainSystem::create_inherent(self) { + let inherent = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::new( + inherent.into(), + None, + ) + .expect( + "Runtime UncheckedExtrinsic is not Opaque, so it has to return \ + `Some`; qed", + ); + inherents.push(inherent); + } + if let Some(inherent) = Timestamp::create_inherent(self) { + let inherent = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::new( + inherent.into(), + None, + ) + .expect( + "Runtime UncheckedExtrinsic is not Opaque, so it has to return \ + `Some`; qed", + ); + inherents.push(inherent); + } + inherents + } + fn check_extrinsics( + &self, + block: &::Block, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::CheckInherentsResult { + use self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::{ + ProvideInherent, IsFatalError, + }; + use self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::{ + IsSubType, ExtrinsicCall, + }; + use self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block as _; + use self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::{ + sp_inherents::Error, log, + }; + let mut result = self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::CheckInherentsResult::new(); + fn handle_put_error_result(res: Result<(), Error>) { + const LOG_TARGET: &str = "runtime::inherent"; + match res { + Ok(()) => {} + Err(Error::InherentDataExists(id)) => { + let lvl = ::log::Level::Debug; + if lvl <= ::log::STATIC_MAX_LEVEL && lvl <= ::log::max_level() { + ::log::__private_api::log( + format_args!( + "Some error already reported for inherent {0:?}, new non fatal error is ignored", + id + ), + lvl, + &( + LOG_TARGET, + "asset_hub_kusama_runtime", + "cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs", + ), + 823u32, + ::log::__private_api::Option::None, + ); + } + } + Err(Error::FatalErrorReported) => { + let lvl = ::log::Level::Error; + if lvl <= ::log::STATIC_MAX_LEVEL && lvl <= ::log::max_level() { + ::log::__private_api::log( + format_args!( + "Fatal error already reported, unexpected considering there is only one fatal error" + ), + lvl, + &( + LOG_TARGET, + "asset_hub_kusama_runtime", + "cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs", + ), + 823u32, + ::log::__private_api::Option::None, + ); + } + } + Err(_) => { + let lvl = ::log::Level::Error; + if lvl <= ::log::STATIC_MAX_LEVEL && lvl <= ::log::max_level() { + ::log::__private_api::log( + format_args!("Unexpected error from `put_error` operation"), + lvl, + &( + LOG_TARGET, + "asset_hub_kusama_runtime", + "cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs", + ), + 823u32, + ::log::__private_api::Option::None, + ); + } + } + } + } + for xt in block.extrinsics() { + if self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic::is_signed( + xt, + ) + .unwrap_or(false) + { + break; + } + let mut is_inherent = false; + { + let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( + xt, + ); + if let Some(call) = IsSubType::<_>::is_sub_type(call) { + if ParachainSystem::is_inherent(call) { + is_inherent = true; + if let Err(e) = ParachainSystem::check_inherent(call, self) { + handle_put_error_result( + result.put_error(ParachainSystem::INHERENT_IDENTIFIER, &e), + ); + if e.is_fatal_error() { + return result; + } + } + } + } + } + { + let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( + xt, + ); + if let Some(call) = IsSubType::<_>::is_sub_type(call) { + if Timestamp::is_inherent(call) { + is_inherent = true; + if let Err(e) = Timestamp::check_inherent(call, self) { + handle_put_error_result( + result.put_error(Timestamp::INHERENT_IDENTIFIER, &e), + ); + if e.is_fatal_error() { + return result; + } + } + } + } + } + if !is_inherent { + break; + } + } + match ParachainSystem::is_inherent_required(self) { + Ok(Some(e)) => { + let found = block + .extrinsics() + .iter() + .any(|xt| { + let is_signed = self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic::is_signed( + xt, + ) + .unwrap_or(false); + if !is_signed { + let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( + xt, + ); + if let Some(call) = IsSubType::<_>::is_sub_type(call) { + ParachainSystem::is_inherent(&call) + } else { + false + } + } else { + false + } + }); + if !found { + handle_put_error_result( + result.put_error(ParachainSystem::INHERENT_IDENTIFIER, &e), + ); + if e.is_fatal_error() { + return result; + } + } + } + Ok(None) => {} + Err(e) => { + handle_put_error_result( + result.put_error(ParachainSystem::INHERENT_IDENTIFIER, &e), + ); + if e.is_fatal_error() { + return result; + } + } + } + match Timestamp::is_inherent_required(self) { + Ok(Some(e)) => { + let found = block + .extrinsics() + .iter() + .any(|xt| { + let is_signed = self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic::is_signed( + xt, + ) + .unwrap_or(false); + if !is_signed { + let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( + xt, + ); + if let Some(call) = IsSubType::<_>::is_sub_type(call) { + Timestamp::is_inherent(&call) + } else { + false + } + } else { + false + } + }); + if !found { + handle_put_error_result( + result.put_error(Timestamp::INHERENT_IDENTIFIER, &e), + ); + if e.is_fatal_error() { + return result; + } + } + } + Ok(None) => {} + Err(e) => { + handle_put_error_result( + result.put_error(Timestamp::INHERENT_IDENTIFIER, &e), + ); + if e.is_fatal_error() { + return result; + } + } + } + result + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::EnsureInherentsAreFirst< + ::Block, +> for Runtime { + fn ensure_inherents_are_first( + block: &::Block, + ) -> Result<(), u32> { + use self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::ProvideInherent; + use self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::{ + IsSubType, ExtrinsicCall, + }; + use self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block as _; + let mut first_signed_observed = false; + for (i, xt) in block.extrinsics().iter().enumerate() { + let is_signed = self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic::is_signed( + xt, + ) + .unwrap_or(false); + let is_inherent = if is_signed { + false + } else { + let mut is_inherent = false; + { + let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( + xt, + ); + if let Some(call) = IsSubType::<_>::is_sub_type(call) { + if ParachainSystem::is_inherent(&call) { + is_inherent = true; + } + } + } + { + let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( + xt, + ); + if let Some(call) = IsSubType::<_>::is_sub_type(call) { + if Timestamp::is_inherent(&call) { + is_inherent = true; + } + } + } + is_inherent + }; + if !is_inherent { + first_signed_observed = true; + } + if first_signed_observed && is_inherent { + return Err(i as u32); + } + } + Ok(()) + } +} +impl self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::ValidateUnsigned +for Runtime { + type Call = RuntimeCall; + fn pre_dispatch( + call: &Self::Call, + ) -> Result< + (), + self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::TransactionValidityError, + > { + #[allow(unreachable_patterns)] + match call { + RuntimeCall::ParachainSystem(inner_call) => { + ParachainSystem::pre_dispatch(inner_call) + } + _ => Ok(()), + } + } + fn validate_unsigned( + #[allow(unused_variables)] + source: self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::TransactionSource, + call: &Self::Call, + ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::TransactionValidity { + #[allow(unreachable_patterns)] + match call { + RuntimeCall::ParachainSystem(inner_call) => { + ParachainSystem::validate_unsigned(source, inner_call) + } + _ => { + self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::UnknownTransaction::NoUnsignedValidator + .into() + } + } + } +} +/// A reason for placing a freeze on funds. +pub enum RuntimeFreezeReason {} +#[automatically_derived] +impl ::core::marker::Copy for RuntimeFreezeReason {} +#[automatically_derived] +impl ::core::clone::Clone for RuntimeFreezeReason { + #[inline] + fn clone(&self) -> RuntimeFreezeReason { + *self + } +} +#[automatically_derived] +impl ::core::marker::StructuralEq for RuntimeFreezeReason {} +#[automatically_derived] +impl ::core::cmp::Eq for RuntimeFreezeReason { + #[inline] + #[doc(hidden)] + #[coverage(off)] + fn assert_receiver_is_total_eq(&self) -> () {} +} +#[automatically_derived] +impl ::core::marker::StructuralPartialEq for RuntimeFreezeReason {} +#[automatically_derived] +impl ::core::cmp::PartialEq for RuntimeFreezeReason { + #[inline] + fn eq(&self, other: &RuntimeFreezeReason) -> bool { + match *self {} + } +} +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Encode for RuntimeFreezeReason {} + #[automatically_derived] + impl ::codec::EncodeLike for RuntimeFreezeReason {} +}; +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Decode for RuntimeFreezeReason { + fn decode<__CodecInputEdqy: ::codec::Input>( + __codec_input_edqy: &mut __CodecInputEdqy, + ) -> ::core::result::Result { + match __codec_input_edqy + .read_byte() + .map_err(|e| { + e + .chain( + "Could not decode `RuntimeFreezeReason`, failed to read variant byte", + ) + })? + { + _ => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Err( + <_ as ::core::convert::Into< + _, + >>::into( + "Could not decode `RuntimeFreezeReason`, variant doesn't exist", + ), + ) + })(); + } + } + } + } +}; +const _: () = { + impl ::codec::MaxEncodedLen for RuntimeFreezeReason { + fn max_encoded_len() -> ::core::primitive::usize { + 0_usize.saturating_add(1) + } + } +}; +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + impl ::scale_info::TypeInfo for RuntimeFreezeReason { + type Identity = Self; + fn type_info() -> ::scale_info::Type { + ::scale_info::Type::builder() + .path( + ::scale_info::Path::new( + "RuntimeFreezeReason", + "asset_hub_kusama_runtime", + ), + ) + .type_params(::alloc::vec::Vec::new()) + .docs(&["A reason for placing a freeze on funds."]) + .variant(::scale_info::build::Variants::new()) + } + } +}; +impl core::fmt::Debug for RuntimeFreezeReason { + fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { + match self { + _ => Ok(()), + } + } +} +/// A reason for placing a hold on funds. +pub enum RuntimeHoldReason { + #[codec(index = 54u8)] + NftFractionalization(pallet_nft_fractionalization::HoldReason), +} +#[automatically_derived] +impl ::core::marker::Copy for RuntimeHoldReason {} +#[automatically_derived] +impl ::core::clone::Clone for RuntimeHoldReason { + #[inline] + fn clone(&self) -> RuntimeHoldReason { + let _: ::core::clone::AssertParamIsClone< + pallet_nft_fractionalization::HoldReason, + >; + *self + } +} +#[automatically_derived] +impl ::core::marker::StructuralEq for RuntimeHoldReason {} +#[automatically_derived] +impl ::core::cmp::Eq for RuntimeHoldReason { + #[inline] + #[doc(hidden)] + #[coverage(off)] + fn assert_receiver_is_total_eq(&self) -> () { + let _: ::core::cmp::AssertParamIsEq; + } +} +#[automatically_derived] +impl ::core::marker::StructuralPartialEq for RuntimeHoldReason {} +#[automatically_derived] +impl ::core::cmp::PartialEq for RuntimeHoldReason { + #[inline] + fn eq(&self, other: &RuntimeHoldReason) -> bool { + match (self, other) { + ( + RuntimeHoldReason::NftFractionalization(__self_0), + RuntimeHoldReason::NftFractionalization(__arg1_0), + ) => *__self_0 == *__arg1_0, + } + } +} +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Encode for RuntimeHoldReason { + fn size_hint(&self) -> usize { + 1_usize + + match *self { + RuntimeHoldReason::NftFractionalization(ref aa) => { + 0_usize.saturating_add(::codec::Encode::size_hint(aa)) + } + _ => 0_usize, + } + } + fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy, + ) { + match *self { + RuntimeHoldReason::NftFractionalization(ref aa) => { + __codec_dest_edqy.push_byte(54u8 as ::core::primitive::u8); + ::codec::Encode::encode_to(aa, __codec_dest_edqy); + } + _ => {} + } + } + } + #[automatically_derived] + impl ::codec::EncodeLike for RuntimeHoldReason {} +}; +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Decode for RuntimeHoldReason { + fn decode<__CodecInputEdqy: ::codec::Input>( + __codec_input_edqy: &mut __CodecInputEdqy, + ) -> ::core::result::Result { + match __codec_input_edqy + .read_byte() + .map_err(|e| { + e + .chain( + "Could not decode `RuntimeHoldReason`, failed to read variant byte", + ) + })? + { + #[allow(clippy::unnecessary_cast)] + __codec_x_edqy if __codec_x_edqy == 54u8 as ::core::primitive::u8 => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Ok( + RuntimeHoldReason::NftFractionalization({ + let __codec_res_edqy = ::decode( + __codec_input_edqy, + ); + match __codec_res_edqy { + ::core::result::Result::Err(e) => { + return ::core::result::Result::Err( + e + .chain( + "Could not decode `RuntimeHoldReason::NftFractionalization.0`", + ), + ); + } + ::core::result::Result::Ok(__codec_res_edqy) => { + __codec_res_edqy + } + } + }), + ) + })(); + } + _ => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Err( + <_ as ::core::convert::Into< + _, + >>::into( + "Could not decode `RuntimeHoldReason`, variant doesn't exist", + ), + ) + })(); + } + } + } + } +}; +const _: () = { + impl ::codec::MaxEncodedLen for RuntimeHoldReason { + fn max_encoded_len() -> ::core::primitive::usize { + 0_usize + .max( + 0_usize + .saturating_add( + ::max_encoded_len(), + ), + ) + .saturating_add(1) + } + } +}; +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + impl ::scale_info::TypeInfo for RuntimeHoldReason { + type Identity = Self; + fn type_info() -> ::scale_info::Type { + ::scale_info::Type::builder() + .path( + ::scale_info::Path::new( + "RuntimeHoldReason", + "asset_hub_kusama_runtime", + ), + ) + .type_params(::alloc::vec::Vec::new()) + .docs(&["A reason for placing a hold on funds."]) + .variant( + ::scale_info::build::Variants::new() + .variant( + "NftFractionalization", + |v| { + v + .index(54u8 as ::core::primitive::u8) + .fields( + ::scale_info::build::Fields::unnamed() + .field(|f| { + f + .ty::() + .type_name("pallet_nft_fractionalization::HoldReason") + }), + ) + }, + ), + ) + } + } +}; +impl core::fmt::Debug for RuntimeHoldReason { + fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { + match self { + Self::NftFractionalization(ref a0) => { + fmt.debug_tuple("RuntimeHoldReason::NftFractionalization") + .field(a0) + .finish() + } + _ => Ok(()), + } + } +} +impl From for RuntimeHoldReason { + fn from(hr: pallet_nft_fractionalization::HoldReason) -> Self { + RuntimeHoldReason::NftFractionalization(hr) + } +} +/// An identifier for each lock placed on funds. +pub enum RuntimeLockId {} +#[automatically_derived] +impl ::core::marker::Copy for RuntimeLockId {} +#[automatically_derived] +impl ::core::clone::Clone for RuntimeLockId { + #[inline] + fn clone(&self) -> RuntimeLockId { + *self + } +} +#[automatically_derived] +impl ::core::marker::StructuralEq for RuntimeLockId {} +#[automatically_derived] +impl ::core::cmp::Eq for RuntimeLockId { + #[inline] + #[doc(hidden)] + #[coverage(off)] + fn assert_receiver_is_total_eq(&self) -> () {} +} +#[automatically_derived] +impl ::core::marker::StructuralPartialEq for RuntimeLockId {} +#[automatically_derived] +impl ::core::cmp::PartialEq for RuntimeLockId { + #[inline] + fn eq(&self, other: &RuntimeLockId) -> bool { + match *self {} + } +} +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Encode for RuntimeLockId {} + #[automatically_derived] + impl ::codec::EncodeLike for RuntimeLockId {} +}; +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Decode for RuntimeLockId { + fn decode<__CodecInputEdqy: ::codec::Input>( + __codec_input_edqy: &mut __CodecInputEdqy, + ) -> ::core::result::Result { + match __codec_input_edqy + .read_byte() + .map_err(|e| { + e + .chain( + "Could not decode `RuntimeLockId`, failed to read variant byte", + ) + })? + { + _ => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Err( + <_ as ::core::convert::Into< + _, + >>::into( + "Could not decode `RuntimeLockId`, variant doesn't exist", + ), + ) + })(); + } + } + } + } +}; +const _: () = { + impl ::codec::MaxEncodedLen for RuntimeLockId { + fn max_encoded_len() -> ::core::primitive::usize { + 0_usize.saturating_add(1) + } + } +}; +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + impl ::scale_info::TypeInfo for RuntimeLockId { + type Identity = Self; + fn type_info() -> ::scale_info::Type { + ::scale_info::Type::builder() + .path( + ::scale_info::Path::new("RuntimeLockId", "asset_hub_kusama_runtime"), + ) + .type_params(::alloc::vec::Vec::new()) + .docs(&["An identifier for each lock placed on funds."]) + .variant(::scale_info::build::Variants::new()) + } + } +}; +impl core::fmt::Debug for RuntimeLockId { + fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { + match self { + _ => Ok(()), + } + } +} +/// A reason for slashing funds. +pub enum RuntimeSlashReason {} +#[automatically_derived] +impl ::core::marker::Copy for RuntimeSlashReason {} +#[automatically_derived] +impl ::core::clone::Clone for RuntimeSlashReason { + #[inline] + fn clone(&self) -> RuntimeSlashReason { + *self + } +} +#[automatically_derived] +impl ::core::marker::StructuralEq for RuntimeSlashReason {} +#[automatically_derived] +impl ::core::cmp::Eq for RuntimeSlashReason { + #[inline] + #[doc(hidden)] + #[coverage(off)] + fn assert_receiver_is_total_eq(&self) -> () {} +} +#[automatically_derived] +impl ::core::marker::StructuralPartialEq for RuntimeSlashReason {} +#[automatically_derived] +impl ::core::cmp::PartialEq for RuntimeSlashReason { + #[inline] + fn eq(&self, other: &RuntimeSlashReason) -> bool { + match *self {} + } +} +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Encode for RuntimeSlashReason {} + #[automatically_derived] + impl ::codec::EncodeLike for RuntimeSlashReason {} +}; +#[allow(deprecated)] +const _: () = { + #[automatically_derived] + impl ::codec::Decode for RuntimeSlashReason { + fn decode<__CodecInputEdqy: ::codec::Input>( + __codec_input_edqy: &mut __CodecInputEdqy, + ) -> ::core::result::Result { + match __codec_input_edqy + .read_byte() + .map_err(|e| { + e + .chain( + "Could not decode `RuntimeSlashReason`, failed to read variant byte", + ) + })? + { + _ => { + #[allow(clippy::redundant_closure_call)] + return (move || { + ::core::result::Result::Err( + <_ as ::core::convert::Into< + _, + >>::into( + "Could not decode `RuntimeSlashReason`, variant doesn't exist", + ), + ) + })(); + } + } + } + } +}; +const _: () = { + impl ::codec::MaxEncodedLen for RuntimeSlashReason { + fn max_encoded_len() -> ::core::primitive::usize { + 0_usize.saturating_add(1) + } + } +}; +#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] +const _: () = { + impl ::scale_info::TypeInfo for RuntimeSlashReason { + type Identity = Self; + fn type_info() -> ::scale_info::Type { + ::scale_info::Type::builder() + .path( + ::scale_info::Path::new( + "RuntimeSlashReason", + "asset_hub_kusama_runtime", + ), + ) + .type_params(::alloc::vec::Vec::new()) + .docs(&["A reason for slashing funds."]) + .variant(::scale_info::build::Variants::new()) + } + } +}; +impl core::fmt::Debug for RuntimeSlashReason { + fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { + match self { + _ => Ok(()), + } + } +} +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `System` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `ParachainSystem` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `Balances` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `CollatorSelection` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `Session` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `XcmpQueue` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `PolkadotXcm` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `CumulusXcm` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `DmpQueue` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `Utility` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `Multisig` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `Proxy` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `Assets` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `Uniques` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `Nfts` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `ForeignAssets` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `NftFractionalization` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `PoolAssets` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `AssetConversion` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE + <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) +{ + { + ::core::panicking::panic_fmt( + format_args!( + "The maximum encoded size of the error type in the `StateTrieMigration` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" + ), + ); + } +}; +/// The address format for describing accounts. +pub type Address = sp_runtime::MultiAddress; +/// Block type as expected by this runtime. +pub type Block = generic::Block; +/// A Block signed with a Justification +pub type SignedBlock = generic::SignedBlock; +/// BlockId type as expected by this runtime. +pub type BlockId = generic::BlockId; +/// The SignedExtension to the basic transaction logic. +pub type SignedExtra = ( + frame_system::CheckNonZeroSender, + frame_system::CheckSpecVersion, + frame_system::CheckTxVersion, + frame_system::CheckGenesis, + frame_system::CheckEra, + frame_system::CheckNonce, + frame_system::CheckWeight, + pallet_asset_conversion_tx_payment::ChargeAssetTxPayment, +); +/// Unchecked extrinsic type as expected by this runtime. +pub type UncheckedExtrinsic = generic::UncheckedExtrinsic< + Address, + RuntimeCall, + Signature, + SignedExtra, +>; +/// Migrations to apply on runtime upgrade. +pub type Migrations = (pallet_collator_selection::migration::v1::MigrateToV1,); +/// Executive: handles dispatch to the various modules. +pub type Executive = frame_executive::Executive< + Runtime, + Block, + frame_system::ChainContext, + Runtime, + AllPalletsWithSystem, + Migrations, +>; +pub struct RuntimeApi {} +/// Implements all runtime apis for the client side. +pub struct RuntimeApiImpl + 'static> { + call: &'static C, + transaction_depth: std::cell::RefCell, + changes: std::cell::RefCell>>, + recorder: std::option::Option>, + call_context: sp_api::CallContext, + extensions: std::cell::RefCell, + extensions_generated_for: std::cell::RefCell>, +} +impl> sp_api::ApiExt +for RuntimeApiImpl { + fn execute_in_transaction sp_api::TransactionOutcome, R>( + &self, + call: F, + ) -> R + where + Self: Sized, + { + self.start_transaction(); + *std::cell::RefCell::borrow_mut(&self.transaction_depth) += 1; + let res = call(self); + std::cell::RefCell::borrow_mut(&self.transaction_depth) + .checked_sub(1) + .expect("Transactions are opened and closed together; qed"); + self.commit_or_rollback_transaction( + match res { + sp_api::TransactionOutcome::Commit(_) => true, + _ => false, + }, + ); + res.into_inner() + } + fn has_api( + &self, + at: ::Hash, + ) -> std::result::Result + where + Self: Sized, + { + sp_api::CallApiAt::::runtime_version_at(self.call, at) + .map(|v| sp_api::RuntimeVersion::has_api_with( + &v, + &A::ID, + |v| v == A::VERSION, + )) + } + fn has_api_with bool>( + &self, + at: ::Hash, + pred: P, + ) -> std::result::Result + where + Self: Sized, + { + sp_api::CallApiAt::::runtime_version_at(self.call, at) + .map(|v| sp_api::RuntimeVersion::has_api_with(&v, &A::ID, pred)) + } + fn api_version( + &self, + at: ::Hash, + ) -> std::result::Result, sp_api::ApiError> + where + Self: Sized, + { + sp_api::CallApiAt::::runtime_version_at(self.call, at) + .map(|v| sp_api::RuntimeVersion::api_version(&v, &A::ID)) + } + fn record_proof(&mut self) { + self.recorder = std::option::Option::Some(std::default::Default::default()); + } + fn proof_recorder(&self) -> std::option::Option> { + std::clone::Clone::clone(&self.recorder) + } + fn extract_proof(&mut self) -> std::option::Option { + let recorder = std::option::Option::take(&mut self.recorder); + std::option::Option::map( + recorder, + |recorder| { sp_api::ProofRecorder::::drain_storage_proof(recorder) }, + ) + } + fn into_storage_changes>>( + &self, + backend: &B, + parent_hash: Block::Hash, + ) -> core::result::Result, String> + where + Self: Sized, + { + let state_version = sp_api::CallApiAt::< + Block, + >::runtime_version_at(self.call, std::clone::Clone::clone(&parent_hash)) + .map(|v| sp_api::RuntimeVersion::state_version(&v)) + .map_err(|e| { + let res = ::alloc::fmt::format( + format_args!("Failed to get state version: {0}", e), + ); + res + })?; + sp_api::OverlayedChanges::drain_storage_changes( + &mut std::cell::RefCell::borrow_mut(&self.changes), + backend, + state_version, + ) + } + fn set_call_context(&mut self, call_context: sp_api::CallContext) { + self.call_context = call_context; + } + fn register_extension(&mut self, extension: E) { + std::cell::RefCell::borrow_mut(&self.extensions).register(extension); + } +} +impl sp_api::ConstructRuntimeApi for RuntimeApi +where + C: sp_api::CallApiAt + 'static, +{ + type RuntimeApi = RuntimeApiImpl; + fn construct_runtime_api<'a>(call: &'a C) -> sp_api::ApiRef<'a, Self::RuntimeApi> { + RuntimeApiImpl { + call: unsafe { std::mem::transmute(call) }, + transaction_depth: 0.into(), + changes: std::default::Default::default(), + recorder: std::default::Default::default(), + call_context: sp_api::CallContext::Offchain, + extensions: std::default::Default::default(), + extensions_generated_for: std::default::Default::default(), + } + .into() + } +} +impl> RuntimeApiImpl { + fn commit_or_rollback_transaction(&self, commit: bool) { + let proof = "\ + We only close a transaction when we opened one ourself. + Other parts of the runtime that make use of transactions (state-machine) + also balance their transactions. The runtime cannot close client initiated + transactions; qed"; + let res = if commit { + let res = if let Some(recorder) = &self.recorder { + sp_api::ProofRecorder::::commit_transaction(&recorder) + } else { + Ok(()) + }; + let res2 = sp_api::OverlayedChanges::commit_transaction( + &mut std::cell::RefCell::borrow_mut(&self.changes), + ); + std::result::Result::and(res, std::result::Result::map_err(res2, drop)) + } else { + let res = if let Some(recorder) = &self.recorder { + sp_api::ProofRecorder::::rollback_transaction(&recorder) + } else { + Ok(()) + }; + let res2 = sp_api::OverlayedChanges::rollback_transaction( + &mut std::cell::RefCell::borrow_mut(&self.changes), + ); + std::result::Result::and(res, std::result::Result::map_err(res2, drop)) + }; + std::result::Result::expect(res, proof); + } + fn start_transaction(&self) { + sp_api::OverlayedChanges::start_transaction( + &mut std::cell::RefCell::borrow_mut(&self.changes), + ); + if let Some(recorder) = &self.recorder { + sp_api::ProofRecorder::::start_transaction(&recorder); + } + } +} +impl sp_consensus_aura::runtime_decl_for_aura_api::AuraApi for Runtime { + fn slot_duration() -> sp_consensus_aura::SlotDuration { + sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) + } + fn authorities() -> Vec { + Aura::authorities().into_inner() + } +} +impl sp_api::runtime_decl_for_core::Core for Runtime { + fn version() -> RuntimeVersion { + VERSION + } + fn execute_block(block: Block) { + Executive::execute_block(block) + } + fn initialize_block(header: &::Header) { + Executive::initialize_block(header) + } +} +impl sp_api::runtime_decl_for_metadata::Metadata for Runtime { + fn metadata() -> OpaqueMetadata { + OpaqueMetadata::new(Runtime::metadata().into()) + } + fn metadata_at_version(version: u32) -> Option { + Runtime::metadata_at_version(version) + } + fn metadata_versions() -> sp_std::vec::Vec { + Runtime::metadata_versions() + } +} +impl sp_block_builder::runtime_decl_for_block_builder::BlockBuilder for Runtime { + fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { + Executive::apply_extrinsic(extrinsic) + } + fn finalize_block() -> ::Header { + Executive::finalize_block() + } + fn inherent_extrinsics( + data: sp_inherents::InherentData, + ) -> Vec<::Extrinsic> { + data.create_extrinsics() + } + fn check_inherents( + block: Block, + data: sp_inherents::InherentData, + ) -> sp_inherents::CheckInherentsResult { + data.check_extrinsics(&block) + } +} +impl sp_transaction_pool::runtime_api::runtime_decl_for_tagged_transaction_queue::TaggedTransactionQueue< + Block, +> for Runtime { + fn validate_transaction( + source: TransactionSource, + tx: ::Extrinsic, + block_hash: ::Hash, + ) -> TransactionValidity { + Executive::validate_transaction(source, tx, block_hash) + } +} +impl sp_offchain::runtime_decl_for_offchain_worker_api::OffchainWorkerApi +for Runtime { + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) + } +} +impl sp_session::runtime_decl_for_session_keys::SessionKeys for Runtime { + fn generate_session_keys(seed: Option>) -> Vec { + SessionKeys::generate(seed) + } + fn decode_session_keys(encoded: Vec) -> Option, KeyTypeId)>> { + SessionKeys::decode_into_raw_public_keys(&encoded) + } +} +impl frame_system_rpc_runtime_api::runtime_decl_for_account_nonce_api::AccountNonceApi< + Block, + AccountId, + Nonce, +> for Runtime { + fn account_nonce(account: AccountId) -> Nonce { + System::account_nonce(account) + } +} +impl pallet_asset_conversion::runtime_decl_for_asset_conversion_api::AssetConversionApi< + Block, + Balance, + u128, + Box, +> for Runtime { + fn quote_price_exact_tokens_for_tokens( + asset1: Box, + asset2: Box, + amount: u128, + include_fee: bool, + ) -> Option { + AssetConversion::quote_price_exact_tokens_for_tokens( + asset1, + asset2, + amount, + include_fee, + ) + } + fn quote_price_tokens_for_exact_tokens( + asset1: Box, + asset2: Box, + amount: u128, + include_fee: bool, + ) -> Option { + AssetConversion::quote_price_tokens_for_exact_tokens( + asset1, + asset2, + amount, + include_fee, + ) + } + fn get_reserves( + asset1: Box, + asset2: Box, + ) -> Option<(Balance, Balance)> { + AssetConversion::get_reserves(&asset1, &asset2).ok() + } +} +impl pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_api::TransactionPaymentApi< + Block, + Balance, +> for Runtime { + fn query_info( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { + TransactionPayment::query_info(uxt, len) + } + fn query_fee_details( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_fee_details(uxt, len) + } + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } +} +impl pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_call_api::TransactionPaymentCallApi< + Block, + Balance, + RuntimeCall, +> for Runtime { + fn query_call_info( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::RuntimeDispatchInfo { + TransactionPayment::query_call_info(call, len) + } + fn query_call_fee_details( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_call_fee_details(call, len) + } + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } +} +impl assets_common::runtime_api::runtime_decl_for_fungibles_api::FungiblesApi< + Block, + AccountId, +> for Runtime { + fn query_account_balances( + account: AccountId, + ) -> Result< + xcm::VersionedMultiAssets, + assets_common::runtime_api::FungiblesAccessError, + > { + use assets_common::fungible_conversion::{convert, convert_balance}; + Ok( + [ + { + let balance = Balances::free_balance(account.clone()); + if balance > 0 { + <[_]>::into_vec( + #[rustc_box] + ::alloc::boxed::Box::new([ + convert_balance::(balance)?, + ]), + ) + } else { + ::alloc::vec::Vec::new() + } + }, + convert::< + _, + _, + _, + _, + TrustBackedAssetsConvertedConcreteId, + >( + Assets::account_balances(account.clone()) + .iter() + .filter(|(_, balance)| balance > &0), + )?, + convert::< + _, + _, + _, + _, + ForeignAssetsConvertedConcreteId, + >( + ForeignAssets::account_balances(account.clone()) + .iter() + .filter(|(_, balance)| balance > &0), + )?, + convert::< + _, + _, + _, + _, + PoolAssetsConvertedConcreteId, + >( + PoolAssets::account_balances(account) + .iter() + .filter(|(_, balance)| balance > &0), + )?, + ] + .concat() + .into(), + ) + } +} +impl cumulus_primitives_core::runtime_decl_for_collect_collation_info::CollectCollationInfo< + Block, +> for Runtime { + fn collect_collation_info( + header: &::Header, + ) -> cumulus_primitives_core::CollationInfo { + ParachainSystem::collect_collation_info(header) + } +} +impl sp_genesis_builder::runtime_decl_for_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) + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> sp_consensus_aura::AuraApi<__SrApiBlock__, AuraId> +for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + sp_consensus_aura::SlotDuration: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> sp_api::Core<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + RuntimeVersion: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + <__SrApiBlock__ as BlockT>::Header: std::panic::UnwindSafe + + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> sp_api::Metadata<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + OpaqueMetadata: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Option: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + sp_std::vec::Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> sp_block_builder::BlockBuilder<__SrApiBlock__> +for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + <__SrApiBlock__ as BlockT>::Extrinsic: std::panic::UnwindSafe + + std::panic::RefUnwindSafe, + ApplyExtrinsicResult: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + <__SrApiBlock__ as BlockT>::Header: std::panic::UnwindSafe + + std::panic::RefUnwindSafe, + sp_inherents::InherentData: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Vec< + <__SrApiBlock__ as BlockT>::Extrinsic, + >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + sp_inherents::InherentData: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + sp_inherents::CheckInherentsResult: std::panic::UnwindSafe + + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> sp_transaction_pool::runtime_api::TaggedTransactionQueue<__SrApiBlock__> +for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + TransactionSource: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + <__SrApiBlock__ as BlockT>::Extrinsic: std::panic::UnwindSafe + + std::panic::RefUnwindSafe, + <__SrApiBlock__ as BlockT>::Hash: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + TransactionValidity: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> sp_offchain::OffchainWorkerApi<__SrApiBlock__> +for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + <__SrApiBlock__ as BlockT>::Header: std::panic::UnwindSafe + + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> sp_session::SessionKeys<__SrApiBlock__> +for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + Option>: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Option< + Vec<(Vec, KeyTypeId)>, + >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> frame_system_rpc_runtime_api::AccountNonceApi<__SrApiBlock__, AccountId, Nonce> +for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + AccountId: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Nonce: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> pallet_asset_conversion::AssetConversionApi< + __SrApiBlock__, + Balance, + u128, + Box, +> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + u128: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + bool: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Option: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + u128: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + bool: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Option: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Option<(Balance, Balance)>: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi< + __SrApiBlock__, + Balance, +> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + <__SrApiBlock__ as BlockT>::Extrinsic: std::panic::UnwindSafe + + std::panic::RefUnwindSafe, + u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo< + Balance, + >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + <__SrApiBlock__ as BlockT>::Extrinsic: std::panic::UnwindSafe + + std::panic::RefUnwindSafe, + u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + pallet_transaction_payment::FeeDetails< + Balance, + >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Weight: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Balance: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Balance: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi< + __SrApiBlock__, + Balance, + RuntimeCall, +> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + RuntimeCall: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + pallet_transaction_payment::RuntimeDispatchInfo< + Balance, + >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeCall: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + pallet_transaction_payment::FeeDetails< + Balance, + >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Weight: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Balance: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Balance: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> assets_common::runtime_api::FungiblesApi<__SrApiBlock__, AccountId> +for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + AccountId: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Result< + xcm::VersionedMultiAssets, + assets_common::runtime_api::FungiblesAccessError, + >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> cumulus_primitives_core::CollectCollationInfo<__SrApiBlock__> +for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + <__SrApiBlock__ as BlockT>::Header: std::panic::UnwindSafe + + std::panic::RefUnwindSafe, + cumulus_primitives_core::CollationInfo: std::panic::UnwindSafe + + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +impl< + __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, + RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, +> sp_genesis_builder::GenesisBuilder<__SrApiBlock__> +for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> +where + RuntimeApiImplCall::StateBackend: sp_api::StateBackend< + sp_api::HashingFor<__SrApiBlock__>, + >, + &'static RuntimeApiImplCall: Send, + Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + sp_genesis_builder::Result: std::panic::UnwindSafe + std::panic::RefUnwindSafe, + __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, +{ + fn __runtime_api_internal_call_api_at( + &self, + at: <__SrApiBlock__ as sp_api::BlockT>::Hash, + params: std::vec::Vec, + fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, + ) -> std::result::Result, sp_api::ApiError> { + let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); + if transaction_depth == 0 { + self.start_transaction(); + } + let res = (|| { + let version = sp_api::CallApiAt::< + __SrApiBlock__, + >::runtime_version_at(self.call, at)?; + match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { + Some(generated_for) => { + if *generated_for != at { + return std::result::Result::Err( + sp_api::ApiError::UsingSameInstanceForDifferentBlocks, + ); + } + } + generated_for @ None => { + sp_api::CallApiAt::< + __SrApiBlock__, + >::initialize_extensions( + self.call, + at, + &mut std::cell::RefCell::borrow_mut(&self.extensions), + )?; + *generated_for = Some(at); + } + } + let params = sp_api::CallApiAtParams { + at, + function: (*fn_name)(version), + arguments: params, + overlayed_changes: &self.changes, + call_context: self.call_context, + recorder: &self.recorder, + extensions: &self.extensions, + }; + sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) + })(); + if transaction_depth == 0 { + self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); + } + res + } +} +const RUNTIME_API_VERSIONS: sp_api::ApisVec = ::sp_version::sp_std::borrow::Cow::Borrowed( + &[ + ( + sp_consensus_aura::runtime_decl_for_aura_api::ID, + sp_consensus_aura::runtime_decl_for_aura_api::VERSION, + ), + (sp_api::runtime_decl_for_core::ID, sp_api::runtime_decl_for_core::VERSION), + ( + sp_api::runtime_decl_for_metadata::ID, + sp_api::runtime_decl_for_metadata::VERSION, + ), + ( + sp_block_builder::runtime_decl_for_block_builder::ID, + sp_block_builder::runtime_decl_for_block_builder::VERSION, + ), + ( + sp_transaction_pool::runtime_api::runtime_decl_for_tagged_transaction_queue::ID, + sp_transaction_pool::runtime_api::runtime_decl_for_tagged_transaction_queue::VERSION, + ), + ( + sp_offchain::runtime_decl_for_offchain_worker_api::ID, + sp_offchain::runtime_decl_for_offchain_worker_api::VERSION, + ), + ( + sp_session::runtime_decl_for_session_keys::ID, + sp_session::runtime_decl_for_session_keys::VERSION, + ), + ( + frame_system_rpc_runtime_api::runtime_decl_for_account_nonce_api::ID, + frame_system_rpc_runtime_api::runtime_decl_for_account_nonce_api::VERSION, + ), + ( + pallet_asset_conversion::runtime_decl_for_asset_conversion_api::ID, + pallet_asset_conversion::runtime_decl_for_asset_conversion_api::VERSION, + ), + ( + pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_api::ID, + pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_api::VERSION, + ), + ( + pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_call_api::ID, + pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_call_api::VERSION, + ), + ( + assets_common::runtime_api::runtime_decl_for_fungibles_api::ID, + assets_common::runtime_api::runtime_decl_for_fungibles_api::VERSION, + ), + ( + cumulus_primitives_core::runtime_decl_for_collect_collation_info::ID, + cumulus_primitives_core::runtime_decl_for_collect_collation_info::VERSION, + ), + ( + sp_genesis_builder::runtime_decl_for_genesis_builder::ID, + sp_genesis_builder::runtime_decl_for_genesis_builder::VERSION, + ), + ], +); +#[doc(hidden)] +trait InternalImplRuntimeApis { + #[inline(always)] + fn runtime_metadata( + &self, + ) -> sp_api::vec::Vec { + <[_]>::into_vec( + #[rustc_box] + ::alloc::boxed::Box::new([ + sp_consensus_aura::runtime_decl_for_aura_api::runtime_metadata::< + Block, + AuraId, + >(), + sp_api::runtime_decl_for_core::runtime_metadata::(), + sp_api::runtime_decl_for_metadata::runtime_metadata::(), + sp_block_builder::runtime_decl_for_block_builder::runtime_metadata::< + Block, + >(), + sp_transaction_pool::runtime_api::runtime_decl_for_tagged_transaction_queue::runtime_metadata::< + Block, + >(), + sp_offchain::runtime_decl_for_offchain_worker_api::runtime_metadata::< + Block, + >(), + sp_session::runtime_decl_for_session_keys::runtime_metadata::(), + frame_system_rpc_runtime_api::runtime_decl_for_account_nonce_api::runtime_metadata::< + Block, + AccountId, + Nonce, + >(), + pallet_asset_conversion::runtime_decl_for_asset_conversion_api::runtime_metadata::< + Block, + Balance, + u128, + Box, + >(), + pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_api::runtime_metadata::< + Block, + Balance, + >(), + pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_call_api::runtime_metadata::< + Block, + Balance, + RuntimeCall, + >(), + assets_common::runtime_api::runtime_decl_for_fungibles_api::runtime_metadata::< + Block, + AccountId, + >(), + cumulus_primitives_core::runtime_decl_for_collect_collation_info::runtime_metadata::< + Block, + >(), + sp_genesis_builder::runtime_decl_for_genesis_builder::runtime_metadata::< + Block, + >(), + ]), + ) + } +} +#[doc(hidden)] +impl InternalImplRuntimeApis for Runtime {} +pub mod api { + use super::*; + pub fn dispatch(method: &str, mut _sp_api_input_data_: &[u8]) -> Option> { + match method { + "AuraApi_slot_duration" => { + Some( + sp_api::Encode::encode( + &{ + if !_sp_api_input_data_.is_empty() { + { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", + "slot_duration" + ), + ); + }; + } + #[allow(deprecated)] + >::slot_duration() + }, + ), + ) + } + "AuraApi_authorities" => { + Some( + sp_api::Encode::encode( + &{ + if !_sp_api_input_data_.is_empty() { + { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", + "authorities" + ), + ); + }; + } + #[allow(deprecated)] + >::authorities() + }, + ), + ) + } + "Core_version" => { + Some( + sp_api::Encode::encode( + &{ + if !_sp_api_input_data_.is_empty() { + { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", + "version" + ), + ); + }; + } + #[allow(deprecated)] + >::version() + }, + ), + ) + } + "Core_execute_block" => { + Some( + sp_api::Encode::encode( + &{ + let block: Block = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", "execute_block", e + ), + ); + } + }; + #[allow(deprecated)] + >::execute_block(block) + }, + ), + ) + } + "Core_initialize_block" => { + Some( + sp_api::Encode::encode( + &{ + let header: ::Header = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", "initialize_block", e + ), + ); + } + }; + #[allow(deprecated)] + >::initialize_block(&header) + }, + ), + ) + } + "Metadata_metadata" => { + Some( + sp_api::Encode::encode( + &{ + if !_sp_api_input_data_.is_empty() { + { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", + "metadata" + ), + ); + }; + } + #[allow(deprecated)] + >::metadata() + }, + ), + ) + } + "Metadata_metadata_at_version" => { + Some( + sp_api::Encode::encode( + &{ + let version: u32 = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "metadata_at_version", e + ), + ); + } + }; + #[allow(deprecated)] + >::metadata_at_version(version) + }, + ), + ) + } + "Metadata_metadata_versions" => { + Some( + sp_api::Encode::encode( + &{ + if !_sp_api_input_data_.is_empty() { + { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", + "metadata_versions" + ), + ); + }; + } + #[allow(deprecated)] + >::metadata_versions() + }, + ), + ) + } + "BlockBuilder_apply_extrinsic" => { + Some( + sp_api::Encode::encode( + &{ + let extrinsic: ::Extrinsic = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", "apply_extrinsic", e + ), + ); + } + }; + #[allow(deprecated)] + >::apply_extrinsic(extrinsic) + }, + ), + ) + } + "BlockBuilder_finalize_block" => { + Some( + sp_api::Encode::encode( + &{ + if !_sp_api_input_data_.is_empty() { + { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", + "finalize_block" + ), + ); + }; + } + #[allow(deprecated)] + >::finalize_block() + }, + ), + ) + } + "BlockBuilder_inherent_extrinsics" => { + Some( + sp_api::Encode::encode( + &{ + let data: sp_inherents::InherentData = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "inherent_extrinsics", e + ), + ); + } + }; + #[allow(deprecated)] + >::inherent_extrinsics(data) + }, + ), + ) + } + "BlockBuilder_check_inherents" => { + Some( + sp_api::Encode::encode( + &{ + let (block, data): (Block, sp_inherents::InherentData) = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", "check_inherents", e + ), + ); + } + }; + #[allow(deprecated)] + >::check_inherents(block, data) + }, + ), + ) + } + "TaggedTransactionQueue_validate_transaction" => { + Some( + sp_api::Encode::encode( + &{ + let ( + source, + tx, + block_hash, + ): ( + TransactionSource, + ::Extrinsic, + ::Hash, + ) = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "validate_transaction", e + ), + ); + } + }; + #[allow(deprecated)] + >::validate_transaction(source, tx, block_hash) + }, + ), + ) + } + "OffchainWorkerApi_offchain_worker" => { + Some( + sp_api::Encode::encode( + &{ + let header: ::Header = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", "offchain_worker", e + ), + ); + } + }; + #[allow(deprecated)] + >::offchain_worker(&header) + }, + ), + ) + } + "SessionKeys_generate_session_keys" => { + Some( + sp_api::Encode::encode( + &{ + let seed: Option> = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "generate_session_keys", e + ), + ); + } + }; + #[allow(deprecated)] + >::generate_session_keys(seed) + }, + ), + ) + } + "SessionKeys_decode_session_keys" => { + Some( + sp_api::Encode::encode( + &{ + let encoded: Vec = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "decode_session_keys", e + ), + ); + } + }; + #[allow(deprecated)] + >::decode_session_keys(encoded) + }, + ), + ) + } + "AccountNonceApi_account_nonce" => { + Some( + sp_api::Encode::encode( + &{ + let account: AccountId = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", "account_nonce", e + ), + ); + } + }; + #[allow(deprecated)] + >::account_nonce(account) + }, + ), + ) + } + "AssetConversionApi_quote_price_exact_tokens_for_tokens" => { + Some( + sp_api::Encode::encode( + &{ + let ( + asset1, + asset2, + amount, + include_fee, + ): (Box, Box, u128, bool) = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "quote_price_exact_tokens_for_tokens", e + ), + ); + } + }; + #[allow(deprecated)] + , + >>::quote_price_exact_tokens_for_tokens( + asset1, + asset2, + amount, + include_fee, + ) + }, + ), + ) + } + "AssetConversionApi_quote_price_tokens_for_exact_tokens" => { + Some( + sp_api::Encode::encode( + &{ + let ( + asset1, + asset2, + amount, + include_fee, + ): (Box, Box, u128, bool) = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "quote_price_tokens_for_exact_tokens", e + ), + ); + } + }; + #[allow(deprecated)] + , + >>::quote_price_tokens_for_exact_tokens( + asset1, + asset2, + amount, + include_fee, + ) + }, + ), + ) + } + "AssetConversionApi_get_reserves" => { + Some( + sp_api::Encode::encode( + &{ + let ( + asset1, + asset2, + ): (Box, Box) = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", "get_reserves", e + ), + ); + } + }; + #[allow(deprecated)] + , + >>::get_reserves(asset1, asset2) + }, + ), + ) + } + "TransactionPaymentApi_query_info" => { + Some( + sp_api::Encode::encode( + &{ + let (uxt, len): (::Extrinsic, u32) = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", "query_info", e + ), + ); + } + }; + #[allow(deprecated)] + >::query_info(uxt, len) + }, + ), + ) + } + "TransactionPaymentApi_query_fee_details" => { + Some( + sp_api::Encode::encode( + &{ + let (uxt, len): (::Extrinsic, u32) = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", "query_fee_details", + e + ), + ); + } + }; + #[allow(deprecated)] + >::query_fee_details(uxt, len) + }, + ), + ) + } + "TransactionPaymentApi_query_weight_to_fee" => { + Some( + sp_api::Encode::encode( + &{ + let weight: Weight = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "query_weight_to_fee", e + ), + ); + } + }; + #[allow(deprecated)] + >::query_weight_to_fee(weight) + }, + ), + ) + } + "TransactionPaymentApi_query_length_to_fee" => { + Some( + sp_api::Encode::encode( + &{ + let length: u32 = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "query_length_to_fee", e + ), + ); + } + }; + #[allow(deprecated)] + >::query_length_to_fee(length) + }, + ), + ) + } + "TransactionPaymentCallApi_query_call_info" => { + Some( + sp_api::Encode::encode( + &{ + let (call, len): (RuntimeCall, u32) = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", "query_call_info", e + ), + ); + } + }; + #[allow(deprecated)] + >::query_call_info(call, len) + }, + ), + ) + } + "TransactionPaymentCallApi_query_call_fee_details" => { + Some( + sp_api::Encode::encode( + &{ + let (call, len): (RuntimeCall, u32) = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "query_call_fee_details", e + ), + ); + } + }; + #[allow(deprecated)] + >::query_call_fee_details(call, len) + }, + ), + ) + } + "TransactionPaymentCallApi_query_weight_to_fee" => { + Some( + sp_api::Encode::encode( + &{ + let weight: Weight = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "query_weight_to_fee", e + ), + ); + } + }; + #[allow(deprecated)] + >::query_weight_to_fee(weight) + }, + ), + ) + } + "TransactionPaymentCallApi_query_length_to_fee" => { + Some( + sp_api::Encode::encode( + &{ + let length: u32 = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "query_length_to_fee", e + ), + ); + } + }; + #[allow(deprecated)] + >::query_length_to_fee(length) + }, + ), + ) + } + "FungiblesApi_query_account_balances" => { + Some( + sp_api::Encode::encode( + &{ + let account: AccountId = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "query_account_balances", e + ), + ); + } + }; + #[allow(deprecated)] + >::query_account_balances(account) + }, + ), + ) + } + "CollectCollationInfo_collect_collation_info" => { + Some( + sp_api::Encode::encode( + &{ + let header: ::Header = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", + "collect_collation_info", e + ), + ); + } + }; + #[allow(deprecated)] + >::collect_collation_info(&header) + }, + ), + ) + } + "GenesisBuilder_create_default_config" => { + Some( + sp_api::Encode::encode( + &{ + if !_sp_api_input_data_.is_empty() { + { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", + "create_default_config" + ), + ); + }; + } + #[allow(deprecated)] + >::create_default_config() + }, + ), + ) + } + "GenesisBuilder_build_config" => { + Some( + sp_api::Encode::encode( + &{ + let config: Vec = match sp_api::DecodeLimit::decode_all_with_depth_limit( + sp_api::MAX_EXTRINSIC_DEPTH, + &mut _sp_api_input_data_, + ) { + Ok(res) => res, + Err(e) => { + ::core::panicking::panic_fmt( + format_args!( + "Bad input data provided to {0}: {1}", "build_config", e + ), + ); + } + }; + #[allow(deprecated)] + >::build_config(config) + }, + ), + ) + } + _ => None, + } + } +} diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs index 40ce122112d29..6fc1f27c1f1c5 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs @@ -225,8 +225,9 @@ impl pallet_balances::Config for Runtime { type RuntimeHoldReason = RuntimeHoldReason; type FreezeIdentifier = (); // We allow each account to have holds on it from: + // - `Assets`: 4 * 3 instances = 12 // - `NftFractionalization`: 1 - type MaxHolds = ConstU32<1>; + type MaxHolds = ConstU32<13>; type MaxFreezes = ConstU32<0>; } @@ -266,10 +267,11 @@ pub type TrustBackedAssetsInstance = pallet_assets::Instance1; type TrustBackedAssetsCall = pallet_assets::Call; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = AssetIdForTrustBackedAssets; type AssetIdParameter = codec::Compact; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = AssetsForceOrigin; type AssetDeposit = AssetDeposit; @@ -302,11 +304,12 @@ ord_parameter_types! { pub type PoolAssetsInstance = pallet_assets::Instance3; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type RemoveItemsLimit = ConstU32<1000>; type AssetId = u32; type AssetIdParameter = u32; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = AssetsForceOrigin; @@ -374,10 +377,11 @@ parameter_types! { pub type ForeignAssetsInstance = pallet_assets::Instance2; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = MultiLocationForAssetId; type AssetIdParameter = MultiLocationForAssetId; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = ForeignCreators< (FromSiblingParachain>,), ForeignCreatorsSovereignAccountOf, @@ -853,13 +857,13 @@ construct_runtime!( Proxy: pallet_proxy::{Pallet, Call, Storage, Event} = 42, // The main stage. - Assets: pallet_assets::::{Pallet, Call, Storage, Event} = 50, + Assets: pallet_assets::::{Pallet, Call, Storage, Event, HoldReason} = 50, Uniques: pallet_uniques::{Pallet, Call, Storage, Event} = 51, Nfts: pallet_nfts::{Pallet, Call, Storage, Event} = 52, - ForeignAssets: pallet_assets::::{Pallet, Call, Storage, Event} = 53, + ForeignAssets: pallet_assets::::{Pallet, Call, Storage, Event, HoldReason} = 53, NftFractionalization: pallet_nft_fractionalization::{Pallet, Call, Storage, Event, HoldReason} = 54, - PoolAssets: pallet_assets::::{Pallet, Call, Storage, Event} = 55, + PoolAssets: pallet_assets::::{Pallet, Call, Storage, Event, HoldReason} = 55, AssetConversion: pallet_asset_conversion::{Pallet, Call, Storage, Event} = 56, #[cfg(feature = "state-trie-version-1")] diff --git a/cumulus/parachains/runtimes/assets/asset-hub-polkadot/src/lib.rs b/cumulus/parachains/runtimes/assets/asset-hub-polkadot/src/lib.rs index d4f7d6ef36167..c41020f32662f 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-polkadot/src/lib.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-polkadot/src/lib.rs @@ -234,7 +234,9 @@ impl pallet_balances::Config for Runtime { type ReserveIdentifier = [u8; 8]; type RuntimeHoldReason = RuntimeHoldReason; type FreezeIdentifier = (); - type MaxHolds = ConstU32<0>; + // We allow each account to have holds on it from: + // - `Assets`: 4 * 2 instances = 8 + type MaxHolds = ConstU32<8>; type MaxFreezes = ConstU32<0>; } @@ -274,10 +276,11 @@ pub type TrustBackedAssetsInstance = pallet_assets::Instance1; type TrustBackedAssetsCall = pallet_assets::Call; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = AssetIdForTrustBackedAssets; type AssetIdParameter = codec::Compact; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = AssetsForceOrigin; type AssetDeposit = AssetDeposit; @@ -312,10 +315,11 @@ parameter_types! { pub type ForeignAssetsInstance = pallet_assets::Instance2; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = MultiLocationForAssetId; type AssetIdParameter = MultiLocationForAssetId; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = ForeignCreators< (FromSiblingParachain>,), ForeignCreatorsSovereignAccountOf, @@ -767,10 +771,10 @@ construct_runtime!( Proxy: pallet_proxy::{Pallet, Call, Storage, Event} = 42, // The main stage. - Assets: pallet_assets::::{Pallet, Call, Storage, Event} = 50, + Assets: pallet_assets::::{Pallet, Call, Storage, Event, HoldReason} = 50, Uniques: pallet_uniques::{Pallet, Call, Storage, Event} = 51, Nfts: pallet_nfts::{Pallet, Call, Storage, Event} = 52, - ForeignAssets: pallet_assets::::{Pallet, Call, Storage, Event} = 53, + ForeignAssets: pallet_assets::::{Pallet, Call, Storage, Event, HoldReason} = 53, } ); diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs index 943332087627c..f42eae3ee3d29 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs @@ -204,8 +204,9 @@ impl pallet_balances::Config for Runtime { type RuntimeHoldReason = RuntimeHoldReason; type FreezeIdentifier = (); // We allow each account to have holds on it from: + // - `Assets`: 4 * 3 instaces = 12 // - `NftFractionalization`: 1 - type MaxHolds = ConstU32<1>; + type MaxHolds = ConstU32<13>; type MaxFreezes = ConstU32<0>; } @@ -244,10 +245,11 @@ pub type TrustBackedAssetsInstance = pallet_assets::Instance1; type TrustBackedAssetsCall = pallet_assets::Call; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = AssetIdForTrustBackedAssets; type AssetIdParameter = codec::Compact; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = AssetsForceOrigin; type AssetDeposit = AssetDeposit; @@ -280,11 +282,12 @@ ord_parameter_types! { pub type PoolAssetsInstance = pallet_assets::Instance3; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type RemoveItemsLimit = ConstU32<1000>; type AssetId = u32; type AssetIdParameter = u32; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = AssetsForceOrigin; @@ -350,10 +353,11 @@ parameter_types! { pub type ForeignAssetsInstance = pallet_assets::Instance2; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = MultiLocationForAssetId; type AssetIdParameter = MultiLocationForAssetId; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = ForeignCreators< (FromSiblingParachain>,), ForeignCreatorsSovereignAccountOf, @@ -816,12 +820,12 @@ construct_runtime!( Proxy: pallet_proxy::{Pallet, Call, Storage, Event} = 42, // The main stage. - Assets: pallet_assets::::{Pallet, Call, Storage, Event} = 50, + Assets: pallet_assets::::{Pallet, Call, Storage, Event, HoldReason} = 50, Uniques: pallet_uniques::{Pallet, Call, Storage, Event} = 51, Nfts: pallet_nfts::{Pallet, Call, Storage, Event} = 52, - ForeignAssets: pallet_assets::::{Pallet, Call, Storage, Event} = 53, + ForeignAssets: pallet_assets::::{Pallet, Call, Storage, Event, HoldReason} = 53, NftFractionalization: pallet_nft_fractionalization::{Pallet, Call, Storage, Event, HoldReason} = 54, - PoolAssets: pallet_assets::::{Pallet, Call, Storage, Event} = 55, + PoolAssets: pallet_assets::::{Pallet, Call, Storage, Event, HoldReason} = 55, AssetConversion: pallet_asset_conversion::{Pallet, Call, Storage, Event} = 56, } ); diff --git a/cumulus/parachains/runtimes/testing/penpal/src/lib.rs b/cumulus/parachains/runtimes/testing/penpal/src/lib.rs index fe0f19c306321..b66422f91f524 100644 --- a/cumulus/parachains/runtimes/testing/penpal/src/lib.rs +++ b/cumulus/parachains/runtimes/testing/penpal/src/lib.rs @@ -398,7 +398,7 @@ impl pallet_balances::Config for Runtime { type ReserveIdentifier = [u8; 8]; type RuntimeHoldReason = RuntimeHoldReason; type FreezeIdentifier = (); - type MaxHolds = ConstU32<0>; + type MaxHolds = ConstU32<4>; // assets type MaxFreezes = ConstU32<0>; } @@ -431,10 +431,11 @@ parameter_types! { impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = AssetId; type AssetIdParameter = codec::Compact; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; @@ -596,7 +597,7 @@ construct_runtime!( DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 33, // The main stage. - Assets: pallet_assets::{Pallet, Call, Storage, Event} = 50, + Assets: pallet_assets::{Pallet, Call, Storage, Event, HoldReason} = 50, Sudo: pallet_sudo::{Pallet, Call, Storage, Event, Config} = 255, } diff --git a/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs b/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs index 50c5a445c25fe..ef1b48191e325 100644 --- a/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs +++ b/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs @@ -247,7 +247,7 @@ impl pallet_balances::Config for Runtime { type ReserveIdentifier = [u8; 8]; type RuntimeHoldReason = RuntimeHoldReason; type FreezeIdentifier = (); - type MaxHolds = ConstU32<0>; + type MaxHolds = ConstU32<4>; // assets type MaxFreezes = ConstU32<0>; } @@ -543,10 +543,11 @@ pub type AdminOrigin = impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = u64; type AssetId = AssetIdForTrustBackedAssets; type AssetIdParameter = codec::Compact; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = AdminOrigin; type AssetDeposit = AssetDeposit; @@ -587,7 +588,7 @@ construct_runtime! { ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21, Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 30, - Assets: pallet_assets::{Pallet, Call, Storage, Event} = 31, + Assets: pallet_assets::{Pallet, Call, Storage, Event, HoldReason} = 31, Aura: pallet_aura::{Pallet, Config}, AuraExt: cumulus_pallet_aura_ext::{Pallet, Config}, diff --git a/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs b/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs index 5b6fa3ee5a0b0..df2265e5cd441 100644 --- a/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs +++ b/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs @@ -76,7 +76,7 @@ impl pallet_balances::Config for Test { type ReserveIdentifier = [u8; 8]; type RuntimeHoldReason = RuntimeHoldReason; type FreezeIdentifier = (); - type MaxHolds = ConstU32<0>; + type MaxHolds = ConstU32<4>; // assets type MaxFreezes = ConstU32<0>; } @@ -92,9 +92,10 @@ parameter_types! { impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = AssetIdForAssets; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; diff --git a/substrate/bin/node/runtime/src/lib.rs b/substrate/bin/node/runtime/src/lib.rs index 2070e3f12d04f..a6a75f3204803 100644 --- a/substrate/bin/node/runtime/src/lib.rs +++ b/substrate/bin/node/runtime/src/lib.rs @@ -524,7 +524,7 @@ impl pallet_balances::Config for Runtime { type FreezeIdentifier = RuntimeFreezeReason; type MaxFreezes = ConstU32<1>; type RuntimeHoldReason = RuntimeHoldReason; - type MaxHolds = ConstU32<2>; + type MaxHolds = ConstU32<10>; // 2 + 8 (2 asset instances) } parameter_types! { @@ -1583,10 +1583,11 @@ parameter_types! { impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = u128; type AssetId = u32; type AssetIdParameter = codec::Compact; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; @@ -1610,10 +1611,11 @@ ord_parameter_types! { impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = u128; type AssetId = u32; type AssetIdParameter = codec::Compact; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; diff --git a/substrate/frame/asset-conversion/src/lib.rs b/substrate/frame/asset-conversion/src/lib.rs index 8d811473e861f..f2357d1c97c64 100644 --- a/substrate/frame/asset-conversion/src/lib.rs +++ b/substrate/frame/asset-conversion/src/lib.rs @@ -1121,7 +1121,7 @@ pub mod pallet { let reserve_out = T::HigherPrecisionBalance::from(*reserve_out); if reserve_in.is_zero() || reserve_out.is_zero() { - return Err(Error::::ZeroLiquidity.into()) + return Err(Error::::ZeroLiquidity) } let amount_in_with_fee = amount_in diff --git a/substrate/frame/asset-conversion/src/mock.rs b/substrate/frame/asset-conversion/src/mock.rs index 3a19f39e7ca62..b4c778e44901f 100644 --- a/substrate/frame/asset-conversion/src/mock.rs +++ b/substrate/frame/asset-conversion/src/mock.rs @@ -86,17 +86,18 @@ impl pallet_balances::Config for Test { type ReserveIdentifier = [u8; 8]; type FreezeIdentifier = (); type MaxFreezes = (); - type RuntimeHoldReason = (); - type MaxHolds = (); + type RuntimeHoldReason = RuntimeHoldReason; + type MaxHolds = ConstU32<8>; // each asset instance is 4 holds. } impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = u128; type RemoveItemsLimit = ConstU32<1000>; type AssetId = u32; type AssetIdParameter = u32; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = frame_system::EnsureRoot; type AssetDeposit = ConstU128<1>; @@ -116,11 +117,12 @@ impl pallet_assets::Config for Test { impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = u128; type RemoveItemsLimit = ConstU32<1000>; type AssetId = u32; type AssetIdParameter = u32; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = frame_system::EnsureRoot; diff --git a/substrate/frame/assets/src/lib.rs b/substrate/frame/assets/src/lib.rs index 759ff43c564d6..0a8f5b19c1d23 100644 --- a/substrate/frame/assets/src/lib.rs +++ b/substrate/frame/assets/src/lib.rs @@ -237,7 +237,7 @@ pub mod pallet { + IsType<::RuntimeEvent>; /// The overarching hold reason. - type RuntimeHoldReason: From; + type RuntimeHoldReason: From>; /// The units in which we record balances. type Balance: Member @@ -586,7 +586,7 @@ pub mod pallet { /// A reason for this pallet placing a hold on funds. #[pallet::composite_enum] - pub enum HoldReason { + pub enum HoldReason { // Holds involved in asset construction: AssetCreation, AssetMetadata, diff --git a/substrate/frame/nft-fractionalization/src/mock.rs b/substrate/frame/nft-fractionalization/src/mock.rs index c690f0e580ed6..051c881860d85 100644 --- a/substrate/frame/nft-fractionalization/src/mock.rs +++ b/substrate/frame/nft-fractionalization/src/mock.rs @@ -93,11 +93,12 @@ impl pallet_balances::Config for Test { impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = u64; type RemoveItemsLimit = ConstU32<1000>; type AssetId = u32; type AssetIdParameter = u32; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = frame_system::EnsureRoot; type AssetDeposit = ConstU64<1>; diff --git a/substrate/frame/support/test/tests/pallet_ui/composite_enum_unsupported_identifier.rs b/substrate/frame/support/test/tests/pallet_ui/composite_enum_unsupported_identifier.rs index ca755ff9c2ba9..8f984e28abfb2 100644 --- a/substrate/frame/support/test/tests/pallet_ui/composite_enum_unsupported_identifier.rs +++ b/substrate/frame/support/test/tests/pallet_ui/composite_enum_unsupported_identifier.rs @@ -24,7 +24,7 @@ mod pallet { pub struct Pallet(core::marker::PhantomData); #[pallet::composite_enum] - pub enum HoldReasons {} + pub enum HoldReason {} } fn main() {} \ No newline at end of file diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs index bfbe8b4178cee..bd46abb948683 100644 --- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs +++ b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs @@ -120,8 +120,8 @@ impl pallet_balances::Config for Runtime { type ReserveIdentifier = [u8; 8]; type FreezeIdentifier = (); type MaxFreezes = (); - type RuntimeHoldReason = (); - type MaxHolds = (); + type RuntimeHoldReason = RuntimeHoldReason; + type MaxHolds = ConstU32<4>; } impl WeightToFeeT for WeightToFee { @@ -174,10 +174,11 @@ type AssetId = u32; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = AssetId; type AssetIdParameter = codec::Compact; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = ConstU64<2>; @@ -198,11 +199,12 @@ impl pallet_assets::Config for Runtime { impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = u64; type RemoveItemsLimit = ConstU32<1000>; type AssetId = u32; type AssetIdParameter = u32; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = frame_system::EnsureRoot; type AssetDeposit = ConstU64<0>; diff --git a/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs b/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs index b8d7b523ca258..4f893d752f0f7 100644 --- a/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs +++ b/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs @@ -112,8 +112,8 @@ impl pallet_balances::Config for Runtime { type ReserveIdentifier = [u8; 8]; type FreezeIdentifier = (); type MaxFreezes = (); - type RuntimeHoldReason = (); - type MaxHolds = (); + type RuntimeHoldReason = RuntimeHoldReason; + type MaxHolds = ConstU32<4>; // assets } impl WeightToFeeT for WeightToFee { @@ -147,10 +147,11 @@ type AssetId = u32; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = AssetId; type AssetIdParameter = codec::Compact; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = ConstU64<2>; From 4444e8b2a95d7471c8c69559063496949eda7e9f Mon Sep 17 00:00:00 2001 From: Giles Cope Date: Wed, 18 Oct 2023 11:36:47 +0100 Subject: [PATCH 04/11] remove stray file --- .../runtimes/assets/asset-hub-kusama/out.rs | 20109 ---------------- 1 file changed, 20109 deletions(-) delete mode 100644 cumulus/parachains/runtimes/assets/asset-hub-kusama/out.rs diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/out.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/out.rs deleted file mode 100644 index 97999260d6465..0000000000000 --- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/out.rs +++ /dev/null @@ -1,20109 +0,0 @@ -#![feature(prelude_import)] -//! # Asset Hub Kusama Runtime -//! -//! Asset Hub Kusama, formerly known as "Statemine", is the canary network for its Polkadot cousin. -#![recursion_limit = "256"] -#[prelude_import] -use std::prelude::rust_2021::*; -#[macro_use] -extern crate std; -pub const WASM_BINARY: Option<&[u8]> = None; -pub const WASM_BINARY_BLOATY: Option<&[u8]> = None; -mod weights { - pub mod block_weights { - pub mod constants { - use frame_support::{parameter_types, weights::{constants, Weight}}; - /// Importing a block with 0 Extrinsics. - pub struct BlockExecutionWeight; - impl BlockExecutionWeight { - /// Returns the value of this parameter type. - pub const fn get() -> Weight { - Weight::from_parts( - constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(5_000_000), - 0, - ) - } - } - impl<_I: From> ::frame_support::traits::Get<_I> - for BlockExecutionWeight { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for BlockExecutionWeight { - type Type = Weight; - fn get() -> Weight { - Self::get() - } - } - } - } - pub mod cumulus_pallet_xcmp_queue { - //! Autogenerated weights for `cumulus_pallet_xcmp_queue` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `cumulus_pallet_xcmp_queue`. - pub struct WeightInfo(PhantomData); - impl cumulus_pallet_xcmp_queue::WeightInfo - for WeightInfo { - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:1) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn set_config_with_u32() -> Weight { - Weight::from_parts(5_634_000, 0) - .saturating_add(Weight::from_parts(0, 1561)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `XcmpQueue::QueueConfig` (r:1 w:1) - /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn set_config_with_weight() -> Weight { - Weight::from_parts(5_570_000, 0) - .saturating_add(Weight::from_parts(0, 1561)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - } - } - pub mod extrinsic_weights { - pub mod constants { - use frame_support::{parameter_types, weights::{constants, Weight}}; - /// Executing a NO-OP `System::remarks` Extrinsic. - pub struct ExtrinsicBaseWeight; - impl ExtrinsicBaseWeight { - /// Returns the value of this parameter type. - pub const fn get() -> Weight { - Weight::from_parts( - constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(125_000), - 0, - ) - } - } - impl<_I: From> ::frame_support::traits::Get<_I> - for ExtrinsicBaseWeight { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for ExtrinsicBaseWeight { - type Type = Weight; - fn get() -> Weight { - Self::get() - } - } - } - } - pub mod frame_system { - //! Autogenerated weights for `frame_system` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `frame_system`. - pub struct WeightInfo(PhantomData); - impl frame_system::WeightInfo for WeightInfo { - /// The range of component `b` is `[0, 3932160]`. - fn remark(b: u32) -> Weight { - Weight::from_parts(1_884_213, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(Weight::from_parts(388, 0).saturating_mul(b.into())) - } - /// The range of component `b` is `[0, 3932160]`. - fn remark_with_event(b: u32) -> Weight { - Weight::from_parts(27_081_927, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add( - Weight::from_parts(1_730, 0).saturating_mul(b.into()), - ) - } - /// Storage: `System::Digest` (r:1 w:1) - /// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1) - /// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1) - fn set_heap_pages() -> Weight { - Weight::from_parts(4_149_000, 0) - .saturating_add(Weight::from_parts(0, 1485)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) - /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::UpgradeRestrictionSignal` (r:1 w:0) - /// Proof: `ParachainSystem::UpgradeRestrictionSignal` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingValidationCode` (r:1 w:1) - /// Proof: `ParachainSystem::PendingValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::NewValidationCode` (r:0 w:1) - /// Proof: `ParachainSystem::NewValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::DidSetValidationCode` (r:0 w:1) - /// Proof: `ParachainSystem::DidSetValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn set_code() -> Weight { - Weight::from_parts(106_870_091_000, 0) - .saturating_add(Weight::from_parts(0, 1604)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Skipped::Metadata` (r:0 w:0) - /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `i` is `[0, 1000]`. - fn set_storage(i: u32) -> Weight { - Weight::from_parts(2_302_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add( - Weight::from_parts(763_456, 0).saturating_mul(i.into()), - ) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(i.into())), - ) - } - /// Storage: `Skipped::Metadata` (r:0 w:0) - /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `i` is `[0, 1000]`. - fn kill_storage(i: u32) -> Weight { - Weight::from_parts(2_238_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add( - Weight::from_parts(571_397, 0).saturating_mul(i.into()), - ) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(i.into())), - ) - } - /// Storage: `Skipped::Metadata` (r:0 w:0) - /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `p` is `[0, 1000]`. - fn kill_prefix(p: u32) -> Weight { - Weight::from_parts(3_947_000, 0) - .saturating_add(Weight::from_parts(0, 80)) - .saturating_add( - Weight::from_parts(1_212_360, 0).saturating_mul(p.into()), - ) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(p.into())), - ) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(p.into())), - ) - .saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into())) - } - } - } - pub mod pallet_asset_conversion { - //! Autogenerated weights for `pallet_asset_conversion` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_asset_conversion`. - pub struct WeightInfo(PhantomData); - impl pallet_asset_conversion::WeightInfo - for WeightInfo { - /// Storage: `AssetConversion::Pools` (r:1 w:1) - /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) - /// Storage: UNKNOWN KEY `0x76a2c49709deec21d9c05f96c1f47351` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x76a2c49709deec21d9c05f96c1f47351` (r:1 w:0) - /// Storage: `System::Account` (r:2 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:1 w:1) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `AssetConversion::NextPoolAssetId` (r:1 w:1) - /// Proof: `AssetConversion::NextPoolAssetId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn create_pool() -> Weight { - Weight::from_parts(92_964_000, 0) - .saturating_add(Weight::from_parts(0, 6196)) - .saturating_add(T::DbWeight::get().reads(9)) - .saturating_add(T::DbWeight::get().writes(7)) - } - /// Storage: `AssetConversion::Pools` (r:1 w:0) - /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:2 w:2) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:2 w:2) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn add_liquidity() -> Weight { - Weight::from_parts(157_018_000, 0) - .saturating_add(Weight::from_parts(0, 7404)) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(7)) - } - /// Storage: `AssetConversion::Pools` (r:1 w:0) - /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:2 w:2) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: UNKNOWN KEY `0x2433d831722b1f4aeb1666953f1c0e77` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x2433d831722b1f4aeb1666953f1c0e77` (r:1 w:0) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn remove_liquidity() -> Weight { - Weight::from_parts(147_865_000, 0) - .saturating_add(Weight::from_parts(0, 7404)) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(6)) - } - /// Storage: `ForeignAssets::Asset` (r:2 w:2) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:4 w:4) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn swap_exact_tokens_for_tokens() -> Weight { - Weight::from_parts(174_283_000, 0) - .saturating_add(Weight::from_parts(0, 13818)) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(8)) - } - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:2 w:2) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:4 w:4) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - fn swap_tokens_for_exact_tokens() -> Weight { - Weight::from_parts(173_702_000, 0) - .saturating_add(Weight::from_parts(0, 13818)) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(8)) - } - } - } - pub mod pallet_assets_foreign { - //! Autogenerated weights for `pallet_assets` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-06-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_assets`. - pub struct WeightInfo(PhantomData); - impl pallet_assets::WeightInfo for WeightInfo { - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn create() -> Weight { - Weight::from_parts(31_007_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - fn force_create() -> Weight { - Weight::from_parts(13_304_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - fn start_destroy() -> Weight { - Weight::from_parts(16_063_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: ForeignAssets Asset (r:1 w:1) - /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen) - /// Storage: ForeignAssets Account (r:1001 w:1000) - /// Proof: ForeignAssets Account (max_values: None, max_size: Some(732), added: 3207, mode: MaxEncodedLen) - /// Storage: System Account (r:1000 w:1000) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// The range of component `c` is `[0, 1000]`. - /// The range of component `c` is `[0, 1000]`. - fn destroy_accounts(c: u32) -> Weight { - Weight::from_parts(18_791_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add( - Weight::from_parts(12_049_659, 0).saturating_mul(c.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add( - T::DbWeight::get().reads((2_u64).saturating_mul(c.into())), - ) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add( - T::DbWeight::get().writes((2_u64).saturating_mul(c.into())), - ) - .saturating_add(Weight::from_parts(0, 3207).saturating_mul(c.into())) - } - /// Storage: ForeignAssets Asset (r:1 w:1) - /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen) - /// Storage: ForeignAssets Approvals (r:1001 w:1000) - /// Proof: ForeignAssets Approvals (max_values: None, max_size: Some(746), added: 3221, mode: MaxEncodedLen) - /// The range of component `a` is `[0, 1000]`. - /// The range of component `a` is `[0, 1000]`. - fn destroy_approvals(a: u32) -> Weight { - Weight::from_parts(20_148_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add( - Weight::from_parts(13_897_319, 0).saturating_mul(a.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(a.into())), - ) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(a.into())), - ) - .saturating_add(Weight::from_parts(0, 3221).saturating_mul(a.into())) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Metadata` (r:1 w:0) - /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`) - fn finish_destroy() -> Weight { - Weight::from_parts(16_241_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:1 w:1) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - fn mint() -> Weight { - Weight::from_parts(28_182_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:1 w:1) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - fn burn() -> Weight { - Weight::from_parts(33_860_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:2 w:2) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer() -> Weight { - Weight::from_parts(45_856_000, 0) - .saturating_add(Weight::from_parts(0, 7404)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:2 w:2) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_keep_alive() -> Weight { - Weight::from_parts(40_791_000, 0) - .saturating_add(Weight::from_parts(0, 7404)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:2 w:2) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_transfer() -> Weight { - Weight::from_parts(45_980_000, 0) - .saturating_add(Weight::from_parts(0, 7404)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:0) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:1 w:1) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - fn freeze() -> Weight { - Weight::from_parts(19_326_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:0) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:1 w:1) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - fn thaw() -> Weight { - Weight::from_parts(19_205_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - fn freeze_asset() -> Weight { - Weight::from_parts(15_825_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - fn thaw_asset() -> Weight { - Weight::from_parts(15_769_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Metadata` (r:1 w:0) - /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`) - fn transfer_ownership() -> Weight { - Weight::from_parts(16_931_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - fn set_team() -> Weight { - Weight::from_parts(15_435_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: ForeignAssets Asset (r:1 w:0) - /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen) - /// Storage: ForeignAssets Metadata (r:1 w:1) - /// Proof: ForeignAssets Metadata (max_values: None, max_size: Some(738), added: 3213, mode: MaxEncodedLen) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn set_metadata(_n: u32, _s: u32) -> Weight { - Weight::from_parts(31_607_649, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:0) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Metadata` (r:1 w:1) - /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`) - fn clear_metadata() -> Weight { - Weight::from_parts(31_008_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: ForeignAssets Asset (r:1 w:0) - /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen) - /// Storage: ForeignAssets Metadata (r:1 w:1) - /// Proof: ForeignAssets Metadata (max_values: None, max_size: Some(738), added: 3213, mode: MaxEncodedLen) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(_n: u32, s: u32) -> Weight { - Weight::from_parts(14_717_332, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add( - Weight::from_parts(2_595, 0).saturating_mul(s.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:0) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Metadata` (r:1 w:1) - /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`) - fn force_clear_metadata() -> Weight { - Weight::from_parts(29_918_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - fn force_asset_status() -> Weight { - Weight::from_parts(14_138_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Approvals` (r:1 w:1) - /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) - fn approve_transfer() -> Weight { - Weight::from_parts(33_524_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Approvals` (r:1 w:1) - /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:2 w:2) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_approved() -> Weight { - Weight::from_parts(64_078_000, 0) - .saturating_add(Weight::from_parts(0, 7404)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Approvals` (r:1 w:1) - /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) - fn cancel_approval() -> Weight { - Weight::from_parts(35_484_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Approvals` (r:1 w:1) - /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) - fn force_cancel_approval() -> Weight { - Weight::from_parts(36_266_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - fn set_min_balance() -> Weight { - Weight::from_parts(16_182_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `ForeignAssets::Account` (r:1 w:1) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn touch() -> Weight { - Weight::from_parts(35_512_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `ForeignAssets::Account` (r:1 w:1) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - fn touch_other() -> Weight { - Weight::from_parts(34_124_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ForeignAssets::Account` (r:1 w:1) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn refund() -> Weight { - Weight::from_parts(32_012_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `ForeignAssets::Account` (r:1 w:1) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - fn refund_other() -> Weight { - Weight::from_parts(29_968_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ForeignAssets::Asset` (r:1 w:0) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:1 w:1) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - fn block() -> Weight { - Weight::from_parts(19_172_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - } - } - pub mod pallet_assets_local { - //! Autogenerated weights for `pallet_assets` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_assets`. - pub struct WeightInfo(PhantomData); - impl pallet_assets::WeightInfo for WeightInfo { - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn create() -> Weight { - Weight::from_parts(27_332_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn force_create() -> Weight { - Weight::from_parts(11_395_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn start_destroy() -> Weight { - Weight::from_parts(14_108_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:1001 w:1000) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1000 w:1000) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `c` is `[0, 1000]`. - /// The range of component `c` is `[0, 1000]`. - fn destroy_accounts(c: u32) -> Weight { - Weight::from_parts(16_636_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add( - Weight::from_parts(15_306_152, 0).saturating_mul(c.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add( - T::DbWeight::get().reads((2_u64).saturating_mul(c.into())), - ) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add( - T::DbWeight::get().writes((2_u64).saturating_mul(c.into())), - ) - .saturating_add(Weight::from_parts(0, 2609).saturating_mul(c.into())) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Approvals` (r:1001 w:1000) - /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 1000]`. - /// The range of component `a` is `[0, 1000]`. - fn destroy_approvals(a: u32) -> Weight { - Weight::from_parts(17_247_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add( - Weight::from_parts(15_634_963, 0).saturating_mul(a.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(a.into())), - ) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(Weight::from_parts(0, 2623).saturating_mul(a.into())) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Metadata` (r:1 w:0) - /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn finish_destroy() -> Weight { - Weight::from_parts(14_721_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:1 w:1) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn mint() -> Weight { - Weight::from_parts(25_023_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:1 w:1) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn burn() -> Weight { - Weight::from_parts(32_235_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:2 w:2) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer() -> Weight { - Weight::from_parts(44_106_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:2 w:2) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_keep_alive() -> Weight { - Weight::from_parts(38_772_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:2 w:2) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_transfer() -> Weight { - Weight::from_parts(44_003_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Assets::Asset` (r:1 w:0) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:1 w:1) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn freeze() -> Weight { - Weight::from_parts(17_614_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:0) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:1 w:1) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn thaw() -> Weight { - Weight::from_parts(17_581_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn freeze_asset() -> Weight { - Weight::from_parts(13_735_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn thaw_asset() -> Weight { - Weight::from_parts(13_417_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Metadata` (r:1 w:0) - /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn transfer_ownership() -> Weight { - Weight::from_parts(14_660_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn set_team() -> Weight { - Weight::from_parts(13_172_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:0) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Metadata` (r:1 w:1) - /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn set_metadata(n: u32, s: u32) -> Weight { - Weight::from_parts(29_036_880, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add( - Weight::from_parts(2_426, 0).saturating_mul(n.into()), - ) - .saturating_add(Weight::from_parts(776, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:0) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Metadata` (r:1 w:1) - /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn clear_metadata() -> Weight { - Weight::from_parts(29_216_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:0) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Metadata` (r:1 w:1) - /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(n: u32, s: u32) -> Weight { - Weight::from_parts(13_095_356, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(Weight::from_parts(826, 0).saturating_mul(n.into())) - .saturating_add(Weight::from_parts(808, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:0) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Metadata` (r:1 w:1) - /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn force_clear_metadata() -> Weight { - Weight::from_parts(29_050_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn force_asset_status() -> Weight { - Weight::from_parts(12_545_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Approvals` (r:1 w:1) - /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - fn approve_transfer() -> Weight { - Weight::from_parts(32_052_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Approvals` (r:1 w:1) - /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:2 w:2) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_approved() -> Weight { - Weight::from_parts(62_740_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Approvals` (r:1 w:1) - /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - fn cancel_approval() -> Weight { - Weight::from_parts(34_127_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Approvals` (r:1 w:1) - /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - fn force_cancel_approval() -> Weight { - Weight::from_parts(34_613_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn set_min_balance() -> Weight { - Weight::from_parts(13_997_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Assets::Account` (r:1 w:1) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn touch() -> Weight { - Weight::from_parts(33_675_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Assets::Account` (r:1 w:1) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn touch_other() -> Weight { - Weight::from_parts(31_710_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Assets::Account` (r:1 w:1) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn refund() -> Weight { - Weight::from_parts(30_793_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Assets::Account` (r:1 w:1) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn refund_other() -> Weight { - Weight::from_parts(29_097_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Assets::Asset` (r:1 w:0) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:1 w:1) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn block() -> Weight { - Weight::from_parts(17_433_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - } - } - pub mod pallet_assets_pool { - //! Autogenerated weights for `pallet_assets` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_assets`. - pub struct WeightInfo(PhantomData); - impl pallet_assets::WeightInfo for WeightInfo { - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn create() -> Weight { - Weight::from_parts(11_901_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn force_create() -> Weight { - Weight::from_parts(11_640_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn start_destroy() -> Weight { - Weight::from_parts(14_226_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1001 w:1000) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1000 w:1000) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `c` is `[0, 1000]`. - /// The range of component `c` is `[0, 1000]`. - /// The range of component `c` is `[0, 1000]`. - fn destroy_accounts(c: u32) -> Weight { - Weight::from_parts(16_743_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add( - Weight::from_parts(14_463_991, 0).saturating_mul(c.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add( - T::DbWeight::get().reads((2_u64).saturating_mul(c.into())), - ) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add( - T::DbWeight::get().writes((2_u64).saturating_mul(c.into())), - ) - .saturating_add(Weight::from_parts(0, 2609).saturating_mul(c.into())) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Approvals` (r:1001 w:1000) - /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 1000]`. - /// The range of component `a` is `[0, 1000]`. - /// The range of component `a` is `[0, 1000]`. - fn destroy_approvals(a: u32) -> Weight { - Weight::from_parts(17_585_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add( - Weight::from_parts(5_323_866, 0).saturating_mul(a.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(a.into())), - ) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(a.into())), - ) - .saturating_add(Weight::from_parts(0, 2623).saturating_mul(a.into())) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:0) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn finish_destroy() -> Weight { - Weight::from_parts(14_325_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn mint() -> Weight { - Weight::from_parts(25_607_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn burn() -> Weight { - Weight::from_parts(32_338_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:2 w:2) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer() -> Weight { - Weight::from_parts(44_041_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:2 w:2) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_keep_alive() -> Weight { - Weight::from_parts(38_648_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:2 w:2) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_transfer() -> Weight { - Weight::from_parts(44_029_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn freeze() -> Weight { - Weight::from_parts(17_782_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn thaw() -> Weight { - Weight::from_parts(17_698_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn freeze_asset() -> Weight { - Weight::from_parts(13_810_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn thaw_asset() -> Weight { - Weight::from_parts(13_603_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:0) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn transfer_ownership() -> Weight { - Weight::from_parts(14_774_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn set_team() -> Weight { - Weight::from_parts(13_616_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:1) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn set_metadata(n: u32, s: u32) -> Weight { - Weight::from_parts(16_096_881, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add( - Weight::from_parts(1_631, 0).saturating_mul(n.into()), - ) - .saturating_add( - Weight::from_parts(2_334, 0).saturating_mul(s.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:1) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn clear_metadata() -> Weight { - Weight::from_parts(16_526_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:1) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(n: u32, s: u32) -> Weight { - Weight::from_parts(14_047_176, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add( - Weight::from_parts(2_617, 0).saturating_mul(n.into()), - ) - .saturating_add( - Weight::from_parts(2_081, 0).saturating_mul(s.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:1) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn force_clear_metadata() -> Weight { - Weight::from_parts(16_279_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn force_asset_status() -> Weight { - Weight::from_parts(13_080_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Approvals` (r:1 w:1) - /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - fn approve_transfer() -> Weight { - Weight::from_parts(19_812_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Approvals` (r:1 w:1) - /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:2 w:2) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_approved() -> Weight { - Weight::from_parts(51_441_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Approvals` (r:1 w:1) - /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - fn cancel_approval() -> Weight { - Weight::from_parts(21_946_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Approvals` (r:1 w:1) - /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - fn force_cancel_approval() -> Weight { - Weight::from_parts(22_366_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn set_min_balance() -> Weight { - Weight::from_parts(14_086_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn touch() -> Weight { - Weight::from_parts(19_000_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn touch_other() -> Weight { - Weight::from_parts(19_040_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn refund() -> Weight { - Weight::from_parts(15_296_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn refund_other() -> Weight { - Weight::from_parts(15_312_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn block() -> Weight { - Weight::from_parts(17_653_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - } - } - pub mod pallet_balances { - //! Autogenerated weights for `pallet_balances` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_balances`. - pub struct WeightInfo(PhantomData); - impl pallet_balances::WeightInfo for WeightInfo { - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_allow_death() -> Weight { - Weight::from_parts(56_106_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_keep_alive() -> Weight { - Weight::from_parts(41_890_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_set_balance_creating() -> Weight { - Weight::from_parts(15_182_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_set_balance_killing() -> Weight { - Weight::from_parts(22_638_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_transfer() -> Weight { - Weight::from_parts(58_222_000, 0) - .saturating_add(Weight::from_parts(0, 6196)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_all() -> Weight { - Weight::from_parts(52_003_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_unreserve() -> Weight { - Weight::from_parts(17_849_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `System::Account` (r:999 w:999) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `u` is `[1, 1000]`. - fn upgrade_accounts(u: u32) -> Weight { - Weight::from_parts(17_478_000, 0) - .saturating_add(Weight::from_parts(0, 990)) - .saturating_add( - Weight::from_parts(15_291_954, 0).saturating_mul(u.into()), - ) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(u.into())), - ) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(u.into())), - ) - .saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into())) - } - } - } - pub mod pallet_collator_selection { - //! Autogenerated weights for `pallet_collator_selection` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_collator_selection`. - pub struct WeightInfo(PhantomData); - impl pallet_collator_selection::WeightInfo - for WeightInfo { - /// Storage: `Session::NextKeys` (r:20 w:0) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `CollatorSelection::Invulnerables` (r:0 w:1) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// The range of component `b` is `[1, 20]`. - fn set_invulnerables(b: u32) -> Weight { - Weight::from_parts(13_068_592, 0) - .saturating_add(Weight::from_parts(0, 1154)) - .saturating_add( - Weight::from_parts(3_219_916, 0).saturating_mul(b.into()), - ) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(b.into())), - ) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(Weight::from_parts(0, 2555).saturating_mul(b.into())) - } - /// Storage: `Session::NextKeys` (r:1 w:0) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:1) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Candidates` (r:1 w:1) - /// Proof: `CollatorSelection::Candidates` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `b` is `[1, 19]`. - /// The range of component `c` is `[1, 99]`. - fn add_invulnerable(b: u32, c: u32) -> Weight { - Weight::from_parts(51_768_986, 0) - .saturating_add(Weight::from_parts(0, 6287)) - .saturating_add( - Weight::from_parts(55_676, 0).saturating_mul(b.into()), - ) - .saturating_add( - Weight::from_parts(184_343, 0).saturating_mul(c.into()), - ) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) - .saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into())) - .saturating_add(Weight::from_parts(0, 53).saturating_mul(c.into())) - } - /// Storage: `CollatorSelection::Candidates` (r:1 w:0) - /// Proof: `CollatorSelection::Candidates` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:1) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// The range of component `b` is `[5, 20]`. - fn remove_invulnerable(b: u32) -> Weight { - Weight::from_parts(16_646_017, 0) - .saturating_add(Weight::from_parts(0, 6287)) - .saturating_add( - Weight::from_parts(148_941, 0).saturating_mul(b.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `CollatorSelection::DesiredCandidates` (r:0 w:1) - /// Proof: `CollatorSelection::DesiredCandidates` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - fn set_desired_candidates() -> Weight { - Weight::from_parts(8_002_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `CollatorSelection::CandidacyBond` (r:0 w:1) - /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - fn set_candidacy_bond() -> Weight { - Weight::from_parts(8_161_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `CollatorSelection::Candidates` (r:1 w:1) - /// Proof: `CollatorSelection::Candidates` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::DesiredCandidates` (r:1 w:0) - /// Proof: `CollatorSelection::DesiredCandidates` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `Session::NextKeys` (r:1 w:0) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `CollatorSelection::CandidacyBond` (r:1 w:0) - /// Proof: `CollatorSelection::CandidacyBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// The range of component `c` is `[1, 99]`. - fn register_as_candidate(c: u32) -> Weight { - Weight::from_parts(45_979_502, 0) - .saturating_add(Weight::from_parts(0, 6287)) - .saturating_add( - Weight::from_parts(221_049, 0).saturating_mul(c.into()), - ) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(Weight::from_parts(0, 54).saturating_mul(c.into())) - } - /// Storage: `CollatorSelection::Candidates` (r:1 w:1) - /// Proof: `CollatorSelection::Candidates` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// The range of component `c` is `[4, 100]`. - fn leave_intent(c: u32) -> Weight { - Weight::from_parts(36_371_520, 0) - .saturating_add(Weight::from_parts(0, 6287)) - .saturating_add( - Weight::from_parts(201_700, 0).saturating_mul(c.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `System::BlockWeight` (r:1 w:1) - /// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:0 w:1) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - fn note_author() -> Weight { - Weight::from_parts(48_151_000, 0) - .saturating_add(Weight::from_parts(0, 6196)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `CollatorSelection::Candidates` (r:1 w:0) - /// Proof: `CollatorSelection::Candidates` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::LastAuthoredBlock` (r:100 w:0) - /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) - /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) - /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(641), added: 1136, mode: `MaxEncodedLen`) - /// Storage: `System::BlockWeight` (r:1 w:1) - /// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:97 w:97) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `r` is `[1, 100]`. - /// The range of component `c` is `[1, 100]`. - fn new_session(r: u32, c: u32) -> Weight { - Weight::from_parts(17_854_000, 0) - .saturating_add(Weight::from_parts(0, 6287)) - .saturating_add( - Weight::from_parts(15_798_857, 0).saturating_mul(c.into()), - ) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(c.into())), - ) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(c.into())), - ) - .saturating_add(Weight::from_parts(0, 2519).saturating_mul(c.into())) - .saturating_add(Weight::from_parts(0, 2603).saturating_mul(r.into())) - } - } - } - pub mod pallet_multisig { - //! Autogenerated weights for `pallet_multisig` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_multisig`. - pub struct WeightInfo(PhantomData); - impl pallet_multisig::WeightInfo for WeightInfo { - /// The range of component `z` is `[0, 10000]`. - fn as_multi_threshold_1(z: u32) -> Weight { - Weight::from_parts(14_440_231, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(Weight::from_parts(598, 0).saturating_mul(z.into())) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - /// The range of component `z` is `[0, 10000]`. - fn as_multi_create(s: u32, z: u32) -> Weight { - Weight::from_parts(33_662_218, 0) - .saturating_add(Weight::from_parts(0, 6811)) - .saturating_add( - Weight::from_parts(128_927, 0).saturating_mul(s.into()), - ) - .saturating_add( - Weight::from_parts(1_543, 0).saturating_mul(z.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[3, 100]`. - /// The range of component `z` is `[0, 10000]`. - fn as_multi_approve(s: u32, z: u32) -> Weight { - Weight::from_parts(20_559_891, 0) - .saturating_add(Weight::from_parts(0, 6811)) - .saturating_add( - Weight::from_parts(103_601, 0).saturating_mul(s.into()), - ) - .saturating_add( - Weight::from_parts(1_504, 0).saturating_mul(z.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - /// The range of component `z` is `[0, 10000]`. - fn as_multi_complete(s: u32, z: u32) -> Weight { - Weight::from_parts(36_510_777, 0) - .saturating_add(Weight::from_parts(0, 6811)) - .saturating_add( - Weight::from_parts(183_764, 0).saturating_mul(s.into()), - ) - .saturating_add( - Weight::from_parts(1_653, 0).saturating_mul(z.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - fn approve_as_multi_create(s: u32) -> Weight { - Weight::from_parts(32_408_621, 0) - .saturating_add(Weight::from_parts(0, 6811)) - .saturating_add( - Weight::from_parts(121_410, 0).saturating_mul(s.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - fn approve_as_multi_approve(s: u32) -> Weight { - Weight::from_parts(18_223_547, 0) - .saturating_add(Weight::from_parts(0, 6811)) - .saturating_add( - Weight::from_parts(114_584, 0).saturating_mul(s.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Multisig::Multisigs` (r:1 w:1) - /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) - /// The range of component `s` is `[2, 100]`. - fn cancel_as_multi(s: u32) -> Weight { - Weight::from_parts(33_674_827, 0) - .saturating_add(Weight::from_parts(0, 6811)) - .saturating_add( - Weight::from_parts(122_011, 0).saturating_mul(s.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - } - } - pub mod pallet_nft_fractionalization { - //! Autogenerated weights for `pallet_nft_fractionalization` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_nft_fractionalization`. - pub struct WeightInfo(PhantomData); - impl pallet_nft_fractionalization::WeightInfo - for WeightInfo { - /// Storage: `Nfts::Item` (r:1 w:0) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Attribute` (r:1 w:1) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:1 w:1) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Assets::Metadata` (r:1 w:1) - /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - /// Storage: `NftFractionalization::NftToAsset` (r:0 w:1) - /// Proof: `NftFractionalization::NftToAsset` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`) - fn fractionalize() -> Weight { - Weight::from_parts(180_912_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(8)) - } - /// Storage: `NftFractionalization::NftToAsset` (r:1 w:1) - /// Proof: `NftFractionalization::NftToAsset` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`) - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:1 w:1) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Attribute` (r:1 w:1) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Item` (r:1 w:1) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Account` (r:0 w:1) - /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemPriceOf` (r:0 w:1) - /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) - /// Storage: `Nfts::PendingSwapOf` (r:0 w:1) - /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) - fn unify() -> Weight { - Weight::from_parts(128_238_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(9)) - .saturating_add(T::DbWeight::get().writes(10)) - } - } - } - pub mod pallet_nfts { - //! Autogenerated weights for `pallet_nfts` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_nfts`. - pub struct WeightInfo(PhantomData); - impl pallet_nfts::WeightInfo for WeightInfo { - /// Storage: `Nfts::NextCollectionId` (r:1 w:1) - /// Proof: `Nfts::NextCollectionId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionRoleOf` (r:0 w:1) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:0 w:1) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionAccount` (r:0 w:1) - /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - fn create() -> Weight { - Weight::from_parts(39_975_000, 0) - .saturating_add(Weight::from_parts(0, 3549)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `Nfts::NextCollectionId` (r:1 w:1) - /// Proof: `Nfts::NextCollectionId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionRoleOf` (r:0 w:1) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:0 w:1) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionAccount` (r:0 w:1) - /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - fn force_create() -> Weight { - Weight::from_parts(23_857_000, 0) - .saturating_add(Weight::from_parts(0, 3549)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemMetadataOf` (r:1 w:0) - /// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:1) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Attribute` (r:1001 w:1000) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1000 w:1000) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionMetadataOf` (r:0 w:1) - /// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:0 w:1) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionAccount` (r:0 w:1) - /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// The range of component `m` is `[0, 1000]`. - /// The range of component `c` is `[0, 1000]`. - /// The range of component `a` is `[0, 1000]`. - fn destroy(_m: u32, _c: u32, a: u32) -> Weight { - Weight::from_parts(1_281_136_346, 0) - .saturating_add(Weight::from_parts(0, 2523990)) - .saturating_add( - Weight::from_parts(6_910_740, 0).saturating_mul(a.into()), - ) - .saturating_add(T::DbWeight::get().reads(1004)) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(a.into())), - ) - .saturating_add(T::DbWeight::get().writes(1005)) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(a.into())), - ) - .saturating_add(Weight::from_parts(0, 2954).saturating_mul(a.into())) - } - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Item` (r:1 w:1) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Account` (r:0 w:1) - /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - fn mint() -> Weight { - Weight::from_parts(51_045_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Item` (r:1 w:1) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Account` (r:0 w:1) - /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - fn force_mint() -> Weight { - Weight::from_parts(49_756_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Nfts::Attribute` (r:1 w:0) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Item` (r:1 w:1) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemMetadataOf` (r:1 w:0) - /// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Account` (r:0 w:1) - /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemPriceOf` (r:0 w:1) - /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemAttributesApprovalsOf` (r:0 w:1) - /// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(1001), added: 3476, mode: `MaxEncodedLen`) - /// Storage: `Nfts::PendingSwapOf` (r:0 w:1) - /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) - fn burn() -> Weight { - Weight::from_parts(57_162_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(7)) - } - /// Storage: `Nfts::Collection` (r:1 w:0) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Attribute` (r:1 w:0) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Item` (r:1 w:1) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Account` (r:0 w:2) - /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemPriceOf` (r:0 w:1) - /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) - /// Storage: `Nfts::PendingSwapOf` (r:0 w:1) - /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) - fn transfer() -> Weight { - Weight::from_parts(43_187_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `Nfts::Collection` (r:1 w:0) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Item` (r:5000 w:5000) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// The range of component `i` is `[0, 5000]`. - fn redeposit(i: u32) -> Weight { - Weight::from_parts(17_167_000, 0) - .saturating_add(Weight::from_parts(0, 3549)) - .saturating_add( - Weight::from_parts(18_046_970, 0).saturating_mul(i.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(i.into())), - ) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(i.into())), - ) - .saturating_add(Weight::from_parts(0, 3336).saturating_mul(i.into())) - } - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - fn lock_item_transfer() -> Weight { - Weight::from_parts(21_409_000, 0) - .saturating_add(Weight::from_parts(0, 3534)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - fn unlock_item_transfer() -> Weight { - Weight::from_parts(21_030_000, 0) - .saturating_add(Weight::from_parts(0, 3534)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::Collection` (r:1 w:0) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:1) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn lock_collection() -> Weight { - Weight::from_parts(17_804_000, 0) - .saturating_add(Weight::from_parts(0, 3549)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::OwnershipAcceptance` (r:1 w:1) - /// Proof: `Nfts::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionAccount` (r:0 w:2) - /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - fn transfer_ownership() -> Weight { - Weight::from_parts(23_499_000, 0) - .saturating_add(Weight::from_parts(0, 3549)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionRoleOf` (r:2 w:4) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - fn set_team() -> Weight { - Weight::from_parts(40_800_000, 0) - .saturating_add(Weight::from_parts(0, 6078)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionAccount` (r:0 w:2) - /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - fn force_collection_owner() -> Weight { - Weight::from_parts(18_297_000, 0) - .saturating_add(Weight::from_parts(0, 3549)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Nfts::Collection` (r:1 w:0) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:0 w:1) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn force_collection_config() -> Weight { - Weight::from_parts(15_370_000, 0) - .saturating_add(Weight::from_parts(0, 3549)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - fn lock_item_properties() -> Weight { - Weight::from_parts(20_258_000, 0) - .saturating_add(Weight::from_parts(0, 3534)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Attribute` (r:1 w:1) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - fn set_attribute() -> Weight { - Weight::from_parts(50_971_000, 0) - .saturating_add(Weight::from_parts(0, 3944)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Attribute` (r:1 w:1) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - fn force_set_attribute() -> Weight { - Weight::from_parts(27_086_000, 0) - .saturating_add(Weight::from_parts(0, 3944)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Nfts::Attribute` (r:1 w:1) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - fn clear_attribute() -> Weight { - Weight::from_parts(47_107_000, 0) - .saturating_add(Weight::from_parts(0, 3944)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Nfts::Item` (r:1 w:0) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1) - /// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(1001), added: 3476, mode: `MaxEncodedLen`) - fn approve_item_attributes() -> Weight { - Weight::from_parts(18_371_000, 0) - .saturating_add(Weight::from_parts(0, 4466)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::Item` (r:1 w:0) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1) - /// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(1001), added: 3476, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Attribute` (r:1001 w:1000) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1000]`. - fn cancel_item_attributes_approval(n: u32) -> Weight { - Weight::from_parts(27_010_000, 0) - .saturating_add(Weight::from_parts(0, 4466)) - .saturating_add( - Weight::from_parts(6_584_290, 0).saturating_mul(n.into()), - ) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(n.into())), - ) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(n.into())), - ) - .saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into())) - } - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemMetadataOf` (r:1 w:1) - /// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`) - fn set_metadata() -> Weight { - Weight::from_parts(42_758_000, 0) - .saturating_add(Weight::from_parts(0, 3812)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemMetadataOf` (r:1 w:1) - /// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - fn clear_metadata() -> Weight { - Weight::from_parts(41_026_000, 0) - .saturating_add(Weight::from_parts(0, 3812)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionMetadataOf` (r:1 w:1) - /// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`) - fn set_collection_metadata() -> Weight { - Weight::from_parts(38_561_000, 0) - .saturating_add(Weight::from_parts(0, 3759)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:0) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionMetadataOf` (r:1 w:1) - /// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`) - fn clear_collection_metadata() -> Weight { - Weight::from_parts(38_215_000, 0) - .saturating_add(Weight::from_parts(0, 3759)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::Item` (r:1 w:1) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn approve_transfer() -> Weight { - Weight::from_parts(21_803_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::Item` (r:1 w:1) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - fn cancel_approval() -> Weight { - Weight::from_parts(19_185_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::Item` (r:1 w:1) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - fn clear_all_transfer_approvals() -> Weight { - Weight::from_parts(18_270_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::OwnershipAcceptance` (r:1 w:1) - /// Proof: `Nfts::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn set_accept_ownership() -> Weight { - Weight::from_parts(16_700_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:1) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:0) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - fn set_collection_max_supply() -> Weight { - Weight::from_parts(19_785_000, 0) - .saturating_add(Weight::from_parts(0, 3549)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:1) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn update_mint_settings() -> Weight { - Weight::from_parts(19_292_000, 0) - .saturating_add(Weight::from_parts(0, 3538)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::Item` (r:1 w:0) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemPriceOf` (r:0 w:1) - /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) - fn set_price() -> Weight { - Weight::from_parts(25_257_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::Item` (r:1 w:1) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemPriceOf` (r:1 w:1) - /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:0) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Attribute` (r:1 w:0) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:0) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Account` (r:0 w:2) - /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - /// Storage: `Nfts::PendingSwapOf` (r:0 w:1) - /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) - fn buy_item() -> Weight { - Weight::from_parts(52_161_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// The range of component `n` is `[0, 10]`. - fn pay_tips(n: u32) -> Weight { - Weight::from_parts(3_476_001, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add( - Weight::from_parts(3_844_820, 0).saturating_mul(n.into()), - ) - } - /// Storage: `Nfts::Item` (r:2 w:0) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::PendingSwapOf` (r:0 w:1) - /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) - fn create_swap() -> Weight { - Weight::from_parts(22_746_000, 0) - .saturating_add(Weight::from_parts(0, 7662)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::PendingSwapOf` (r:1 w:1) - /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Item` (r:1 w:0) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - fn cancel_swap() -> Weight { - Weight::from_parts(21_465_000, 0) - .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Nfts::Item` (r:2 w:2) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::PendingSwapOf` (r:1 w:2) - /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:0) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Attribute` (r:2 w:0) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:2 w:0) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Account` (r:0 w:4) - /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemPriceOf` (r:0 w:2) - /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) - fn claim_swap() -> Weight { - Weight::from_parts(86_078_000, 0) - .saturating_add(Weight::from_parts(0, 7662)) - .saturating_add(T::DbWeight::get().reads(9)) - .saturating_add(T::DbWeight::get().writes(10)) - } - /// Storage: `Nfts::CollectionRoleOf` (r:2 w:0) - /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Item` (r:1 w:1) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) - /// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Attribute` (r:10 w:10) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemMetadataOf` (r:1 w:1) - /// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Account` (r:0 w:1) - /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 10]`. - fn mint_pre_signed(n: u32) -> Weight { - Weight::from_parts(150_978_773, 0) - .saturating_add(Weight::from_parts(0, 6078)) - .saturating_add( - Weight::from_parts(31_888_255, 0).saturating_mul(n.into()), - ) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(n.into())), - ) - .saturating_add(T::DbWeight::get().writes(6)) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(n.into())), - ) - .saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into())) - } - /// Storage: `Nfts::Item` (r:1 w:0) - /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) - /// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1) - /// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(1001), added: 3476, mode: `MaxEncodedLen`) - /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) - /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Collection` (r:1 w:1) - /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) - /// Storage: `Nfts::Attribute` (r:10 w:10) - /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 10]`. - fn set_attributes_pre_signed(n: u32) -> Weight { - Weight::from_parts(96_685_026, 0) - .saturating_add(Weight::from_parts(0, 4466)) - .saturating_add( - Weight::from_parts(30_914_858, 0).saturating_mul(n.into()), - ) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(n.into())), - ) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(n.into())), - ) - .saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into())) - } - } - } - pub mod pallet_proxy { - //! Autogenerated weights for `pallet_proxy` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_proxy`. - pub struct WeightInfo(PhantomData); - impl pallet_proxy::WeightInfo for WeightInfo { - /// Storage: `Proxy::Proxies` (r:1 w:0) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn proxy(p: u32) -> Weight { - Weight::from_parts(17_283_443, 0) - .saturating_add(Weight::from_parts(0, 4706)) - .saturating_add( - Weight::from_parts(32_123, 0).saturating_mul(p.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:0) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn proxy_announced(a: u32, p: u32) -> Weight { - Weight::from_parts(37_045_756, 0) - .saturating_add(Weight::from_parts(0, 5698)) - .saturating_add( - Weight::from_parts(139_561, 0).saturating_mul(a.into()), - ) - .saturating_add( - Weight::from_parts(73_270, 0).saturating_mul(p.into()), - ) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn remove_announcement(a: u32, p: u32) -> Weight { - Weight::from_parts(24_711_403, 0) - .saturating_add(Weight::from_parts(0, 5698)) - .saturating_add( - Weight::from_parts(128_391, 0).saturating_mul(a.into()), - ) - .saturating_add( - Weight::from_parts(23_124, 0).saturating_mul(p.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn reject_announcement(a: u32, p: u32) -> Weight { - Weight::from_parts(23_928_058, 0) - .saturating_add(Weight::from_parts(0, 5698)) - .saturating_add( - Weight::from_parts(152_299, 0).saturating_mul(a.into()), - ) - .saturating_add( - Weight::from_parts(39_775, 0).saturating_mul(p.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Proxies` (r:1 w:0) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// Storage: `Proxy::Announcements` (r:1 w:1) - /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn announce(a: u32, p: u32) -> Weight { - Weight::from_parts(33_568_059, 0) - .saturating_add(Weight::from_parts(0, 5698)) - .saturating_add( - Weight::from_parts(134_400, 0).saturating_mul(a.into()), - ) - .saturating_add( - Weight::from_parts(57_028, 0).saturating_mul(p.into()), - ) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn add_proxy(p: u32) -> Weight { - Weight::from_parts(26_235_199, 0) - .saturating_add(Weight::from_parts(0, 4706)) - .saturating_add( - Weight::from_parts(41_435, 0).saturating_mul(p.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn remove_proxy(p: u32) -> Weight { - Weight::from_parts(26_823_133, 0) - .saturating_add(Weight::from_parts(0, 4706)) - .saturating_add( - Weight::from_parts(34_224, 0).saturating_mul(p.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn remove_proxies(p: u32) -> Weight { - Weight::from_parts(23_304_060, 0) - .saturating_add(Weight::from_parts(0, 4706)) - .saturating_add( - Weight::from_parts(39_612, 0).saturating_mul(p.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[1, 31]`. - fn create_pure(p: u32) -> Weight { - Weight::from_parts(28_009_062, 0) - .saturating_add(Weight::from_parts(0, 4706)) - .saturating_add( - Weight::from_parts(12_255, 0).saturating_mul(p.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) - /// The range of component `p` is `[0, 30]`. - fn kill_pure(p: u32) -> Weight { - Weight::from_parts(24_392_989, 0) - .saturating_add(Weight::from_parts(0, 4706)) - .saturating_add( - Weight::from_parts(30_287, 0).saturating_mul(p.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - } - } - pub mod pallet_session { - //! Autogenerated weights for `pallet_session` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_session`. - pub struct WeightInfo(PhantomData); - impl pallet_session::WeightInfo for WeightInfo { - /// Storage: `Session::NextKeys` (r:1 w:1) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Session::KeyOwner` (r:1 w:1) - /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_keys() -> Weight { - Weight::from_parts(17_357_000, 0) - .saturating_add(Weight::from_parts(0, 3735)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Session::NextKeys` (r:1 w:1) - /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Session::KeyOwner` (r:0 w:1) - /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn purge_keys() -> Weight { - Weight::from_parts(12_770_000, 0) - .saturating_add(Weight::from_parts(0, 3707)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } - } - } - pub mod pallet_timestamp { - //! Autogenerated weights for `pallet_timestamp` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_timestamp`. - pub struct WeightInfo(PhantomData); - impl pallet_timestamp::WeightInfo for WeightInfo { - /// Storage: `Timestamp::Now` (r:1 w:1) - /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) - /// Storage: `Aura::CurrentSlot` (r:1 w:0) - /// Proof: `Aura::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) - fn set() -> Weight { - Weight::from_parts(9_775_000, 0) - .saturating_add(Weight::from_parts(0, 1493)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - fn on_finalize() -> Weight { - Weight::from_parts(3_577_000, 0).saturating_add(Weight::from_parts(0, 0)) - } - } - } - pub mod pallet_uniques { - //! Autogenerated weights for `pallet_uniques` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_uniques`. - pub struct WeightInfo(PhantomData); - impl pallet_uniques::WeightInfo for WeightInfo { - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ClassAccount` (r:0 w:1) - /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - fn create() -> Weight { - Weight::from_parts(29_675_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ClassAccount` (r:0 w:1) - /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - fn force_create() -> Weight { - Weight::from_parts(14_049_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Asset` (r:1001 w:1000) - /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) - /// Storage: `Uniques::InstanceMetadataOf` (r:1000 w:1000) - /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Attribute` (r:1000 w:1000) - /// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ClassAccount` (r:0 w:1) - /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ClassMetadataOf` (r:0 w:1) - /// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Account` (r:0 w:1000) - /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - /// Storage: `Uniques::CollectionMaxSupply` (r:0 w:1) - /// Proof: `Uniques::CollectionMaxSupply` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1000]`. - /// The range of component `m` is `[0, 1000]`. - /// The range of component `a` is `[0, 1000]`. - fn destroy(n: u32, m: u32, a: u32) -> Weight { - Weight::from_parts(2_983_862_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add( - Weight::from_parts(7_589_778, 0).saturating_mul(n.into()), - ) - .saturating_add( - Weight::from_parts(479_496, 0).saturating_mul(m.into()), - ) - .saturating_add( - Weight::from_parts(562_056, 0).saturating_mul(a.into()), - ) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(n.into())), - ) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(m.into())), - ) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(a.into())), - ) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add( - T::DbWeight::get().writes((2_u64).saturating_mul(n.into())), - ) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(m.into())), - ) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(a.into())), - ) - .saturating_add(Weight::from_parts(0, 2647).saturating_mul(a.into())) - .saturating_add(Weight::from_parts(0, 2662).saturating_mul(m.into())) - .saturating_add(Weight::from_parts(0, 2597).saturating_mul(n.into())) - } - /// Storage: `Uniques::Asset` (r:1 w:1) - /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::CollectionMaxSupply` (r:1 w:0) - /// Proof: `Uniques::CollectionMaxSupply` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Account` (r:0 w:1) - /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - fn mint() -> Weight { - Weight::from_parts(36_019_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Asset` (r:1 w:1) - /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Account` (r:0 w:1) - /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ItemPriceOf` (r:0 w:1) - /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) - fn burn() -> Weight { - Weight::from_parts(37_190_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Uniques::Class` (r:1 w:0) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Asset` (r:1 w:1) - /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Account` (r:0 w:2) - /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ItemPriceOf` (r:0 w:1) - /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) - fn transfer() -> Weight { - Weight::from_parts(27_400_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Asset` (r:5000 w:5000) - /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) - /// The range of component `i` is `[0, 5000]`. - fn redeposit(i: u32) -> Weight { - Weight::from_parts(14_831_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add( - Weight::from_parts(17_972_938, 0).saturating_mul(i.into()), - ) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add( - T::DbWeight::get().reads((1_u64).saturating_mul(i.into())), - ) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add( - T::DbWeight::get().writes((1_u64).saturating_mul(i.into())), - ) - .saturating_add(Weight::from_parts(0, 2597).saturating_mul(i.into())) - } - /// Storage: `Uniques::Asset` (r:1 w:1) - /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Class` (r:1 w:0) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - fn freeze() -> Weight { - Weight::from_parts(19_547_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Uniques::Asset` (r:1 w:1) - /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Class` (r:1 w:0) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - fn thaw() -> Weight { - Weight::from_parts(19_000_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - fn freeze_collection() -> Weight { - Weight::from_parts(14_165_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - fn thaw_collection() -> Weight { - Weight::from_parts(14_055_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Uniques::OwnershipAcceptance` (r:1 w:1) - /// Proof: `Uniques::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ClassAccount` (r:0 w:2) - /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - fn transfer_ownership() -> Weight { - Weight::from_parts(22_628_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - fn set_team() -> Weight { - Weight::from_parts(14_408_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ClassAccount` (r:0 w:1) - /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - fn force_item_status() -> Weight { - Weight::from_parts(17_482_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::InstanceMetadataOf` (r:1 w:0) - /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Attribute` (r:1 w:1) - /// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`) - fn set_attribute() -> Weight { - Weight::from_parts(39_513_000, 0) - .saturating_add(Weight::from_parts(0, 3652)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::InstanceMetadataOf` (r:1 w:0) - /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Attribute` (r:1 w:1) - /// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`) - fn clear_attribute() -> Weight { - Weight::from_parts(38_666_000, 0) - .saturating_add(Weight::from_parts(0, 3652)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::InstanceMetadataOf` (r:1 w:1) - /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) - fn set_metadata() -> Weight { - Weight::from_parts(30_363_000, 0) - .saturating_add(Weight::from_parts(0, 3652)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::InstanceMetadataOf` (r:1 w:1) - /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) - fn clear_metadata() -> Weight { - Weight::from_parts(31_430_000, 0) - .saturating_add(Weight::from_parts(0, 3652)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Uniques::Class` (r:1 w:1) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ClassMetadataOf` (r:1 w:1) - /// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`) - fn set_collection_metadata() -> Weight { - Weight::from_parts(31_065_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `Uniques::Class` (r:1 w:0) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ClassMetadataOf` (r:1 w:1) - /// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`) - fn clear_collection_metadata() -> Weight { - Weight::from_parts(30_160_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Uniques::Class` (r:1 w:0) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Asset` (r:1 w:1) - /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) - fn approve_transfer() -> Weight { - Weight::from_parts(19_866_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Uniques::Class` (r:1 w:0) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Asset` (r:1 w:1) - /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) - fn cancel_approval() -> Weight { - Weight::from_parts(19_569_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Uniques::OwnershipAcceptance` (r:1 w:1) - /// Proof: `Uniques::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn set_accept_ownership() -> Weight { - Weight::from_parts(15_691_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Uniques::CollectionMaxSupply` (r:1 w:1) - /// Proof: `Uniques::CollectionMaxSupply` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Class` (r:1 w:0) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - fn set_collection_max_supply() -> Weight { - Weight::from_parts(16_654_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Uniques::Asset` (r:1 w:0) - /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ItemPriceOf` (r:0 w:1) - /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) - fn set_price() -> Weight { - Weight::from_parts(16_555_000, 0) - .saturating_add(Weight::from_parts(0, 3587)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `Uniques::Asset` (r:1 w:1) - /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) - /// Storage: `Uniques::ItemPriceOf` (r:1 w:1) - /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Class` (r:1 w:0) - /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) - /// Storage: `Uniques::Account` (r:0 w:2) - /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) - fn buy_item() -> Weight { - Weight::from_parts(36_305_000, 0) - .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(4)) - } - } - } - pub mod pallet_utility { - //! Autogenerated weights for `pallet_utility` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_utility`. - pub struct WeightInfo(PhantomData); - impl pallet_utility::WeightInfo for WeightInfo { - /// The range of component `c` is `[0, 1000]`. - fn batch(c: u32) -> Weight { - Weight::from_parts(7_226_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add( - Weight::from_parts(6_560_347, 0).saturating_mul(c.into()), - ) - } - fn as_derivative() -> Weight { - Weight::from_parts(5_480_000, 0).saturating_add(Weight::from_parts(0, 0)) - } - /// The range of component `c` is `[0, 1000]`. - fn batch_all(c: u32) -> Weight { - Weight::from_parts(1_321_270, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add( - Weight::from_parts(6_864_640, 0).saturating_mul(c.into()), - ) - } - fn dispatch_as() -> Weight { - Weight::from_parts(9_683_000, 0).saturating_add(Weight::from_parts(0, 0)) - } - /// The range of component `c` is `[0, 1000]`. - fn force_batch(c: u32) -> Weight { - Weight::from_parts(7_007_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add( - Weight::from_parts(6_562_902, 0).saturating_mul(c.into()), - ) - } - } - } - pub mod pallet_xcm { - //! Autogenerated weights for `pallet_xcm` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - #![allow(missing_docs)] - use frame_support::{traits::Get, weights::Weight}; - use core::marker::PhantomData; - /// Weight functions for `pallet_xcm`. - pub struct WeightInfo(PhantomData); - impl pallet_xcm::WeightInfo for WeightInfo { - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1) - /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) - /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn send() -> Weight { - Weight::from_parts(30_576_000, 0) - .saturating_add(Weight::from_parts(0, 3574)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - fn teleport_assets() -> Weight { - Weight::from_parts(25_097_000, 0) - .saturating_add(Weight::from_parts(0, 1489)) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - fn reserve_transfer_assets() -> Weight { - Weight::from_parts(19_121_000, 0) - .saturating_add(Weight::from_parts(0, 1489)) - .saturating_add(T::DbWeight::get().reads(1)) - } - /// Storage: `Benchmark::Override` (r:0 w:0) - /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn execute() -> Weight { - Weight::from_parts(18_446_744_073_709_551_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn force_xcm_version() -> Weight { - Weight::from_parts(9_721_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::SafeXcmVersion` (r:0 w:1) - /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn force_default_xcm_version() -> Weight { - Weight::from_parts(3_262_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1) - /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1) - /// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1) - /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) - /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::Queries` (r:0 w:1) - /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn force_subscribe_version_notify() -> Weight { - Weight::from_parts(36_317_000, 0) - .saturating_add(Weight::from_parts(0, 3574)) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1) - /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1) - /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) - /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::Queries` (r:0 w:1) - /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn force_unsubscribe_version_notify() -> Weight { - Weight::from_parts(37_983_000, 0) - .saturating_add(Weight::from_parts(0, 3791)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `PolkadotXcm::XcmExecutionSuspended` (r:0 w:1) - /// Proof: `PolkadotXcm::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn force_suspension() -> Weight { - Weight::from_parts(3_085_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PolkadotXcm::SupportedVersion` (r:4 w:2) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn migrate_supported_version() -> Weight { - Weight::from_parts(17_759_000, 0) - .saturating_add(Weight::from_parts(0, 11052)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PolkadotXcm::VersionNotifiers` (r:4 w:2) - /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn migrate_version_notifiers() -> Weight { - Weight::from_parts(17_678_000, 0) - .saturating_add(Weight::from_parts(0, 11056)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:5 w:0) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn already_notified_target() -> Weight { - Weight::from_parts(19_285_000, 0) - .saturating_add(Weight::from_parts(0, 13538)) - .saturating_add(T::DbWeight::get().reads(5)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:2 w:1) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1) - /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) - /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn notify_current_targets() -> Weight { - Weight::from_parts(33_533_000, 0) - .saturating_add(Weight::from_parts(0, 6116)) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:3 w:0) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn notify_target_migration_fail() -> Weight { - Weight::from_parts(9_498_000, 0) - .saturating_add(Weight::from_parts(0, 8621)) - .saturating_add(T::DbWeight::get().reads(3)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:4 w:2) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn migrate_version_notify_targets() -> Weight { - Weight::from_parts(17_943_000, 0) - .saturating_add(Weight::from_parts(0, 11063)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:4 w:2) - /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1) - /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0) - /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0) - /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1) - /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn migrate_and_notify_old_targets() -> Weight { - Weight::from_parts(39_984_000, 0) - .saturating_add(Weight::from_parts(0, 11069)) - .saturating_add(T::DbWeight::get().reads(9)) - .saturating_add(T::DbWeight::get().writes(4)) - } - } - } - pub mod paritydb_weights { - pub mod constants { - use frame_support::{parameter_types, weights::{constants, RuntimeDbWeight}}; - /// `ParityDB` can be enabled with a feature flag, but is still experimental. These weights - /// are available for brave runtime engineers who may want to try this out as default. - pub struct ParityDbWeight; - impl ParityDbWeight { - /// Returns the value of this parameter type. - pub const fn get() -> RuntimeDbWeight { - RuntimeDbWeight { - read: 8_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - write: 50_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - } - } - } - impl<_I: From> ::frame_support::traits::Get<_I> - for ParityDbWeight { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for ParityDbWeight { - type Type = RuntimeDbWeight; - fn get() -> RuntimeDbWeight { - Self::get() - } - } - } - } - pub mod rocksdb_weights { - pub mod constants { - use frame_support::{parameter_types, weights::{constants, RuntimeDbWeight}}; - /// By default, Substrate uses `RocksDB`, so this will be the weight used throughout - /// the runtime. - pub struct RocksDbWeight; - impl RocksDbWeight { - /// Returns the value of this parameter type. - pub const fn get() -> RuntimeDbWeight { - RuntimeDbWeight { - read: 25_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - write: 100_000 * constants::WEIGHT_REF_TIME_PER_NANOS, - } - } - } - impl<_I: From> ::frame_support::traits::Get<_I> - for RocksDbWeight { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for RocksDbWeight { - type Type = RuntimeDbWeight; - fn get() -> RuntimeDbWeight { - Self::get() - } - } - } - } - pub mod xcm { - mod pallet_xcm_benchmarks_fungible { - //! Autogenerated weights for `pallet_xcm_benchmarks::fungible` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-09-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-nbnwcyh-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! WASM-EXECUTION: Compiled, CHAIN: Some("asset-hub-kusama-dev"), DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - use frame_support::{traits::Get, weights::Weight}; - use sp_std::marker::PhantomData; - /// Weights for `pallet_xcm_benchmarks::fungible`. - pub struct WeightInfo(PhantomData); - impl WeightInfo { - pub fn withdraw_asset() -> Weight { - Weight::from_parts(26_312_000, 3593) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - pub fn transfer_asset() -> Weight { - Weight::from_parts(52_221_000, 6196) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - pub fn transfer_reserve_asset() -> Weight { - Weight::from_parts(76_500_000, 6196) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(4)) - } - pub fn reserve_asset_deposited() -> Weight { - Weight::from_parts(18_446_744_073_709_551_000, 0) - } - pub fn initiate_reserve_withdraw() -> Weight { - Weight::from_parts(470_470_000, 3610) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - pub fn receive_teleported_asset() -> Weight { - Weight::from_parts(3_887_000, 0) - } - pub fn deposit_asset() -> Weight { - Weight::from_parts(26_320_000, 3593) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - pub fn deposit_reserve_asset() -> Weight { - Weight::from_parts(52_538_000, 3610) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(3)) - } - pub fn initiate_teleport() -> Weight { - Weight::from_parts(32_834_000, 3610) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - } - } - mod pallet_xcm_benchmarks_generic { - //! Autogenerated weights for `pallet_xcm_benchmarks::generic` - //! - //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev - //! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` - //! WORST CASE MAP SIZE: `1000000` - //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` - //! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("asset-hub-kusama-dev"), DB CACHE: 1024 - #![allow(unused_parens)] - #![allow(unused_imports)] - use frame_support::{traits::Get, weights::Weight}; - use sp_std::marker::PhantomData; - /// Weights for `pallet_xcm_benchmarks::generic`. - pub struct WeightInfo(PhantomData); - impl WeightInfo { - pub fn report_holding() -> Weight { - Weight::from_parts(438_017_000, 3574) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - pub fn buy_execution() -> Weight { - Weight::from_parts(4_412_000, 0) - } - pub fn query_response() -> Weight { - Weight::from_parts(11_830_000, 3568) - .saturating_add(T::DbWeight::get().reads(1)) - } - pub fn transact() -> Weight { - Weight::from_parts(14_320_000, 0) - } - pub fn refund_surplus() -> Weight { - Weight::from_parts(4_709_000, 0) - } - pub fn set_error_handler() -> Weight { - Weight::from_parts(3_151_000, 0) - } - pub fn set_appendix() -> Weight { - Weight::from_parts(3_076_000, 0) - } - pub fn clear_error() -> Weight { - Weight::from_parts(3_119_000, 0) - } - pub fn descend_origin() -> Weight { - Weight::from_parts(3_853_000, 0) - } - pub fn clear_origin() -> Weight { - Weight::from_parts(3_050_000, 0) - } - pub fn report_error() -> Weight { - Weight::from_parts(28_351_000, 3574) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - pub fn claim_asset() -> Weight { - Weight::from_parts(16_846_000, 3625) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - pub fn trap() -> Weight { - Weight::from_parts(3_108_000, 0) - } - pub fn subscribe_version() -> Weight { - Weight::from_parts(30_776_000, 3574) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(3)) - } - pub fn unsubscribe_version() -> Weight { - Weight::from_parts(5_157_000, 0) - .saturating_add(T::DbWeight::get().writes(1)) - } - pub fn burn_asset() -> Weight { - Weight::from_parts(144_925_000, 0) - } - pub fn expect_asset() -> Weight { - Weight::from_parts(13_420_000, 0) - } - pub fn expect_origin() -> Weight { - Weight::from_parts(3_161_000, 0) - } - pub fn expect_error() -> Weight { - Weight::from_parts(3_077_000, 0) - } - pub fn expect_transact_status() -> Weight { - Weight::from_parts(3_299_000, 0) - } - pub fn query_pallet() -> Weight { - Weight::from_parts(32_462_000, 3574) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - pub fn expect_pallet() -> Weight { - Weight::from_parts(5_756_000, 0) - } - pub fn report_transact_status() -> Weight { - Weight::from_parts(28_240_000, 3574) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(2)) - } - pub fn clear_transact_status() -> Weight { - Weight::from_parts(3_097_000, 0) - } - pub fn set_topic() -> Weight { - Weight::from_parts(2_957_000, 0) - } - pub fn clear_topic() -> Weight { - Weight::from_parts(3_015_000, 0) - } - pub fn set_fees_mode() -> Weight { - Weight::from_parts(3_060_000, 0) - } - pub fn unpaid_execution() -> Weight { - Weight::from_parts(3_158_000, 0) - } - } - } - use crate::{xcm_config::MaxAssetsIntoHolding, Runtime}; - use frame_support::weights::Weight; - use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight; - use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric; - use sp_std::prelude::*; - use xcm::{latest::prelude::*, DoubleEncoded}; - trait WeighMultiAssets { - fn weigh_multi_assets(&self, weight: Weight) -> Weight; - } - const MAX_ASSETS: u64 = 100; - impl WeighMultiAssets for MultiAssetFilter { - fn weigh_multi_assets(&self, weight: Weight) -> Weight { - match self { - Self::Definite(assets) => { - weight.saturating_mul(assets.inner().iter().count() as u64) - } - Self::Wild(asset) => { - match asset { - All => weight.saturating_mul(MAX_ASSETS), - AllOf { fun, .. } => { - match fun { - WildFungibility::Fungible => weight, - WildFungibility::NonFungible => { - weight - .saturating_mul((MaxAssetsIntoHolding::get() * 2) as u64) - } - } - } - AllCounted(count) => { - weight.saturating_mul(MAX_ASSETS.min(*count as u64)) - } - AllOfCounted { count, .. } => { - weight.saturating_mul(MAX_ASSETS.min(*count as u64)) - } - } - } - } - } - } - impl WeighMultiAssets for MultiAssets { - fn weigh_multi_assets(&self, weight: Weight) -> Weight { - weight.saturating_mul(self.inner().iter().count() as u64) - } - } - pub struct AssetHubKusamaXcmWeight(core::marker::PhantomData); - impl XcmWeightInfo for AssetHubKusamaXcmWeight { - fn withdraw_asset(assets: &MultiAssets) -> Weight { - assets.weigh_multi_assets(XcmFungibleWeight::::withdraw_asset()) - } - fn reserve_asset_deposited(assets: &MultiAssets) -> Weight { - assets - .weigh_multi_assets( - XcmFungibleWeight::::reserve_asset_deposited(), - ) - } - fn receive_teleported_asset(assets: &MultiAssets) -> Weight { - assets - .weigh_multi_assets( - XcmFungibleWeight::::receive_teleported_asset(), - ) - } - fn query_response( - _query_id: &u64, - _response: &Response, - _max_weight: &Weight, - _querier: &Option, - ) -> Weight { - XcmGeneric::::query_response() - } - fn transfer_asset(assets: &MultiAssets, _dest: &MultiLocation) -> Weight { - assets.weigh_multi_assets(XcmFungibleWeight::::transfer_asset()) - } - fn transfer_reserve_asset( - assets: &MultiAssets, - _dest: &MultiLocation, - _xcm: &Xcm<()>, - ) -> Weight { - assets - .weigh_multi_assets( - XcmFungibleWeight::::transfer_reserve_asset(), - ) - } - fn transact( - _origin_type: &OriginKind, - _require_weight_at_most: &Weight, - _call: &DoubleEncoded, - ) -> Weight { - XcmGeneric::::transact() - } - fn hrmp_new_channel_open_request( - _sender: &u32, - _max_message_size: &u32, - _max_capacity: &u32, - ) -> Weight { - Weight::MAX - } - fn hrmp_channel_accepted(_recipient: &u32) -> Weight { - Weight::MAX - } - fn hrmp_channel_closing( - _initiator: &u32, - _sender: &u32, - _recipient: &u32, - ) -> Weight { - Weight::MAX - } - fn clear_origin() -> Weight { - XcmGeneric::::clear_origin() - } - fn descend_origin(_who: &InteriorMultiLocation) -> Weight { - XcmGeneric::::descend_origin() - } - fn report_error(_query_response_info: &QueryResponseInfo) -> Weight { - XcmGeneric::::report_error() - } - fn deposit_asset( - assets: &MultiAssetFilter, - _dest: &MultiLocation, - ) -> Weight { - assets.weigh_multi_assets(XcmFungibleWeight::::deposit_asset()) - } - fn deposit_reserve_asset( - assets: &MultiAssetFilter, - _dest: &MultiLocation, - _xcm: &Xcm<()>, - ) -> Weight { - assets - .weigh_multi_assets( - XcmFungibleWeight::::deposit_reserve_asset(), - ) - } - fn exchange_asset( - _give: &MultiAssetFilter, - _receive: &MultiAssets, - _maximal: &bool, - ) -> Weight { - Weight::MAX - } - fn initiate_reserve_withdraw( - assets: &MultiAssetFilter, - _reserve: &MultiLocation, - _xcm: &Xcm<()>, - ) -> Weight { - assets - .weigh_multi_assets( - XcmFungibleWeight::::initiate_reserve_withdraw(), - ) - } - fn initiate_teleport( - assets: &MultiAssetFilter, - _dest: &MultiLocation, - _xcm: &Xcm<()>, - ) -> Weight { - assets - .weigh_multi_assets( - XcmFungibleWeight::::initiate_teleport(), - ) - } - fn report_holding( - _response_info: &QueryResponseInfo, - _assets: &MultiAssetFilter, - ) -> Weight { - XcmGeneric::::report_holding() - } - fn buy_execution(_fees: &MultiAsset, _weight_limit: &WeightLimit) -> Weight { - XcmGeneric::::buy_execution() - } - fn refund_surplus() -> Weight { - XcmGeneric::::refund_surplus() - } - fn set_error_handler(_xcm: &Xcm) -> Weight { - XcmGeneric::::set_error_handler() - } - fn set_appendix(_xcm: &Xcm) -> Weight { - XcmGeneric::::set_appendix() - } - fn clear_error() -> Weight { - XcmGeneric::::clear_error() - } - fn claim_asset(_assets: &MultiAssets, _ticket: &MultiLocation) -> Weight { - XcmGeneric::::claim_asset() - } - fn trap(_code: &u64) -> Weight { - XcmGeneric::::trap() - } - fn subscribe_version( - _query_id: &QueryId, - _max_response_weight: &Weight, - ) -> Weight { - XcmGeneric::::subscribe_version() - } - fn unsubscribe_version() -> Weight { - XcmGeneric::::unsubscribe_version() - } - fn burn_asset(assets: &MultiAssets) -> Weight { - assets.weigh_multi_assets(XcmGeneric::::burn_asset()) - } - fn expect_asset(assets: &MultiAssets) -> Weight { - assets.weigh_multi_assets(XcmGeneric::::expect_asset()) - } - fn expect_origin(_origin: &Option) -> Weight { - XcmGeneric::::expect_origin() - } - fn expect_error(_error: &Option<(u32, XcmError)>) -> Weight { - XcmGeneric::::expect_error() - } - fn expect_transact_status(_transact_status: &MaybeErrorCode) -> Weight { - XcmGeneric::::expect_transact_status() - } - fn query_pallet( - _module_name: &Vec, - _response_info: &QueryResponseInfo, - ) -> Weight { - XcmGeneric::::query_pallet() - } - fn expect_pallet( - _index: &u32, - _name: &Vec, - _module_name: &Vec, - _crate_major: &u32, - _min_crate_minor: &u32, - ) -> Weight { - XcmGeneric::::expect_pallet() - } - fn report_transact_status(_response_info: &QueryResponseInfo) -> Weight { - XcmGeneric::::report_transact_status() - } - fn clear_transact_status() -> Weight { - XcmGeneric::::clear_transact_status() - } - fn universal_origin(_: &Junction) -> Weight { - Weight::MAX - } - fn export_message(_: &NetworkId, _: &Junctions, _: &Xcm<()>) -> Weight { - Weight::MAX - } - fn lock_asset(_: &MultiAsset, _: &MultiLocation) -> Weight { - Weight::MAX - } - fn unlock_asset(_: &MultiAsset, _: &MultiLocation) -> Weight { - Weight::MAX - } - fn note_unlockable(_: &MultiAsset, _: &MultiLocation) -> Weight { - Weight::MAX - } - fn request_unlock(_: &MultiAsset, _: &MultiLocation) -> Weight { - Weight::MAX - } - fn set_fees_mode(_: &bool) -> Weight { - XcmGeneric::::set_fees_mode() - } - fn set_topic(_topic: &[u8; 32]) -> Weight { - XcmGeneric::::set_topic() - } - fn clear_topic() -> Weight { - XcmGeneric::::clear_topic() - } - fn alias_origin(_: &MultiLocation) -> Weight { - Weight::MAX - } - fn unpaid_execution(_: &WeightLimit, _: &Option) -> Weight { - XcmGeneric::::unpaid_execution() - } - } - } - pub use block_weights::constants::BlockExecutionWeight; - pub use extrinsic_weights::constants::ExtrinsicBaseWeight; - pub use paritydb_weights::constants::ParityDbWeight; - pub use rocksdb_weights::constants::RocksDbWeight; -} -pub mod xcm_config { - use super::{ - AccountId, AllPalletsWithSystem, Assets, Authorship, Balance, Balances, - ParachainInfo, ParachainSystem, PolkadotXcm, PoolAssets, Runtime, RuntimeCall, - RuntimeEvent, RuntimeOrigin, TrustBackedAssetsInstance, WeightToFee, XcmpQueue, - }; - use crate::ForeignAssets; - use assets_common::{ - local_and_foreign_assets::MatchesLocalAndForeignAssetsMultiLocation, - matching::{FromSiblingParachain, IsForeignConcreteAsset}, - }; - use frame_support::{ - match_types, parameter_types, - traits::{ConstU32, Contains, Everything, Nothing, PalletInfoAccess}, - }; - use frame_system::EnsureRoot; - use pallet_xcm::XcmPassthrough; - use parachains_common::{ - impls::ToStakingPot, - xcm_config::{AssetFeeAsExistentialDepositMultiplier, ConcreteAssetFromSystem}, - }; - use polkadot_parachain_primitives::primitives::Sibling; - use sp_runtime::traits::ConvertInto; - use xcm::latest::prelude::*; - use xcm_builder::{ - AccountId32Aliases, AllowExplicitUnpaidExecutionFrom, AllowKnownQueryResponses, - AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, CurrencyAdapter, - DenyReserveTransferToRelayChain, DenyThenTry, DescribeAllTerminal, - DescribeFamily, EnsureXcmOrigin, FungiblesAdapter, HashedDescription, IsConcrete, - LocalMint, NoChecking, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, - SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, - SignedToAccountId32, SovereignSignedViaLocation, StartsWith, - StartsWithExplicitGlobalConsensus, TakeWeightCredit, TrailingSetTopicAsId, - UsingComponents, WeightInfoBounds, WithComputedOrigin, WithUniqueTopic, - }; - use xcm_executor::{traits::WithOriginFilter, XcmExecutor}; - pub struct KsmLocation; - impl KsmLocation { - /// Returns the value of this parameter type. - pub const fn get() -> MultiLocation { - MultiLocation::parent() - } - } - impl<_I: From> ::frame_support::traits::Get<_I> for KsmLocation { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for KsmLocation { - type Type = MultiLocation; - fn get() -> MultiLocation { - Self::get() - } - } - pub struct RelayNetwork; - impl RelayNetwork { - /// Returns the value of this parameter type. - pub const fn get() -> Option { - Some(NetworkId::Kusama) - } - } - impl<_I: From>> ::frame_support::traits::Get<_I> for RelayNetwork { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for RelayNetwork { - type Type = Option; - fn get() -> Option { - Self::get() - } - } - pub struct RelayChainOrigin; - impl RelayChainOrigin { - /// Returns the value of this parameter type. - pub fn get() -> RuntimeOrigin { - cumulus_pallet_xcm::Origin::Relay.into() - } - } - impl<_I: From> ::frame_support::traits::Get<_I> for RelayChainOrigin { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for RelayChainOrigin { - type Type = RuntimeOrigin; - fn get() -> RuntimeOrigin { - Self::get() - } - } - pub struct UniversalLocation; - impl UniversalLocation { - /// Returns the value of this parameter type. - pub fn get() -> InteriorMultiLocation { - X2( - GlobalConsensus(RelayNetwork::get().unwrap()), - Parachain(ParachainInfo::parachain_id().into()), - ) - } - } - impl<_I: From> ::frame_support::traits::Get<_I> - for UniversalLocation { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for UniversalLocation { - type Type = InteriorMultiLocation; - fn get() -> InteriorMultiLocation { - Self::get() - } - } - pub struct UniversalLocationNetworkId; - impl UniversalLocationNetworkId { - /// Returns the value of this parameter type. - pub fn get() -> NetworkId { - UniversalLocation::get().global_consensus().unwrap() - } - } - impl<_I: From> ::frame_support::traits::Get<_I> - for UniversalLocationNetworkId { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for UniversalLocationNetworkId { - type Type = NetworkId; - fn get() -> NetworkId { - Self::get() - } - } - pub struct TrustBackedAssetsPalletLocation; - impl TrustBackedAssetsPalletLocation { - /// Returns the value of this parameter type. - pub fn get() -> MultiLocation { - PalletInstance(::index() as u8).into() - } - } - impl<_I: From> ::frame_support::traits::Get<_I> - for TrustBackedAssetsPalletLocation { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for TrustBackedAssetsPalletLocation { - type Type = MultiLocation; - fn get() -> MultiLocation { - Self::get() - } - } - pub struct ForeignAssetsPalletLocation; - impl ForeignAssetsPalletLocation { - /// Returns the value of this parameter type. - pub fn get() -> MultiLocation { - PalletInstance(::index() as u8).into() - } - } - impl<_I: From> ::frame_support::traits::Get<_I> - for ForeignAssetsPalletLocation { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for ForeignAssetsPalletLocation { - type Type = MultiLocation; - fn get() -> MultiLocation { - Self::get() - } - } - pub struct PoolAssetsPalletLocation; - impl PoolAssetsPalletLocation { - /// Returns the value of this parameter type. - pub fn get() -> MultiLocation { - PalletInstance(::index() as u8).into() - } - } - impl<_I: From> ::frame_support::traits::Get<_I> - for PoolAssetsPalletLocation { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for PoolAssetsPalletLocation { - type Type = MultiLocation; - fn get() -> MultiLocation { - Self::get() - } - } - pub struct CheckingAccount; - impl CheckingAccount { - /// Returns the value of this parameter type. - pub fn get() -> AccountId { - PolkadotXcm::check_account() - } - } - impl<_I: From> ::frame_support::traits::Get<_I> for CheckingAccount { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for CheckingAccount { - type Type = AccountId; - fn get() -> AccountId { - Self::get() - } - } - pub struct GovernanceLocation; - impl GovernanceLocation { - /// Returns the value of this parameter type. - pub const fn get() -> MultiLocation { - MultiLocation::parent() - } - } - impl<_I: From> ::frame_support::traits::Get<_I> - for GovernanceLocation { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for GovernanceLocation { - type Type = MultiLocation; - fn get() -> MultiLocation { - Self::get() - } - } - pub struct FellowshipLocation; - impl FellowshipLocation { - /// Returns the value of this parameter type. - pub const fn get() -> MultiLocation { - MultiLocation::parent() - } - } - impl<_I: From> ::frame_support::traits::Get<_I> - for FellowshipLocation { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for FellowshipLocation { - type Type = MultiLocation; - fn get() -> MultiLocation { - Self::get() - } - } - /// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used - /// when determining ownership of accounts for asset transacting and when attempting to use XCM - /// `Transact` in order to determine the dispatch Origin. - pub type LocationToAccountId = ( - ParentIsPreset, - SiblingParachainConvertsVia, - AccountId32Aliases, - HashedDescription>, - ); - /// Means for transacting the native currency on this chain. - pub type CurrencyTransactor = CurrencyAdapter< - Balances, - IsConcrete, - LocationToAccountId, - AccountId, - (), - >; - /// `AssetId`/`Balance` converter for `PoolAssets`. - pub type TrustBackedAssetsConvertedConcreteId = assets_common::TrustBackedAssetsConvertedConcreteId< - TrustBackedAssetsPalletLocation, - Balance, - >; - /// Means for transacting assets besides the native currency on this chain. - pub type FungiblesTransactor = FungiblesAdapter< - Assets, - TrustBackedAssetsConvertedConcreteId, - LocationToAccountId, - AccountId, - LocalMint>, - CheckingAccount, - >; - /// `AssetId/Balance` converter for `TrustBackedAssets` - pub type ForeignAssetsConvertedConcreteId = assets_common::ForeignAssetsConvertedConcreteId< - ( - StartsWith, - StartsWithExplicitGlobalConsensus, - ), - Balance, - >; - /// Means for transacting foreign assets from different global consensus. - pub type ForeignFungiblesTransactor = FungiblesAdapter< - ForeignAssets, - ForeignAssetsConvertedConcreteId, - LocationToAccountId, - AccountId, - NoChecking, - CheckingAccount, - >; - /// `AssetId`/`Balance` converter for `PoolAssets`. - pub type PoolAssetsConvertedConcreteId = assets_common::PoolAssetsConvertedConcreteId< - PoolAssetsPalletLocation, - Balance, - >; - /// Means for transacting asset conversion pool assets on this chain. - pub type PoolFungiblesTransactor = FungiblesAdapter< - PoolAssets, - PoolAssetsConvertedConcreteId, - LocationToAccountId, - AccountId, - LocalMint>, - CheckingAccount, - >; - /// Means for transacting assets on this chain. - pub type AssetTransactors = ( - CurrencyTransactor, - FungiblesTransactor, - ForeignFungiblesTransactor, - PoolFungiblesTransactor, - ); - /// Simple `MultiLocation` matcher for Local and Foreign asset `MultiLocation`. - pub struct LocalAndForeignAssetsMultiLocationMatcher; - impl MatchesLocalAndForeignAssetsMultiLocation - for LocalAndForeignAssetsMultiLocationMatcher { - fn is_local(location: &MultiLocation) -> bool { - use assets_common::fungible_conversion::MatchesMultiLocation; - TrustBackedAssetsConvertedConcreteId::contains(location) - } - fn is_foreign(location: &MultiLocation) -> bool { - use assets_common::fungible_conversion::MatchesMultiLocation; - ForeignAssetsConvertedConcreteId::contains(location) - } - } - impl Contains for LocalAndForeignAssetsMultiLocationMatcher { - fn contains(location: &MultiLocation) -> bool { - Self::is_local(location) || Self::is_foreign(location) - } - } - /// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance, - /// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can - /// biases the kind of local `Origin` it will become. - pub type XcmOriginToTransactDispatchOrigin = ( - SovereignSignedViaLocation, - RelayChainAsNative, - SiblingParachainAsNative, - ParentAsSuperuser, - SignedAccountId32AsNative, - XcmPassthrough, - ); - pub struct MaxInstructions; - impl MaxInstructions { - /// Returns the value of this parameter type. - pub const fn get() -> u32 { - 100 - } - } - impl<_I: From> ::frame_support::traits::Get<_I> for MaxInstructions { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for MaxInstructions { - type Type = u32; - fn get() -> u32 { - Self::get() - } - } - pub struct MaxAssetsIntoHolding; - impl MaxAssetsIntoHolding { - /// Returns the value of this parameter type. - pub const fn get() -> u32 { - 64 - } - } - impl<_I: From> ::frame_support::traits::Get<_I> for MaxAssetsIntoHolding { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for MaxAssetsIntoHolding { - type Type = u32; - fn get() -> u32 { - Self::get() - } - } - pub struct XcmAssetFeesReceiver; - impl XcmAssetFeesReceiver { - /// Returns the value of this parameter type. - pub fn get() -> Option { - Authorship::author() - } - } - impl<_I: From>> ::frame_support::traits::Get<_I> - for XcmAssetFeesReceiver { - fn get() -> _I { - _I::from(Self::get()) - } - } - impl ::frame_support::traits::TypedGet for XcmAssetFeesReceiver { - type Type = Option; - fn get() -> Option { - Self::get() - } - } - pub struct ParentOrParentsPlurality; - impl ::frame_support::traits::Contains for ParentOrParentsPlurality { - fn contains(l: &MultiLocation) -> bool { - match l { - MultiLocation { parents: 1, interior: Here } - | MultiLocation { parents: 1, interior: X1(Plurality { .. }) } => true, - _ => false, - } - } - } - pub struct ParentOrSiblings; - impl ::frame_support::traits::Contains for ParentOrSiblings { - fn contains(l: &MultiLocation) -> bool { - match l { - MultiLocation { parents: 1, interior: Here } - | MultiLocation { parents: 1, interior: X1(_) } => true, - _ => false, - } - } - } - /// A call filter for the XCM Transact instruction. This is a temporary measure until we properly - /// account for proof size weights. - /// - /// Calls that are allowed through this filter must: - /// 1. Have a fixed weight; - /// 2. Cannot lead to another call being made; - /// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters. - pub struct SafeCallFilter; - impl Contains for SafeCallFilter { - fn contains(call: &RuntimeCall) -> bool { - match call { - RuntimeCall::PolkadotXcm(pallet_xcm::Call::force_xcm_version { .. }) - | RuntimeCall::System( - frame_system::Call::set_heap_pages { .. } - | frame_system::Call::set_code { .. } - | frame_system::Call::set_code_without_checks { .. } - | frame_system::Call::kill_prefix { .. }, - ) - | RuntimeCall::ParachainSystem(..) - | RuntimeCall::Timestamp(..) - | RuntimeCall::Balances(..) - | RuntimeCall::CollatorSelection( - pallet_collator_selection::Call::set_desired_candidates { .. } - | pallet_collator_selection::Call::set_candidacy_bond { .. } - | pallet_collator_selection::Call::register_as_candidate { .. } - | pallet_collator_selection::Call::leave_intent { .. } - | pallet_collator_selection::Call::set_invulnerables { .. } - | pallet_collator_selection::Call::add_invulnerable { .. } - | pallet_collator_selection::Call::remove_invulnerable { .. }, - ) - | RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) - | RuntimeCall::XcmpQueue(..) - | RuntimeCall::DmpQueue(..) - | RuntimeCall::Assets( - pallet_assets::Call::create { .. } - | pallet_assets::Call::force_create { .. } - | pallet_assets::Call::start_destroy { .. } - | pallet_assets::Call::destroy_accounts { .. } - | pallet_assets::Call::destroy_approvals { .. } - | pallet_assets::Call::finish_destroy { .. } - | pallet_assets::Call::block { .. } - | pallet_assets::Call::mint { .. } - | pallet_assets::Call::burn { .. } - | pallet_assets::Call::transfer { .. } - | pallet_assets::Call::transfer_keep_alive { .. } - | pallet_assets::Call::force_transfer { .. } - | pallet_assets::Call::freeze { .. } - | pallet_assets::Call::thaw { .. } - | pallet_assets::Call::freeze_asset { .. } - | pallet_assets::Call::thaw_asset { .. } - | pallet_assets::Call::transfer_ownership { .. } - | pallet_assets::Call::set_team { .. } - | pallet_assets::Call::set_metadata { .. } - | pallet_assets::Call::clear_metadata { .. } - | pallet_assets::Call::force_set_metadata { .. } - | pallet_assets::Call::force_clear_metadata { .. } - | pallet_assets::Call::force_asset_status { .. } - | pallet_assets::Call::approve_transfer { .. } - | pallet_assets::Call::cancel_approval { .. } - | pallet_assets::Call::force_cancel_approval { .. } - | pallet_assets::Call::transfer_approved { .. } - | pallet_assets::Call::touch { .. } - | pallet_assets::Call::touch_other { .. } - | pallet_assets::Call::refund { .. } - | pallet_assets::Call::refund_other { .. }, - ) - | RuntimeCall::ForeignAssets( - pallet_assets::Call::create { .. } - | pallet_assets::Call::force_create { .. } - | pallet_assets::Call::start_destroy { .. } - | pallet_assets::Call::destroy_accounts { .. } - | pallet_assets::Call::destroy_approvals { .. } - | pallet_assets::Call::finish_destroy { .. } - | pallet_assets::Call::block { .. } - | pallet_assets::Call::mint { .. } - | pallet_assets::Call::burn { .. } - | pallet_assets::Call::transfer { .. } - | pallet_assets::Call::transfer_keep_alive { .. } - | pallet_assets::Call::force_transfer { .. } - | pallet_assets::Call::freeze { .. } - | pallet_assets::Call::thaw { .. } - | pallet_assets::Call::freeze_asset { .. } - | pallet_assets::Call::thaw_asset { .. } - | pallet_assets::Call::transfer_ownership { .. } - | pallet_assets::Call::set_team { .. } - | pallet_assets::Call::set_metadata { .. } - | pallet_assets::Call::clear_metadata { .. } - | pallet_assets::Call::force_set_metadata { .. } - | pallet_assets::Call::force_clear_metadata { .. } - | pallet_assets::Call::force_asset_status { .. } - | pallet_assets::Call::approve_transfer { .. } - | pallet_assets::Call::cancel_approval { .. } - | pallet_assets::Call::force_cancel_approval { .. } - | pallet_assets::Call::transfer_approved { .. } - | pallet_assets::Call::touch { .. } - | pallet_assets::Call::touch_other { .. } - | pallet_assets::Call::refund { .. } - | pallet_assets::Call::refund_other { .. }, - ) - | RuntimeCall::PoolAssets( - pallet_assets::Call::force_create { .. } - | pallet_assets::Call::block { .. } - | pallet_assets::Call::burn { .. } - | pallet_assets::Call::transfer { .. } - | pallet_assets::Call::transfer_keep_alive { .. } - | pallet_assets::Call::force_transfer { .. } - | pallet_assets::Call::freeze { .. } - | pallet_assets::Call::thaw { .. } - | pallet_assets::Call::freeze_asset { .. } - | pallet_assets::Call::thaw_asset { .. } - | pallet_assets::Call::transfer_ownership { .. } - | pallet_assets::Call::set_team { .. } - | pallet_assets::Call::set_metadata { .. } - | pallet_assets::Call::clear_metadata { .. } - | pallet_assets::Call::force_set_metadata { .. } - | pallet_assets::Call::force_clear_metadata { .. } - | pallet_assets::Call::force_asset_status { .. } - | pallet_assets::Call::approve_transfer { .. } - | pallet_assets::Call::cancel_approval { .. } - | pallet_assets::Call::force_cancel_approval { .. } - | pallet_assets::Call::transfer_approved { .. } - | pallet_assets::Call::touch { .. } - | pallet_assets::Call::touch_other { .. } - | pallet_assets::Call::refund { .. } - | pallet_assets::Call::refund_other { .. }, - ) - | RuntimeCall::AssetConversion( - pallet_asset_conversion::Call::create_pool { .. } - | pallet_asset_conversion::Call::add_liquidity { .. } - | pallet_asset_conversion::Call::remove_liquidity { .. } - | pallet_asset_conversion::Call::swap_tokens_for_exact_tokens { .. } - | pallet_asset_conversion::Call::swap_exact_tokens_for_tokens { .. }, - ) - | RuntimeCall::NftFractionalization( - pallet_nft_fractionalization::Call::fractionalize { .. } - | pallet_nft_fractionalization::Call::unify { .. }, - ) - | RuntimeCall::Nfts( - pallet_nfts::Call::create { .. } - | pallet_nfts::Call::force_create { .. } - | pallet_nfts::Call::destroy { .. } - | pallet_nfts::Call::mint { .. } - | pallet_nfts::Call::force_mint { .. } - | pallet_nfts::Call::burn { .. } - | pallet_nfts::Call::transfer { .. } - | pallet_nfts::Call::lock_item_transfer { .. } - | pallet_nfts::Call::unlock_item_transfer { .. } - | pallet_nfts::Call::lock_collection { .. } - | pallet_nfts::Call::transfer_ownership { .. } - | pallet_nfts::Call::set_team { .. } - | pallet_nfts::Call::force_collection_owner { .. } - | pallet_nfts::Call::force_collection_config { .. } - | pallet_nfts::Call::approve_transfer { .. } - | pallet_nfts::Call::cancel_approval { .. } - | pallet_nfts::Call::clear_all_transfer_approvals { .. } - | pallet_nfts::Call::lock_item_properties { .. } - | pallet_nfts::Call::set_attribute { .. } - | pallet_nfts::Call::force_set_attribute { .. } - | pallet_nfts::Call::clear_attribute { .. } - | pallet_nfts::Call::approve_item_attributes { .. } - | pallet_nfts::Call::cancel_item_attributes_approval { .. } - | pallet_nfts::Call::set_metadata { .. } - | pallet_nfts::Call::clear_metadata { .. } - | pallet_nfts::Call::set_collection_metadata { .. } - | pallet_nfts::Call::clear_collection_metadata { .. } - | pallet_nfts::Call::set_accept_ownership { .. } - | pallet_nfts::Call::set_collection_max_supply { .. } - | pallet_nfts::Call::update_mint_settings { .. } - | pallet_nfts::Call::set_price { .. } - | pallet_nfts::Call::buy_item { .. } - | pallet_nfts::Call::pay_tips { .. } - | pallet_nfts::Call::create_swap { .. } - | pallet_nfts::Call::cancel_swap { .. } - | pallet_nfts::Call::claim_swap { .. }, - ) - | RuntimeCall::Uniques( - pallet_uniques::Call::create { .. } - | pallet_uniques::Call::force_create { .. } - | pallet_uniques::Call::destroy { .. } - | pallet_uniques::Call::mint { .. } - | pallet_uniques::Call::burn { .. } - | pallet_uniques::Call::transfer { .. } - | pallet_uniques::Call::freeze { .. } - | pallet_uniques::Call::thaw { .. } - | pallet_uniques::Call::freeze_collection { .. } - | pallet_uniques::Call::thaw_collection { .. } - | pallet_uniques::Call::transfer_ownership { .. } - | pallet_uniques::Call::set_team { .. } - | pallet_uniques::Call::approve_transfer { .. } - | pallet_uniques::Call::cancel_approval { .. } - | pallet_uniques::Call::force_item_status { .. } - | pallet_uniques::Call::set_attribute { .. } - | pallet_uniques::Call::clear_attribute { .. } - | pallet_uniques::Call::set_metadata { .. } - | pallet_uniques::Call::clear_metadata { .. } - | pallet_uniques::Call::set_collection_metadata { .. } - | pallet_uniques::Call::clear_collection_metadata { .. } - | pallet_uniques::Call::set_accept_ownership { .. } - | pallet_uniques::Call::set_collection_max_supply { .. } - | pallet_uniques::Call::set_price { .. } - | pallet_uniques::Call::buy_item { .. }, - ) => true, - _ => false, - } - } - } - pub type Barrier = TrailingSetTopicAsId< - DenyThenTry< - DenyReserveTransferToRelayChain, - ( - TakeWeightCredit, - AllowKnownQueryResponses, - WithComputedOrigin< - ( - AllowTopLevelPaidExecutionFrom, - AllowExplicitUnpaidExecutionFrom, - AllowSubscriptionsFrom, - ), - UniversalLocation, - ConstU32<8>, - >, - ), - >, - >; - pub type AssetFeeAsExistentialDepositMultiplierFeeCharger = AssetFeeAsExistentialDepositMultiplier< - Runtime, - WeightToFee, - pallet_assets::BalanceToAssetBalance< - Balances, - Runtime, - ConvertInto, - TrustBackedAssetsInstance, - >, - TrustBackedAssetsInstance, - >; - /// Cases where a remote origin is accepted as trusted Teleporter for a given asset: - /// - /// - KSM with the parent Relay Chain and sibling system parachains; and - /// - Sibling parachains' assets from where they originate (as `ForeignCreators`). - pub type TrustedTeleporters = ( - ConcreteAssetFromSystem, - IsForeignConcreteAsset>>, - ); - pub struct XcmConfig; - impl xcm_executor::Config for XcmConfig { - type RuntimeCall = RuntimeCall; - type XcmSender = XcmRouter; - type AssetTransactor = AssetTransactors; - type OriginConverter = XcmOriginToTransactDispatchOrigin; - type IsReserve = (); - type IsTeleporter = TrustedTeleporters; - type UniversalLocation = UniversalLocation; - type Barrier = Barrier; - type Weigher = WeightInfoBounds< - crate::weights::xcm::AssetHubKusamaXcmWeight, - RuntimeCall, - MaxInstructions, - >; - type Trader = ( - UsingComponents< - WeightToFee, - KsmLocation, - AccountId, - Balances, - ToStakingPot, - >, - cumulus_primitives_utility::TakeFirstAssetTrader< - AccountId, - AssetFeeAsExistentialDepositMultiplierFeeCharger, - TrustBackedAssetsConvertedConcreteId, - Assets, - cumulus_primitives_utility::XcmFeesTo32ByteAccount< - FungiblesTransactor, - AccountId, - XcmAssetFeesReceiver, - >, - >, - ); - type ResponseHandler = PolkadotXcm; - type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; - type SubscriptionService = PolkadotXcm; - type PalletInstancesInfo = AllPalletsWithSystem; - type MaxAssetsIntoHolding = MaxAssetsIntoHolding; - type AssetLocker = (); - type AssetExchanger = (); - type FeeManager = (); - type MessageExporter = (); - type UniversalAliases = Nothing; - type CallDispatcher = WithOriginFilter; - type SafeCallFilter = SafeCallFilter; - type Aliasers = Nothing; - } - /// Converts a local signed origin into an XCM multilocation. - /// Forms the basis for local origins sending/executing XCMs. - pub type LocalOriginToLocation = SignedToAccountId32< - RuntimeOrigin, - AccountId, - RelayNetwork, - >; - /// The means for routing XCM messages which are not for local execution into the right message - /// queues. - pub type XcmRouter = WithUniqueTopic< - ( - cumulus_primitives_utility::ParentAsUmp, - XcmpQueue, - ), - >; - impl pallet_xcm::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type SendXcmOrigin = EnsureXcmOrigin; - type XcmRouter = XcmRouter; - type ExecuteXcmOrigin = EnsureXcmOrigin; - type XcmExecuteFilter = Nothing; - type XcmExecutor = XcmExecutor; - type XcmTeleportFilter = Everything; - type XcmReserveTransferFilter = Everything; - type Weigher = WeightInfoBounds< - crate::weights::xcm::AssetHubKusamaXcmWeight, - RuntimeCall, - MaxInstructions, - >; - type UniversalLocation = UniversalLocation; - type RuntimeOrigin = RuntimeOrigin; - type RuntimeCall = RuntimeCall; - const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; - type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; - type Currency = Balances; - type CurrencyMatcher = (); - type TrustedLockers = (); - type SovereignAccountOf = LocationToAccountId; - type MaxLockers = ConstU32<8>; - type WeightInfo = crate::weights::pallet_xcm::WeightInfo; - type AdminOrigin = EnsureRoot; - type MaxRemoteLockConsumers = ConstU32<0>; - type RemoteLockConsumerIdentifier = (); - } - impl cumulus_pallet_xcm::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; - } - pub type ForeignCreatorsSovereignAccountOf = ( - SiblingParachainConvertsVia, - AccountId32Aliases, - ParentIsPreset, - ); - /// Simple conversion of `u32` into an `AssetId` for use in benchmarking. - pub struct XcmBenchmarkHelper; -} -use assets_common::{ - foreign_creators::ForeignCreators, - local_and_foreign_assets::{LocalAndForeignAssets, MultiLocationConverter}, - matching::FromSiblingParachain, AssetIdForTrustBackedAssetsConvert, - MultiLocationForAssetId, -}; -use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases; -use sp_api::impl_runtime_apis; -use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; -use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdConversion, AccountIdLookup, BlakeTwo256, Block as BlockT, Verify}, - transaction_validity::{TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, Permill, -}; -use sp_std::prelude::*; -#[cfg(feature = "std")] -use sp_version::NativeVersion; -use sp_version::RuntimeVersion; -use codec::{Decode, Encode, MaxEncodedLen}; -use frame_support::{ - construct_runtime, dispatch::DispatchClass, - genesis_builder_helper::{build_config, create_default_config}, - ord_parameter_types, parameter_types, - traits::{ - AsEnsureOriginWithArg, ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, - EitherOfDiverse, InstanceFilter, - }, - weights::{ConstantMultiplier, Weight}, - BoundedVec, PalletId, -}; -use frame_system::{ - limits::{BlockLength, BlockWeights}, - EnsureRoot, EnsureSigned, EnsureSignedBy, -}; -use pallet_asset_conversion_tx_payment::AssetConversionAdapter; -use pallet_nfts::PalletFeatures; -pub use parachains_common as common; -use parachains_common::{ - impls::DealWithFees, kusama::{consensus::*, currency::*, fee::WeightToFee}, - AccountId, AssetIdForTrustBackedAssets, AuraId, Balance, BlockNumber, Hash, Header, - Nonce, Signature, AVERAGE_ON_INITIALIZE_RATIO, DAYS, HOURS, MAXIMUM_BLOCK_WEIGHT, - NORMAL_DISPATCH_RATIO, SLOT_DURATION, -}; -use sp_runtime::RuntimeDebug; -use xcm::opaque::v3::MultiLocation; -use xcm_config::{ - FellowshipLocation, ForeignAssetsConvertedConcreteId, GovernanceLocation, - KsmLocation, PoolAssetsConvertedConcreteId, TrustBackedAssetsConvertedConcreteId, - XcmConfig, -}; -#[cfg(any(feature = "std", test))] -pub use sp_runtime::BuildStorage; -use pallet_xcm::{EnsureXcm, IsVoiceOfBody}; -use polkadot_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate}; -use xcm::latest::BodyId; -use xcm_executor::XcmExecutor; -use crate::xcm_config::{ - ForeignCreatorsSovereignAccountOf, LocalAndForeignAssetsMultiLocationMatcher, - TrustBackedAssetsPalletLocation, -}; -use weights::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight}; -use ::sp_runtime::serde as __opaque_keys_serde_import__SessionKeys; -#[serde(crate = "__opaque_keys_serde_import__SessionKeys")] -pub struct SessionKeys { - pub aura: ::Public, -} -#[automatically_derived] -impl ::core::clone::Clone for SessionKeys { - #[inline] - fn clone(&self) -> SessionKeys { - SessionKeys { - aura: ::core::clone::Clone::clone(&self.aura), - } - } -} -#[automatically_derived] -impl ::core::marker::StructuralPartialEq for SessionKeys {} -#[automatically_derived] -impl ::core::cmp::PartialEq for SessionKeys { - #[inline] - fn eq(&self, other: &SessionKeys) -> bool { - self.aura == other.aura - } -} -#[automatically_derived] -impl ::core::marker::StructuralEq for SessionKeys {} -#[automatically_derived] -impl ::core::cmp::Eq for SessionKeys { - #[inline] - #[doc(hidden)] - #[coverage(off)] - fn assert_receiver_is_total_eq(&self) -> () { - let _: ::core::cmp::AssertParamIsEq< - ::Public, - >; - } -} -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Encode for SessionKeys { - fn size_hint(&self) -> usize { - ::codec::Encode::size_hint(&&self.aura) - } - fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( - &self, - __codec_dest_edqy: &mut __CodecOutputEdqy, - ) { - ::codec::Encode::encode_to(&&self.aura, __codec_dest_edqy) - } - fn encode(&self) -> ::codec::alloc::vec::Vec<::core::primitive::u8> { - ::codec::Encode::encode(&&self.aura) - } - fn using_encoded R>( - &self, - f: F, - ) -> R { - ::codec::Encode::using_encoded(&&self.aura, f) - } - } - #[automatically_derived] - impl ::codec::EncodeLike for SessionKeys {} -}; -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Decode for SessionKeys { - fn decode<__CodecInputEdqy: ::codec::Input>( - __codec_input_edqy: &mut __CodecInputEdqy, - ) -> ::core::result::Result { - ::core::result::Result::Ok(SessionKeys { - aura: { - let __codec_res_edqy = <::Public as ::codec::Decode>::decode( - __codec_input_edqy, - ); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `SessionKeys::aura`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy, - } - }, - }) - } - } -}; -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - impl ::scale_info::TypeInfo for SessionKeys { - type Identity = Self; - fn type_info() -> ::scale_info::Type { - ::scale_info::Type::builder() - .path(::scale_info::Path::new("SessionKeys", "asset_hub_kusama_runtime")) - .type_params(::alloc::vec::Vec::new()) - .composite( - ::scale_info::build::Fields::named() - .field(|f| { - f - .ty::< - ::Public, - >() - .name("aura") - .type_name( - "::Public", - ) - }), - ) - } - } -}; -impl core::fmt::Debug for SessionKeys { - fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { - fmt.debug_struct("SessionKeys").field("aura", &self.aura).finish() - } -} -#[doc(hidden)] -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - use __opaque_keys_serde_import__SessionKeys as _serde; - #[automatically_derived] - impl __opaque_keys_serde_import__SessionKeys::Serialize for SessionKeys { - fn serialize<__S>( - &self, - __serializer: __S, - ) -> __opaque_keys_serde_import__SessionKeys::__private::Result< - __S::Ok, - __S::Error, - > - where - __S: __opaque_keys_serde_import__SessionKeys::Serializer, - { - let mut __serde_state = _serde::Serializer::serialize_struct( - __serializer, - "SessionKeys", - false as usize + 1, - )?; - _serde::ser::SerializeStruct::serialize_field( - &mut __serde_state, - "aura", - &self.aura, - )?; - _serde::ser::SerializeStruct::end(__serde_state) - } - } -}; -#[doc(hidden)] -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - use __opaque_keys_serde_import__SessionKeys as _serde; - #[automatically_derived] - impl<'de> __opaque_keys_serde_import__SessionKeys::Deserialize<'de> for SessionKeys { - fn deserialize<__D>( - __deserializer: __D, - ) -> __opaque_keys_serde_import__SessionKeys::__private::Result - where - __D: __opaque_keys_serde_import__SessionKeys::Deserializer<'de>, - { - #[allow(non_camel_case_types)] - #[doc(hidden)] - enum __Field { - __field0, - __ignore, - } - #[doc(hidden)] - struct __FieldVisitor; - impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { - type Value = __Field; - fn expecting( - &self, - __formatter: &mut _serde::__private::Formatter, - ) -> _serde::__private::fmt::Result { - _serde::__private::Formatter::write_str( - __formatter, - "field identifier", - ) - } - fn visit_u64<__E>( - self, - __value: u64, - ) -> _serde::__private::Result - where - __E: _serde::de::Error, - { - match __value { - 0u64 => _serde::__private::Ok(__Field::__field0), - _ => _serde::__private::Ok(__Field::__ignore), - } - } - fn visit_str<__E>( - self, - __value: &str, - ) -> _serde::__private::Result - where - __E: _serde::de::Error, - { - match __value { - "aura" => _serde::__private::Ok(__Field::__field0), - _ => _serde::__private::Ok(__Field::__ignore), - } - } - fn visit_bytes<__E>( - self, - __value: &[u8], - ) -> _serde::__private::Result - where - __E: _serde::de::Error, - { - match __value { - b"aura" => _serde::__private::Ok(__Field::__field0), - _ => _serde::__private::Ok(__Field::__ignore), - } - } - } - impl<'de> _serde::Deserialize<'de> for __Field { - #[inline] - fn deserialize<__D>( - __deserializer: __D, - ) -> _serde::__private::Result - where - __D: _serde::Deserializer<'de>, - { - _serde::Deserializer::deserialize_identifier( - __deserializer, - __FieldVisitor, - ) - } - } - #[doc(hidden)] - struct __Visitor<'de> { - marker: _serde::__private::PhantomData, - lifetime: _serde::__private::PhantomData<&'de ()>, - } - impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { - type Value = SessionKeys; - fn expecting( - &self, - __formatter: &mut _serde::__private::Formatter, - ) -> _serde::__private::fmt::Result { - _serde::__private::Formatter::write_str( - __formatter, - "struct SessionKeys", - ) - } - #[inline] - fn visit_seq<__A>( - self, - mut __seq: __A, - ) -> _serde::__private::Result - where - __A: _serde::de::SeqAccess<'de>, - { - let __field0 = match _serde::de::SeqAccess::next_element::< - ::Public, - >(&mut __seq)? { - _serde::__private::Some(__value) => __value, - _serde::__private::None => { - return _serde::__private::Err( - _serde::de::Error::invalid_length( - 0usize, - &"struct SessionKeys with 1 element", - ), - ); - } - }; - _serde::__private::Ok(SessionKeys { aura: __field0 }) - } - #[inline] - fn visit_map<__A>( - self, - mut __map: __A, - ) -> _serde::__private::Result - where - __A: _serde::de::MapAccess<'de>, - { - let mut __field0: _serde::__private::Option< - ::Public, - > = _serde::__private::None; - while let _serde::__private::Some(__key) - = _serde::de::MapAccess::next_key::<__Field>(&mut __map)? { - match __key { - __Field::__field0 => { - if _serde::__private::Option::is_some(&__field0) { - return _serde::__private::Err( - <__A::Error as _serde::de::Error>::duplicate_field("aura"), - ); - } - __field0 = _serde::__private::Some( - _serde::de::MapAccess::next_value::< - ::Public, - >(&mut __map)?, - ); - } - _ => { - let _ = _serde::de::MapAccess::next_value::< - _serde::de::IgnoredAny, - >(&mut __map)?; - } - } - } - let __field0 = match __field0 { - _serde::__private::Some(__field0) => __field0, - _serde::__private::None => { - _serde::__private::de::missing_field("aura")? - } - }; - _serde::__private::Ok(SessionKeys { aura: __field0 }) - } - } - #[doc(hidden)] - const FIELDS: &'static [&'static str] = &["aura"]; - _serde::Deserializer::deserialize_struct( - __deserializer, - "SessionKeys", - FIELDS, - __Visitor { - marker: _serde::__private::PhantomData::, - lifetime: _serde::__private::PhantomData, - }, - ) - } - } -}; -impl SessionKeys { - /// Generate a set of keys with optionally using the given seed. - /// - /// The generated key pairs are stored in the keystore. - /// - /// Returns the concatenated SCALE encoded public keys. - pub fn generate( - seed: Option<::sp_runtime::sp_std::vec::Vec>, - ) -> ::sp_runtime::sp_std::vec::Vec { - let keys = Self { - aura: <::Public as ::sp_runtime::RuntimeAppPublic>::generate_pair( - seed.clone(), - ), - }; - ::sp_runtime::codec::Encode::encode(&keys) - } - /// Converts `Self` into a `Vec` of `(raw public key, KeyTypeId)`. - pub fn into_raw_public_keys( - self, - ) -> ::sp_runtime::sp_std::vec::Vec< - (::sp_runtime::sp_std::vec::Vec, ::sp_runtime::KeyTypeId), - > { - let mut keys = Vec::new(); - keys.push(( - ::sp_runtime::RuntimeAppPublic::to_raw_vec(&self.aura), - <::Public as ::sp_runtime::RuntimeAppPublic>::ID, - )); - keys - } - /// Decode `Self` from the given `encoded` slice and convert `Self` into the raw public - /// keys (see [`Self::into_raw_public_keys`]). - /// - /// Returns `None` when the decoding failed, otherwise `Some(_)`. - pub fn decode_into_raw_public_keys( - encoded: &[u8], - ) -> Option< - ::sp_runtime::sp_std::vec::Vec< - (::sp_runtime::sp_std::vec::Vec, ::sp_runtime::KeyTypeId), - >, - > { - ::decode(&mut &encoded[..]) - .ok() - .map(|s| s.into_raw_public_keys()) - } -} -impl ::sp_runtime::traits::OpaqueKeys for SessionKeys { - type KeyTypeIdProviders = (Aura,); - fn key_ids() -> &'static [::sp_runtime::KeyTypeId] { - &[ - <::Public as ::sp_runtime::RuntimeAppPublic>::ID, - ] - } - fn get_raw(&self, i: ::sp_runtime::KeyTypeId) -> &[u8] { - match i { - i if i - == <::Public as ::sp_runtime::RuntimeAppPublic>::ID => { - self.aura.as_ref() - } - _ => &[], - } - } -} -#[cfg(not(feature = "state-trie-version-1"))] -pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: { ::sp_runtime::RuntimeString::Borrowed("statemine") }, - impl_name: { ::sp_runtime::RuntimeString::Borrowed("statemine") }, - authoring_version: 1, - spec_version: 10000, - impl_version: 0, - apis: RUNTIME_API_VERSIONS, - transaction_version: 13, - state_version: 0, -}; -const _: () = {}; -/// The version information used to identify this runtime when compiled natively. -#[cfg(feature = "std")] -pub fn native_version() -> NativeVersion { - NativeVersion { - runtime_version: VERSION, - can_author_with: Default::default(), - } -} -pub struct Version; -impl Version { - /// Returns the value of this parameter type. - pub const fn get() -> RuntimeVersion { - VERSION - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for Version { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for Version { - type Type = RuntimeVersion; - fn get() -> RuntimeVersion { - Self::get() - } -} -pub struct RuntimeBlockLength; -impl RuntimeBlockLength { - /// Returns the value of this parameter type. - pub fn get() -> BlockLength { - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for RuntimeBlockLength { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for RuntimeBlockLength { - type Type = BlockLength; - fn get() -> BlockLength { - Self::get() - } -} -pub struct RuntimeBlockWeights; -impl RuntimeBlockWeights { - /// Returns the value of this parameter type. - pub fn get() -> BlockWeights { - BlockWeights::builder() - .base_block(BlockExecutionWeight::get()) - .for_class( - DispatchClass::all(), - |weights| { - weights.base_extrinsic = ExtrinsicBaseWeight::get(); - }, - ) - .for_class( - DispatchClass::Normal, - |weights| { - weights - .max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); - }, - ) - .for_class( - DispatchClass::Operational, - |weights| { - weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); - weights - .reserved = Some( - MAXIMUM_BLOCK_WEIGHT - - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT, - ); - }, - ) - .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) - .build_or_panic() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for RuntimeBlockWeights { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for RuntimeBlockWeights { - type Type = BlockWeights; - fn get() -> BlockWeights { - Self::get() - } -} -pub struct SS58Prefix; -impl SS58Prefix { - /// Returns the value of this parameter type. - pub const fn get() -> u8 { - 2 - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for SS58Prefix { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for SS58Prefix { - type Type = u8; - fn get() -> u8 { - Self::get() - } -} -impl frame_system::Config for Runtime { - type BaseCallFilter = frame_support::traits::Everything; - type BlockWeights = RuntimeBlockWeights; - type BlockLength = RuntimeBlockLength; - type AccountId = AccountId; - type RuntimeCall = RuntimeCall; - type Lookup = AccountIdLookup; - type Nonce = Nonce; - type Hash = Hash; - type Hashing = BlakeTwo256; - type Block = Block; - type RuntimeEvent = RuntimeEvent; - type RuntimeOrigin = RuntimeOrigin; - type BlockHashCount = BlockHashCount; - type DbWeight = RocksDbWeight; - type Version = Version; - type PalletInfo = PalletInfo; - type OnNewAccount = (); - type OnKilledAccount = (); - type AccountData = pallet_balances::AccountData; - type SystemWeightInfo = weights::frame_system::WeightInfo; - type SS58Prefix = SS58Prefix; - type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; - type MaxConsumers = frame_support::traits::ConstU32<16>; -} -impl pallet_timestamp::Config for Runtime { - /// A timestamp: milliseconds since the unix epoch. - type Moment = u64; - type OnTimestampSet = Aura; - type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; - type WeightInfo = weights::pallet_timestamp::WeightInfo; -} -impl pallet_authorship::Config for Runtime { - type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type EventHandler = (CollatorSelection,); -} -pub struct ExistentialDeposit; -impl ExistentialDeposit { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - EXISTENTIAL_DEPOSIT - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for ExistentialDeposit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ExistentialDeposit { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -impl pallet_balances::Config for Runtime { - type MaxLocks = ConstU32<50>; - /// The type for recording an account's balance. - type Balance = Balance; - /// The ubiquitous event type. - type RuntimeEvent = RuntimeEvent; - type DustRemoval = (); - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = System; - type WeightInfo = weights::pallet_balances::WeightInfo; - type MaxReserves = ConstU32<50>; - type ReserveIdentifier = [u8; 8]; - type RuntimeHoldReason = RuntimeHoldReason; - type FreezeIdentifier = (); - type MaxHolds = ConstU32<1>; - type MaxFreezes = ConstU32<0>; -} -/// Relay Chain `TransactionByteFee` / 10 -pub struct TransactionByteFee; -impl TransactionByteFee { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - MILLICENTS - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for TransactionByteFee { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for TransactionByteFee { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -impl pallet_transaction_payment::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter< - Balances, - DealWithFees, - >; - type WeightToFee = WeightToFee; - type LengthToFee = ConstantMultiplier; - type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; - type OperationalFeeMultiplier = ConstU8<5>; -} -pub struct AssetDeposit; -impl AssetDeposit { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - UNITS / 10 - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for AssetDeposit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for AssetDeposit { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct AssetAccountDeposit; -impl AssetAccountDeposit { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(1, 16) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for AssetAccountDeposit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for AssetAccountDeposit { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct ApprovalDeposit; -impl ApprovalDeposit { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - EXISTENTIAL_DEPOSIT - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for ApprovalDeposit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ApprovalDeposit { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct AssetsStringLimit; -impl AssetsStringLimit { - /// Returns the value of this parameter type. - pub const fn get() -> u32 { - 50 - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for AssetsStringLimit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for AssetsStringLimit { - type Type = u32; - fn get() -> u32 { - Self::get() - } -} -/// Key = 32 bytes, Value = 36 bytes (32+1+1+1+1) -pub struct MetadataDepositBase; -impl MetadataDepositBase { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(1, 68) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for MetadataDepositBase { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for MetadataDepositBase { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct MetadataDepositPerByte; -impl MetadataDepositPerByte { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(0, 1) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for MetadataDepositPerByte { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for MetadataDepositPerByte { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -/// We allow root to execute privileged asset operations. -pub type AssetsForceOrigin = EnsureRoot; -pub type TrustBackedAssetsInstance = pallet_assets::Instance1; -type TrustBackedAssetsCall = pallet_assets::Call; -impl pallet_assets::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeHoldReason = RuntimeHoldReason; - type Balance = Balance; - type AssetId = AssetIdForTrustBackedAssets; - type AssetIdParameter = codec::Compact; - type NativeToken = Balances; - type CreateOrigin = AsEnsureOriginWithArg>; - type ForceOrigin = AssetsForceOrigin; - type AssetDeposit = AssetDeposit; - type MetadataDepositBase = MetadataDepositBase; - type MetadataDepositPerByte = MetadataDepositPerByte; - type ApprovalDeposit = ApprovalDeposit; - type StringLimit = AssetsStringLimit; - type Freezer = (); - type Extra = (); - type WeightInfo = weights::pallet_assets_local::WeightInfo; - type CallbackHandle = (); - type AssetAccountDeposit = AssetAccountDeposit; - type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; -} -pub struct AssetConversionPalletId; -impl AssetConversionPalletId { - /// Returns the value of this parameter type. - pub const fn get() -> PalletId { - PalletId(*b"py/ascon") - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for AssetConversionPalletId { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for AssetConversionPalletId { - type Type = PalletId; - fn get() -> PalletId { - Self::get() - } -} -pub struct AllowMultiAssetPools; -impl AllowMultiAssetPools { - /// Returns the value of this parameter type. - pub const fn get() -> bool { - false - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for AllowMultiAssetPools { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for AllowMultiAssetPools { - type Type = bool; - fn get() -> bool { - Self::get() - } -} -pub struct LiquidityWithdrawalFee; -impl LiquidityWithdrawalFee { - /// Returns the value of this parameter type. - pub const fn get() -> Permill { - Permill::from_percent(0) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for LiquidityWithdrawalFee { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for LiquidityWithdrawalFee { - type Type = Permill; - fn get() -> Permill { - Self::get() - } -} -pub struct AssetConversionOrigin; -impl AssetConversionOrigin { - /// Returns the value of this parameter type. - pub fn get() -> sp_runtime::AccountId32 { - AccountIdConversion::< - sp_runtime::AccountId32, - >::into_account_truncating(&AssetConversionPalletId::get()) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> -for AssetConversionOrigin { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for AssetConversionOrigin { - type Type = sp_runtime::AccountId32; - fn get() -> sp_runtime::AccountId32 { - Self::get() - } -} -impl ::frame_support::traits::SortedMembers -for AssetConversionOrigin { - fn contains(t: &sp_runtime::AccountId32) -> bool { - &AccountIdConversion::< - sp_runtime::AccountId32, - >::into_account_truncating(&AssetConversionPalletId::get()) == t - } - fn sorted_members() -> ::frame_support::__private::sp_std::prelude::Vec< - sp_runtime::AccountId32, - > { - <[_]>::into_vec( - #[rustc_box] - ::alloc::boxed::Box::new([ - AccountIdConversion::< - sp_runtime::AccountId32, - >::into_account_truncating(&AssetConversionPalletId::get()), - ]), - ) - } - fn count() -> usize { - 1 - } -} -impl ::frame_support::traits::Contains -for AssetConversionOrigin { - fn contains(t: &sp_runtime::AccountId32) -> bool { - &AccountIdConversion::< - sp_runtime::AccountId32, - >::into_account_truncating(&AssetConversionPalletId::get()) == t - } -} -pub type PoolAssetsInstance = pallet_assets::Instance3; -impl pallet_assets::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeHoldReason = RuntimeHoldReason; - type Balance = Balance; - type RemoveItemsLimit = ConstU32<1000>; - type AssetId = u32; - type AssetIdParameter = u32; - type NativeToken = Balances; - type CreateOrigin = AsEnsureOriginWithArg< - EnsureSignedBy, - >; - type ForceOrigin = AssetsForceOrigin; - type AssetDeposit = ConstU128<0>; - type AssetAccountDeposit = ConstU128<0>; - type MetadataDepositBase = ConstU128<0>; - type MetadataDepositPerByte = ConstU128<0>; - type ApprovalDeposit = ApprovalDeposit; - type StringLimit = ConstU32<50>; - type Freezer = (); - type Extra = (); - type WeightInfo = weights::pallet_assets_pool::WeightInfo; - type CallbackHandle = (); -} -impl pallet_asset_conversion::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Balance = Balance; - type HigherPrecisionBalance = sp_core::U256; - type Currency = Balances; - type AssetBalance = Balance; - type AssetId = MultiLocation; - type Assets = LocalAndForeignAssets< - Assets, - AssetIdForTrustBackedAssetsConvert, - ForeignAssets, - >; - type PoolAssets = PoolAssets; - type PoolAssetId = u32; - type PoolSetupFee = ConstU128<0>; - type PoolSetupFeeReceiver = AssetConversionOrigin; - type LiquidityWithdrawalFee = LiquidityWithdrawalFee; - type LPFee = ConstU32<3>; - type PalletId = AssetConversionPalletId; - type AllowMultiAssetPools = AllowMultiAssetPools; - type MaxSwapPathLength = ConstU32<4>; - type MultiAssetId = Box; - type MultiAssetIdConverter = MultiLocationConverter< - KsmLocation, - LocalAndForeignAssetsMultiLocationMatcher, - >; - type MintMinLiquidity = ConstU128<100>; - type WeightInfo = weights::pallet_asset_conversion::WeightInfo; -} -pub struct ForeignAssetsAssetDeposit; -impl ForeignAssetsAssetDeposit { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - AssetDeposit::get() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for ForeignAssetsAssetDeposit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ForeignAssetsAssetDeposit { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct ForeignAssetsAssetAccountDeposit; -impl ForeignAssetsAssetAccountDeposit { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - AssetAccountDeposit::get() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> -for ForeignAssetsAssetAccountDeposit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ForeignAssetsAssetAccountDeposit { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct ForeignAssetsApprovalDeposit; -impl ForeignAssetsApprovalDeposit { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - ApprovalDeposit::get() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> -for ForeignAssetsApprovalDeposit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ForeignAssetsApprovalDeposit { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct ForeignAssetsAssetsStringLimit; -impl ForeignAssetsAssetsStringLimit { - /// Returns the value of this parameter type. - pub const fn get() -> u32 { - AssetsStringLimit::get() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for ForeignAssetsAssetsStringLimit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ForeignAssetsAssetsStringLimit { - type Type = u32; - fn get() -> u32 { - Self::get() - } -} -pub struct ForeignAssetsMetadataDepositBase; -impl ForeignAssetsMetadataDepositBase { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - MetadataDepositBase::get() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> -for ForeignAssetsMetadataDepositBase { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ForeignAssetsMetadataDepositBase { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct ForeignAssetsMetadataDepositPerByte; -impl ForeignAssetsMetadataDepositPerByte { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - MetadataDepositPerByte::get() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> -for ForeignAssetsMetadataDepositPerByte { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ForeignAssetsMetadataDepositPerByte { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -/// Assets managed by some foreign location. Note: we do not declare a `ForeignAssetsCall` type, as -/// this type is used in proxy definitions. We assume that a foreign location would not want to set -/// an individual, local account as a proxy for the issuance of their assets. This issuance should -/// be managed by the foreign location's governance. -pub type ForeignAssetsInstance = pallet_assets::Instance2; -impl pallet_assets::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeHoldReason = RuntimeHoldReason; - type Balance = Balance; - type AssetId = MultiLocationForAssetId; - type AssetIdParameter = MultiLocationForAssetId; - type NativeToken = Balances; - type CreateOrigin = ForeignCreators< - (FromSiblingParachain>,), - ForeignCreatorsSovereignAccountOf, - AccountId, - >; - type ForceOrigin = AssetsForceOrigin; - type AssetDeposit = ForeignAssetsAssetDeposit; - type MetadataDepositBase = ForeignAssetsMetadataDepositBase; - type MetadataDepositPerByte = ForeignAssetsMetadataDepositPerByte; - type ApprovalDeposit = ForeignAssetsApprovalDeposit; - type StringLimit = ForeignAssetsAssetsStringLimit; - type Freezer = (); - type Extra = (); - type WeightInfo = weights::pallet_assets_foreign::WeightInfo; - type CallbackHandle = (); - type AssetAccountDeposit = ForeignAssetsAssetAccountDeposit; - type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; -} -pub struct DepositBase; -impl DepositBase { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(1, 88) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for DepositBase { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for DepositBase { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct DepositFactor; -impl DepositFactor { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(0, 32) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for DepositFactor { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for DepositFactor { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct MaxSignatories; -impl MaxSignatories { - /// Returns the value of this parameter type. - pub const fn get() -> u32 { - 100 - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for MaxSignatories { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for MaxSignatories { - type Type = u32; - fn get() -> u32 { - Self::get() - } -} -impl pallet_multisig::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type Currency = Balances; - type DepositBase = DepositBase; - type DepositFactor = DepositFactor; - type MaxSignatories = MaxSignatories; - type WeightInfo = weights::pallet_multisig::WeightInfo; -} -impl pallet_utility::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type PalletsOrigin = OriginCaller; - type WeightInfo = weights::pallet_utility::WeightInfo; -} -pub struct ProxyDepositBase; -impl ProxyDepositBase { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(1, 40) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for ProxyDepositBase { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ProxyDepositBase { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct ProxyDepositFactor; -impl ProxyDepositFactor { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(0, 33) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for ProxyDepositFactor { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ProxyDepositFactor { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct MaxProxies; -impl MaxProxies { - /// Returns the value of this parameter type. - pub const fn get() -> u16 { - 32 - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for MaxProxies { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for MaxProxies { - type Type = u16; - fn get() -> u16 { - Self::get() - } -} -pub struct AnnouncementDepositBase; -impl AnnouncementDepositBase { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(1, 48) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for AnnouncementDepositBase { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for AnnouncementDepositBase { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct AnnouncementDepositFactor; -impl AnnouncementDepositFactor { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(0, 66) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for AnnouncementDepositFactor { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for AnnouncementDepositFactor { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct MaxPending; -impl MaxPending { - /// Returns the value of this parameter type. - pub const fn get() -> u16 { - 32 - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for MaxPending { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for MaxPending { - type Type = u16; - fn get() -> u16 { - Self::get() - } -} -/// The type used to represent the kinds of proxying allowed. -pub enum ProxyType { - /// Fully permissioned proxy. Can execute any call on behalf of _proxied_. - Any, - /// Can execute any call that does not transfer funds or assets. - NonTransfer, - /// Proxy with the ability to reject time-delay proxy announcements. - CancelProxy, - /// Assets proxy. Can execute any call from `assets`, **including asset transfers**. - Assets, - /// Owner proxy. Can execute calls related to asset ownership. - AssetOwner, - /// Asset manager. Can execute calls related to asset management. - AssetManager, - /// Collator selection proxy. Can execute calls related to collator selection mechanism. - Collator, -} -#[automatically_derived] -impl ::core::marker::Copy for ProxyType {} -#[automatically_derived] -impl ::core::clone::Clone for ProxyType { - #[inline] - fn clone(&self) -> ProxyType { - *self - } -} -#[automatically_derived] -impl ::core::marker::StructuralEq for ProxyType {} -#[automatically_derived] -impl ::core::cmp::Eq for ProxyType { - #[inline] - #[doc(hidden)] - #[coverage(off)] - fn assert_receiver_is_total_eq(&self) -> () {} -} -#[automatically_derived] -impl ::core::marker::StructuralPartialEq for ProxyType {} -#[automatically_derived] -impl ::core::cmp::PartialEq for ProxyType { - #[inline] - fn eq(&self, other: &ProxyType) -> bool { - let __self_tag = ::core::intrinsics::discriminant_value(self); - let __arg1_tag = ::core::intrinsics::discriminant_value(other); - __self_tag == __arg1_tag - } -} -#[automatically_derived] -impl ::core::cmp::Ord for ProxyType { - #[inline] - fn cmp(&self, other: &ProxyType) -> ::core::cmp::Ordering { - let __self_tag = ::core::intrinsics::discriminant_value(self); - let __arg1_tag = ::core::intrinsics::discriminant_value(other); - ::core::cmp::Ord::cmp(&__self_tag, &__arg1_tag) - } -} -#[automatically_derived] -impl ::core::cmp::PartialOrd for ProxyType { - #[inline] - fn partial_cmp( - &self, - other: &ProxyType, - ) -> ::core::option::Option<::core::cmp::Ordering> { - let __self_tag = ::core::intrinsics::discriminant_value(self); - let __arg1_tag = ::core::intrinsics::discriminant_value(other); - ::core::cmp::PartialOrd::partial_cmp(&__self_tag, &__arg1_tag) - } -} -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Encode for ProxyType { - fn size_hint(&self) -> usize { - 1_usize - + match *self { - ProxyType::Any => 0_usize, - ProxyType::NonTransfer => 0_usize, - ProxyType::CancelProxy => 0_usize, - ProxyType::Assets => 0_usize, - ProxyType::AssetOwner => 0_usize, - ProxyType::AssetManager => 0_usize, - ProxyType::Collator => 0_usize, - _ => 0_usize, - } - } - fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( - &self, - __codec_dest_edqy: &mut __CodecOutputEdqy, - ) { - match *self { - ProxyType::Any => { - #[allow(clippy::unnecessary_cast)] - __codec_dest_edqy.push_byte(0usize as ::core::primitive::u8); - } - ProxyType::NonTransfer => { - #[allow(clippy::unnecessary_cast)] - __codec_dest_edqy.push_byte(1usize as ::core::primitive::u8); - } - ProxyType::CancelProxy => { - #[allow(clippy::unnecessary_cast)] - __codec_dest_edqy.push_byte(2usize as ::core::primitive::u8); - } - ProxyType::Assets => { - #[allow(clippy::unnecessary_cast)] - __codec_dest_edqy.push_byte(3usize as ::core::primitive::u8); - } - ProxyType::AssetOwner => { - #[allow(clippy::unnecessary_cast)] - __codec_dest_edqy.push_byte(4usize as ::core::primitive::u8); - } - ProxyType::AssetManager => { - #[allow(clippy::unnecessary_cast)] - __codec_dest_edqy.push_byte(5usize as ::core::primitive::u8); - } - ProxyType::Collator => { - #[allow(clippy::unnecessary_cast)] - __codec_dest_edqy.push_byte(6usize as ::core::primitive::u8); - } - _ => {} - } - } - } - #[automatically_derived] - impl ::codec::EncodeLike for ProxyType {} -}; -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Decode for ProxyType { - fn decode<__CodecInputEdqy: ::codec::Input>( - __codec_input_edqy: &mut __CodecInputEdqy, - ) -> ::core::result::Result { - match __codec_input_edqy - .read_byte() - .map_err(|e| { - e.chain("Could not decode `ProxyType`, failed to read variant byte") - })? - { - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 0usize as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { ::core::result::Result::Ok(ProxyType::Any) })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 1usize as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok(ProxyType::NonTransfer) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 2usize as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok(ProxyType::CancelProxy) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 3usize as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { ::core::result::Result::Ok(ProxyType::Assets) })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 4usize as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok(ProxyType::AssetOwner) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 5usize as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok(ProxyType::AssetManager) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 6usize as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok(ProxyType::Collator) - })(); - } - _ => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Err( - <_ as ::core::convert::Into< - _, - >>::into( - "Could not decode `ProxyType`, variant doesn't exist", - ), - ) - })(); - } - } - } - } -}; -impl core::fmt::Debug for ProxyType { - fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { - match self { - Self::Any => fmt.debug_tuple("ProxyType::Any").finish(), - Self::NonTransfer => fmt.debug_tuple("ProxyType::NonTransfer").finish(), - Self::CancelProxy => fmt.debug_tuple("ProxyType::CancelProxy").finish(), - Self::Assets => fmt.debug_tuple("ProxyType::Assets").finish(), - Self::AssetOwner => fmt.debug_tuple("ProxyType::AssetOwner").finish(), - Self::AssetManager => fmt.debug_tuple("ProxyType::AssetManager").finish(), - Self::Collator => fmt.debug_tuple("ProxyType::Collator").finish(), - _ => Ok(()), - } - } -} -const _: () = { - impl ::codec::MaxEncodedLen for ProxyType { - fn max_encoded_len() -> ::core::primitive::usize { - 0_usize - .max(0_usize) - .max(0_usize) - .max(0_usize) - .max(0_usize) - .max(0_usize) - .max(0_usize) - .max(0_usize) - .saturating_add(1) - } - } -}; -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - impl ::scale_info::TypeInfo for ProxyType { - type Identity = Self; - fn type_info() -> ::scale_info::Type { - ::scale_info::Type::builder() - .path(::scale_info::Path::new("ProxyType", "asset_hub_kusama_runtime")) - .type_params(::alloc::vec::Vec::new()) - .docs(&["The type used to represent the kinds of proxying allowed."]) - .variant( - ::scale_info::build::Variants::new() - .variant( - "Any", - |v| { - v - .index(0usize as ::core::primitive::u8) - .docs( - &[ - "Fully permissioned proxy. Can execute any call on behalf of _proxied_.", - ], - ) - }, - ) - .variant( - "NonTransfer", - |v| { - v - .index(1usize as ::core::primitive::u8) - .docs( - &[ - "Can execute any call that does not transfer funds or assets.", - ], - ) - }, - ) - .variant( - "CancelProxy", - |v| { - v - .index(2usize as ::core::primitive::u8) - .docs( - &[ - "Proxy with the ability to reject time-delay proxy announcements.", - ], - ) - }, - ) - .variant( - "Assets", - |v| { - v - .index(3usize as ::core::primitive::u8) - .docs( - &[ - "Assets proxy. Can execute any call from `assets`, **including asset transfers**.", - ], - ) - }, - ) - .variant( - "AssetOwner", - |v| { - v - .index(4usize as ::core::primitive::u8) - .docs( - &[ - "Owner proxy. Can execute calls related to asset ownership.", - ], - ) - }, - ) - .variant( - "AssetManager", - |v| { - v - .index(5usize as ::core::primitive::u8) - .docs( - &[ - "Asset manager. Can execute calls related to asset management.", - ], - ) - }, - ) - .variant( - "Collator", - |v| { - v - .index(6usize as ::core::primitive::u8) - .docs( - &[ - "Collator selection proxy. Can execute calls related to collator selection mechanism.", - ], - ) - }, - ), - ) - } - } -}; -impl Default for ProxyType { - fn default() -> Self { - Self::Any - } -} -impl InstanceFilter for ProxyType { - fn filter(&self, c: &RuntimeCall) -> bool { - match self { - ProxyType::Any => true, - ProxyType::NonTransfer => { - !match c { - RuntimeCall::Balances { .. } - | RuntimeCall::Assets { .. } - | RuntimeCall::NftFractionalization { .. } - | RuntimeCall::Nfts { .. } - | RuntimeCall::Uniques { .. } => true, - _ => false, - } - } - ProxyType::CancelProxy => { - match c { - RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. }) - | RuntimeCall::Utility { .. } - | RuntimeCall::Multisig { .. } => true, - _ => false, - } - } - ProxyType::Assets => { - match c { - RuntimeCall::Assets { .. } - | RuntimeCall::Utility { .. } - | RuntimeCall::Multisig { .. } - | RuntimeCall::NftFractionalization { .. } - | RuntimeCall::Nfts { .. } - | RuntimeCall::Uniques { .. } => true, - _ => false, - } - } - ProxyType::AssetOwner => { - match c { - RuntimeCall::Assets(TrustBackedAssetsCall::create { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::start_destroy { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::destroy_accounts { .. }) - | RuntimeCall::Assets( - TrustBackedAssetsCall::destroy_approvals { .. }, - ) - | RuntimeCall::Assets(TrustBackedAssetsCall::finish_destroy { .. }) - | RuntimeCall::Assets( - TrustBackedAssetsCall::transfer_ownership { .. }, - ) - | RuntimeCall::Assets(TrustBackedAssetsCall::set_team { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::set_metadata { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::clear_metadata { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::set_min_balance { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::create { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::destroy { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::redeposit { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::transfer_ownership { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::set_team { .. }) - | RuntimeCall::Nfts( - pallet_nfts::Call::set_collection_max_supply { .. }, - ) - | RuntimeCall::Nfts(pallet_nfts::Call::lock_collection { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::create { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::destroy { .. }) - | RuntimeCall::Uniques( - pallet_uniques::Call::transfer_ownership { .. }, - ) - | RuntimeCall::Uniques(pallet_uniques::Call::set_team { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::set_metadata { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::set_attribute { .. }) - | RuntimeCall::Uniques( - pallet_uniques::Call::set_collection_metadata { .. }, - ) - | RuntimeCall::Uniques(pallet_uniques::Call::clear_metadata { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::clear_attribute { .. }) - | RuntimeCall::Uniques( - pallet_uniques::Call::clear_collection_metadata { .. }, - ) - | RuntimeCall::Uniques( - pallet_uniques::Call::set_collection_max_supply { .. }, - ) - | RuntimeCall::Utility { .. } - | RuntimeCall::Multisig { .. } => true, - _ => false, - } - } - ProxyType::AssetManager => { - match c { - RuntimeCall::Assets(TrustBackedAssetsCall::mint { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::burn { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::freeze { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::block { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::thaw { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::freeze_asset { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::thaw_asset { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::touch_other { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::refund_other { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::force_mint { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::update_mint_settings { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::mint_pre_signed { .. }) - | RuntimeCall::Nfts( - pallet_nfts::Call::set_attributes_pre_signed { .. }, - ) - | RuntimeCall::Nfts(pallet_nfts::Call::lock_item_transfer { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::unlock_item_transfer { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::lock_item_properties { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::set_metadata { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::clear_metadata { .. }) - | RuntimeCall::Nfts( - pallet_nfts::Call::set_collection_metadata { .. }, - ) - | RuntimeCall::Nfts( - pallet_nfts::Call::clear_collection_metadata { .. }, - ) - | RuntimeCall::Uniques(pallet_uniques::Call::mint { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::burn { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::freeze { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::thaw { .. }) - | RuntimeCall::Uniques( - pallet_uniques::Call::freeze_collection { .. }, - ) - | RuntimeCall::Uniques(pallet_uniques::Call::thaw_collection { .. }) - | RuntimeCall::Utility { .. } - | RuntimeCall::Multisig { .. } => true, - _ => false, - } - } - ProxyType::Collator => { - match c { - RuntimeCall::CollatorSelection { .. } - | RuntimeCall::Utility { .. } - | RuntimeCall::Multisig { .. } => true, - _ => false, - } - } - } - } - fn is_superset(&self, o: &Self) -> bool { - match (self, o) { - (x, y) if x == y => true, - (ProxyType::Any, _) => true, - (_, ProxyType::Any) => false, - (ProxyType::Assets, ProxyType::AssetOwner) => true, - (ProxyType::Assets, ProxyType::AssetManager) => true, - (ProxyType::NonTransfer, ProxyType::Collator) => true, - _ => false, - } - } -} -impl pallet_proxy::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type Currency = Balances; - type ProxyType = ProxyType; - type ProxyDepositBase = ProxyDepositBase; - type ProxyDepositFactor = ProxyDepositFactor; - type MaxProxies = MaxProxies; - type WeightInfo = weights::pallet_proxy::WeightInfo; - type MaxPending = MaxPending; - type CallHasher = BlakeTwo256; - type AnnouncementDepositBase = AnnouncementDepositBase; - type AnnouncementDepositFactor = AnnouncementDepositFactor; -} -pub struct ReservedXcmpWeight; -impl ReservedXcmpWeight { - /// Returns the value of this parameter type. - pub const fn get() -> Weight { - MAXIMUM_BLOCK_WEIGHT.saturating_div(4) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for ReservedXcmpWeight { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ReservedXcmpWeight { - type Type = Weight; - fn get() -> Weight { - Self::get() - } -} -pub struct ReservedDmpWeight; -impl ReservedDmpWeight { - /// Returns the value of this parameter type. - pub const fn get() -> Weight { - MAXIMUM_BLOCK_WEIGHT.saturating_div(4) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for ReservedDmpWeight { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for ReservedDmpWeight { - type Type = Weight; - fn get() -> Weight { - Self::get() - } -} -impl cumulus_pallet_parachain_system::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type OnSystemEvent = (); - type SelfParaId = parachain_info::Pallet; - type DmpMessageHandler = DmpQueue; - type ReservedDmpWeight = ReservedDmpWeight; - type OutboundXcmpMessageSource = XcmpQueue; - type XcmpMessageHandler = XcmpQueue; - type ReservedXcmpWeight = ReservedXcmpWeight; - type CheckAssociatedRelayNumber = RelayNumberStrictlyIncreases; - type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook< - Runtime, - RELAY_CHAIN_SLOT_DURATION_MILLIS, - BLOCK_PROCESSING_VELOCITY, - UNINCLUDED_SEGMENT_CAPACITY, - >; -} -impl parachain_info::Config for Runtime {} -impl cumulus_pallet_aura_ext::Config for Runtime {} -pub struct FellowsBodyId; -impl FellowsBodyId { - /// Returns the value of this parameter type. - pub const fn get() -> BodyId { - BodyId::Technical - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for FellowsBodyId { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for FellowsBodyId { - type Type = BodyId; - fn get() -> BodyId { - Self::get() - } -} -impl cumulus_pallet_xcmp_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; - type ChannelInfo = ParachainSystem; - type VersionWrapper = PolkadotXcm; - type ExecuteOverweightOrigin = EnsureRoot; - type ControllerOrigin = EitherOfDiverse< - EnsureRoot, - EnsureXcm>, - >; - type ControllerOriginConverter = xcm_config::XcmOriginToTransactDispatchOrigin; - type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo; - type PriceForSiblingDelivery = (); -} -impl cumulus_pallet_dmp_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; - type ExecuteOverweightOrigin = EnsureRoot; -} -pub struct Period; -impl Period { - /// Returns the value of this parameter type. - pub const fn get() -> u32 { - 6 * HOURS - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for Period { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for Period { - type Type = u32; - fn get() -> u32 { - Self::get() - } -} -pub struct Offset; -impl Offset { - /// Returns the value of this parameter type. - pub const fn get() -> u32 { - 0 - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for Offset { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for Offset { - type Type = u32; - fn get() -> u32 { - Self::get() - } -} -impl pallet_session::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type ValidatorId = ::AccountId; - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ShouldEndSession = pallet_session::PeriodicSessions; - type NextSessionRotation = pallet_session::PeriodicSessions; - type SessionManager = CollatorSelection; - type SessionHandler = ::KeyTypeIdProviders; - type Keys = SessionKeys; - type WeightInfo = weights::pallet_session::WeightInfo; -} -impl pallet_aura::Config for Runtime { - type AuthorityId = AuraId; - type DisabledValidators = (); - type MaxAuthorities = ConstU32<100_000>; - type AllowMultipleBlocksPerSlot = ConstBool; -} -pub struct PotId; -impl PotId { - /// Returns the value of this parameter type. - pub const fn get() -> PalletId { - PalletId(*b"PotStake") - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for PotId { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for PotId { - type Type = PalletId; - fn get() -> PalletId { - Self::get() - } -} -pub struct SessionLength; -impl SessionLength { - /// Returns the value of this parameter type. - pub const fn get() -> BlockNumber { - 6 * HOURS - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for SessionLength { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for SessionLength { - type Type = BlockNumber; - fn get() -> BlockNumber { - Self::get() - } -} -pub struct StakingAdminBodyId; -impl StakingAdminBodyId { - /// Returns the value of this parameter type. - pub const fn get() -> BodyId { - BodyId::Defense - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for StakingAdminBodyId { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for StakingAdminBodyId { - type Type = BodyId; - fn get() -> BodyId { - Self::get() - } -} -/// We allow root and the `StakingAdmin` to execute privileged collator selection operations. -pub type CollatorSelectionUpdateOrigin = EitherOfDiverse< - EnsureRoot, - EnsureXcm>, ->; -impl pallet_collator_selection::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type UpdateOrigin = CollatorSelectionUpdateOrigin; - type PotId = PotId; - type MaxCandidates = ConstU32<100>; - type MinEligibleCollators = ConstU32<4>; - type MaxInvulnerables = ConstU32<20>; - type KickThreshold = Period; - type ValidatorId = ::AccountId; - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ValidatorRegistration = Session; - type WeightInfo = weights::pallet_collator_selection::WeightInfo; -} -impl pallet_asset_conversion_tx_payment::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Fungibles = LocalAndForeignAssets< - Assets, - AssetIdForTrustBackedAssetsConvert, - ForeignAssets, - >; - type OnChargeAssetTransaction = AssetConversionAdapter; -} -pub struct UniquesCollectionDeposit; -impl UniquesCollectionDeposit { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - UNITS / 10 - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for UniquesCollectionDeposit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for UniquesCollectionDeposit { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct UniquesItemDeposit; -impl UniquesItemDeposit { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - UNITS / 1_000 - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for UniquesItemDeposit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for UniquesItemDeposit { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct UniquesMetadataDepositBase; -impl UniquesMetadataDepositBase { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(1, 129) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for UniquesMetadataDepositBase { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for UniquesMetadataDepositBase { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct UniquesAttributeDepositBase; -impl UniquesAttributeDepositBase { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(1, 0) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> -for UniquesAttributeDepositBase { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for UniquesAttributeDepositBase { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct UniquesDepositPerByte; -impl UniquesDepositPerByte { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - deposit(0, 1) - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for UniquesDepositPerByte { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for UniquesDepositPerByte { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -impl pallet_uniques::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type CollectionId = u32; - type ItemId = u32; - type Currency = Balances; - type ForceOrigin = AssetsForceOrigin; - type CollectionDeposit = UniquesCollectionDeposit; - type ItemDeposit = UniquesItemDeposit; - type MetadataDepositBase = UniquesMetadataDepositBase; - type AttributeDepositBase = UniquesAttributeDepositBase; - type DepositPerByte = UniquesDepositPerByte; - type StringLimit = ConstU32<128>; - type KeyLimit = ConstU32<32>; - type ValueLimit = ConstU32<64>; - type WeightInfo = weights::pallet_uniques::WeightInfo; - type CreateOrigin = AsEnsureOriginWithArg>; - type Locker = (); -} -pub struct NftFractionalizationPalletId; -impl NftFractionalizationPalletId { - /// Returns the value of this parameter type. - pub const fn get() -> PalletId { - PalletId(*b"fraction") - } -} -impl<_I: From> ::frame_support::traits::Get<_I> -for NftFractionalizationPalletId { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for NftFractionalizationPalletId { - type Type = PalletId; - fn get() -> PalletId { - Self::get() - } -} -pub struct NewAssetSymbol; -impl NewAssetSymbol { - /// Returns the value of this parameter type. - pub fn get() -> BoundedVec { - (*b"FRAC").to_vec().try_into().unwrap() - } -} -impl<_I: From>> ::frame_support::traits::Get<_I> -for NewAssetSymbol { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for NewAssetSymbol { - type Type = BoundedVec; - fn get() -> BoundedVec { - Self::get() - } -} -pub struct NewAssetName; -impl NewAssetName { - /// Returns the value of this parameter type. - pub fn get() -> BoundedVec { - (*b"Frac").to_vec().try_into().unwrap() - } -} -impl<_I: From>> ::frame_support::traits::Get<_I> -for NewAssetName { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for NewAssetName { - type Type = BoundedVec; - fn get() -> BoundedVec { - Self::get() - } -} -impl pallet_nft_fractionalization::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Deposit = AssetDeposit; - type Currency = Balances; - type NewAssetSymbol = NewAssetSymbol; - type NewAssetName = NewAssetName; - type StringLimit = AssetsStringLimit; - type NftCollectionId = ::CollectionId; - type NftId = ::ItemId; - type AssetBalance = ::Balance; - type AssetId = >::AssetId; - type Assets = Assets; - type Nfts = Nfts; - type PalletId = NftFractionalizationPalletId; - type WeightInfo = pallet_nft_fractionalization::weights::SubstrateWeight; - type RuntimeHoldReason = RuntimeHoldReason; -} -pub struct NftsPalletFeatures; -impl NftsPalletFeatures { - /// Returns the value of this parameter type. - pub fn get() -> PalletFeatures { - PalletFeatures::all_enabled() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for NftsPalletFeatures { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for NftsPalletFeatures { - type Type = PalletFeatures; - fn get() -> PalletFeatures { - Self::get() - } -} -pub struct NftsMaxDeadlineDuration; -impl NftsMaxDeadlineDuration { - /// Returns the value of this parameter type. - pub const fn get() -> BlockNumber { - 12 * 30 * DAYS - } -} -impl<_I: From> ::frame_support::traits::Get<_I> -for NftsMaxDeadlineDuration { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for NftsMaxDeadlineDuration { - type Type = BlockNumber; - fn get() -> BlockNumber { - Self::get() - } -} -pub struct NftsCollectionDeposit; -impl NftsCollectionDeposit { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - UniquesCollectionDeposit::get() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for NftsCollectionDeposit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for NftsCollectionDeposit { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct NftsItemDeposit; -impl NftsItemDeposit { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - UniquesItemDeposit::get() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for NftsItemDeposit { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for NftsItemDeposit { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct NftsMetadataDepositBase; -impl NftsMetadataDepositBase { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - UniquesMetadataDepositBase::get() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for NftsMetadataDepositBase { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for NftsMetadataDepositBase { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct NftsAttributeDepositBase; -impl NftsAttributeDepositBase { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - UniquesAttributeDepositBase::get() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for NftsAttributeDepositBase { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for NftsAttributeDepositBase { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -pub struct NftsDepositPerByte; -impl NftsDepositPerByte { - /// Returns the value of this parameter type. - pub const fn get() -> Balance { - UniquesDepositPerByte::get() - } -} -impl<_I: From> ::frame_support::traits::Get<_I> for NftsDepositPerByte { - fn get() -> _I { - _I::from(Self::get()) - } -} -impl ::frame_support::traits::TypedGet for NftsDepositPerByte { - type Type = Balance; - fn get() -> Balance { - Self::get() - } -} -impl pallet_nfts::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type CollectionId = u32; - type ItemId = u32; - type Currency = Balances; - type CreateOrigin = AsEnsureOriginWithArg>; - type ForceOrigin = AssetsForceOrigin; - type Locker = (); - type CollectionDeposit = NftsCollectionDeposit; - type ItemDeposit = NftsItemDeposit; - type MetadataDepositBase = NftsMetadataDepositBase; - type AttributeDepositBase = NftsAttributeDepositBase; - type DepositPerByte = NftsDepositPerByte; - type StringLimit = ConstU32<256>; - type KeyLimit = ConstU32<64>; - type ValueLimit = ConstU32<256>; - type ApprovalsLimit = ConstU32<20>; - type ItemAttributesApprovalsLimit = ConstU32<30>; - type MaxTips = ConstU32<10>; - type MaxDeadlineDuration = NftsMaxDeadlineDuration; - type MaxAttributesPerCall = ConstU32<10>; - type Features = NftsPalletFeatures; - type OffchainSignature = Signature; - type OffchainPublic = ::Signer; - type WeightInfo = weights::pallet_nfts::WeightInfo; -} -#[doc(hidden)] -mod sp_api_hidden_includes_construct_runtime { - pub use frame_support as hidden_include; -} -const _: () = { - #[allow(unused)] - type __hidden_use_of_unchecked_extrinsic = <::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic; -}; -pub struct Runtime; -#[automatically_derived] -impl ::core::clone::Clone for Runtime { - #[inline] - fn clone(&self) -> Runtime { - *self - } -} -#[automatically_derived] -impl ::core::marker::Copy for Runtime {} -#[automatically_derived] -impl ::core::marker::StructuralPartialEq for Runtime {} -#[automatically_derived] -impl ::core::cmp::PartialEq for Runtime { - #[inline] - fn eq(&self, other: &Runtime) -> bool { - true - } -} -#[automatically_derived] -impl ::core::marker::StructuralEq for Runtime {} -#[automatically_derived] -impl ::core::cmp::Eq for Runtime { - #[inline] - #[doc(hidden)] - #[coverage(off)] - fn assert_receiver_is_total_eq(&self) -> () {} -} -impl core::fmt::Debug for Runtime { - fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { - fmt.debug_tuple("Runtime").finish() - } -} -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - impl ::scale_info::TypeInfo for Runtime { - type Identity = Self; - fn type_info() -> ::scale_info::Type { - ::scale_info::Type::builder() - .path(::scale_info::Path::new("Runtime", "asset_hub_kusama_runtime")) - .type_params(::alloc::vec::Vec::new()) - .composite(::scale_info::build::Fields::unit()) - } - } -}; -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::GetRuntimeBlockType -for Runtime { - type RuntimeBlock = ::Block; -} -#[doc(hidden)] -trait InternalConstructRuntime { - #[inline(always)] - fn runtime_metadata( - &self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::vec::Vec< - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::RuntimeApiMetadataIR, - > { - Default::default() - } -} -#[doc(hidden)] -impl InternalConstructRuntime for &Runtime {} -#[allow(non_camel_case_types)] -pub enum RuntimeEvent { - #[codec(index = 0u8)] - System(frame_system::Event), - #[codec(index = 1u8)] - ParachainSystem(cumulus_pallet_parachain_system::Event), - #[codec(index = 10u8)] - Balances(pallet_balances::Event), - #[codec(index = 11u8)] - TransactionPayment(pallet_transaction_payment::Event), - #[codec(index = 13u8)] - AssetTxPayment(pallet_asset_conversion_tx_payment::Event), - #[codec(index = 21u8)] - CollatorSelection(pallet_collator_selection::Event), - #[codec(index = 22u8)] - Session(pallet_session::Event), - #[codec(index = 30u8)] - XcmpQueue(cumulus_pallet_xcmp_queue::Event), - #[codec(index = 31u8)] - PolkadotXcm(pallet_xcm::Event), - #[codec(index = 32u8)] - CumulusXcm(cumulus_pallet_xcm::Event), - #[codec(index = 33u8)] - DmpQueue(cumulus_pallet_dmp_queue::Event), - #[codec(index = 40u8)] - Utility(pallet_utility::Event), - #[codec(index = 41u8)] - Multisig(pallet_multisig::Event), - #[codec(index = 42u8)] - Proxy(pallet_proxy::Event), - #[codec(index = 50u8)] - Assets(pallet_assets::Event), - #[codec(index = 51u8)] - Uniques(pallet_uniques::Event), - #[codec(index = 52u8)] - Nfts(pallet_nfts::Event), - #[codec(index = 53u8)] - ForeignAssets(pallet_assets::Event), - #[codec(index = 54u8)] - NftFractionalization(pallet_nft_fractionalization::Event), - #[codec(index = 55u8)] - PoolAssets(pallet_assets::Event), - #[codec(index = 56u8)] - AssetConversion(pallet_asset_conversion::Event), -} -#[automatically_derived] -#[allow(non_camel_case_types)] -impl ::core::clone::Clone for RuntimeEvent { - #[inline] - fn clone(&self) -> RuntimeEvent { - match self { - RuntimeEvent::System(__self_0) => { - RuntimeEvent::System(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::ParachainSystem(__self_0) => { - RuntimeEvent::ParachainSystem(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::Balances(__self_0) => { - RuntimeEvent::Balances(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::TransactionPayment(__self_0) => { - RuntimeEvent::TransactionPayment(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::AssetTxPayment(__self_0) => { - RuntimeEvent::AssetTxPayment(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::CollatorSelection(__self_0) => { - RuntimeEvent::CollatorSelection(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::Session(__self_0) => { - RuntimeEvent::Session(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::XcmpQueue(__self_0) => { - RuntimeEvent::XcmpQueue(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::PolkadotXcm(__self_0) => { - RuntimeEvent::PolkadotXcm(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::CumulusXcm(__self_0) => { - RuntimeEvent::CumulusXcm(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::DmpQueue(__self_0) => { - RuntimeEvent::DmpQueue(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::Utility(__self_0) => { - RuntimeEvent::Utility(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::Multisig(__self_0) => { - RuntimeEvent::Multisig(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::Proxy(__self_0) => { - RuntimeEvent::Proxy(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::Assets(__self_0) => { - RuntimeEvent::Assets(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::Uniques(__self_0) => { - RuntimeEvent::Uniques(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::Nfts(__self_0) => { - RuntimeEvent::Nfts(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::ForeignAssets(__self_0) => { - RuntimeEvent::ForeignAssets(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::NftFractionalization(__self_0) => { - RuntimeEvent::NftFractionalization(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::PoolAssets(__self_0) => { - RuntimeEvent::PoolAssets(::core::clone::Clone::clone(__self_0)) - } - RuntimeEvent::AssetConversion(__self_0) => { - RuntimeEvent::AssetConversion(::core::clone::Clone::clone(__self_0)) - } - } - } -} -#[automatically_derived] -#[allow(non_camel_case_types)] -impl ::core::marker::StructuralPartialEq for RuntimeEvent {} -#[automatically_derived] -#[allow(non_camel_case_types)] -impl ::core::cmp::PartialEq for RuntimeEvent { - #[inline] - fn eq(&self, other: &RuntimeEvent) -> bool { - let __self_tag = ::core::intrinsics::discriminant_value(self); - let __arg1_tag = ::core::intrinsics::discriminant_value(other); - __self_tag == __arg1_tag - && match (self, other) { - (RuntimeEvent::System(__self_0), RuntimeEvent::System(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - ( - RuntimeEvent::ParachainSystem(__self_0), - RuntimeEvent::ParachainSystem(__arg1_0), - ) => *__self_0 == *__arg1_0, - (RuntimeEvent::Balances(__self_0), RuntimeEvent::Balances(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - ( - RuntimeEvent::TransactionPayment(__self_0), - RuntimeEvent::TransactionPayment(__arg1_0), - ) => *__self_0 == *__arg1_0, - ( - RuntimeEvent::AssetTxPayment(__self_0), - RuntimeEvent::AssetTxPayment(__arg1_0), - ) => *__self_0 == *__arg1_0, - ( - RuntimeEvent::CollatorSelection(__self_0), - RuntimeEvent::CollatorSelection(__arg1_0), - ) => *__self_0 == *__arg1_0, - (RuntimeEvent::Session(__self_0), RuntimeEvent::Session(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - ( - RuntimeEvent::XcmpQueue(__self_0), - RuntimeEvent::XcmpQueue(__arg1_0), - ) => *__self_0 == *__arg1_0, - ( - RuntimeEvent::PolkadotXcm(__self_0), - RuntimeEvent::PolkadotXcm(__arg1_0), - ) => *__self_0 == *__arg1_0, - ( - RuntimeEvent::CumulusXcm(__self_0), - RuntimeEvent::CumulusXcm(__arg1_0), - ) => *__self_0 == *__arg1_0, - (RuntimeEvent::DmpQueue(__self_0), RuntimeEvent::DmpQueue(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeEvent::Utility(__self_0), RuntimeEvent::Utility(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeEvent::Multisig(__self_0), RuntimeEvent::Multisig(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeEvent::Proxy(__self_0), RuntimeEvent::Proxy(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeEvent::Assets(__self_0), RuntimeEvent::Assets(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeEvent::Uniques(__self_0), RuntimeEvent::Uniques(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeEvent::Nfts(__self_0), RuntimeEvent::Nfts(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - ( - RuntimeEvent::ForeignAssets(__self_0), - RuntimeEvent::ForeignAssets(__arg1_0), - ) => *__self_0 == *__arg1_0, - ( - RuntimeEvent::NftFractionalization(__self_0), - RuntimeEvent::NftFractionalization(__arg1_0), - ) => *__self_0 == *__arg1_0, - ( - RuntimeEvent::PoolAssets(__self_0), - RuntimeEvent::PoolAssets(__arg1_0), - ) => *__self_0 == *__arg1_0, - ( - RuntimeEvent::AssetConversion(__self_0), - RuntimeEvent::AssetConversion(__arg1_0), - ) => *__self_0 == *__arg1_0, - _ => unsafe { ::core::intrinsics::unreachable() } - } - } -} -#[automatically_derived] -#[allow(non_camel_case_types)] -impl ::core::marker::StructuralEq for RuntimeEvent {} -#[automatically_derived] -#[allow(non_camel_case_types)] -impl ::core::cmp::Eq for RuntimeEvent { - #[inline] - #[doc(hidden)] - #[coverage(off)] - fn assert_receiver_is_total_eq(&self) -> () { - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq< - cumulus_pallet_parachain_system::Event, - >; - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq< - pallet_asset_conversion_tx_payment::Event, - >; - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq; - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq; - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq< - pallet_assets::Event, - >; - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq< - pallet_assets::Event, - >; - let _: ::core::cmp::AssertParamIsEq< - pallet_nft_fractionalization::Event, - >; - let _: ::core::cmp::AssertParamIsEq< - pallet_assets::Event, - >; - let _: ::core::cmp::AssertParamIsEq>; - } -} -#[allow(deprecated)] -const _: () = { - #[allow(non_camel_case_types)] - #[automatically_derived] - impl ::codec::Encode for RuntimeEvent { - fn size_hint(&self) -> usize { - 1_usize - + match *self { - RuntimeEvent::System(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::ParachainSystem(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::Balances(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::TransactionPayment(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::AssetTxPayment(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::CollatorSelection(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::Session(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::XcmpQueue(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::PolkadotXcm(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::CumulusXcm(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::DmpQueue(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::Utility(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::Multisig(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::Proxy(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::Assets(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::Uniques(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::Nfts(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::ForeignAssets(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::NftFractionalization(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::PoolAssets(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeEvent::AssetConversion(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - _ => 0_usize, - } - } - fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( - &self, - __codec_dest_edqy: &mut __CodecOutputEdqy, - ) { - match *self { - RuntimeEvent::System(ref aa) => { - __codec_dest_edqy.push_byte(0u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::ParachainSystem(ref aa) => { - __codec_dest_edqy.push_byte(1u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::Balances(ref aa) => { - __codec_dest_edqy.push_byte(10u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::TransactionPayment(ref aa) => { - __codec_dest_edqy.push_byte(11u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::AssetTxPayment(ref aa) => { - __codec_dest_edqy.push_byte(13u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::CollatorSelection(ref aa) => { - __codec_dest_edqy.push_byte(21u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::Session(ref aa) => { - __codec_dest_edqy.push_byte(22u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::XcmpQueue(ref aa) => { - __codec_dest_edqy.push_byte(30u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::PolkadotXcm(ref aa) => { - __codec_dest_edqy.push_byte(31u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::CumulusXcm(ref aa) => { - __codec_dest_edqy.push_byte(32u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::DmpQueue(ref aa) => { - __codec_dest_edqy.push_byte(33u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::Utility(ref aa) => { - __codec_dest_edqy.push_byte(40u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::Multisig(ref aa) => { - __codec_dest_edqy.push_byte(41u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::Proxy(ref aa) => { - __codec_dest_edqy.push_byte(42u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::Assets(ref aa) => { - __codec_dest_edqy.push_byte(50u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::Uniques(ref aa) => { - __codec_dest_edqy.push_byte(51u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::Nfts(ref aa) => { - __codec_dest_edqy.push_byte(52u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::ForeignAssets(ref aa) => { - __codec_dest_edqy.push_byte(53u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::NftFractionalization(ref aa) => { - __codec_dest_edqy.push_byte(54u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::PoolAssets(ref aa) => { - __codec_dest_edqy.push_byte(55u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeEvent::AssetConversion(ref aa) => { - __codec_dest_edqy.push_byte(56u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - _ => {} - } - } - } - #[automatically_derived] - impl ::codec::EncodeLike for RuntimeEvent {} -}; -#[allow(deprecated)] -const _: () = { - #[allow(non_camel_case_types)] - #[automatically_derived] - impl ::codec::Decode for RuntimeEvent { - fn decode<__CodecInputEdqy: ::codec::Input>( - __codec_input_edqy: &mut __CodecInputEdqy, - ) -> ::core::result::Result { - match __codec_input_edqy - .read_byte() - .map_err(|e| { - e - .chain( - "Could not decode `RuntimeEvent`, failed to read variant byte", - ) - })? - { - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 0u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::System({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::System.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 1u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::ParachainSystem({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain("Could not decode `RuntimeEvent::ParachainSystem.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 10u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::Balances({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::Balances.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 11u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::TransactionPayment({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain( - "Could not decode `RuntimeEvent::TransactionPayment.0`", - ), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 13u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::AssetTxPayment({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::AssetTxPayment.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 21u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::CollatorSelection({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain( - "Could not decode `RuntimeEvent::CollatorSelection.0`", - ), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 22u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::Session({ - let __codec_res_edqy = ::decode( - __codec_input_edqy, - ); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::Session.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 30u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::XcmpQueue({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::XcmpQueue.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 31u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::PolkadotXcm({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::PolkadotXcm.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 32u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::CumulusXcm({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::CumulusXcm.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 33u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::DmpQueue({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::DmpQueue.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 40u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::Utility({ - let __codec_res_edqy = ::decode( - __codec_input_edqy, - ); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::Utility.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 41u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::Multisig({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::Multisig.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 42u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::Proxy({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::Proxy.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 50u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::Assets({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::Assets.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 51u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::Uniques({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::Uniques.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 52u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::Nfts({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::Nfts.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 53u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::ForeignAssets({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::ForeignAssets.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 54u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::NftFractionalization({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain( - "Could not decode `RuntimeEvent::NftFractionalization.0`", - ), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 55u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::PoolAssets({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeEvent::PoolAssets.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 56u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeEvent::AssetConversion({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain("Could not decode `RuntimeEvent::AssetConversion.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - _ => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Err( - <_ as ::core::convert::Into< - _, - >>::into( - "Could not decode `RuntimeEvent`, variant doesn't exist", - ), - ) - })(); - } - } - } - } -}; -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - impl ::scale_info::TypeInfo for RuntimeEvent { - type Identity = Self; - fn type_info() -> ::scale_info::Type { - ::scale_info::Type::builder() - .path( - ::scale_info::Path::new("RuntimeEvent", "asset_hub_kusama_runtime"), - ) - .type_params(::alloc::vec::Vec::new()) - .variant( - ::scale_info::build::Variants::new() - .variant( - "System", - |v| { - v - .index(0u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("frame_system::Event") - }), - ) - }, - ) - .variant( - "ParachainSystem", - |v| { - v - .index(1u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name( - "cumulus_pallet_parachain_system::Event", - ) - }), - ) - }, - ) - .variant( - "Balances", - |v| { - v - .index(10u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_balances::Event") - }), - ) - }, - ) - .variant( - "TransactionPayment", - |v| { - v - .index(11u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_transaction_payment::Event") - }), - ) - }, - ) - .variant( - "AssetTxPayment", - |v| { - v - .index(13u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name( - "pallet_asset_conversion_tx_payment::Event", - ) - }), - ) - }, - ) - .variant( - "CollatorSelection", - |v| { - v - .index(21u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_collator_selection::Event") - }), - ) - }, - ) - .variant( - "Session", - |v| { - v - .index(22u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::() - .type_name("pallet_session::Event") - }), - ) - }, - ) - .variant( - "XcmpQueue", - |v| { - v - .index(30u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("cumulus_pallet_xcmp_queue::Event") - }), - ) - }, - ) - .variant( - "PolkadotXcm", - |v| { - v - .index(31u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_xcm::Event") - }), - ) - }, - ) - .variant( - "CumulusXcm", - |v| { - v - .index(32u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("cumulus_pallet_xcm::Event") - }), - ) - }, - ) - .variant( - "DmpQueue", - |v| { - v - .index(33u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("cumulus_pallet_dmp_queue::Event") - }), - ) - }, - ) - .variant( - "Utility", - |v| { - v - .index(40u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::() - .type_name("pallet_utility::Event") - }), - ) - }, - ) - .variant( - "Multisig", - |v| { - v - .index(41u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_multisig::Event") - }), - ) - }, - ) - .variant( - "Proxy", - |v| { - v - .index(42u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_proxy::Event") - }), - ) - }, - ) - .variant( - "Assets", - |v| { - v - .index(50u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - pallet_assets::Event, - >() - .type_name( - "pallet_assets::Event", - ) - }), - ) - }, - ) - .variant( - "Uniques", - |v| { - v - .index(51u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_uniques::Event") - }), - ) - }, - ) - .variant( - "Nfts", - |v| { - v - .index(52u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_nfts::Event") - }), - ) - }, - ) - .variant( - "ForeignAssets", - |v| { - v - .index(53u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - pallet_assets::Event, - >() - .type_name( - "pallet_assets::Event", - ) - }), - ) - }, - ) - .variant( - "NftFractionalization", - |v| { - v - .index(54u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_nft_fractionalization::Event") - }), - ) - }, - ) - .variant( - "PoolAssets", - |v| { - v - .index(55u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - pallet_assets::Event, - >() - .type_name( - "pallet_assets::Event", - ) - }), - ) - }, - ) - .variant( - "AssetConversion", - |v| { - v - .index(56u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_asset_conversion::Event") - }), - ) - }, - ), - ) - } - } -}; -impl core::fmt::Debug for RuntimeEvent { - fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { - match self { - Self::System(ref a0) => { - fmt.debug_tuple("RuntimeEvent::System").field(a0).finish() - } - Self::ParachainSystem(ref a0) => { - fmt.debug_tuple("RuntimeEvent::ParachainSystem").field(a0).finish() - } - Self::Balances(ref a0) => { - fmt.debug_tuple("RuntimeEvent::Balances").field(a0).finish() - } - Self::TransactionPayment(ref a0) => { - fmt.debug_tuple("RuntimeEvent::TransactionPayment").field(a0).finish() - } - Self::AssetTxPayment(ref a0) => { - fmt.debug_tuple("RuntimeEvent::AssetTxPayment").field(a0).finish() - } - Self::CollatorSelection(ref a0) => { - fmt.debug_tuple("RuntimeEvent::CollatorSelection").field(a0).finish() - } - Self::Session(ref a0) => { - fmt.debug_tuple("RuntimeEvent::Session").field(a0).finish() - } - Self::XcmpQueue(ref a0) => { - fmt.debug_tuple("RuntimeEvent::XcmpQueue").field(a0).finish() - } - Self::PolkadotXcm(ref a0) => { - fmt.debug_tuple("RuntimeEvent::PolkadotXcm").field(a0).finish() - } - Self::CumulusXcm(ref a0) => { - fmt.debug_tuple("RuntimeEvent::CumulusXcm").field(a0).finish() - } - Self::DmpQueue(ref a0) => { - fmt.debug_tuple("RuntimeEvent::DmpQueue").field(a0).finish() - } - Self::Utility(ref a0) => { - fmt.debug_tuple("RuntimeEvent::Utility").field(a0).finish() - } - Self::Multisig(ref a0) => { - fmt.debug_tuple("RuntimeEvent::Multisig").field(a0).finish() - } - Self::Proxy(ref a0) => { - fmt.debug_tuple("RuntimeEvent::Proxy").field(a0).finish() - } - Self::Assets(ref a0) => { - fmt.debug_tuple("RuntimeEvent::Assets").field(a0).finish() - } - Self::Uniques(ref a0) => { - fmt.debug_tuple("RuntimeEvent::Uniques").field(a0).finish() - } - Self::Nfts(ref a0) => { - fmt.debug_tuple("RuntimeEvent::Nfts").field(a0).finish() - } - Self::ForeignAssets(ref a0) => { - fmt.debug_tuple("RuntimeEvent::ForeignAssets").field(a0).finish() - } - Self::NftFractionalization(ref a0) => { - fmt.debug_tuple("RuntimeEvent::NftFractionalization").field(a0).finish() - } - Self::PoolAssets(ref a0) => { - fmt.debug_tuple("RuntimeEvent::PoolAssets").field(a0).finish() - } - Self::AssetConversion(ref a0) => { - fmt.debug_tuple("RuntimeEvent::AssetConversion").field(a0).finish() - } - _ => Ok(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: frame_system::Event) -> Self { - RuntimeEvent::System(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - frame_system::Event, - Self::Error, - > { - match self { - Self::System(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: cumulus_pallet_parachain_system::Event) -> Self { - RuntimeEvent::ParachainSystem(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - cumulus_pallet_parachain_system::Event, - Self::Error, - > { - match self { - Self::ParachainSystem(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_balances::Event) -> Self { - RuntimeEvent::Balances(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_balances::Event, - Self::Error, - > { - match self { - Self::Balances(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_transaction_payment::Event) -> Self { - RuntimeEvent::TransactionPayment(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_transaction_payment::Event, - Self::Error, - > { - match self { - Self::TransactionPayment(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_asset_conversion_tx_payment::Event) -> Self { - RuntimeEvent::AssetTxPayment(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_asset_conversion_tx_payment::Event, - Self::Error, - > { - match self { - Self::AssetTxPayment(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_collator_selection::Event) -> Self { - RuntimeEvent::CollatorSelection(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_collator_selection::Event, - Self::Error, - > { - match self { - Self::CollatorSelection(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From for RuntimeEvent { - fn from(x: pallet_session::Event) -> Self { - RuntimeEvent::Session(x) - } -} -impl TryInto for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_session::Event, - Self::Error, - > { - match self { - Self::Session(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: cumulus_pallet_xcmp_queue::Event) -> Self { - RuntimeEvent::XcmpQueue(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - cumulus_pallet_xcmp_queue::Event, - Self::Error, - > { - match self { - Self::XcmpQueue(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_xcm::Event) -> Self { - RuntimeEvent::PolkadotXcm(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_xcm::Event, - Self::Error, - > { - match self { - Self::PolkadotXcm(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: cumulus_pallet_xcm::Event) -> Self { - RuntimeEvent::CumulusXcm(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - cumulus_pallet_xcm::Event, - Self::Error, - > { - match self { - Self::CumulusXcm(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: cumulus_pallet_dmp_queue::Event) -> Self { - RuntimeEvent::DmpQueue(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - cumulus_pallet_dmp_queue::Event, - Self::Error, - > { - match self { - Self::DmpQueue(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From for RuntimeEvent { - fn from(x: pallet_utility::Event) -> Self { - RuntimeEvent::Utility(x) - } -} -impl TryInto for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_utility::Event, - Self::Error, - > { - match self { - Self::Utility(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_multisig::Event) -> Self { - RuntimeEvent::Multisig(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_multisig::Event, - Self::Error, - > { - match self { - Self::Multisig(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_proxy::Event) -> Self { - RuntimeEvent::Proxy(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_proxy::Event, - Self::Error, - > { - match self { - Self::Proxy(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_assets::Event) -> Self { - RuntimeEvent::Assets(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_assets::Event, - Self::Error, - > { - match self { - Self::Assets(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_uniques::Event) -> Self { - RuntimeEvent::Uniques(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_uniques::Event, - Self::Error, - > { - match self { - Self::Uniques(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_nfts::Event) -> Self { - RuntimeEvent::Nfts(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_nfts::Event, - Self::Error, - > { - match self { - Self::Nfts(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_assets::Event) -> Self { - RuntimeEvent::ForeignAssets(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_assets::Event, - Self::Error, - > { - match self { - Self::ForeignAssets(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_nft_fractionalization::Event) -> Self { - RuntimeEvent::NftFractionalization(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_nft_fractionalization::Event, - Self::Error, - > { - match self { - Self::NftFractionalization(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_assets::Event) -> Self { - RuntimeEvent::PoolAssets(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_assets::Event, - Self::Error, - > { - match self { - Self::PoolAssets(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeEvent { - fn from(x: pallet_asset_conversion::Event) -> Self { - RuntimeEvent::AssetConversion(x) - } -} -impl TryInto> for RuntimeEvent { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_asset_conversion::Event, - Self::Error, - > { - match self { - Self::AssetConversion(evt) => Ok(evt), - _ => Err(()), - } - } -} -#[allow(non_camel_case_types)] -pub enum RuntimeError { - #[codec(index = 0u8)] - System(frame_system::Error), - #[codec(index = 1u8)] - ParachainSystem(cumulus_pallet_parachain_system::Error), - #[codec(index = 10u8)] - Balances(pallet_balances::Error), - #[codec(index = 21u8)] - CollatorSelection(pallet_collator_selection::Error), - #[codec(index = 22u8)] - Session(pallet_session::Error), - #[codec(index = 30u8)] - XcmpQueue(cumulus_pallet_xcmp_queue::Error), - #[codec(index = 31u8)] - PolkadotXcm(pallet_xcm::Error), - #[codec(index = 32u8)] - CumulusXcm(cumulus_pallet_xcm::Error), - #[codec(index = 33u8)] - DmpQueue(cumulus_pallet_dmp_queue::Error), - #[codec(index = 40u8)] - Utility(pallet_utility::Error), - #[codec(index = 41u8)] - Multisig(pallet_multisig::Error), - #[codec(index = 42u8)] - Proxy(pallet_proxy::Error), - #[codec(index = 50u8)] - Assets(pallet_assets::Error), - #[codec(index = 51u8)] - Uniques(pallet_uniques::Error), - #[codec(index = 52u8)] - Nfts(pallet_nfts::Error), - #[codec(index = 53u8)] - ForeignAssets(pallet_assets::Error), - #[codec(index = 54u8)] - NftFractionalization(pallet_nft_fractionalization::Error), - #[codec(index = 55u8)] - PoolAssets(pallet_assets::Error), - #[codec(index = 56u8)] - AssetConversion(pallet_asset_conversion::Error), -} -#[allow(deprecated)] -const _: () = { - #[allow(non_camel_case_types)] - #[automatically_derived] - impl ::codec::Encode for RuntimeError { - fn size_hint(&self) -> usize { - 1_usize - + match *self { - RuntimeError::System(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::ParachainSystem(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::Balances(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::CollatorSelection(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::Session(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::XcmpQueue(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::PolkadotXcm(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::CumulusXcm(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::DmpQueue(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::Utility(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::Multisig(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::Proxy(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::Assets(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::Uniques(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::Nfts(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::ForeignAssets(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::NftFractionalization(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::PoolAssets(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeError::AssetConversion(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - _ => 0_usize, - } - } - fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( - &self, - __codec_dest_edqy: &mut __CodecOutputEdqy, - ) { - match *self { - RuntimeError::System(ref aa) => { - __codec_dest_edqy.push_byte(0u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::ParachainSystem(ref aa) => { - __codec_dest_edqy.push_byte(1u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::Balances(ref aa) => { - __codec_dest_edqy.push_byte(10u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::CollatorSelection(ref aa) => { - __codec_dest_edqy.push_byte(21u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::Session(ref aa) => { - __codec_dest_edqy.push_byte(22u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::XcmpQueue(ref aa) => { - __codec_dest_edqy.push_byte(30u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::PolkadotXcm(ref aa) => { - __codec_dest_edqy.push_byte(31u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::CumulusXcm(ref aa) => { - __codec_dest_edqy.push_byte(32u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::DmpQueue(ref aa) => { - __codec_dest_edqy.push_byte(33u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::Utility(ref aa) => { - __codec_dest_edqy.push_byte(40u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::Multisig(ref aa) => { - __codec_dest_edqy.push_byte(41u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::Proxy(ref aa) => { - __codec_dest_edqy.push_byte(42u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::Assets(ref aa) => { - __codec_dest_edqy.push_byte(50u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::Uniques(ref aa) => { - __codec_dest_edqy.push_byte(51u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::Nfts(ref aa) => { - __codec_dest_edqy.push_byte(52u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::ForeignAssets(ref aa) => { - __codec_dest_edqy.push_byte(53u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::NftFractionalization(ref aa) => { - __codec_dest_edqy.push_byte(54u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::PoolAssets(ref aa) => { - __codec_dest_edqy.push_byte(55u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeError::AssetConversion(ref aa) => { - __codec_dest_edqy.push_byte(56u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - _ => {} - } - } - } - #[automatically_derived] - impl ::codec::EncodeLike for RuntimeError {} -}; -#[allow(deprecated)] -const _: () = { - #[allow(non_camel_case_types)] - #[automatically_derived] - impl ::codec::Decode for RuntimeError { - fn decode<__CodecInputEdqy: ::codec::Input>( - __codec_input_edqy: &mut __CodecInputEdqy, - ) -> ::core::result::Result { - match __codec_input_edqy - .read_byte() - .map_err(|e| { - e - .chain( - "Could not decode `RuntimeError`, failed to read variant byte", - ) - })? - { - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 0u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::System({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::System.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 1u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::ParachainSystem({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain("Could not decode `RuntimeError::ParachainSystem.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 10u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::Balances({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::Balances.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 21u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::CollatorSelection({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain( - "Could not decode `RuntimeError::CollatorSelection.0`", - ), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 22u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::Session({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::Session.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 30u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::XcmpQueue({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::XcmpQueue.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 31u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::PolkadotXcm({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::PolkadotXcm.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 32u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::CumulusXcm({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::CumulusXcm.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 33u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::DmpQueue({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::DmpQueue.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 40u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::Utility({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::Utility.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 41u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::Multisig({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::Multisig.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 42u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::Proxy({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::Proxy.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 50u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::Assets({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::Assets.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 51u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::Uniques({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::Uniques.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 52u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::Nfts({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::Nfts.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 53u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::ForeignAssets({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::ForeignAssets.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 54u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::NftFractionalization({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain( - "Could not decode `RuntimeError::NftFractionalization.0`", - ), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 55u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::PoolAssets({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeError::PoolAssets.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 56u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeError::AssetConversion({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain("Could not decode `RuntimeError::AssetConversion.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - _ => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Err( - <_ as ::core::convert::Into< - _, - >>::into( - "Could not decode `RuntimeError`, variant doesn't exist", - ), - ) - })(); - } - } - } - } -}; -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - impl ::scale_info::TypeInfo for RuntimeError { - type Identity = Self; - fn type_info() -> ::scale_info::Type { - ::scale_info::Type::builder() - .path( - ::scale_info::Path::new("RuntimeError", "asset_hub_kusama_runtime"), - ) - .type_params(::alloc::vec::Vec::new()) - .variant( - ::scale_info::build::Variants::new() - .variant( - "System", - |v| { - v - .index(0u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("frame_system::Error") - }), - ) - }, - ) - .variant( - "ParachainSystem", - |v| { - v - .index(1u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name( - "cumulus_pallet_parachain_system::Error", - ) - }), - ) - }, - ) - .variant( - "Balances", - |v| { - v - .index(10u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_balances::Error") - }), - ) - }, - ) - .variant( - "CollatorSelection", - |v| { - v - .index(21u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_collator_selection::Error") - }), - ) - }, - ) - .variant( - "Session", - |v| { - v - .index(22u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_session::Error") - }), - ) - }, - ) - .variant( - "XcmpQueue", - |v| { - v - .index(30u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("cumulus_pallet_xcmp_queue::Error") - }), - ) - }, - ) - .variant( - "PolkadotXcm", - |v| { - v - .index(31u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_xcm::Error") - }), - ) - }, - ) - .variant( - "CumulusXcm", - |v| { - v - .index(32u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("cumulus_pallet_xcm::Error") - }), - ) - }, - ) - .variant( - "DmpQueue", - |v| { - v - .index(33u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("cumulus_pallet_dmp_queue::Error") - }), - ) - }, - ) - .variant( - "Utility", - |v| { - v - .index(40u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_utility::Error") - }), - ) - }, - ) - .variant( - "Multisig", - |v| { - v - .index(41u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_multisig::Error") - }), - ) - }, - ) - .variant( - "Proxy", - |v| { - v - .index(42u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_proxy::Error") - }), - ) - }, - ) - .variant( - "Assets", - |v| { - v - .index(50u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - pallet_assets::Error, - >() - .type_name( - "pallet_assets::Error", - ) - }), - ) - }, - ) - .variant( - "Uniques", - |v| { - v - .index(51u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_uniques::Error") - }), - ) - }, - ) - .variant( - "Nfts", - |v| { - v - .index(52u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_nfts::Error") - }), - ) - }, - ) - .variant( - "ForeignAssets", - |v| { - v - .index(53u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - pallet_assets::Error, - >() - .type_name( - "pallet_assets::Error", - ) - }), - ) - }, - ) - .variant( - "NftFractionalization", - |v| { - v - .index(54u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_nft_fractionalization::Error") - }), - ) - }, - ) - .variant( - "PoolAssets", - |v| { - v - .index(55u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - pallet_assets::Error, - >() - .type_name( - "pallet_assets::Error", - ) - }), - ) - }, - ) - .variant( - "AssetConversion", - |v| { - v - .index(56u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("pallet_asset_conversion::Error") - }), - ) - }, - ), - ) - } - } -}; -impl core::fmt::Debug for RuntimeError { - fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { - match self { - Self::System(ref a0) => { - fmt.debug_tuple("RuntimeError::System").field(a0).finish() - } - Self::ParachainSystem(ref a0) => { - fmt.debug_tuple("RuntimeError::ParachainSystem").field(a0).finish() - } - Self::Balances(ref a0) => { - fmt.debug_tuple("RuntimeError::Balances").field(a0).finish() - } - Self::CollatorSelection(ref a0) => { - fmt.debug_tuple("RuntimeError::CollatorSelection").field(a0).finish() - } - Self::Session(ref a0) => { - fmt.debug_tuple("RuntimeError::Session").field(a0).finish() - } - Self::XcmpQueue(ref a0) => { - fmt.debug_tuple("RuntimeError::XcmpQueue").field(a0).finish() - } - Self::PolkadotXcm(ref a0) => { - fmt.debug_tuple("RuntimeError::PolkadotXcm").field(a0).finish() - } - Self::CumulusXcm(ref a0) => { - fmt.debug_tuple("RuntimeError::CumulusXcm").field(a0).finish() - } - Self::DmpQueue(ref a0) => { - fmt.debug_tuple("RuntimeError::DmpQueue").field(a0).finish() - } - Self::Utility(ref a0) => { - fmt.debug_tuple("RuntimeError::Utility").field(a0).finish() - } - Self::Multisig(ref a0) => { - fmt.debug_tuple("RuntimeError::Multisig").field(a0).finish() - } - Self::Proxy(ref a0) => { - fmt.debug_tuple("RuntimeError::Proxy").field(a0).finish() - } - Self::Assets(ref a0) => { - fmt.debug_tuple("RuntimeError::Assets").field(a0).finish() - } - Self::Uniques(ref a0) => { - fmt.debug_tuple("RuntimeError::Uniques").field(a0).finish() - } - Self::Nfts(ref a0) => { - fmt.debug_tuple("RuntimeError::Nfts").field(a0).finish() - } - Self::ForeignAssets(ref a0) => { - fmt.debug_tuple("RuntimeError::ForeignAssets").field(a0).finish() - } - Self::NftFractionalization(ref a0) => { - fmt.debug_tuple("RuntimeError::NftFractionalization").field(a0).finish() - } - Self::PoolAssets(ref a0) => { - fmt.debug_tuple("RuntimeError::PoolAssets").field(a0).finish() - } - Self::AssetConversion(ref a0) => { - fmt.debug_tuple("RuntimeError::AssetConversion").field(a0).finish() - } - _ => Ok(()), - } - } -} -impl From> for RuntimeError { - fn from(x: frame_system::Error) -> Self { - RuntimeError::System(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - frame_system::Error, - Self::Error, - > { - match self { - Self::System(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: cumulus_pallet_parachain_system::Error) -> Self { - RuntimeError::ParachainSystem(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - cumulus_pallet_parachain_system::Error, - Self::Error, - > { - match self { - Self::ParachainSystem(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_balances::Error) -> Self { - RuntimeError::Balances(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_balances::Error, - Self::Error, - > { - match self { - Self::Balances(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_collator_selection::Error) -> Self { - RuntimeError::CollatorSelection(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_collator_selection::Error, - Self::Error, - > { - match self { - Self::CollatorSelection(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_session::Error) -> Self { - RuntimeError::Session(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_session::Error, - Self::Error, - > { - match self { - Self::Session(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: cumulus_pallet_xcmp_queue::Error) -> Self { - RuntimeError::XcmpQueue(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - cumulus_pallet_xcmp_queue::Error, - Self::Error, - > { - match self { - Self::XcmpQueue(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_xcm::Error) -> Self { - RuntimeError::PolkadotXcm(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_xcm::Error, - Self::Error, - > { - match self { - Self::PolkadotXcm(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: cumulus_pallet_xcm::Error) -> Self { - RuntimeError::CumulusXcm(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - cumulus_pallet_xcm::Error, - Self::Error, - > { - match self { - Self::CumulusXcm(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: cumulus_pallet_dmp_queue::Error) -> Self { - RuntimeError::DmpQueue(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - cumulus_pallet_dmp_queue::Error, - Self::Error, - > { - match self { - Self::DmpQueue(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_utility::Error) -> Self { - RuntimeError::Utility(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_utility::Error, - Self::Error, - > { - match self { - Self::Utility(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_multisig::Error) -> Self { - RuntimeError::Multisig(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_multisig::Error, - Self::Error, - > { - match self { - Self::Multisig(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_proxy::Error) -> Self { - RuntimeError::Proxy(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_proxy::Error, - Self::Error, - > { - match self { - Self::Proxy(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_assets::Error) -> Self { - RuntimeError::Assets(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_assets::Error, - Self::Error, - > { - match self { - Self::Assets(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_uniques::Error) -> Self { - RuntimeError::Uniques(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_uniques::Error, - Self::Error, - > { - match self { - Self::Uniques(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_nfts::Error) -> Self { - RuntimeError::Nfts(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_nfts::Error, - Self::Error, - > { - match self { - Self::Nfts(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_assets::Error) -> Self { - RuntimeError::ForeignAssets(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_assets::Error, - Self::Error, - > { - match self { - Self::ForeignAssets(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_nft_fractionalization::Error) -> Self { - RuntimeError::NftFractionalization(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_nft_fractionalization::Error, - Self::Error, - > { - match self { - Self::NftFractionalization(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_assets::Error) -> Self { - RuntimeError::PoolAssets(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_assets::Error, - Self::Error, - > { - match self { - Self::PoolAssets(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl From> for RuntimeError { - fn from(x: pallet_asset_conversion::Error) -> Self { - RuntimeError::AssetConversion(x) - } -} -impl TryInto> for RuntimeError { - type Error = (); - fn try_into( - self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_asset_conversion::Error, - Self::Error, - > { - match self { - Self::AssetConversion(evt) => Ok(evt), - _ => Err(()), - } - } -} -impl RuntimeError { - /// Optionally convert the `DispatchError` into the `RuntimeError`. - /// - /// Returns `Some` if the error matches the `DispatchError::Module` variant, otherwise `None`. - pub fn from_dispatch_error( - err: self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::DispatchError, - ) -> Option { - let self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::DispatchError::Module( - module_error, - ) = err else { return None }; - let bytes = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::codec::Encode::encode( - &module_error, - ); - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::codec::Decode::decode( - &mut &bytes[..], - ) - .ok() - } -} -/// The runtime origin type representing the origin of a call. -/// -/// Origin is always created with the base filter configured in [`frame_system::Config::BaseCallFilter`]. -pub struct RuntimeOrigin { - caller: OriginCaller, - filter: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::rc::Rc< - Box::RuntimeCall) -> bool>, - >, -} -#[automatically_derived] -impl ::core::clone::Clone for RuntimeOrigin { - #[inline] - fn clone(&self) -> RuntimeOrigin { - RuntimeOrigin { - caller: ::core::clone::Clone::clone(&self.caller), - filter: ::core::clone::Clone::clone(&self.filter), - } - } -} -#[cfg(feature = "std")] -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::fmt::Debug -for RuntimeOrigin { - fn fmt( - &self, - fmt: &mut self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::fmt::Formatter, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - (), - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::fmt::Error, - > { - fmt.debug_struct("Origin") - .field("caller", &self.caller) - .field("filter", &"[function ptr]") - .finish() - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::OriginTrait -for RuntimeOrigin { - type Call = ::RuntimeCall; - type PalletsOrigin = OriginCaller; - type AccountId = ::AccountId; - fn add_filter(&mut self, filter: impl Fn(&Self::Call) -> bool + 'static) { - let f = self.filter.clone(); - self - .filter = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::rc::Rc::new( - Box::new(move |call| { f(call) && filter(call) }), - ); - } - fn reset_filter(&mut self) { - let filter = <::BaseCallFilter as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::Contains< - ::RuntimeCall, - >>::contains; - self - .filter = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::rc::Rc::new( - Box::new(filter), - ); - } - fn set_caller_from(&mut self, other: impl Into) { - self.caller = other.into().caller; - } - fn filter_call(&self, call: &Self::Call) -> bool { - match self.caller { - OriginCaller::system(frame_system::Origin::::Root) => true, - _ => (self.filter)(call), - } - } - fn caller(&self) -> &Self::PalletsOrigin { - &self.caller - } - fn into_caller(self) -> Self::PalletsOrigin { - self.caller - } - fn try_with_caller( - mut self, - f: impl FnOnce(Self::PalletsOrigin) -> Result, - ) -> Result { - match f(self.caller) { - Ok(r) => Ok(r), - Err(caller) => { - self.caller = caller; - Err(self) - } - } - } - fn none() -> Self { - frame_system::RawOrigin::None.into() - } - fn root() -> Self { - frame_system::RawOrigin::Root.into() - } - fn signed(by: Self::AccountId) -> Self { - frame_system::RawOrigin::Signed(by).into() - } -} -#[allow(non_camel_case_types)] -pub enum OriginCaller { - #[codec(index = 0u8)] - system(frame_system::Origin), - #[codec(index = 31u8)] - PolkadotXcm(pallet_xcm::Origin), - #[codec(index = 32u8)] - CumulusXcm(cumulus_pallet_xcm::Origin), - #[allow(dead_code)] - Void( - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::Void, - ), -} -#[automatically_derived] -#[allow(non_camel_case_types)] -impl ::core::clone::Clone for OriginCaller { - #[inline] - fn clone(&self) -> OriginCaller { - match self { - OriginCaller::system(__self_0) => { - OriginCaller::system(::core::clone::Clone::clone(__self_0)) - } - OriginCaller::PolkadotXcm(__self_0) => { - OriginCaller::PolkadotXcm(::core::clone::Clone::clone(__self_0)) - } - OriginCaller::CumulusXcm(__self_0) => { - OriginCaller::CumulusXcm(::core::clone::Clone::clone(__self_0)) - } - OriginCaller::Void(__self_0) => { - OriginCaller::Void(::core::clone::Clone::clone(__self_0)) - } - } - } -} -#[automatically_derived] -#[allow(non_camel_case_types)] -impl ::core::marker::StructuralPartialEq for OriginCaller {} -#[automatically_derived] -#[allow(non_camel_case_types)] -impl ::core::cmp::PartialEq for OriginCaller { - #[inline] - fn eq(&self, other: &OriginCaller) -> bool { - let __self_tag = ::core::intrinsics::discriminant_value(self); - let __arg1_tag = ::core::intrinsics::discriminant_value(other); - __self_tag == __arg1_tag - && match (self, other) { - (OriginCaller::system(__self_0), OriginCaller::system(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - ( - OriginCaller::PolkadotXcm(__self_0), - OriginCaller::PolkadotXcm(__arg1_0), - ) => *__self_0 == *__arg1_0, - ( - OriginCaller::CumulusXcm(__self_0), - OriginCaller::CumulusXcm(__arg1_0), - ) => *__self_0 == *__arg1_0, - (OriginCaller::Void(__self_0), OriginCaller::Void(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - _ => unsafe { ::core::intrinsics::unreachable() } - } - } -} -#[automatically_derived] -#[allow(non_camel_case_types)] -impl ::core::marker::StructuralEq for OriginCaller {} -#[automatically_derived] -#[allow(non_camel_case_types)] -impl ::core::cmp::Eq for OriginCaller { - #[inline] - #[doc(hidden)] - #[coverage(off)] - fn assert_receiver_is_total_eq(&self) -> () { - let _: ::core::cmp::AssertParamIsEq>; - let _: ::core::cmp::AssertParamIsEq; - let _: ::core::cmp::AssertParamIsEq; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::Void, - >; - } -} -impl core::fmt::Debug for OriginCaller { - fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { - match self { - Self::system(ref a0) => { - fmt.debug_tuple("OriginCaller::system").field(a0).finish() - } - Self::PolkadotXcm(ref a0) => { - fmt.debug_tuple("OriginCaller::PolkadotXcm").field(a0).finish() - } - Self::CumulusXcm(ref a0) => { - fmt.debug_tuple("OriginCaller::CumulusXcm").field(a0).finish() - } - Self::Void(ref a0) => { - fmt.debug_tuple("OriginCaller::Void").field(a0).finish() - } - _ => Ok(()), - } - } -} -#[allow(deprecated)] -const _: () = { - #[allow(non_camel_case_types)] - #[automatically_derived] - impl ::codec::Encode for OriginCaller { - fn size_hint(&self) -> usize { - 1_usize - + match *self { - OriginCaller::system(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - OriginCaller::PolkadotXcm(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - OriginCaller::CumulusXcm(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - OriginCaller::Void(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - _ => 0_usize, - } - } - fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( - &self, - __codec_dest_edqy: &mut __CodecOutputEdqy, - ) { - match *self { - OriginCaller::system(ref aa) => { - __codec_dest_edqy.push_byte(0u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - OriginCaller::PolkadotXcm(ref aa) => { - __codec_dest_edqy.push_byte(31u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - OriginCaller::CumulusXcm(ref aa) => { - __codec_dest_edqy.push_byte(32u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - OriginCaller::Void(ref aa) => { - __codec_dest_edqy.push_byte(3usize as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - _ => {} - } - } - } - #[automatically_derived] - impl ::codec::EncodeLike for OriginCaller {} -}; -#[allow(deprecated)] -const _: () = { - #[allow(non_camel_case_types)] - #[automatically_derived] - impl ::codec::Decode for OriginCaller { - fn decode<__CodecInputEdqy: ::codec::Input>( - __codec_input_edqy: &mut __CodecInputEdqy, - ) -> ::core::result::Result { - match __codec_input_edqy - .read_byte() - .map_err(|e| { - e - .chain( - "Could not decode `OriginCaller`, failed to read variant byte", - ) - })? - { - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 0u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - OriginCaller::system({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `OriginCaller::system.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 31u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - OriginCaller::PolkadotXcm({ - let __codec_res_edqy = ::decode( - __codec_input_edqy, - ); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `OriginCaller::PolkadotXcm.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 32u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - OriginCaller::CumulusXcm({ - let __codec_res_edqy = ::decode( - __codec_input_edqy, - ); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `OriginCaller::CumulusXcm.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 3usize as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - OriginCaller::Void({ - let __codec_res_edqy = ::decode( - __codec_input_edqy, - ); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `OriginCaller::Void.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - _ => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Err( - <_ as ::core::convert::Into< - _, - >>::into( - "Could not decode `OriginCaller`, variant doesn't exist", - ), - ) - })(); - } - } - } - } -}; -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - impl ::scale_info::TypeInfo for OriginCaller { - type Identity = Self; - fn type_info() -> ::scale_info::Type { - ::scale_info::Type::builder() - .path( - ::scale_info::Path::new("OriginCaller", "asset_hub_kusama_runtime"), - ) - .type_params(::alloc::vec::Vec::new()) - .variant( - ::scale_info::build::Variants::new() - .variant( - "system", - |v| { - v - .index(0u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::>() - .type_name("frame_system::Origin") - }), - ) - }, - ) - .variant( - "PolkadotXcm", - |v| { - v - .index(31u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f.ty::().type_name("pallet_xcm::Origin") - }), - ) - }, - ) - .variant( - "CumulusXcm", - |v| { - v - .index(32u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::() - .type_name("cumulus_pallet_xcm::Origin") - }), - ) - }, - ) - .variant( - "Void", - |v| { - v - .index(3usize as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::Void, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::\n__private::Void", - ) - }), - ) - }, - ), - ) - } - } -}; -const _: () = { - impl ::codec::MaxEncodedLen for OriginCaller { - fn max_encoded_len() -> ::core::primitive::usize { - 0_usize - .max( - 0_usize - .saturating_add( - >::max_encoded_len(), - ), - ) - .max(0_usize.saturating_add(::max_encoded_len())) - .max( - 0_usize - .saturating_add(::max_encoded_len()), - ) - .max( - 0_usize - .saturating_add( - ::max_encoded_len(), - ), - ) - .saturating_add(1) - } - } -}; -#[allow(dead_code)] -impl RuntimeOrigin { - /// Create with system none origin and [`frame_system::Config::BaseCallFilter`]. - pub fn none() -> Self { - ::none() - } - /// Create with system root origin and [`frame_system::Config::BaseCallFilter`]. - pub fn root() -> Self { - ::root() - } - /// Create with system signed origin and [`frame_system::Config::BaseCallFilter`]. - pub fn signed(by: ::AccountId) -> Self { - ::signed( - by, - ) - } -} -impl From> for OriginCaller { - fn from(x: frame_system::Origin) -> Self { - OriginCaller::system(x) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallerTrait< - ::AccountId, -> for OriginCaller { - fn into_system( - self, - ) -> Option::AccountId>> { - match self { - OriginCaller::system(x) => Some(x), - _ => None, - } - } - fn as_system_ref( - &self, - ) -> Option<&frame_system::RawOrigin<::AccountId>> { - match &self { - OriginCaller::system(o) => Some(o), - _ => None, - } - } -} -impl TryFrom for frame_system::Origin { - type Error = OriginCaller; - fn try_from( - x: OriginCaller, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - frame_system::Origin, - OriginCaller, - > { - if let OriginCaller::system(l) = x { Ok(l) } else { Err(x) } - } -} -impl From> for RuntimeOrigin { - /// Convert to runtime origin, using as filter: [`frame_system::Config::BaseCallFilter`]. - fn from(x: frame_system::Origin) -> Self { - let o: OriginCaller = x.into(); - o.into() - } -} -impl From for RuntimeOrigin { - fn from(x: OriginCaller) -> Self { - let mut o = RuntimeOrigin { - caller: x, - filter: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::rc::Rc::new( - Box::new(|_| true), - ), - }; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::OriginTrait::reset_filter( - &mut o, - ); - o - } -} -impl From -for self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - frame_system::Origin, - RuntimeOrigin, -> { - /// NOTE: converting to pallet origin loses the origin filter information. - fn from(val: RuntimeOrigin) -> Self { - if let OriginCaller::system(l) = val.caller { Ok(l) } else { Err(val) } - } -} -impl From::AccountId>> for RuntimeOrigin { - /// Convert to runtime origin with caller being system signed or none and use filter [`frame_system::Config::BaseCallFilter`]. - fn from(x: Option<::AccountId>) -> Self { - >::from(x).into() - } -} -impl From for OriginCaller { - fn from(x: pallet_xcm::Origin) -> Self { - OriginCaller::PolkadotXcm(x) - } -} -impl From for RuntimeOrigin { - /// Convert to runtime origin using [`pallet_xcm::Config::BaseCallFilter`]. - fn from(x: pallet_xcm::Origin) -> Self { - let x: OriginCaller = x.into(); - x.into() - } -} -impl From -for self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_xcm::Origin, - RuntimeOrigin, -> { - /// NOTE: converting to pallet origin loses the origin filter information. - fn from(val: RuntimeOrigin) -> Self { - if let OriginCaller::PolkadotXcm(l) = val.caller { Ok(l) } else { Err(val) } - } -} -impl TryFrom for pallet_xcm::Origin { - type Error = OriginCaller; - fn try_from( - x: OriginCaller, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - pallet_xcm::Origin, - OriginCaller, - > { - if let OriginCaller::PolkadotXcm(l) = x { Ok(l) } else { Err(x) } - } -} -impl<'a> TryFrom<&'a OriginCaller> for &'a pallet_xcm::Origin { - type Error = (); - fn try_from( - x: &'a OriginCaller, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - &'a pallet_xcm::Origin, - (), - > { - if let OriginCaller::PolkadotXcm(l) = x { Ok(&l) } else { Err(()) } - } -} -impl<'a> TryFrom<&'a RuntimeOrigin> for &'a pallet_xcm::Origin { - type Error = (); - fn try_from( - x: &'a RuntimeOrigin, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - &'a pallet_xcm::Origin, - (), - > { - if let OriginCaller::PolkadotXcm(l) = &x.caller { Ok(&l) } else { Err(()) } - } -} -impl From for OriginCaller { - fn from(x: cumulus_pallet_xcm::Origin) -> Self { - OriginCaller::CumulusXcm(x) - } -} -impl From for RuntimeOrigin { - /// Convert to runtime origin using [`cumulus_pallet_xcm::Config::BaseCallFilter`]. - fn from(x: cumulus_pallet_xcm::Origin) -> Self { - let x: OriginCaller = x.into(); - x.into() - } -} -impl From -for self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - cumulus_pallet_xcm::Origin, - RuntimeOrigin, -> { - /// NOTE: converting to pallet origin loses the origin filter information. - fn from(val: RuntimeOrigin) -> Self { - if let OriginCaller::CumulusXcm(l) = val.caller { Ok(l) } else { Err(val) } - } -} -impl TryFrom for cumulus_pallet_xcm::Origin { - type Error = OriginCaller; - fn try_from( - x: OriginCaller, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - cumulus_pallet_xcm::Origin, - OriginCaller, - > { - if let OriginCaller::CumulusXcm(l) = x { Ok(l) } else { Err(x) } - } -} -impl<'a> TryFrom<&'a OriginCaller> for &'a cumulus_pallet_xcm::Origin { - type Error = (); - fn try_from( - x: &'a OriginCaller, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - &'a cumulus_pallet_xcm::Origin, - (), - > { - if let OriginCaller::CumulusXcm(l) = x { Ok(&l) } else { Err(()) } - } -} -impl<'a> TryFrom<&'a RuntimeOrigin> for &'a cumulus_pallet_xcm::Origin { - type Error = (); - fn try_from( - x: &'a RuntimeOrigin, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result< - &'a cumulus_pallet_xcm::Origin, - (), - > { - if let OriginCaller::CumulusXcm(l) = &x.caller { Ok(&l) } else { Err(()) } - } -} -pub type System = frame_system::Pallet; -pub type ParachainSystem = cumulus_pallet_parachain_system::Pallet; -pub type Timestamp = pallet_timestamp::Pallet; -pub type ParachainInfo = parachain_info::Pallet; -pub type Balances = pallet_balances::Pallet; -pub type TransactionPayment = pallet_transaction_payment::Pallet; -pub type AssetTxPayment = pallet_asset_conversion_tx_payment::Pallet; -pub type Authorship = pallet_authorship::Pallet; -pub type CollatorSelection = pallet_collator_selection::Pallet; -pub type Session = pallet_session::Pallet; -pub type Aura = pallet_aura::Pallet; -pub type AuraExt = cumulus_pallet_aura_ext::Pallet; -pub type XcmpQueue = cumulus_pallet_xcmp_queue::Pallet; -pub type PolkadotXcm = pallet_xcm::Pallet; -pub type CumulusXcm = cumulus_pallet_xcm::Pallet; -pub type DmpQueue = cumulus_pallet_dmp_queue::Pallet; -pub type Utility = pallet_utility::Pallet; -pub type Multisig = pallet_multisig::Pallet; -pub type Proxy = pallet_proxy::Pallet; -pub type Assets = pallet_assets::Pallet; -pub type Uniques = pallet_uniques::Pallet; -pub type Nfts = pallet_nfts::Pallet; -pub type ForeignAssets = pallet_assets::Pallet; -pub type NftFractionalization = pallet_nft_fractionalization::Pallet; -pub type PoolAssets = pallet_assets::Pallet; -pub type AssetConversion = pallet_asset_conversion::Pallet; -/// All pallets included in the runtime as a nested tuple of types. -#[deprecated( - note = "The type definition has changed from representing all pallets \ - excluding system, in reversed order to become the representation of all pallets \ - including system pallet in regular order. For this reason it is encouraged to use \ - explicitly one of `AllPalletsWithSystem`, `AllPalletsWithoutSystem`, \ - `AllPalletsWithSystemReversed`, `AllPalletsWithoutSystemReversed`. \ - Note that the type `frame_executive::Executive` expects one of `AllPalletsWithSystem` \ - , `AllPalletsWithSystemReversed`, `AllPalletsReversedWithSystemFirst`. More details in \ - https://github.com/paritytech/substrate/pull/10043" -)] -pub type AllPallets = AllPalletsWithSystem; -#[cfg(all(not(feature = "state-trie-version-1")))] -/// All pallets included in the runtime as a nested tuple of types. -pub type AllPalletsWithSystem = ( - System, - ParachainSystem, - Timestamp, - ParachainInfo, - Balances, - TransactionPayment, - AssetTxPayment, - Authorship, - CollatorSelection, - Session, - Aura, - AuraExt, - XcmpQueue, - PolkadotXcm, - CumulusXcm, - DmpQueue, - Utility, - Multisig, - Proxy, - Assets, - Uniques, - Nfts, - ForeignAssets, - NftFractionalization, - PoolAssets, - AssetConversion, -); -#[cfg(all(not(feature = "state-trie-version-1")))] -/// All pallets included in the runtime as a nested tuple of types. -/// Excludes the System pallet. -pub type AllPalletsWithoutSystem = ( - ParachainSystem, - Timestamp, - ParachainInfo, - Balances, - TransactionPayment, - AssetTxPayment, - Authorship, - CollatorSelection, - Session, - Aura, - AuraExt, - XcmpQueue, - PolkadotXcm, - CumulusXcm, - DmpQueue, - Utility, - Multisig, - Proxy, - Assets, - Uniques, - Nfts, - ForeignAssets, - NftFractionalization, - PoolAssets, - AssetConversion, -); -#[cfg(all(not(feature = "state-trie-version-1")))] -/// All pallets included in the runtime as a nested tuple of types in reversed order. -#[deprecated( - note = "Using reverse pallet orders is deprecated. use only \ - `AllPalletsWithSystem or AllPalletsWithoutSystem`" -)] -pub type AllPalletsWithSystemReversed = ( - AssetConversion, - PoolAssets, - NftFractionalization, - ForeignAssets, - Nfts, - Uniques, - Assets, - Proxy, - Multisig, - Utility, - DmpQueue, - CumulusXcm, - PolkadotXcm, - XcmpQueue, - AuraExt, - Aura, - Session, - CollatorSelection, - Authorship, - AssetTxPayment, - TransactionPayment, - Balances, - ParachainInfo, - Timestamp, - ParachainSystem, - System, -); -#[cfg(all(not(feature = "state-trie-version-1")))] -/// All pallets included in the runtime as a nested tuple of types in reversed order. -/// Excludes the System pallet. -#[deprecated( - note = "Using reverse pallet orders is deprecated. use only \ - `AllPalletsWithSystem or AllPalletsWithoutSystem`" -)] -pub type AllPalletsWithoutSystemReversed = ( - AssetConversion, - PoolAssets, - NftFractionalization, - ForeignAssets, - Nfts, - Uniques, - Assets, - Proxy, - Multisig, - Utility, - DmpQueue, - CumulusXcm, - PolkadotXcm, - XcmpQueue, - AuraExt, - Aura, - Session, - CollatorSelection, - Authorship, - AssetTxPayment, - TransactionPayment, - Balances, - ParachainInfo, - Timestamp, - ParachainSystem, -); -#[cfg(all(not(feature = "state-trie-version-1")))] -/// All pallets included in the runtime as a nested tuple of types in reversed order. -/// With the system pallet first. -#[deprecated( - note = "Using reverse pallet orders is deprecated. use only \ - `AllPalletsWithSystem or AllPalletsWithoutSystem`" -)] -pub type AllPalletsReversedWithSystemFirst = ( - System, - AssetConversion, - PoolAssets, - NftFractionalization, - ForeignAssets, - Nfts, - Uniques, - Assets, - Proxy, - Multisig, - Utility, - DmpQueue, - CumulusXcm, - PolkadotXcm, - XcmpQueue, - AuraExt, - Aura, - Session, - CollatorSelection, - Authorship, - AssetTxPayment, - TransactionPayment, - Balances, - ParachainInfo, - Timestamp, - ParachainSystem, -); -/// Provides an implementation of `PalletInfo` to provide information -/// about the pallet setup in the runtime. -pub struct PalletInfo; -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfo -for PalletInfo { - fn index() -> Option { - let type_id = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - P, - >(); - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - System, - >() - { - return Some(0usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ParachainSystem, - >() - { - return Some(1usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Timestamp, - >() - { - return Some(3usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ParachainInfo, - >() - { - return Some(4usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Balances, - >() - { - return Some(10usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - TransactionPayment, - >() - { - return Some(11usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AssetTxPayment, - >() - { - return Some(13usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Authorship, - >() - { - return Some(20usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - CollatorSelection, - >() - { - return Some(21usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Session, - >() - { - return Some(22usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Aura, - >() - { - return Some(23usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AuraExt, - >() - { - return Some(24usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - XcmpQueue, - >() - { - return Some(30usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - PolkadotXcm, - >() - { - return Some(31usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - CumulusXcm, - >() - { - return Some(32usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - DmpQueue, - >() - { - return Some(33usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Utility, - >() - { - return Some(40usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Multisig, - >() - { - return Some(41usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Proxy, - >() - { - return Some(42usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Assets, - >() - { - return Some(50usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Uniques, - >() - { - return Some(51usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Nfts, - >() - { - return Some(52usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ForeignAssets, - >() - { - return Some(53usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - NftFractionalization, - >() - { - return Some(54usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - PoolAssets, - >() - { - return Some(55usize); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AssetConversion, - >() - { - return Some(56usize); - } - None - } - fn name() -> Option<&'static str> { - let type_id = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - P, - >(); - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - System, - >() - { - return Some("System"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ParachainSystem, - >() - { - return Some("ParachainSystem"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Timestamp, - >() - { - return Some("Timestamp"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ParachainInfo, - >() - { - return Some("ParachainInfo"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Balances, - >() - { - return Some("Balances"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - TransactionPayment, - >() - { - return Some("TransactionPayment"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AssetTxPayment, - >() - { - return Some("AssetTxPayment"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Authorship, - >() - { - return Some("Authorship"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - CollatorSelection, - >() - { - return Some("CollatorSelection"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Session, - >() - { - return Some("Session"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Aura, - >() - { - return Some("Aura"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AuraExt, - >() - { - return Some("AuraExt"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - XcmpQueue, - >() - { - return Some("XcmpQueue"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - PolkadotXcm, - >() - { - return Some("PolkadotXcm"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - CumulusXcm, - >() - { - return Some("CumulusXcm"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - DmpQueue, - >() - { - return Some("DmpQueue"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Utility, - >() - { - return Some("Utility"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Multisig, - >() - { - return Some("Multisig"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Proxy, - >() - { - return Some("Proxy"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Assets, - >() - { - return Some("Assets"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Uniques, - >() - { - return Some("Uniques"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Nfts, - >() - { - return Some("Nfts"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ForeignAssets, - >() - { - return Some("ForeignAssets"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - NftFractionalization, - >() - { - return Some("NftFractionalization"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - PoolAssets, - >() - { - return Some("PoolAssets"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AssetConversion, - >() - { - return Some("AssetConversion"); - } - None - } - fn name_hash() -> Option<[u8; 16]> { - let type_id = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - P, - >(); - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - System, - >() - { - return Some([ - 38u8, - 170u8, - 57u8, - 78u8, - 234u8, - 86u8, - 48u8, - 224u8, - 124u8, - 72u8, - 174u8, - 12u8, - 149u8, - 88u8, - 206u8, - 247u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ParachainSystem, - >() - { - return Some([ - 69u8, - 50u8, - 61u8, - 247u8, - 204u8, - 71u8, - 21u8, - 11u8, - 57u8, - 48u8, - 226u8, - 102u8, - 107u8, - 10u8, - 163u8, - 19u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Timestamp, - >() - { - return Some([ - 240u8, - 195u8, - 101u8, - 195u8, - 207u8, - 89u8, - 214u8, - 113u8, - 235u8, - 114u8, - 218u8, - 14u8, - 122u8, - 65u8, - 19u8, - 196u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ParachainInfo, - >() - { - return Some([ - 13u8, - 113u8, - 95u8, - 38u8, - 70u8, - 200u8, - 248u8, - 87u8, - 103u8, - 181u8, - 210u8, - 118u8, - 75u8, - 178u8, - 120u8, - 38u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Balances, - >() - { - return Some([ - 194u8, - 38u8, - 18u8, - 118u8, - 204u8, - 157u8, - 31u8, - 133u8, - 152u8, - 234u8, - 75u8, - 106u8, - 116u8, - 177u8, - 92u8, - 47u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - TransactionPayment, - >() - { - return Some([ - 63u8, - 20u8, - 103u8, - 160u8, - 150u8, - 188u8, - 215u8, - 26u8, - 91u8, - 106u8, - 12u8, - 129u8, - 85u8, - 226u8, - 8u8, - 16u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AssetTxPayment, - >() - { - return Some([ - 38u8, - 122u8, - 218u8, - 22u8, - 64u8, - 85u8, - 41u8, - 194u8, - 247u8, - 239u8, - 39u8, - 39u8, - 215u8, - 30u8, - 219u8, - 222u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Authorship, - >() - { - return Some([ - 213u8, - 123u8, - 206u8, - 84u8, - 95u8, - 179u8, - 130u8, - 195u8, - 69u8, - 112u8, - 229u8, - 223u8, - 191u8, - 51u8, - 143u8, - 94u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - CollatorSelection, - >() - { - return Some([ - 21u8, - 70u8, - 76u8, - 172u8, - 51u8, - 120u8, - 212u8, - 111u8, - 17u8, - 60u8, - 213u8, - 183u8, - 164u8, - 215u8, - 28u8, - 132u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Session, - >() - { - return Some([ - 206u8, - 197u8, - 7u8, - 13u8, - 96u8, - 157u8, - 211u8, - 73u8, - 127u8, - 114u8, - 189u8, - 224u8, - 127u8, - 201u8, - 107u8, - 160u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Aura, - >() - { - return Some([ - 87u8, - 248u8, - 220u8, - 47u8, - 90u8, - 176u8, - 148u8, - 103u8, - 137u8, - 111u8, - 71u8, - 48u8, - 15u8, - 4u8, - 36u8, - 56u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AuraExt, - >() - { - return Some([ - 60u8, - 49u8, - 29u8, - 87u8, - 212u8, - 218u8, - 245u8, - 41u8, - 4u8, - 97u8, - 108u8, - 246u8, - 150u8, - 72u8, - 8u8, - 30u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - XcmpQueue, - >() - { - return Some([ - 123u8, - 50u8, - 55u8, - 55u8, - 63u8, - 253u8, - 254u8, - 177u8, - 202u8, - 180u8, - 34u8, - 46u8, - 59u8, - 82u8, - 13u8, - 107u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - PolkadotXcm, - >() - { - return Some([ - 227u8, - 143u8, - 24u8, - 82u8, - 7u8, - 73u8, - 138u8, - 187u8, - 92u8, - 33u8, - 61u8, - 15u8, - 176u8, - 89u8, - 179u8, - 216u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - CumulusXcm, - >() - { - return Some([ - 121u8, - 226u8, - 254u8, - 93u8, - 50u8, - 113u8, - 101u8, - 0u8, - 31u8, - 130u8, - 50u8, - 100u8, - 48u8, - 35u8, - 237u8, - 139u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - DmpQueue, - >() - { - return Some([ - 205u8, - 92u8, - 31u8, - 109u8, - 246u8, - 59u8, - 201u8, - 127u8, - 74u8, - 140u8, - 227u8, - 127u8, - 20u8, - 165u8, - 12u8, - 167u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Utility, - >() - { - return Some([ - 213u8, - 225u8, - 162u8, - 250u8, - 22u8, - 115u8, - 44u8, - 230u8, - 144u8, - 97u8, - 137u8, - 67u8, - 140u8, - 10u8, - 130u8, - 198u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Multisig, - >() - { - return Some([ - 116u8, - 116u8, - 68u8, - 156u8, - 202u8, - 149u8, - 220u8, - 93u8, - 12u8, - 0u8, - 231u8, - 23u8, - 53u8, - 166u8, - 209u8, - 125u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Proxy, - >() - { - return Some([ - 24u8, - 9u8, - 215u8, - 131u8, - 70u8, - 114u8, - 122u8, - 14u8, - 245u8, - 140u8, - 15u8, - 160u8, - 59u8, - 175u8, - 163u8, - 35u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Assets, - >() - { - return Some([ - 104u8, - 42u8, - 89u8, - 213u8, - 26u8, - 185u8, - 228u8, - 138u8, - 140u8, - 140u8, - 196u8, - 24u8, - 255u8, - 151u8, - 8u8, - 210u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Uniques, - >() - { - return Some([ - 94u8, - 138u8, - 25u8, - 227u8, - 205u8, - 27u8, - 124u8, - 20u8, - 139u8, - 51u8, - 136u8, - 12u8, - 71u8, - 156u8, - 2u8, - 129u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Nfts, - >() - { - return Some([ - 232u8, - 212u8, - 147u8, - 137u8, - 194u8, - 226u8, - 62u8, - 21u8, - 47u8, - 221u8, - 99u8, - 100u8, - 218u8, - 173u8, - 210u8, - 204u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ForeignAssets, - >() - { - return Some([ - 48u8, - 230u8, - 74u8, - 86u8, - 2u8, - 111u8, - 75u8, - 94u8, - 60u8, - 45u8, - 25u8, - 98u8, - 131u8, - 169u8, - 161u8, - 125u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - NftFractionalization, - >() - { - return Some([ - 230u8, - 255u8, - 9u8, - 92u8, - 139u8, - 243u8, - 137u8, - 146u8, - 239u8, - 116u8, - 139u8, - 16u8, - 55u8, - 163u8, - 8u8, - 175u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - PoolAssets, - >() - { - return Some([ - 77u8, - 176u8, - 107u8, - 161u8, - 202u8, - 111u8, - 24u8, - 177u8, - 237u8, - 176u8, - 111u8, - 240u8, - 130u8, - 210u8, - 68u8, - 9u8, - ]); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AssetConversion, - >() - { - return Some([ - 181u8, - 38u8, - 6u8, - 218u8, - 128u8, - 208u8, - 42u8, - 179u8, - 116u8, - 66u8, - 131u8, - 105u8, - 165u8, - 242u8, - 70u8, - 241u8, - ]); - } - None - } - fn module_name() -> Option<&'static str> { - let type_id = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - P, - >(); - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - System, - >() - { - return Some("frame_system"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ParachainSystem, - >() - { - return Some("cumulus_pallet_parachain_system"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Timestamp, - >() - { - return Some("pallet_timestamp"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ParachainInfo, - >() - { - return Some("parachain_info"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Balances, - >() - { - return Some("pallet_balances"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - TransactionPayment, - >() - { - return Some("pallet_transaction_payment"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AssetTxPayment, - >() - { - return Some("pallet_asset_conversion_tx_payment"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Authorship, - >() - { - return Some("pallet_authorship"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - CollatorSelection, - >() - { - return Some("pallet_collator_selection"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Session, - >() - { - return Some("pallet_session"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Aura, - >() - { - return Some("pallet_aura"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AuraExt, - >() - { - return Some("cumulus_pallet_aura_ext"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - XcmpQueue, - >() - { - return Some("cumulus_pallet_xcmp_queue"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - PolkadotXcm, - >() - { - return Some("pallet_xcm"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - CumulusXcm, - >() - { - return Some("cumulus_pallet_xcm"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - DmpQueue, - >() - { - return Some("cumulus_pallet_dmp_queue"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Utility, - >() - { - return Some("pallet_utility"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Multisig, - >() - { - return Some("pallet_multisig"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Proxy, - >() - { - return Some("pallet_proxy"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Assets, - >() - { - return Some("pallet_assets"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Uniques, - >() - { - return Some("pallet_uniques"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Nfts, - >() - { - return Some("pallet_nfts"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ForeignAssets, - >() - { - return Some("pallet_assets"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - NftFractionalization, - >() - { - return Some("pallet_nft_fractionalization"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - PoolAssets, - >() - { - return Some("pallet_assets"); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AssetConversion, - >() - { - return Some("pallet_asset_conversion"); - } - None - } - fn crate_version() -> Option< - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CrateVersion, - > { - let type_id = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - P, - >(); - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - System, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ParachainSystem, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Timestamp, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ParachainInfo, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Balances, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - TransactionPayment, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AssetTxPayment, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Authorship, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - CollatorSelection, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Session, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Aura, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AuraExt, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - XcmpQueue, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - PolkadotXcm, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - CumulusXcm, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - DmpQueue, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Utility, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Multisig, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Proxy, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Assets, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Uniques, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - Nfts, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - ForeignAssets, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - NftFractionalization, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - PoolAssets, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - if type_id - == self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::any::TypeId::of::< - AssetConversion, - >() - { - return Some( - as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(), - ); - } - None - } -} -pub enum RuntimeCall { - #[codec(index = 0u8)] - System( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - System, - Runtime, - >, - ), - #[codec(index = 1u8)] - ParachainSystem( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ParachainSystem, - Runtime, - >, - ), - #[codec(index = 3u8)] - Timestamp( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Timestamp, - Runtime, - >, - ), - #[codec(index = 10u8)] - Balances( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Balances, - Runtime, - >, - ), - #[codec(index = 21u8)] - CollatorSelection( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - CollatorSelection, - Runtime, - >, - ), - #[codec(index = 22u8)] - Session( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Session, - Runtime, - >, - ), - #[codec(index = 30u8)] - XcmpQueue( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - XcmpQueue, - Runtime, - >, - ), - #[codec(index = 31u8)] - PolkadotXcm( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PolkadotXcm, - Runtime, - >, - ), - #[codec(index = 33u8)] - DmpQueue( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - DmpQueue, - Runtime, - >, - ), - #[codec(index = 40u8)] - Utility( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Utility, - Runtime, - >, - ), - #[codec(index = 41u8)] - Multisig( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Multisig, - Runtime, - >, - ), - #[codec(index = 42u8)] - Proxy( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Proxy, - Runtime, - >, - ), - #[codec(index = 50u8)] - Assets( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Assets, - Runtime, - >, - ), - #[codec(index = 51u8)] - Uniques( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Uniques, - Runtime, - >, - ), - #[codec(index = 52u8)] - Nfts( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Nfts, - Runtime, - >, - ), - #[codec(index = 53u8)] - ForeignAssets( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ForeignAssets, - Runtime, - >, - ), - #[codec(index = 54u8)] - NftFractionalization( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - NftFractionalization, - Runtime, - >, - ), - #[codec(index = 55u8)] - PoolAssets( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PoolAssets, - Runtime, - >, - ), - #[codec(index = 56u8)] - AssetConversion( - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - AssetConversion, - Runtime, - >, - ), -} -#[automatically_derived] -impl ::core::clone::Clone for RuntimeCall { - #[inline] - fn clone(&self) -> RuntimeCall { - match self { - RuntimeCall::System(__self_0) => { - RuntimeCall::System(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::ParachainSystem(__self_0) => { - RuntimeCall::ParachainSystem(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::Timestamp(__self_0) => { - RuntimeCall::Timestamp(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::Balances(__self_0) => { - RuntimeCall::Balances(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::CollatorSelection(__self_0) => { - RuntimeCall::CollatorSelection(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::Session(__self_0) => { - RuntimeCall::Session(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::XcmpQueue(__self_0) => { - RuntimeCall::XcmpQueue(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::PolkadotXcm(__self_0) => { - RuntimeCall::PolkadotXcm(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::DmpQueue(__self_0) => { - RuntimeCall::DmpQueue(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::Utility(__self_0) => { - RuntimeCall::Utility(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::Multisig(__self_0) => { - RuntimeCall::Multisig(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::Proxy(__self_0) => { - RuntimeCall::Proxy(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::Assets(__self_0) => { - RuntimeCall::Assets(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::Uniques(__self_0) => { - RuntimeCall::Uniques(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::Nfts(__self_0) => { - RuntimeCall::Nfts(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::ForeignAssets(__self_0) => { - RuntimeCall::ForeignAssets(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::NftFractionalization(__self_0) => { - RuntimeCall::NftFractionalization(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::PoolAssets(__self_0) => { - RuntimeCall::PoolAssets(::core::clone::Clone::clone(__self_0)) - } - RuntimeCall::AssetConversion(__self_0) => { - RuntimeCall::AssetConversion(::core::clone::Clone::clone(__self_0)) - } - } - } -} -#[automatically_derived] -impl ::core::marker::StructuralPartialEq for RuntimeCall {} -#[automatically_derived] -impl ::core::cmp::PartialEq for RuntimeCall { - #[inline] - fn eq(&self, other: &RuntimeCall) -> bool { - let __self_tag = ::core::intrinsics::discriminant_value(self); - let __arg1_tag = ::core::intrinsics::discriminant_value(other); - __self_tag == __arg1_tag - && match (self, other) { - (RuntimeCall::System(__self_0), RuntimeCall::System(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - ( - RuntimeCall::ParachainSystem(__self_0), - RuntimeCall::ParachainSystem(__arg1_0), - ) => *__self_0 == *__arg1_0, - (RuntimeCall::Timestamp(__self_0), RuntimeCall::Timestamp(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeCall::Balances(__self_0), RuntimeCall::Balances(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - ( - RuntimeCall::CollatorSelection(__self_0), - RuntimeCall::CollatorSelection(__arg1_0), - ) => *__self_0 == *__arg1_0, - (RuntimeCall::Session(__self_0), RuntimeCall::Session(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeCall::XcmpQueue(__self_0), RuntimeCall::XcmpQueue(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - ( - RuntimeCall::PolkadotXcm(__self_0), - RuntimeCall::PolkadotXcm(__arg1_0), - ) => *__self_0 == *__arg1_0, - (RuntimeCall::DmpQueue(__self_0), RuntimeCall::DmpQueue(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeCall::Utility(__self_0), RuntimeCall::Utility(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeCall::Multisig(__self_0), RuntimeCall::Multisig(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeCall::Proxy(__self_0), RuntimeCall::Proxy(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeCall::Assets(__self_0), RuntimeCall::Assets(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeCall::Uniques(__self_0), RuntimeCall::Uniques(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - (RuntimeCall::Nfts(__self_0), RuntimeCall::Nfts(__arg1_0)) => { - *__self_0 == *__arg1_0 - } - ( - RuntimeCall::ForeignAssets(__self_0), - RuntimeCall::ForeignAssets(__arg1_0), - ) => *__self_0 == *__arg1_0, - ( - RuntimeCall::NftFractionalization(__self_0), - RuntimeCall::NftFractionalization(__arg1_0), - ) => *__self_0 == *__arg1_0, - ( - RuntimeCall::PoolAssets(__self_0), - RuntimeCall::PoolAssets(__arg1_0), - ) => *__self_0 == *__arg1_0, - ( - RuntimeCall::AssetConversion(__self_0), - RuntimeCall::AssetConversion(__arg1_0), - ) => *__self_0 == *__arg1_0, - _ => unsafe { ::core::intrinsics::unreachable() } - } - } -} -#[automatically_derived] -impl ::core::marker::StructuralEq for RuntimeCall {} -#[automatically_derived] -impl ::core::cmp::Eq for RuntimeCall { - #[inline] - #[doc(hidden)] - #[coverage(off)] - fn assert_receiver_is_total_eq(&self) -> () { - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - System, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ParachainSystem, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Timestamp, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Balances, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - CollatorSelection, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Session, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - XcmpQueue, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PolkadotXcm, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - DmpQueue, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Utility, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Multisig, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Proxy, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Assets, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Uniques, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Nfts, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ForeignAssets, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - NftFractionalization, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PoolAssets, - Runtime, - >, - >; - let _: ::core::cmp::AssertParamIsEq< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - AssetConversion, - Runtime, - >, - >; - } -} -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Encode for RuntimeCall { - fn size_hint(&self) -> usize { - 1_usize - + match *self { - RuntimeCall::System(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::ParachainSystem(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::Timestamp(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::Balances(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::CollatorSelection(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::Session(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::XcmpQueue(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::PolkadotXcm(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::DmpQueue(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::Utility(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::Multisig(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::Proxy(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::Assets(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::Uniques(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::Nfts(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::ForeignAssets(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::NftFractionalization(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::PoolAssets(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - RuntimeCall::AssetConversion(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - _ => 0_usize, - } - } - fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( - &self, - __codec_dest_edqy: &mut __CodecOutputEdqy, - ) { - match *self { - RuntimeCall::System(ref aa) => { - __codec_dest_edqy.push_byte(0u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::ParachainSystem(ref aa) => { - __codec_dest_edqy.push_byte(1u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::Timestamp(ref aa) => { - __codec_dest_edqy.push_byte(3u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::Balances(ref aa) => { - __codec_dest_edqy.push_byte(10u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::CollatorSelection(ref aa) => { - __codec_dest_edqy.push_byte(21u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::Session(ref aa) => { - __codec_dest_edqy.push_byte(22u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::XcmpQueue(ref aa) => { - __codec_dest_edqy.push_byte(30u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::PolkadotXcm(ref aa) => { - __codec_dest_edqy.push_byte(31u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::DmpQueue(ref aa) => { - __codec_dest_edqy.push_byte(33u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::Utility(ref aa) => { - __codec_dest_edqy.push_byte(40u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::Multisig(ref aa) => { - __codec_dest_edqy.push_byte(41u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::Proxy(ref aa) => { - __codec_dest_edqy.push_byte(42u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::Assets(ref aa) => { - __codec_dest_edqy.push_byte(50u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::Uniques(ref aa) => { - __codec_dest_edqy.push_byte(51u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::Nfts(ref aa) => { - __codec_dest_edqy.push_byte(52u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::ForeignAssets(ref aa) => { - __codec_dest_edqy.push_byte(53u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::NftFractionalization(ref aa) => { - __codec_dest_edqy.push_byte(54u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::PoolAssets(ref aa) => { - __codec_dest_edqy.push_byte(55u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - RuntimeCall::AssetConversion(ref aa) => { - __codec_dest_edqy.push_byte(56u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - _ => {} - } - } - } - #[automatically_derived] - impl ::codec::EncodeLike for RuntimeCall {} -}; -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Decode for RuntimeCall { - fn decode<__CodecInputEdqy: ::codec::Input>( - __codec_input_edqy: &mut __CodecInputEdqy, - ) -> ::core::result::Result { - match __codec_input_edqy - .read_byte() - .map_err(|e| { - e - .chain( - "Could not decode `RuntimeCall`, failed to read variant byte", - ) - })? - { - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 0u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::System({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::System.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 1u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::ParachainSystem({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::ParachainSystem.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 3u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::Timestamp({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::Timestamp.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 10u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::Balances({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::Balances.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 21u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::CollatorSelection({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain( - "Could not decode `RuntimeCall::CollatorSelection.0`", - ), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 22u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::Session({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::Session.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 30u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::XcmpQueue({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::XcmpQueue.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 31u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::PolkadotXcm({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::PolkadotXcm.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 33u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::DmpQueue({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::DmpQueue.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 40u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::Utility({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::Utility.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 41u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::Multisig({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::Multisig.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 42u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::Proxy({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::Proxy.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 50u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::Assets({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::Assets.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 51u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::Uniques({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::Uniques.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 52u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::Nfts({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::Nfts.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 53u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::ForeignAssets({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::ForeignAssets.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 54u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::NftFractionalization({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain( - "Could not decode `RuntimeCall::NftFractionalization.0`", - ), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 55u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::PoolAssets({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::PoolAssets.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 56u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeCall::AssetConversion({ - let __codec_res_edqy = as ::codec::Decode>::decode(__codec_input_edqy); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e.chain("Could not decode `RuntimeCall::AssetConversion.0`"), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - _ => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Err( - <_ as ::core::convert::Into< - _, - >>::into( - "Could not decode `RuntimeCall`, variant doesn't exist", - ), - ) - })(); - } - } - } - } -}; -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - impl ::scale_info::TypeInfo for RuntimeCall { - type Identity = Self; - fn type_info() -> ::scale_info::Type { - ::scale_info::Type::builder() - .path(::scale_info::Path::new("RuntimeCall", "asset_hub_kusama_runtime")) - .type_params(::alloc::vec::Vec::new()) - .variant( - ::scale_info::build::Variants::new() - .variant( - "System", - |v| { - v - .index(0u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - System, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "ParachainSystem", - |v| { - v - .index(1u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ParachainSystem, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "Timestamp", - |v| { - v - .index(3u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Timestamp, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "Balances", - |v| { - v - .index(10u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Balances, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "CollatorSelection", - |v| { - v - .index(21u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - CollatorSelection, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "Session", - |v| { - v - .index(22u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Session, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "XcmpQueue", - |v| { - v - .index(30u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - XcmpQueue, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "PolkadotXcm", - |v| { - v - .index(31u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PolkadotXcm, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "DmpQueue", - |v| { - v - .index(33u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - DmpQueue, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "Utility", - |v| { - v - .index(40u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Utility, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "Multisig", - |v| { - v - .index(41u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Multisig, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "Proxy", - |v| { - v - .index(42u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Proxy, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "Assets", - |v| { - v - .index(50u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Assets, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "Uniques", - |v| { - v - .index(51u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Uniques, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "Nfts", - |v| { - v - .index(52u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Nfts, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "ForeignAssets", - |v| { - v - .index(53u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ForeignAssets, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "NftFractionalization", - |v| { - v - .index(54u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - NftFractionalization, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "PoolAssets", - |v| { - v - .index(55u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PoolAssets, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ) - .variant( - "AssetConversion", - |v| { - v - .index(56u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - AssetConversion, - Runtime, - >, - >() - .type_name( - "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor", - ) - }), - ) - }, - ), - ) - } - } -}; -impl core::fmt::Debug for RuntimeCall { - fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { - match self { - Self::System(ref a0) => { - fmt.debug_tuple("RuntimeCall::System").field(a0).finish() - } - Self::ParachainSystem(ref a0) => { - fmt.debug_tuple("RuntimeCall::ParachainSystem").field(a0).finish() - } - Self::Timestamp(ref a0) => { - fmt.debug_tuple("RuntimeCall::Timestamp").field(a0).finish() - } - Self::Balances(ref a0) => { - fmt.debug_tuple("RuntimeCall::Balances").field(a0).finish() - } - Self::CollatorSelection(ref a0) => { - fmt.debug_tuple("RuntimeCall::CollatorSelection").field(a0).finish() - } - Self::Session(ref a0) => { - fmt.debug_tuple("RuntimeCall::Session").field(a0).finish() - } - Self::XcmpQueue(ref a0) => { - fmt.debug_tuple("RuntimeCall::XcmpQueue").field(a0).finish() - } - Self::PolkadotXcm(ref a0) => { - fmt.debug_tuple("RuntimeCall::PolkadotXcm").field(a0).finish() - } - Self::DmpQueue(ref a0) => { - fmt.debug_tuple("RuntimeCall::DmpQueue").field(a0).finish() - } - Self::Utility(ref a0) => { - fmt.debug_tuple("RuntimeCall::Utility").field(a0).finish() - } - Self::Multisig(ref a0) => { - fmt.debug_tuple("RuntimeCall::Multisig").field(a0).finish() - } - Self::Proxy(ref a0) => { - fmt.debug_tuple("RuntimeCall::Proxy").field(a0).finish() - } - Self::Assets(ref a0) => { - fmt.debug_tuple("RuntimeCall::Assets").field(a0).finish() - } - Self::Uniques(ref a0) => { - fmt.debug_tuple("RuntimeCall::Uniques").field(a0).finish() - } - Self::Nfts(ref a0) => fmt.debug_tuple("RuntimeCall::Nfts").field(a0).finish(), - Self::ForeignAssets(ref a0) => { - fmt.debug_tuple("RuntimeCall::ForeignAssets").field(a0).finish() - } - Self::NftFractionalization(ref a0) => { - fmt.debug_tuple("RuntimeCall::NftFractionalization").field(a0).finish() - } - Self::PoolAssets(ref a0) => { - fmt.debug_tuple("RuntimeCall::PoolAssets").field(a0).finish() - } - Self::AssetConversion(ref a0) => { - fmt.debug_tuple("RuntimeCall::AssetConversion").field(a0).finish() - } - _ => Ok(()), - } - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::GetDispatchInfo -for RuntimeCall { - fn get_dispatch_info( - &self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::DispatchInfo { - match self { - RuntimeCall::System(call) => call.get_dispatch_info(), - RuntimeCall::ParachainSystem(call) => call.get_dispatch_info(), - RuntimeCall::Timestamp(call) => call.get_dispatch_info(), - RuntimeCall::Balances(call) => call.get_dispatch_info(), - RuntimeCall::CollatorSelection(call) => call.get_dispatch_info(), - RuntimeCall::Session(call) => call.get_dispatch_info(), - RuntimeCall::XcmpQueue(call) => call.get_dispatch_info(), - RuntimeCall::PolkadotXcm(call) => call.get_dispatch_info(), - RuntimeCall::DmpQueue(call) => call.get_dispatch_info(), - RuntimeCall::Utility(call) => call.get_dispatch_info(), - RuntimeCall::Multisig(call) => call.get_dispatch_info(), - RuntimeCall::Proxy(call) => call.get_dispatch_info(), - RuntimeCall::Assets(call) => call.get_dispatch_info(), - RuntimeCall::Uniques(call) => call.get_dispatch_info(), - RuntimeCall::Nfts(call) => call.get_dispatch_info(), - RuntimeCall::ForeignAssets(call) => call.get_dispatch_info(), - RuntimeCall::NftFractionalization(call) => call.get_dispatch_info(), - RuntimeCall::PoolAssets(call) => call.get_dispatch_info(), - RuntimeCall::AssetConversion(call) => call.get_dispatch_info(), - } - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::GetCallMetadata -for RuntimeCall { - fn get_call_metadata( - &self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - use self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::GetCallName; - match self { - RuntimeCall::System(call) => { - let function_name = call.get_call_name(); - let pallet_name = "System"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::ParachainSystem(call) => { - let function_name = call.get_call_name(); - let pallet_name = "ParachainSystem"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::Timestamp(call) => { - let function_name = call.get_call_name(); - let pallet_name = "Timestamp"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::Balances(call) => { - let function_name = call.get_call_name(); - let pallet_name = "Balances"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::CollatorSelection(call) => { - let function_name = call.get_call_name(); - let pallet_name = "CollatorSelection"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::Session(call) => { - let function_name = call.get_call_name(); - let pallet_name = "Session"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::XcmpQueue(call) => { - let function_name = call.get_call_name(); - let pallet_name = "XcmpQueue"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::PolkadotXcm(call) => { - let function_name = call.get_call_name(); - let pallet_name = "PolkadotXcm"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::DmpQueue(call) => { - let function_name = call.get_call_name(); - let pallet_name = "DmpQueue"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::Utility(call) => { - let function_name = call.get_call_name(); - let pallet_name = "Utility"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::Multisig(call) => { - let function_name = call.get_call_name(); - let pallet_name = "Multisig"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::Proxy(call) => { - let function_name = call.get_call_name(); - let pallet_name = "Proxy"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::Assets(call) => { - let function_name = call.get_call_name(); - let pallet_name = "Assets"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::Uniques(call) => { - let function_name = call.get_call_name(); - let pallet_name = "Uniques"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::Nfts(call) => { - let function_name = call.get_call_name(); - let pallet_name = "Nfts"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::ForeignAssets(call) => { - let function_name = call.get_call_name(); - let pallet_name = "ForeignAssets"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::NftFractionalization(call) => { - let function_name = call.get_call_name(); - let pallet_name = "NftFractionalization"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::PoolAssets(call) => { - let function_name = call.get_call_name(); - let pallet_name = "PoolAssets"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - RuntimeCall::AssetConversion(call) => { - let function_name = call.get_call_name(); - let pallet_name = "AssetConversion"; - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CallMetadata { - function_name, - pallet_name, - } - } - } - } - fn get_module_names() -> &'static [&'static str] { - &[ - "System", - "ParachainSystem", - "Timestamp", - "Balances", - "CollatorSelection", - "Session", - "XcmpQueue", - "PolkadotXcm", - "DmpQueue", - "Utility", - "Multisig", - "Proxy", - "Assets", - "Uniques", - "Nfts", - "ForeignAssets", - "NftFractionalization", - "PoolAssets", - "AssetConversion", - ] - } - fn get_call_names(module: &str) -> &'static [&'static str] { - use self::sp_api_hidden_includes_construct_runtime::hidden_include::{ - dispatch::Callable, traits::GetCallName, - }; - match module { - "System" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "ParachainSystem" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "Timestamp" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "Balances" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "CollatorSelection" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "Session" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "XcmpQueue" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "PolkadotXcm" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "DmpQueue" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "Utility" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "Multisig" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "Proxy" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "Assets" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "Uniques" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "Nfts" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "ForeignAssets" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "NftFractionalization" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "PoolAssets" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - "AssetConversion" => { - <>::RuntimeCall as GetCallName>::get_call_names() - } - _ => ::core::panicking::panic("internal error: entered unreachable code"), - } - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::Dispatchable -for RuntimeCall { - type RuntimeOrigin = RuntimeOrigin; - type Config = RuntimeCall; - type Info = self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::DispatchInfo; - type PostInfo = self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::PostDispatchInfo; - fn dispatch( - self, - origin: RuntimeOrigin, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::DispatchResultWithPostInfo { - if !::filter_call( - &origin, - &self, - ) { - return self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::result::Result::Err( - frame_system::Error::::CallFiltered.into(), - ); - } - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - self, - origin, - ) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable -for RuntimeCall { - type RuntimeOrigin = RuntimeOrigin; - fn dispatch_bypass_filter( - self, - origin: RuntimeOrigin, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::DispatchResultWithPostInfo { - match self { - RuntimeCall::System(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::ParachainSystem(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::Timestamp(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::Balances(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::CollatorSelection(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::Session(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::XcmpQueue(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::PolkadotXcm(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::DmpQueue(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::Utility(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::Multisig(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::Proxy(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::Assets(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::Uniques(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::Nfts(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::ForeignAssets(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::NftFractionalization(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::PoolAssets(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - RuntimeCall::AssetConversion(call) => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter( - call, - origin, - ) - } - } - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - System, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - System, - Runtime, - >, - > { - match self { - RuntimeCall::System(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - System, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - System, - Runtime, - >, - ) -> Self { - RuntimeCall::System(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ParachainSystem, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ParachainSystem, - Runtime, - >, - > { - match self { - RuntimeCall::ParachainSystem(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ParachainSystem, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ParachainSystem, - Runtime, - >, - ) -> Self { - RuntimeCall::ParachainSystem(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Timestamp, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Timestamp, - Runtime, - >, - > { - match self { - RuntimeCall::Timestamp(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Timestamp, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Timestamp, - Runtime, - >, - ) -> Self { - RuntimeCall::Timestamp(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Balances, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Balances, - Runtime, - >, - > { - match self { - RuntimeCall::Balances(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Balances, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Balances, - Runtime, - >, - ) -> Self { - RuntimeCall::Balances(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - CollatorSelection, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - CollatorSelection, - Runtime, - >, - > { - match self { - RuntimeCall::CollatorSelection(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - CollatorSelection, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - CollatorSelection, - Runtime, - >, - ) -> Self { - RuntimeCall::CollatorSelection(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Session, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Session, - Runtime, - >, - > { - match self { - RuntimeCall::Session(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Session, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Session, - Runtime, - >, - ) -> Self { - RuntimeCall::Session(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - XcmpQueue, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - XcmpQueue, - Runtime, - >, - > { - match self { - RuntimeCall::XcmpQueue(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - XcmpQueue, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - XcmpQueue, - Runtime, - >, - ) -> Self { - RuntimeCall::XcmpQueue(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PolkadotXcm, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PolkadotXcm, - Runtime, - >, - > { - match self { - RuntimeCall::PolkadotXcm(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PolkadotXcm, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PolkadotXcm, - Runtime, - >, - ) -> Self { - RuntimeCall::PolkadotXcm(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - DmpQueue, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - DmpQueue, - Runtime, - >, - > { - match self { - RuntimeCall::DmpQueue(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - DmpQueue, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - DmpQueue, - Runtime, - >, - ) -> Self { - RuntimeCall::DmpQueue(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Utility, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Utility, - Runtime, - >, - > { - match self { - RuntimeCall::Utility(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Utility, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Utility, - Runtime, - >, - ) -> Self { - RuntimeCall::Utility(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Multisig, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Multisig, - Runtime, - >, - > { - match self { - RuntimeCall::Multisig(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Multisig, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Multisig, - Runtime, - >, - ) -> Self { - RuntimeCall::Multisig(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Proxy, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Proxy, - Runtime, - >, - > { - match self { - RuntimeCall::Proxy(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Proxy, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Proxy, - Runtime, - >, - ) -> Self { - RuntimeCall::Proxy(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Assets, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Assets, - Runtime, - >, - > { - match self { - RuntimeCall::Assets(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Assets, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Assets, - Runtime, - >, - ) -> Self { - RuntimeCall::Assets(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Uniques, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Uniques, - Runtime, - >, - > { - match self { - RuntimeCall::Uniques(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Uniques, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Uniques, - Runtime, - >, - ) -> Self { - RuntimeCall::Uniques(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Nfts, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Nfts, - Runtime, - >, - > { - match self { - RuntimeCall::Nfts(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Nfts, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - Nfts, - Runtime, - >, - ) -> Self { - RuntimeCall::Nfts(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ForeignAssets, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ForeignAssets, - Runtime, - >, - > { - match self { - RuntimeCall::ForeignAssets(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ForeignAssets, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - ForeignAssets, - Runtime, - >, - ) -> Self { - RuntimeCall::ForeignAssets(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - NftFractionalization, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - NftFractionalization, - Runtime, - >, - > { - match self { - RuntimeCall::NftFractionalization(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - NftFractionalization, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - NftFractionalization, - Runtime, - >, - ) -> Self { - RuntimeCall::NftFractionalization(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PoolAssets, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PoolAssets, - Runtime, - >, - > { - match self { - RuntimeCall::PoolAssets(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PoolAssets, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - PoolAssets, - Runtime, - >, - ) -> Self { - RuntimeCall::PoolAssets(call) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - AssetConversion, - Runtime, - >, -> for RuntimeCall { - #[allow(unreachable_patterns)] - fn is_sub_type( - &self, - ) -> Option< - &self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - AssetConversion, - Runtime, - >, - > { - match self { - RuntimeCall::AssetConversion(call) => Some(call), - _ => None, - } - } -} -impl From< - self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - AssetConversion, - Runtime, - >, -> for RuntimeCall { - fn from( - call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor< - AssetConversion, - Runtime, - >, - ) -> Self { - RuntimeCall::AssetConversion(call) - } -} -impl Runtime { - fn metadata_ir() -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::MetadataIR { - let rt = Runtime; - let ty = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - <::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic, - >(); - let address_ty = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - <<<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::SignaturePayload as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::SignaturePayload>::SignatureAddress, - >(); - let call_ty = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::Call, - >(); - let signature_ty = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - <<<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::SignaturePayload as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::SignaturePayload>::Signature, - >(); - let extra_ty = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - <<<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::SignaturePayload as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::SignaturePayload>::SignatureExtra, - >(); - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::MetadataIR { - pallets: <[_]>::into_vec( - #[rustc_box] - ::alloc::boxed::Box::new([ - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "System", - index: 0u8, - storage: Some( - frame_system::Pallet::::storage_metadata(), - ), - calls: Some(frame_system::Pallet::::call_functions()), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - frame_system::Event, - >(), - }), - constants: frame_system::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: frame_system::Pallet::::error_metadata(), - docs: frame_system::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "ParachainSystem", - index: 1u8, - storage: Some( - cumulus_pallet_parachain_system::Pallet::< - Runtime, - >::storage_metadata(), - ), - calls: Some( - cumulus_pallet_parachain_system::Pallet::< - Runtime, - >::call_functions(), - ), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - cumulus_pallet_parachain_system::Event, - >(), - }), - constants: cumulus_pallet_parachain_system::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: cumulus_pallet_parachain_system::Pallet::< - Runtime, - >::error_metadata(), - docs: cumulus_pallet_parachain_system::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "Timestamp", - index: 3u8, - storage: Some( - pallet_timestamp::Pallet::::storage_metadata(), - ), - calls: Some( - pallet_timestamp::Pallet::::call_functions(), - ), - event: None, - constants: pallet_timestamp::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_timestamp::Pallet::::error_metadata(), - docs: pallet_timestamp::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "ParachainInfo", - index: 4u8, - storage: Some( - parachain_info::Pallet::::storage_metadata(), - ), - calls: None, - event: None, - constants: parachain_info::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: parachain_info::Pallet::::error_metadata(), - docs: parachain_info::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "Balances", - index: 10u8, - storage: Some( - pallet_balances::Pallet::::storage_metadata(), - ), - calls: Some( - pallet_balances::Pallet::::call_functions(), - ), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_balances::Event, - >(), - }), - constants: pallet_balances::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_balances::Pallet::::error_metadata(), - docs: pallet_balances::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "TransactionPayment", - index: 11u8, - storage: Some( - pallet_transaction_payment::Pallet::< - Runtime, - >::storage_metadata(), - ), - calls: None, - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_transaction_payment::Event, - >(), - }), - constants: pallet_transaction_payment::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_transaction_payment::Pallet::< - Runtime, - >::error_metadata(), - docs: pallet_transaction_payment::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "AssetTxPayment", - index: 13u8, - storage: None, - calls: None, - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_asset_conversion_tx_payment::Event, - >(), - }), - constants: pallet_asset_conversion_tx_payment::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_asset_conversion_tx_payment::Pallet::< - Runtime, - >::error_metadata(), - docs: pallet_asset_conversion_tx_payment::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "Authorship", - index: 20u8, - storage: Some( - pallet_authorship::Pallet::::storage_metadata(), - ), - calls: None, - event: None, - constants: pallet_authorship::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_authorship::Pallet::::error_metadata(), - docs: pallet_authorship::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "CollatorSelection", - index: 21u8, - storage: Some( - pallet_collator_selection::Pallet::< - Runtime, - >::storage_metadata(), - ), - calls: Some( - pallet_collator_selection::Pallet::< - Runtime, - >::call_functions(), - ), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_collator_selection::Event, - >(), - }), - constants: pallet_collator_selection::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_collator_selection::Pallet::< - Runtime, - >::error_metadata(), - docs: pallet_collator_selection::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "Session", - index: 22u8, - storage: Some( - pallet_session::Pallet::::storage_metadata(), - ), - calls: Some(pallet_session::Pallet::::call_functions()), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_session::Event, - >(), - }), - constants: pallet_session::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_session::Pallet::::error_metadata(), - docs: pallet_session::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "Aura", - index: 23u8, - storage: Some( - pallet_aura::Pallet::::storage_metadata(), - ), - calls: None, - event: None, - constants: pallet_aura::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_aura::Pallet::::error_metadata(), - docs: pallet_aura::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "AuraExt", - index: 24u8, - storage: Some( - cumulus_pallet_aura_ext::Pallet::< - Runtime, - >::storage_metadata(), - ), - calls: None, - event: None, - constants: cumulus_pallet_aura_ext::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: cumulus_pallet_aura_ext::Pallet::< - Runtime, - >::error_metadata(), - docs: cumulus_pallet_aura_ext::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "XcmpQueue", - index: 30u8, - storage: Some( - cumulus_pallet_xcmp_queue::Pallet::< - Runtime, - >::storage_metadata(), - ), - calls: Some( - cumulus_pallet_xcmp_queue::Pallet::< - Runtime, - >::call_functions(), - ), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - cumulus_pallet_xcmp_queue::Event, - >(), - }), - constants: cumulus_pallet_xcmp_queue::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: cumulus_pallet_xcmp_queue::Pallet::< - Runtime, - >::error_metadata(), - docs: cumulus_pallet_xcmp_queue::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "PolkadotXcm", - index: 31u8, - storage: Some(pallet_xcm::Pallet::::storage_metadata()), - calls: Some(pallet_xcm::Pallet::::call_functions()), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_xcm::Event, - >(), - }), - constants: pallet_xcm::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_xcm::Pallet::::error_metadata(), - docs: pallet_xcm::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "CumulusXcm", - index: 32u8, - storage: None, - calls: None, - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - cumulus_pallet_xcm::Event, - >(), - }), - constants: cumulus_pallet_xcm::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: cumulus_pallet_xcm::Pallet::::error_metadata(), - docs: cumulus_pallet_xcm::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "DmpQueue", - index: 33u8, - storage: Some( - cumulus_pallet_dmp_queue::Pallet::< - Runtime, - >::storage_metadata(), - ), - calls: Some( - cumulus_pallet_dmp_queue::Pallet::::call_functions(), - ), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - cumulus_pallet_dmp_queue::Event, - >(), - }), - constants: cumulus_pallet_dmp_queue::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: cumulus_pallet_dmp_queue::Pallet::< - Runtime, - >::error_metadata(), - docs: cumulus_pallet_dmp_queue::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "Utility", - index: 40u8, - storage: None, - calls: Some(pallet_utility::Pallet::::call_functions()), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_utility::Event, - >(), - }), - constants: pallet_utility::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_utility::Pallet::::error_metadata(), - docs: pallet_utility::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "Multisig", - index: 41u8, - storage: Some( - pallet_multisig::Pallet::::storage_metadata(), - ), - calls: Some( - pallet_multisig::Pallet::::call_functions(), - ), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_multisig::Event, - >(), - }), - constants: pallet_multisig::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_multisig::Pallet::::error_metadata(), - docs: pallet_multisig::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "Proxy", - index: 42u8, - storage: Some( - pallet_proxy::Pallet::::storage_metadata(), - ), - calls: Some(pallet_proxy::Pallet::::call_functions()), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_proxy::Event, - >(), - }), - constants: pallet_proxy::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_proxy::Pallet::::error_metadata(), - docs: pallet_proxy::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "Assets", - index: 50u8, - storage: Some( - pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance1, - >::storage_metadata(), - ), - calls: Some( - pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance1, - >::call_functions(), - ), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_assets::Event, - >(), - }), - constants: pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance1, - >::pallet_constants_metadata(), - error: pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance1, - >::error_metadata(), - docs: pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance1, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "Uniques", - index: 51u8, - storage: Some( - pallet_uniques::Pallet::::storage_metadata(), - ), - calls: Some(pallet_uniques::Pallet::::call_functions()), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_uniques::Event, - >(), - }), - constants: pallet_uniques::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_uniques::Pallet::::error_metadata(), - docs: pallet_uniques::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "Nfts", - index: 52u8, - storage: Some( - pallet_nfts::Pallet::::storage_metadata(), - ), - calls: Some(pallet_nfts::Pallet::::call_functions()), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_nfts::Event, - >(), - }), - constants: pallet_nfts::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_nfts::Pallet::::error_metadata(), - docs: pallet_nfts::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "ForeignAssets", - index: 53u8, - storage: Some( - pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance2, - >::storage_metadata(), - ), - calls: Some( - pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance2, - >::call_functions(), - ), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_assets::Event, - >(), - }), - constants: pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance2, - >::pallet_constants_metadata(), - error: pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance2, - >::error_metadata(), - docs: pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance2, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "NftFractionalization", - index: 54u8, - storage: Some( - pallet_nft_fractionalization::Pallet::< - Runtime, - >::storage_metadata(), - ), - calls: Some( - pallet_nft_fractionalization::Pallet::< - Runtime, - >::call_functions(), - ), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_nft_fractionalization::Event, - >(), - }), - constants: pallet_nft_fractionalization::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_nft_fractionalization::Pallet::< - Runtime, - >::error_metadata(), - docs: pallet_nft_fractionalization::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "PoolAssets", - index: 55u8, - storage: Some( - pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance3, - >::storage_metadata(), - ), - calls: Some( - pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance3, - >::call_functions(), - ), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_assets::Event, - >(), - }), - constants: pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance3, - >::pallet_constants_metadata(), - error: pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance3, - >::error_metadata(), - docs: pallet_assets::Pallet::< - Runtime, - pallet_assets::Instance3, - >::pallet_documentation_metadata(), - }, - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletMetadataIR { - name: "AssetConversion", - index: 56u8, - storage: Some( - pallet_asset_conversion::Pallet::< - Runtime, - >::storage_metadata(), - ), - calls: Some( - pallet_asset_conversion::Pallet::::call_functions(), - ), - event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::PalletEventMetadataIR { - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - pallet_asset_conversion::Event, - >(), - }), - constants: pallet_asset_conversion::Pallet::< - Runtime, - >::pallet_constants_metadata(), - error: pallet_asset_conversion::Pallet::< - Runtime, - >::error_metadata(), - docs: pallet_asset_conversion::Pallet::< - Runtime, - >::pallet_documentation_metadata(), - }, - ]), - ), - extrinsic: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::ExtrinsicMetadataIR { - ty, - version: <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::ExtrinsicMetadata>::VERSION, - address_ty, - call_ty, - signature_ty, - extra_ty, - signed_extensions: <<<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::ExtrinsicMetadata>::SignedExtensions as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::SignedExtension>::metadata() - .into_iter() - .map(|meta| self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::SignedExtensionMetadataIR { - identifier: meta.identifier, - ty: meta.ty, - additional_signed: meta.additional_signed, - }) - .collect(), - }, - ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - Runtime, - >(), - apis: (&rt).runtime_metadata(), - outer_enums: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::OuterEnumsIR { - call_enum_ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - ::RuntimeCall, - >(), - event_enum_ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - RuntimeEvent, - >(), - error_enum_ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::scale_info::meta_type::< - RuntimeError, - >(), - }, - } - } - pub fn metadata() -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata::RuntimeMetadataPrefixed { - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::into_v14( - Runtime::metadata_ir(), - ) - } - pub fn metadata_at_version( - version: u32, - ) -> Option< - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::OpaqueMetadata, - > { - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::into_version( - Runtime::metadata_ir(), - version, - ) - .map(|prefixed| { - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::OpaqueMetadata::new( - prefixed.into(), - ) - }) - } - pub fn metadata_versions() -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::vec::Vec< - u32, - > { - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::metadata_ir::supported_versions() - } -} -pub type SystemConfig = frame_system::GenesisConfig; -pub type ParachainSystemConfig = cumulus_pallet_parachain_system::GenesisConfig; -pub type ParachainInfoConfig = parachain_info::GenesisConfig; -pub type BalancesConfig = pallet_balances::GenesisConfig; -pub type CollatorSelectionConfig = pallet_collator_selection::GenesisConfig; -pub type SessionConfig = pallet_session::GenesisConfig; -pub type AuraConfig = pallet_aura::GenesisConfig; -pub type AuraExtConfig = cumulus_pallet_aura_ext::GenesisConfig; -pub type PolkadotXcmConfig = pallet_xcm::GenesisConfig; -use self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::serde as __genesis_config_serde_import__; -#[serde(rename_all = "camelCase")] -#[serde(deny_unknown_fields)] -#[serde(crate = "__genesis_config_serde_import__")] -pub struct RuntimeGenesisConfig { - pub system: SystemConfig, - pub parachain_system: ParachainSystemConfig, - pub parachain_info: ParachainInfoConfig, - pub balances: BalancesConfig, - pub collator_selection: CollatorSelectionConfig, - pub session: SessionConfig, - pub aura: AuraConfig, - pub aura_ext: AuraExtConfig, - pub polkadot_xcm: PolkadotXcmConfig, -} -#[doc(hidden)] -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - use __genesis_config_serde_import__ as _serde; - #[automatically_derived] - impl __genesis_config_serde_import__::Serialize for RuntimeGenesisConfig { - fn serialize<__S>( - &self, - __serializer: __S, - ) -> __genesis_config_serde_import__::__private::Result<__S::Ok, __S::Error> - where - __S: __genesis_config_serde_import__::Serializer, - { - let mut __serde_state = _serde::Serializer::serialize_struct( - __serializer, - "RuntimeGenesisConfig", - false as usize + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1, - )?; - _serde::ser::SerializeStruct::serialize_field( - &mut __serde_state, - "system", - &self.system, - )?; - _serde::ser::SerializeStruct::serialize_field( - &mut __serde_state, - "parachainSystem", - &self.parachain_system, - )?; - _serde::ser::SerializeStruct::serialize_field( - &mut __serde_state, - "parachainInfo", - &self.parachain_info, - )?; - _serde::ser::SerializeStruct::serialize_field( - &mut __serde_state, - "balances", - &self.balances, - )?; - _serde::ser::SerializeStruct::serialize_field( - &mut __serde_state, - "collatorSelection", - &self.collator_selection, - )?; - _serde::ser::SerializeStruct::serialize_field( - &mut __serde_state, - "session", - &self.session, - )?; - _serde::ser::SerializeStruct::serialize_field( - &mut __serde_state, - "aura", - &self.aura, - )?; - _serde::ser::SerializeStruct::serialize_field( - &mut __serde_state, - "auraExt", - &self.aura_ext, - )?; - _serde::ser::SerializeStruct::serialize_field( - &mut __serde_state, - "polkadotXcm", - &self.polkadot_xcm, - )?; - _serde::ser::SerializeStruct::end(__serde_state) - } - } -}; -#[doc(hidden)] -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - use __genesis_config_serde_import__ as _serde; - #[automatically_derived] - impl<'de> __genesis_config_serde_import__::Deserialize<'de> - for RuntimeGenesisConfig { - fn deserialize<__D>( - __deserializer: __D, - ) -> __genesis_config_serde_import__::__private::Result - where - __D: __genesis_config_serde_import__::Deserializer<'de>, - { - #[allow(non_camel_case_types)] - #[doc(hidden)] - enum __Field { - __field0, - __field1, - __field2, - __field3, - __field4, - __field5, - __field6, - __field7, - __field8, - } - #[doc(hidden)] - struct __FieldVisitor; - impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { - type Value = __Field; - fn expecting( - &self, - __formatter: &mut _serde::__private::Formatter, - ) -> _serde::__private::fmt::Result { - _serde::__private::Formatter::write_str( - __formatter, - "field identifier", - ) - } - fn visit_u64<__E>( - self, - __value: u64, - ) -> _serde::__private::Result - where - __E: _serde::de::Error, - { - match __value { - 0u64 => _serde::__private::Ok(__Field::__field0), - 1u64 => _serde::__private::Ok(__Field::__field1), - 2u64 => _serde::__private::Ok(__Field::__field2), - 3u64 => _serde::__private::Ok(__Field::__field3), - 4u64 => _serde::__private::Ok(__Field::__field4), - 5u64 => _serde::__private::Ok(__Field::__field5), - 6u64 => _serde::__private::Ok(__Field::__field6), - 7u64 => _serde::__private::Ok(__Field::__field7), - 8u64 => _serde::__private::Ok(__Field::__field8), - _ => { - _serde::__private::Err( - _serde::de::Error::invalid_value( - _serde::de::Unexpected::Unsigned(__value), - &"field index 0 <= i < 9", - ), - ) - } - } - } - fn visit_str<__E>( - self, - __value: &str, - ) -> _serde::__private::Result - where - __E: _serde::de::Error, - { - match __value { - "system" => _serde::__private::Ok(__Field::__field0), - "parachainSystem" => _serde::__private::Ok(__Field::__field1), - "parachainInfo" => _serde::__private::Ok(__Field::__field2), - "balances" => _serde::__private::Ok(__Field::__field3), - "collatorSelection" => _serde::__private::Ok(__Field::__field4), - "session" => _serde::__private::Ok(__Field::__field5), - "aura" => _serde::__private::Ok(__Field::__field6), - "auraExt" => _serde::__private::Ok(__Field::__field7), - "polkadotXcm" => _serde::__private::Ok(__Field::__field8), - _ => { - _serde::__private::Err( - _serde::de::Error::unknown_field(__value, FIELDS), - ) - } - } - } - fn visit_bytes<__E>( - self, - __value: &[u8], - ) -> _serde::__private::Result - where - __E: _serde::de::Error, - { - match __value { - b"system" => _serde::__private::Ok(__Field::__field0), - b"parachainSystem" => _serde::__private::Ok(__Field::__field1), - b"parachainInfo" => _serde::__private::Ok(__Field::__field2), - b"balances" => _serde::__private::Ok(__Field::__field3), - b"collatorSelection" => _serde::__private::Ok(__Field::__field4), - b"session" => _serde::__private::Ok(__Field::__field5), - b"aura" => _serde::__private::Ok(__Field::__field6), - b"auraExt" => _serde::__private::Ok(__Field::__field7), - b"polkadotXcm" => _serde::__private::Ok(__Field::__field8), - _ => { - let __value = &_serde::__private::from_utf8_lossy(__value); - _serde::__private::Err( - _serde::de::Error::unknown_field(__value, FIELDS), - ) - } - } - } - } - impl<'de> _serde::Deserialize<'de> for __Field { - #[inline] - fn deserialize<__D>( - __deserializer: __D, - ) -> _serde::__private::Result - where - __D: _serde::Deserializer<'de>, - { - _serde::Deserializer::deserialize_identifier( - __deserializer, - __FieldVisitor, - ) - } - } - #[doc(hidden)] - struct __Visitor<'de> { - marker: _serde::__private::PhantomData, - lifetime: _serde::__private::PhantomData<&'de ()>, - } - impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { - type Value = RuntimeGenesisConfig; - fn expecting( - &self, - __formatter: &mut _serde::__private::Formatter, - ) -> _serde::__private::fmt::Result { - _serde::__private::Formatter::write_str( - __formatter, - "struct RuntimeGenesisConfig", - ) - } - #[inline] - fn visit_seq<__A>( - self, - mut __seq: __A, - ) -> _serde::__private::Result - where - __A: _serde::de::SeqAccess<'de>, - { - let __field0 = match _serde::de::SeqAccess::next_element::< - SystemConfig, - >(&mut __seq)? { - _serde::__private::Some(__value) => __value, - _serde::__private::None => { - return _serde::__private::Err( - _serde::de::Error::invalid_length( - 0usize, - &"struct RuntimeGenesisConfig with 9 elements", - ), - ); - } - }; - let __field1 = match _serde::de::SeqAccess::next_element::< - ParachainSystemConfig, - >(&mut __seq)? { - _serde::__private::Some(__value) => __value, - _serde::__private::None => { - return _serde::__private::Err( - _serde::de::Error::invalid_length( - 1usize, - &"struct RuntimeGenesisConfig with 9 elements", - ), - ); - } - }; - let __field2 = match _serde::de::SeqAccess::next_element::< - ParachainInfoConfig, - >(&mut __seq)? { - _serde::__private::Some(__value) => __value, - _serde::__private::None => { - return _serde::__private::Err( - _serde::de::Error::invalid_length( - 2usize, - &"struct RuntimeGenesisConfig with 9 elements", - ), - ); - } - }; - let __field3 = match _serde::de::SeqAccess::next_element::< - BalancesConfig, - >(&mut __seq)? { - _serde::__private::Some(__value) => __value, - _serde::__private::None => { - return _serde::__private::Err( - _serde::de::Error::invalid_length( - 3usize, - &"struct RuntimeGenesisConfig with 9 elements", - ), - ); - } - }; - let __field4 = match _serde::de::SeqAccess::next_element::< - CollatorSelectionConfig, - >(&mut __seq)? { - _serde::__private::Some(__value) => __value, - _serde::__private::None => { - return _serde::__private::Err( - _serde::de::Error::invalid_length( - 4usize, - &"struct RuntimeGenesisConfig with 9 elements", - ), - ); - } - }; - let __field5 = match _serde::de::SeqAccess::next_element::< - SessionConfig, - >(&mut __seq)? { - _serde::__private::Some(__value) => __value, - _serde::__private::None => { - return _serde::__private::Err( - _serde::de::Error::invalid_length( - 5usize, - &"struct RuntimeGenesisConfig with 9 elements", - ), - ); - } - }; - let __field6 = match _serde::de::SeqAccess::next_element::< - AuraConfig, - >(&mut __seq)? { - _serde::__private::Some(__value) => __value, - _serde::__private::None => { - return _serde::__private::Err( - _serde::de::Error::invalid_length( - 6usize, - &"struct RuntimeGenesisConfig with 9 elements", - ), - ); - } - }; - let __field7 = match _serde::de::SeqAccess::next_element::< - AuraExtConfig, - >(&mut __seq)? { - _serde::__private::Some(__value) => __value, - _serde::__private::None => { - return _serde::__private::Err( - _serde::de::Error::invalid_length( - 7usize, - &"struct RuntimeGenesisConfig with 9 elements", - ), - ); - } - }; - let __field8 = match _serde::de::SeqAccess::next_element::< - PolkadotXcmConfig, - >(&mut __seq)? { - _serde::__private::Some(__value) => __value, - _serde::__private::None => { - return _serde::__private::Err( - _serde::de::Error::invalid_length( - 8usize, - &"struct RuntimeGenesisConfig with 9 elements", - ), - ); - } - }; - _serde::__private::Ok(RuntimeGenesisConfig { - system: __field0, - parachain_system: __field1, - parachain_info: __field2, - balances: __field3, - collator_selection: __field4, - session: __field5, - aura: __field6, - aura_ext: __field7, - polkadot_xcm: __field8, - }) - } - #[inline] - fn visit_map<__A>( - self, - mut __map: __A, - ) -> _serde::__private::Result - where - __A: _serde::de::MapAccess<'de>, - { - let mut __field0: _serde::__private::Option = _serde::__private::None; - let mut __field1: _serde::__private::Option = _serde::__private::None; - let mut __field2: _serde::__private::Option = _serde::__private::None; - let mut __field3: _serde::__private::Option = _serde::__private::None; - let mut __field4: _serde::__private::Option< - CollatorSelectionConfig, - > = _serde::__private::None; - let mut __field5: _serde::__private::Option = _serde::__private::None; - let mut __field6: _serde::__private::Option = _serde::__private::None; - let mut __field7: _serde::__private::Option = _serde::__private::None; - let mut __field8: _serde::__private::Option = _serde::__private::None; - while let _serde::__private::Some(__key) - = _serde::de::MapAccess::next_key::<__Field>(&mut __map)? { - match __key { - __Field::__field0 => { - if _serde::__private::Option::is_some(&__field0) { - return _serde::__private::Err( - <__A::Error as _serde::de::Error>::duplicate_field("system"), - ); - } - __field0 = _serde::__private::Some( - _serde::de::MapAccess::next_value::< - SystemConfig, - >(&mut __map)?, - ); - } - __Field::__field1 => { - if _serde::__private::Option::is_some(&__field1) { - return _serde::__private::Err( - <__A::Error as _serde::de::Error>::duplicate_field( - "parachainSystem", - ), - ); - } - __field1 = _serde::__private::Some( - _serde::de::MapAccess::next_value::< - ParachainSystemConfig, - >(&mut __map)?, - ); - } - __Field::__field2 => { - if _serde::__private::Option::is_some(&__field2) { - return _serde::__private::Err( - <__A::Error as _serde::de::Error>::duplicate_field( - "parachainInfo", - ), - ); - } - __field2 = _serde::__private::Some( - _serde::de::MapAccess::next_value::< - ParachainInfoConfig, - >(&mut __map)?, - ); - } - __Field::__field3 => { - if _serde::__private::Option::is_some(&__field3) { - return _serde::__private::Err( - <__A::Error as _serde::de::Error>::duplicate_field( - "balances", - ), - ); - } - __field3 = _serde::__private::Some( - _serde::de::MapAccess::next_value::< - BalancesConfig, - >(&mut __map)?, - ); - } - __Field::__field4 => { - if _serde::__private::Option::is_some(&__field4) { - return _serde::__private::Err( - <__A::Error as _serde::de::Error>::duplicate_field( - "collatorSelection", - ), - ); - } - __field4 = _serde::__private::Some( - _serde::de::MapAccess::next_value::< - CollatorSelectionConfig, - >(&mut __map)?, - ); - } - __Field::__field5 => { - if _serde::__private::Option::is_some(&__field5) { - return _serde::__private::Err( - <__A::Error as _serde::de::Error>::duplicate_field( - "session", - ), - ); - } - __field5 = _serde::__private::Some( - _serde::de::MapAccess::next_value::< - SessionConfig, - >(&mut __map)?, - ); - } - __Field::__field6 => { - if _serde::__private::Option::is_some(&__field6) { - return _serde::__private::Err( - <__A::Error as _serde::de::Error>::duplicate_field("aura"), - ); - } - __field6 = _serde::__private::Some( - _serde::de::MapAccess::next_value::(&mut __map)?, - ); - } - __Field::__field7 => { - if _serde::__private::Option::is_some(&__field7) { - return _serde::__private::Err( - <__A::Error as _serde::de::Error>::duplicate_field( - "auraExt", - ), - ); - } - __field7 = _serde::__private::Some( - _serde::de::MapAccess::next_value::< - AuraExtConfig, - >(&mut __map)?, - ); - } - __Field::__field8 => { - if _serde::__private::Option::is_some(&__field8) { - return _serde::__private::Err( - <__A::Error as _serde::de::Error>::duplicate_field( - "polkadotXcm", - ), - ); - } - __field8 = _serde::__private::Some( - _serde::de::MapAccess::next_value::< - PolkadotXcmConfig, - >(&mut __map)?, - ); - } - } - } - let __field0 = match __field0 { - _serde::__private::Some(__field0) => __field0, - _serde::__private::None => { - _serde::__private::de::missing_field("system")? - } - }; - let __field1 = match __field1 { - _serde::__private::Some(__field1) => __field1, - _serde::__private::None => { - _serde::__private::de::missing_field("parachainSystem")? - } - }; - let __field2 = match __field2 { - _serde::__private::Some(__field2) => __field2, - _serde::__private::None => { - _serde::__private::de::missing_field("parachainInfo")? - } - }; - let __field3 = match __field3 { - _serde::__private::Some(__field3) => __field3, - _serde::__private::None => { - _serde::__private::de::missing_field("balances")? - } - }; - let __field4 = match __field4 { - _serde::__private::Some(__field4) => __field4, - _serde::__private::None => { - _serde::__private::de::missing_field("collatorSelection")? - } - }; - let __field5 = match __field5 { - _serde::__private::Some(__field5) => __field5, - _serde::__private::None => { - _serde::__private::de::missing_field("session")? - } - }; - let __field6 = match __field6 { - _serde::__private::Some(__field6) => __field6, - _serde::__private::None => { - _serde::__private::de::missing_field("aura")? - } - }; - let __field7 = match __field7 { - _serde::__private::Some(__field7) => __field7, - _serde::__private::None => { - _serde::__private::de::missing_field("auraExt")? - } - }; - let __field8 = match __field8 { - _serde::__private::Some(__field8) => __field8, - _serde::__private::None => { - _serde::__private::de::missing_field("polkadotXcm")? - } - }; - _serde::__private::Ok(RuntimeGenesisConfig { - system: __field0, - parachain_system: __field1, - parachain_info: __field2, - balances: __field3, - collator_selection: __field4, - session: __field5, - aura: __field6, - aura_ext: __field7, - polkadot_xcm: __field8, - }) - } - } - #[doc(hidden)] - const FIELDS: &'static [&'static str] = &[ - "system", - "parachainSystem", - "parachainInfo", - "balances", - "collatorSelection", - "session", - "aura", - "auraExt", - "polkadotXcm", - ]; - _serde::Deserializer::deserialize_struct( - __deserializer, - "RuntimeGenesisConfig", - FIELDS, - __Visitor { - marker: _serde::__private::PhantomData::, - lifetime: _serde::__private::PhantomData, - }, - ) - } - } -}; -#[automatically_derived] -impl ::core::default::Default for RuntimeGenesisConfig { - #[inline] - fn default() -> RuntimeGenesisConfig { - RuntimeGenesisConfig { - system: ::core::default::Default::default(), - parachain_system: ::core::default::Default::default(), - parachain_info: ::core::default::Default::default(), - balances: ::core::default::Default::default(), - collator_selection: ::core::default::Default::default(), - session: ::core::default::Default::default(), - aura: ::core::default::Default::default(), - aura_ext: ::core::default::Default::default(), - polkadot_xcm: ::core::default::Default::default(), - } - } -} -#[cfg(any(feature = "std", test))] -#[deprecated( - note = "GenesisConfig is planned to be removed in December 2023. Use `RuntimeGenesisConfig` instead." -)] -pub type GenesisConfig = RuntimeGenesisConfig; -#[cfg(any(feature = "std", test))] -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::BuildStorage -for RuntimeGenesisConfig { - fn assimilate_storage( - &self, - storage: &mut self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::Storage, - ) -> std::result::Result<(), String> { - self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::BasicExternalities::execute_with_storage( - storage, - || { - ::build( - &self, - ); - Ok(()) - }, - ) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::BuildGenesisConfig -for RuntimeGenesisConfig { - fn build(&self) { - ::build( - &self.system, - ); - ::build( - &self.parachain_system, - ); - ::build( - &self.parachain_info, - ); - ::build( - &self.balances, - ); - ::build( - &self.collator_selection, - ); - ::build( - &self.session, - ); - ::build( - &self.aura, - ); - ::build( - &self.aura_ext, - ); - ::build( - &self.polkadot_xcm, - ); - ::on_genesis(); - } -} -trait InherentDataExt { - fn create_extrinsics( - &self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::vec::Vec< - <::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic, - >; - fn check_extrinsics( - &self, - block: &::Block, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::CheckInherentsResult; -} -impl InherentDataExt -for self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::InherentData { - fn create_extrinsics( - &self, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::vec::Vec< - <::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic, - > { - use self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::ProvideInherent; - let mut inherents = self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::sp_std::vec::Vec::new(); - if let Some(inherent) = ParachainSystem::create_inherent(self) { - let inherent = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::new( - inherent.into(), - None, - ) - .expect( - "Runtime UncheckedExtrinsic is not Opaque, so it has to return \ - `Some`; qed", - ); - inherents.push(inherent); - } - if let Some(inherent) = Timestamp::create_inherent(self) { - let inherent = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic>::new( - inherent.into(), - None, - ) - .expect( - "Runtime UncheckedExtrinsic is not Opaque, so it has to return \ - `Some`; qed", - ); - inherents.push(inherent); - } - inherents - } - fn check_extrinsics( - &self, - block: &::Block, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::CheckInherentsResult { - use self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::{ - ProvideInherent, IsFatalError, - }; - use self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::{ - IsSubType, ExtrinsicCall, - }; - use self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block as _; - use self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::{ - sp_inherents::Error, log, - }; - let mut result = self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::CheckInherentsResult::new(); - fn handle_put_error_result(res: Result<(), Error>) { - const LOG_TARGET: &str = "runtime::inherent"; - match res { - Ok(()) => {} - Err(Error::InherentDataExists(id)) => { - let lvl = ::log::Level::Debug; - if lvl <= ::log::STATIC_MAX_LEVEL && lvl <= ::log::max_level() { - ::log::__private_api::log( - format_args!( - "Some error already reported for inherent {0:?}, new non fatal error is ignored", - id - ), - lvl, - &( - LOG_TARGET, - "asset_hub_kusama_runtime", - "cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs", - ), - 823u32, - ::log::__private_api::Option::None, - ); - } - } - Err(Error::FatalErrorReported) => { - let lvl = ::log::Level::Error; - if lvl <= ::log::STATIC_MAX_LEVEL && lvl <= ::log::max_level() { - ::log::__private_api::log( - format_args!( - "Fatal error already reported, unexpected considering there is only one fatal error" - ), - lvl, - &( - LOG_TARGET, - "asset_hub_kusama_runtime", - "cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs", - ), - 823u32, - ::log::__private_api::Option::None, - ); - } - } - Err(_) => { - let lvl = ::log::Level::Error; - if lvl <= ::log::STATIC_MAX_LEVEL && lvl <= ::log::max_level() { - ::log::__private_api::log( - format_args!("Unexpected error from `put_error` operation"), - lvl, - &( - LOG_TARGET, - "asset_hub_kusama_runtime", - "cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs", - ), - 823u32, - ::log::__private_api::Option::None, - ); - } - } - } - } - for xt in block.extrinsics() { - if self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic::is_signed( - xt, - ) - .unwrap_or(false) - { - break; - } - let mut is_inherent = false; - { - let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( - xt, - ); - if let Some(call) = IsSubType::<_>::is_sub_type(call) { - if ParachainSystem::is_inherent(call) { - is_inherent = true; - if let Err(e) = ParachainSystem::check_inherent(call, self) { - handle_put_error_result( - result.put_error(ParachainSystem::INHERENT_IDENTIFIER, &e), - ); - if e.is_fatal_error() { - return result; - } - } - } - } - } - { - let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( - xt, - ); - if let Some(call) = IsSubType::<_>::is_sub_type(call) { - if Timestamp::is_inherent(call) { - is_inherent = true; - if let Err(e) = Timestamp::check_inherent(call, self) { - handle_put_error_result( - result.put_error(Timestamp::INHERENT_IDENTIFIER, &e), - ); - if e.is_fatal_error() { - return result; - } - } - } - } - } - if !is_inherent { - break; - } - } - match ParachainSystem::is_inherent_required(self) { - Ok(Some(e)) => { - let found = block - .extrinsics() - .iter() - .any(|xt| { - let is_signed = self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic::is_signed( - xt, - ) - .unwrap_or(false); - if !is_signed { - let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( - xt, - ); - if let Some(call) = IsSubType::<_>::is_sub_type(call) { - ParachainSystem::is_inherent(&call) - } else { - false - } - } else { - false - } - }); - if !found { - handle_put_error_result( - result.put_error(ParachainSystem::INHERENT_IDENTIFIER, &e), - ); - if e.is_fatal_error() { - return result; - } - } - } - Ok(None) => {} - Err(e) => { - handle_put_error_result( - result.put_error(ParachainSystem::INHERENT_IDENTIFIER, &e), - ); - if e.is_fatal_error() { - return result; - } - } - } - match Timestamp::is_inherent_required(self) { - Ok(Some(e)) => { - let found = block - .extrinsics() - .iter() - .any(|xt| { - let is_signed = self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic::is_signed( - xt, - ) - .unwrap_or(false); - if !is_signed { - let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( - xt, - ); - if let Some(call) = IsSubType::<_>::is_sub_type(call) { - Timestamp::is_inherent(&call) - } else { - false - } - } else { - false - } - }); - if !found { - handle_put_error_result( - result.put_error(Timestamp::INHERENT_IDENTIFIER, &e), - ); - if e.is_fatal_error() { - return result; - } - } - } - Ok(None) => {} - Err(e) => { - handle_put_error_result( - result.put_error(Timestamp::INHERENT_IDENTIFIER, &e), - ); - if e.is_fatal_error() { - return result; - } - } - } - result - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::EnsureInherentsAreFirst< - ::Block, -> for Runtime { - fn ensure_inherents_are_first( - block: &::Block, - ) -> Result<(), u32> { - use self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::ProvideInherent; - use self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::{ - IsSubType, ExtrinsicCall, - }; - use self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block as _; - let mut first_signed_observed = false; - for (i, xt) in block.extrinsics().iter().enumerate() { - let is_signed = self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Extrinsic::is_signed( - xt, - ) - .unwrap_or(false); - let is_inherent = if is_signed { - false - } else { - let mut is_inherent = false; - { - let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( - xt, - ); - if let Some(call) = IsSubType::<_>::is_sub_type(call) { - if ParachainSystem::is_inherent(&call) { - is_inherent = true; - } - } - } - { - let call = <<::Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block>::Extrinsic as ExtrinsicCall>::call( - xt, - ); - if let Some(call) = IsSubType::<_>::is_sub_type(call) { - if Timestamp::is_inherent(&call) { - is_inherent = true; - } - } - } - is_inherent - }; - if !is_inherent { - first_signed_observed = true; - } - if first_signed_observed && is_inherent { - return Err(i as u32); - } - } - Ok(()) - } -} -impl self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::ValidateUnsigned -for Runtime { - type Call = RuntimeCall; - fn pre_dispatch( - call: &Self::Call, - ) -> Result< - (), - self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::TransactionValidityError, - > { - #[allow(unreachable_patterns)] - match call { - RuntimeCall::ParachainSystem(inner_call) => { - ParachainSystem::pre_dispatch(inner_call) - } - _ => Ok(()), - } - } - fn validate_unsigned( - #[allow(unused_variables)] - source: self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::TransactionSource, - call: &Self::Call, - ) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::TransactionValidity { - #[allow(unreachable_patterns)] - match call { - RuntimeCall::ParachainSystem(inner_call) => { - ParachainSystem::validate_unsigned(source, inner_call) - } - _ => { - self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::UnknownTransaction::NoUnsignedValidator - .into() - } - } - } -} -/// A reason for placing a freeze on funds. -pub enum RuntimeFreezeReason {} -#[automatically_derived] -impl ::core::marker::Copy for RuntimeFreezeReason {} -#[automatically_derived] -impl ::core::clone::Clone for RuntimeFreezeReason { - #[inline] - fn clone(&self) -> RuntimeFreezeReason { - *self - } -} -#[automatically_derived] -impl ::core::marker::StructuralEq for RuntimeFreezeReason {} -#[automatically_derived] -impl ::core::cmp::Eq for RuntimeFreezeReason { - #[inline] - #[doc(hidden)] - #[coverage(off)] - fn assert_receiver_is_total_eq(&self) -> () {} -} -#[automatically_derived] -impl ::core::marker::StructuralPartialEq for RuntimeFreezeReason {} -#[automatically_derived] -impl ::core::cmp::PartialEq for RuntimeFreezeReason { - #[inline] - fn eq(&self, other: &RuntimeFreezeReason) -> bool { - match *self {} - } -} -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Encode for RuntimeFreezeReason {} - #[automatically_derived] - impl ::codec::EncodeLike for RuntimeFreezeReason {} -}; -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Decode for RuntimeFreezeReason { - fn decode<__CodecInputEdqy: ::codec::Input>( - __codec_input_edqy: &mut __CodecInputEdqy, - ) -> ::core::result::Result { - match __codec_input_edqy - .read_byte() - .map_err(|e| { - e - .chain( - "Could not decode `RuntimeFreezeReason`, failed to read variant byte", - ) - })? - { - _ => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Err( - <_ as ::core::convert::Into< - _, - >>::into( - "Could not decode `RuntimeFreezeReason`, variant doesn't exist", - ), - ) - })(); - } - } - } - } -}; -const _: () = { - impl ::codec::MaxEncodedLen for RuntimeFreezeReason { - fn max_encoded_len() -> ::core::primitive::usize { - 0_usize.saturating_add(1) - } - } -}; -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - impl ::scale_info::TypeInfo for RuntimeFreezeReason { - type Identity = Self; - fn type_info() -> ::scale_info::Type { - ::scale_info::Type::builder() - .path( - ::scale_info::Path::new( - "RuntimeFreezeReason", - "asset_hub_kusama_runtime", - ), - ) - .type_params(::alloc::vec::Vec::new()) - .docs(&["A reason for placing a freeze on funds."]) - .variant(::scale_info::build::Variants::new()) - } - } -}; -impl core::fmt::Debug for RuntimeFreezeReason { - fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { - match self { - _ => Ok(()), - } - } -} -/// A reason for placing a hold on funds. -pub enum RuntimeHoldReason { - #[codec(index = 54u8)] - NftFractionalization(pallet_nft_fractionalization::HoldReason), -} -#[automatically_derived] -impl ::core::marker::Copy for RuntimeHoldReason {} -#[automatically_derived] -impl ::core::clone::Clone for RuntimeHoldReason { - #[inline] - fn clone(&self) -> RuntimeHoldReason { - let _: ::core::clone::AssertParamIsClone< - pallet_nft_fractionalization::HoldReason, - >; - *self - } -} -#[automatically_derived] -impl ::core::marker::StructuralEq for RuntimeHoldReason {} -#[automatically_derived] -impl ::core::cmp::Eq for RuntimeHoldReason { - #[inline] - #[doc(hidden)] - #[coverage(off)] - fn assert_receiver_is_total_eq(&self) -> () { - let _: ::core::cmp::AssertParamIsEq; - } -} -#[automatically_derived] -impl ::core::marker::StructuralPartialEq for RuntimeHoldReason {} -#[automatically_derived] -impl ::core::cmp::PartialEq for RuntimeHoldReason { - #[inline] - fn eq(&self, other: &RuntimeHoldReason) -> bool { - match (self, other) { - ( - RuntimeHoldReason::NftFractionalization(__self_0), - RuntimeHoldReason::NftFractionalization(__arg1_0), - ) => *__self_0 == *__arg1_0, - } - } -} -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Encode for RuntimeHoldReason { - fn size_hint(&self) -> usize { - 1_usize - + match *self { - RuntimeHoldReason::NftFractionalization(ref aa) => { - 0_usize.saturating_add(::codec::Encode::size_hint(aa)) - } - _ => 0_usize, - } - } - fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>( - &self, - __codec_dest_edqy: &mut __CodecOutputEdqy, - ) { - match *self { - RuntimeHoldReason::NftFractionalization(ref aa) => { - __codec_dest_edqy.push_byte(54u8 as ::core::primitive::u8); - ::codec::Encode::encode_to(aa, __codec_dest_edqy); - } - _ => {} - } - } - } - #[automatically_derived] - impl ::codec::EncodeLike for RuntimeHoldReason {} -}; -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Decode for RuntimeHoldReason { - fn decode<__CodecInputEdqy: ::codec::Input>( - __codec_input_edqy: &mut __CodecInputEdqy, - ) -> ::core::result::Result { - match __codec_input_edqy - .read_byte() - .map_err(|e| { - e - .chain( - "Could not decode `RuntimeHoldReason`, failed to read variant byte", - ) - })? - { - #[allow(clippy::unnecessary_cast)] - __codec_x_edqy if __codec_x_edqy == 54u8 as ::core::primitive::u8 => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Ok( - RuntimeHoldReason::NftFractionalization({ - let __codec_res_edqy = ::decode( - __codec_input_edqy, - ); - match __codec_res_edqy { - ::core::result::Result::Err(e) => { - return ::core::result::Result::Err( - e - .chain( - "Could not decode `RuntimeHoldReason::NftFractionalization.0`", - ), - ); - } - ::core::result::Result::Ok(__codec_res_edqy) => { - __codec_res_edqy - } - } - }), - ) - })(); - } - _ => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Err( - <_ as ::core::convert::Into< - _, - >>::into( - "Could not decode `RuntimeHoldReason`, variant doesn't exist", - ), - ) - })(); - } - } - } - } -}; -const _: () = { - impl ::codec::MaxEncodedLen for RuntimeHoldReason { - fn max_encoded_len() -> ::core::primitive::usize { - 0_usize - .max( - 0_usize - .saturating_add( - ::max_encoded_len(), - ), - ) - .saturating_add(1) - } - } -}; -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - impl ::scale_info::TypeInfo for RuntimeHoldReason { - type Identity = Self; - fn type_info() -> ::scale_info::Type { - ::scale_info::Type::builder() - .path( - ::scale_info::Path::new( - "RuntimeHoldReason", - "asset_hub_kusama_runtime", - ), - ) - .type_params(::alloc::vec::Vec::new()) - .docs(&["A reason for placing a hold on funds."]) - .variant( - ::scale_info::build::Variants::new() - .variant( - "NftFractionalization", - |v| { - v - .index(54u8 as ::core::primitive::u8) - .fields( - ::scale_info::build::Fields::unnamed() - .field(|f| { - f - .ty::() - .type_name("pallet_nft_fractionalization::HoldReason") - }), - ) - }, - ), - ) - } - } -}; -impl core::fmt::Debug for RuntimeHoldReason { - fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { - match self { - Self::NftFractionalization(ref a0) => { - fmt.debug_tuple("RuntimeHoldReason::NftFractionalization") - .field(a0) - .finish() - } - _ => Ok(()), - } - } -} -impl From for RuntimeHoldReason { - fn from(hr: pallet_nft_fractionalization::HoldReason) -> Self { - RuntimeHoldReason::NftFractionalization(hr) - } -} -/// An identifier for each lock placed on funds. -pub enum RuntimeLockId {} -#[automatically_derived] -impl ::core::marker::Copy for RuntimeLockId {} -#[automatically_derived] -impl ::core::clone::Clone for RuntimeLockId { - #[inline] - fn clone(&self) -> RuntimeLockId { - *self - } -} -#[automatically_derived] -impl ::core::marker::StructuralEq for RuntimeLockId {} -#[automatically_derived] -impl ::core::cmp::Eq for RuntimeLockId { - #[inline] - #[doc(hidden)] - #[coverage(off)] - fn assert_receiver_is_total_eq(&self) -> () {} -} -#[automatically_derived] -impl ::core::marker::StructuralPartialEq for RuntimeLockId {} -#[automatically_derived] -impl ::core::cmp::PartialEq for RuntimeLockId { - #[inline] - fn eq(&self, other: &RuntimeLockId) -> bool { - match *self {} - } -} -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Encode for RuntimeLockId {} - #[automatically_derived] - impl ::codec::EncodeLike for RuntimeLockId {} -}; -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Decode for RuntimeLockId { - fn decode<__CodecInputEdqy: ::codec::Input>( - __codec_input_edqy: &mut __CodecInputEdqy, - ) -> ::core::result::Result { - match __codec_input_edqy - .read_byte() - .map_err(|e| { - e - .chain( - "Could not decode `RuntimeLockId`, failed to read variant byte", - ) - })? - { - _ => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Err( - <_ as ::core::convert::Into< - _, - >>::into( - "Could not decode `RuntimeLockId`, variant doesn't exist", - ), - ) - })(); - } - } - } - } -}; -const _: () = { - impl ::codec::MaxEncodedLen for RuntimeLockId { - fn max_encoded_len() -> ::core::primitive::usize { - 0_usize.saturating_add(1) - } - } -}; -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - impl ::scale_info::TypeInfo for RuntimeLockId { - type Identity = Self; - fn type_info() -> ::scale_info::Type { - ::scale_info::Type::builder() - .path( - ::scale_info::Path::new("RuntimeLockId", "asset_hub_kusama_runtime"), - ) - .type_params(::alloc::vec::Vec::new()) - .docs(&["An identifier for each lock placed on funds."]) - .variant(::scale_info::build::Variants::new()) - } - } -}; -impl core::fmt::Debug for RuntimeLockId { - fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { - match self { - _ => Ok(()), - } - } -} -/// A reason for slashing funds. -pub enum RuntimeSlashReason {} -#[automatically_derived] -impl ::core::marker::Copy for RuntimeSlashReason {} -#[automatically_derived] -impl ::core::clone::Clone for RuntimeSlashReason { - #[inline] - fn clone(&self) -> RuntimeSlashReason { - *self - } -} -#[automatically_derived] -impl ::core::marker::StructuralEq for RuntimeSlashReason {} -#[automatically_derived] -impl ::core::cmp::Eq for RuntimeSlashReason { - #[inline] - #[doc(hidden)] - #[coverage(off)] - fn assert_receiver_is_total_eq(&self) -> () {} -} -#[automatically_derived] -impl ::core::marker::StructuralPartialEq for RuntimeSlashReason {} -#[automatically_derived] -impl ::core::cmp::PartialEq for RuntimeSlashReason { - #[inline] - fn eq(&self, other: &RuntimeSlashReason) -> bool { - match *self {} - } -} -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Encode for RuntimeSlashReason {} - #[automatically_derived] - impl ::codec::EncodeLike for RuntimeSlashReason {} -}; -#[allow(deprecated)] -const _: () = { - #[automatically_derived] - impl ::codec::Decode for RuntimeSlashReason { - fn decode<__CodecInputEdqy: ::codec::Input>( - __codec_input_edqy: &mut __CodecInputEdqy, - ) -> ::core::result::Result { - match __codec_input_edqy - .read_byte() - .map_err(|e| { - e - .chain( - "Could not decode `RuntimeSlashReason`, failed to read variant byte", - ) - })? - { - _ => { - #[allow(clippy::redundant_closure_call)] - return (move || { - ::core::result::Result::Err( - <_ as ::core::convert::Into< - _, - >>::into( - "Could not decode `RuntimeSlashReason`, variant doesn't exist", - ), - ) - })(); - } - } - } - } -}; -const _: () = { - impl ::codec::MaxEncodedLen for RuntimeSlashReason { - fn max_encoded_len() -> ::core::primitive::usize { - 0_usize.saturating_add(1) - } - } -}; -#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] -const _: () = { - impl ::scale_info::TypeInfo for RuntimeSlashReason { - type Identity = Self; - fn type_info() -> ::scale_info::Type { - ::scale_info::Type::builder() - .path( - ::scale_info::Path::new( - "RuntimeSlashReason", - "asset_hub_kusama_runtime", - ), - ) - .type_params(::alloc::vec::Vec::new()) - .docs(&["A reason for slashing funds."]) - .variant(::scale_info::build::Variants::new()) - } - } -}; -impl core::fmt::Debug for RuntimeSlashReason { - fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result { - match self { - _ => Ok(()), - } - } -} -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `System` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `ParachainSystem` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `Balances` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `CollatorSelection` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `Session` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `XcmpQueue` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `PolkadotXcm` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `CumulusXcm` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `DmpQueue` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `Utility` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `Multisig` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `Proxy` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `Assets` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `Uniques` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `Nfts` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `ForeignAssets` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `NftFractionalization` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `PoolAssets` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `AssetConversion` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -const _: () = if !( as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE - <= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE) -{ - { - ::core::panicking::panic_fmt( - format_args!( - "The maximum encoded size of the error type in the `StateTrieMigration` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`" - ), - ); - } -}; -/// The address format for describing accounts. -pub type Address = sp_runtime::MultiAddress; -/// Block type as expected by this runtime. -pub type Block = generic::Block; -/// A Block signed with a Justification -pub type SignedBlock = generic::SignedBlock; -/// BlockId type as expected by this runtime. -pub type BlockId = generic::BlockId; -/// The SignedExtension to the basic transaction logic. -pub type SignedExtra = ( - frame_system::CheckNonZeroSender, - frame_system::CheckSpecVersion, - frame_system::CheckTxVersion, - frame_system::CheckGenesis, - frame_system::CheckEra, - frame_system::CheckNonce, - frame_system::CheckWeight, - pallet_asset_conversion_tx_payment::ChargeAssetTxPayment, -); -/// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = generic::UncheckedExtrinsic< - Address, - RuntimeCall, - Signature, - SignedExtra, ->; -/// Migrations to apply on runtime upgrade. -pub type Migrations = (pallet_collator_selection::migration::v1::MigrateToV1,); -/// Executive: handles dispatch to the various modules. -pub type Executive = frame_executive::Executive< - Runtime, - Block, - frame_system::ChainContext, - Runtime, - AllPalletsWithSystem, - Migrations, ->; -pub struct RuntimeApi {} -/// Implements all runtime apis for the client side. -pub struct RuntimeApiImpl + 'static> { - call: &'static C, - transaction_depth: std::cell::RefCell, - changes: std::cell::RefCell>>, - recorder: std::option::Option>, - call_context: sp_api::CallContext, - extensions: std::cell::RefCell, - extensions_generated_for: std::cell::RefCell>, -} -impl> sp_api::ApiExt -for RuntimeApiImpl { - fn execute_in_transaction sp_api::TransactionOutcome, R>( - &self, - call: F, - ) -> R - where - Self: Sized, - { - self.start_transaction(); - *std::cell::RefCell::borrow_mut(&self.transaction_depth) += 1; - let res = call(self); - std::cell::RefCell::borrow_mut(&self.transaction_depth) - .checked_sub(1) - .expect("Transactions are opened and closed together; qed"); - self.commit_or_rollback_transaction( - match res { - sp_api::TransactionOutcome::Commit(_) => true, - _ => false, - }, - ); - res.into_inner() - } - fn has_api( - &self, - at: ::Hash, - ) -> std::result::Result - where - Self: Sized, - { - sp_api::CallApiAt::::runtime_version_at(self.call, at) - .map(|v| sp_api::RuntimeVersion::has_api_with( - &v, - &A::ID, - |v| v == A::VERSION, - )) - } - fn has_api_with bool>( - &self, - at: ::Hash, - pred: P, - ) -> std::result::Result - where - Self: Sized, - { - sp_api::CallApiAt::::runtime_version_at(self.call, at) - .map(|v| sp_api::RuntimeVersion::has_api_with(&v, &A::ID, pred)) - } - fn api_version( - &self, - at: ::Hash, - ) -> std::result::Result, sp_api::ApiError> - where - Self: Sized, - { - sp_api::CallApiAt::::runtime_version_at(self.call, at) - .map(|v| sp_api::RuntimeVersion::api_version(&v, &A::ID)) - } - fn record_proof(&mut self) { - self.recorder = std::option::Option::Some(std::default::Default::default()); - } - fn proof_recorder(&self) -> std::option::Option> { - std::clone::Clone::clone(&self.recorder) - } - fn extract_proof(&mut self) -> std::option::Option { - let recorder = std::option::Option::take(&mut self.recorder); - std::option::Option::map( - recorder, - |recorder| { sp_api::ProofRecorder::::drain_storage_proof(recorder) }, - ) - } - fn into_storage_changes>>( - &self, - backend: &B, - parent_hash: Block::Hash, - ) -> core::result::Result, String> - where - Self: Sized, - { - let state_version = sp_api::CallApiAt::< - Block, - >::runtime_version_at(self.call, std::clone::Clone::clone(&parent_hash)) - .map(|v| sp_api::RuntimeVersion::state_version(&v)) - .map_err(|e| { - let res = ::alloc::fmt::format( - format_args!("Failed to get state version: {0}", e), - ); - res - })?; - sp_api::OverlayedChanges::drain_storage_changes( - &mut std::cell::RefCell::borrow_mut(&self.changes), - backend, - state_version, - ) - } - fn set_call_context(&mut self, call_context: sp_api::CallContext) { - self.call_context = call_context; - } - fn register_extension(&mut self, extension: E) { - std::cell::RefCell::borrow_mut(&self.extensions).register(extension); - } -} -impl sp_api::ConstructRuntimeApi for RuntimeApi -where - C: sp_api::CallApiAt + 'static, -{ - type RuntimeApi = RuntimeApiImpl; - fn construct_runtime_api<'a>(call: &'a C) -> sp_api::ApiRef<'a, Self::RuntimeApi> { - RuntimeApiImpl { - call: unsafe { std::mem::transmute(call) }, - transaction_depth: 0.into(), - changes: std::default::Default::default(), - recorder: std::default::Default::default(), - call_context: sp_api::CallContext::Offchain, - extensions: std::default::Default::default(), - extensions_generated_for: std::default::Default::default(), - } - .into() - } -} -impl> RuntimeApiImpl { - fn commit_or_rollback_transaction(&self, commit: bool) { - let proof = "\ - We only close a transaction when we opened one ourself. - Other parts of the runtime that make use of transactions (state-machine) - also balance their transactions. The runtime cannot close client initiated - transactions; qed"; - let res = if commit { - let res = if let Some(recorder) = &self.recorder { - sp_api::ProofRecorder::::commit_transaction(&recorder) - } else { - Ok(()) - }; - let res2 = sp_api::OverlayedChanges::commit_transaction( - &mut std::cell::RefCell::borrow_mut(&self.changes), - ); - std::result::Result::and(res, std::result::Result::map_err(res2, drop)) - } else { - let res = if let Some(recorder) = &self.recorder { - sp_api::ProofRecorder::::rollback_transaction(&recorder) - } else { - Ok(()) - }; - let res2 = sp_api::OverlayedChanges::rollback_transaction( - &mut std::cell::RefCell::borrow_mut(&self.changes), - ); - std::result::Result::and(res, std::result::Result::map_err(res2, drop)) - }; - std::result::Result::expect(res, proof); - } - fn start_transaction(&self) { - sp_api::OverlayedChanges::start_transaction( - &mut std::cell::RefCell::borrow_mut(&self.changes), - ); - if let Some(recorder) = &self.recorder { - sp_api::ProofRecorder::::start_transaction(&recorder); - } - } -} -impl sp_consensus_aura::runtime_decl_for_aura_api::AuraApi for Runtime { - fn slot_duration() -> sp_consensus_aura::SlotDuration { - sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) - } - fn authorities() -> Vec { - Aura::authorities().into_inner() - } -} -impl sp_api::runtime_decl_for_core::Core for Runtime { - fn version() -> RuntimeVersion { - VERSION - } - fn execute_block(block: Block) { - Executive::execute_block(block) - } - fn initialize_block(header: &::Header) { - Executive::initialize_block(header) - } -} -impl sp_api::runtime_decl_for_metadata::Metadata for Runtime { - fn metadata() -> OpaqueMetadata { - OpaqueMetadata::new(Runtime::metadata().into()) - } - fn metadata_at_version(version: u32) -> Option { - Runtime::metadata_at_version(version) - } - fn metadata_versions() -> sp_std::vec::Vec { - Runtime::metadata_versions() - } -} -impl sp_block_builder::runtime_decl_for_block_builder::BlockBuilder for Runtime { - fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { - Executive::apply_extrinsic(extrinsic) - } - fn finalize_block() -> ::Header { - Executive::finalize_block() - } - fn inherent_extrinsics( - data: sp_inherents::InherentData, - ) -> Vec<::Extrinsic> { - data.create_extrinsics() - } - fn check_inherents( - block: Block, - data: sp_inherents::InherentData, - ) -> sp_inherents::CheckInherentsResult { - data.check_extrinsics(&block) - } -} -impl sp_transaction_pool::runtime_api::runtime_decl_for_tagged_transaction_queue::TaggedTransactionQueue< - Block, -> for Runtime { - fn validate_transaction( - source: TransactionSource, - tx: ::Extrinsic, - block_hash: ::Hash, - ) -> TransactionValidity { - Executive::validate_transaction(source, tx, block_hash) - } -} -impl sp_offchain::runtime_decl_for_offchain_worker_api::OffchainWorkerApi -for Runtime { - fn offchain_worker(header: &::Header) { - Executive::offchain_worker(header) - } -} -impl sp_session::runtime_decl_for_session_keys::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) - } - fn decode_session_keys(encoded: Vec) -> Option, KeyTypeId)>> { - SessionKeys::decode_into_raw_public_keys(&encoded) - } -} -impl frame_system_rpc_runtime_api::runtime_decl_for_account_nonce_api::AccountNonceApi< - Block, - AccountId, - Nonce, -> for Runtime { - fn account_nonce(account: AccountId) -> Nonce { - System::account_nonce(account) - } -} -impl pallet_asset_conversion::runtime_decl_for_asset_conversion_api::AssetConversionApi< - Block, - Balance, - u128, - Box, -> for Runtime { - fn quote_price_exact_tokens_for_tokens( - asset1: Box, - asset2: Box, - amount: u128, - include_fee: bool, - ) -> Option { - AssetConversion::quote_price_exact_tokens_for_tokens( - asset1, - asset2, - amount, - include_fee, - ) - } - fn quote_price_tokens_for_exact_tokens( - asset1: Box, - asset2: Box, - amount: u128, - include_fee: bool, - ) -> Option { - AssetConversion::quote_price_tokens_for_exact_tokens( - asset1, - asset2, - amount, - include_fee, - ) - } - fn get_reserves( - asset1: Box, - asset2: Box, - ) -> Option<(Balance, Balance)> { - AssetConversion::get_reserves(&asset1, &asset2).ok() - } -} -impl pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_api::TransactionPaymentApi< - Block, - Balance, -> for Runtime { - fn query_info( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { - TransactionPayment::query_info(uxt, len) - } - fn query_fee_details( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_fee_details(uxt, len) - } - fn query_weight_to_fee(weight: Weight) -> Balance { - TransactionPayment::weight_to_fee(weight) - } - fn query_length_to_fee(length: u32) -> Balance { - TransactionPayment::length_to_fee(length) - } -} -impl pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_call_api::TransactionPaymentCallApi< - Block, - Balance, - RuntimeCall, -> for Runtime { - fn query_call_info( - call: RuntimeCall, - len: u32, - ) -> pallet_transaction_payment::RuntimeDispatchInfo { - TransactionPayment::query_call_info(call, len) - } - fn query_call_fee_details( - call: RuntimeCall, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_call_fee_details(call, len) - } - fn query_weight_to_fee(weight: Weight) -> Balance { - TransactionPayment::weight_to_fee(weight) - } - fn query_length_to_fee(length: u32) -> Balance { - TransactionPayment::length_to_fee(length) - } -} -impl assets_common::runtime_api::runtime_decl_for_fungibles_api::FungiblesApi< - Block, - AccountId, -> for Runtime { - fn query_account_balances( - account: AccountId, - ) -> Result< - xcm::VersionedMultiAssets, - assets_common::runtime_api::FungiblesAccessError, - > { - use assets_common::fungible_conversion::{convert, convert_balance}; - Ok( - [ - { - let balance = Balances::free_balance(account.clone()); - if balance > 0 { - <[_]>::into_vec( - #[rustc_box] - ::alloc::boxed::Box::new([ - convert_balance::(balance)?, - ]), - ) - } else { - ::alloc::vec::Vec::new() - } - }, - convert::< - _, - _, - _, - _, - TrustBackedAssetsConvertedConcreteId, - >( - Assets::account_balances(account.clone()) - .iter() - .filter(|(_, balance)| balance > &0), - )?, - convert::< - _, - _, - _, - _, - ForeignAssetsConvertedConcreteId, - >( - ForeignAssets::account_balances(account.clone()) - .iter() - .filter(|(_, balance)| balance > &0), - )?, - convert::< - _, - _, - _, - _, - PoolAssetsConvertedConcreteId, - >( - PoolAssets::account_balances(account) - .iter() - .filter(|(_, balance)| balance > &0), - )?, - ] - .concat() - .into(), - ) - } -} -impl cumulus_primitives_core::runtime_decl_for_collect_collation_info::CollectCollationInfo< - Block, -> for Runtime { - fn collect_collation_info( - header: &::Header, - ) -> cumulus_primitives_core::CollationInfo { - ParachainSystem::collect_collation_info(header) - } -} -impl sp_genesis_builder::runtime_decl_for_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) - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> sp_consensus_aura::AuraApi<__SrApiBlock__, AuraId> -for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - sp_consensus_aura::SlotDuration: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> sp_api::Core<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - RuntimeVersion: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - <__SrApiBlock__ as BlockT>::Header: std::panic::UnwindSafe - + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> sp_api::Metadata<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - OpaqueMetadata: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Option: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - sp_std::vec::Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> sp_block_builder::BlockBuilder<__SrApiBlock__> -for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - <__SrApiBlock__ as BlockT>::Extrinsic: std::panic::UnwindSafe - + std::panic::RefUnwindSafe, - ApplyExtrinsicResult: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - <__SrApiBlock__ as BlockT>::Header: std::panic::UnwindSafe - + std::panic::RefUnwindSafe, - sp_inherents::InherentData: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Vec< - <__SrApiBlock__ as BlockT>::Extrinsic, - >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - sp_inherents::InherentData: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - sp_inherents::CheckInherentsResult: std::panic::UnwindSafe - + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> sp_transaction_pool::runtime_api::TaggedTransactionQueue<__SrApiBlock__> -for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - TransactionSource: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - <__SrApiBlock__ as BlockT>::Extrinsic: std::panic::UnwindSafe - + std::panic::RefUnwindSafe, - <__SrApiBlock__ as BlockT>::Hash: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - TransactionValidity: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> sp_offchain::OffchainWorkerApi<__SrApiBlock__> -for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - <__SrApiBlock__ as BlockT>::Header: std::panic::UnwindSafe - + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> sp_session::SessionKeys<__SrApiBlock__> -for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - Option>: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Option< - Vec<(Vec, KeyTypeId)>, - >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> frame_system_rpc_runtime_api::AccountNonceApi<__SrApiBlock__, AccountId, Nonce> -for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - AccountId: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Nonce: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> pallet_asset_conversion::AssetConversionApi< - __SrApiBlock__, - Balance, - u128, - Box, -> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - u128: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - bool: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Option: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - u128: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - bool: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Option: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Box: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Option<(Balance, Balance)>: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi< - __SrApiBlock__, - Balance, -> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - <__SrApiBlock__ as BlockT>::Extrinsic: std::panic::UnwindSafe - + std::panic::RefUnwindSafe, - u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo< - Balance, - >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - <__SrApiBlock__ as BlockT>::Extrinsic: std::panic::UnwindSafe - + std::panic::RefUnwindSafe, - u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - pallet_transaction_payment::FeeDetails< - Balance, - >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Weight: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Balance: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Balance: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi< - __SrApiBlock__, - Balance, - RuntimeCall, -> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - RuntimeCall: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - pallet_transaction_payment::RuntimeDispatchInfo< - Balance, - >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeCall: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - pallet_transaction_payment::FeeDetails< - Balance, - >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Weight: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Balance: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Balance: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> assets_common::runtime_api::FungiblesApi<__SrApiBlock__, AccountId> -for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - AccountId: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Result< - xcm::VersionedMultiAssets, - assets_common::runtime_api::FungiblesAccessError, - >: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> cumulus_primitives_core::CollectCollationInfo<__SrApiBlock__> -for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - <__SrApiBlock__ as BlockT>::Header: std::panic::UnwindSafe - + std::panic::RefUnwindSafe, - cumulus_primitives_core::CollationInfo: std::panic::UnwindSafe - + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -impl< - __SrApiBlock__: sp_api::BlockT + std::panic::UnwindSafe + std::panic::RefUnwindSafe, - RuntimeApiImplCall: sp_api::CallApiAt<__SrApiBlock__> + 'static, -> sp_genesis_builder::GenesisBuilder<__SrApiBlock__> -for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall> -where - RuntimeApiImplCall::StateBackend: sp_api::StateBackend< - sp_api::HashingFor<__SrApiBlock__>, - >, - &'static RuntimeApiImplCall: Send, - Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - Vec: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - sp_genesis_builder::Result: std::panic::UnwindSafe + std::panic::RefUnwindSafe, - __SrApiBlock__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe, -{ - fn __runtime_api_internal_call_api_at( - &self, - at: <__SrApiBlock__ as sp_api::BlockT>::Hash, - params: std::vec::Vec, - fn_name: &dyn Fn(sp_api::RuntimeVersion) -> &'static str, - ) -> std::result::Result, sp_api::ApiError> { - let transaction_depth = *std::cell::RefCell::borrow(&self.transaction_depth); - if transaction_depth == 0 { - self.start_transaction(); - } - let res = (|| { - let version = sp_api::CallApiAt::< - __SrApiBlock__, - >::runtime_version_at(self.call, at)?; - match &mut *std::cell::RefCell::borrow_mut(&self.extensions_generated_for) { - Some(generated_for) => { - if *generated_for != at { - return std::result::Result::Err( - sp_api::ApiError::UsingSameInstanceForDifferentBlocks, - ); - } - } - generated_for @ None => { - sp_api::CallApiAt::< - __SrApiBlock__, - >::initialize_extensions( - self.call, - at, - &mut std::cell::RefCell::borrow_mut(&self.extensions), - )?; - *generated_for = Some(at); - } - } - let params = sp_api::CallApiAtParams { - at, - function: (*fn_name)(version), - arguments: params, - overlayed_changes: &self.changes, - call_context: self.call_context, - recorder: &self.recorder, - extensions: &self.extensions, - }; - sp_api::CallApiAt::<__SrApiBlock__>::call_api_at(self.call, params) - })(); - if transaction_depth == 0 { - self.commit_or_rollback_transaction(std::result::Result::is_ok(&res)); - } - res - } -} -const RUNTIME_API_VERSIONS: sp_api::ApisVec = ::sp_version::sp_std::borrow::Cow::Borrowed( - &[ - ( - sp_consensus_aura::runtime_decl_for_aura_api::ID, - sp_consensus_aura::runtime_decl_for_aura_api::VERSION, - ), - (sp_api::runtime_decl_for_core::ID, sp_api::runtime_decl_for_core::VERSION), - ( - sp_api::runtime_decl_for_metadata::ID, - sp_api::runtime_decl_for_metadata::VERSION, - ), - ( - sp_block_builder::runtime_decl_for_block_builder::ID, - sp_block_builder::runtime_decl_for_block_builder::VERSION, - ), - ( - sp_transaction_pool::runtime_api::runtime_decl_for_tagged_transaction_queue::ID, - sp_transaction_pool::runtime_api::runtime_decl_for_tagged_transaction_queue::VERSION, - ), - ( - sp_offchain::runtime_decl_for_offchain_worker_api::ID, - sp_offchain::runtime_decl_for_offchain_worker_api::VERSION, - ), - ( - sp_session::runtime_decl_for_session_keys::ID, - sp_session::runtime_decl_for_session_keys::VERSION, - ), - ( - frame_system_rpc_runtime_api::runtime_decl_for_account_nonce_api::ID, - frame_system_rpc_runtime_api::runtime_decl_for_account_nonce_api::VERSION, - ), - ( - pallet_asset_conversion::runtime_decl_for_asset_conversion_api::ID, - pallet_asset_conversion::runtime_decl_for_asset_conversion_api::VERSION, - ), - ( - pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_api::ID, - pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_api::VERSION, - ), - ( - pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_call_api::ID, - pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_call_api::VERSION, - ), - ( - assets_common::runtime_api::runtime_decl_for_fungibles_api::ID, - assets_common::runtime_api::runtime_decl_for_fungibles_api::VERSION, - ), - ( - cumulus_primitives_core::runtime_decl_for_collect_collation_info::ID, - cumulus_primitives_core::runtime_decl_for_collect_collation_info::VERSION, - ), - ( - sp_genesis_builder::runtime_decl_for_genesis_builder::ID, - sp_genesis_builder::runtime_decl_for_genesis_builder::VERSION, - ), - ], -); -#[doc(hidden)] -trait InternalImplRuntimeApis { - #[inline(always)] - fn runtime_metadata( - &self, - ) -> sp_api::vec::Vec { - <[_]>::into_vec( - #[rustc_box] - ::alloc::boxed::Box::new([ - sp_consensus_aura::runtime_decl_for_aura_api::runtime_metadata::< - Block, - AuraId, - >(), - sp_api::runtime_decl_for_core::runtime_metadata::(), - sp_api::runtime_decl_for_metadata::runtime_metadata::(), - sp_block_builder::runtime_decl_for_block_builder::runtime_metadata::< - Block, - >(), - sp_transaction_pool::runtime_api::runtime_decl_for_tagged_transaction_queue::runtime_metadata::< - Block, - >(), - sp_offchain::runtime_decl_for_offchain_worker_api::runtime_metadata::< - Block, - >(), - sp_session::runtime_decl_for_session_keys::runtime_metadata::(), - frame_system_rpc_runtime_api::runtime_decl_for_account_nonce_api::runtime_metadata::< - Block, - AccountId, - Nonce, - >(), - pallet_asset_conversion::runtime_decl_for_asset_conversion_api::runtime_metadata::< - Block, - Balance, - u128, - Box, - >(), - pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_api::runtime_metadata::< - Block, - Balance, - >(), - pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_transaction_payment_call_api::runtime_metadata::< - Block, - Balance, - RuntimeCall, - >(), - assets_common::runtime_api::runtime_decl_for_fungibles_api::runtime_metadata::< - Block, - AccountId, - >(), - cumulus_primitives_core::runtime_decl_for_collect_collation_info::runtime_metadata::< - Block, - >(), - sp_genesis_builder::runtime_decl_for_genesis_builder::runtime_metadata::< - Block, - >(), - ]), - ) - } -} -#[doc(hidden)] -impl InternalImplRuntimeApis for Runtime {} -pub mod api { - use super::*; - pub fn dispatch(method: &str, mut _sp_api_input_data_: &[u8]) -> Option> { - match method { - "AuraApi_slot_duration" => { - Some( - sp_api::Encode::encode( - &{ - if !_sp_api_input_data_.is_empty() { - { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", - "slot_duration" - ), - ); - }; - } - #[allow(deprecated)] - >::slot_duration() - }, - ), - ) - } - "AuraApi_authorities" => { - Some( - sp_api::Encode::encode( - &{ - if !_sp_api_input_data_.is_empty() { - { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", - "authorities" - ), - ); - }; - } - #[allow(deprecated)] - >::authorities() - }, - ), - ) - } - "Core_version" => { - Some( - sp_api::Encode::encode( - &{ - if !_sp_api_input_data_.is_empty() { - { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", - "version" - ), - ); - }; - } - #[allow(deprecated)] - >::version() - }, - ), - ) - } - "Core_execute_block" => { - Some( - sp_api::Encode::encode( - &{ - let block: Block = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", "execute_block", e - ), - ); - } - }; - #[allow(deprecated)] - >::execute_block(block) - }, - ), - ) - } - "Core_initialize_block" => { - Some( - sp_api::Encode::encode( - &{ - let header: ::Header = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", "initialize_block", e - ), - ); - } - }; - #[allow(deprecated)] - >::initialize_block(&header) - }, - ), - ) - } - "Metadata_metadata" => { - Some( - sp_api::Encode::encode( - &{ - if !_sp_api_input_data_.is_empty() { - { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", - "metadata" - ), - ); - }; - } - #[allow(deprecated)] - >::metadata() - }, - ), - ) - } - "Metadata_metadata_at_version" => { - Some( - sp_api::Encode::encode( - &{ - let version: u32 = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "metadata_at_version", e - ), - ); - } - }; - #[allow(deprecated)] - >::metadata_at_version(version) - }, - ), - ) - } - "Metadata_metadata_versions" => { - Some( - sp_api::Encode::encode( - &{ - if !_sp_api_input_data_.is_empty() { - { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", - "metadata_versions" - ), - ); - }; - } - #[allow(deprecated)] - >::metadata_versions() - }, - ), - ) - } - "BlockBuilder_apply_extrinsic" => { - Some( - sp_api::Encode::encode( - &{ - let extrinsic: ::Extrinsic = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", "apply_extrinsic", e - ), - ); - } - }; - #[allow(deprecated)] - >::apply_extrinsic(extrinsic) - }, - ), - ) - } - "BlockBuilder_finalize_block" => { - Some( - sp_api::Encode::encode( - &{ - if !_sp_api_input_data_.is_empty() { - { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", - "finalize_block" - ), - ); - }; - } - #[allow(deprecated)] - >::finalize_block() - }, - ), - ) - } - "BlockBuilder_inherent_extrinsics" => { - Some( - sp_api::Encode::encode( - &{ - let data: sp_inherents::InherentData = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "inherent_extrinsics", e - ), - ); - } - }; - #[allow(deprecated)] - >::inherent_extrinsics(data) - }, - ), - ) - } - "BlockBuilder_check_inherents" => { - Some( - sp_api::Encode::encode( - &{ - let (block, data): (Block, sp_inherents::InherentData) = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", "check_inherents", e - ), - ); - } - }; - #[allow(deprecated)] - >::check_inherents(block, data) - }, - ), - ) - } - "TaggedTransactionQueue_validate_transaction" => { - Some( - sp_api::Encode::encode( - &{ - let ( - source, - tx, - block_hash, - ): ( - TransactionSource, - ::Extrinsic, - ::Hash, - ) = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "validate_transaction", e - ), - ); - } - }; - #[allow(deprecated)] - >::validate_transaction(source, tx, block_hash) - }, - ), - ) - } - "OffchainWorkerApi_offchain_worker" => { - Some( - sp_api::Encode::encode( - &{ - let header: ::Header = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", "offchain_worker", e - ), - ); - } - }; - #[allow(deprecated)] - >::offchain_worker(&header) - }, - ), - ) - } - "SessionKeys_generate_session_keys" => { - Some( - sp_api::Encode::encode( - &{ - let seed: Option> = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "generate_session_keys", e - ), - ); - } - }; - #[allow(deprecated)] - >::generate_session_keys(seed) - }, - ), - ) - } - "SessionKeys_decode_session_keys" => { - Some( - sp_api::Encode::encode( - &{ - let encoded: Vec = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "decode_session_keys", e - ), - ); - } - }; - #[allow(deprecated)] - >::decode_session_keys(encoded) - }, - ), - ) - } - "AccountNonceApi_account_nonce" => { - Some( - sp_api::Encode::encode( - &{ - let account: AccountId = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", "account_nonce", e - ), - ); - } - }; - #[allow(deprecated)] - >::account_nonce(account) - }, - ), - ) - } - "AssetConversionApi_quote_price_exact_tokens_for_tokens" => { - Some( - sp_api::Encode::encode( - &{ - let ( - asset1, - asset2, - amount, - include_fee, - ): (Box, Box, u128, bool) = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "quote_price_exact_tokens_for_tokens", e - ), - ); - } - }; - #[allow(deprecated)] - , - >>::quote_price_exact_tokens_for_tokens( - asset1, - asset2, - amount, - include_fee, - ) - }, - ), - ) - } - "AssetConversionApi_quote_price_tokens_for_exact_tokens" => { - Some( - sp_api::Encode::encode( - &{ - let ( - asset1, - asset2, - amount, - include_fee, - ): (Box, Box, u128, bool) = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "quote_price_tokens_for_exact_tokens", e - ), - ); - } - }; - #[allow(deprecated)] - , - >>::quote_price_tokens_for_exact_tokens( - asset1, - asset2, - amount, - include_fee, - ) - }, - ), - ) - } - "AssetConversionApi_get_reserves" => { - Some( - sp_api::Encode::encode( - &{ - let ( - asset1, - asset2, - ): (Box, Box) = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", "get_reserves", e - ), - ); - } - }; - #[allow(deprecated)] - , - >>::get_reserves(asset1, asset2) - }, - ), - ) - } - "TransactionPaymentApi_query_info" => { - Some( - sp_api::Encode::encode( - &{ - let (uxt, len): (::Extrinsic, u32) = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", "query_info", e - ), - ); - } - }; - #[allow(deprecated)] - >::query_info(uxt, len) - }, - ), - ) - } - "TransactionPaymentApi_query_fee_details" => { - Some( - sp_api::Encode::encode( - &{ - let (uxt, len): (::Extrinsic, u32) = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", "query_fee_details", - e - ), - ); - } - }; - #[allow(deprecated)] - >::query_fee_details(uxt, len) - }, - ), - ) - } - "TransactionPaymentApi_query_weight_to_fee" => { - Some( - sp_api::Encode::encode( - &{ - let weight: Weight = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "query_weight_to_fee", e - ), - ); - } - }; - #[allow(deprecated)] - >::query_weight_to_fee(weight) - }, - ), - ) - } - "TransactionPaymentApi_query_length_to_fee" => { - Some( - sp_api::Encode::encode( - &{ - let length: u32 = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "query_length_to_fee", e - ), - ); - } - }; - #[allow(deprecated)] - >::query_length_to_fee(length) - }, - ), - ) - } - "TransactionPaymentCallApi_query_call_info" => { - Some( - sp_api::Encode::encode( - &{ - let (call, len): (RuntimeCall, u32) = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", "query_call_info", e - ), - ); - } - }; - #[allow(deprecated)] - >::query_call_info(call, len) - }, - ), - ) - } - "TransactionPaymentCallApi_query_call_fee_details" => { - Some( - sp_api::Encode::encode( - &{ - let (call, len): (RuntimeCall, u32) = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "query_call_fee_details", e - ), - ); - } - }; - #[allow(deprecated)] - >::query_call_fee_details(call, len) - }, - ), - ) - } - "TransactionPaymentCallApi_query_weight_to_fee" => { - Some( - sp_api::Encode::encode( - &{ - let weight: Weight = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "query_weight_to_fee", e - ), - ); - } - }; - #[allow(deprecated)] - >::query_weight_to_fee(weight) - }, - ), - ) - } - "TransactionPaymentCallApi_query_length_to_fee" => { - Some( - sp_api::Encode::encode( - &{ - let length: u32 = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "query_length_to_fee", e - ), - ); - } - }; - #[allow(deprecated)] - >::query_length_to_fee(length) - }, - ), - ) - } - "FungiblesApi_query_account_balances" => { - Some( - sp_api::Encode::encode( - &{ - let account: AccountId = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "query_account_balances", e - ), - ); - } - }; - #[allow(deprecated)] - >::query_account_balances(account) - }, - ), - ) - } - "CollectCollationInfo_collect_collation_info" => { - Some( - sp_api::Encode::encode( - &{ - let header: ::Header = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", - "collect_collation_info", e - ), - ); - } - }; - #[allow(deprecated)] - >::collect_collation_info(&header) - }, - ), - ) - } - "GenesisBuilder_create_default_config" => { - Some( - sp_api::Encode::encode( - &{ - if !_sp_api_input_data_.is_empty() { - { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: expected no parameters, but input buffer is not empty.", - "create_default_config" - ), - ); - }; - } - #[allow(deprecated)] - >::create_default_config() - }, - ), - ) - } - "GenesisBuilder_build_config" => { - Some( - sp_api::Encode::encode( - &{ - let config: Vec = match sp_api::DecodeLimit::decode_all_with_depth_limit( - sp_api::MAX_EXTRINSIC_DEPTH, - &mut _sp_api_input_data_, - ) { - Ok(res) => res, - Err(e) => { - ::core::panicking::panic_fmt( - format_args!( - "Bad input data provided to {0}: {1}", "build_config", e - ), - ); - } - }; - #[allow(deprecated)] - >::build_config(config) - }, - ), - ) - } - _ => None, - } - } -} From b4b94b0c599c79114ce2df4013bd1726be794cb5 Mon Sep 17 00:00:00 2001 From: Giles Cope Date: Wed, 18 Oct 2023 12:25:54 +0100 Subject: [PATCH 05/11] undo this is intentionally incorrect --- .../tests/pallet_ui/composite_enum_unsupported_identifier.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/substrate/frame/support/test/tests/pallet_ui/composite_enum_unsupported_identifier.rs b/substrate/frame/support/test/tests/pallet_ui/composite_enum_unsupported_identifier.rs index 8f984e28abfb2..ca755ff9c2ba9 100644 --- a/substrate/frame/support/test/tests/pallet_ui/composite_enum_unsupported_identifier.rs +++ b/substrate/frame/support/test/tests/pallet_ui/composite_enum_unsupported_identifier.rs @@ -24,7 +24,7 @@ mod pallet { pub struct Pallet(core::marker::PhantomData); #[pallet::composite_enum] - pub enum HoldReason {} + pub enum HoldReasons {} } fn main() {} \ No newline at end of file From 11eae7a6bc99a3d08727df260a001f0ffde520d3 Mon Sep 17 00:00:00 2001 From: Giles Cope Date: Wed, 18 Oct 2023 12:53:46 +0100 Subject: [PATCH 06/11] use large amount everywhere (benches were failing) --- substrate/frame/assets/src/benchmarking.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/substrate/frame/assets/src/benchmarking.rs b/substrate/frame/assets/src/benchmarking.rs index 650a3d793d9ba..a072449a7ddeb 100644 --- a/substrate/frame/assets/src/benchmarking.rs +++ b/substrate/frame/assets/src/benchmarking.rs @@ -177,7 +177,7 @@ benchmarks_instance_pallet! { .map_err(|_| BenchmarkError::Weightless)?; let caller = T::CreateOrigin::ensure_origin(origin.clone(), &asset_id.into()).unwrap(); let caller_lookup = T::Lookup::unlookup(caller.clone()); - T::NativeToken::set_balance(&caller, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&caller, large_amount::()); }: _(origin, asset_id, caller_lookup, 1u32.into()) verify { assert_last_event::(Event::Created { asset_id: asset_id.into(), creator: caller.clone(), owner: caller }.into()); @@ -378,7 +378,7 @@ benchmarks_instance_pallet! { let decimals = 12; let (asset_id, caller, _) = create_default_asset::(true); - T::NativeToken::set_balance(&caller, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&caller, large_amount::()); }: _(SystemOrigin::Signed(caller), asset_id, name.clone(), symbol.clone(), decimals) verify { assert_last_event::(Event::MetadataSet { asset_id: asset_id.into(), name, symbol, decimals, is_frozen: false }.into()); @@ -456,7 +456,7 @@ benchmarks_instance_pallet! { approve_transfer { let (asset_id, caller, _) = create_default_minted_asset::(true, 100u32.into()); - T::NativeToken::set_balance(&caller, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&caller, large_amount::()); let delegate: T::AccountId = account("delegate", 0, SEED); let delegate_lookup = T::Lookup::unlookup(delegate.clone()); @@ -523,7 +523,7 @@ benchmarks_instance_pallet! { touch { let (asset_id, asset_owner, asset_owner_lookup) = create_default_asset::(false); let new_account: T::AccountId = account("newaccount", 1, SEED); - T::NativeToken::set_balance(&new_account, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&new_account, large_amount::()); assert_ne!(asset_owner, new_account); assert!(!Account::::contains_key(asset_id.into(), &new_account)); }: _(SystemOrigin::Signed(new_account.clone()), asset_id) @@ -535,7 +535,7 @@ benchmarks_instance_pallet! { let (asset_id, asset_owner, asset_owner_lookup) = create_default_asset::(false); let new_account: T::AccountId = account("newaccount", 1, SEED); let new_account_lookup = T::Lookup::unlookup(new_account.clone()); - T::NativeToken::set_balance(&asset_owner, DepositBalanceOf::::max_value()); + T::NativeToken::set_balance(&asset_owner, large_amount::()); assert_ne!(asset_owner, new_account); assert!(!Account::::contains_key(asset_id.into(), &new_account)); }: _(SystemOrigin::Signed(asset_owner.clone()), asset_id, new_account_lookup) From 308c0426adac181c619c26ced8ed084d6385db5f Mon Sep 17 00:00:00 2001 From: Giles Cope Date: Wed, 18 Oct 2023 16:28:43 +0100 Subject: [PATCH 07/11] fix test --- .../emulated/assets/asset-hub-westend/src/tests/swap.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cumulus/parachains/integration-tests/emulated/assets/asset-hub-westend/src/tests/swap.rs b/cumulus/parachains/integration-tests/emulated/assets/asset-hub-westend/src/tests/swap.rs index 7d1615c9e2918..3390d9f695e01 100644 --- a/cumulus/parachains/integration-tests/emulated/assets/asset-hub-westend/src/tests/swap.rs +++ b/cumulus/parachains/integration-tests/emulated/assets/asset-hub-westend/src/tests/swap.rs @@ -319,10 +319,10 @@ fn cannot_create_pool_from_pool_assets() { let asset_native = Box::new(asset_hub_westend_runtime::xcm_config::WestendLocation::get()); let mut asset_one = asset_hub_westend_runtime::xcm_config::PoolAssetsPalletLocation::get(); asset_one.append_with(GeneralIndex(ASSET_ID.into())).expect("pool assets"); + let pool_owner_account_id = asset_hub_westend_runtime::AssetConversionOrigin::get(); + AssetHubWestend::fund_accounts(vec![(pool_owner_account_id.clone(), 1_000_000_000)]); AssetHubWestend::execute_with(|| { - let pool_owner_account_id = asset_hub_westend_runtime::AssetConversionOrigin::get(); - assert_ok!(::PoolAssets::create( ::RuntimeOrigin::signed(pool_owner_account_id.clone()), ASSET_ID.into(), From 24862ddd3ec67fa5a4fa1bca000433c68d07fc85 Mon Sep 17 00:00:00 2001 From: Giles Cope Date: Thu, 19 Oct 2023 09:46:59 +0100 Subject: [PATCH 08/11] add PR doc --- prdoc/pr_1907.prdoc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 prdoc/pr_1907.prdoc diff --git a/prdoc/pr_1907.prdoc b/prdoc/pr_1907.prdoc new file mode 100644 index 0000000000000..cdd618db96686 --- /dev/null +++ b/prdoc/pr_1907.prdoc @@ -0,0 +1,20 @@ +# Schema: Parity PR Documentation Schema (prdoc) +# See doc at https://github.com/paritytech/prdoc + +title: pallet assets / upgrade to use fungible + +doc: + - audience: Core Dev + description: | + This updates the assets pallet to use the new fungible traits rather than the now deprecated + Currency and ReserveCurrency traits ( paritytech/substrate#12951 ). + Partial fix of #226. + +migrations: + db: [] + + runtime: [] + +crates: [] + +host_functions: [] From 73d65f4c4d9f6f3291ddd01157290aa8e1d7f403 Mon Sep 17 00:00:00 2001 From: Giles Cope Date: Thu, 19 Oct 2023 16:47:31 +0100 Subject: [PATCH 09/11] fix benchmark --- substrate/frame/assets/src/benchmarking.rs | 55 +++++----------------- 1 file changed, 12 insertions(+), 43 deletions(-) diff --git a/substrate/frame/assets/src/benchmarking.rs b/substrate/frame/assets/src/benchmarking.rs index a072449a7ddeb..1fd1a828e22ef 100644 --- a/substrate/frame/assets/src/benchmarking.rs +++ b/substrate/frame/assets/src/benchmarking.rs @@ -27,6 +27,7 @@ use frame_support::traits::{ fungible::{Inspect, InspectHold, Mutate}, EnsureOrigin, Get, UnfilteredDispatchable, }; +use frame_support::assert_ok; use frame_system::RawOrigin as SystemOrigin; use sp_runtime::traits::Bounded; use sp_std::prelude::*; @@ -43,35 +44,6 @@ fn default_asset_id, I: 'static>() -> T::AssetIdParameter { T::BenchmarkHelper::create_asset_id_parameter(0) } -fn create_default_asset_with_deposits, I: 'static>( -) -> (T::AssetIdParameter, T::AccountId, AccountIdLookupOf) { - let asset_id = default_asset_id::(); - let caller: T::AccountId = whitelisted_caller(); - let caller_lookup = T::Lookup::unlookup(caller.clone()); - - T::NativeToken::set_balance(&caller, large_amount::()); - - assert!(Assets::::create( - SystemOrigin::Signed(caller.clone()).into(), - asset_id, - caller_lookup.clone(), - 1u32.into(), - ) - .is_ok()); - - let dummy = vec![0u8; T::StringLimit::get() as usize]; - assert!(Assets::::set_metadata( - SystemOrigin::Signed(caller.clone()).into(), - asset_id, - dummy.clone(), - dummy, - 12 - ) - .is_ok()); - - (asset_id, caller, caller_lookup) -} - fn create_default_asset, I: 'static>( is_sufficient: bool, ) -> (T::AssetIdParameter, T::AccountId, AccountIdLookupOf) { @@ -79,14 +51,13 @@ fn create_default_asset, I: 'static>( let caller: T::AccountId = whitelisted_caller(); let caller_lookup = T::Lookup::unlookup(caller.clone()); let root = SystemOrigin::Root.into(); - assert!(Assets::::force_create( + assert_ok!(Assets::::force_create( root, asset_id, caller_lookup.clone(), is_sufficient, 1u32.into(), - ) - .is_ok()); + )); (asset_id, caller, caller_lookup) } @@ -98,13 +69,12 @@ fn create_default_minted_asset, I: 'static>( if !is_sufficient { T::NativeToken::set_balance(&caller, T::NativeToken::minimum_balance()); } - assert!(Assets::::mint( + assert_ok!(Assets::::mint( SystemOrigin::Signed(caller.clone()).into(), asset_id, caller_lookup.clone(), amount, - ) - .is_ok()); + )); (asset_id, caller, caller_lookup) } @@ -125,13 +95,12 @@ fn add_sufficients, I: 'static>(minter: T::AccountId, n: u32) { for i in 0..n { let target = account("sufficient", i, SEED); let target_lookup = T::Lookup::unlookup(target); - assert!(Assets::::mint( + assert_ok!(Assets::::mint( origin.clone().into(), asset_id, target_lookup, 100u32.into() - ) - .is_ok()); + )); } swap_is_sufficient::(&mut s); } @@ -342,7 +311,7 @@ benchmarks_instance_pallet! { } transfer_ownership { - let (asset_id, caller, _) = create_default_asset_with_deposits::(); + let (asset_id, caller, _) = create_default_asset::(true); let target: T::AccountId = account("target", 0, SEED); // Add ED to target account as transferring non-sufficient assets: @@ -548,10 +517,10 @@ benchmarks_instance_pallet! { let new_account: T::AccountId = account("newaccount", 1, SEED); T::NativeToken::set_balance(&new_account, large_amount::()); assert_ne!(asset_owner, new_account); - assert!(Assets::::touch( + assert_ok!(Assets::::touch( SystemOrigin::Signed(new_account.clone()).into(), asset_id - ).is_ok()); + )); // `touch` should reserve balance of the caller according to the `AssetAccountDeposit` amount... assert_eq!(T::NativeToken::total_balance_on_hold(&new_account), T::AssetAccountDeposit::get()); // ...and also create an `Account` entry. @@ -568,11 +537,11 @@ benchmarks_instance_pallet! { let new_account_lookup = T::Lookup::unlookup(new_account.clone()); T::NativeToken::set_balance(&asset_owner, large_amount::()); assert_ne!(asset_owner, new_account); - assert!(Assets::::touch_other( + assert_ok!(Assets::::touch_other( SystemOrigin::Signed(asset_owner.clone()).into(), asset_id, new_account_lookup.clone() - ).is_ok()); + )); // `touch` should reserve balance of the caller according to the `AssetAccountDeposit` amount... assert_eq!(T::NativeToken::total_balance_on_hold(&asset_owner), T::AssetAccountDeposit::get()); assert!(Account::::contains_key(asset_id.into(), &new_account)); From 9f3727c90a2fea259e4ce299942338348c6fe00c Mon Sep 17 00:00:00 2001 From: Giles Cope Date: Thu, 19 Oct 2023 17:22:53 +0100 Subject: [PATCH 10/11] cargo fmt --- substrate/frame/assets/src/benchmarking.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/substrate/frame/assets/src/benchmarking.rs b/substrate/frame/assets/src/benchmarking.rs index 1fd1a828e22ef..0a1e4e5d2f70e 100644 --- a/substrate/frame/assets/src/benchmarking.rs +++ b/substrate/frame/assets/src/benchmarking.rs @@ -23,11 +23,13 @@ use super::*; use frame_benchmarking::v1::{ account, benchmarks_instance_pallet, whitelist_account, whitelisted_caller, BenchmarkError, }; -use frame_support::traits::{ - fungible::{Inspect, InspectHold, Mutate}, - EnsureOrigin, Get, UnfilteredDispatchable, +use frame_support::{ + assert_ok, + traits::{ + fungible::{Inspect, InspectHold, Mutate}, + EnsureOrigin, Get, UnfilteredDispatchable, + }, }; -use frame_support::assert_ok; use frame_system::RawOrigin as SystemOrigin; use sp_runtime::traits::Bounded; use sp_std::prelude::*; From a342c5c8be2bcfcb2508806cb45e41376da6b1c7 Mon Sep 17 00:00:00 2001 From: Giles Cope Date: Thu, 19 Oct 2023 17:30:38 +0100 Subject: [PATCH 11/11] add rococo asset hub --- .../assets/asset-hub-rococo/src/lib.rs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs index a0eef7e43a4bd..c33480a464cc6 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs @@ -234,7 +234,8 @@ impl pallet_balances::Config for Runtime { type FreezeIdentifier = (); // We allow each account to have holds on it from: // - `NftFractionalization`: 1 - type MaxHolds = ConstU32<1>; + // - `Assets`: 12 (3 instances) + type MaxHolds = ConstU32<13>; type MaxFreezes = ConstU32<0>; } @@ -274,10 +275,11 @@ pub type TrustBackedAssetsInstance = pallet_assets::Instance1; type TrustBackedAssetsCall = pallet_assets::Call; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = AssetIdForTrustBackedAssets; type AssetIdParameter = codec::Compact; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = AssetsForceOrigin; type AssetDeposit = AssetDeposit; @@ -310,11 +312,12 @@ ord_parameter_types! { pub type PoolAssetsInstance = pallet_assets::Instance3; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type RemoveItemsLimit = ConstU32<1000>; type AssetId = u32; type AssetIdParameter = u32; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = AssetsForceOrigin; @@ -382,10 +385,11 @@ parameter_types! { pub type ForeignAssetsInstance = pallet_assets::Instance2; impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type Balance = Balance; type AssetId = MultiLocationForAssetId; type AssetIdParameter = MultiLocationForAssetId; - type Currency = Balances; + type NativeToken = Balances; type CreateOrigin = ForeignCreators< (FromSiblingParachain>,), ForeignCreatorsSovereignAccountOf, @@ -932,13 +936,13 @@ construct_runtime!( ToRococoXcmRouter: pallet_xcm_bridge_hub_router::::{Pallet, Storage, Call} = 44, // The main stage. - Assets: pallet_assets::::{Pallet, Call, Storage, Event} = 50, + Assets: pallet_assets::::{Pallet, Call, Storage, Event, HoldReason} = 50, Uniques: pallet_uniques::{Pallet, Call, Storage, Event} = 51, Nfts: pallet_nfts::{Pallet, Call, Storage, Event} = 52, - ForeignAssets: pallet_assets::::{Pallet, Call, Storage, Event} = 53, + ForeignAssets: pallet_assets::::{Pallet, Call, Storage, Event, HoldReason} = 53, NftFractionalization: pallet_nft_fractionalization::{Pallet, Call, Storage, Event, HoldReason} = 54, - PoolAssets: pallet_assets::::{Pallet, Call, Storage, Event} = 55, + PoolAssets: pallet_assets::::{Pallet, Call, Storage, Event, HoldReason} = 55, AssetConversion: pallet_asset_conversion::{Pallet, Call, Storage, Event} = 56, #[cfg(feature = "state-trie-version-1")]