difftreelog
Merge pull request #907 from UniqueNetwork/feature/nft-transfer-correct-weight
in: master
feat(weight): added benchs for decompose weight
23 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",
@@ -6558,7 +6558,7 @@
[[package]]
name = "pallet-fungible"
-version = "0.1.10"
+version = "0.1.11"
dependencies = [
"evm-coder",
"frame-benchmarking",
@@ -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,28 @@
<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);
+ };
+
+ 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,
+ )?;
+
+ assert_eq!(collection_handle.permissions.access(), AccessMode::AllowList);
+
+ }: {collection_handle.check_allowlist(&sender)?;}
}
pallets/common/src/helpers.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/common/src/helpers.rs
@@ -0,0 +1,30 @@
+//! # Helpers module
+//!
+//! The module contains helpers.
+//!
+use frame_support::{
+ pallet_prelude::DispatchResultWithPostInfo,
+ weights::Weight,
+ dispatch::{DispatchErrorWithPostInfo, PostDispatchInfo},
+};
+
+/// Add weight for a `DispatchResultWithPostInfo`
+///
+/// - `target`: DispatchResultWithPostInfo to which weight will be added
+/// - `additional_weight`: Weight to be added
+pub fn add_weight_to_post_info(target: &mut DispatchResultWithPostInfo, additional_weight: Weight) {
+ match target {
+ Ok(PostDispatchInfo {
+ actual_weight: Some(weight),
+ ..
+ })
+ | Err(DispatchErrorWithPostInfo {
+ post_info: PostDispatchInfo {
+ actual_weight: Some(weight),
+ ..
+ },
+ ..
+ }) => *weight += additional_weight,
+ _ => {}
+ }
+}
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -92,9 +92,9 @@
pub mod dispatch;
pub mod erc;
pub mod eth;
+pub mod helpers;
#[allow(missing_docs)]
pub mod weights;
-
/// Weight info.
pub type SelfWeightOf<T> = <T as Config>::WeightInfo;
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.
@@ -69,6 +70,16 @@
.saturating_add(T::DbWeight::get().reads(1_u64))
.saturating_add(T::DbWeight::get().writes(1_u64))
}
+ /// Storage: Common Allowlist (r:1 w:0)
+ /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)
+ fn check_accesslist() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `340`
+ // Estimated: `2545`
+ // Minimum execution time: 2_887_000 picoseconds.
+ Weight::from_parts(3_072_000, 2545)
+ .saturating_add(T::DbWeight::get().reads(1_u64))
+ }
}
// For backwards compatibility and tests
@@ -101,5 +112,15 @@
.saturating_add(RocksDbWeight::get().reads(1_u64))
.saturating_add(RocksDbWeight::get().writes(1_u64))
}
+ /// Storage: Common Allowlist (r:1 w:0)
+ /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)
+ fn check_accesslist() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `340`
+ // Estimated: `2545`
+ // Minimum execution time: 2_887_000 picoseconds.
+ Weight::from_parts(3_072_000, 2545)
+ .saturating_add(RocksDbWeight::get().reads(1_u64))
+ }
}
pallets/foreign-assets/src/impl_fungibles.rsdiffbeforeafterboth--- a/pallets/foreign-assets/src/impl_fungibles.rs
+++ b/pallets/foreign-assets/src/impl_fungibles.rs
@@ -452,7 +452,8 @@
&T::CrossAccountId::from_sub(dest.clone()),
amount.into(),
&Value::new(0),
- )?;
+ )
+ .map_err(|e| e.error)?;
Ok(amount)
}
pallets/fungible/CHANGELOG.mddiffbeforeafterboth--- a/pallets/fungible/CHANGELOG.md
+++ b/pallets/fungible/CHANGELOG.md
@@ -4,6 +4,12 @@
<!-- bureaucrate goes here -->
+## [0.1.11] - 2023-03-28
+
+### Fixed
+
+- The weight of `transfer` and `transfer_from`.
+
## [0.1.10] - 2023-02-01
### Added
pallets/fungible/Cargo.tomldiffbeforeafterboth--- a/pallets/fungible/Cargo.toml
+++ b/pallets/fungible/Cargo.toml
@@ -2,7 +2,7 @@
edition = "2021"
license = "GPLv3"
name = "pallet-fungible"
-version = "0.1.10"
+version = "0.1.11"
[dependencies]
# Note: `package = "parity-scale-codec"` must be supplied since the `Encode` macro searches for it.
pallets/fungible/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/fungible/src/benchmarking.rs
+++ b/pallets/fungible/src/benchmarking.rs
@@ -66,7 +66,7 @@
<Pallet<T>>::create_item(&collection, &owner, (burner.clone(), 200), &Unlimited)?;
}: {<Pallet<T>>::burn(&collection, &burner, 100)?}
- transfer {
+ transfer_raw {
bench_init!{
owner: sub; collection: collection(owner);
owner: cross_from_sub; sender: cross_sub; to: cross_sub;
@@ -92,14 +92,22 @@
<Pallet<T>>::create_item(&collection, &owner, (owner_eth.clone(), 200), &Unlimited)?;
}: {<Pallet<T>>::set_allowance_from(&collection, &sender, &owner_eth, &spender, 100)?}
- transfer_from {
+ check_allowed_raw {
bench_init!{
owner: sub; collection: collection(owner);
- owner: cross_from_sub; sender: cross_sub; spender: cross_sub; receiver: cross_sub;
+ owner: cross_from_sub; sender: cross_sub; spender: cross_sub;
};
<Pallet<T>>::create_item(&collection, &owner, (sender.clone(), 200), &Unlimited)?;
<Pallet<T>>::set_allowance(&collection, &sender, &spender, 200)?;
- }: {<Pallet<T>>::transfer_from(&collection, &spender, &sender, &receiver, 100, &Unlimited)?}
+ }: {<Pallet<T>>::check_allowed(&collection, &spender, &sender, 200, &Unlimited)?;}
+
+ set_allowance_unchecked_raw {
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ owner: cross_from_sub; sender: cross_sub; spender: cross_sub;
+ };
+ <Pallet<T>>::create_item(&collection, &owner, (sender.clone(), 200), &Unlimited)?;
+ }: {<Pallet<T>>::set_allowance_unchecked(&collection, &sender, &spender, 200);}
burn_from {
bench_init!{
pallets/fungible/src/common.rsdiffbeforeafterboth--- a/pallets/fungible/src/common.rs
+++ b/pallets/fungible/src/common.rs
@@ -22,7 +22,7 @@
};
use pallet_common::{
CommonCollectionOperations, CommonWeightInfo, RefungibleExtensions, with_weight,
- weights::WeightInfo as _,
+ weights::WeightInfo as _, SelfWeightOf as PalletCommonWeightOf,
};
use pallet_structure::Error as StructureError;
use sp_runtime::ArithmeticError;
@@ -78,7 +78,7 @@
}
fn transfer() -> Weight {
- <SelfWeightOf<T>>::transfer()
+ <SelfWeightOf<T>>::transfer_raw() + <PalletCommonWeightOf<T>>::check_accesslist() * 2
}
fn approve() -> Weight {
@@ -90,7 +90,9 @@
}
fn transfer_from() -> Weight {
- <SelfWeightOf<T>>::transfer_from()
+ Self::transfer()
+ + <SelfWeightOf<T>>::check_allowed_raw()
+ + <SelfWeightOf<T>>::set_allowance_unchecked_raw()
}
fn burn_from() -> Weight {
@@ -232,10 +234,7 @@
<Error<T>>::FungibleItemsHaveNoId
);
- with_weight(
- <Pallet<T>>::transfer(self, &from, &to, amount, nesting_budget),
- <CommonWeights<T>>::transfer(),
- )
+ <Pallet<T>>::transfer(self, &from, &to, amount, nesting_budget)
}
fn approve(
@@ -289,10 +288,7 @@
<Error<T>>::FungibleItemsHaveNoId
);
- with_weight(
- <Pallet<T>>::transfer_from(self, &sender, &from, &to, amount, nesting_budget),
- <CommonWeights<T>>::transfer_from(),
- )
+ <Pallet<T>>::transfer_from(self, &sender, &from, &to, amount, nesting_budget)
}
fn burn_from(
pallets/fungible/src/erc.rsdiffbeforeafterboth--- a/pallets/fungible/src/erc.rs
+++ b/pallets/fungible/src/erc.rs
@@ -26,6 +26,7 @@
CollectionHandle,
erc::{CommonEvmHandler, PrecompileResult, CollectionCall},
eth::CrossAddress,
+ CommonWeightInfo as _,
};
use sp_std::vec::Vec;
use pallet_evm::{account::CrossAccountId, PrecompileHandle};
@@ -39,7 +40,7 @@
use crate::{
Allowance, Balance, Config, FungibleHandle, Pallet, TotalSupply, SelfWeightOf,
- weights::WeightInfo,
+ weights::WeightInfo, common::CommonWeights,
};
frontier_contract! {
@@ -99,7 +100,7 @@
let balance = <Balance<T>>::get((self.id, owner));
Ok(balance.into())
}
- #[weight(<SelfWeightOf<T>>::transfer())]
+ #[weight(<CommonWeights<T>>::transfer())]
fn transfer(&mut self, caller: Caller, to: Address, amount: U256) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let to = T::CrossAccountId::from_eth(to);
@@ -112,7 +113,7 @@
Ok(true)
}
- #[weight(<SelfWeightOf<T>>::transfer_from())]
+ #[weight(<CommonWeights<T>>::transfer_from())]
fn transfer_from(
&mut self,
caller: Caller,
@@ -129,7 +130,7 @@
.weight_calls_budget(<StructureWeight<T>>::find_parent());
<Pallet<T>>::transfer_from(self, &caller, &from, &to, amount, &budget)
- .map_err(dispatch_to_evm::<T>)?;
+ .map_err(|e| dispatch_to_evm::<T>(e.error))?;
Ok(true)
}
#[weight(<SelfWeightOf<T>>::approve())]
@@ -201,7 +202,7 @@
let budget = self
.recorder
.weight_calls_budget(<StructureWeight<T>>::find_parent());
- <Pallet<T>>::create_item(&self, &caller, (to, amount), &budget)
+ <Pallet<T>>::create_item(self, &caller, (to, amount), &budget)
.map_err(dispatch_to_evm::<T>)?;
Ok(true)
}
@@ -289,7 +290,7 @@
Ok(true)
}
- #[weight(<SelfWeightOf<T>>::transfer())]
+ #[weight(<CommonWeights<T>>::transfer())]
fn transfer_cross(&mut self, caller: Caller, to: CrossAddress, amount: U256) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let to = to.into_sub_cross_account::<T>()?;
@@ -302,7 +303,7 @@
Ok(true)
}
- #[weight(<SelfWeightOf<T>>::transfer_from())]
+ #[weight(<CommonWeights<T>>::transfer_from())]
fn transfer_from_cross(
&mut self,
caller: Caller,
@@ -319,7 +320,7 @@
.weight_calls_budget(<StructureWeight<T>>::find_parent());
<Pallet<T>>::transfer_from(self, &caller, &from, &to, amount, &budget)
- .map_err(dispatch_to_evm::<T>)?;
+ .map_err(|e| dispatch_to_evm::<T>(e.error))?;
Ok(true)
}
pallets/fungible/src/lib.rsdiffbeforeafterboth--- a/pallets/fungible/src/lib.rs
+++ b/pallets/fungible/src/lib.rs
@@ -80,7 +80,11 @@
use core::ops::Deref;
use evm_coder::ToLog;
-use frame_support::ensure;
+use frame_support::{
+ ensure,
+ pallet_prelude::{DispatchResultWithPostInfo, Pays},
+ dispatch::PostDispatchInfo,
+};
use pallet_evm::account::CrossAccountId;
use up_data_structs::{
AccessMode, CollectionId, CollectionFlags, TokenId, CreateCollectionData,
@@ -88,7 +92,8 @@
};
use pallet_common::{
Error as CommonError, Event as CommonEvent, Pallet as PalletCommon,
- eth::collection_id_to_address,
+ eth::collection_id_to_address, SelfWeightOf as PalletCommonWeightOf,
+ weights::WeightInfo as CommonWeightInfo, helpers::add_weight_to_post_info,
};
use pallet_evm::Pallet as PalletEvm;
use pallet_structure::Pallet as PalletStructure;
@@ -96,7 +101,7 @@
use sp_core::H160;
use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
use sp_std::{collections::btree_map::BTreeMap, vec::Vec};
-
+use weights::WeightInfo;
pub use pallet::*;
use crate::erc::ERC20Events;
@@ -389,18 +394,20 @@
to: &T::CrossAccountId,
amount: u128,
nesting_budget: &dyn Budget,
- ) -> DispatchResult {
+ ) -> DispatchResultWithPostInfo {
ensure!(
collection.limits.transfers_enabled(),
<CommonError<T>>::TransferNotAllowed,
);
+ let mut actual_weight = <SelfWeightOf<T>>::transfer_raw();
+
if collection.permissions.access() == AccessMode::AllowList {
collection.check_allowlist(from)?;
collection.check_allowlist(to)?;
+ actual_weight += <PalletCommonWeightOf<T>>::check_accesslist() * 2;
}
<PalletCommon<T>>::ensure_correct_receiver(to)?;
-
let balance_from = <Balance<T>>::get((collection.id, from))
.checked_sub(amount)
.ok_or(<CommonError<T>>::TokenValueTooLow)?;
@@ -451,7 +458,11 @@
to.clone(),
amount,
));
- Ok(())
+
+ Ok(PostDispatchInfo {
+ actual_weight: Some(actual_weight),
+ pays_fee: Pays::Yes,
+ })
}
/// Minting tokens for multiple IDs.
@@ -464,8 +475,8 @@
nesting_budget: &dyn Budget,
) -> DispatchResult {
let total_supply = data
- .iter()
- .map(|(_, v)| *v)
+ .values()
+ .copied()
.try_fold(<TotalSupply<T>>::get(collection.id), |acc, v| {
acc.checked_add(v)
})
@@ -718,7 +729,6 @@
/// Same as the [`transfer`][`Pallet::transfer`] but spender doesn't needs to be an owner of the token pieces.
/// The owner should set allowance for the spender to transfer pieces.
/// See [`set_allowance`][`Pallet::set_allowance`] for more details.
-
pub fn transfer_from(
collection: &FungibleHandle<T>,
spender: &T::CrossAccountId,
@@ -726,16 +736,23 @@
to: &T::CrossAccountId,
amount: u128,
nesting_budget: &dyn Budget,
- ) -> DispatchResult {
+ ) -> DispatchResultWithPostInfo {
let allowance = Self::check_allowed(collection, spender, from, amount, nesting_budget)?;
// =========
- Self::transfer(collection, from, to, amount, nesting_budget)?;
+ let mut result = Self::transfer(collection, from, to, amount, nesting_budget);
+ add_weight_to_post_info(&mut result, <SelfWeightOf<T>>::check_allowed_raw());
+ result?;
+
if let Some(allowance) = allowance {
Self::set_allowance_unchecked(collection, from, spender, allowance);
+ add_weight_to_post_info(
+ &mut result,
+ <SelfWeightOf<T>>::set_allowance_unchecked_raw(),
+ )
}
- Ok(())
+ result
}
/// Burn fungible tokens from the account.
pallets/fungible/src/weights.rsdiffbeforeafterboth--- a/pallets/fungible/src/weights.rs
+++ b/pallets/fungible/src/weights.rs
@@ -37,10 +37,11 @@
fn create_item() -> Weight;
fn create_multiple_items_ex(b: u32, ) -> Weight;
fn burn_item() -> Weight;
- fn transfer() -> Weight;
+ fn transfer_raw() -> Weight;
fn approve() -> Weight;
fn approve_from() -> Weight;
- fn transfer_from() -> Weight;
+ fn check_allowed_raw() -> Weight;
+ fn set_allowance_unchecked_raw() -> Weight;
fn burn_from() -> Weight;
}
@@ -94,12 +95,12 @@
}
/// Storage: Fungible Balance (r:2 w:2)
/// Proof: Fungible Balance (max_values: None, max_size: Some(77), added: 2552, mode: MaxEncodedLen)
- fn transfer() -> Weight {
+ fn transfer_raw() -> Weight {
// Proof Size summary in bytes:
// Measured: `182`
// Estimated: `5104`
- // Minimum execution time: 13_832_000 picoseconds.
- Weight::from_parts(14_064_000, 5104)
+ // Minimum execution time: 6_678_000 picoseconds.
+ Weight::from_parts(7_151_000, 5104)
.saturating_add(T::DbWeight::get().reads(2_u64))
.saturating_add(T::DbWeight::get().writes(2_u64))
}
@@ -129,19 +130,26 @@
.saturating_add(T::DbWeight::get().reads(1_u64))
.saturating_add(T::DbWeight::get().writes(1_u64))
}
- /// Storage: Fungible Allowance (r:1 w:1)
+ /// Storage: Fungible Allowance (r:1 w:0)
/// Proof: Fungible Allowance (max_values: None, max_size: Some(93), added: 2568, mode: MaxEncodedLen)
- /// Storage: Fungible Balance (r:2 w:2)
- /// Proof: Fungible Balance (max_values: None, max_size: Some(77), added: 2552, mode: MaxEncodedLen)
- fn transfer_from() -> Weight {
+ fn check_allowed_raw() -> Weight {
// Proof Size summary in bytes:
- // Measured: `300`
- // Estimated: `7672`
- // Minimum execution time: 21_667_000 picoseconds.
- Weight::from_parts(22_166_000, 7672)
- .saturating_add(T::DbWeight::get().reads(3_u64))
- .saturating_add(T::DbWeight::get().writes(3_u64))
+ // Measured: `210`
+ // Estimated: `2568`
+ // Minimum execution time: 2_842_000 picoseconds.
+ Weight::from_parts(3_077_000, 2568)
+ .saturating_add(T::DbWeight::get().reads(1_u64))
}
+ /// Storage: Fungible Allowance (r:0 w:1)
+ /// Proof: Fungible Allowance (max_values: None, max_size: Some(93), added: 2568, mode: MaxEncodedLen)
+ fn set_allowance_unchecked_raw() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 2_532_000 picoseconds.
+ Weight::from_parts(2_680_000, 0)
+ .saturating_add(T::DbWeight::get().writes(1_u64))
+ }
/// Storage: Fungible Allowance (r:1 w:1)
/// Proof: Fungible Allowance (max_values: None, max_size: Some(93), added: 2568, mode: MaxEncodedLen)
/// Storage: Fungible TotalSupply (r:1 w:1)
@@ -208,12 +216,12 @@
}
/// Storage: Fungible Balance (r:2 w:2)
/// Proof: Fungible Balance (max_values: None, max_size: Some(77), added: 2552, mode: MaxEncodedLen)
- fn transfer() -> Weight {
+ fn transfer_raw() -> Weight {
// Proof Size summary in bytes:
// Measured: `182`
// Estimated: `5104`
- // Minimum execution time: 13_832_000 picoseconds.
- Weight::from_parts(14_064_000, 5104)
+ // Minimum execution time: 6_678_000 picoseconds.
+ Weight::from_parts(7_151_000, 5104)
.saturating_add(RocksDbWeight::get().reads(2_u64))
.saturating_add(RocksDbWeight::get().writes(2_u64))
}
@@ -243,18 +251,25 @@
.saturating_add(RocksDbWeight::get().reads(1_u64))
.saturating_add(RocksDbWeight::get().writes(1_u64))
}
- /// Storage: Fungible Allowance (r:1 w:1)
+ /// Storage: Fungible Allowance (r:1 w:0)
/// Proof: Fungible Allowance (max_values: None, max_size: Some(93), added: 2568, mode: MaxEncodedLen)
- /// Storage: Fungible Balance (r:2 w:2)
- /// Proof: Fungible Balance (max_values: None, max_size: Some(77), added: 2552, mode: MaxEncodedLen)
- fn transfer_from() -> Weight {
+ fn check_allowed_raw() -> Weight {
// Proof Size summary in bytes:
- // Measured: `300`
- // Estimated: `7672`
- // Minimum execution time: 21_667_000 picoseconds.
- Weight::from_parts(22_166_000, 7672)
- .saturating_add(RocksDbWeight::get().reads(3_u64))
- .saturating_add(RocksDbWeight::get().writes(3_u64))
+ // Measured: `210`
+ // Estimated: `2568`
+ // Minimum execution time: 2_842_000 picoseconds.
+ Weight::from_parts(3_077_000, 2568)
+ .saturating_add(RocksDbWeight::get().reads(1_u64))
+ }
+ /// Storage: Fungible Allowance (r:0 w:1)
+ /// Proof: Fungible Allowance (max_values: None, max_size: Some(93), added: 2568, mode: MaxEncodedLen)
+ fn set_allowance_unchecked_raw() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 2_532_000 picoseconds.
+ Weight::from_parts(2_680_000, 0)
+ .saturating_add(RocksDbWeight::get().writes(1_u64))
}
/// Storage: Fungible Allowance (r:1 w:1)
/// Proof: Fungible Allowance (max_values: None, max_size: Some(93), added: 2568, mode: MaxEncodedLen)
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
@@ -121,7 +121,7 @@
}
}: {<Pallet<T>>::burn_recursively(&collection, &burner, item, &Unlimited, &Unlimited)?}
- transfer {
+ transfer_raw {
bench_init!{
owner: sub; collection: collection(owner);
owner: cross_from_sub; sender: cross_sub; receiver: cross_sub;
@@ -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 {
+ check_allowed_raw {
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_raw() + <PalletCommonWeightOf<T>>::check_accesslist() * 2
}
fn approve() -> Weight {
@@ -103,7 +103,7 @@
}
fn transfer_from() -> Weight {
- <SelfWeightOf<T>>::transfer_from()
+ Self::transfer() + <SelfWeightOf<T>>::check_allowed_raw()
}
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, helpers::add_weight_to_post_info,
};
use pallet_structure::{Pallet as PalletStructure, Error as StructureError};
use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
@@ -802,12 +803,13 @@
to: &T::CrossAccountId,
token: TokenId,
nesting_budget: &dyn Budget,
- ) -> DispatchResult {
+ ) -> DispatchResultWithPostInfo {
ensure!(
collection.limits.transfers_enabled(),
<CommonError<T>>::TransferNotAllowed
);
+ let mut actual_weight = <SelfWeightOf<T>>::transfer_raw();
let token_data =
<TokenData<T>>::get((collection.id, token)).ok_or(<CommonError<T>>::TokenNotFound)?;
ensure!(&token_data.owner == from, <CommonError<T>>::NoPermission);
@@ -815,6 +817,7 @@
if collection.permissions.access() == AccessMode::AllowList {
collection.check_allowlist(from)?;
collection.check_allowlist(to)?;
+ actual_weight += <PalletCommonWeightOf<T>>::check_accesslist() * 2;
}
<PalletCommon<T>>::ensure_correct_receiver(to)?;
@@ -884,7 +887,11 @@
to.clone(),
1,
));
- Ok(())
+
+ Ok(PostDispatchInfo {
+ actual_weight: Some(actual_weight),
+ pays_fee: Pays::Yes,
+ })
}
/// Batch operation to mint multiple NFT tokens.
@@ -1228,13 +1235,15 @@
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)
+ let mut result = Self::transfer(collection, from, to, token, nesting_budget);
+ add_weight_to_post_info(&mut result, <SelfWeightOf<T>>::check_allowed_raw());
+ result
}
/// 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}7091// 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_raw() -> Weight;44 fn approve() -> Weight;45 fn approve_from() -> Weight;46 fn check_allowed_raw() -> 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_raw() -> Weight {221 // Proof Size summary in bytes:222 // Measured: `412`223 // Estimated: `10144`224 // Minimum execution time: 9_307_000 picoseconds.225 Weight::from_parts(10_108_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:0)256 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)257 fn check_allowed_raw() -> Weight {258 // Proof Size summary in bytes:259 // Measured: `394`260 // Estimated: `2532`261 // Minimum execution time: 2_668_000 picoseconds.262 Weight::from_parts(2_877_000, 2532)263 .saturating_add(T::DbWeight::get().reads(1_u64))264 }265 /// Storage: Nonfungible Allowance (r:1 w:1)266 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)267 /// Storage: Nonfungible TokenData (r:1 w:1)268 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)269 /// Storage: Nonfungible TokenChildren (r:1 w:0)270 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)271 /// Storage: Nonfungible TokensBurnt (r:1 w:1)272 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)273 /// Storage: Nonfungible AccountBalance (r:1 w:1)274 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)275 /// Storage: Nonfungible Owned (r:0 w:1)276 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)277 /// Storage: Nonfungible TokenProperties (r:0 w:1)278 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)279 fn burn_from() -> Weight {280 // Proof Size summary in bytes:281 // Measured: `527`282 // Estimated: `12611`283 // Minimum execution time: 30_713_000 picoseconds.284 Weight::from_parts(31_160_000, 12611)285 .saturating_add(T::DbWeight::get().reads(5_u64))286 .saturating_add(T::DbWeight::get().writes(6_u64))287 }288 /// Storage: Common CollectionPropertyPermissions (r:1 w:1)289 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)290 /// The range of component `b` is `[0, 64]`.291 fn set_token_property_permissions(b: u32, ) -> Weight {292 // Proof Size summary in bytes:293 // Measured: `281`294 // Estimated: `19201`295 // Minimum execution time: 2_360_000 picoseconds.296 Weight::from_parts(2_396_000, 19201)297 // Standard Error: 43_257298 .saturating_add(Weight::from_parts(12_085_808, 0).saturating_mul(b.into()))299 .saturating_add(T::DbWeight::get().reads(1_u64))300 .saturating_add(T::DbWeight::get().writes(1_u64))301 }302 /// Storage: Nonfungible TokenProperties (r:1 w:1)303 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)304 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)305 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)306 /// The range of component `b` is `[0, 64]`.307 fn set_token_properties(b: u32, ) -> Weight {308 // Proof Size summary in bytes:309 // Measured: `616 + b * (261 ±0)`310 // Estimated: `54480`311 // Minimum execution time: 12_543_000 picoseconds.312 Weight::from_parts(12_686_000, 54480)313 // Standard Error: 52_286314 .saturating_add(Weight::from_parts(6_894_785, 0).saturating_mul(b.into()))315 .saturating_add(T::DbWeight::get().reads(2_u64))316 .saturating_add(T::DbWeight::get().writes(1_u64))317 }318 /// Storage: Nonfungible TokenProperties (r:1 w:1)319 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)320 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)321 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)322 /// The range of component `b` is `[0, 64]`.323 fn delete_token_properties(b: u32, ) -> Weight {324 // Proof Size summary in bytes:325 // Measured: `653 + b * (33291 ±0)`326 // Estimated: `54480`327 // Minimum execution time: 12_352_000 picoseconds.328 Weight::from_parts(12_523_000, 54480)329 // Standard Error: 70_401330 .saturating_add(Weight::from_parts(21_959_228, 0).saturating_mul(b.into()))331 .saturating_add(T::DbWeight::get().reads(2_u64))332 .saturating_add(T::DbWeight::get().writes(1_u64))333 }334 /// Storage: Nonfungible TokenData (r:1 w:0)335 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)336 fn token_owner() -> Weight {337 // Proof Size summary in bytes:338 // Measured: `358`339 // Estimated: `2532`340 // Minimum execution time: 4_797_000 picoseconds.341 Weight::from_parts(5_499_000, 2532)342 .saturating_add(T::DbWeight::get().reads(1_u64))343 }344 /// Storage: Nonfungible CollectionAllowance (r:0 w:1)345 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)346 fn set_allowance_for_all() -> Weight {347 // Proof Size summary in bytes:348 // Measured: `0`349 // Estimated: `0`350 // Minimum execution time: 6_303_000 picoseconds.351 Weight::from_parts(6_712_000, 0)352 .saturating_add(T::DbWeight::get().writes(1_u64))353 }354 /// Storage: Nonfungible CollectionAllowance (r:1 w:0)355 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)356 fn allowance_for_all() -> Weight {357 // Proof Size summary in bytes:358 // Measured: `109`359 // Estimated: `2586`360 // Minimum execution time: 3_798_000 picoseconds.361 Weight::from_parts(4_017_000, 2586)362 .saturating_add(T::DbWeight::get().reads(1_u64))363 }364 /// Storage: Nonfungible TokenProperties (r:1 w:1)365 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)366 fn repair_item() -> Weight {367 // Proof Size summary in bytes:368 // Measured: `300`369 // Estimated: `35279`370 // Minimum execution time: 5_531_000 picoseconds.371 Weight::from_parts(5_750_000, 35279)372 .saturating_add(T::DbWeight::get().reads(1_u64))373 .saturating_add(T::DbWeight::get().writes(1_u64))374 }375}376377// For backwards compatibility and tests378impl WeightInfo for () {379 /// Storage: Nonfungible TokensMinted (r:1 w:1)380 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)381 /// Storage: Nonfungible AccountBalance (r:1 w:1)382 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)383 /// Storage: Nonfungible TokenProperties (r:1 w:1)384 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)385 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)386 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)387 /// Storage: Nonfungible TokenData (r:0 w:1)388 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)389 /// Storage: Nonfungible Owned (r:0 w:1)390 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)391 fn create_item() -> Weight {392 // Proof Size summary in bytes:393 // Measured: `390`394 // Estimated: `59511`395 // Minimum execution time: 23_081_000 picoseconds.396 Weight::from_parts(23_551_000, 59511)397 .saturating_add(RocksDbWeight::get().reads(4_u64))398 .saturating_add(RocksDbWeight::get().writes(5_u64))399 }400 /// Storage: Nonfungible TokensMinted (r:1 w:1)401 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)402 /// Storage: Nonfungible AccountBalance (r:1 w:1)403 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)404 /// Storage: Nonfungible TokenProperties (r:200 w:200)405 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)406 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)407 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)408 /// Storage: Nonfungible TokenData (r:0 w:200)409 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)410 /// Storage: Nonfungible Owned (r:0 w:200)411 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)412 /// The range of component `b` is `[0, 200]`.413 fn create_multiple_items(b: u32, ) -> Weight {414 // Proof Size summary in bytes:415 // Measured: `390`416 // Estimated: `24232 + b * (35279 ±0)`417 // Minimum execution time: 4_557_000 picoseconds.418 Weight::from_parts(5_994_058, 24232)419 // Standard Error: 4_326420 .saturating_add(Weight::from_parts(7_369_489, 0).saturating_mul(b.into()))421 .saturating_add(RocksDbWeight::get().reads(3_u64))422 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(b.into())))423 .saturating_add(RocksDbWeight::get().writes(2_u64))424 .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(b.into())))425 .saturating_add(Weight::from_parts(0, 35279).saturating_mul(b.into()))426 }427 /// Storage: Nonfungible TokensMinted (r:1 w:1)428 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)429 /// Storage: Nonfungible AccountBalance (r:200 w:200)430 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)431 /// Storage: Nonfungible TokenProperties (r:200 w:200)432 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)433 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)434 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)435 /// Storage: Nonfungible TokenData (r:0 w:200)436 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)437 /// Storage: Nonfungible Owned (r:0 w:200)438 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)439 /// The range of component `b` is `[0, 200]`.440 fn create_multiple_items_ex(b: u32, ) -> Weight {441 // Proof Size summary in bytes:442 // Measured: `390`443 // Estimated: `21692 + b * (37819 ±0)`444 // Minimum execution time: 4_533_000 picoseconds.445 Weight::from_parts(2_822_660, 21692)446 // Standard Error: 3_650447 .saturating_add(Weight::from_parts(9_100_706, 0).saturating_mul(b.into()))448 .saturating_add(RocksDbWeight::get().reads(2_u64))449 .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(b.into())))450 .saturating_add(RocksDbWeight::get().writes(1_u64))451 .saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(b.into())))452 .saturating_add(Weight::from_parts(0, 37819).saturating_mul(b.into()))453 }454 /// Storage: Nonfungible TokenData (r:1 w:1)455 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)456 /// Storage: Nonfungible TokenChildren (r:1 w:0)457 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)458 /// Storage: Nonfungible TokensBurnt (r:1 w:1)459 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)460 /// Storage: Nonfungible AccountBalance (r:1 w:1)461 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)462 /// Storage: Nonfungible Allowance (r:1 w:0)463 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)464 /// Storage: Nonfungible Owned (r:0 w:1)465 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)466 /// Storage: Nonfungible TokenProperties (r:0 w:1)467 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)468 fn burn_item() -> Weight {469 // Proof Size summary in bytes:470 // Measured: `412`471 // Estimated: `12611`472 // Minimum execution time: 23_528_000 picoseconds.473 Weight::from_parts(24_680_000, 12611)474 .saturating_add(RocksDbWeight::get().reads(5_u64))475 .saturating_add(RocksDbWeight::get().writes(5_u64))476 }477 /// Storage: Nonfungible TokenChildren (r:1 w:0)478 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)479 /// Storage: Nonfungible TokenData (r:1 w:1)480 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)481 /// Storage: Nonfungible TokensBurnt (r:1 w:1)482 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)483 /// Storage: Nonfungible AccountBalance (r:1 w:1)484 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)485 /// Storage: Nonfungible Allowance (r:1 w:0)486 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)487 /// Storage: Nonfungible Owned (r:0 w:1)488 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)489 /// Storage: Nonfungible TokenProperties (r:0 w:1)490 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)491 fn burn_recursively_self_raw() -> Weight {492 // Proof Size summary in bytes:493 // Measured: `412`494 // Estimated: `12611`495 // Minimum execution time: 29_770_000 picoseconds.496 Weight::from_parts(30_114_000, 12611)497 .saturating_add(RocksDbWeight::get().reads(5_u64))498 .saturating_add(RocksDbWeight::get().writes(5_u64))499 }500 /// Storage: Nonfungible TokenChildren (r:401 w:200)501 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)502 /// Storage: Common CollectionById (r:1 w:0)503 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)504 /// Storage: Nonfungible TokenData (r:201 w:201)505 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)506 /// Storage: Nonfungible TokensBurnt (r:1 w:1)507 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)508 /// Storage: Nonfungible AccountBalance (r:2 w:2)509 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)510 /// Storage: Nonfungible Allowance (r:201 w:0)511 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)512 /// Storage: Nonfungible Owned (r:0 w:201)513 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)514 /// Storage: Nonfungible TokenProperties (r:0 w:201)515 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)516 /// The range of component `b` is `[0, 200]`.517 fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {518 // Proof Size summary in bytes:519 // Measured: `1530 + b * (58 ±0)`520 // Estimated: `18290 + b * (10097 ±0)`521 // Minimum execution time: 31_413_000 picoseconds.522 Weight::from_parts(31_865_000, 18290)523 // Standard Error: 980_032524 .saturating_add(Weight::from_parts(205_236_443, 0).saturating_mul(b.into()))525 .saturating_add(RocksDbWeight::get().reads(7_u64))526 .saturating_add(RocksDbWeight::get().reads((4_u64).saturating_mul(b.into())))527 .saturating_add(RocksDbWeight::get().writes(6_u64))528 .saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(b.into())))529 .saturating_add(Weight::from_parts(0, 10097).saturating_mul(b.into()))530 }531 /// Storage: Nonfungible TokenData (r:1 w:1)532 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)533 /// Storage: Nonfungible AccountBalance (r:2 w:2)534 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)535 /// Storage: Nonfungible Allowance (r:1 w:0)536 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)537 /// Storage: Nonfungible Owned (r:0 w:2)538 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)539 fn transfer_raw() -> Weight {540 // Proof Size summary in bytes:541 // Measured: `412`542 // Estimated: `10144`543 // Minimum execution time: 9_307_000 picoseconds.544 Weight::from_parts(10_108_000, 10144)545 .saturating_add(RocksDbWeight::get().reads(4_u64))546 .saturating_add(RocksDbWeight::get().writes(5_u64))547 }548 /// Storage: Nonfungible TokenData (r:1 w:0)549 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)550 /// Storage: Nonfungible Allowance (r:1 w:1)551 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)552 fn approve() -> Weight {553 // Proof Size summary in bytes:554 // Measured: `358`555 // Estimated: `5064`556 // Minimum execution time: 11_507_000 picoseconds.557 Weight::from_parts(11_771_000, 5064)558 .saturating_add(RocksDbWeight::get().reads(2_u64))559 .saturating_add(RocksDbWeight::get().writes(1_u64))560 }561 /// Storage: Nonfungible TokenData (r:1 w:0)562 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)563 /// Storage: Nonfungible Allowance (r:1 w:1)564 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)565 fn approve_from() -> Weight {566 // Proof Size summary in bytes:567 // Measured: `313`568 // Estimated: `5064`569 // Minimum execution time: 11_558_000 picoseconds.570 Weight::from_parts(11_789_000, 5064)571 .saturating_add(RocksDbWeight::get().reads(2_u64))572 .saturating_add(RocksDbWeight::get().writes(1_u64))573 }574 /// Storage: Nonfungible Allowance (r:1 w:0)575 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)576 fn check_allowed_raw() -> Weight {577 // Proof Size summary in bytes:578 // Measured: `394`579 // Estimated: `2532`580 // Minimum execution time: 2_668_000 picoseconds.581 Weight::from_parts(2_877_000, 2532)582 .saturating_add(RocksDbWeight::get().reads(1_u64))583 }584 /// Storage: Nonfungible Allowance (r:1 w:1)585 /// Proof: Nonfungible Allowance (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)586 /// Storage: Nonfungible TokenData (r:1 w:1)587 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)588 /// Storage: Nonfungible TokenChildren (r:1 w:0)589 /// Proof: Nonfungible TokenChildren (max_values: None, max_size: Some(41), added: 2516, mode: MaxEncodedLen)590 /// Storage: Nonfungible TokensBurnt (r:1 w:1)591 /// Proof: Nonfungible TokensBurnt (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)592 /// Storage: Nonfungible AccountBalance (r:1 w:1)593 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)594 /// Storage: Nonfungible Owned (r:0 w:1)595 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)596 /// Storage: Nonfungible TokenProperties (r:0 w:1)597 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)598 fn burn_from() -> Weight {599 // Proof Size summary in bytes:600 // Measured: `527`601 // Estimated: `12611`602 // Minimum execution time: 30_713_000 picoseconds.603 Weight::from_parts(31_160_000, 12611)604 .saturating_add(RocksDbWeight::get().reads(5_u64))605 .saturating_add(RocksDbWeight::get().writes(6_u64))606 }607 /// Storage: Common CollectionPropertyPermissions (r:1 w:1)608 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)609 /// The range of component `b` is `[0, 64]`.610 fn set_token_property_permissions(b: u32, ) -> Weight {611 // Proof Size summary in bytes:612 // Measured: `281`613 // Estimated: `19201`614 // Minimum execution time: 2_360_000 picoseconds.615 Weight::from_parts(2_396_000, 19201)616 // Standard Error: 43_257617 .saturating_add(Weight::from_parts(12_085_808, 0).saturating_mul(b.into()))618 .saturating_add(RocksDbWeight::get().reads(1_u64))619 .saturating_add(RocksDbWeight::get().writes(1_u64))620 }621 /// Storage: Nonfungible TokenProperties (r:1 w:1)622 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)623 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)624 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)625 /// The range of component `b` is `[0, 64]`.626 fn set_token_properties(b: u32, ) -> Weight {627 // Proof Size summary in bytes:628 // Measured: `616 + b * (261 ±0)`629 // Estimated: `54480`630 // Minimum execution time: 12_543_000 picoseconds.631 Weight::from_parts(12_686_000, 54480)632 // Standard Error: 52_286633 .saturating_add(Weight::from_parts(6_894_785, 0).saturating_mul(b.into()))634 .saturating_add(RocksDbWeight::get().reads(2_u64))635 .saturating_add(RocksDbWeight::get().writes(1_u64))636 }637 /// Storage: Nonfungible TokenProperties (r:1 w:1)638 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)639 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)640 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)641 /// The range of component `b` is `[0, 64]`.642 fn delete_token_properties(b: u32, ) -> Weight {643 // Proof Size summary in bytes:644 // Measured: `653 + b * (33291 ±0)`645 // Estimated: `54480`646 // Minimum execution time: 12_352_000 picoseconds.647 Weight::from_parts(12_523_000, 54480)648 // Standard Error: 70_401649 .saturating_add(Weight::from_parts(21_959_228, 0).saturating_mul(b.into()))650 .saturating_add(RocksDbWeight::get().reads(2_u64))651 .saturating_add(RocksDbWeight::get().writes(1_u64))652 }653 /// Storage: Nonfungible TokenData (r:1 w:0)654 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)655 fn token_owner() -> Weight {656 // Proof Size summary in bytes:657 // Measured: `358`658 // Estimated: `2532`659 // Minimum execution time: 4_797_000 picoseconds.660 Weight::from_parts(5_499_000, 2532)661 .saturating_add(RocksDbWeight::get().reads(1_u64))662 }663 /// Storage: Nonfungible CollectionAllowance (r:0 w:1)664 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)665 fn set_allowance_for_all() -> Weight {666 // Proof Size summary in bytes:667 // Measured: `0`668 // Estimated: `0`669 // Minimum execution time: 6_303_000 picoseconds.670 Weight::from_parts(6_712_000, 0)671 .saturating_add(RocksDbWeight::get().writes(1_u64))672 }673 /// Storage: Nonfungible CollectionAllowance (r:1 w:0)674 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)675 fn allowance_for_all() -> Weight {676 // Proof Size summary in bytes:677 // Measured: `109`678 // Estimated: `2586`679 // Minimum execution time: 3_798_000 picoseconds.680 Weight::from_parts(4_017_000, 2586)681 .saturating_add(RocksDbWeight::get().reads(1_u64))682 }683 /// Storage: Nonfungible TokenProperties (r:1 w:1)684 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)685 fn repair_item() -> Weight {686 // Proof Size summary in bytes:687 // Measured: `300`688 // Estimated: `35279`689 // Minimum execution time: 5_531_000 picoseconds.690 Weight::from_parts(5_750_000, 35279)691 .saturating_add(RocksDbWeight::get().reads(1_u64))692 .saturating_add(RocksDbWeight::get().writes(1_u64))693 }694}695