difftreelog
feat(weight) added benchs for decompose weight Changed weight calculation system for `transfer` & `transfer_from` (NFT)
in: master
13 files changed
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -6262,7 +6262,7 @@
[[package]]
name = "pallet-common"
-version = "0.1.13"
+version = "0.1.14"
dependencies = [
"ethereum",
"evm-coder",
@@ -6814,7 +6814,7 @@
[[package]]
name = "pallet-nonfungible"
-version = "0.1.13"
+version = "0.1.14"
dependencies = [
"evm-coder",
"frame-benchmarking",
pallets/app-promotion/src/lib.rsdiffbeforeafterboth--- a/pallets/app-promotion/src/lib.rs
+++ b/pallets/app-promotion/src/lib.rs
@@ -845,7 +845,6 @@
/// - `staker`: staker account.
pub fn total_staked_by_id(staker: impl EncodeLike<T::AccountId>) -> Option<BalanceOf<T>> {
let staked = Staked::<T>::iter_prefix((staker,))
- .into_iter()
.fold(<BalanceOf<T>>::default(), |acc, (_, (amount, _))| {
acc + amount
});
@@ -864,7 +863,6 @@
staker: impl EncodeLike<T::AccountId>,
) -> Option<Vec<(T::BlockNumber, BalanceOf<T>)>> {
let mut staked = Staked::<T>::iter_prefix((staker,))
- .into_iter()
.map(|(block, (amount, _))| (block, amount))
.collect::<Vec<_>>();
staked.sort_by_key(|(block, _)| *block);
@@ -883,12 +881,6 @@
Self::total_staked_by_id(s.as_sub())
})
}
-
- // pub fn cross_id_locked_balance(staker: T::CrossAccountId) -> BalanceOf<T> {
- // Self::get_locked_balance(staker.as_sub())
- // .map(|l| l.amount)
- // .unwrap_or_default()
- // }
/// Returns all relay block numbers when stake was made,
/// the amount of the stake.
pallets/common/CHANGELOG.mddiffbeforeafterboth--- a/pallets/common/CHANGELOG.md
+++ b/pallets/common/CHANGELOG.md
@@ -4,6 +4,12 @@
<!-- bureaucrate goes here -->
+## [0.1.14] - 2023-03-28
+
+### Added
+
+- Added benchmark to check if user is contained in AllowList (`check_accesslist()`).
+
## [0.1.13] - 2023-01-20
### Changed
pallets/common/Cargo.tomldiffbeforeafterboth--- a/pallets/common/Cargo.toml
+++ b/pallets/common/Cargo.toml
@@ -2,7 +2,7 @@
edition = "2021"
license = "GPLv3"
name = "pallet-common"
-version = "0.1.13"
+version = "0.1.14"
[dependencies]
# Note: `package = "parity-scale-codec"` must be supplied since the `Encode` macro searches for it.
pallets/common/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/common/src/benchmarking.rs
+++ b/pallets/common/src/benchmarking.rs
@@ -22,8 +22,9 @@
use frame_benchmarking::{benchmarks, account};
use up_data_structs::{
CollectionMode, CollectionFlags, CreateCollectionData, CollectionId, Property, PropertyKey,
- PropertyValue, CollectionPermissions, NestingPermissions, MAX_COLLECTION_NAME_LENGTH,
- MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH, MAX_PROPERTIES_PER_ITEM,
+ PropertyValue, CollectionPermissions, NestingPermissions, AccessMode,
+ MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
+ MAX_PROPERTIES_PER_ITEM,
};
use frame_support::{
traits::{Currency, Get},
@@ -193,4 +194,38 @@
<Pallet<T>>::set_collection_properties(&collection, &owner, props.into_iter())?;
let to_delete = (0..b).map(|p| property_key(p as usize)).collect::<Vec<_>>();
}: {<Pallet<T>>::delete_collection_properties(&collection, &owner, to_delete.into_iter())?}
+
+ check_accesslist{
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ sender: cross_from_sub(owner); receiver: cross_sub;
+ };
+
+ let mut collection_handle = <CollectionHandle<T>>::try_get(collection.id)?;
+ <Pallet<T>>::update_permissions(
+ &sender,
+ &mut collection_handle,
+ CollectionPermissions { access: Some(AccessMode::AllowList), ..Default::default() }
+ )?;
+
+ <Pallet<T>>::toggle_allowlist(
+ &collection,
+ &sender,
+ &sender,
+ true,
+ )?;
+
+ <Pallet<T>>::toggle_allowlist(
+ &collection,
+ &sender,
+ &receiver,
+ true,
+ )?;
+
+ assert_eq!(collection_handle.permissions.access(), AccessMode::AllowList);
+
+ collection_handle.check_allowlist(&sender)?;
+ collection_handle.check_allowlist(&receiver)?;
+
+ }: {collection_handle.check_allowlist(&sender)?;}
}
pallets/common/src/weights.rsdiffbeforeafterboth--- a/pallets/common/src/weights.rs
+++ b/pallets/common/src/weights.rs
@@ -36,6 +36,7 @@
pub trait WeightInfo {
fn set_collection_properties(b: u32, ) -> Weight;
fn delete_collection_properties(b: u32, ) -> Weight;
+ fn check_accesslist() -> Weight;
}
/// Weights for pallet_common using the Substrate node and recommended hardware.
@@ -66,11 +67,8 @@
Weight::from_parts(6_684_000, 43467)
// Standard Error: 67_984
.saturating_add(Weight::from_parts(21_502_829, 0).saturating_mul(b.into()))
- .saturating_add(T::DbWeight::get().reads(1_u64))
.saturating_add(T::DbWeight::get().writes(1_u64))
}
-}
-
// For backwards compatibility and tests
impl WeightInfo for () {
/// Storage: Common CollectionProperties (r:1 w:1)
@@ -98,8 +96,5 @@
Weight::from_parts(6_684_000, 43467)
// Standard Error: 67_984
.saturating_add(Weight::from_parts(21_502_829, 0).saturating_mul(b.into()))
- .saturating_add(RocksDbWeight::get().reads(1_u64))
.saturating_add(RocksDbWeight::get().writes(1_u64))
}
-}
-
pallets/nonfungible/CHANGELOG.mddiffbeforeafterboth--- a/pallets/nonfungible/CHANGELOG.md
+++ b/pallets/nonfungible/CHANGELOG.md
@@ -4,6 +4,12 @@
<!-- bureaucrate goes here -->
+## [0.1.14] - 2023-03-28
+
+### Fixed
+
+- The weight of `transfer` and `transfer_from`.
+
## [0.1.13] - 2023-01-20
### Fixed
pallets/nonfungible/Cargo.tomldiffbeforeafterboth--- a/pallets/nonfungible/Cargo.toml
+++ b/pallets/nonfungible/Cargo.toml
@@ -2,7 +2,7 @@
edition = "2021"
license = "GPLv3"
name = "pallet-nonfungible"
-version = "0.1.13"
+version = "0.1.14"
[dependencies]
# Note: `package = "parity-scale-codec"` must be supplied since the `Encode` macro searches for it.
pallets/nonfungible/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/benchmarking.rs
+++ b/pallets/nonfungible/src/benchmarking.rs
@@ -146,14 +146,14 @@
let item = create_max_item(&collection, &owner, owner_eth.clone())?;
}: {<Pallet<T>>::set_allowance_from(&collection, &sender, &owner_eth, item, Some(&spender))?}
- transfer_from {
+ checks_for_transfer_from {
bench_init!{
owner: sub; collection: collection(owner);
owner: cross_from_sub; sender: cross_sub; spender: cross_sub; receiver: cross_sub;
};
let item = create_max_item(&collection, &owner, sender.clone())?;
<Pallet<T>>::set_allowance(&collection, &sender, item, Some(&spender))?;
- }: {<Pallet<T>>::transfer_from(&collection, &spender, &sender, &receiver, item, &Unlimited)?}
+ }: {<Pallet<T>>::check_allowed(&collection, &spender, &sender, item, &Unlimited)?}
burn_from {
bench_init!{
pallets/nonfungible/src/common.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -23,7 +23,7 @@
};
use pallet_common::{
CommonCollectionOperations, CommonWeightInfo, RefungibleExtensions, with_weight,
- weights::WeightInfo as _,
+ weights::WeightInfo as _, SelfWeightOf as PalletCommonWeightOf,
};
use sp_runtime::DispatchError;
use sp_std::{vec::Vec, vec};
@@ -91,7 +91,7 @@
}
fn transfer() -> Weight {
- <SelfWeightOf<T>>::transfer()
+ <SelfWeightOf<T>>::transfer() + <PalletCommonWeightOf<T>>::check_accesslist() * 2
}
fn approve() -> Weight {
@@ -103,7 +103,7 @@
}
fn transfer_from() -> Weight {
- <SelfWeightOf<T>>::transfer_from()
+ Self::transfer() + <SelfWeightOf<T>>::checks_for_transfer_from()
}
fn burn_from() -> Weight {
@@ -325,10 +325,7 @@
) -> DispatchResultWithPostInfo {
ensure!(amount <= 1, <Error<T>>::NonfungibleItemsHaveNoAmount);
if amount == 1 {
- with_weight(
- <Pallet<T>>::transfer(self, &from, &to, token, nesting_budget),
- <CommonWeights<T>>::transfer(),
- )
+ <Pallet<T>>::transfer(self, &from, &to, token, nesting_budget)
} else {
<Pallet<T>>::check_token_immediate_ownership(self, token, &from)?;
Ok(().into())
@@ -386,10 +383,7 @@
ensure!(amount <= 1, <Error<T>>::NonfungibleItemsHaveNoAmount);
if amount == 1 {
- with_weight(
- <Pallet<T>>::transfer_from(self, &sender, &from, &to, token, nesting_budget),
- <CommonWeights<T>>::transfer_from(),
- )
+ <Pallet<T>>::transfer_from(self, &sender, &from, &to, token, nesting_budget)
} else {
<Pallet<T>>::check_allowed(self, &sender, &from, token, nesting_budget)?;
pallets/nonfungible/src/erc.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -39,6 +39,7 @@
CollectionHandle, CollectionPropertyPermissions, CommonCollectionOperations,
erc::{CommonEvmHandler, PrecompileResult, CollectionCall, static_property::key},
eth::{self, TokenUri},
+ CommonWeightInfo,
};
use pallet_evm::{account::CrossAccountId, PrecompileHandle};
use pallet_evm_coder_substrate::call;
@@ -47,7 +48,7 @@
use crate::{
AccountBalance, Config, CreateItemData, NonfungibleHandle, Pallet, TokenData, TokensMinted,
- TokenProperties, SelfWeightOf, weights::WeightInfo,
+ TokenProperties, SelfWeightOf, weights::WeightInfo, common::CommonWeights,
};
/// Nft events.
@@ -458,7 +459,7 @@
/// @param from The current owner of the NFT
/// @param to The new owner
/// @param tokenId The NFT to transfer
- #[weight(<SelfWeightOf<T>>::transfer_from())]
+ #[weight(<CommonWeights<T>>::transfer_from())]
fn transfer_from(
&mut self,
caller: Caller,
@@ -475,7 +476,7 @@
.weight_calls_budget(<StructureWeight<T>>::find_parent());
<Pallet<T>>::transfer_from(self, &caller, &from, &to, token, &budget)
- .map_err(dispatch_to_evm::<T>)?;
+ .map_err(|e| dispatch_to_evm::<T>(e.error))?;
Ok(())
}
@@ -824,7 +825,7 @@
/// is the zero address. Throws if `tokenId` is not a valid NFT.
/// @param to The new owner
/// @param tokenId The NFT to transfer
- #[weight(<SelfWeightOf<T>>::transfer())]
+ #[weight(<CommonWeights<T>>::transfer())]
fn transfer(&mut self, caller: Caller, to: Address, token_id: U256) -> Result<()> {
let caller = T::CrossAccountId::from_eth(caller);
let to = T::CrossAccountId::from_eth(to);
@@ -833,7 +834,8 @@
.recorder
.weight_calls_budget(<StructureWeight<T>>::find_parent());
- <Pallet<T>>::transfer(self, &caller, &to, token, &budget).map_err(dispatch_to_evm::<T>)?;
+ <Pallet<T>>::transfer(self, &caller, &to, token, &budget)
+ .map_err(|e| dispatch_to_evm::<T>(e.error))?;
Ok(())
}
@@ -842,7 +844,7 @@
/// is the zero address. Throws if `tokenId` is not a valid NFT.
/// @param to The new owner
/// @param tokenId The NFT to transfer
- #[weight(<SelfWeightOf<T>>::transfer())]
+ #[weight(<CommonWeights<T>>::transfer())]
fn transfer_cross(
&mut self,
caller: Caller,
@@ -856,7 +858,8 @@
.recorder
.weight_calls_budget(<StructureWeight<T>>::find_parent());
- <Pallet<T>>::transfer(self, &caller, &to, token, &budget).map_err(dispatch_to_evm::<T>)?;
+ <Pallet<T>>::transfer(self, &caller, &to, token, &budget)
+ .map_err(|e| dispatch_to_evm::<T>(e.error))?;
Ok(())
}
@@ -866,7 +869,7 @@
/// @param from Cross acccount address of current owner
/// @param to Cross acccount address of new owner
/// @param tokenId The NFT to transfer
- #[weight(<SelfWeightOf<T>>::transfer())]
+ #[weight(<CommonWeights<T>>::transfer_from())]
fn transfer_from_cross(
&mut self,
caller: Caller,
@@ -882,7 +885,7 @@
.recorder
.weight_calls_budget(<StructureWeight<T>>::find_parent());
Pallet::<T>::transfer_from(self, &caller, &from, &to, token_id, &budget)
- .map_err(dispatch_to_evm::<T>)?;
+ .map_err(|e| dispatch_to_evm::<T>(e.error))?;
Ok(())
}
pallets/nonfungible/src/lib.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -108,7 +108,8 @@
use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};
use pallet_common::{
Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, CollectionHandle,
- eth::collection_id_to_address,
+ eth::collection_id_to_address, SelfWeightOf as PalletCommonWeightOf,
+ weights::WeightInfo as CommonWeightInfo,
};
use pallet_structure::{Pallet as PalletStructure, Error as StructureError};
use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
@@ -802,7 +803,7 @@
to: &T::CrossAccountId,
token: TokenId,
nesting_budget: &dyn Budget,
- ) -> DispatchResult {
+ ) -> DispatchResultWithPostInfo {
ensure!(
collection.limits.transfers_enabled(),
<CommonError<T>>::TransferNotAllowed
@@ -812,7 +813,8 @@
<TokenData<T>>::get((collection.id, token)).ok_or(<CommonError<T>>::TokenNotFound)?;
ensure!(&token_data.owner == from, <CommonError<T>>::NoPermission);
- if collection.permissions.access() == AccessMode::AllowList {
+ let is_allow_list_mode = collection.permissions.access() == AccessMode::AllowList;
+ if is_allow_list_mode {
collection.check_allowlist(from)?;
collection.check_allowlist(to)?;
}
@@ -884,7 +886,18 @@
to.clone(),
1,
));
- Ok(())
+
+ let actual_weight = match is_allow_list_mode {
+ true => Some(
+ <SelfWeightOf<T>>::transfer() + <PalletCommonWeightOf<T>>::check_accesslist() * 2,
+ ),
+ false => Some(<SelfWeightOf<T>>::transfer()),
+ };
+
+ Ok(PostDispatchInfo {
+ actual_weight,
+ pays_fee: Pays::Yes,
+ })
}
/// Batch operation to mint multiple NFT tokens.
@@ -1228,13 +1241,18 @@
to: &T::CrossAccountId,
token: TokenId,
nesting_budget: &dyn Budget,
- ) -> DispatchResult {
+ ) -> DispatchResultWithPostInfo {
Self::check_allowed(collection, spender, from, token, nesting_budget)?;
// =========
// Allowance is reset in [`transfer`]
- Self::transfer(collection, from, to, token, nesting_budget)
+ Self::transfer(collection, from, to, token, nesting_budget).map(|mut p| {
+ p.actual_weight = Some(
+ p.actual_weight.unwrap_or_default() + <SelfWeightOf<T>>::checks_for_transfer_from(),
+ );
+ p
+ })
}
/// Burn NFT token for `from` account.
pallets/nonfungible/src/weights.rsdiffbeforeafterboth1// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs23//! Autogenerated weights for pallet_nonfungible4//!5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev6//! DATE: 2023-03-30, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`7//! WORST CASE MAP SIZE: `1000000`8//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024910// Executed Command:11// target/release/unique-collator12// benchmark13// pallet14// --pallet15// pallet-nonfungible16// --wasm-execution17// compiled18// --extrinsic19// *20// --template=.maintain/frame-weight-template.hbs21// --steps=5022// --repeat=8023// --heap-pages=409624// --output=./pallets/nonfungible/src/weights.rs2526#![cfg_attr(rustfmt, rustfmt_skip)]27#![allow(unused_parens)]28#![allow(unused_imports)]29#![allow(missing_docs)]30#![allow(clippy::unnecessary_cast)]3132use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};33use sp_std::marker::PhantomData;3435/// Weight functions needed for pallet_nonfungible.36pub trait WeightInfo {37 fn create_item() -> Weight;38 fn create_multiple_items(b: u32, ) -> Weight;39 fn create_multiple_items_ex(b: u32, ) -> Weight;40 fn burn_item() -> Weight;41 fn burn_recursively_self_raw() -> Weight;42 fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight;43 fn transfer() -> Weight;44 fn approve() -> Weight;45 fn approve_from() -> Weight;46 fn transfer_from() -> Weight;47 fn burn_from() -> Weight;48 fn set_token_property_permissions(b: u32, ) -> Weight;49 fn set_token_properties(b: u32, ) -> Weight;50 fn delete_token_properties(b: u32, ) -> Weight;51 fn token_owner() -> Weight;52 fn set_allowance_for_all() -> Weight;53 fn allowance_for_all() -> Weight;54 fn repair_item() -> Weight;55}5657/// Weights for pallet_nonfungible using the Substrate node and recommended hardware.58pub struct SubstrateWeight<T>(PhantomData<T>);59impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {60 /// Storage: Nonfungible TokensMinted (r:1 w:1)61 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)62 /// Storage: Nonfungible AccountBalance (r:1 w:1)63 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)64 /// Storage: Nonfungible TokenProperties (r:1 w:1)65 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)66 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)67 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)68 /// Storage: Nonfungible TokenData (r:0 w:1)69 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)70 /// Storage: Nonfungible Owned (r:0 w:1)71 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)72 fn create_item() -> Weight {73 // Proof Size summary in bytes:74 // Measured: `390`75 // Estimated: `59511`76 // Minimum execution time: 23_081_000 picoseconds.77 Weight::from_parts(23_551_000, 59511)78 .saturating_add(T::DbWeight::get().reads(4_u64))79 .saturating_add(T::DbWeight::get().writes(5_u64))80 }81 /// Storage: Nonfungible TokensMinted (r:1 w:1)82 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)83 /// Storage: Nonfungible AccountBalance (r:1 w:1)84 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)85 /// Storage: Nonfungible TokenProperties (r:200 w:200)86 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)87 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)88 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)89 /// Storage: Nonfungible TokenData (r:0 w:200)90 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)91 /// Storage: Nonfungible Owned (r:0 w:200)92 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)93 /// The range of component `b` is `[0, 200]`.94 fn create_multiple_items(b: u32, ) -> Weight {95 // Proof Size summary in bytes:96 // Measured: `390`97 // Estimated: `24232 + b * (35279 ±0)`98 // Minimum execution time: 4_557_000 picoseconds.99 Weight::from_parts(5_994_058, 24232)100 // Standard Error: 4_326101 .saturating_add(Weight::from_parts(7_369_489, 0).saturating_mul(b.into()))102 .saturating_add(T::DbWeight::get().reads(3_u64))103 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into())))104 .saturating_add(T::DbWeight::get().writes(2_u64))105 .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(b.into())))106 .saturating_add(Weight::from_parts(0, 35279).saturating_mul(b.into()))107 }108 /// Storage: Nonfungible TokensMinted (r:1 w:1)109 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)110 /// Storage: Nonfungible AccountBalance (r:200 w:200)111 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)112 /// Storage: Nonfungible TokenProperties (r:200 w:200)113 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)114 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)115 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)116 /// Storage: Nonfungible TokenData (r:0 w:200)117 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)118 /// Storage: Nonfungible Owned (r:0 w:200)119 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)120 /// The range of component `b` is `[0, 200]`.121 fn create_multiple_items_ex(b: u32, ) -> Weight {122 // Proof Size summary in bytes:123 // Measured: `390`124 // Estimated: `21692 + b * (37819 ±0)`125 // Minimum execution time: 4_533_000 picoseconds.126 Weight::from_parts(2_822_660, 21692)127 // Standard Error: 3_650128 .saturating_add(Weight::from_parts(9_100_706, 0).saturating_mul(b.into()))129 .saturating_add(T::DbWeight::get().reads(2_u64))130 .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(b.into())))131 .saturating_add(T::DbWeight::get().writes(1_u64))132 .saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(b.into())))133 .saturating_add(Weight::from_parts(0, 37819).saturating_mul(b.into()))134 }135 /// Storage: Nonfungible TokenData (r:1 w:1)136 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)137 /// Storage: Nonfungible TokenChildren (r:1 w:0)138 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)139 /// Storage: Nonfungible TokensBurnt (r:1 w:1)140 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)141 /// Storage: Nonfungible AccountBalance (r:1 w:1)142 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)143 /// Storage: Nonfungible Allowance (r:1 w:0)144 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)145 /// Storage: Nonfungible Owned (r:0 w:1)146 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)147 /// Storage: Nonfungible TokenProperties (r:0 w:1)148 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)149 fn burn_item() -> Weight {150 // Proof Size summary in bytes:151 // Measured: `412`152 // Estimated: `12611`153 // Minimum execution time: 23_528_000 picoseconds.154 Weight::from_parts(24_680_000, 12611)155 .saturating_add(T::DbWeight::get().reads(5_u64))156 .saturating_add(T::DbWeight::get().writes(5_u64))157 }158 /// Storage: Nonfungible TokenChildren (r:1 w:0)159 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)160 /// Storage: Nonfungible TokenData (r:1 w:1)161 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)162 /// Storage: Nonfungible TokensBurnt (r:1 w:1)163 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)164 /// Storage: Nonfungible AccountBalance (r:1 w:1)165 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)166 /// Storage: Nonfungible Allowance (r:1 w:0)167 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)168 /// Storage: Nonfungible Owned (r:0 w:1)169 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)170 /// Storage: Nonfungible TokenProperties (r:0 w:1)171 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)172 fn burn_recursively_self_raw() -> Weight {173 // Proof Size summary in bytes:174 // Measured: `412`175 // Estimated: `12611`176 // Minimum execution time: 29_770_000 picoseconds.177 Weight::from_parts(30_114_000, 12611)178 .saturating_add(T::DbWeight::get().reads(5_u64))179 .saturating_add(T::DbWeight::get().writes(5_u64))180 }181 /// Storage: Nonfungible TokenChildren (r:401 w:200)182 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)183 /// Storage: Common CollectionById (r:1 w:0)184 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)185 /// Storage: Nonfungible TokenData (r:201 w:201)186 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)187 /// Storage: Nonfungible TokensBurnt (r:1 w:1)188 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)189 /// Storage: Nonfungible AccountBalance (r:2 w:2)190 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)191 /// Storage: Nonfungible Allowance (r:201 w:0)192 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)193 /// Storage: Nonfungible Owned (r:0 w:201)194 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)195 /// Storage: Nonfungible TokenProperties (r:0 w:201)196 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)197 /// The range of component `b` is `[0, 200]`.198 fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {199 // Proof Size summary in bytes:200 // Measured: `1530 + b * (58 ±0)`201 // Estimated: `18290 + b * (10097 ±0)`202 // Minimum execution time: 31_413_000 picoseconds.203 Weight::from_parts(31_865_000, 18290)204 // Standard Error: 980_032205 .saturating_add(Weight::from_parts(205_236_443, 0).saturating_mul(b.into()))206 .saturating_add(T::DbWeight::get().reads(7_u64))207 .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(b.into())))208 .saturating_add(T::DbWeight::get().writes(6_u64))209 .saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(b.into())))210 .saturating_add(Weight::from_parts(0, 10097).saturating_mul(b.into()))211 }212 /// Storage: Nonfungible TokenData (r:1 w:1)213 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)214 /// Storage: Nonfungible AccountBalance (r:2 w:2)215 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)216 /// Storage: Nonfungible Allowance (r:1 w:0)217 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)218 /// Storage: Nonfungible Owned (r:0 w:2)219 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)220 fn transfer() -> Weight {221 // Proof Size summary in bytes:222 // Measured: `412`223 // Estimated: `10144`224 // Minimum execution time: 18_629_000 picoseconds.225 Weight::from_parts(18_997_000, 10144)226 .saturating_add(T::DbWeight::get().reads(4_u64))227 .saturating_add(T::DbWeight::get().writes(5_u64))228 }229 /// Storage: Nonfungible TokenData (r:1 w:0)230 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)231 /// Storage: Nonfungible Allowance (r:1 w:1)232 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)233 fn approve() -> Weight {234 // Proof Size summary in bytes:235 // Measured: `358`236 // Estimated: `5064`237 // Minimum execution time: 11_507_000 picoseconds.238 Weight::from_parts(11_771_000, 5064)239 .saturating_add(T::DbWeight::get().reads(2_u64))240 .saturating_add(T::DbWeight::get().writes(1_u64))241 }242 /// Storage: Nonfungible TokenData (r:1 w:0)243 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)244 /// Storage: Nonfungible Allowance (r:1 w:1)245 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)246 fn approve_from() -> Weight {247 // Proof Size summary in bytes:248 // Measured: `313`249 // Estimated: `5064`250 // Minimum execution time: 11_558_000 picoseconds.251 Weight::from_parts(11_789_000, 5064)252 .saturating_add(T::DbWeight::get().reads(2_u64))253 .saturating_add(T::DbWeight::get().writes(1_u64))254 }255 /// Storage: Nonfungible Allowance (r:1 w:1)256 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)257 /// Storage: Nonfungible TokenData (r:1 w:1)258 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)259 /// Storage: Nonfungible AccountBalance (r:2 w:2)260 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)261 /// Storage: Nonfungible Owned (r:0 w:2)262 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)263 fn transfer_from() -> Weight {264 // Proof Size summary in bytes:265 // Measured: `527`266 // Estimated: `10144`267 // Minimum execution time: 24_919_000 picoseconds.268 Weight::from_parts(25_333_000, 10144)269 .saturating_add(T::DbWeight::get().reads(4_u64))270 .saturating_add(T::DbWeight::get().writes(6_u64))271 }272 /// Storage: Nonfungible Allowance (r:1 w:1)273 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)274 /// Storage: Nonfungible TokenData (r:1 w:1)275 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)276 /// Storage: Nonfungible TokenChildren (r:1 w:0)277 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)278 /// Storage: Nonfungible TokensBurnt (r:1 w:1)279 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)280 /// Storage: Nonfungible AccountBalance (r:1 w:1)281 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)282 /// Storage: Nonfungible Owned (r:0 w:1)283 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)284 /// Storage: Nonfungible TokenProperties (r:0 w:1)285 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)286 fn burn_from() -> Weight {287 // Proof Size summary in bytes:288 // Measured: `527`289 // Estimated: `12611`290 // Minimum execution time: 30_713_000 picoseconds.291 Weight::from_parts(31_160_000, 12611)292 .saturating_add(T::DbWeight::get().reads(5_u64))293 .saturating_add(T::DbWeight::get().writes(6_u64))294 }295 /// Storage: Common CollectionPropertyPermissions (r:1 w:1)296 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)297 /// The range of component `b` is `[0, 64]`.298 fn set_token_property_permissions(b: u32, ) -> Weight {299 // Proof Size summary in bytes:300 // Measured: `281`301 // Estimated: `19201`302 // Minimum execution time: 2_360_000 picoseconds.303 Weight::from_parts(2_396_000, 19201)304 // Standard Error: 43_257305 .saturating_add(Weight::from_parts(12_085_808, 0).saturating_mul(b.into()))306 .saturating_add(T::DbWeight::get().reads(1_u64))307 .saturating_add(T::DbWeight::get().writes(1_u64))308 }309 /// Storage: Nonfungible TokenProperties (r:1 w:1)310 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)311 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)312 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)313 /// The range of component `b` is `[0, 64]`.314 fn set_token_properties(b: u32, ) -> Weight {315 // Proof Size summary in bytes:316 // Measured: `616 + b * (261 ±0)`317 // Estimated: `54480`318 // Minimum execution time: 12_543_000 picoseconds.319 Weight::from_parts(12_686_000, 54480)320 // Standard Error: 52_286321 .saturating_add(Weight::from_parts(6_894_785, 0).saturating_mul(b.into()))322 .saturating_add(T::DbWeight::get().reads(2_u64))323 .saturating_add(T::DbWeight::get().writes(1_u64))324 }325 /// Storage: Nonfungible TokenProperties (r:1 w:1)326 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)327 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)328 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)329 /// The range of component `b` is `[0, 64]`.330 fn delete_token_properties(b: u32, ) -> Weight {331 // Proof Size summary in bytes:332 // Measured: `653 + b * (33291 ±0)`333 // Estimated: `54480`334 // Minimum execution time: 12_352_000 picoseconds.335 Weight::from_parts(12_523_000, 54480)336 // Standard Error: 70_401337 .saturating_add(Weight::from_parts(21_959_228, 0).saturating_mul(b.into()))338 .saturating_add(T::DbWeight::get().reads(2_u64))339 .saturating_add(T::DbWeight::get().writes(1_u64))340 }341 /// Storage: Nonfungible TokenData (r:1 w:0)342 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)343 fn token_owner() -> Weight {344 // Proof Size summary in bytes:345 // Measured: `358`346 // Estimated: `2532`347 // Minimum execution time: 4_797_000 picoseconds.348 Weight::from_parts(5_499_000, 2532)349 .saturating_add(T::DbWeight::get().reads(1_u64))350 }351 /// Storage: Nonfungible CollectionAllowance (r:0 w:1)352 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)353 fn set_allowance_for_all() -> Weight {354 // Proof Size summary in bytes:355 // Measured: `0`356 // Estimated: `0`357 // Minimum execution time: 6_303_000 picoseconds.358 Weight::from_parts(6_712_000, 0)359 .saturating_add(T::DbWeight::get().writes(1_u64))360 }361 /// Storage: Nonfungible CollectionAllowance (r:1 w:0)362 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)363 fn allowance_for_all() -> Weight {364 // Proof Size summary in bytes:365 // Measured: `109`366 // Estimated: `2586`367 // Minimum execution time: 3_798_000 picoseconds.368 Weight::from_parts(4_017_000, 2586)369 .saturating_add(T::DbWeight::get().reads(1_u64))370 }371 /// Storage: Nonfungible TokenProperties (r:1 w:1)372 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)373 fn repair_item() -> Weight {374 // Proof Size summary in bytes:375 // Measured: `300`376 // Estimated: `35279`377 // Minimum execution time: 5_531_000 picoseconds.378 Weight::from_parts(5_750_000, 35279)379 .saturating_add(T::DbWeight::get().reads(1_u64))380 .saturating_add(T::DbWeight::get().writes(1_u64))381 }382}383384// For backwards compatibility and tests385impl WeightInfo for () {386 /// Storage: Nonfungible TokensMinted (r:1 w:1)387 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)388 /// Storage: Nonfungible AccountBalance (r:1 w:1)389 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)390 /// Storage: Nonfungible TokenProperties (r:1 w:1)391 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)392 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)393 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)394 /// Storage: Nonfungible TokenData (r:0 w:1)395 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)396 /// Storage: Nonfungible Owned (r:0 w:1)397 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)398 fn create_item() -> Weight {399 // Proof Size summary in bytes:400 // Measured: `390`401 // Estimated: `59511`402 // Minimum execution time: 23_081_000 picoseconds.403 Weight::from_parts(23_551_000, 59511)404 .saturating_add(RocksDbWeight::get().reads(4_u64))405 .saturating_add(RocksDbWeight::get().writes(5_u64))406 }407 /// Storage: Nonfungible TokensMinted (r:1 w:1)408 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)409 /// Storage: Nonfungible AccountBalance (r:1 w:1)410 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)411 /// Storage: Nonfungible TokenProperties (r:200 w:200)412 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)413 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)414 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)415 /// Storage: Nonfungible TokenData (r:0 w:200)416 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)417 /// Storage: Nonfungible Owned (r:0 w:200)418 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)419 /// The range of component `b` is `[0, 200]`.420 fn create_multiple_items(b: u32, ) -> Weight {421 // Proof Size summary in bytes:422 // Measured: `390`423 // Estimated: `24232 + b * (35279 ±0)`424 // Minimum execution time: 4_557_000 picoseconds.425 Weight::from_parts(5_994_058, 24232)426 // Standard Error: 4_326427 .saturating_add(Weight::from_parts(7_369_489, 0).saturating_mul(b.into()))428 .saturating_add(RocksDbWeight::get().reads(3_u64))429 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(b.into())))430 .saturating_add(RocksDbWeight::get().writes(2_u64))431 .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(b.into())))432 .saturating_add(Weight::from_parts(0, 35279).saturating_mul(b.into()))433 }434 /// Storage: Nonfungible TokensMinted (r:1 w:1)435 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)436 /// Storage: Nonfungible AccountBalance (r:200 w:200)437 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)438 /// Storage: Nonfungible TokenProperties (r:200 w:200)439 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)440 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)441 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)442 /// Storage: Nonfungible TokenData (r:0 w:200)443 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)444 /// Storage: Nonfungible Owned (r:0 w:200)445 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)446 /// The range of component `b` is `[0, 200]`.447 fn create_multiple_items_ex(b: u32, ) -> Weight {448 // Proof Size summary in bytes:449 // Measured: `390`450 // Estimated: `21692 + b * (37819 ±0)`451 // Minimum execution time: 4_533_000 picoseconds.452 Weight::from_parts(2_822_660, 21692)453 // Standard Error: 3_650454 .saturating_add(Weight::from_parts(9_100_706, 0).saturating_mul(b.into()))455 .saturating_add(RocksDbWeight::get().reads(2_u64))456 .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(b.into())))457 .saturating_add(RocksDbWeight::get().writes(1_u64))458 .saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(b.into())))459 .saturating_add(Weight::from_parts(0, 37819).saturating_mul(b.into()))460 }461 /// Storage: Nonfungible TokenData (r:1 w:1)462 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)463 /// Storage: Nonfungible TokenChildren (r:1 w:0)464 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)465 /// Storage: Nonfungible TokensBurnt (r:1 w:1)466 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)467 /// Storage: Nonfungible AccountBalance (r:1 w:1)468 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)469 /// Storage: Nonfungible Allowance (r:1 w:0)470 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)471 /// Storage: Nonfungible Owned (r:0 w:1)472 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)473 /// Storage: Nonfungible TokenProperties (r:0 w:1)474 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)475 fn burn_item() -> Weight {476 // Proof Size summary in bytes:477 // Measured: `412`478 // Estimated: `12611`479 // Minimum execution time: 23_528_000 picoseconds.480 Weight::from_parts(24_680_000, 12611)481 .saturating_add(RocksDbWeight::get().reads(5_u64))482 .saturating_add(RocksDbWeight::get().writes(5_u64))483 }484 /// Storage: Nonfungible TokenChildren (r:1 w:0)485 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)486 /// Storage: Nonfungible TokenData (r:1 w:1)487 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)488 /// Storage: Nonfungible TokensBurnt (r:1 w:1)489 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)490 /// Storage: Nonfungible AccountBalance (r:1 w:1)491 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)492 /// Storage: Nonfungible Allowance (r:1 w:0)493 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)494 /// Storage: Nonfungible Owned (r:0 w:1)495 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)496 /// Storage: Nonfungible TokenProperties (r:0 w:1)497 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)498 fn burn_recursively_self_raw() -> Weight {499 // Proof Size summary in bytes:500 // Measured: `412`501 // Estimated: `12611`502 // Minimum execution time: 29_770_000 picoseconds.503 Weight::from_parts(30_114_000, 12611)504 .saturating_add(RocksDbWeight::get().reads(5_u64))505 .saturating_add(RocksDbWeight::get().writes(5_u64))506 }507 /// Storage: Nonfungible TokenChildren (r:401 w:200)508 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)509 /// Storage: Common CollectionById (r:1 w:0)510 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)511 /// Storage: Nonfungible TokenData (r:201 w:201)512 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)513 /// Storage: Nonfungible TokensBurnt (r:1 w:1)514 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)515 /// Storage: Nonfungible AccountBalance (r:2 w:2)516 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)517 /// Storage: Nonfungible Allowance (r:201 w:0)518 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)519 /// Storage: Nonfungible Owned (r:0 w:201)520 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)521 /// Storage: Nonfungible TokenProperties (r:0 w:201)522 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)523 /// The range of component `b` is `[0, 200]`.524 fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {525 // Proof Size summary in bytes:526 // Measured: `1530 + b * (58 ±0)`527 // Estimated: `18290 + b * (10097 ±0)`528 // Minimum execution time: 31_413_000 picoseconds.529 Weight::from_parts(31_865_000, 18290)530 // Standard Error: 980_032531 .saturating_add(Weight::from_parts(205_236_443, 0).saturating_mul(b.into()))532 .saturating_add(RocksDbWeight::get().reads(7_u64))533 .saturating_add(RocksDbWeight::get().reads((4_u64).saturating_mul(b.into())))534 .saturating_add(RocksDbWeight::get().writes(6_u64))535 .saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(b.into())))536 .saturating_add(Weight::from_parts(0, 10097).saturating_mul(b.into()))537 }538 /// Storage: Nonfungible TokenData (r:1 w:1)539 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)540 /// Storage: Nonfungible AccountBalance (r:2 w:2)541 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)542 /// Storage: Nonfungible Allowance (r:1 w:0)543 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)544 /// Storage: Nonfungible Owned (r:0 w:2)545 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)546 fn transfer() -> Weight {547 // Proof Size summary in bytes:548 // Measured: `412`549 // Estimated: `10144`550 // Minimum execution time: 18_629_000 picoseconds.551 Weight::from_parts(18_997_000, 10144)552 .saturating_add(RocksDbWeight::get().reads(4_u64))553 .saturating_add(RocksDbWeight::get().writes(5_u64))554 }555 /// Storage: Nonfungible TokenData (r:1 w:0)556 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)557 /// Storage: Nonfungible Allowance (r:1 w:1)558 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)559 fn approve() -> Weight {560 // Proof Size summary in bytes:561 // Measured: `358`562 // Estimated: `5064`563 // Minimum execution time: 11_507_000 picoseconds.564 Weight::from_parts(11_771_000, 5064)565 .saturating_add(RocksDbWeight::get().reads(2_u64))566 .saturating_add(RocksDbWeight::get().writes(1_u64))567 }568 /// Storage: Nonfungible TokenData (r:1 w:0)569 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)570 /// Storage: Nonfungible Allowance (r:1 w:1)571 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)572 fn approve_from() -> Weight {573 // Proof Size summary in bytes:574 // Measured: `313`575 // Estimated: `5064`576 // Minimum execution time: 11_558_000 picoseconds.577 Weight::from_parts(11_789_000, 5064)578 .saturating_add(RocksDbWeight::get().reads(2_u64))579 .saturating_add(RocksDbWeight::get().writes(1_u64))580 }581 /// Storage: Nonfungible Allowance (r:1 w:1)582 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)583 /// Storage: Nonfungible TokenData (r:1 w:1)584 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)585 /// Storage: Nonfungible AccountBalance (r:2 w:2)586 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)587 /// Storage: Nonfungible Owned (r:0 w:2)588 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)589 fn transfer_from() -> Weight {590 // Proof Size summary in bytes:591 // Measured: `527`592 // Estimated: `10144`593 // Minimum execution time: 24_919_000 picoseconds.594 Weight::from_parts(25_333_000, 10144)595 .saturating_add(RocksDbWeight::get().reads(4_u64))596 .saturating_add(RocksDbWeight::get().writes(6_u64))597 }598 /// Storage: Nonfungible Allowance (r:1 w:1)599 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)600 /// Storage: Nonfungible TokenData (r:1 w:1)601 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)602 /// Storage: Nonfungible TokenChildren (r:1 w:0)603 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)604 /// Storage: Nonfungible TokensBurnt (r:1 w:1)605 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)606 /// Storage: Nonfungible AccountBalance (r:1 w:1)607 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)608 /// Storage: Nonfungible Owned (r:0 w:1)609 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)610 /// Storage: Nonfungible TokenProperties (r:0 w:1)611 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)612 fn burn_from() -> Weight {613 // Proof Size summary in bytes:614 // Measured: `527`615 // Estimated: `12611`616 // Minimum execution time: 30_713_000 picoseconds.617 Weight::from_parts(31_160_000, 12611)618 .saturating_add(RocksDbWeight::get().reads(5_u64))619 .saturating_add(RocksDbWeight::get().writes(6_u64))620 }621 /// Storage: Common CollectionPropertyPermissions (r:1 w:1)622 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)623 /// The range of component `b` is `[0, 64]`.624 fn set_token_property_permissions(b: u32, ) -> Weight {625 // Proof Size summary in bytes:626 // Measured: `281`627 // Estimated: `19201`628 // Minimum execution time: 2_360_000 picoseconds.629 Weight::from_parts(2_396_000, 19201)630 // Standard Error: 43_257631 .saturating_add(Weight::from_parts(12_085_808, 0).saturating_mul(b.into()))632 .saturating_add(RocksDbWeight::get().reads(1_u64))633 .saturating_add(RocksDbWeight::get().writes(1_u64))634 }635 /// Storage: Nonfungible TokenProperties (r:1 w:1)636 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)637 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)638 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)639 /// The range of component `b` is `[0, 64]`.640 fn set_token_properties(b: u32, ) -> Weight {641 // Proof Size summary in bytes:642 // Measured: `616 + b * (261 ±0)`643 // Estimated: `54480`644 // Minimum execution time: 12_543_000 picoseconds.645 Weight::from_parts(12_686_000, 54480)646 // Standard Error: 52_286647 .saturating_add(Weight::from_parts(6_894_785, 0).saturating_mul(b.into()))648 .saturating_add(RocksDbWeight::get().reads(2_u64))649 .saturating_add(RocksDbWeight::get().writes(1_u64))650 }651 /// Storage: Nonfungible TokenProperties (r:1 w:1)652 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)653 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)654 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)655 /// The range of component `b` is `[0, 64]`.656 fn delete_token_properties(b: u32, ) -> Weight {657 // Proof Size summary in bytes:658 // Measured: `653 + b * (33291 ±0)`659 // Estimated: `54480`660 // Minimum execution time: 12_352_000 picoseconds.661 Weight::from_parts(12_523_000, 54480)662 // Standard Error: 70_401663 .saturating_add(Weight::from_parts(21_959_228, 0).saturating_mul(b.into()))664 .saturating_add(RocksDbWeight::get().reads(2_u64))665 .saturating_add(RocksDbWeight::get().writes(1_u64))666 }667 /// Storage: Nonfungible TokenData (r:1 w:0)668 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)669 fn token_owner() -> Weight {670 // Proof Size summary in bytes:671 // Measured: `358`672 // Estimated: `2532`673 // Minimum execution time: 4_797_000 picoseconds.674 Weight::from_parts(5_499_000, 2532)675 .saturating_add(RocksDbWeight::get().reads(1_u64))676 }677 /// Storage: Nonfungible CollectionAllowance (r:0 w:1)678 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)679 fn set_allowance_for_all() -> Weight {680 // Proof Size summary in bytes:681 // Measured: `0`682 // Estimated: `0`683 // Minimum execution time: 6_303_000 picoseconds.684 Weight::from_parts(6_712_000, 0)685 .saturating_add(RocksDbWeight::get().writes(1_u64))686 }687 /// Storage: Nonfungible CollectionAllowance (r:1 w:0)688 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)689 fn allowance_for_all() -> Weight {690 // Proof Size summary in bytes:691 // Measured: `109`692 // Estimated: `2586`693 // Minimum execution time: 3_798_000 picoseconds.694 Weight::from_parts(4_017_000, 2586)695 .saturating_add(RocksDbWeight::get().reads(1_u64))696 }697 /// Storage: Nonfungible TokenProperties (r:1 w:1)698 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)699 fn repair_item() -> Weight {700 // Proof Size summary in bytes:701 // Measured: `300`702 // Estimated: `35279`703 // Minimum execution time: 5_531_000 picoseconds.704 Weight::from_parts(5_750_000, 35279)705 .saturating_add(RocksDbWeight::get().reads(1_u64))706 .saturating_add(RocksDbWeight::get().writes(1_u64))707 }708}709