difftreelog
Merge pull request #298 from UniqueNetwork/feature/create-multiple-items-ex
in: master
Add createMultipleItemsEx call
27 files changed
.maintain/frame-weight-template.hbsdiffbeforeafterboth--- a/.maintain/frame-weight-template.hbs
+++ b/.maintain/frame-weight-template.hbs
@@ -7,7 +7,7 @@
//! EXECUTION: {{cmd.execution}}, WASM-EXECUTION: {{cmd.wasm_execution}}, CHAIN: {{cmd.chain}}, DB CACHE: {{cmd.db_cache}}
// Executed Command:
-{{#each args as |arg|~}}
+{{#each args as |arg|}}
// {{arg}}
{{/each}}
@@ -21,76 +21,80 @@
/// Weight functions needed for {{pallet}}.
pub trait WeightInfo {
- {{~#each benchmarks as |benchmark|}}
+ {{#each benchmarks as |benchmark|}}
fn {{benchmark.name~}}
(
{{~#each benchmark.components as |c| ~}}
{{c.name}}: u32, {{/each~}}
) -> Weight;
- {{~/each}}
+ {{/each}}
}
/// Weights for {{pallet}} using the Substrate node and recommended hardware.
pub struct SubstrateWeight<T>(PhantomData<T>);
+{{#if (eq pallet "frame_system")}}
+impl<T: crate::Config> WeightInfo for SubstrateWeight<T> {
+{{else}}
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
- {{~#each benchmarks as |benchmark|}}
- {{~#each benchmark.comments as |comment|}}
+{{/if}}
+ {{#each benchmarks as |benchmark|}}
+ {{#each benchmark.comments as |comment|}}
// {{comment}}
- {{~/each}}
+ {{/each}}
fn {{benchmark.name~}}
(
{{~#each benchmark.components as |c| ~}}
{{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}}
) -> Weight {
({{underscore benchmark.base_weight}} as Weight)
- {{~#each benchmark.component_weight as |cw|}}
+ {{#each benchmark.component_weight as |cw|}}
// Standard Error: {{underscore cw.error}}
.saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))
- {{~/each}}
- {{~#if (ne benchmark.base_reads "0")}}
+ {{/each}}
+ {{#if (ne benchmark.base_reads "0")}}
.saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}} as Weight))
- {{~/if}}
- {{~#each benchmark.component_reads as |cr|}}
+ {{/if}}
+ {{#each benchmark.component_reads as |cr|}}
.saturating_add(T::DbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight)))
- {{~/each}}
- {{~#if (ne benchmark.base_writes "0")}}
+ {{/each}}
+ {{#if (ne benchmark.base_writes "0")}}
.saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}} as Weight))
- {{~/if}}
- {{~#each benchmark.component_writes as |cw|}}
+ {{/if}}
+ {{#each benchmark.component_writes as |cw|}}
.saturating_add(T::DbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)))
- {{~/each}}
+ {{/each}}
}
- {{~/each}}
+ {{/each}}
}
// For backwards compatibility and tests
impl WeightInfo for () {
- {{~#each benchmarks as |benchmark|}}
- {{~#each benchmark.comments as |comment|}}
+ {{#each benchmarks as |benchmark|}}
+ {{#each benchmark.comments as |comment|}}
// {{comment}}
- {{~/each}}
+ {{/each}}
fn {{benchmark.name~}}
(
{{~#each benchmark.components as |c| ~}}
{{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}}
) -> Weight {
({{underscore benchmark.base_weight}} as Weight)
- {{~#each benchmark.component_weight as |cw|}}
+ {{#each benchmark.component_weight as |cw|}}
// Standard Error: {{underscore cw.error}}
.saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))
- {{~/each}}
- {{~#if (ne benchmark.base_reads "0")}}
+ {{/each}}
+ {{#if (ne benchmark.base_reads "0")}}
.saturating_add(RocksDbWeight::get().reads({{benchmark.base_reads}} as Weight))
- {{~/if}}
- {{~#each benchmark.component_reads as |cr|}}
+ {{/if}}
+ {{#each benchmark.component_reads as |cr|}}
.saturating_add(RocksDbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight)))
- {{~/each}}
- {{~#if (ne benchmark.base_writes "0")}}
+ {{/each}}
+ {{#if (ne benchmark.base_writes "0")}}
.saturating_add(RocksDbWeight::get().writes({{benchmark.base_writes}} as Weight))
- {{~/if}}
- {{~#each benchmark.component_writes as |cw|}}
+ {{/if}}
+ {{#each benchmark.component_writes as |cw|}}
.saturating_add(RocksDbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)))
- {{~/each}}
+ {{/each}}
}
- {{~/each}}
+ {{/each}}
}
pallets/common/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/common/src/benchmarking.rs
+++ b/pallets/common/src/benchmarking.rs
@@ -1,64 +1,87 @@
use sp_std::vec::Vec;
use crate::{Config, CollectionHandle};
use up_data_structs::{
- CollectionMode, Collection, CollectionId, MAX_COLLECTION_NAME_LENGTH,
+ CollectionMode, CreateCollectionData, CollectionId, MAX_COLLECTION_NAME_LENGTH,
MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH, OFFCHAIN_SCHEMA_LIMIT,
VARIABLE_ON_CHAIN_SCHEMA_LIMIT, CONST_ON_CHAIN_SCHEMA_LIMIT,
};
-use frame_support::traits::{Currency, Get};
+use frame_support::{
+ traits::{Currency, Get},
+ pallet_prelude::ConstU32,
+ BoundedVec,
+};
use core::convert::TryInto;
use sp_runtime::DispatchError;
-pub fn create_data(size: usize) -> Vec<u8> {
- (0..size).map(|v| (v & 0xff) as u8).collect()
+pub fn create_data<const S: u32>() -> BoundedVec<u8, ConstU32<S>> {
+ create_var_data::<S>(S)
}
-pub fn create_u16_data(size: usize) -> Vec<u16> {
- (0..size).map(|v| (v & 0xffff) as u16).collect()
+pub fn create_u16_data<const S: u32>() -> BoundedVec<u16, ConstU32<S>> {
+ (0..S)
+ .map(|v| (v & 0xffff) as u16)
+ .collect::<Vec<_>>()
+ .try_into()
+ .unwrap()
+}
+pub fn create_var_data<const S: u32>(size: u32) -> BoundedVec<u8, ConstU32<S>> {
+ assert!(
+ size <= S,
+ "size ({}) should be less within bound ({})",
+ size,
+ S
+ );
+ (0..size)
+ .map(|v| (v & 0xff) as u8)
+ .collect::<Vec<_>>()
+ .try_into()
+ .unwrap()
}
pub fn create_collection_raw<T: Config, R>(
owner: T::AccountId,
mode: CollectionMode,
- handler: impl FnOnce(Collection<T::AccountId>) -> Result<CollectionId, DispatchError>,
+ handler: impl FnOnce(
+ T::AccountId,
+ CreateCollectionData<T::AccountId>,
+ ) -> Result<CollectionId, DispatchError>,
cast: impl FnOnce(CollectionHandle<T>) -> R,
) -> Result<R, DispatchError> {
T::Currency::deposit_creating(&owner, T::CollectionCreationPrice::get());
- let name = create_u16_data(MAX_COLLECTION_NAME_LENGTH)
- .try_into()
- .unwrap();
- let description = create_u16_data(MAX_COLLECTION_DESCRIPTION_LENGTH)
- .try_into()
- .unwrap();
- let token_prefix = create_data(MAX_TOKEN_PREFIX_LENGTH).try_into().unwrap();
- let offchain_schema = create_data(OFFCHAIN_SCHEMA_LIMIT as usize)
- .try_into()
- .unwrap();
- let variable_on_chain_schema = create_data(VARIABLE_ON_CHAIN_SCHEMA_LIMIT as usize)
- .try_into()
- .unwrap();
- let const_on_chain_schema = create_data(CONST_ON_CHAIN_SCHEMA_LIMIT as usize)
- .try_into()
- .unwrap();
- handler(Collection {
+ let name = create_u16_data::<MAX_COLLECTION_NAME_LENGTH>();
+ let description = create_u16_data::<MAX_COLLECTION_DESCRIPTION_LENGTH>();
+ let token_prefix = create_data::<MAX_TOKEN_PREFIX_LENGTH>();
+ let offchain_schema = create_data::<OFFCHAIN_SCHEMA_LIMIT>();
+ let variable_on_chain_schema = create_data::<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>();
+ let const_on_chain_schema = create_data::<CONST_ON_CHAIN_SCHEMA_LIMIT>();
+ handler(
owner,
- mode,
- access: Default::default(),
- name,
- description,
- token_prefix,
- mint_mode: true,
- offchain_schema,
- schema_version: Default::default(),
- sponsorship: Default::default(),
- limits: Default::default(),
- variable_on_chain_schema,
- const_on_chain_schema,
- meta_update_permission: Default::default(),
- })
+ CreateCollectionData {
+ mode,
+ name,
+ description,
+ token_prefix,
+ offchain_schema,
+ variable_on_chain_schema,
+ const_on_chain_schema,
+ ..Default::default()
+ },
+ )
.and_then(CollectionHandle::try_get)
.map(cast)
}
+/// Helper macros, which handles all benchmarking preparation in semi-declarative way
+///
+/// `name` is a substrate account
+/// - name: sub[(id)]
+/// `name` is a collection with owner `owner`
+/// - name: collection(owner)
+/// `name` is a cross account based on substrate
+/// - name: cross_sub[(id)]
+/// `name` is a cross account, which maps to substrate account `name`
+/// - name: cross_from_sub
+/// `name` is a cross account, which maps to substrate account `other_name`
+/// - name: cross_from_sub(other_name)
#[macro_export]
macro_rules! bench_init {
($name:ident: sub $(($id:expr))?; $($rest:tt)*) => {
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -17,7 +17,7 @@
TokenId, Weight, WithdrawReasons, CollectionStats, MAX_TOKEN_OWNERSHIP, CollectionMode,
NFT_SPONSOR_TRANSFER_TIMEOUT, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MAX_SPONSOR_TIMEOUT, CUSTOM_DATA_LIMIT, CollectionLimits,
- CustomDataLimit, CreateCollectionData, SponsorshipState,
+ CustomDataLimit, CreateCollectionData, SponsorshipState, CreateItemExData,
};
pub use pallet::*;
use sp_core::H160;
@@ -624,9 +624,10 @@
}
/// Worst cases
-pub trait CommonWeightInfo {
+pub trait CommonWeightInfo<CrossAccountId> {
fn create_item() -> Weight;
fn create_multiple_items(amount: u32) -> Weight;
+ fn create_multiple_items_ex(cost: &CreateItemExData<CrossAccountId>) -> Weight;
fn burn_item() -> Weight;
fn transfer() -> Weight;
fn approve() -> Weight;
@@ -648,6 +649,11 @@
to: T::CrossAccountId,
data: Vec<CreateItemData>,
) -> DispatchResultWithPostInfo;
+ fn create_multiple_items_ex(
+ &self,
+ sender: T::CrossAccountId,
+ data: CreateItemExData<T::CrossAccountId>,
+ ) -> DispatchResultWithPostInfo;
fn burn_item(
&self,
sender: T::CrossAccountId,
pallets/fungible/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/fungible/src/benchmarking.rs
+++ b/pallets/fungible/src/benchmarking.rs
@@ -4,7 +4,7 @@
use sp_std::prelude::*;
use pallet_common::benchmarking::create_collection_raw;
use frame_benchmarking::{benchmarks, account};
-use up_data_structs::{CollectionMode};
+use up_data_structs::{CollectionMode, MAX_ITEMS_PER_BATCH};
use pallet_common::bench_init;
const SEED: u32 = 1;
@@ -26,6 +26,18 @@
};
}: {<Pallet<T>>::create_item(&collection, &sender, (to, 200))?}
+ create_multiple_items_ex {
+ let b in 0..MAX_ITEMS_PER_BATCH;
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ sender: cross_from_sub(owner);
+ };
+ let data = (0..b).map(|i| {
+ bench_init!(to: cross_sub(i););
+ (to, 200)
+ }).collect::<BTreeMap<_, _>>().try_into().unwrap();
+ }: {<Pallet<T>>::create_multiple_items(&collection, &sender, data)}
+
burn_item {
bench_init!{
owner: sub; collection: collection(owner);
pallets/fungible/src/common.rsdiffbeforeafterboth--- a/pallets/fungible/src/common.rs
+++ b/pallets/fungible/src/common.rs
@@ -1,7 +1,7 @@
use core::marker::PhantomData;
use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, BoundedVec};
-use up_data_structs::TokenId;
+use up_data_structs::{TokenId, CreateItemExData};
use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
use sp_runtime::ArithmeticError;
use sp_std::{vec::Vec, vec};
@@ -12,7 +12,7 @@
};
pub struct CommonWeights<T: Config>(PhantomData<T>);
-impl<T: Config> CommonWeightInfo for CommonWeights<T> {
+impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {
fn create_item() -> Weight {
<SelfWeightOf<T>>::create_item()
}
@@ -21,6 +21,15 @@
Self::create_item()
}
+ fn create_multiple_items_ex(data: &CreateItemExData<T::CrossAccountId>) -> Weight {
+ match data {
+ CreateItemExData::Fungible(f) => {
+ <SelfWeightOf<T>>::create_multiple_items_ex(f.len() as u32)
+ }
+ _ => 0,
+ }
+ }
+
fn burn_item() -> Weight {
<SelfWeightOf<T>>::burn_item()
}
@@ -87,6 +96,23 @@
)
}
+ fn create_multiple_items_ex(
+ &self,
+ sender: <T>::CrossAccountId,
+ data: up_data_structs::CreateItemExData<<T>::CrossAccountId>,
+ ) -> DispatchResultWithPostInfo {
+ let weight = <CommonWeights<T>>::create_multiple_items_ex(&data);
+ let data = match data {
+ up_data_structs::CreateItemExData::Fungible(f) => f,
+ _ => fail!(<Error<T>>::NotFungibleDataUsedToMintFungibleCollectionToken),
+ };
+
+ with_weight(
+ <Pallet<T>>::create_multiple_items(self, &sender, data.into_inner()),
+ weight,
+ )
+ }
+
fn burn_item(
&self,
sender: T::CrossAccountId,
pallets/fungible/src/lib.rsdiffbeforeafterboth--- a/pallets/fungible/src/lib.rs
+++ b/pallets/fungible/src/lib.rs
@@ -9,7 +9,7 @@
use pallet_evm_coder_substrate::WithRecorder;
use sp_core::H160;
use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
-use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};
+use sp_std::collections::btree_map::BTreeMap;
pub use pallet::*;
@@ -222,7 +222,7 @@
pub fn create_multiple_items(
collection: &FungibleHandle<T>,
sender: &T::CrossAccountId,
- data: Vec<CreateItemData<T>>,
+ data: BTreeMap<T::CrossAccountId, u128>,
) -> DispatchResult {
if !collection.is_owner_or_admin(sender) {
ensure!(
@@ -235,23 +235,19 @@
collection.check_allowlist(owner)?;
}
}
-
- let mut balances = BTreeMap::new();
let total_supply = data
.iter()
- .map(|u| u.1)
+ .map(|(_, v)| *v)
.try_fold(<TotalSupply<T>>::get(collection.id), |acc, v| {
acc.checked_add(v)
})
.ok_or(ArithmeticError::Overflow)?;
- for (user, amount) in data.into_iter() {
- let balance = balances
- .entry(user.clone())
- .or_insert_with(|| <Balance<T>>::get((collection.id, user)));
- *balance = (*balance)
- .checked_add(amount)
+ let mut balances = data;
+ for (k, v) in balances.iter_mut() {
+ *v = <Balance<T>>::get((collection.id, &k))
+ .checked_add(*v)
.ok_or(ArithmeticError::Overflow)?;
}
@@ -396,6 +392,6 @@
sender: &T::CrossAccountId,
data: CreateItemData<T>,
) -> DispatchResult {
- Self::create_multiple_items(collection, sender, vec![data])
+ Self::create_multiple_items(collection, sender, [(data.0, data.1)].into_iter().collect())
}
}
pallets/fungible/src/weights.rsdiffbeforeafterboth--- a/pallets/fungible/src/weights.rs
+++ b/pallets/fungible/src/weights.rs
@@ -33,6 +33,7 @@
/// Weight functions needed for pallet_fungible.
pub trait WeightInfo {
fn create_item() -> Weight;
+ fn create_multiple_items_ex(b: u32, ) -> Weight;
fn burn_item() -> Weight;
fn transfer() -> Weight;
fn approve() -> Weight;
@@ -51,6 +52,17 @@
.saturating_add(T::DbWeight::get().writes(2 as Weight))
}
// Storage: Fungible TotalSupply (r:1 w:1)
+ // Storage: Fungible Balance (r:4 w:4)
+ fn create_multiple_items_ex(b: u32, ) -> Weight {
+ (1_055_000 as Weight)
+ // Standard Error: 22_000
+ .saturating_add((5_273_000 as Weight).saturating_mul(b as Weight))
+ .saturating_add(T::DbWeight::get().reads(1 as Weight))
+ .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+ .saturating_add(T::DbWeight::get().writes(1 as Weight))
+ .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
+ }
+ // Storage: Fungible TotalSupply (r:1 w:1)
// Storage: Fungible Balance (r:1 w:1)
fn burn_item() -> Weight {
(14_096_000 as Weight)
@@ -97,6 +109,17 @@
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
}
// Storage: Fungible TotalSupply (r:1 w:1)
+ // Storage: Fungible Balance (r:4 w:4)
+ fn create_multiple_items_ex(b: u32, ) -> Weight {
+ (1_055_000 as Weight)
+ // Standard Error: 22_000
+ .saturating_add((5_273_000 as Weight).saturating_mul(b as Weight))
+ .saturating_add(RocksDbWeight::get().reads(1 as Weight))
+ .saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+ .saturating_add(RocksDbWeight::get().writes(1 as Weight))
+ .saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
+ }
+ // Storage: Fungible TotalSupply (r:1 w:1)
// Storage: Fungible Balance (r:1 w:1)
fn burn_item() -> Weight {
(14_096_000 as Weight)
pallets/inflation/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/inflation/src/benchmarking.rs
+++ b/pallets/inflation/src/benchmarking.rs
@@ -1,7 +1,7 @@
#![cfg(feature = "runtime-benchmarks")]
use super::*;
-use crate::Module as Inflation;
+use crate::Pallet as Inflation;
use frame_benchmarking::{benchmarks};
use frame_support::traits::OnInitialize;
pallets/nonfungible/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/benchmarking.rs
+++ b/pallets/nonfungible/src/benchmarking.rs
@@ -2,18 +2,18 @@
use crate::{Pallet, Config, NonfungibleHandle};
use sp_std::prelude::*;
-use pallet_common::benchmarking::{create_collection_raw, create_data};
+use pallet_common::benchmarking::{create_collection_raw, create_data, create_var_data};
use frame_benchmarking::{benchmarks, account};
-use up_data_structs::{CollectionMode, MAX_ITEMS_PER_BATCH};
+use up_data_structs::{CollectionMode, MAX_ITEMS_PER_BATCH, CUSTOM_DATA_LIMIT};
use pallet_common::bench_init;
use core::convert::TryInto;
const SEED: u32 = 1;
fn create_max_item_data<T: Config>(owner: T::CrossAccountId) -> CreateItemData<T> {
- let const_data = create_data(CUSTOM_DATA_LIMIT as usize).try_into().unwrap();
- let variable_data = create_data(CUSTOM_DATA_LIMIT as usize).try_into().unwrap();
- CreateItemData {
+ let const_data = create_data::<CUSTOM_DATA_LIMIT>();
+ let variable_data = create_data::<CUSTOM_DATA_LIMIT>();
+ CreateItemData::<T> {
const_data,
variable_data,
owner,
@@ -24,7 +24,7 @@
sender: &T::CrossAccountId,
owner: T::CrossAccountId,
) -> Result<TokenId, DispatchError> {
- <Pallet<T>>::create_item(&collection, sender, create_max_item_data(owner))?;
+ <Pallet<T>>::create_item(&collection, sender, create_max_item_data::<T>(owner))?;
Ok(TokenId(<TokensMinted<T>>::get(&collection.id)))
}
@@ -53,7 +53,19 @@
owner: sub; collection: collection(owner);
sender: cross_from_sub(owner); to: cross_sub;
};
- let data = (0..b).map(|_| create_max_item_data(to.clone())).collect();
+ let data = (0..b).map(|_| create_max_item_data::<T>(to.clone())).collect();
+ }: {<Pallet<T>>::create_multiple_items(&collection, &sender, data)?}
+
+ create_multiple_items_ex {
+ let b in 0..MAX_ITEMS_PER_BATCH;
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ sender: cross_from_sub(owner);
+ };
+ let data = (0..b).map(|i| {
+ bench_init!(to: cross_sub(i););
+ create_max_item_data::<T>(to)
+ }).collect();
}: {<Pallet<T>>::create_multiple_items(&collection, &sender, data)?}
burn_item {
@@ -105,6 +117,6 @@
owner: cross_from_sub; sender: cross_sub;
};
let item = create_max_item(&collection, &owner, sender.clone())?;
- let data = create_data(b as usize);
+ let data = create_var_data(b).try_into().unwrap();
}: {<Pallet<T>>::set_variable_metadata(&collection, &sender, item, data)?}
}
pallets/nonfungible/src/common.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -1,7 +1,7 @@
use core::marker::PhantomData;
use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, BoundedVec};
-use up_data_structs::{TokenId, CustomDataLimit};
+use up_data_structs::{TokenId, CustomDataLimit, CreateItemExData};
use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
use sp_runtime::DispatchError;
use sp_std::vec::Vec;
@@ -12,11 +12,18 @@
};
pub struct CommonWeights<T: Config>(PhantomData<T>);
-impl<T: Config> CommonWeightInfo for CommonWeights<T> {
+impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {
fn create_item() -> Weight {
<SelfWeightOf<T>>::create_item()
}
+ fn create_multiple_items_ex(data: &CreateItemExData<T::CrossAccountId>) -> Weight {
+ match data {
+ CreateItemExData::NFT(t) => <SelfWeightOf<T>>::create_multiple_items_ex(t.len() as u32),
+ _ => 0,
+ }
+ }
+
fn create_multiple_items(amount: u32) -> Weight {
<SelfWeightOf<T>>::create_multiple_items(amount)
}
@@ -51,7 +58,7 @@
to: &T::CrossAccountId,
) -> Result<CreateItemData<T>, DispatchError> {
match data {
- up_data_structs::CreateItemData::NFT(data) => Ok(CreateItemData {
+ up_data_structs::CreateItemData::NFT(data) => Ok(CreateItemData::<T> {
const_data: data.const_data,
variable_data: data.variable_data,
owner: to.clone(),
@@ -68,7 +75,7 @@
data: up_data_structs::CreateItemData,
) -> DispatchResultWithPostInfo {
with_weight(
- <Pallet<T>>::create_item(self, &sender, map_create_data(data, &to)?),
+ <Pallet<T>>::create_item(self, &sender, map_create_data::<T>(data, &to)?),
<CommonWeights<T>>::create_item(),
)
}
@@ -91,6 +98,23 @@
)
}
+ fn create_multiple_items_ex(
+ &self,
+ sender: <T>::CrossAccountId,
+ data: up_data_structs::CreateItemExData<<T>::CrossAccountId>,
+ ) -> DispatchResultWithPostInfo {
+ let weight = <CommonWeights<T>>::create_multiple_items_ex(&data);
+ let data = match data {
+ up_data_structs::CreateItemExData::NFT(nft) => nft,
+ _ => fail!(Error::<T>::NotNonfungibleDataUsedToMintFungibleCollectionToken),
+ };
+
+ with_weight(
+ <Pallet<T>>::create_multiple_items(self, &sender, data.into_inner()),
+ weight,
+ )
+ }
+
fn burn_item(
&self,
sender: T::CrossAccountId,
pallets/nonfungible/src/erc.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -232,7 +232,7 @@
<Pallet<T>>::create_item(
self,
&caller,
- CreateItemData {
+ CreateItemData::<T> {
const_data: BoundedVec::default(),
variable_data: BoundedVec::default(),
owner: to,
@@ -268,7 +268,7 @@
<Pallet<T>>::create_item(
self,
&caller,
- CreateItemData {
+ CreateItemData::<T> {
const_data: Vec::<u8>::from(token_uri)
.try_into()
.map_err(|_| "token uri is too long")?,
@@ -376,7 +376,7 @@
expected_index = expected_index.checked_add(1).ok_or("item id overflow")?;
}
let data = (0..total_tokens)
- .map(|_| CreateItemData {
+ .map(|_| CreateItemData::<T> {
const_data: BoundedVec::default(),
variable_data: BoundedVec::default(),
owner: to.clone(),
@@ -409,7 +409,7 @@
}
expected_index = expected_index.checked_add(1).ok_or("item id overflow")?;
- data.push(CreateItemData {
+ data.push(CreateItemData::<T> {
const_data: Vec::<u8>::from(token_uri)
.try_into()
.map_err(|_| "token uri is too long")?,
pallets/nonfungible/src/lib.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -2,7 +2,9 @@
use erc::ERC721Events;
use frame_support::{BoundedVec, ensure};
-use up_data_structs::{AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData};
+use up_data_structs::{
+ AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData, CreateNftExData,
+};
use pallet_common::{
Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, account::CrossAccountId,
};
@@ -22,11 +24,7 @@
pub mod erc;
pub mod weights;
-pub struct CreateItemData<T: Config> {
- pub const_data: BoundedVec<u8, CustomDataLimit>,
- pub variable_data: BoundedVec<u8, CustomDataLimit>,
- pub owner: T::CrossAccountId,
-}
+pub type CreateItemData<T> = CreateNftExData<<T as pallet_common::Config>::CrossAccountId>;
pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
#[derive(Encode, Decode, TypeInfo, MaxEncodedLen)]
pallets/nonfungible/src/weights.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/weights.rs
+++ b/pallets/nonfungible/src/weights.rs
@@ -34,6 +34,7 @@
pub trait WeightInfo {
fn create_item() -> Weight;
fn create_multiple_items(b: u32, ) -> Weight;
+ fn create_multiple_items_ex(b: u32, ) -> Weight;
fn burn_item() -> Weight;
fn transfer() -> Weight;
fn approve() -> Weight;
@@ -66,6 +67,19 @@
.saturating_add(T::DbWeight::get().writes(2 as Weight))
.saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(b as Weight)))
}
+ // Storage: Nonfungible TokensMinted (r:1 w:1)
+ // Storage: Nonfungible AccountBalance (r:4 w:4)
+ // Storage: Nonfungible TokenData (r:0 w:4)
+ // Storage: Nonfungible Owned (r:0 w:4)
+ fn create_multiple_items_ex(b: u32, ) -> Weight {
+ (2_090_000 as Weight)
+ // Standard Error: 10_000
+ .saturating_add((9_230_000 as Weight).saturating_mul(b as Weight))
+ .saturating_add(T::DbWeight::get().reads(1 as Weight))
+ .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+ .saturating_add(T::DbWeight::get().writes(1 as Weight))
+ .saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+ }
// Storage: Nonfungible TokenData (r:1 w:1)
// Storage: Nonfungible TokensBurnt (r:1 w:1)
// Storage: Nonfungible Allowance (r:1 w:0)
@@ -140,6 +154,19 @@
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
.saturating_add(RocksDbWeight::get().writes((2 as Weight).saturating_mul(b as Weight)))
}
+ // Storage: Nonfungible TokensMinted (r:1 w:1)
+ // Storage: Nonfungible AccountBalance (r:4 w:4)
+ // Storage: Nonfungible TokenData (r:0 w:4)
+ // Storage: Nonfungible Owned (r:0 w:4)
+ fn create_multiple_items_ex(b: u32, ) -> Weight {
+ (2_090_000 as Weight)
+ // Standard Error: 10_000
+ .saturating_add((9_230_000 as Weight).saturating_mul(b as Weight))
+ .saturating_add(RocksDbWeight::get().reads(1 as Weight))
+ .saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+ .saturating_add(RocksDbWeight::get().writes(1 as Weight))
+ .saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+ }
// Storage: Nonfungible TokenData (r:1 w:1)
// Storage: Nonfungible TokensBurnt (r:1 w:1)
// Storage: Nonfungible Allowance (r:1 w:0)
pallets/refungible/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/refungible/src/benchmarking.rs
+++ b/pallets/refungible/src/benchmarking.rs
@@ -2,24 +2,28 @@
use crate::{Pallet, Config, RefungibleHandle};
use sp_std::prelude::*;
-use pallet_common::benchmarking::{create_collection_raw, create_data};
+use pallet_common::benchmarking::{create_collection_raw, create_data, create_var_data};
use frame_benchmarking::{benchmarks, account};
-use up_data_structs::{CollectionMode, MAX_ITEMS_PER_BATCH};
+use up_data_structs::{CollectionMode, MAX_ITEMS_PER_BATCH, CUSTOM_DATA_LIMIT};
use pallet_common::bench_init;
use core::convert::TryInto;
use core::iter::IntoIterator;
const SEED: u32 = 1;
-fn create_max_item_data<T: Config>(
- users: impl IntoIterator<Item = (T::CrossAccountId, u128)>,
-) -> CreateItemData<T> {
- let const_data = create_data(CUSTOM_DATA_LIMIT as usize).try_into().unwrap();
- let variable_data = create_data(CUSTOM_DATA_LIMIT as usize).try_into().unwrap();
- CreateItemData {
+fn create_max_item_data<CrossAccountId: Ord>(
+ users: impl IntoIterator<Item = (CrossAccountId, u128)>,
+) -> CreateRefungibleExData<CrossAccountId> {
+ let const_data = create_data::<CUSTOM_DATA_LIMIT>();
+ let variable_data = create_data::<CUSTOM_DATA_LIMIT>();
+ CreateRefungibleExData {
const_data,
variable_data,
- users: users.into_iter().collect(),
+ users: users
+ .into_iter()
+ .collect::<BTreeMap<_, _>>()
+ .try_into()
+ .unwrap(),
}
}
fn create_max_item<T: Config>(
@@ -27,7 +31,8 @@
sender: &T::CrossAccountId,
users: impl IntoIterator<Item = (T::CrossAccountId, u128)>,
) -> Result<TokenId, DispatchError> {
- <Pallet<T>>::create_item(&collection, sender, create_max_item_data(users))?;
+ let data: CreateRefungibleExData<T::CrossAccountId> = create_max_item_data(users);
+ <Pallet<T>>::create_item(&collection, sender, data)?;
Ok(TokenId(<TokensMinted<T>>::get(&collection.id)))
}
@@ -56,6 +61,30 @@
let data = (0..b).map(|_| create_max_item_data([(to.clone(), 200)])).collect();
}: {<Pallet<T>>::create_multiple_items(&collection, &sender, data)?}
+ create_multiple_items_ex_multiple_items {
+ let b in 0..MAX_ITEMS_PER_BATCH;
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ sender: cross_from_sub(owner);
+ };
+ let data = (0..b).map(|t| {
+ bench_init!(to: cross_sub(t););
+ create_max_item_data([(to, 200)])
+ }).collect();
+ }: {<Pallet<T>>::create_multiple_items(&collection, &sender, data)?}
+
+ create_multiple_items_ex_multiple_owners {
+ let b in 0..MAX_ITEMS_PER_BATCH;
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ sender: cross_from_sub(owner);
+ };
+ let data = vec![create_max_item_data((0..b).map(|u| {
+ bench_init!(to: cross_sub(u););
+ (to, 200)
+ }))].try_into().unwrap();
+ }: {<Pallet<T>>::create_multiple_items(&collection, &sender, data)?}
+
// Other user left, token data is kept
burn_item_partial {
bench_init!{
@@ -166,6 +195,6 @@
sender: cross_from_sub(owner);
};
let item = create_max_item(&collection, &sender, [(sender.clone(), 200)])?;
- let data = create_data(b as usize);
+ let data = create_var_data(b).try_into().unwrap();
}: {<Pallet<T>>::set_variable_metadata(&collection, &sender, item, data)?}
}
pallets/refungible/src/common.rsdiffbeforeafterboth--- a/pallets/refungible/src/common.rs
+++ b/pallets/refungible/src/common.rs
@@ -2,14 +2,14 @@
use sp_std::collections::btree_map::BTreeMap;
use frame_support::{dispatch::DispatchResultWithPostInfo, fail, weights::Weight, BoundedVec};
-use up_data_structs::{TokenId, CustomDataLimit};
+use up_data_structs::{TokenId, CustomDataLimit, CreateItemExData, CreateRefungibleExData};
use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
use sp_runtime::DispatchError;
-use sp_std::vec::Vec;
+use sp_std::{vec::Vec, vec};
use crate::{
- AccountBalance, Allowance, Balance, Config, CreateItemData, Error, Owned, Pallet,
- RefungibleHandle, SelfWeightOf, TokenData, weights::WeightInfo, TokensMinted,
+ AccountBalance, Allowance, Balance, Config, Error, Owned, Pallet, RefungibleHandle,
+ SelfWeightOf, TokenData, weights::WeightInfo, TokensMinted,
};
macro_rules! max_weight_of {
@@ -22,7 +22,7 @@
}
pub struct CommonWeights<T: Config>(PhantomData<T>);
-impl<T: Config> CommonWeightInfo for CommonWeights<T> {
+impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {
fn create_item() -> Weight {
<SelfWeightOf<T>>::create_item()
}
@@ -31,6 +31,18 @@
<SelfWeightOf<T>>::create_multiple_items(amount)
}
+ fn create_multiple_items_ex(call: &CreateItemExData<T::CrossAccountId>) -> Weight {
+ match call {
+ CreateItemExData::RefungibleMultipleOwners(i) => {
+ <SelfWeightOf<T>>::create_multiple_items_ex_multiple_owners(i.users.len() as u32)
+ }
+ CreateItemExData::RefungibleMultipleItems(i) => {
+ <SelfWeightOf<T>>::create_multiple_items_ex_multiple_items(i.len() as u32)
+ }
+ _ => 0,
+ }
+ }
+
fn burn_item() -> Weight {
max_weight_of!(burn_item_partial(), burn_item_fully())
}
@@ -69,15 +81,15 @@
fn map_create_data<T: Config>(
data: up_data_structs::CreateItemData,
to: &T::CrossAccountId,
-) -> Result<CreateItemData<T>, DispatchError> {
+) -> Result<CreateRefungibleExData<T::CrossAccountId>, DispatchError> {
match data {
- up_data_structs::CreateItemData::ReFungible(data) => Ok(CreateItemData {
+ up_data_structs::CreateItemData::ReFungible(data) => Ok(CreateRefungibleExData {
const_data: data.const_data,
variable_data: data.variable_data,
users: {
let mut out = BTreeMap::new();
out.insert(to.clone(), data.pieces);
- out
+ out.try_into().expect("limit > 0")
},
}),
_ => fail!(<Error<T>>::NotRefungibleDataUsedToMintFungibleCollectionToken),
@@ -92,7 +104,7 @@
data: up_data_structs::CreateItemData,
) -> DispatchResultWithPostInfo {
with_weight(
- <Pallet<T>>::create_item(self, &sender, map_create_data(data, &to)?),
+ <Pallet<T>>::create_item(self, &sender, map_create_data::<T>(data, &to)?),
<CommonWeights<T>>::create_item(),
)
}
@@ -115,6 +127,28 @@
)
}
+ fn create_multiple_items_ex(
+ &self,
+ sender: <T>::CrossAccountId,
+ data: CreateItemExData<T::CrossAccountId>,
+ ) -> DispatchResultWithPostInfo {
+ let weight = <CommonWeights<T>>::create_multiple_items_ex(&data);
+ let data = match data {
+ CreateItemExData::RefungibleMultipleOwners(r) => vec![r],
+ CreateItemExData::RefungibleMultipleItems(r)
+ if r.iter().all(|i| i.users.len() == 1) =>
+ {
+ r.into_inner()
+ }
+ _ => fail!(<Error<T>>::NotRefungibleDataUsedToMintFungibleCollectionToken),
+ };
+
+ with_weight(
+ <Pallet<T>>::create_multiple_items(self, &sender, data),
+ weight,
+ )
+ }
+
fn burn_item(
&self,
sender: T::CrossAccountId,
pallets/refungible/src/lib.rsdiffbeforeafterboth--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -2,7 +2,8 @@
use frame_support::{ensure, BoundedVec};
use up_data_structs::{
- AccessMode, CollectionId, CustomDataLimit, MAX_REFUNGIBLE_PIECES, TokenId, CreateCollectionData,
+ AccessMode, CollectionId, CustomDataLimit, MAX_REFUNGIBLE_PIECES, TokenId,
+ CreateCollectionData, CreateRefungibleExData,
};
use pallet_common::{
Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, account::CrossAccountId,
@@ -19,11 +20,6 @@
pub mod common;
pub mod erc;
pub mod weights;
-pub struct CreateItemData<T: Config> {
- pub const_data: BoundedVec<u8, CustomDataLimit>,
- pub variable_data: BoundedVec<u8, CustomDataLimit>,
- pub users: BTreeMap<T::CrossAccountId, u128>,
-}
pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
#[derive(Encode, Decode, Default, TypeInfo, MaxEncodedLen)]
@@ -361,7 +357,7 @@
pub fn create_multiple_items(
collection: &RefungibleHandle<T>,
sender: &T::CrossAccountId,
- data: Vec<CreateItemData<T>>,
+ data: Vec<CreateRefungibleExData<T::CrossAccountId>>,
) -> DispatchResult {
if !collection.is_owner_or_admin(sender) {
ensure!(
@@ -606,7 +602,7 @@
pub fn create_item(
collection: &RefungibleHandle<T>,
sender: &T::CrossAccountId,
- data: CreateItemData<T>,
+ data: CreateRefungibleExData<T::CrossAccountId>,
) -> DispatchResult {
Self::create_multiple_items(collection, sender, vec![data])
}
pallets/refungible/src/weights.rsdiffbeforeafterboth--- a/pallets/refungible/src/weights.rs
+++ b/pallets/refungible/src/weights.rs
@@ -34,6 +34,8 @@
pub trait WeightInfo {
fn create_item() -> Weight;
fn create_multiple_items(b: u32, ) -> Weight;
+ fn create_multiple_items_ex_multiple_items(b: u32, ) -> Weight;
+ fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight;
fn burn_item_partial() -> Weight;
fn burn_item_fully() -> Weight;
fn transfer_normal() -> Weight;
@@ -77,6 +79,36 @@
.saturating_add(T::DbWeight::get().writes(2 as Weight))
.saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
}
+ // Storage: Refungible TokensMinted (r:1 w:1)
+ // Storage: Refungible AccountBalance (r:4 w:4)
+ // Storage: Refungible Balance (r:0 w:4)
+ // Storage: Refungible TotalSupply (r:0 w:4)
+ // Storage: Refungible TokenData (r:0 w:4)
+ // Storage: Refungible Owned (r:0 w:4)
+ fn create_multiple_items_ex_multiple_items(b: u32, ) -> Weight {
+ (11_953_000 as Weight)
+ // Standard Error: 27_000
+ .saturating_add((10_775_000 as Weight).saturating_mul(b as Weight))
+ .saturating_add(T::DbWeight::get().reads(1 as Weight))
+ .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+ .saturating_add(T::DbWeight::get().writes(1 as Weight))
+ .saturating_add(T::DbWeight::get().writes((5 as Weight).saturating_mul(b as Weight)))
+ }
+ // Storage: Refungible TokensMinted (r:1 w:1)
+ // Storage: Refungible TotalSupply (r:0 w:1)
+ // Storage: Refungible TokenData (r:0 w:1)
+ // Storage: Refungible AccountBalance (r:4 w:4)
+ // Storage: Refungible Balance (r:0 w:4)
+ // Storage: Refungible Owned (r:0 w:4)
+ fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight {
+ (0 as Weight)
+ // Standard Error: 13_000
+ .saturating_add((8_528_000 as Weight).saturating_mul(b as Weight))
+ .saturating_add(T::DbWeight::get().reads(1 as Weight))
+ .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+ .saturating_add(T::DbWeight::get().writes(3 as Weight))
+ .saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+ }
// Storage: Refungible TotalSupply (r:1 w:1)
// Storage: Refungible Balance (r:1 w:1)
// Storage: Refungible AccountBalance (r:1 w:1)
@@ -215,6 +247,36 @@
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
.saturating_add(RocksDbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
}
+ // Storage: Refungible TokensMinted (r:1 w:1)
+ // Storage: Refungible AccountBalance (r:4 w:4)
+ // Storage: Refungible Balance (r:0 w:4)
+ // Storage: Refungible TotalSupply (r:0 w:4)
+ // Storage: Refungible TokenData (r:0 w:4)
+ // Storage: Refungible Owned (r:0 w:4)
+ fn create_multiple_items_ex_multiple_items(b: u32, ) -> Weight {
+ (11_953_000 as Weight)
+ // Standard Error: 27_000
+ .saturating_add((10_775_000 as Weight).saturating_mul(b as Weight))
+ .saturating_add(RocksDbWeight::get().reads(1 as Weight))
+ .saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+ .saturating_add(RocksDbWeight::get().writes(1 as Weight))
+ .saturating_add(RocksDbWeight::get().writes((5 as Weight).saturating_mul(b as Weight)))
+ }
+ // Storage: Refungible TokensMinted (r:1 w:1)
+ // Storage: Refungible TotalSupply (r:0 w:1)
+ // Storage: Refungible TokenData (r:0 w:1)
+ // Storage: Refungible AccountBalance (r:4 w:4)
+ // Storage: Refungible Balance (r:0 w:4)
+ // Storage: Refungible Owned (r:0 w:4)
+ fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight {
+ (0 as Weight)
+ // Standard Error: 13_000
+ .saturating_add((8_528_000 as Weight).saturating_mul(b as Weight))
+ .saturating_add(RocksDbWeight::get().reads(1 as Weight))
+ .saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+ .saturating_add(RocksDbWeight::get().writes(3 as Weight))
+ .saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+ }
// Storage: Refungible TotalSupply (r:1 w:1)
// Storage: Refungible Balance (r:1 w:1)
// Storage: Refungible AccountBalance (r:1 w:1)
pallets/unique/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/unique/src/benchmarking.rs
+++ b/pallets/unique/src/benchmarking.rs
@@ -5,9 +5,8 @@
use frame_system::RawOrigin;
use frame_benchmarking::{benchmarks, account};
use up_data_structs::*;
-use core::convert::TryInto;
use sp_runtime::DispatchError;
-use pallet_common::benchmarking::{create_data, create_u16_data};
+use pallet_common::benchmarking::{create_data, create_var_data, create_u16_data};
const SEED: u32 = 1;
@@ -16,13 +15,9 @@
mode: CollectionMode,
) -> Result<CollectionId, DispatchError> {
T::Currency::deposit_creating(&owner, T::CollectionCreationPrice::get());
- let col_name = create_u16_data(MAX_COLLECTION_NAME_LENGTH)
- .try_into()
- .unwrap();
- let col_desc = create_u16_data(MAX_COLLECTION_DESCRIPTION_LENGTH)
- .try_into()
- .unwrap();
- let token_prefix = create_data(MAX_TOKEN_PREFIX_LENGTH).try_into().unwrap();
+ let col_name = create_u16_data::<MAX_COLLECTION_NAME_LENGTH>();
+ let col_desc = create_u16_data::<MAX_COLLECTION_DESCRIPTION_LENGTH>();
+ let token_prefix = create_data::<MAX_TOKEN_PREFIX_LENGTH>();
<Pallet<T>>::create_collection(
RawOrigin::Signed(owner).into(),
col_name,
@@ -37,11 +32,10 @@
}
benchmarks! {
-
create_collection {
- let col_name: Vec<u16> = create_u16_data(MAX_COLLECTION_NAME_LENGTH);
- let col_desc: Vec<u16> = create_u16_data(MAX_COLLECTION_DESCRIPTION_LENGTH);
- let token_prefix: Vec<u8> = create_data(MAX_TOKEN_PREFIX_LENGTH);
+ let col_name = create_u16_data::<MAX_COLLECTION_NAME_LENGTH>();
+ let col_desc = create_u16_data::<MAX_COLLECTION_DESCRIPTION_LENGTH>();
+ let token_prefix = create_data::<MAX_TOKEN_PREFIX_LENGTH>();
let mode: CollectionMode = CollectionMode::NFT;
let caller: T::AccountId = account("caller", 0, SEED);
T::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
@@ -125,7 +119,7 @@
let caller: T::AccountId = account("caller", 0, SEED);
let collection = create_nft_collection::<T>(caller.clone())?;
- let data = create_data(b as usize);
+ let data = create_var_data(b);
}: set_offchain_schema(RawOrigin::Signed(caller.clone()), collection, data)
set_const_on_chain_schema {
@@ -133,7 +127,7 @@
let caller: T::AccountId = account("caller", 0, SEED);
let collection = create_nft_collection::<T>(caller.clone())?;
- let data = create_data(b as usize);
+ let data = create_var_data(b);
}: set_const_on_chain_schema(RawOrigin::Signed(caller.clone()), collection, data)
set_variable_on_chain_schema {
@@ -141,7 +135,7 @@
let caller: T::AccountId = account("caller", 0, SEED);
let collection = create_nft_collection::<T>(caller.clone())?;
- let data = create_data(b as usize);
+ let data = create_var_data(b);
}: set_variable_on_chain_schema(RawOrigin::Signed(caller.clone()), collection, data)
set_schema_version {
pallets/unique/src/common.rsdiffbeforeafterboth--- a/pallets/unique/src/common.rs
+++ b/pallets/unique/src/common.rs
@@ -5,6 +5,7 @@
use pallet_fungible::{common::CommonWeights as FungibleWeights};
use pallet_nonfungible::{common::CommonWeights as NonfungibleWeights};
use pallet_refungible::{common::CommonWeights as RefungibleWeights};
+use up_data_structs::CreateItemExData;
use crate::{Config, dispatch::dispatch_weight};
@@ -17,7 +18,7 @@
}
pub struct CommonWeights<T: Config>(PhantomData<T>);
-impl<T: Config> CommonWeightInfo for CommonWeights<T> {
+impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {
fn create_item() -> up_data_structs::Weight {
dispatch_weight::<T>() + max_weight_of!(create_item())
}
@@ -26,6 +27,10 @@
dispatch_weight::<T>() + max_weight_of!(create_multiple_items(amount))
}
+ fn create_multiple_items_ex(data: &CreateItemExData<T::CrossAccountId>) -> Weight {
+ dispatch_weight::<T>() + max_weight_of!(create_multiple_items_ex(data))
+ }
+
fn burn_item() -> Weight {
dispatch_weight::<T>() + max_weight_of!(burn_item())
}
pallets/unique/src/lib.rsdiffbeforeafterboth--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -40,7 +40,7 @@
OFFCHAIN_SCHEMA_LIMIT, MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH,
MAX_TOKEN_PREFIX_LENGTH, AccessMode, CreateItemData, CollectionLimits, CollectionId,
CollectionMode, TokenId, SchemaVersion, SponsorshipState, MetaUpdatePermission,
- CreateCollectionData, CustomDataLimit,
+ CreateCollectionData, CustomDataLimit, CreateItemExData,
};
use pallet_common::{
account::CrossAccountId, CollectionHandle, Pallet as PalletCommon, Error as CommonError,
@@ -735,6 +735,14 @@
dispatch_call::<T, _>(collection_id, |d| d.create_multiple_items(sender, owner, items_data))
}
+ #[weight = <CommonWeights<T>>::create_multiple_items_ex(&data)]
+ #[transactional]
+ pub fn create_multiple_items_ex(origin, collection_id: CollectionId, data: CreateItemExData<T::CrossAccountId>) -> DispatchResultWithPostInfo {
+ let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
+
+ dispatch_call::<T, _>(collection_id, |d| d.create_multiple_items_ex(sender, data))
+ }
+
// TODO! transaction weight
/// Set transfers_enabled value for particular collection
primitives/data-structs/src/lib.rsdiffbeforeafterboth--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -1,6 +1,11 @@
#![cfg_attr(not(feature = "std"), no_std)]
-use core::convert::{TryFrom, TryInto};
+use core::{
+ convert::{TryFrom, TryInto},
+ fmt,
+};
+use frame_support::storage::bounded_btree_map::BoundedBTreeMap;
+use sp_std::collections::btree_map::BTreeMap;
#[cfg(feature = "serde")]
pub use serde::{Serialize, Deserialize};
@@ -76,9 +81,7 @@
/// create_many call
pub const MAX_ITEMS_PER_BATCH: u32 = 200;
-parameter_types! {
- pub const CustomDataLimit: u32 = CUSTOM_DATA_LIMIT;
-}
+pub type CustomDataLimit = ConstU32<CUSTOM_DATA_LIMIT>;
#[derive(
Encode,
@@ -417,15 +420,72 @@
}
}
+fn bounded_debug<V, S>(v: &BoundedVec<V, S>, f: &mut fmt::Formatter) -> Result<(), fmt::Error>
+where
+ V: fmt::Debug,
+{
+ use core::fmt::Debug;
+ (&v as &Vec<V>).fmt(f)
+}
+
+#[cfg(feature = "serde1")]
+#[allow(dead_code)]
+mod bounded_map_serde {
+ use core::convert::TryFrom;
+ use sp_std::collections::btree_map::BTreeMap;
+ use frame_support::{traits::Get, storage::bounded_btree_map::BoundedBTreeMap};
+ use serde::{
+ ser::{self, Serialize},
+ de::{self, Deserialize, Error},
+ };
+ pub fn serialize<D, K, V, S>(
+ value: &BoundedBTreeMap<K, V, S>,
+ serializer: D,
+ ) -> Result<D::Ok, D::Error>
+ where
+ D: ser::Serializer,
+ K: Serialize + Ord,
+ V: Serialize,
+ {
+ (value as &BTreeMap<_, _>).serialize(serializer)
+ }
+
+ pub fn deserialize<'de, D, K, V, S>(
+ deserializer: D,
+ ) -> Result<BoundedBTreeMap<K, V, S>, D::Error>
+ where
+ D: de::Deserializer<'de>,
+ K: de::Deserialize<'de> + Ord,
+ V: de::Deserialize<'de>,
+ S: Get<u32>,
+ {
+ let map = <BTreeMap<K, V>>::deserialize(deserializer)?;
+ let len = map.len();
+ TryFrom::try_from(map).map_err(|_| D::Error::invalid_length(len, &"lesser size"))
+ }
+}
+
+fn bounded_map_debug<K, V, S>(
+ v: &BoundedBTreeMap<K, V, S>,
+ f: &mut fmt::Formatter,
+) -> Result<(), fmt::Error>
+where
+ K: fmt::Debug + Ord,
+ V: fmt::Debug,
+{
+ use core::fmt::Debug;
+ (&v as &BTreeMap<K, V>).fmt(f)
+}
+
#[derive(Encode, Decode, MaxEncodedLen, Default, PartialEq, Clone, Derivative, TypeInfo)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
#[derivative(Debug)]
pub struct CreateNftData {
#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
- #[derivative(Debug = "ignore")]
+ #[derivative(Debug(format_with = "bounded_debug"))]
pub const_data: BoundedVec<u8, CustomDataLimit>,
#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
- #[derivative(Debug = "ignore")]
+ #[derivative(Debug(format_with = "bounded_debug"))]
pub variable_data: BoundedVec<u8, CustomDataLimit>,
}
@@ -440,10 +500,10 @@
#[derivative(Debug)]
pub struct CreateReFungibleData {
#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
- #[derivative(Debug = "ignore")]
+ #[derivative(Debug(format_with = "bounded_debug"))]
pub const_data: BoundedVec<u8, CustomDataLimit>,
#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
- #[derivative(Debug = "ignore")]
+ #[derivative(Debug(format_with = "bounded_debug"))]
pub variable_data: BoundedVec<u8, CustomDataLimit>,
pub pieces: u128,
}
@@ -470,6 +530,47 @@
ReFungible(CreateReFungibleData),
}
+#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]
+#[derivative(Debug)]
+pub struct CreateNftExData<CrossAccountId> {
+ #[derivative(Debug(format_with = "bounded_debug"))]
+ pub const_data: BoundedVec<u8, CustomDataLimit>,
+ #[derivative(Debug(format_with = "bounded_debug"))]
+ pub variable_data: BoundedVec<u8, CustomDataLimit>,
+ pub owner: CrossAccountId,
+}
+
+#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]
+#[derivative(Debug(bound = "CrossAccountId: fmt::Debug + Ord"))]
+pub struct CreateRefungibleExData<CrossAccountId> {
+ #[derivative(Debug(format_with = "bounded_debug"))]
+ pub const_data: BoundedVec<u8, CustomDataLimit>,
+ #[derivative(Debug(format_with = "bounded_debug"))]
+ pub variable_data: BoundedVec<u8, CustomDataLimit>,
+ #[derivative(Debug(format_with = "bounded_map_debug"))]
+ pub users: BoundedBTreeMap<CrossAccountId, u128, ConstU32<MAX_ITEMS_PER_BATCH>>,
+}
+
+#[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]
+#[derivative(Debug(bound = "CrossAccountId: fmt::Debug + Ord"))]
+pub enum CreateItemExData<CrossAccountId> {
+ NFT(
+ #[derivative(Debug(format_with = "bounded_debug"))]
+ BoundedVec<CreateNftExData<CrossAccountId>, ConstU32<MAX_ITEMS_PER_BATCH>>,
+ ),
+ Fungible(
+ #[derivative(Debug(format_with = "bounded_map_debug"))]
+ BoundedBTreeMap<CrossAccountId, u128, ConstU32<MAX_ITEMS_PER_BATCH>>,
+ ),
+ /// Many tokens, each may have only one owner
+ RefungibleMultipleItems(
+ #[derivative(Debug(format_with = "bounded_debug"))]
+ BoundedVec<CreateRefungibleExData<CrossAccountId>, ConstU32<MAX_ITEMS_PER_BATCH>>,
+ ),
+ /// Single token, which may have many owners
+ RefungibleMultipleOwners(CreateRefungibleExData<CrossAccountId>),
+}
+
impl CreateItemData {
pub fn data_size(&self) -> usize {
match self {
tests/src/createMultipleItemsEx.test.tsdiffbeforeafterboth--- /dev/null
+++ b/tests/src/createMultipleItemsEx.test.ts
@@ -0,0 +1,58 @@
+import {expect} from 'chai';
+import privateKey from './substrate/privateKey';
+import usingApi, {executeTransaction} from './substrate/substrate-api';
+import {createCollectionExpectSuccess} from './util/helpers';
+
+describe('createMultipleItemsEx', () => {
+ it('can initialize multiple NFT with different owners', async () => {
+ const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+ const alice = privateKey('//Alice');
+ const bob = privateKey('//Bob');
+ const charlie = privateKey('//Charlie');
+ await usingApi(async (api) => {
+ const data = [
+ {
+ owner: {substrate: alice.address},
+ constData: '0x0000',
+ variableData: '0x1111',
+ }, {
+ owner: {substrate: bob.address},
+ constData: '0x2222',
+ variableData: '0x3333',
+ }, {
+ owner: {substrate: charlie.address},
+ constData: '0x4444',
+ variableData: '0x5555',
+ },
+ ];
+
+ await executeTransaction(api, alice, api.tx.unique.createMultipleItemsEx(collection, {
+ NFT: data,
+ }));
+ const tokens = await api.query.nonfungible.tokenData.entries(collection);
+ const json = tokens.map(([, token]) => token.toJSON());
+ expect(json).to.be.deep.equal(data);
+ });
+ });
+
+ it('fails when trying to set multiple owners when creating multiple refungibles', async () => {
+ const collection = await createCollectionExpectSuccess({mode: {type: 'ReFungible'}});
+ const alice = privateKey('//Alice');
+ const bob = privateKey('//Bob');
+
+ await usingApi(async (api) => {
+ // Polkadot requires map, and yet requires keys to be JSON encoded
+ const users = new Map();
+ users.set(JSON.stringify({substrate: alice.address}), 1);
+ users.set(JSON.stringify({substrate: bob.address}), 1);
+
+ // TODO: better error message?
+ await expect(executeTransaction(api, alice, api.tx.unique.createMultipleItemsEx(collection, {
+ RefungibleMultipleItems: [
+ {users},
+ {users},
+ ],
+ }))).to.be.rejectedWith(/^refungible\.NotRefungibleDataUsedToMintFungibleCollectionToken$/);
+ });
+ });
+});
tests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -5,7 +5,7 @@
import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec';
import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
declare module '@polkadot/api-base/types/submittable' {
export interface AugmentedSubmittables<ApiType extends ApiTypes> {
@@ -710,6 +710,7 @@
* * owner: Address, initial owner of the NFT.
**/
createMultipleItems: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemsData: Vec<UpDataStructsCreateItemData> | (UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, Vec<UpDataStructsCreateItemData>]>;
+ createMultipleItemsEx: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, data: UpDataStructsCreateItemExData | { NFT: any } | { Fungible: any } | { RefungibleMultipleItems: any } | { RefungibleMultipleOwners: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCreateItemExData]>;
/**
* **DANGEROUS**: Destroys collection and all NFTs within this collection. Users irrecoverably lose their assets and may lose real money.
*
tests/src/interfaces/augment-types.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -1,7 +1,7 @@
// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
/* eslint-disable */
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1AbridgedHrmpChannel, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpTrieStorageProof, SpVersionRuntimeVersion, UniqueRuntimeRuntime, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateNftData, UpDataStructsCreateReFungibleData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './unique';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1AbridgedHrmpChannel, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpTrieStorageProof, SpVersionRuntimeVersion, UniqueRuntimeRuntime, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './unique';
import type { Data, StorageKey } from '@polkadot/types';
import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
@@ -1159,8 +1159,11 @@
UpDataStructsCreateCollectionData: UpDataStructsCreateCollectionData;
UpDataStructsCreateFungibleData: UpDataStructsCreateFungibleData;
UpDataStructsCreateItemData: UpDataStructsCreateItemData;
+ UpDataStructsCreateItemExData: UpDataStructsCreateItemExData;
UpDataStructsCreateNftData: UpDataStructsCreateNftData;
+ UpDataStructsCreateNftExData: UpDataStructsCreateNftExData;
UpDataStructsCreateReFungibleData: UpDataStructsCreateReFungibleData;
+ UpDataStructsCreateRefungibleExData: UpDataStructsCreateRefungibleExData;
UpDataStructsMetaUpdatePermission: UpDataStructsMetaUpdatePermission;
UpDataStructsSchemaVersion: UpDataStructsSchemaVersion;
UpDataStructsSponsoringRateLimit: UpDataStructsSponsoringRateLimit;
tests/src/interfaces/lookup.tsdiffbeforeafterboth1300 owner: 'PalletCommonAccountBasicCrossAccountIdRepr',1300 owner: 'PalletCommonAccountBasicCrossAccountIdRepr',1301 itemsData: 'Vec<UpDataStructsCreateItemData>',1301 itemsData: 'Vec<UpDataStructsCreateItemData>',1302 },1302 },1303 create_multiple_items_ex: {1304 collectionId: 'u32',1305 data: 'UpDataStructsCreateItemExData',1306 },1303 set_transfers_enabled_flag: {1307 set_transfers_enabled_flag: {1304 collectionId: 'u32',1308 collectionId: 'u32',1305 value: 'bool',1309 value: 'bool',1473 variableData: 'Bytes',1477 variableData: 'Bytes',1474 pieces: 'u128'1478 pieces: 'u128'1475 },1479 },1480 /**1481 * Lookup180: up_data_structs::CreateItemExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1482 **/1483 UpDataStructsCreateItemExData: {1484 _enum: {1485 NFT: 'Vec<UpDataStructsCreateNftExData>',1486 Fungible: 'BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>',1487 RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',1488 RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'1489 }1490 },1491 /**1492 * Lookup182: up_data_structs::CreateNftExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1493 **/1494 UpDataStructsCreateNftExData: {1495 constData: 'Bytes',1496 variableData: 'Bytes',1497 owner: 'PalletCommonAccountBasicCrossAccountIdRepr'1498 },1499 /**1500 * Lookup189: up_data_structs::CreateRefungibleExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1501 **/1502 UpDataStructsCreateRefungibleExData: {1503 constData: 'Bytes',1504 variableData: 'Bytes',1505 users: 'BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>'1506 },1476 /**1507 /**1477 * Lookup181: pallet_template_transaction_payment::Call<T>1508 * Lookup192: pallet_template_transaction_payment::Call<T>1478 **/1509 **/1479 PalletTemplateTransactionPaymentCall: 'Null',1510 PalletTemplateTransactionPaymentCall: 'Null',1480 /**1511 /**1481 * Lookup182: pallet_evm::pallet::Call<T>1512 * Lookup193: pallet_evm::pallet::Call<T>1482 **/1513 **/1483 PalletEvmCall: {1514 PalletEvmCall: {1484 _enum: {1515 _enum: {1485 withdraw: {1516 withdraw: {1520 }1551 }1521 }1552 }1522 },1553 },1523 /**1554 /**1524 * Lookup188: pallet_ethereum::pallet::Call<T>1555 * Lookup199: pallet_ethereum::pallet::Call<T>1525 **/1556 **/1526 PalletEthereumCall: {1557 PalletEthereumCall: {1527 _enum: {1558 _enum: {1528 transact: {1559 transact: {1529 transaction: 'EthereumTransactionTransactionV2'1560 transaction: 'EthereumTransactionTransactionV2'1530 }1561 }1531 }1562 }1532 },1563 },1533 /**1564 /**1534 * Lookup189: ethereum::transaction::TransactionV21565 * Lookup200: ethereum::transaction::TransactionV21535 **/1566 **/1536 EthereumTransactionTransactionV2: {1567 EthereumTransactionTransactionV2: {1537 _enum: {1568 _enum: {1538 Legacy: 'EthereumTransactionLegacyTransaction',1569 Legacy: 'EthereumTransactionLegacyTransaction',1539 EIP2930: 'EthereumTransactionEip2930Transaction',1570 EIP2930: 'EthereumTransactionEip2930Transaction',1540 EIP1559: 'EthereumTransactionEip1559Transaction'1571 EIP1559: 'EthereumTransactionEip1559Transaction'1541 }1572 }1542 },1573 },1543 /**1574 /**1544 * Lookup190: ethereum::transaction::LegacyTransaction1575 * Lookup201: ethereum::transaction::LegacyTransaction1545 **/1576 **/1546 EthereumTransactionLegacyTransaction: {1577 EthereumTransactionLegacyTransaction: {1547 nonce: 'U256',1578 nonce: 'U256',1548 gasPrice: 'U256',1579 gasPrice: 'U256',1552 input: 'Bytes',1583 input: 'Bytes',1553 signature: 'EthereumTransactionTransactionSignature'1584 signature: 'EthereumTransactionTransactionSignature'1554 },1585 },1555 /**1586 /**1556 * Lookup191: ethereum::transaction::TransactionAction1587 * Lookup202: ethereum::transaction::TransactionAction1557 **/1588 **/1558 EthereumTransactionTransactionAction: {1589 EthereumTransactionTransactionAction: {1559 _enum: {1590 _enum: {1560 Call: 'H160',1591 Call: 'H160',1561 Create: 'Null'1592 Create: 'Null'1562 }1593 }1563 },1594 },1564 /**1595 /**1565 * Lookup192: ethereum::transaction::TransactionSignature1596 * Lookup203: ethereum::transaction::TransactionSignature1566 **/1597 **/1567 EthereumTransactionTransactionSignature: {1598 EthereumTransactionTransactionSignature: {1568 v: 'u64',1599 v: 'u64',1569 r: 'H256',1600 r: 'H256',1570 s: 'H256'1601 s: 'H256'1571 },1602 },1572 /**1603 /**1573 * Lookup194: ethereum::transaction::EIP2930Transaction1604 * Lookup205: ethereum::transaction::EIP2930Transaction1574 **/1605 **/1575 EthereumTransactionEip2930Transaction: {1606 EthereumTransactionEip2930Transaction: {1576 chainId: 'u64',1607 chainId: 'u64',1577 nonce: 'U256',1608 nonce: 'U256',1585 r: 'H256',1616 r: 'H256',1586 s: 'H256'1617 s: 'H256'1587 },1618 },1588 /**1619 /**1589 * Lookup196: ethereum::transaction::AccessListItem1620 * Lookup207: ethereum::transaction::AccessListItem1590 **/1621 **/1591 EthereumTransactionAccessListItem: {1622 EthereumTransactionAccessListItem: {1592 address: 'H160',1623 address: 'H160',1593 slots: 'Vec<H256>'1624 slots: 'Vec<H256>'1594 },1625 },1595 /**1626 /**1596 * Lookup197: ethereum::transaction::EIP1559Transaction1627 * Lookup208: ethereum::transaction::EIP1559Transaction1597 **/1628 **/1598 EthereumTransactionEip1559Transaction: {1629 EthereumTransactionEip1559Transaction: {1599 chainId: 'u64',1630 chainId: 'u64',1600 nonce: 'U256',1631 nonce: 'U256',1609 r: 'H256',1640 r: 'H256',1610 s: 'H256'1641 s: 'H256'1611 },1642 },1612 /**1643 /**1613 * Lookup198: pallet_evm_migration::pallet::Call<T>1644 * Lookup209: pallet_evm_migration::pallet::Call<T>1614 **/1645 **/1615 PalletEvmMigrationCall: {1646 PalletEvmMigrationCall: {1616 _enum: {1647 _enum: {1617 begin: {1648 begin: {1627 }1658 }1628 }1659 }1629 },1660 },1630 /**1661 /**1631 * Lookup201: pallet_sudo::pallet::Event<T>1662 * Lookup212: pallet_sudo::pallet::Event<T>1632 **/1663 **/1633 PalletSudoEvent: {1664 PalletSudoEvent: {1634 _enum: {1665 _enum: {1635 Sudid: {1666 Sudid: {1643 }1674 }1644 }1675 }1645 },1676 },1646 /**1677 /**1647 * Lookup203: sp_runtime::DispatchError1678 * Lookup214: sp_runtime::DispatchError1648 **/1679 **/1649 SpRuntimeDispatchError: {1680 SpRuntimeDispatchError: {1650 _enum: {1681 _enum: {1651 Other: 'Null',1682 Other: 'Null',1659 Arithmetic: 'SpRuntimeArithmeticError'1690 Arithmetic: 'SpRuntimeArithmeticError'1660 }1691 }1661 },1692 },1662 /**1693 /**1663 * Lookup204: sp_runtime::ModuleError1694 * Lookup215: sp_runtime::ModuleError1664 **/1695 **/1665 SpRuntimeModuleError: {1696 SpRuntimeModuleError: {1666 index: 'u8',1697 index: 'u8',1667 error: 'u8'1698 error: 'u8'1668 },1699 },1669 /**1700 /**1670 * Lookup205: sp_runtime::TokenError1701 * Lookup216: sp_runtime::TokenError1671 **/1702 **/1672 SpRuntimeTokenError: {1703 SpRuntimeTokenError: {1673 _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1704 _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1674 },1705 },1675 /**1706 /**1676 * Lookup206: sp_runtime::ArithmeticError1707 * Lookup217: sp_runtime::ArithmeticError1677 **/1708 **/1678 SpRuntimeArithmeticError: {1709 SpRuntimeArithmeticError: {1679 _enum: ['Underflow', 'Overflow', 'DivisionByZero']1710 _enum: ['Underflow', 'Overflow', 'DivisionByZero']1680 },1711 },1681 /**1712 /**1682 * Lookup207: pallet_sudo::pallet::Error<T>1713 * Lookup218: pallet_sudo::pallet::Error<T>1683 **/1714 **/1684 PalletSudoError: {1715 PalletSudoError: {1685 _enum: ['RequireSudo']1716 _enum: ['RequireSudo']1686 },1717 },1687 /**1718 /**1688 * Lookup208: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>1719 * Lookup219: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>1689 **/1720 **/1690 FrameSystemAccountInfo: {1721 FrameSystemAccountInfo: {1691 nonce: 'u32',1722 nonce: 'u32',1692 consumers: 'u32',1723 consumers: 'u32',1693 providers: 'u32',1724 providers: 'u32',1694 sufficients: 'u32',1725 sufficients: 'u32',1695 data: 'PalletBalancesAccountData'1726 data: 'PalletBalancesAccountData'1696 },1727 },1697 /**1728 /**1698 * Lookup209: frame_support::weights::PerDispatchClass<T>1729 * Lookup220: frame_support::weights::PerDispatchClass<T>1699 **/1730 **/1700 FrameSupportWeightsPerDispatchClassU64: {1731 FrameSupportWeightsPerDispatchClassU64: {1701 normal: 'u64',1732 normal: 'u64',1702 operational: 'u64',1733 operational: 'u64',1703 mandatory: 'u64'1734 mandatory: 'u64'1704 },1735 },1705 /**1736 /**1706 * Lookup210: sp_runtime::generic::digest::Digest1737 * Lookup221: sp_runtime::generic::digest::Digest1707 **/1738 **/1708 SpRuntimeDigest: {1739 SpRuntimeDigest: {1709 logs: 'Vec<SpRuntimeDigestDigestItem>'1740 logs: 'Vec<SpRuntimeDigestDigestItem>'1710 },1741 },1711 /**1742 /**1712 * Lookup212: sp_runtime::generic::digest::DigestItem1743 * Lookup223: sp_runtime::generic::digest::DigestItem1713 **/1744 **/1714 SpRuntimeDigestDigestItem: {1745 SpRuntimeDigestDigestItem: {1715 _enum: {1746 _enum: {1716 Other: 'Bytes',1747 Other: 'Bytes',1724 RuntimeEnvironmentUpdated: 'Null'1755 RuntimeEnvironmentUpdated: 'Null'1725 }1756 }1726 },1757 },1727 /**1758 /**1728 * Lookup214: frame_system::EventRecord<unique_runtime::Event, primitive_types::H256>1759 * Lookup225: frame_system::EventRecord<unique_runtime::Event, primitive_types::H256>1729 **/1760 **/1730 FrameSystemEventRecord: {1761 FrameSystemEventRecord: {1731 phase: 'FrameSystemPhase',1762 phase: 'FrameSystemPhase',1732 event: 'Event',1763 event: 'Event',1733 topics: 'Vec<H256>'1764 topics: 'Vec<H256>'1734 },1765 },1735 /**1766 /**1736 * Lookup216: frame_system::pallet::Event<T>1767 * Lookup227: frame_system::pallet::Event<T>1737 **/1768 **/1738 FrameSystemEvent: {1769 FrameSystemEvent: {1739 _enum: {1770 _enum: {1740 ExtrinsicSuccess: {1771 ExtrinsicSuccess: {1760 }1791 }1761 }1792 }1762 },1793 },1763 /**1794 /**1764 * Lookup217: frame_support::weights::DispatchInfo1795 * Lookup228: frame_support::weights::DispatchInfo1765 **/1796 **/1766 FrameSupportWeightsDispatchInfo: {1797 FrameSupportWeightsDispatchInfo: {1767 weight: 'u64',1798 weight: 'u64',1768 class: 'FrameSupportWeightsDispatchClass',1799 class: 'FrameSupportWeightsDispatchClass',1769 paysFee: 'FrameSupportWeightsPays'1800 paysFee: 'FrameSupportWeightsPays'1770 },1801 },1771 /**1802 /**1772 * Lookup218: frame_support::weights::DispatchClass1803 * Lookup229: frame_support::weights::DispatchClass1773 **/1804 **/1774 FrameSupportWeightsDispatchClass: {1805 FrameSupportWeightsDispatchClass: {1775 _enum: ['Normal', 'Operational', 'Mandatory']1806 _enum: ['Normal', 'Operational', 'Mandatory']1776 },1807 },1777 /**1808 /**1778 * Lookup219: frame_support::weights::Pays1809 * Lookup230: frame_support::weights::Pays1779 **/1810 **/1780 FrameSupportWeightsPays: {1811 FrameSupportWeightsPays: {1781 _enum: ['Yes', 'No']1812 _enum: ['Yes', 'No']1782 },1813 },1783 /**1814 /**1784 * Lookup220: orml_vesting::module::Event<T>1815 * Lookup231: orml_vesting::module::Event<T>1785 **/1816 **/1786 OrmlVestingModuleEvent: {1817 OrmlVestingModuleEvent: {1787 _enum: {1818 _enum: {1788 VestingScheduleAdded: {1819 VestingScheduleAdded: {1799 }1830 }1800 }1831 }1801 },1832 },1802 /**1833 /**1803 * Lookup221: cumulus_pallet_xcmp_queue::pallet::Event<T>1834 * Lookup232: cumulus_pallet_xcmp_queue::pallet::Event<T>1804 **/1835 **/1805 CumulusPalletXcmpQueueEvent: {1836 CumulusPalletXcmpQueueEvent: {1806 _enum: {1837 _enum: {1807 Success: 'Option<H256>',1838 Success: 'Option<H256>',1814 OverweightServiced: '(u64,u64)'1845 OverweightServiced: '(u64,u64)'1815 }1846 }1816 },1847 },1817 /**1848 /**1818 * Lookup222: pallet_xcm::pallet::Event<T>1849 * Lookup233: pallet_xcm::pallet::Event<T>1819 **/1850 **/1820 PalletXcmEvent: {1851 PalletXcmEvent: {1821 _enum: {1852 _enum: {1822 Attempted: 'XcmV2TraitsOutcome',1853 Attempted: 'XcmV2TraitsOutcome',1837 NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'1868 NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'1838 }1869 }1839 },1870 },1840 /**1871 /**1841 * Lookup223: xcm::v2::traits::Outcome1872 * Lookup234: xcm::v2::traits::Outcome1842 **/1873 **/1843 XcmV2TraitsOutcome: {1874 XcmV2TraitsOutcome: {1844 _enum: {1875 _enum: {1845 Complete: 'u64',1876 Complete: 'u64',1846 Incomplete: '(u64,XcmV2TraitsError)',1877 Incomplete: '(u64,XcmV2TraitsError)',1847 Error: 'XcmV2TraitsError'1878 Error: 'XcmV2TraitsError'1848 }1879 }1849 },1880 },1850 /**1881 /**1851 * Lookup225: cumulus_pallet_xcm::pallet::Event<T>1882 * Lookup236: cumulus_pallet_xcm::pallet::Event<T>1852 **/1883 **/1853 CumulusPalletXcmEvent: {1884 CumulusPalletXcmEvent: {1854 _enum: {1885 _enum: {1855 InvalidFormat: '[u8;8]',1886 InvalidFormat: '[u8;8]',1856 UnsupportedVersion: '[u8;8]',1887 UnsupportedVersion: '[u8;8]',1857 ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'1888 ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'1858 }1889 }1859 },1890 },1860 /**1891 /**1861 * Lookup226: cumulus_pallet_dmp_queue::pallet::Event<T>1892 * Lookup237: cumulus_pallet_dmp_queue::pallet::Event<T>1862 **/1893 **/1863 CumulusPalletDmpQueueEvent: {1894 CumulusPalletDmpQueueEvent: {1864 _enum: {1895 _enum: {1865 InvalidFormat: '[u8;32]',1896 InvalidFormat: '[u8;32]',1870 OverweightServiced: '(u64,u64)'1901 OverweightServiced: '(u64,u64)'1871 }1902 }1872 },1903 },1873 /**1904 /**1874 * Lookup227: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1905 * Lookup238: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1875 **/1906 **/1876 PalletUniqueRawEvent: {1907 PalletUniqueRawEvent: {1877 _enum: {1908 _enum: {1878 CollectionSponsorRemoved: 'u32',1909 CollectionSponsorRemoved: 'u32',1892 VariableOnChainSchemaSet: 'u32'1923 VariableOnChainSchemaSet: 'u32'1893 }1924 }1894 },1925 },1895 /**1926 /**1896 * Lookup228: pallet_common::pallet::Event<T>1927 * Lookup239: pallet_common::pallet::Event<T>1897 **/1928 **/1898 PalletCommonEvent: {1929 PalletCommonEvent: {1899 _enum: {1930 _enum: {1900 CollectionCreated: '(u32,u8,AccountId32)',1931 CollectionCreated: '(u32,u8,AccountId32)',1905 Approved: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,PalletCommonAccountBasicCrossAccountIdRepr,u128)'1936 Approved: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,PalletCommonAccountBasicCrossAccountIdRepr,u128)'1906 }1937 }1907 },1938 },1908 /**1939 /**1909 * Lookup229: pallet_evm::pallet::Event<T>1940 * Lookup240: pallet_evm::pallet::Event<T>1910 **/1941 **/1911 PalletEvmEvent: {1942 PalletEvmEvent: {1912 _enum: {1943 _enum: {1913 Log: 'EthereumLog',1944 Log: 'EthereumLog',1919 BalanceWithdraw: '(AccountId32,H160,U256)'1950 BalanceWithdraw: '(AccountId32,H160,U256)'1920 }1951 }1921 },1952 },1922 /**1953 /**1923 * Lookup230: ethereum::log::Log1954 * Lookup241: ethereum::log::Log1924 **/1955 **/1925 EthereumLog: {1956 EthereumLog: {1926 address: 'H160',1957 address: 'H160',1927 topics: 'Vec<H256>',1958 topics: 'Vec<H256>',1928 data: 'Bytes'1959 data: 'Bytes'1929 },1960 },1930 /**1961 /**1931 * Lookup231: pallet_ethereum::pallet::Event1962 * Lookup242: pallet_ethereum::pallet::Event1932 **/1963 **/1933 PalletEthereumEvent: {1964 PalletEthereumEvent: {1934 _enum: {1965 _enum: {1935 Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'1966 Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'1936 }1967 }1937 },1968 },1938 /**1969 /**1939 * Lookup232: evm_core::error::ExitReason1970 * Lookup243: evm_core::error::ExitReason1940 **/1971 **/1941 EvmCoreErrorExitReason: {1972 EvmCoreErrorExitReason: {1942 _enum: {1973 _enum: {1943 Succeed: 'EvmCoreErrorExitSucceed',1974 Succeed: 'EvmCoreErrorExitSucceed',1946 Fatal: 'EvmCoreErrorExitFatal'1977 Fatal: 'EvmCoreErrorExitFatal'1947 }1978 }1948 },1979 },1949 /**1980 /**1950 * Lookup233: evm_core::error::ExitSucceed1981 * Lookup244: evm_core::error::ExitSucceed1951 **/1982 **/1952 EvmCoreErrorExitSucceed: {1983 EvmCoreErrorExitSucceed: {1953 _enum: ['Stopped', 'Returned', 'Suicided']1984 _enum: ['Stopped', 'Returned', 'Suicided']1954 },1985 },1955 /**1986 /**1956 * Lookup234: evm_core::error::ExitError1987 * Lookup245: evm_core::error::ExitError1957 **/1988 **/1958 EvmCoreErrorExitError: {1989 EvmCoreErrorExitError: {1959 _enum: {1990 _enum: {1960 StackUnderflow: 'Null',1991 StackUnderflow: 'Null',1974 Other: 'Text'2005 Other: 'Text'1975 }2006 }1976 },2007 },1977 /**2008 /**1978 * Lookup237: evm_core::error::ExitRevert2009 * Lookup248: evm_core::error::ExitRevert1979 **/2010 **/1980 EvmCoreErrorExitRevert: {2011 EvmCoreErrorExitRevert: {1981 _enum: ['Reverted']2012 _enum: ['Reverted']1982 },2013 },1983 /**2014 /**1984 * Lookup238: evm_core::error::ExitFatal2015 * Lookup249: evm_core::error::ExitFatal1985 **/2016 **/1986 EvmCoreErrorExitFatal: {2017 EvmCoreErrorExitFatal: {1987 _enum: {2018 _enum: {1988 NotSupported: 'Null',2019 NotSupported: 'Null',1991 Other: 'Text'2022 Other: 'Text'1992 }2023 }1993 },2024 },1994 /**2025 /**1995 * Lookup239: frame_system::Phase2026 * Lookup250: frame_system::Phase1996 **/2027 **/1997 FrameSystemPhase: {2028 FrameSystemPhase: {1998 _enum: {2029 _enum: {1999 ApplyExtrinsic: 'u32',2030 ApplyExtrinsic: 'u32',2000 Finalization: 'Null',2031 Finalization: 'Null',2001 Initialization: 'Null'2032 Initialization: 'Null'2002 }2033 }2003 },2034 },2004 /**2035 /**2005 * Lookup241: frame_system::LastRuntimeUpgradeInfo2036 * Lookup252: frame_system::LastRuntimeUpgradeInfo2006 **/2037 **/2007 FrameSystemLastRuntimeUpgradeInfo: {2038 FrameSystemLastRuntimeUpgradeInfo: {2008 specVersion: 'Compact<u32>',2039 specVersion: 'Compact<u32>',2009 specName: 'Text'2040 specName: 'Text'2010 },2041 },2011 /**2042 /**2012 * Lookup242: frame_system::limits::BlockWeights2043 * Lookup253: frame_system::limits::BlockWeights2013 **/2044 **/2014 FrameSystemLimitsBlockWeights: {2045 FrameSystemLimitsBlockWeights: {2015 baseBlock: 'u64',2046 baseBlock: 'u64',2016 maxBlock: 'u64',2047 maxBlock: 'u64',2017 perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2048 perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2018 },2049 },2019 /**2050 /**2020 * Lookup243: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2051 * Lookup254: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2021 **/2052 **/2022 FrameSupportWeightsPerDispatchClassWeightsPerClass: {2053 FrameSupportWeightsPerDispatchClassWeightsPerClass: {2023 normal: 'FrameSystemLimitsWeightsPerClass',2054 normal: 'FrameSystemLimitsWeightsPerClass',2024 operational: 'FrameSystemLimitsWeightsPerClass',2055 operational: 'FrameSystemLimitsWeightsPerClass',2025 mandatory: 'FrameSystemLimitsWeightsPerClass'2056 mandatory: 'FrameSystemLimitsWeightsPerClass'2026 },2057 },2027 /**2058 /**2028 * Lookup244: frame_system::limits::WeightsPerClass2059 * Lookup255: frame_system::limits::WeightsPerClass2029 **/2060 **/2030 FrameSystemLimitsWeightsPerClass: {2061 FrameSystemLimitsWeightsPerClass: {2031 baseExtrinsic: 'u64',2062 baseExtrinsic: 'u64',2032 maxExtrinsic: 'Option<u64>',2063 maxExtrinsic: 'Option<u64>',2033 maxTotal: 'Option<u64>',2064 maxTotal: 'Option<u64>',2034 reserved: 'Option<u64>'2065 reserved: 'Option<u64>'2035 },2066 },2036 /**2067 /**2037 * Lookup246: frame_system::limits::BlockLength2068 * Lookup257: frame_system::limits::BlockLength2038 **/2069 **/2039 FrameSystemLimitsBlockLength: {2070 FrameSystemLimitsBlockLength: {2040 max: 'FrameSupportWeightsPerDispatchClassU32'2071 max: 'FrameSupportWeightsPerDispatchClassU32'2041 },2072 },2042 /**2073 /**2043 * Lookup247: frame_support::weights::PerDispatchClass<T>2074 * Lookup258: frame_support::weights::PerDispatchClass<T>2044 **/2075 **/2045 FrameSupportWeightsPerDispatchClassU32: {2076 FrameSupportWeightsPerDispatchClassU32: {2046 normal: 'u32',2077 normal: 'u32',2047 operational: 'u32',2078 operational: 'u32',2048 mandatory: 'u32'2079 mandatory: 'u32'2049 },2080 },2050 /**2081 /**2051 * Lookup248: frame_support::weights::RuntimeDbWeight2082 * Lookup259: frame_support::weights::RuntimeDbWeight2052 **/2083 **/2053 FrameSupportWeightsRuntimeDbWeight: {2084 FrameSupportWeightsRuntimeDbWeight: {2054 read: 'u64',2085 read: 'u64',2055 write: 'u64'2086 write: 'u64'2056 },2087 },2057 /**2088 /**2058 * Lookup249: sp_version::RuntimeVersion2089 * Lookup260: sp_version::RuntimeVersion2059 **/2090 **/2060 SpVersionRuntimeVersion: {2091 SpVersionRuntimeVersion: {2061 specName: 'Text',2092 specName: 'Text',2062 implName: 'Text',2093 implName: 'Text',2067 transactionVersion: 'u32',2098 transactionVersion: 'u32',2068 stateVersion: 'u8'2099 stateVersion: 'u8'2069 },2100 },2070 /**2101 /**2071 * Lookup253: frame_system::pallet::Error<T>2102 * Lookup264: frame_system::pallet::Error<T>2072 **/2103 **/2073 FrameSystemError: {2104 FrameSystemError: {2074 _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2105 _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2075 },2106 },2076 /**2107 /**2077 * Lookup255: orml_vesting::module::Error<T>2108 * Lookup266: orml_vesting::module::Error<T>2078 **/2109 **/2079 OrmlVestingModuleError: {2110 OrmlVestingModuleError: {2080 _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2111 _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2081 },2112 },2082 /**2113 /**2083 * Lookup257: cumulus_pallet_xcmp_queue::InboundChannelDetails2114 * Lookup268: cumulus_pallet_xcmp_queue::InboundChannelDetails2084 **/2115 **/2085 CumulusPalletXcmpQueueInboundChannelDetails: {2116 CumulusPalletXcmpQueueInboundChannelDetails: {2086 sender: 'u32',2117 sender: 'u32',2087 state: 'CumulusPalletXcmpQueueInboundState',2118 state: 'CumulusPalletXcmpQueueInboundState',2088 messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2119 messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2089 },2120 },2090 /**2121 /**2091 * Lookup258: cumulus_pallet_xcmp_queue::InboundState2122 * Lookup269: cumulus_pallet_xcmp_queue::InboundState2092 **/2123 **/2093 CumulusPalletXcmpQueueInboundState: {2124 CumulusPalletXcmpQueueInboundState: {2094 _enum: ['Ok', 'Suspended']2125 _enum: ['Ok', 'Suspended']2095 },2126 },2096 /**2127 /**2097 * Lookup261: polkadot_parachain::primitives::XcmpMessageFormat2128 * Lookup272: polkadot_parachain::primitives::XcmpMessageFormat2098 **/2129 **/2099 PolkadotParachainPrimitivesXcmpMessageFormat: {2130 PolkadotParachainPrimitivesXcmpMessageFormat: {2100 _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2131 _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2101 },2132 },2102 /**2133 /**2103 * Lookup264: cumulus_pallet_xcmp_queue::OutboundChannelDetails2134 * Lookup275: cumulus_pallet_xcmp_queue::OutboundChannelDetails2104 **/2135 **/2105 CumulusPalletXcmpQueueOutboundChannelDetails: {2136 CumulusPalletXcmpQueueOutboundChannelDetails: {2106 recipient: 'u32',2137 recipient: 'u32',2107 state: 'CumulusPalletXcmpQueueOutboundState',2138 state: 'CumulusPalletXcmpQueueOutboundState',2108 signalsExist: 'bool',2139 signalsExist: 'bool',2109 firstIndex: 'u16',2140 firstIndex: 'u16',2110 lastIndex: 'u16'2141 lastIndex: 'u16'2111 },2142 },2112 /**2143 /**2113 * Lookup265: cumulus_pallet_xcmp_queue::OutboundState2144 * Lookup276: cumulus_pallet_xcmp_queue::OutboundState2114 **/2145 **/2115 CumulusPalletXcmpQueueOutboundState: {2146 CumulusPalletXcmpQueueOutboundState: {2116 _enum: ['Ok', 'Suspended']2147 _enum: ['Ok', 'Suspended']2117 },2148 },2118 /**2149 /**2119 * Lookup267: cumulus_pallet_xcmp_queue::QueueConfigData2150 * Lookup278: cumulus_pallet_xcmp_queue::QueueConfigData2120 **/2151 **/2121 CumulusPalletXcmpQueueQueueConfigData: {2152 CumulusPalletXcmpQueueQueueConfigData: {2122 suspendThreshold: 'u32',2153 suspendThreshold: 'u32',2123 dropThreshold: 'u32',2154 dropThreshold: 'u32',2126 weightRestrictDecay: 'u64',2157 weightRestrictDecay: 'u64',2127 xcmpMaxIndividualWeight: 'u64'2158 xcmpMaxIndividualWeight: 'u64'2128 },2159 },2129 /**2160 /**2130 * Lookup269: cumulus_pallet_xcmp_queue::pallet::Error<T>2161 * Lookup280: cumulus_pallet_xcmp_queue::pallet::Error<T>2131 **/2162 **/2132 CumulusPalletXcmpQueueError: {2163 CumulusPalletXcmpQueueError: {2133 _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2164 _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2134 },2165 },2135 /**2166 /**2136 * Lookup270: pallet_xcm::pallet::Error<T>2167 * Lookup281: pallet_xcm::pallet::Error<T>2137 **/2168 **/2138 PalletXcmError: {2169 PalletXcmError: {2139 _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2170 _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2140 },2171 },2141 /**2172 /**2142 * Lookup271: cumulus_pallet_xcm::pallet::Error<T>2173 * Lookup282: cumulus_pallet_xcm::pallet::Error<T>2143 **/2174 **/2144 CumulusPalletXcmError: 'Null',2175 CumulusPalletXcmError: 'Null',2145 /**2176 /**2146 * Lookup272: cumulus_pallet_dmp_queue::ConfigData2177 * Lookup283: cumulus_pallet_dmp_queue::ConfigData2147 **/2178 **/2148 CumulusPalletDmpQueueConfigData: {2179 CumulusPalletDmpQueueConfigData: {2149 maxIndividual: 'u64'2180 maxIndividual: 'u64'2150 },2181 },2151 /**2182 /**2152 * Lookup273: cumulus_pallet_dmp_queue::PageIndexData2183 * Lookup284: cumulus_pallet_dmp_queue::PageIndexData2153 **/2184 **/2154 CumulusPalletDmpQueuePageIndexData: {2185 CumulusPalletDmpQueuePageIndexData: {2155 beginUsed: 'u32',2186 beginUsed: 'u32',2156 endUsed: 'u32',2187 endUsed: 'u32',2157 overweightCount: 'u64'2188 overweightCount: 'u64'2158 },2189 },2159 /**2190 /**2160 * Lookup276: cumulus_pallet_dmp_queue::pallet::Error<T>2191 * Lookup287: cumulus_pallet_dmp_queue::pallet::Error<T>2161 **/2192 **/2162 CumulusPalletDmpQueueError: {2193 CumulusPalletDmpQueueError: {2163 _enum: ['Unknown', 'OverLimit']2194 _enum: ['Unknown', 'OverLimit']2164 },2195 },2165 /**2196 /**2166 * Lookup280: pallet_unique::Error<T>2197 * Lookup291: pallet_unique::Error<T>2167 **/2198 **/2168 PalletUniqueError: {2199 PalletUniqueError: {2169 _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']2200 _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']2170 },2201 },2171 /**2202 /**2172 * Lookup281: up_data_structs::Collection<sp_core::crypto::AccountId32>2203 * Lookup292: up_data_structs::Collection<sp_core::crypto::AccountId32>2173 **/2204 **/2174 UpDataStructsCollection: {2205 UpDataStructsCollection: {2175 owner: 'AccountId32',2206 owner: 'AccountId32',2176 mode: 'UpDataStructsCollectionMode',2207 mode: 'UpDataStructsCollectionMode',2187 constOnChainSchema: 'Bytes',2218 constOnChainSchema: 'Bytes',2188 metaUpdatePermission: 'UpDataStructsMetaUpdatePermission'2219 metaUpdatePermission: 'UpDataStructsMetaUpdatePermission'2189 },2220 },2190 /**2221 /**2191 * Lookup282: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2222 * Lookup293: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2192 **/2223 **/2193 UpDataStructsSponsorshipState: {2224 UpDataStructsSponsorshipState: {2194 _enum: {2225 _enum: {2195 Disabled: 'Null',2226 Disabled: 'Null',2196 Unconfirmed: 'AccountId32',2227 Unconfirmed: 'AccountId32',2197 Confirmed: 'AccountId32'2228 Confirmed: 'AccountId32'2198 }2229 }2199 },2230 },2200 /**2231 /**2201 * Lookup285: up_data_structs::CollectionStats2232 * Lookup296: up_data_structs::CollectionStats2202 **/2233 **/2203 UpDataStructsCollectionStats: {2234 UpDataStructsCollectionStats: {2204 created: 'u32',2235 created: 'u32',2205 destroyed: 'u32',2236 destroyed: 'u32',2206 alive: 'u32'2237 alive: 'u32'2207 },2238 },2208 /**2239 /**2209 * Lookup286: pallet_common::pallet::Error<T>2240 * Lookup297: pallet_common::pallet::Error<T>2210 **/2241 **/2211 PalletCommonError: {2242 PalletCommonError: {2212 _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'TokenVariableDataLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation']2243 _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'TokenVariableDataLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation']2213 },2244 },2214 /**2245 /**2215 * Lookup288: pallet_fungible::pallet::Error<T>2246 * Lookup299: pallet_fungible::pallet::Error<T>2216 **/2247 **/2217 PalletFungibleError: {2248 PalletFungibleError: {2218 _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData']2249 _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData']2219 },2250 },2220 /**2251 /**2221 * Lookup289: pallet_refungible::ItemData2252 * Lookup300: pallet_refungible::ItemData2222 **/2253 **/2223 PalletRefungibleItemData: {2254 PalletRefungibleItemData: {2224 constData: 'Bytes',2255 constData: 'Bytes',2225 variableData: 'Bytes'2256 variableData: 'Bytes'2226 },2257 },2227 /**2258 /**2228 * Lookup293: pallet_refungible::pallet::Error<T>2259 * Lookup304: pallet_refungible::pallet::Error<T>2229 **/2260 **/2230 PalletRefungibleError: {2261 PalletRefungibleError: {2231 _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces']2262 _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces']2232 },2263 },2233 /**2264 /**2234 * Lookup294: pallet_nonfungible::ItemData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2265 * Lookup305: pallet_nonfungible::ItemData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2235 **/2266 **/2236 PalletNonfungibleItemData: {2267 PalletNonfungibleItemData: {2237 constData: 'Bytes',2268 constData: 'Bytes',2238 variableData: 'Bytes',2269 variableData: 'Bytes',2239 owner: 'PalletCommonAccountBasicCrossAccountIdRepr'2270 owner: 'PalletCommonAccountBasicCrossAccountIdRepr'2240 },2271 },2241 /**2272 /**2242 * Lookup295: pallet_nonfungible::pallet::Error<T>2273 * Lookup306: pallet_nonfungible::pallet::Error<T>2243 **/2274 **/2244 PalletNonfungibleError: {2275 PalletNonfungibleError: {2245 _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount']2276 _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount']2246 },2277 },2247 /**2278 /**2248 * Lookup297: pallet_evm::pallet::Error<T>2279 * Lookup308: pallet_evm::pallet::Error<T>2249 **/2280 **/2250 PalletEvmError: {2281 PalletEvmError: {2251 _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']2282 _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']2252 },2283 },2253 /**2284 /**2254 * Lookup300: fp_rpc::TransactionStatus2285 * Lookup311: fp_rpc::TransactionStatus2255 **/2286 **/2256 FpRpcTransactionStatus: {2287 FpRpcTransactionStatus: {2257 transactionHash: 'H256',2288 transactionHash: 'H256',2258 transactionIndex: 'u32',2289 transactionIndex: 'u32',2262 logs: 'Vec<EthereumLog>',2293 logs: 'Vec<EthereumLog>',2263 logsBloom: 'EthbloomBloom'2294 logsBloom: 'EthbloomBloom'2264 },2295 },2265 /**2296 /**2266 * Lookup303: ethbloom::Bloom2297 * Lookup314: ethbloom::Bloom2267 **/2298 **/2268 EthbloomBloom: '[u8;256]',2299 EthbloomBloom: '[u8;256]',2269 /**2300 /**2270 * Lookup305: ethereum::receipt::ReceiptV32301 * Lookup316: ethereum::receipt::ReceiptV32271 **/2302 **/2272 EthereumReceiptReceiptV3: {2303 EthereumReceiptReceiptV3: {2273 _enum: {2304 _enum: {2274 Legacy: 'EthereumReceiptEip658ReceiptData',2305 Legacy: 'EthereumReceiptEip658ReceiptData',2275 EIP2930: 'EthereumReceiptEip658ReceiptData',2306 EIP2930: 'EthereumReceiptEip658ReceiptData',2276 EIP1559: 'EthereumReceiptEip658ReceiptData'2307 EIP1559: 'EthereumReceiptEip658ReceiptData'2277 }2308 }2278 },2309 },2279 /**2310 /**2280 * Lookup306: ethereum::receipt::EIP658ReceiptData2311 * Lookup317: ethereum::receipt::EIP658ReceiptData2281 **/2312 **/2282 EthereumReceiptEip658ReceiptData: {2313 EthereumReceiptEip658ReceiptData: {2283 statusCode: 'u8',2314 statusCode: 'u8',2284 usedGas: 'U256',2315 usedGas: 'U256',2285 logsBloom: 'EthbloomBloom',2316 logsBloom: 'EthbloomBloom',2286 logs: 'Vec<EthereumLog>'2317 logs: 'Vec<EthereumLog>'2287 },2318 },2288 /**2319 /**2289 * Lookup307: ethereum::block::Block<ethereum::transaction::TransactionV2>2320 * Lookup318: ethereum::block::Block<ethereum::transaction::TransactionV2>2290 **/2321 **/2291 EthereumBlock: {2322 EthereumBlock: {2292 header: 'EthereumHeader',2323 header: 'EthereumHeader',2293 transactions: 'Vec<EthereumTransactionTransactionV2>',2324 transactions: 'Vec<EthereumTransactionTransactionV2>',2294 ommers: 'Vec<EthereumHeader>'2325 ommers: 'Vec<EthereumHeader>'2295 },2326 },2296 /**2327 /**2297 * Lookup308: ethereum::header::Header2328 * Lookup319: ethereum::header::Header2298 **/2329 **/2299 EthereumHeader: {2330 EthereumHeader: {2300 parentHash: 'H256',2331 parentHash: 'H256',2301 ommersHash: 'H256',2332 ommersHash: 'H256',2313 mixHash: 'H256',2344 mixHash: 'H256',2314 nonce: 'EthereumTypesHashH64'2345 nonce: 'EthereumTypesHashH64'2315 },2346 },2316 /**2347 /**2317 * Lookup309: ethereum_types::hash::H642348 * Lookup320: ethereum_types::hash::H642318 **/2349 **/2319 EthereumTypesHashH64: '[u8;8]',2350 EthereumTypesHashH64: '[u8;8]',2320 /**2351 /**2321 * Lookup314: pallet_ethereum::pallet::Error<T>2352 * Lookup325: pallet_ethereum::pallet::Error<T>2322 **/2353 **/2323 PalletEthereumError: {2354 PalletEthereumError: {2324 _enum: ['InvalidSignature', 'PreLogExists']2355 _enum: ['InvalidSignature', 'PreLogExists']2325 },2356 },2326 /**2357 /**2327 * Lookup315: pallet_evm_coder_substrate::pallet::Error<T>2358 * Lookup326: pallet_evm_coder_substrate::pallet::Error<T>2328 **/2359 **/2329 PalletEvmCoderSubstrateError: {2360 PalletEvmCoderSubstrateError: {2330 _enum: ['OutOfGas', 'OutOfFund']2361 _enum: ['OutOfGas', 'OutOfFund']2331 },2362 },2332 /**2363 /**2333 * Lookup316: pallet_evm_contract_helpers::SponsoringModeT2364 * Lookup327: pallet_evm_contract_helpers::SponsoringModeT2334 **/2365 **/2335 PalletEvmContractHelpersSponsoringModeT: {2366 PalletEvmContractHelpersSponsoringModeT: {2336 _enum: ['Disabled', 'Allowlisted', 'Generous']2367 _enum: ['Disabled', 'Allowlisted', 'Generous']2337 },2368 },2338 /**2369 /**2339 * Lookup318: pallet_evm_contract_helpers::pallet::Error<T>2370 * Lookup329: pallet_evm_contract_helpers::pallet::Error<T>2340 **/2371 **/2341 PalletEvmContractHelpersError: {2372 PalletEvmContractHelpersError: {2342 _enum: ['NoPermission']2373 _enum: ['NoPermission']2343 },2374 },2344 /**2375 /**2345 * Lookup319: pallet_evm_migration::pallet::Error<T>2376 * Lookup330: pallet_evm_migration::pallet::Error<T>2346 **/2377 **/2347 PalletEvmMigrationError: {2378 PalletEvmMigrationError: {2348 _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']2379 _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']2349 },2380 },2350 /**2381 /**2351 * Lookup321: sp_runtime::MultiSignature2382 * Lookup332: sp_runtime::MultiSignature2352 **/2383 **/2353 SpRuntimeMultiSignature: {2384 SpRuntimeMultiSignature: {2354 _enum: {2385 _enum: {2355 Ed25519: 'SpCoreEd25519Signature',2386 Ed25519: 'SpCoreEd25519Signature',2356 Sr25519: 'SpCoreSr25519Signature',2387 Sr25519: 'SpCoreSr25519Signature',2357 Ecdsa: 'SpCoreEcdsaSignature'2388 Ecdsa: 'SpCoreEcdsaSignature'2358 }2389 }2359 },2390 },2360 /**2391 /**2361 * Lookup322: sp_core::ed25519::Signature2392 * Lookup333: sp_core::ed25519::Signature2362 **/2393 **/2363 SpCoreEd25519Signature: '[u8;64]',2394 SpCoreEd25519Signature: '[u8;64]',2364 /**2395 /**2365 * Lookup324: sp_core::sr25519::Signature2396 * Lookup335: sp_core::sr25519::Signature2366 **/2397 **/2367 SpCoreSr25519Signature: '[u8;64]',2398 SpCoreSr25519Signature: '[u8;64]',2368 /**2399 /**2369 * Lookup325: sp_core::ecdsa::Signature2400 * Lookup336: sp_core::ecdsa::Signature2370 **/2401 **/2371 SpCoreEcdsaSignature: '[u8;65]',2402 SpCoreEcdsaSignature: '[u8;65]',2372 /**2403 /**2373 * Lookup328: frame_system::extensions::check_spec_version::CheckSpecVersion<T>2404 * Lookup339: frame_system::extensions::check_spec_version::CheckSpecVersion<T>2374 **/2405 **/2375 FrameSystemExtensionsCheckSpecVersion: 'Null',2406 FrameSystemExtensionsCheckSpecVersion: 'Null',2376 /**2407 /**2377 * Lookup329: frame_system::extensions::check_genesis::CheckGenesis<T>2408 * Lookup340: frame_system::extensions::check_genesis::CheckGenesis<T>2378 **/2409 **/2379 FrameSystemExtensionsCheckGenesis: 'Null',2410 FrameSystemExtensionsCheckGenesis: 'Null',2380 /**2411 /**2381 * Lookup332: frame_system::extensions::check_nonce::CheckNonce<T>2412 * Lookup343: frame_system::extensions::check_nonce::CheckNonce<T>2382 **/2413 **/2383 FrameSystemExtensionsCheckNonce: 'Compact<u32>',2414 FrameSystemExtensionsCheckNonce: 'Compact<u32>',2384 /**2415 /**2385 * Lookup333: frame_system::extensions::check_weight::CheckWeight<T>2416 * Lookup344: frame_system::extensions::check_weight::CheckWeight<T>2386 **/2417 **/2387 FrameSystemExtensionsCheckWeight: 'Null',2418 FrameSystemExtensionsCheckWeight: 'Null',2388 /**2419 /**2389 * Lookup334: pallet_template_transaction_payment::ChargeTransactionPayment<unique_runtime::Runtime>2420 * Lookup345: pallet_template_transaction_payment::ChargeTransactionPayment<unique_runtime::Runtime>2390 **/2421 **/2391 PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',2422 PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',2392 /**2423 /**2393 * Lookup335: unique_runtime::Runtime2424 * Lookup346: unique_runtime::Runtime2394 **/2425 **/2395 UniqueRuntimeRuntime: 'Null'2426 UniqueRuntimeRuntime: 'Null'2396};2427};23972428tests/src/interfaces/types-lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -1421,6 +1421,11 @@
readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
readonly itemsData: Vec<UpDataStructsCreateItemData>;
} & Struct;
+ readonly isCreateMultipleItemsEx: boolean;
+ readonly asCreateMultipleItemsEx: {
+ readonly collectionId: u32;
+ readonly data: UpDataStructsCreateItemExData;
+ } & Struct;
readonly isSetTransfersEnabledFlag: boolean;
readonly asSetTransfersEnabledFlag: {
readonly collectionId: u32;
@@ -1497,7 +1502,7 @@
readonly collectionId: u32;
readonly newLimit: UpDataStructsCollectionLimits;
} & Struct;
- readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetVariableMetaData' | 'SetMetaUpdatePermissionFlag' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetVariableOnChainSchema' | 'SetCollectionLimits';
+ readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetVariableMetaData' | 'SetMetaUpdatePermissionFlag' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetVariableOnChainSchema' | 'SetCollectionLimits';
}
/** @name UpDataStructsCollectionMode (155) */
@@ -1606,10 +1611,37 @@
readonly pieces: u128;
}
- /** @name PalletTemplateTransactionPaymentCall (181) */
+ /** @name UpDataStructsCreateItemExData (180) */
+ export interface UpDataStructsCreateItemExData extends Enum {
+ readonly isNft: boolean;
+ readonly asNft: Vec<UpDataStructsCreateNftExData>;
+ readonly isFungible: boolean;
+ readonly asFungible: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>;
+ readonly isRefungibleMultipleItems: boolean;
+ readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;
+ readonly isRefungibleMultipleOwners: boolean;
+ readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExData;
+ readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
+ }
+
+ /** @name UpDataStructsCreateNftExData (182) */
+ export interface UpDataStructsCreateNftExData extends Struct {
+ readonly constData: Bytes;
+ readonly variableData: Bytes;
+ readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ }
+
+ /** @name UpDataStructsCreateRefungibleExData (189) */
+ export interface UpDataStructsCreateRefungibleExData extends Struct {
+ readonly constData: Bytes;
+ readonly variableData: Bytes;
+ readonly users: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>;
+ }
+
+ /** @name PalletTemplateTransactionPaymentCall (192) */
export type PalletTemplateTransactionPaymentCall = Null;
- /** @name PalletEvmCall (182) */
+ /** @name PalletEvmCall (193) */
export interface PalletEvmCall extends Enum {
readonly isWithdraw: boolean;
readonly asWithdraw: {
@@ -1654,7 +1686,7 @@
readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
}
- /** @name PalletEthereumCall (188) */
+ /** @name PalletEthereumCall (199) */
export interface PalletEthereumCall extends Enum {
readonly isTransact: boolean;
readonly asTransact: {
@@ -1663,7 +1695,7 @@
readonly type: 'Transact';
}
- /** @name EthereumTransactionTransactionV2 (189) */
+ /** @name EthereumTransactionTransactionV2 (200) */
export interface EthereumTransactionTransactionV2 extends Enum {
readonly isLegacy: boolean;
readonly asLegacy: EthereumTransactionLegacyTransaction;
@@ -1674,7 +1706,7 @@
readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
}
- /** @name EthereumTransactionLegacyTransaction (190) */
+ /** @name EthereumTransactionLegacyTransaction (201) */
export interface EthereumTransactionLegacyTransaction extends Struct {
readonly nonce: U256;
readonly gasPrice: U256;
@@ -1685,7 +1717,7 @@
readonly signature: EthereumTransactionTransactionSignature;
}
- /** @name EthereumTransactionTransactionAction (191) */
+ /** @name EthereumTransactionTransactionAction (202) */
export interface EthereumTransactionTransactionAction extends Enum {
readonly isCall: boolean;
readonly asCall: H160;
@@ -1693,14 +1725,14 @@
readonly type: 'Call' | 'Create';
}
- /** @name EthereumTransactionTransactionSignature (192) */
+ /** @name EthereumTransactionTransactionSignature (203) */
export interface EthereumTransactionTransactionSignature extends Struct {
readonly v: u64;
readonly r: H256;
readonly s: H256;
}
- /** @name EthereumTransactionEip2930Transaction (194) */
+ /** @name EthereumTransactionEip2930Transaction (205) */
export interface EthereumTransactionEip2930Transaction extends Struct {
readonly chainId: u64;
readonly nonce: U256;
@@ -1715,13 +1747,13 @@
readonly s: H256;
}
- /** @name EthereumTransactionAccessListItem (196) */
+ /** @name EthereumTransactionAccessListItem (207) */
export interface EthereumTransactionAccessListItem extends Struct {
readonly address: H160;
readonly slots: Vec<H256>;
}
- /** @name EthereumTransactionEip1559Transaction (197) */
+ /** @name EthereumTransactionEip1559Transaction (208) */
export interface EthereumTransactionEip1559Transaction extends Struct {
readonly chainId: u64;
readonly nonce: U256;
@@ -1737,7 +1769,7 @@
readonly s: H256;
}
- /** @name PalletEvmMigrationCall (198) */
+ /** @name PalletEvmMigrationCall (209) */
export interface PalletEvmMigrationCall extends Enum {
readonly isBegin: boolean;
readonly asBegin: {
@@ -1756,7 +1788,7 @@
readonly type: 'Begin' | 'SetData' | 'Finish';
}
- /** @name PalletSudoEvent (201) */
+ /** @name PalletSudoEvent (212) */
export interface PalletSudoEvent extends Enum {
readonly isSudid: boolean;
readonly asSudid: {
@@ -1773,7 +1805,7 @@
readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
}
- /** @name SpRuntimeDispatchError (203) */
+ /** @name SpRuntimeDispatchError (214) */
export interface SpRuntimeDispatchError extends Enum {
readonly isOther: boolean;
readonly isCannotLookup: boolean;
@@ -1790,13 +1822,13 @@
readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic';
}
- /** @name SpRuntimeModuleError (204) */
+ /** @name SpRuntimeModuleError (215) */
export interface SpRuntimeModuleError extends Struct {
readonly index: u8;
readonly error: u8;
}
- /** @name SpRuntimeTokenError (205) */
+ /** @name SpRuntimeTokenError (216) */
export interface SpRuntimeTokenError extends Enum {
readonly isNoFunds: boolean;
readonly isWouldDie: boolean;
@@ -1808,7 +1840,7 @@
readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';
}
- /** @name SpRuntimeArithmeticError (206) */
+ /** @name SpRuntimeArithmeticError (217) */
export interface SpRuntimeArithmeticError extends Enum {
readonly isUnderflow: boolean;
readonly isOverflow: boolean;
@@ -1816,13 +1848,13 @@
readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';
}
- /** @name PalletSudoError (207) */
+ /** @name PalletSudoError (218) */
export interface PalletSudoError extends Enum {
readonly isRequireSudo: boolean;
readonly type: 'RequireSudo';
}
- /** @name FrameSystemAccountInfo (208) */
+ /** @name FrameSystemAccountInfo (219) */
export interface FrameSystemAccountInfo extends Struct {
readonly nonce: u32;
readonly consumers: u32;
@@ -1831,19 +1863,19 @@
readonly data: PalletBalancesAccountData;
}
- /** @name FrameSupportWeightsPerDispatchClassU64 (209) */
+ /** @name FrameSupportWeightsPerDispatchClassU64 (220) */
export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {
readonly normal: u64;
readonly operational: u64;
readonly mandatory: u64;
}
- /** @name SpRuntimeDigest (210) */
+ /** @name SpRuntimeDigest (221) */
export interface SpRuntimeDigest extends Struct {
readonly logs: Vec<SpRuntimeDigestDigestItem>;
}
- /** @name SpRuntimeDigestDigestItem (212) */
+ /** @name SpRuntimeDigestDigestItem (223) */
export interface SpRuntimeDigestDigestItem extends Enum {
readonly isOther: boolean;
readonly asOther: Bytes;
@@ -1857,14 +1889,14 @@
readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';
}
- /** @name FrameSystemEventRecord (214) */
+ /** @name FrameSystemEventRecord (225) */
export interface FrameSystemEventRecord extends Struct {
readonly phase: FrameSystemPhase;
readonly event: Event;
readonly topics: Vec<H256>;
}
- /** @name FrameSystemEvent (216) */
+ /** @name FrameSystemEvent (227) */
export interface FrameSystemEvent extends Enum {
readonly isExtrinsicSuccess: boolean;
readonly asExtrinsicSuccess: {
@@ -1892,14 +1924,14 @@
readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';
}
- /** @name FrameSupportWeightsDispatchInfo (217) */
+ /** @name FrameSupportWeightsDispatchInfo (228) */
export interface FrameSupportWeightsDispatchInfo extends Struct {
readonly weight: u64;
readonly class: FrameSupportWeightsDispatchClass;
readonly paysFee: FrameSupportWeightsPays;
}
- /** @name FrameSupportWeightsDispatchClass (218) */
+ /** @name FrameSupportWeightsDispatchClass (229) */
export interface FrameSupportWeightsDispatchClass extends Enum {
readonly isNormal: boolean;
readonly isOperational: boolean;
@@ -1907,14 +1939,14 @@
readonly type: 'Normal' | 'Operational' | 'Mandatory';
}
- /** @name FrameSupportWeightsPays (219) */
+ /** @name FrameSupportWeightsPays (230) */
export interface FrameSupportWeightsPays extends Enum {
readonly isYes: boolean;
readonly isNo: boolean;
readonly type: 'Yes' | 'No';
}
- /** @name OrmlVestingModuleEvent (220) */
+ /** @name OrmlVestingModuleEvent (231) */
export interface OrmlVestingModuleEvent extends Enum {
readonly isVestingScheduleAdded: boolean;
readonly asVestingScheduleAdded: {
@@ -1934,7 +1966,7 @@
readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
}
- /** @name CumulusPalletXcmpQueueEvent (221) */
+ /** @name CumulusPalletXcmpQueueEvent (232) */
export interface CumulusPalletXcmpQueueEvent extends Enum {
readonly isSuccess: boolean;
readonly asSuccess: Option<H256>;
@@ -1955,7 +1987,7 @@
readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
}
- /** @name PalletXcmEvent (222) */
+ /** @name PalletXcmEvent (233) */
export interface PalletXcmEvent extends Enum {
readonly isAttempted: boolean;
readonly asAttempted: XcmV2TraitsOutcome;
@@ -1992,7 +2024,7 @@
readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';
}
- /** @name XcmV2TraitsOutcome (223) */
+ /** @name XcmV2TraitsOutcome (234) */
export interface XcmV2TraitsOutcome extends Enum {
readonly isComplete: boolean;
readonly asComplete: u64;
@@ -2003,7 +2035,7 @@
readonly type: 'Complete' | 'Incomplete' | 'Error';
}
- /** @name CumulusPalletXcmEvent (225) */
+ /** @name CumulusPalletXcmEvent (236) */
export interface CumulusPalletXcmEvent extends Enum {
readonly isInvalidFormat: boolean;
readonly asInvalidFormat: U8aFixed;
@@ -2014,7 +2046,7 @@
readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
}
- /** @name CumulusPalletDmpQueueEvent (226) */
+ /** @name CumulusPalletDmpQueueEvent (237) */
export interface CumulusPalletDmpQueueEvent extends Enum {
readonly isInvalidFormat: boolean;
readonly asInvalidFormat: U8aFixed;
@@ -2031,7 +2063,7 @@
readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';
}
- /** @name PalletUniqueRawEvent (227) */
+ /** @name PalletUniqueRawEvent (238) */
export interface PalletUniqueRawEvent extends Enum {
readonly isCollectionSponsorRemoved: boolean;
readonly asCollectionSponsorRemoved: u32;
@@ -2066,7 +2098,7 @@
readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'ConstOnChainSchemaSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'MintPermissionSet' | 'OffchainSchemaSet' | 'PublicAccessModeSet' | 'SchemaVersionSet' | 'VariableOnChainSchemaSet';
}
- /** @name PalletCommonEvent (228) */
+ /** @name PalletCommonEvent (239) */
export interface PalletCommonEvent extends Enum {
readonly isCollectionCreated: boolean;
readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
@@ -2083,7 +2115,7 @@
readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved';
}
- /** @name PalletEvmEvent (229) */
+ /** @name PalletEvmEvent (240) */
export interface PalletEvmEvent extends Enum {
readonly isLog: boolean;
readonly asLog: EthereumLog;
@@ -2102,21 +2134,21 @@
readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';
}
- /** @name EthereumLog (230) */
+ /** @name EthereumLog (241) */
export interface EthereumLog extends Struct {
readonly address: H160;
readonly topics: Vec<H256>;
readonly data: Bytes;
}
- /** @name PalletEthereumEvent (231) */
+ /** @name PalletEthereumEvent (242) */
export interface PalletEthereumEvent extends Enum {
readonly isExecuted: boolean;
readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;
readonly type: 'Executed';
}
- /** @name EvmCoreErrorExitReason (232) */
+ /** @name EvmCoreErrorExitReason (243) */
export interface EvmCoreErrorExitReason extends Enum {
readonly isSucceed: boolean;
readonly asSucceed: EvmCoreErrorExitSucceed;
@@ -2129,7 +2161,7 @@
readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
}
- /** @name EvmCoreErrorExitSucceed (233) */
+ /** @name EvmCoreErrorExitSucceed (244) */
export interface EvmCoreErrorExitSucceed extends Enum {
readonly isStopped: boolean;
readonly isReturned: boolean;
@@ -2137,7 +2169,7 @@
readonly type: 'Stopped' | 'Returned' | 'Suicided';
}
- /** @name EvmCoreErrorExitError (234) */
+ /** @name EvmCoreErrorExitError (245) */
export interface EvmCoreErrorExitError extends Enum {
readonly isStackUnderflow: boolean;
readonly isStackOverflow: boolean;
@@ -2158,13 +2190,13 @@
readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'InvalidCode' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other';
}
- /** @name EvmCoreErrorExitRevert (237) */
+ /** @name EvmCoreErrorExitRevert (248) */
export interface EvmCoreErrorExitRevert extends Enum {
readonly isReverted: boolean;
readonly type: 'Reverted';
}
- /** @name EvmCoreErrorExitFatal (238) */
+ /** @name EvmCoreErrorExitFatal (249) */
export interface EvmCoreErrorExitFatal extends Enum {
readonly isNotSupported: boolean;
readonly isUnhandledInterrupt: boolean;
@@ -2175,7 +2207,7 @@
readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
}
- /** @name FrameSystemPhase (239) */
+ /** @name FrameSystemPhase (250) */
export interface FrameSystemPhase extends Enum {
readonly isApplyExtrinsic: boolean;
readonly asApplyExtrinsic: u32;
@@ -2184,27 +2216,27 @@
readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
}
- /** @name FrameSystemLastRuntimeUpgradeInfo (241) */
+ /** @name FrameSystemLastRuntimeUpgradeInfo (252) */
export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
readonly specVersion: Compact<u32>;
readonly specName: Text;
}
- /** @name FrameSystemLimitsBlockWeights (242) */
+ /** @name FrameSystemLimitsBlockWeights (253) */
export interface FrameSystemLimitsBlockWeights extends Struct {
readonly baseBlock: u64;
readonly maxBlock: u64;
readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;
}
- /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (243) */
+ /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (254) */
export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {
readonly normal: FrameSystemLimitsWeightsPerClass;
readonly operational: FrameSystemLimitsWeightsPerClass;
readonly mandatory: FrameSystemLimitsWeightsPerClass;
}
- /** @name FrameSystemLimitsWeightsPerClass (244) */
+ /** @name FrameSystemLimitsWeightsPerClass (255) */
export interface FrameSystemLimitsWeightsPerClass extends Struct {
readonly baseExtrinsic: u64;
readonly maxExtrinsic: Option<u64>;
@@ -2212,25 +2244,25 @@
readonly reserved: Option<u64>;
}
- /** @name FrameSystemLimitsBlockLength (246) */
+ /** @name FrameSystemLimitsBlockLength (257) */
export interface FrameSystemLimitsBlockLength extends Struct {
readonly max: FrameSupportWeightsPerDispatchClassU32;
}
- /** @name FrameSupportWeightsPerDispatchClassU32 (247) */
+ /** @name FrameSupportWeightsPerDispatchClassU32 (258) */
export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {
readonly normal: u32;
readonly operational: u32;
readonly mandatory: u32;
}
- /** @name FrameSupportWeightsRuntimeDbWeight (248) */
+ /** @name FrameSupportWeightsRuntimeDbWeight (259) */
export interface FrameSupportWeightsRuntimeDbWeight extends Struct {
readonly read: u64;
readonly write: u64;
}
- /** @name SpVersionRuntimeVersion (249) */
+ /** @name SpVersionRuntimeVersion (260) */
export interface SpVersionRuntimeVersion extends Struct {
readonly specName: Text;
readonly implName: Text;
@@ -2242,7 +2274,7 @@
readonly stateVersion: u8;
}
- /** @name FrameSystemError (253) */
+ /** @name FrameSystemError (264) */
export interface FrameSystemError extends Enum {
readonly isInvalidSpecName: boolean;
readonly isSpecVersionNeedsToIncrease: boolean;
@@ -2253,7 +2285,7 @@
readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
}
- /** @name OrmlVestingModuleError (255) */
+ /** @name OrmlVestingModuleError (266) */
export interface OrmlVestingModuleError extends Enum {
readonly isZeroVestingPeriod: boolean;
readonly isZeroVestingPeriodCount: boolean;
@@ -2264,21 +2296,21 @@
readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
}
- /** @name CumulusPalletXcmpQueueInboundChannelDetails (257) */
+ /** @name CumulusPalletXcmpQueueInboundChannelDetails (268) */
export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
readonly sender: u32;
readonly state: CumulusPalletXcmpQueueInboundState;
readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
}
- /** @name CumulusPalletXcmpQueueInboundState (258) */
+ /** @name CumulusPalletXcmpQueueInboundState (269) */
export interface CumulusPalletXcmpQueueInboundState extends Enum {
readonly isOk: boolean;
readonly isSuspended: boolean;
readonly type: 'Ok' | 'Suspended';
}
- /** @name PolkadotParachainPrimitivesXcmpMessageFormat (261) */
+ /** @name PolkadotParachainPrimitivesXcmpMessageFormat (272) */
export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
readonly isConcatenatedVersionedXcm: boolean;
readonly isConcatenatedEncodedBlob: boolean;
@@ -2286,7 +2318,7 @@
readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
}
- /** @name CumulusPalletXcmpQueueOutboundChannelDetails (264) */
+ /** @name CumulusPalletXcmpQueueOutboundChannelDetails (275) */
export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
readonly recipient: u32;
readonly state: CumulusPalletXcmpQueueOutboundState;
@@ -2295,14 +2327,14 @@
readonly lastIndex: u16;
}
- /** @name CumulusPalletXcmpQueueOutboundState (265) */
+ /** @name CumulusPalletXcmpQueueOutboundState (276) */
export interface CumulusPalletXcmpQueueOutboundState extends Enum {
readonly isOk: boolean;
readonly isSuspended: boolean;
readonly type: 'Ok' | 'Suspended';
}
- /** @name CumulusPalletXcmpQueueQueueConfigData (267) */
+ /** @name CumulusPalletXcmpQueueQueueConfigData (278) */
export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
readonly suspendThreshold: u32;
readonly dropThreshold: u32;
@@ -2312,7 +2344,7 @@
readonly xcmpMaxIndividualWeight: u64;
}
- /** @name CumulusPalletXcmpQueueError (269) */
+ /** @name CumulusPalletXcmpQueueError (280) */
export interface CumulusPalletXcmpQueueError extends Enum {
readonly isFailedToSend: boolean;
readonly isBadXcmOrigin: boolean;
@@ -2322,7 +2354,7 @@
readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
}
- /** @name PalletXcmError (270) */
+ /** @name PalletXcmError (281) */
export interface PalletXcmError extends Enum {
readonly isUnreachable: boolean;
readonly isSendFailure: boolean;
@@ -2340,29 +2372,29 @@
readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
}
- /** @name CumulusPalletXcmError (271) */
+ /** @name CumulusPalletXcmError (282) */
export type CumulusPalletXcmError = Null;
- /** @name CumulusPalletDmpQueueConfigData (272) */
+ /** @name CumulusPalletDmpQueueConfigData (283) */
export interface CumulusPalletDmpQueueConfigData extends Struct {
readonly maxIndividual: u64;
}
- /** @name CumulusPalletDmpQueuePageIndexData (273) */
+ /** @name CumulusPalletDmpQueuePageIndexData (284) */
export interface CumulusPalletDmpQueuePageIndexData extends Struct {
readonly beginUsed: u32;
readonly endUsed: u32;
readonly overweightCount: u64;
}
- /** @name CumulusPalletDmpQueueError (276) */
+ /** @name CumulusPalletDmpQueueError (287) */
export interface CumulusPalletDmpQueueError extends Enum {
readonly isUnknown: boolean;
readonly isOverLimit: boolean;
readonly type: 'Unknown' | 'OverLimit';
}
- /** @name PalletUniqueError (280) */
+ /** @name PalletUniqueError (291) */
export interface PalletUniqueError extends Enum {
readonly isCollectionDecimalPointLimitExceeded: boolean;
readonly isConfirmUnsetSponsorFail: boolean;
@@ -2370,7 +2402,7 @@
readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';
}
- /** @name UpDataStructsCollection (281) */
+ /** @name UpDataStructsCollection (292) */
export interface UpDataStructsCollection extends Struct {
readonly owner: AccountId32;
readonly mode: UpDataStructsCollectionMode;
@@ -2388,7 +2420,7 @@
readonly metaUpdatePermission: UpDataStructsMetaUpdatePermission;
}
- /** @name UpDataStructsSponsorshipState (282) */
+ /** @name UpDataStructsSponsorshipState (293) */
export interface UpDataStructsSponsorshipState extends Enum {
readonly isDisabled: boolean;
readonly isUnconfirmed: boolean;
@@ -2398,14 +2430,14 @@
readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
}
- /** @name UpDataStructsCollectionStats (285) */
+ /** @name UpDataStructsCollectionStats (296) */
export interface UpDataStructsCollectionStats extends Struct {
readonly created: u32;
readonly destroyed: u32;
readonly alive: u32;
}
- /** @name PalletCommonError (286) */
+ /** @name PalletCommonError (297) */
export interface PalletCommonError extends Enum {
readonly isCollectionNotFound: boolean;
readonly isMustBeTokenOwner: boolean;
@@ -2433,7 +2465,7 @@
readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation';
}
- /** @name PalletFungibleError (288) */
+ /** @name PalletFungibleError (299) */
export interface PalletFungibleError extends Enum {
readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
readonly isFungibleItemsHaveNoId: boolean;
@@ -2441,34 +2473,34 @@
readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData';
}
- /** @name PalletRefungibleItemData (289) */
+ /** @name PalletRefungibleItemData (300) */
export interface PalletRefungibleItemData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
}
- /** @name PalletRefungibleError (293) */
+ /** @name PalletRefungibleError (304) */
export interface PalletRefungibleError extends Enum {
readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
readonly isWrongRefungiblePieces: boolean;
readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces';
}
- /** @name PalletNonfungibleItemData (294) */
+ /** @name PalletNonfungibleItemData (305) */
export interface PalletNonfungibleItemData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
}
- /** @name PalletNonfungibleError (295) */
+ /** @name PalletNonfungibleError (306) */
export interface PalletNonfungibleError extends Enum {
readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
readonly isNonfungibleItemsHaveNoAmount: boolean;
readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount';
}
- /** @name PalletEvmError (297) */
+ /** @name PalletEvmError (308) */
export interface PalletEvmError extends Enum {
readonly isBalanceLow: boolean;
readonly isFeeOverflow: boolean;
@@ -2479,7 +2511,7 @@
readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';
}
- /** @name FpRpcTransactionStatus (300) */
+ /** @name FpRpcTransactionStatus (311) */
export interface FpRpcTransactionStatus extends Struct {
readonly transactionHash: H256;
readonly transactionIndex: u32;
@@ -2490,10 +2522,10 @@
readonly logsBloom: EthbloomBloom;
}
- /** @name EthbloomBloom (303) */
+ /** @name EthbloomBloom (314) */
export interface EthbloomBloom extends U8aFixed {}
- /** @name EthereumReceiptReceiptV3 (305) */
+ /** @name EthereumReceiptReceiptV3 (316) */
export interface EthereumReceiptReceiptV3 extends Enum {
readonly isLegacy: boolean;
readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -2504,7 +2536,7 @@
readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
}
- /** @name EthereumReceiptEip658ReceiptData (306) */
+ /** @name EthereumReceiptEip658ReceiptData (317) */
export interface EthereumReceiptEip658ReceiptData extends Struct {
readonly statusCode: u8;
readonly usedGas: U256;
@@ -2512,14 +2544,14 @@
readonly logs: Vec<EthereumLog>;
}
- /** @name EthereumBlock (307) */
+ /** @name EthereumBlock (318) */
export interface EthereumBlock extends Struct {
readonly header: EthereumHeader;
readonly transactions: Vec<EthereumTransactionTransactionV2>;
readonly ommers: Vec<EthereumHeader>;
}
- /** @name EthereumHeader (308) */
+ /** @name EthereumHeader (319) */
export interface EthereumHeader extends Struct {
readonly parentHash: H256;
readonly ommersHash: H256;
@@ -2538,24 +2570,24 @@
readonly nonce: EthereumTypesHashH64;
}
- /** @name EthereumTypesHashH64 (309) */
+ /** @name EthereumTypesHashH64 (320) */
export interface EthereumTypesHashH64 extends U8aFixed {}
- /** @name PalletEthereumError (314) */
+ /** @name PalletEthereumError (325) */
export interface PalletEthereumError extends Enum {
readonly isInvalidSignature: boolean;
readonly isPreLogExists: boolean;
readonly type: 'InvalidSignature' | 'PreLogExists';
}
- /** @name PalletEvmCoderSubstrateError (315) */
+ /** @name PalletEvmCoderSubstrateError (326) */
export interface PalletEvmCoderSubstrateError extends Enum {
readonly isOutOfGas: boolean;
readonly isOutOfFund: boolean;
readonly type: 'OutOfGas' | 'OutOfFund';
}
- /** @name PalletEvmContractHelpersSponsoringModeT (316) */
+ /** @name PalletEvmContractHelpersSponsoringModeT (327) */
export interface PalletEvmContractHelpersSponsoringModeT extends Enum {
readonly isDisabled: boolean;
readonly isAllowlisted: boolean;
@@ -2563,20 +2595,20 @@
readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
}
- /** @name PalletEvmContractHelpersError (318) */
+ /** @name PalletEvmContractHelpersError (329) */
export interface PalletEvmContractHelpersError extends Enum {
readonly isNoPermission: boolean;
readonly type: 'NoPermission';
}
- /** @name PalletEvmMigrationError (319) */
+ /** @name PalletEvmMigrationError (330) */
export interface PalletEvmMigrationError extends Enum {
readonly isAccountNotEmpty: boolean;
readonly isAccountIsNotMigrating: boolean;
readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';
}
- /** @name SpRuntimeMultiSignature (321) */
+ /** @name SpRuntimeMultiSignature (332) */
export interface SpRuntimeMultiSignature extends Enum {
readonly isEd25519: boolean;
readonly asEd25519: SpCoreEd25519Signature;
@@ -2587,31 +2619,31 @@
readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
}
- /** @name SpCoreEd25519Signature (322) */
+ /** @name SpCoreEd25519Signature (333) */
export interface SpCoreEd25519Signature extends U8aFixed {}
- /** @name SpCoreSr25519Signature (324) */
+ /** @name SpCoreSr25519Signature (335) */
export interface SpCoreSr25519Signature extends U8aFixed {}
- /** @name SpCoreEcdsaSignature (325) */
+ /** @name SpCoreEcdsaSignature (336) */
export interface SpCoreEcdsaSignature extends U8aFixed {}
- /** @name FrameSystemExtensionsCheckSpecVersion (328) */
+ /** @name FrameSystemExtensionsCheckSpecVersion (339) */
export type FrameSystemExtensionsCheckSpecVersion = Null;
- /** @name FrameSystemExtensionsCheckGenesis (329) */
+ /** @name FrameSystemExtensionsCheckGenesis (340) */
export type FrameSystemExtensionsCheckGenesis = Null;
- /** @name FrameSystemExtensionsCheckNonce (332) */
+ /** @name FrameSystemExtensionsCheckNonce (343) */
export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
- /** @name FrameSystemExtensionsCheckWeight (333) */
+ /** @name FrameSystemExtensionsCheckWeight (344) */
export type FrameSystemExtensionsCheckWeight = Null;
- /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (334) */
+ /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (345) */
export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
- /** @name UniqueRuntimeRuntime (335) */
+ /** @name UniqueRuntimeRuntime (346) */
export type UniqueRuntimeRuntime = Null;
} // declare module
tests/src/interfaces/unique/types.tsdiffbeforeafterboth--- a/tests/src/interfaces/unique/types.ts
+++ b/tests/src/interfaces/unique/types.ts
@@ -1316,6 +1316,11 @@
readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
readonly itemsData: Vec<UpDataStructsCreateItemData>;
} & Struct;
+ readonly isCreateMultipleItemsEx: boolean;
+ readonly asCreateMultipleItemsEx: {
+ readonly collectionId: u32;
+ readonly data: UpDataStructsCreateItemExData;
+ } & Struct;
readonly isSetTransfersEnabledFlag: boolean;
readonly asSetTransfersEnabledFlag: {
readonly collectionId: u32;
@@ -1392,7 +1397,7 @@
readonly collectionId: u32;
readonly newLimit: UpDataStructsCollectionLimits;
} & Struct;
- readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetVariableMetaData' | 'SetMetaUpdatePermissionFlag' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetVariableOnChainSchema' | 'SetCollectionLimits';
+ readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetVariableMetaData' | 'SetMetaUpdatePermissionFlag' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetVariableOnChainSchema' | 'SetCollectionLimits';
}
/** @name PalletUniqueError */
@@ -1806,12 +1811,32 @@
readonly type: 'Nft' | 'Fungible' | 'ReFungible';
}
+/** @name UpDataStructsCreateItemExData */
+export interface UpDataStructsCreateItemExData extends Enum {
+ readonly isNft: boolean;
+ readonly asNft: Vec<UpDataStructsCreateNftExData>;
+ readonly isFungible: boolean;
+ readonly asFungible: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr,u128>;
+ readonly isRefungibleMultipleItems: boolean;
+ readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;
+ readonly isRefungibleMultipleOwners: boolean;
+ readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExData;
+ readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
+}
+
/** @name UpDataStructsCreateNftData */
export interface UpDataStructsCreateNftData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
}
+/** @name UpDataStructsCreateNftExData */
+export interface UpDataStructsCreateNftExData extends Struct {
+ readonly constData: Bytes;
+ readonly variableData: Bytes;
+ readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+}
+
/** @name UpDataStructsCreateReFungibleData */
export interface UpDataStructsCreateReFungibleData extends Struct {
readonly constData: Bytes;
@@ -1819,6 +1844,13 @@
readonly pieces: u128;
}
+/** @name UpDataStructsCreateRefungibleExData */
+export interface UpDataStructsCreateRefungibleExData extends Struct {
+ readonly constData: Bytes;
+ readonly variableData: Bytes;
+ readonly users: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>;
+}
+
/** @name UpDataStructsMetaUpdatePermission */
export interface UpDataStructsMetaUpdatePermission extends Enum {
readonly isItemOwner: boolean;