* Copy Uniques into Nfts

* Connect new pallet

* Update weights

* Nfts: Multiple approvals (#12178)

* multiple approvals

* clear

* tests & clean up

* fix in logic & fmt

* fix benchmarks

* deadline

* test deadline

* current_block + deadline

* update ApprovedTransfer event

* benchmark

* docs

* Update frame/nfts/src/lib.rs

Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>

* fmt fix

* Update frame/nfts/src/lib.rs

Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>

* update tests

* anyone can cancel

* Update frame/nfts/src/tests.rs

Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>

* fmt

* fix logic

* unnecessary line

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

* Update frame/nfts/src/lib.rs

* Update lib.rs

* fmt

* Update frame/nfts/src/lib.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* fmt

* Update frame/nfts/src/lib.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* suggestion

* new line

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
Co-authored-by: command-bot <>
Co-authored-by: Squirrel <gilescope@gmail.com>

* Fixes

* cargo fmt

* Fixes

* Fixes

* Fix CI

* Nfts: Fix Auto-Increment (#12223)

* commit

* passing benchmarks

* clean up

* sync

* runtime implementation

* fix

* fmt

* fix benchmark

* cfg

* remove try-increment-id

* remove unused error

* impl Incrementable for unsigned types

* clean up

* fix in tests

* not needed anymore

* Use OptionQuery

Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>

* Rename Origin to RuntimeOrigin

* [Uniques V2] Tips (#12168)

* Allow to add tips when buying an NFT

* Chore

* Rework tips feature

* Add weights + benchmarks

* Convert tuple to struct

* Fix benchmark

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

* Update frame/nfts/src/benchmarking.rs

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix benchmarks

* Revert the bounded_vec![] approach

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

Co-authored-by: command-bot <>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* [Uniques V2] Atomic NFTs swap (#12285)

* Atomic NFTs swap

* Fmt

* Fix benchmark

* Rename swap -> atomic_swap

* Update target balance

* Rollback

* Fix

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

* Make desired item optional

* Apply suggestions

* Update frame/nfts/src/features/atomic_swap.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Rename fields

* Optimisation

* Add a comment

* deadline -> maybe_deadline

* Add docs

* Change comments

* Add price direction field

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

* Wrap price and direction

* Fix benchmarks

* Use ensure! instead of if {}

* Make duration param mandatory and limit it to MaxDeadlineDuration

* Make the code safer

* Fix clippy

* Chore

* Remove unused vars

* try

* try 2

* try 3

Co-authored-by: command-bot <>
Co-authored-by: Squirrel <gilescope@gmail.com>

* [Uniques V2] Feature flags (#12367)

* Basics

* WIP: change the data format

* Refactor

* Remove redundant new() method

* Rename settings

* Enable tests

* Chore

* Change params order

* Delete the config on collection removal

* Chore

* Remove redundant system features

* Rename force_item_status to force_collection_status

* Update node runtime

* Chore

* Remove thaw_collection

* Chore

* Connect collection.is_frozen to config

* Allow to lock the collection in a new way

* Move free_holding into settings

* Connect collection's metadata locker to feature flags

* DRY

* Chore

* Connect pallet level feature flags

* Prepare tests for the new changes

* Implement Item settings

* Allow to lock the metadata or attributes of an item

* Common -> Settings

* Extract settings related code to a separate file

* Move feature flag checks inside the do_* methods

* Split settings.rs into parts

* Extract repeated code into macro

* Extract macros into their own file

* Chore

* Fix traits

* Fix traits

* Test SystemFeatures

* Fix benchmarks

* Add missing benchmark

* Fix node/runtime/lib.rs

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

* Keep item's config on burn if it's not empty

* Fix the merge artifacts

* Fmt

* Add SystemFeature::NoSwaps check

* Rename SystemFeatures to PalletFeatures

* Rename errors

* Add docs

* Change error message

* Rework pallet features

* Move macros

* Change comments

* Fmt

* Refactor Incrementable

* Use pub(crate) for do_* functions

* Update comments

* Refactor freeze and lock functions

* Rework Collection config and Item confg api

* Chore

* Make clippy happy

* Chore

* Update comment

* RequiredDeposit => DepositRequired

* Address comments

Co-authored-by: command-bot <>

* [Uniques V2] Refactor roles (#12437)

* Basics

* WIP: change the data format

* Refactor

* Remove redundant new() method

* Rename settings

* Enable tests

* Chore

* Change params order

* Delete the config on collection removal

* Chore

* Remove redundant system features

* Rename force_item_status to force_collection_status

* Update node runtime

* Chore

* Remove thaw_collection

* Chore

* Connect collection.is_frozen to config

* Allow to lock the collection in a new way

* Move free_holding into settings

* Connect collection's metadata locker to feature flags

* DRY

* Chore

* Connect pallet level feature flags

* Prepare tests for the new changes

* Implement Item settings

* Allow to lock the metadata or attributes of an item

* Common -> Settings

* Extract settings related code to a separate file

* Move feature flag checks inside the do_* methods

* Split settings.rs into parts

* Extract repeated code into macro

* Extract macros into their own file

* Chore

* Fix traits

* Fix traits

* Test SystemFeatures

* Fix benchmarks

* Add missing benchmark

* Fix node/runtime/lib.rs

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

* Keep item's config on burn if it's not empty

* Fix the merge artifacts

* Fmt

* Add SystemFeature::NoSwaps check

* Refactor roles structure

* Rename SystemFeatures to PalletFeatures

* Rename errors

* Add docs

* Change error message

* Rework pallet features

* Move macros

* Change comments

* Fmt

* Refactor Incrementable

* Use pub(crate) for do_* functions

* Update comments

* Refactor freeze and lock functions

* Rework Collection config and Item confg api

* Chore

* Make clippy happy

* Chore

* Fix artifacts

* Address comments

* Further refactoring

* Add comments

* Add tests for group_roles_by_account()

* Update frame/nfts/src/impl_nonfungibles.rs

* Add test

* Replace Itertools group_by with a custom implementation

* ItemsNotTransferable => ItemsNonTransferable

* Update frame/nfts/src/features/roles.rs

Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com>

* Address PR comments

* Add missed comment

Co-authored-by: command-bot <>
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com>

* Fix copy

* Remove storage_prefix

* Remove transactional

* Update comment

* [Uniques V2] Minting options (#12483)

* Basics

* WIP: change the data format

* Refactor

* Remove redundant new() method

* Rename settings

* Enable tests

* Chore

* Change params order

* Delete the config on collection removal

* Chore

* Remove redundant system features

* Rename force_item_status to force_collection_status

* Update node runtime

* Chore

* Remove thaw_collection

* Chore

* Connect collection.is_frozen to config

* Allow to lock the collection in a new way

* Move free_holding into settings

* Connect collection's metadata locker to feature flags

* DRY

* Chore

* Connect pallet level feature flags

* Prepare tests for the new changes

* Implement Item settings

* Allow to lock the metadata or attributes of an item

* Common -> Settings

* Extract settings related code to a separate file

* Move feature flag checks inside the do_* methods

* Split settings.rs into parts

* Extract repeated code into macro

* Extract macros into their own file

* Chore

* Fix traits

* Fix traits

* Test SystemFeatures

* Fix benchmarks

* Add missing benchmark

* Fix node/runtime/lib.rs

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

* Keep item's config on burn if it's not empty

* Fix the merge artifacts

* Fmt

* Add SystemFeature::NoSwaps check

* Rename SystemFeatures to PalletFeatures

* Rename errors

* Add docs

* Change error message

* Change the format of CollectionConfig to store more data

* Move max supply to the CollectionConfig and allow to change it

* Remove ItemConfig from the mint() function and use the one set in mint settings

* Add different mint options

* Allow to change the mint settings

* Add a force_mint() method

* Check mint params

* Some optimisations

* Cover with tests

* Remove merge artifacts

* Chore

* Use the new has_role() method

* Rework item deposits

* More tests

* Refactoring

* Address comments

* Refactor lock_collection()

* Update frame/nfts/src/types.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Update frame/nfts/src/types.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Private => Issuer

* Add more tests

* Fix benchmarks

* Add benchmarks for new methods

* [Uniques v2] Refactoring (#12570)

* Move do_set_price() and do_buy_item() to buy_sell.rs

* Move approvals to feature file

* Move metadata to feature files

* Move the rest of methods to feature files

* Remove artifacts

* Split force_collection_status into 2 methods

* Fix benchmarks

* Fix benchmarks

* Update deps

Co-authored-by: command-bot <>
Co-authored-by: Squirrel <gilescope@gmail.com>

* [Uniques V2] Smart attributes (#12702)

* Basics

* WIP: change the data format

* Refactor

* Remove redundant new() method

* Rename settings

* Enable tests

* Chore

* Change params order

* Delete the config on collection removal

* Chore

* Remove redundant system features

* Rename force_item_status to force_collection_status

* Update node runtime

* Chore

* Remove thaw_collection

* Chore

* Connect collection.is_frozen to config

* Allow to lock the collection in a new way

* Move free_holding into settings

* Connect collection's metadata locker to feature flags

* DRY

* Chore

* Connect pallet level feature flags

* Prepare tests for the new changes

* Implement Item settings

* Allow to lock the metadata or attributes of an item

* Common -> Settings

* Extract settings related code to a separate file

* Move feature flag checks inside the do_* methods

* Split settings.rs into parts

* Extract repeated code into macro

* Extract macros into their own file

* Chore

* Fix traits

* Fix traits

* Test SystemFeatures

* Fix benchmarks

* Add missing benchmark

* Fix node/runtime/lib.rs

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

* Keep item's config on burn if it's not empty

* Fix the merge artifacts

* Fmt

* Add SystemFeature::NoSwaps check

* Rename SystemFeatures to PalletFeatures

* Rename errors

* Add docs

* Change error message

* Change the format of CollectionConfig to store more data

* Move max supply to the CollectionConfig and allow to change it

* Remove ItemConfig from the mint() function and use the one set in mint settings

* Add different mint options

* Allow to change the mint settings

* Add a force_mint() method

* Check mint params

* Some optimisations

* Cover with tests

* Remove merge artifacts

* Chore

* Use the new has_role() method

* Rework item deposits

* More tests

* Refactoring

* Address comments

* Refactor lock_collection()

* Update frame/nfts/src/types.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Update frame/nfts/src/types.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Private => Issuer

* Add more tests

* Fix benchmarks

* Add benchmarks for new methods

* [Uniques v2] Refactoring (#12570)

* Move do_set_price() and do_buy_item() to buy_sell.rs

* Move approvals to feature file

* Move metadata to feature files

* Move the rest of methods to feature files

* Remove artifacts

* Smart attributes

* Split force_collection_status into 2 methods

* Fix benchmarks

* Fix benchmarks

* Update deps

* Fix merge artifact

* Weights + benchmarks + docs

* Change params order

* Chore

* Update frame/nfts/src/lib.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Update docs

* Update frame/nfts/src/lib.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* Add PalletId

* Chore

* Add tests

* More tests

* Add doc

* Update errors snapshots

* Ensure we track the owner_deposit field correctly

Co-authored-by: command-bot <>
Co-authored-by: Squirrel <gilescope@gmail.com>

* [Uniques V2] Final improvements (#12736)

* Use KeyPrefixIterator instead of Box

* Change create_collection()

* Restrict from claiming NFTs twice

* Update Readme

* Remove dead code

* Refactoring

* Update readme

* Fix clippy

* Update frame/nfts/src/lib.rs

Co-authored-by: Squirrel <gilescope@gmail.com>

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

* Update docs

* Typo

* Fix benchmarks

* Add more docs

* DepositRequired setting should affect only the attributes within the CollectionOwner namespace

* [NFTs] Implement missed methods to set the attributes from other pallets (#12919)

* Implement missed methods to set the attributes from other pallets

* Revert snapshots

* Update snapshot

* Update snapshot

* Revert snapshot changes

* Update snapshots

* Yet another snapshot update..

* Update frame/support/src/traits/tokens/nonfungible_v2.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/support/src/traits/tokens/nonfungible_v2.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/support/src/traits/tokens/nonfungible_v2.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/support/src/traits/tokens/nonfungibles_v2.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/support/src/traits/tokens/nonfungible_v2.rs

* Update frame/nfts/src/lib.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/support/src/traits/tokens/nonfungibles_v2.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/lib.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Address comments

* [NFTs] Add the new `owner` param to mint() method (#12997)

* Add the new `owner` param to mint() method

* Fmt

* Address comments

* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts

* Update frame/nfts/src/common_functions.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/types.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/types.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/types.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/types.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update frame/nfts/src/types.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Add call indexes

* Update snapshots

Co-authored-by: Sergej Sakac <73715684+Szegoo@users.noreply.github.com>
Co-authored-by: Squirrel <gilescope@gmail.com>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com>
Co-authored-by: command-bot <>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
This commit is contained in:
Jegor Sidorenko
2022-12-23 18:07:27 +02:00
committed by GitHub
parent 34eb463d99
commit 0edab31776
36 changed files with 9269 additions and 13 deletions
+851
View File
@@ -0,0 +1,851 @@
// This file is part of Substrate.
// Copyright (C) 2022 Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//! Autogenerated weights for pallet_nfts
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-12-22, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
// Executed Command:
// /home/benchbot/cargo_target_dir/production/substrate
// benchmark
// pallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/substrate/.git/.artifacts/bench.json
// --pallet=pallet_nfts
// --chain=dev
// --header=./HEADER-APACHE2
// --output=./frame/nfts/src/weights.rs
// --template=./.maintain/frame-weight-template.hbs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
use sp_std::marker::PhantomData;
/// Weight functions needed for pallet_nfts.
pub trait WeightInfo {
fn create() -> Weight;
fn force_create() -> Weight;
fn destroy(n: u32, m: u32, a: u32, ) -> Weight;
fn mint() -> Weight;
fn force_mint() -> Weight;
fn burn() -> Weight;
fn transfer() -> Weight;
fn redeposit(i: u32, ) -> Weight;
fn lock_item_transfer() -> Weight;
fn unlock_item_transfer() -> Weight;
fn lock_collection() -> Weight;
fn transfer_ownership() -> Weight;
fn set_team() -> Weight;
fn force_collection_owner() -> Weight;
fn force_collection_config() -> Weight;
fn lock_item_properties() -> Weight;
fn set_attribute() -> Weight;
fn force_set_attribute() -> Weight;
fn clear_attribute() -> Weight;
fn approve_item_attributes() -> Weight;
fn cancel_item_attributes_approval(n: u32, ) -> Weight;
fn set_metadata() -> Weight;
fn clear_metadata() -> Weight;
fn set_collection_metadata() -> Weight;
fn clear_collection_metadata() -> Weight;
fn approve_transfer() -> Weight;
fn cancel_approval() -> Weight;
fn clear_all_transfer_approvals() -> Weight;
fn set_accept_ownership() -> Weight;
fn set_collection_max_supply() -> Weight;
fn update_mint_settings() -> Weight;
fn set_price() -> Weight;
fn buy_item() -> Weight;
fn pay_tips(n: u32, ) -> Weight;
fn create_swap() -> Weight;
fn cancel_swap() -> Weight;
fn claim_swap() -> Weight;
}
/// Weights for pallet_nfts using the Substrate node and recommended hardware.
pub struct SubstrateWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
// Storage: Nfts NextCollectionId (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:0 w:1)
// Storage: Nfts CollectionConfigOf (r:0 w:1)
// Storage: Nfts CollectionAccount (r:0 w:1)
fn create() -> Weight {
// Minimum execution time: 44_312 nanoseconds.
Weight::from_ref_time(44_871_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(5))
}
// Storage: Nfts NextCollectionId (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:0 w:1)
// Storage: Nfts CollectionConfigOf (r:0 w:1)
// Storage: Nfts CollectionAccount (r:0 w:1)
fn force_create() -> Weight {
// Minimum execution time: 31_654 nanoseconds.
Weight::from_ref_time(32_078_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(5))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts Item (r:1001 w:1000)
// Storage: Nfts Attribute (r:1001 w:1000)
// Storage: Nfts ItemMetadataOf (r:0 w:1000)
// Storage: Nfts CollectionRoleOf (r:0 w:1)
// Storage: Nfts CollectionMetadataOf (r:0 w:1)
// Storage: Nfts CollectionConfigOf (r:0 w:1)
// Storage: Nfts ItemConfigOf (r:0 w:1000)
// Storage: Nfts Account (r:0 w:1000)
// Storage: Nfts CollectionAccount (r:0 w:1)
/// The range of component `n` is `[0, 1000]`.
/// The range of component `m` is `[0, 1000]`.
/// The range of component `a` is `[0, 1000]`.
fn destroy(n: u32, m: u32, a: u32, ) -> Weight {
// Minimum execution time: 19_183_393 nanoseconds.
Weight::from_ref_time(17_061_526_855)
// Standard Error: 16_689
.saturating_add(Weight::from_ref_time(353_523).saturating_mul(n.into()))
// Standard Error: 16_689
.saturating_add(Weight::from_ref_time(1_861_080).saturating_mul(m.into()))
// Standard Error: 16_689
.saturating_add(Weight::from_ref_time(8_858_987).saturating_mul(a.into()))
.saturating_add(T::DbWeight::get().reads(1003))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into())))
.saturating_add(T::DbWeight::get().writes(3005))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(m.into())))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(a.into())))
}
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
// Storage: Nfts Account (r:0 w:1)
fn mint() -> Weight {
// Minimum execution time: 57_753 nanoseconds.
Weight::from_ref_time(58_313_000)
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(4))
}
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
// Storage: Nfts Account (r:0 w:1)
fn force_mint() -> Weight {
// Minimum execution time: 56_429 nanoseconds.
Weight::from_ref_time(57_202_000)
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(4))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
// Storage: Nfts Account (r:0 w:1)
// Storage: Nfts ItemPriceOf (r:0 w:1)
// Storage: Nfts ItemAttributesApprovalsOf (r:0 w:1)
// Storage: Nfts PendingSwapOf (r:0 w:1)
fn burn() -> Weight {
// Minimum execution time: 59_681 nanoseconds.
Weight::from_ref_time(60_058_000)
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(7))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Nfts Account (r:0 w:2)
// Storage: Nfts ItemPriceOf (r:0 w:1)
// Storage: Nfts PendingSwapOf (r:0 w:1)
fn transfer() -> Weight {
// Minimum execution time: 66_085 nanoseconds.
Weight::from_ref_time(67_065_000)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(6))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts Item (r:102 w:102)
/// The range of component `i` is `[0, 5000]`.
fn redeposit(i: u32, ) -> Weight {
// Minimum execution time: 25_949 nanoseconds.
Weight::from_ref_time(26_106_000)
// Standard Error: 10_326
.saturating_add(Weight::from_ref_time(11_496_776).saturating_mul(i.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
}
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
fn lock_item_transfer() -> Weight {
// Minimum execution time: 30_080 nanoseconds.
Weight::from_ref_time(30_825_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
fn unlock_item_transfer() -> Weight {
// Minimum execution time: 30_612 nanoseconds.
Weight::from_ref_time(31_422_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:1)
fn lock_collection() -> Weight {
// Minimum execution time: 27_470 nanoseconds.
Weight::from_ref_time(28_015_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts OwnershipAcceptance (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionAccount (r:0 w:2)
fn transfer_ownership() -> Weight {
// Minimum execution time: 33_750 nanoseconds.
Weight::from_ref_time(34_139_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(4))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:0 w:4)
fn set_team() -> Weight {
// Minimum execution time: 36_565 nanoseconds.
Weight::from_ref_time(37_464_000)
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(5))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionAccount (r:0 w:2)
fn force_collection_owner() -> Weight {
// Minimum execution time: 29_028 nanoseconds.
Weight::from_ref_time(29_479_000)
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(3))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:0 w:1)
fn force_collection_config() -> Weight {
// Minimum execution time: 24_695 nanoseconds.
Weight::from_ref_time(25_304_000)
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
fn lock_item_properties() -> Weight {
// Minimum execution time: 28_910 nanoseconds.
Weight::from_ref_time(29_186_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: Nfts Attribute (r:1 w:1)
fn set_attribute() -> Weight {
// Minimum execution time: 56_407 nanoseconds.
Weight::from_ref_time(58_176_000)
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(2))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts Attribute (r:1 w:1)
fn force_set_attribute() -> Weight {
// Minimum execution time: 36_402 nanoseconds.
Weight::from_ref_time(37_034_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
}
// Storage: Nfts Attribute (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts ItemConfigOf (r:1 w:0)
fn clear_attribute() -> Weight {
// Minimum execution time: 52_022 nanoseconds.
Weight::from_ref_time(54_059_000)
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}
// Storage: Nfts Item (r:1 w:0)
// Storage: Nfts ItemAttributesApprovalsOf (r:1 w:1)
fn approve_item_attributes() -> Weight {
// Minimum execution time: 28_475 nanoseconds.
Weight::from_ref_time(29_162_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:0)
// Storage: Nfts ItemAttributesApprovalsOf (r:1 w:1)
// Storage: Nfts Attribute (r:1 w:0)
// Storage: System Account (r:1 w:1)
/// The range of component `n` is `[0, 1000]`.
fn cancel_item_attributes_approval(n: u32, ) -> Weight {
// Minimum execution time: 37_529 nanoseconds.
Weight::from_ref_time(38_023_000)
// Standard Error: 8_136
.saturating_add(Weight::from_ref_time(7_452_872).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
.saturating_add(T::DbWeight::get().writes(2))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemMetadataOf (r:1 w:1)
fn set_metadata() -> Weight {
// Minimum execution time: 49_300 nanoseconds.
Weight::from_ref_time(49_790_000)
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(2))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: Nfts ItemMetadataOf (r:1 w:1)
fn clear_metadata() -> Weight {
// Minimum execution time: 47_248 nanoseconds.
Weight::from_ref_time(48_094_000)
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionMetadataOf (r:1 w:1)
fn set_collection_metadata() -> Weight {
// Minimum execution time: 44_137 nanoseconds.
Weight::from_ref_time(44_905_000)
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts CollectionMetadataOf (r:1 w:1)
fn clear_collection_metadata() -> Weight {
// Minimum execution time: 43_005 nanoseconds.
Weight::from_ref_time(43_898_000)
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
fn approve_transfer() -> Weight {
// Minimum execution time: 36_344 nanoseconds.
Weight::from_ref_time(36_954_000)
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
fn cancel_approval() -> Weight {
// Minimum execution time: 32_418 nanoseconds.
Weight::from_ref_time(33_029_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
fn clear_all_transfer_approvals() -> Weight {
// Minimum execution time: 31_448 nanoseconds.
Weight::from_ref_time(31_979_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts OwnershipAcceptance (r:1 w:1)
fn set_accept_ownership() -> Weight {
// Minimum execution time: 27_487 nanoseconds.
Weight::from_ref_time(28_080_000)
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts CollectionConfigOf (r:1 w:1)
// Storage: Nfts Collection (r:1 w:0)
fn set_collection_max_supply() -> Weight {
// Minimum execution time: 28_235 nanoseconds.
Weight::from_ref_time(28_967_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:1)
fn update_mint_settings() -> Weight {
// Minimum execution time: 28_172 nanoseconds.
Weight::from_ref_time(28_636_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: Nfts ItemPriceOf (r:0 w:1)
fn set_price() -> Weight {
// Minimum execution time: 35_336 nanoseconds.
Weight::from_ref_time(36_026_000)
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts ItemPriceOf (r:1 w:1)
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Nfts Account (r:0 w:2)
// Storage: Nfts PendingSwapOf (r:0 w:1)
fn buy_item() -> Weight {
// Minimum execution time: 70_971 nanoseconds.
Weight::from_ref_time(72_036_000)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(6))
}
/// The range of component `n` is `[0, 10]`.
fn pay_tips(n: u32, ) -> Weight {
// Minimum execution time: 5_151 nanoseconds.
Weight::from_ref_time(11_822_888)
// Standard Error: 38_439
.saturating_add(Weight::from_ref_time(3_511_844).saturating_mul(n.into()))
}
// Storage: Nfts Item (r:2 w:0)
// Storage: Nfts PendingSwapOf (r:0 w:1)
fn create_swap() -> Weight {
// Minimum execution time: 33_027 nanoseconds.
Weight::from_ref_time(33_628_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts PendingSwapOf (r:1 w:1)
// Storage: Nfts Item (r:1 w:0)
fn cancel_swap() -> Weight {
// Minimum execution time: 35_890 nanoseconds.
Weight::from_ref_time(36_508_000)
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
// Storage: Nfts Item (r:2 w:2)
// Storage: Nfts PendingSwapOf (r:1 w:2)
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:2 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Nfts Account (r:0 w:4)
// Storage: Nfts ItemPriceOf (r:0 w:2)
fn claim_swap() -> Weight {
// Minimum execution time: 101_076 nanoseconds.
Weight::from_ref_time(101_863_000)
.saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(11))
}
}
// For backwards compatibility and tests
impl WeightInfo for () {
// Storage: Nfts NextCollectionId (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:0 w:1)
// Storage: Nfts CollectionConfigOf (r:0 w:1)
// Storage: Nfts CollectionAccount (r:0 w:1)
fn create() -> Weight {
// Minimum execution time: 44_312 nanoseconds.
Weight::from_ref_time(44_871_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(5))
}
// Storage: Nfts NextCollectionId (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:0 w:1)
// Storage: Nfts CollectionConfigOf (r:0 w:1)
// Storage: Nfts CollectionAccount (r:0 w:1)
fn force_create() -> Weight {
// Minimum execution time: 31_654 nanoseconds.
Weight::from_ref_time(32_078_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(5))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts Item (r:1001 w:1000)
// Storage: Nfts Attribute (r:1001 w:1000)
// Storage: Nfts ItemMetadataOf (r:0 w:1000)
// Storage: Nfts CollectionRoleOf (r:0 w:1)
// Storage: Nfts CollectionMetadataOf (r:0 w:1)
// Storage: Nfts CollectionConfigOf (r:0 w:1)
// Storage: Nfts ItemConfigOf (r:0 w:1000)
// Storage: Nfts Account (r:0 w:1000)
// Storage: Nfts CollectionAccount (r:0 w:1)
/// The range of component `n` is `[0, 1000]`.
/// The range of component `m` is `[0, 1000]`.
/// The range of component `a` is `[0, 1000]`.
fn destroy(n: u32, m: u32, a: u32, ) -> Weight {
// Minimum execution time: 19_183_393 nanoseconds.
Weight::from_ref_time(17_061_526_855)
// Standard Error: 16_689
.saturating_add(Weight::from_ref_time(353_523).saturating_mul(n.into()))
// Standard Error: 16_689
.saturating_add(Weight::from_ref_time(1_861_080).saturating_mul(m.into()))
// Standard Error: 16_689
.saturating_add(Weight::from_ref_time(8_858_987).saturating_mul(a.into()))
.saturating_add(RocksDbWeight::get().reads(1003))
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(a.into())))
.saturating_add(RocksDbWeight::get().writes(3005))
.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(m.into())))
.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(a.into())))
}
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
// Storage: Nfts Account (r:0 w:1)
fn mint() -> Weight {
// Minimum execution time: 57_753 nanoseconds.
Weight::from_ref_time(58_313_000)
.saturating_add(RocksDbWeight::get().reads(5))
.saturating_add(RocksDbWeight::get().writes(4))
}
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
// Storage: Nfts Account (r:0 w:1)
fn force_mint() -> Weight {
// Minimum execution time: 56_429 nanoseconds.
Weight::from_ref_time(57_202_000)
.saturating_add(RocksDbWeight::get().reads(5))
.saturating_add(RocksDbWeight::get().writes(4))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
// Storage: Nfts Account (r:0 w:1)
// Storage: Nfts ItemPriceOf (r:0 w:1)
// Storage: Nfts ItemAttributesApprovalsOf (r:0 w:1)
// Storage: Nfts PendingSwapOf (r:0 w:1)
fn burn() -> Weight {
// Minimum execution time: 59_681 nanoseconds.
Weight::from_ref_time(60_058_000)
.saturating_add(RocksDbWeight::get().reads(4))
.saturating_add(RocksDbWeight::get().writes(7))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Nfts Account (r:0 w:2)
// Storage: Nfts ItemPriceOf (r:0 w:1)
// Storage: Nfts PendingSwapOf (r:0 w:1)
fn transfer() -> Weight {
// Minimum execution time: 66_085 nanoseconds.
Weight::from_ref_time(67_065_000)
.saturating_add(RocksDbWeight::get().reads(6))
.saturating_add(RocksDbWeight::get().writes(6))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts Item (r:102 w:102)
/// The range of component `i` is `[0, 5000]`.
fn redeposit(i: u32, ) -> Weight {
// Minimum execution time: 25_949 nanoseconds.
Weight::from_ref_time(26_106_000)
// Standard Error: 10_326
.saturating_add(Weight::from_ref_time(11_496_776).saturating_mul(i.into()))
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(i.into())))
.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(i.into())))
}
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
fn lock_item_transfer() -> Weight {
// Minimum execution time: 30_080 nanoseconds.
Weight::from_ref_time(30_825_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
fn unlock_item_transfer() -> Weight {
// Minimum execution time: 30_612 nanoseconds.
Weight::from_ref_time(31_422_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts CollectionRoleOf (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:1)
fn lock_collection() -> Weight {
// Minimum execution time: 27_470 nanoseconds.
Weight::from_ref_time(28_015_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts OwnershipAcceptance (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionAccount (r:0 w:2)
fn transfer_ownership() -> Weight {
// Minimum execution time: 33_750 nanoseconds.
Weight::from_ref_time(34_139_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(4))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:0 w:4)
fn set_team() -> Weight {
// Minimum execution time: 36_565 nanoseconds.
Weight::from_ref_time(37_464_000)
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(5))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionAccount (r:0 w:2)
fn force_collection_owner() -> Weight {
// Minimum execution time: 29_028 nanoseconds.
Weight::from_ref_time(29_479_000)
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(3))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:0 w:1)
fn force_collection_config() -> Weight {
// Minimum execution time: 24_695 nanoseconds.
Weight::from_ref_time(25_304_000)
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:1)
fn lock_item_properties() -> Weight {
// Minimum execution time: 28_910 nanoseconds.
Weight::from_ref_time(29_186_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: Nfts Attribute (r:1 w:1)
fn set_attribute() -> Weight {
// Minimum execution time: 56_407 nanoseconds.
Weight::from_ref_time(58_176_000)
.saturating_add(RocksDbWeight::get().reads(4))
.saturating_add(RocksDbWeight::get().writes(2))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts Attribute (r:1 w:1)
fn force_set_attribute() -> Weight {
// Minimum execution time: 36_402 nanoseconds.
Weight::from_ref_time(37_034_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(2))
}
// Storage: Nfts Attribute (r:1 w:1)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts ItemConfigOf (r:1 w:0)
fn clear_attribute() -> Weight {
// Minimum execution time: 52_022 nanoseconds.
Weight::from_ref_time(54_059_000)
.saturating_add(RocksDbWeight::get().reads(3))
.saturating_add(RocksDbWeight::get().writes(2))
}
// Storage: Nfts Item (r:1 w:0)
// Storage: Nfts ItemAttributesApprovalsOf (r:1 w:1)
fn approve_item_attributes() -> Weight {
// Minimum execution time: 28_475 nanoseconds.
Weight::from_ref_time(29_162_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:0)
// Storage: Nfts ItemAttributesApprovalsOf (r:1 w:1)
// Storage: Nfts Attribute (r:1 w:0)
// Storage: System Account (r:1 w:1)
/// The range of component `n` is `[0, 1000]`.
fn cancel_item_attributes_approval(n: u32, ) -> Weight {
// Minimum execution time: 37_529 nanoseconds.
Weight::from_ref_time(38_023_000)
// Standard Error: 8_136
.saturating_add(Weight::from_ref_time(7_452_872).saturating_mul(n.into()))
.saturating_add(RocksDbWeight::get().reads(4))
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
.saturating_add(RocksDbWeight::get().writes(2))
.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemMetadataOf (r:1 w:1)
fn set_metadata() -> Weight {
// Minimum execution time: 49_300 nanoseconds.
Weight::from_ref_time(49_790_000)
.saturating_add(RocksDbWeight::get().reads(4))
.saturating_add(RocksDbWeight::get().writes(2))
}
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: Nfts ItemMetadataOf (r:1 w:1)
fn clear_metadata() -> Weight {
// Minimum execution time: 47_248 nanoseconds.
Weight::from_ref_time(48_094_000)
.saturating_add(RocksDbWeight::get().reads(3))
.saturating_add(RocksDbWeight::get().writes(2))
}
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts Collection (r:1 w:1)
// Storage: Nfts CollectionMetadataOf (r:1 w:1)
fn set_collection_metadata() -> Weight {
// Minimum execution time: 44_137 nanoseconds.
Weight::from_ref_time(44_905_000)
.saturating_add(RocksDbWeight::get().reads(3))
.saturating_add(RocksDbWeight::get().writes(2))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts CollectionMetadataOf (r:1 w:1)
fn clear_collection_metadata() -> Weight {
// Minimum execution time: 43_005 nanoseconds.
Weight::from_ref_time(43_898_000)
.saturating_add(RocksDbWeight::get().reads(3))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
fn approve_transfer() -> Weight {
// Minimum execution time: 36_344 nanoseconds.
Weight::from_ref_time(36_954_000)
.saturating_add(RocksDbWeight::get().reads(3))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
fn cancel_approval() -> Weight {
// Minimum execution time: 32_418 nanoseconds.
Weight::from_ref_time(33_029_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts CollectionRoleOf (r:1 w:0)
fn clear_all_transfer_approvals() -> Weight {
// Minimum execution time: 31_448 nanoseconds.
Weight::from_ref_time(31_979_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts OwnershipAcceptance (r:1 w:1)
fn set_accept_ownership() -> Weight {
// Minimum execution time: 27_487 nanoseconds.
Weight::from_ref_time(28_080_000)
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts CollectionConfigOf (r:1 w:1)
// Storage: Nfts Collection (r:1 w:0)
fn set_collection_max_supply() -> Weight {
// Minimum execution time: 28_235 nanoseconds.
Weight::from_ref_time(28_967_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:1)
fn update_mint_settings() -> Weight {
// Minimum execution time: 28_172 nanoseconds.
Weight::from_ref_time(28_636_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: Nfts ItemPriceOf (r:0 w:1)
fn set_price() -> Weight {
// Minimum execution time: 35_336 nanoseconds.
Weight::from_ref_time(36_026_000)
.saturating_add(RocksDbWeight::get().reads(3))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts Item (r:1 w:1)
// Storage: Nfts ItemPriceOf (r:1 w:1)
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:1 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Nfts Account (r:0 w:2)
// Storage: Nfts PendingSwapOf (r:0 w:1)
fn buy_item() -> Weight {
// Minimum execution time: 70_971 nanoseconds.
Weight::from_ref_time(72_036_000)
.saturating_add(RocksDbWeight::get().reads(6))
.saturating_add(RocksDbWeight::get().writes(6))
}
/// The range of component `n` is `[0, 10]`.
fn pay_tips(n: u32, ) -> Weight {
// Minimum execution time: 5_151 nanoseconds.
Weight::from_ref_time(11_822_888)
// Standard Error: 38_439
.saturating_add(Weight::from_ref_time(3_511_844).saturating_mul(n.into()))
}
// Storage: Nfts Item (r:2 w:0)
// Storage: Nfts PendingSwapOf (r:0 w:1)
fn create_swap() -> Weight {
// Minimum execution time: 33_027 nanoseconds.
Weight::from_ref_time(33_628_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts PendingSwapOf (r:1 w:1)
// Storage: Nfts Item (r:1 w:0)
fn cancel_swap() -> Weight {
// Minimum execution time: 35_890 nanoseconds.
Weight::from_ref_time(36_508_000)
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(1))
}
// Storage: Nfts Item (r:2 w:2)
// Storage: Nfts PendingSwapOf (r:1 w:2)
// Storage: Nfts Collection (r:1 w:0)
// Storage: Nfts CollectionConfigOf (r:1 w:0)
// Storage: Nfts ItemConfigOf (r:2 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Nfts Account (r:0 w:4)
// Storage: Nfts ItemPriceOf (r:0 w:2)
fn claim_swap() -> Weight {
// Minimum execution time: 101_076 nanoseconds.
Weight::from_ref_time(101_863_000)
.saturating_add(RocksDbWeight::get().reads(8))
.saturating_add(RocksDbWeight::get().writes(11))
}
}