difftreelog
feat(rmrk) benchmark new mint_nft
in: master
3 files changed
pallets/proxy-rmrk-core/src/benchmarking.rsdiffbeforeafterboth1use sp_std::vec;23use frame_benchmarking::{benchmarks, account};4use frame_system::RawOrigin;5use frame_support::{6 traits::{Currency, Get},7 BoundedVec,8};9use sp_runtime::Permill;1011use up_data_structs::*;1213use super::*;1415const SEED: u32 = 1;1617fn create_data<S: Get<u32>>() -> BoundedVec<u8, S> {18 vec![b'A'; S::get() as usize].try_into().expect("size == S")19}2021fn create_u32_array<S: Get<u32>>() -> BoundedVec<u32, S> {22 vec![0; S::get() as usize].try_into().expect("size == S")23}2425fn create_basic_resource() -> RmrkBasicResource {26 RmrkBasicResource {27 src: Some(create_data()),28 metadata: Some(create_data()),29 license: Some(create_data()),30 thumb: Some(create_data()),31 }32}3334fn create_composable_resource() -> RmrkComposableResource {35 RmrkComposableResource {36 parts: create_u32_array(),37 base: 100,38 src: Some(create_data()),39 metadata: Some(create_data()),40 license: Some(create_data()),41 thumb: Some(create_data()),42 }43}4445fn create_slot_resource() -> RmrkSlotResource {46 RmrkSlotResource {47 base: 100,48 slot: 200,49 src: Some(create_data()),50 metadata: Some(create_data()),51 license: Some(create_data()),52 thumb: Some(create_data()),53 }54}5556fn create_max_resource_types_array<S: Get<u32>>(num: usize) -> BoundedVec<RmrkResourceTypes, S> {57 vec![RmrkResourceTypes::Composable(create_composable_resource()); num].try_into().expect("num <= S")58}5960fn create_max_collection<T: Config>(owner: &T::AccountId) -> DispatchResult {61 <T as pallet_common::Config>::Currency::deposit_creating(62 owner,63 T::CollectionCreationPrice::get(),64 );6566 let metadata = create_data();67 let max = None;68 let symbol = create_data();6970 <Pallet<T>>::create_collection(71 RawOrigin::Signed(owner.clone()).into(),72 metadata,73 max,74 symbol,75 )76}7778fn create_nft<T: Config>(79 owner: &T::AccountId,80 collection_id: RmrkCollectionId,81) -> DispatchResult {82 let royalty_recipient = Some(owner.clone());83 let royalty_amount = Some(Permill::from_percent(25));84 let metadata = create_data();85 let transferable = true;8687 <Pallet<T>>::mint_nft(88 RawOrigin::Signed(owner.clone()).into(),89 owner.clone(),90 collection_id,91 royalty_recipient,92 royalty_amount,93 metadata,94 transferable,95 None96 )97}9899struct NftBuilder {100 collection_id: RmrkCollectionId,101 current_nft_id: RmrkNftId,102}103104impl NftBuilder {105 fn new(collection_id: RmrkCollectionId) -> Self {106 Self {107 collection_id,108 current_nft_id: 0,109 }110 }111112 fn current_nft_id(&self) -> RmrkNftId {113 self.current_nft_id114 }115116 fn build<T: Config>(&mut self, owner: &T::AccountId) -> Result<RmrkNftId, DispatchError> {117 create_nft::<T>(owner, self.collection_id)?;118 self.current_nft_id += 1;119120 Ok(self.current_nft_id)121 }122123 fn build_tower<T: Config>(124 &mut self,125 owner: &T::AccountId,126 height: u32,127 ) -> Result<(RmrkNftId, RmrkNftId), DispatchError> {128 self.build::<T>(owner)?;129130 let root_nft_id = self.current_nft_id;131 let mut prev_nft_id = root_nft_id;132133 for _ in 0..height {134 self.build::<T>(owner)?;135136 let new_owner =137 <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::CollectionAndNftTuple(138 self.collection_id,139 prev_nft_id,140 );141142 <Pallet<T>>::send(143 RawOrigin::Signed(owner.clone()).into(),144 self.collection_id,145 self.current_nft_id,146 new_owner,147 )?;148149 prev_nft_id = self.current_nft_id;150 }151152 let deepest_nft_id = self.current_nft_id;153154 Ok((root_nft_id, deepest_nft_id))155 }156157 fn build_wide_tree<T: Config>(158 &mut self,159 owner: &T::AccountId,160 width: u32,161 ) -> Result<RmrkNftId, DispatchError> {162 self.build::<T>(owner)?;163164 let root_nft_id = self.current_nft_id;165166 let root_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::CollectionAndNftTuple(167 self.collection_id,168 root_nft_id,169 );170171 for _ in 0..width {172 self.build::<T>(owner)?;173174 <Pallet<T>>::send(175 RawOrigin::Signed(owner.clone()).into(),176 self.collection_id,177 self.current_nft_id,178 root_owner.clone(),179 )?;180 }181182 Ok(root_nft_id)183 }184}185186benchmarks! {187 create_collection {188 let caller = account("caller", 0, SEED);189 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());190 let metadata = create_data();191 let max = None;192 let symbol = create_data();193 }: _(RawOrigin::Signed(caller), metadata, max, symbol)194195 destroy_collection {196 let caller = account("caller", 0, SEED);197198 create_max_collection::<T>(&caller)?;199 let collection_id = 0;200 }: _(RawOrigin::Signed(caller), collection_id)201202 change_collection_issuer {203 let caller: T::AccountId = account("caller", 0, SEED);204205 create_max_collection::<T>(&caller)?;206 let collection_id = 0;207208 let new_owner: T::AccountId = account("new_owner", 0, SEED);209210 let new_owner_source = T::Lookup::unlookup(new_owner);211 }: _(RawOrigin::Signed(caller), collection_id, new_owner_source)212213 lock_collection {214 let caller: T::AccountId = account("caller", 0, SEED);215216 create_max_collection::<T>(&caller)?;217 let collection_id = 0;218 }: _(RawOrigin::Signed(caller), collection_id)219220 mint_nft {221 let b in 0..100;222223 let caller: T::AccountId = account("caller", 0, SEED);224 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());225226 create_max_collection::<T>(&caller)?;227 let collection_id = 0;228 let owner = caller.clone();229230 let royalty_recipient = Some(caller.clone());231 let royalty_amount = Some(Permill::from_percent(25));232 let metadata = create_data();233 let transferable = true;234 }: _(235 RawOrigin::Signed(caller),236 owner,237 collection_id,238 royalty_recipient,239 royalty_amount,240 metadata,241 transferable,242 Some(create_max_resource_types_array(b as usize))243 )244245 burn_nft {246 let b in 0..200;247248 let caller: T::AccountId = account("caller", 0, SEED);249 create_max_collection::<T>(&caller)?;250 let collection_id = 0;251252 let mut nft_builder = NftBuilder::new(collection_id);253 let root_nft_id = nft_builder.build_wide_tree::<T>(&caller, b)?;254 let max_burns = b + 1;255 }: _(256 RawOrigin::Signed(caller),257 collection_id,258 root_nft_id,259 max_burns260 )261262 send {263 let caller: T::AccountId = account("caller", 0, SEED);264 create_max_collection::<T>(&caller)?;265 let collection_id = 0;266267 let mut nft_builder = NftBuilder::new(collection_id);268 let src_nft_id = nft_builder.build::<T>(&caller)?;269 let (_, target_nft_id) = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 2)?;270 }: _(271 RawOrigin::Signed(caller),272 collection_id,273 src_nft_id,274 <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::CollectionAndNftTuple(collection_id, target_nft_id)275 )276277 accept_nft {278 let caller: T::AccountId = account("caller", 0, SEED);279 let sender: T::AccountId = account("sender", 0, SEED);280281 create_max_collection::<T>(&sender)?;282 let src_collection_id = 0;283284 create_max_collection::<T>(&caller)?;285 let target_collection_id = 1;286287 let mut src_nft_builder = NftBuilder::new(src_collection_id);288 let src_nft_id = src_nft_builder.build::<T>(&sender)?;289290 let mut target_nft_builder = NftBuilder::new(target_collection_id);291 let fake_target_nft_id = target_nft_builder.build::<T>(&caller)?;292 let (_, target_nft_id) = target_nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;293294 let new_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::CollectionAndNftTuple(295 target_collection_id,296 fake_target_nft_id297 );298299 let actual_new_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::CollectionAndNftTuple(300 target_collection_id,301 target_nft_id302 );303304 <Pallet<T>>::send(305 RawOrigin::Signed(sender.clone()).into(),306 src_collection_id,307 src_nft_id,308 new_owner,309 )?;310 }: _(311 RawOrigin::Signed(caller),312 src_collection_id,313 src_nft_id,314 actual_new_owner315 )316317 reject_nft {318 let caller: T::AccountId = account("caller", 0, SEED);319 let sender: T::AccountId = account("sender", 0, SEED);320321 create_max_collection::<T>(&sender)?;322 let src_collection_id = 0;323324 create_max_collection::<T>(&caller)?;325 let target_collection_id = 1;326327 let mut src_nft_builder = NftBuilder::new(src_collection_id);328 let (src_root_nft_id, _) = src_nft_builder.build_tower::<T>(&sender, NESTING_BUDGET - 1)?;329330 let mut target_nft_builder = NftBuilder::new(target_collection_id);331 let target_nft_id = target_nft_builder.build::<T>(&caller)?;332333 let new_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::CollectionAndNftTuple(334 target_collection_id,335 target_nft_id336 );337338 <Pallet<T>>::send(339 RawOrigin::Signed(sender.clone()).into(),340 src_collection_id,341 src_root_nft_id,342 new_owner,343 )?;344 }: _(345 RawOrigin::Signed(caller),346 src_collection_id,347 src_root_nft_id348 )349350 set_property {351 let caller: T::AccountId = account("caller", 0, SEED);352 create_max_collection::<T>(&caller)?;353 let collection_id = 0;354355 let mut nft_builder = NftBuilder::new(collection_id);356 let (_, nft_id) = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;357358 let key = create_data();359 let value = create_data();360 }: _(361 RawOrigin::Signed(caller),362 collection_id,363 Some(nft_id),364 key,365 value366 )367368 set_priority {369 let caller: T::AccountId = account("caller", 0, SEED);370 create_max_collection::<T>(&caller)?;371 let collection_id = 0;372373 let mut nft_builder = NftBuilder::new(collection_id);374 let (_, nft_id) = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;375 let priorities = create_u32_array();376 }: _(377 RawOrigin::Signed(caller),378 collection_id,379 nft_id,380 priorities381 )382383 add_basic_resource {384 let caller: T::AccountId = account("caller", 0, SEED);385 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());386387 create_max_collection::<T>(&caller)?;388 let collection_id = 0;389390 let mut nft_builder = NftBuilder::new(collection_id);391 let (_, nft_id) = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;392 let resource = create_basic_resource();393 }: _(394 RawOrigin::Signed(caller),395 collection_id,396 nft_id,397 resource398 )399400 add_composable_resource {401 let caller: T::AccountId = account("caller", 0, SEED);402 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());403404 create_max_collection::<T>(&caller)?;405 let collection_id = 0;406407 let mut nft_builder = NftBuilder::new(collection_id);408 let (_, nft_id) = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;409 let resource = create_composable_resource();410 }: _(411 RawOrigin::Signed(caller),412 collection_id,413 nft_id,414 resource415 )416417 add_slot_resource {418 let caller: T::AccountId = account("caller", 0, SEED);419 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());420421 create_max_collection::<T>(&caller)?;422 let collection_id = 0;423424 let mut nft_builder = NftBuilder::new(collection_id);425 let (_, nft_id) = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;426 let resource = create_slot_resource();427 }: _(428 RawOrigin::Signed(caller),429 collection_id,430 nft_id,431 resource432 )433434 remove_resource {435 let caller: T::AccountId = account("caller", 0, SEED);436 <T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());437438 create_max_collection::<T>(&caller)?;439 let collection_id = 0;440441 let mut nft_builder = NftBuilder::new(collection_id);442 let (_, nft_id) = nft_builder.build_tower::<T>(&caller, NESTING_BUDGET - 1)?;443 let resource = create_basic_resource();444445 <Pallet<T>>::add_basic_resource(446 RawOrigin::Signed(caller.clone()).into(),447 collection_id,448 nft_id,449 resource450 )?;451452 let resource_id = 1;453 }: _(454 RawOrigin::Signed(caller),455 collection_id,456 nft_id,457 resource_id458 )459460 accept_resource {461 let caller: T::AccountId = account("caller", 0, SEED);462 let admin: T::AccountId = account("admin", 0, SEED);463464 <T as pallet_common::Config>::Currency::deposit_creating(&admin, T::CollectionCreationPrice::get());465466 create_max_collection::<T>(&admin)?;467 let collection_id = 0;468469 let mut nft_builder = NftBuilder::new(collection_id);470 let root_nft_id = 1;471 let (_, nested_nft_id) = nft_builder.build_tower::<T>(&admin, NESTING_BUDGET - 1)?;472 let resource = create_basic_resource();473474 let new_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::AccountId(caller.clone());475476 <Pallet<T>>::send(477 RawOrigin::Signed(admin.clone()).into(),478 collection_id,479 root_nft_id,480 new_owner,481 )?;482483 <Pallet<T>>::add_basic_resource(484 RawOrigin::Signed(admin.clone()).into(),485 collection_id,486 nested_nft_id,487 resource488 )?;489490 let resource_id = 1;491 }: _(492 RawOrigin::Signed(caller),493 collection_id,494 nested_nft_id,495 resource_id496 )497498 accept_resource_removal {499 let caller: T::AccountId = account("caller", 0, SEED);500 let admin: T::AccountId = account("admin", 0, SEED);501502 <T as pallet_common::Config>::Currency::deposit_creating(&admin, T::CollectionCreationPrice::get());503504 create_max_collection::<T>(&admin)?;505 let collection_id = 0;506507 let mut nft_builder = NftBuilder::new(collection_id);508 let root_nft_id = 1;509 let (_, nested_nft_id) = nft_builder.build_tower::<T>(&admin, NESTING_BUDGET - 1)?;510 let resource = create_basic_resource();511512 <Pallet<T>>::add_basic_resource(513 RawOrigin::Signed(admin.clone()).into(),514 collection_id,515 nested_nft_id,516 resource517 )?;518519 let resource_id = 1;520521 let new_owner = <RmrkAccountIdOrCollectionNftTuple<T::AccountId>>::AccountId(caller.clone());522523 <Pallet<T>>::send(524 RawOrigin::Signed(admin.clone()).into(),525 collection_id,526 root_nft_id,527 new_owner,528 )?;529530 <Pallet<T>>::remove_resource(531 RawOrigin::Signed(admin).into(),532 collection_id,533 nested_nft_id,534 resource_id535 )?;536 }: _(537 RawOrigin::Signed(caller),538 collection_id,539 nested_nft_id,540 resource_id541 )542}pallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth--- a/pallets/proxy-rmrk-core/src/lib.rs
+++ b/pallets/proxy-rmrk-core/src/lib.rs
@@ -344,7 +344,7 @@
/// - `metadata`: Arbitrary data about an nft, e.g. IPFS hash
/// - `transferable`: Ability to transfer this NFT
#[transactional]
- #[pallet::weight(<SelfWeightOf<T>>::mint_nft())]
+ #[pallet::weight(<SelfWeightOf<T>>::mint_nft(resources.as_ref().map(|r| r.len() as u32).unwrap_or(0)))]
pub fn mint_nft(
origin: OriginFor<T>,
owner: T::AccountId,
pallets/proxy-rmrk-core/src/weights.rsdiffbeforeafterboth--- a/pallets/proxy-rmrk-core/src/weights.rs
+++ b/pallets/proxy-rmrk-core/src/weights.rs
@@ -3,7 +3,7 @@
//! Autogenerated weights for pallet_proxy_rmrk_core
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-06-10, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-06-14, STEPS: `50`, REPEAT: 200, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
// Executed Command:
@@ -37,7 +37,7 @@
fn destroy_collection() -> Weight;
fn change_collection_issuer() -> Weight;
fn lock_collection() -> Weight;
- fn mint_nft() -> Weight;
+ fn mint_nft(b: u32, ) -> Weight;
fn burn_nft(b: u32, ) -> Weight;
fn send() -> Weight;
fn accept_nft() -> Weight;
@@ -64,7 +64,7 @@
// Storage: Common CollectionById (r:0 w:1)
// Storage: RmrkCore UniqueCollectionId (r:0 w:1)
fn create_collection() -> Weight {
- (40_837_000 as Weight)
+ (41_277_000 as Weight)
.saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(8 as Weight))
}
@@ -77,7 +77,7 @@
// Storage: Nonfungible TokensBurnt (r:0 w:1)
// Storage: Common AdminAmount (r:0 w:1)
fn destroy_collection() -> Weight {
- (44_544_000 as Weight)
+ (43_371_000 as Weight)
.saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(6 as Weight))
}
@@ -85,7 +85,7 @@
// Storage: Common CollectionById (r:1 w:1)
// Storage: Common CollectionProperties (r:1 w:0)
fn change_collection_issuer() -> Weight {
- (22_151_000 as Weight)
+ (21_891_000 as Weight)
.saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
@@ -95,7 +95,7 @@
// Storage: Nonfungible TokensMinted (r:1 w:0)
// Storage: Nonfungible TokensBurnt (r:1 w:0)
fn lock_collection() -> Weight {
- (23_766_000 as Weight)
+ (23_144_000 as Weight)
.saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
@@ -107,10 +107,18 @@
// Storage: Nonfungible TokenProperties (r:1 w:1)
// Storage: Nonfungible TokenData (r:0 w:1)
// Storage: Nonfungible Owned (r:0 w:1)
- fn mint_nft() -> Weight {
- (40_237_000 as Weight)
- .saturating_add(T::DbWeight::get().reads(6 as Weight))
- .saturating_add(T::DbWeight::get().writes(5 as Weight))
+ // Storage: Common CreatedCollectionCount (r:1 w:1)
+ // Storage: Common DestroyedCollectionCount (r:1 w:0)
+ // Storage: System Account (r:2 w:2)
+ // Storage: Common CollectionPropertyPermissions (r:0 w:1)
+ fn mint_nft(b: u32, ) -> Weight {
+ (68_329_000 as Weight)
+ // Standard Error: 3_000
+ .saturating_add((21_470_000 as Weight).saturating_mul(b as Weight))
+ .saturating_add(T::DbWeight::get().reads(12 as Weight))
+ .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+ .saturating_add(T::DbWeight::get().writes(12 as Weight))
+ .saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
}
// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
// Storage: Common CollectionProperties (r:1 w:0)
@@ -124,8 +132,8 @@
// Storage: Nonfungible TokenProperties (r:0 w:1)
fn burn_nft(b: u32, ) -> Weight {
(0 as Weight)
- // Standard Error: 1_023_000
- .saturating_add((318_424_000 as Weight).saturating_mul(b as Weight))
+ // Standard Error: 959_000
+ .saturating_add((305_872_000 as Weight).saturating_mul(b as Weight))
.saturating_add(T::DbWeight::get().reads(9 as Weight))
.saturating_add(T::DbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))
.saturating_add(T::DbWeight::get().writes(6 as Weight))
@@ -141,7 +149,7 @@
// Storage: Nonfungible TokenChildren (r:0 w:1)
// Storage: Nonfungible Owned (r:0 w:2)
fn send() -> Weight {
- (71_055_000 as Weight)
+ (71_405_000 as Weight)
.saturating_add(T::DbWeight::get().reads(12 as Weight))
.saturating_add(T::DbWeight::get().writes(6 as Weight))
}
@@ -155,7 +163,7 @@
// Storage: Nonfungible TokenChildren (r:0 w:1)
// Storage: Nonfungible Owned (r:0 w:2)
fn accept_nft() -> Weight {
- (79_098_000 as Weight)
+ (79_159_000 as Weight)
.saturating_add(T::DbWeight::get().reads(15 as Weight))
.saturating_add(T::DbWeight::get().writes(7 as Weight))
}
@@ -170,7 +178,7 @@
// Storage: Nonfungible Allowance (r:5 w:0)
// Storage: Nonfungible Owned (r:0 w:5)
fn reject_nft() -> Weight {
- (237_777_000 as Weight)
+ (238_179_000 as Weight)
.saturating_add(T::DbWeight::get().reads(29 as Weight))
.saturating_add(T::DbWeight::get().writes(25 as Weight))
}
@@ -180,7 +188,7 @@
// Storage: Nonfungible TokenProperties (r:1 w:1)
// Storage: Nonfungible TokenData (r:5 w:0)
fn set_property() -> Weight {
- (47_359_000 as Weight)
+ (47_770_000 as Weight)
.saturating_add(T::DbWeight::get().reads(9 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
@@ -190,7 +198,7 @@
// Storage: Nonfungible TokenProperties (r:1 w:1)
// Storage: Nonfungible TokenData (r:5 w:0)
fn set_priority() -> Weight {
- (46_537_000 as Weight)
+ (46_679_000 as Weight)
.saturating_add(T::DbWeight::get().reads(9 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
@@ -207,7 +215,7 @@
// Storage: Nonfungible Owned (r:0 w:1)
// Storage: Common CollectionPropertyPermissions (r:0 w:1)
fn add_basic_resource() -> Weight {
- (100_939_000 as Weight)
+ (100_770_000 as Weight)
.saturating_add(T::DbWeight::get().reads(16 as Weight))
.saturating_add(T::DbWeight::get().writes(12 as Weight))
}
@@ -224,7 +232,7 @@
// Storage: Nonfungible Owned (r:0 w:1)
// Storage: Common CollectionPropertyPermissions (r:0 w:1)
fn add_composable_resource() -> Weight {
- (101_821_000 as Weight)
+ (101_791_000 as Weight)
.saturating_add(T::DbWeight::get().reads(16 as Weight))
.saturating_add(T::DbWeight::get().writes(12 as Weight))
}
@@ -241,7 +249,7 @@
// Storage: Nonfungible Owned (r:0 w:1)
// Storage: Common CollectionPropertyPermissions (r:0 w:1)
fn add_slot_resource() -> Weight {
- (100_880_000 as Weight)
+ (101_610_000 as Weight)
.saturating_add(T::DbWeight::get().reads(16 as Weight))
.saturating_add(T::DbWeight::get().writes(12 as Weight))
}
@@ -256,7 +264,7 @@
// Storage: Nonfungible Allowance (r:1 w:0)
// Storage: Nonfungible Owned (r:0 w:1)
fn remove_resource() -> Weight {
- (79_831_000 as Weight)
+ (80_571_000 as Weight)
.saturating_add(T::DbWeight::get().reads(16 as Weight))
.saturating_add(T::DbWeight::get().writes(5 as Weight))
}
@@ -266,7 +274,7 @@
// Storage: Nonfungible TokenData (r:5 w:0)
// Storage: Nonfungible TokenProperties (r:2 w:1)
fn accept_resource() -> Weight {
- (54_573_000 as Weight)
+ (54_733_000 as Weight)
.saturating_add(T::DbWeight::get().reads(10 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
@@ -281,7 +289,7 @@
// Storage: Nonfungible Allowance (r:1 w:0)
// Storage: Nonfungible Owned (r:0 w:1)
fn accept_resource_removal() -> Weight {
- (83_426_000 as Weight)
+ (84_138_000 as Weight)
.saturating_add(T::DbWeight::get().reads(17 as Weight))
.saturating_add(T::DbWeight::get().writes(5 as Weight))
}
@@ -298,7 +306,7 @@
// Storage: Common CollectionById (r:0 w:1)
// Storage: RmrkCore UniqueCollectionId (r:0 w:1)
fn create_collection() -> Weight {
- (40_837_000 as Weight)
+ (41_277_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
.saturating_add(RocksDbWeight::get().writes(8 as Weight))
}
@@ -311,7 +319,7 @@
// Storage: Nonfungible TokensBurnt (r:0 w:1)
// Storage: Common AdminAmount (r:0 w:1)
fn destroy_collection() -> Weight {
- (44_544_000 as Weight)
+ (43_371_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
.saturating_add(RocksDbWeight::get().writes(6 as Weight))
}
@@ -319,7 +327,7 @@
// Storage: Common CollectionById (r:1 w:1)
// Storage: Common CollectionProperties (r:1 w:0)
fn change_collection_issuer() -> Weight {
- (22_151_000 as Weight)
+ (21_891_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
@@ -329,7 +337,7 @@
// Storage: Nonfungible TokensMinted (r:1 w:0)
// Storage: Nonfungible TokensBurnt (r:1 w:0)
fn lock_collection() -> Weight {
- (23_766_000 as Weight)
+ (23_144_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
@@ -341,10 +349,18 @@
// Storage: Nonfungible TokenProperties (r:1 w:1)
// Storage: Nonfungible TokenData (r:0 w:1)
// Storage: Nonfungible Owned (r:0 w:1)
- fn mint_nft() -> Weight {
- (40_237_000 as Weight)
- .saturating_add(RocksDbWeight::get().reads(6 as Weight))
- .saturating_add(RocksDbWeight::get().writes(5 as Weight))
+ // Storage: Common CreatedCollectionCount (r:1 w:1)
+ // Storage: Common DestroyedCollectionCount (r:1 w:0)
+ // Storage: System Account (r:2 w:2)
+ // Storage: Common CollectionPropertyPermissions (r:0 w:1)
+ fn mint_nft(b: u32, ) -> Weight {
+ (68_329_000 as Weight)
+ // Standard Error: 3_000
+ .saturating_add((21_470_000 as Weight).saturating_mul(b as Weight))
+ .saturating_add(RocksDbWeight::get().reads(12 as Weight))
+ .saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+ .saturating_add(RocksDbWeight::get().writes(12 as Weight))
+ .saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
}
// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
// Storage: Common CollectionProperties (r:1 w:0)
@@ -358,8 +374,8 @@
// Storage: Nonfungible TokenProperties (r:0 w:1)
fn burn_nft(b: u32, ) -> Weight {
(0 as Weight)
- // Standard Error: 1_023_000
- .saturating_add((318_424_000 as Weight).saturating_mul(b as Weight))
+ // Standard Error: 959_000
+ .saturating_add((305_872_000 as Weight).saturating_mul(b as Weight))
.saturating_add(RocksDbWeight::get().reads(9 as Weight))
.saturating_add(RocksDbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))
.saturating_add(RocksDbWeight::get().writes(6 as Weight))
@@ -375,7 +391,7 @@
// Storage: Nonfungible TokenChildren (r:0 w:1)
// Storage: Nonfungible Owned (r:0 w:2)
fn send() -> Weight {
- (71_055_000 as Weight)
+ (71_405_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(12 as Weight))
.saturating_add(RocksDbWeight::get().writes(6 as Weight))
}
@@ -389,7 +405,7 @@
// Storage: Nonfungible TokenChildren (r:0 w:1)
// Storage: Nonfungible Owned (r:0 w:2)
fn accept_nft() -> Weight {
- (79_098_000 as Weight)
+ (79_159_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(15 as Weight))
.saturating_add(RocksDbWeight::get().writes(7 as Weight))
}
@@ -404,7 +420,7 @@
// Storage: Nonfungible Allowance (r:5 w:0)
// Storage: Nonfungible Owned (r:0 w:5)
fn reject_nft() -> Weight {
- (237_777_000 as Weight)
+ (238_179_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(29 as Weight))
.saturating_add(RocksDbWeight::get().writes(25 as Weight))
}
@@ -414,7 +430,7 @@
// Storage: Nonfungible TokenProperties (r:1 w:1)
// Storage: Nonfungible TokenData (r:5 w:0)
fn set_property() -> Weight {
- (47_359_000 as Weight)
+ (47_770_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(9 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
@@ -424,7 +440,7 @@
// Storage: Nonfungible TokenProperties (r:1 w:1)
// Storage: Nonfungible TokenData (r:5 w:0)
fn set_priority() -> Weight {
- (46_537_000 as Weight)
+ (46_679_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(9 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
@@ -441,7 +457,7 @@
// Storage: Nonfungible Owned (r:0 w:1)
// Storage: Common CollectionPropertyPermissions (r:0 w:1)
fn add_basic_resource() -> Weight {
- (100_939_000 as Weight)
+ (100_770_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(16 as Weight))
.saturating_add(RocksDbWeight::get().writes(12 as Weight))
}
@@ -458,7 +474,7 @@
// Storage: Nonfungible Owned (r:0 w:1)
// Storage: Common CollectionPropertyPermissions (r:0 w:1)
fn add_composable_resource() -> Weight {
- (101_821_000 as Weight)
+ (101_791_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(16 as Weight))
.saturating_add(RocksDbWeight::get().writes(12 as Weight))
}
@@ -475,7 +491,7 @@
// Storage: Nonfungible Owned (r:0 w:1)
// Storage: Common CollectionPropertyPermissions (r:0 w:1)
fn add_slot_resource() -> Weight {
- (100_880_000 as Weight)
+ (101_610_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(16 as Weight))
.saturating_add(RocksDbWeight::get().writes(12 as Weight))
}
@@ -490,7 +506,7 @@
// Storage: Nonfungible Allowance (r:1 w:0)
// Storage: Nonfungible Owned (r:0 w:1)
fn remove_resource() -> Weight {
- (79_831_000 as Weight)
+ (80_571_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(16 as Weight))
.saturating_add(RocksDbWeight::get().writes(5 as Weight))
}
@@ -500,7 +516,7 @@
// Storage: Nonfungible TokenData (r:5 w:0)
// Storage: Nonfungible TokenProperties (r:2 w:1)
fn accept_resource() -> Weight {
- (54_573_000 as Weight)
+ (54_733_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(10 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
@@ -515,7 +531,7 @@
// Storage: Nonfungible Allowance (r:1 w:0)
// Storage: Nonfungible Owned (r:0 w:1)
fn accept_resource_removal() -> Weight {
- (83_426_000 as Weight)
+ (84_138_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(17 as Weight))
.saturating_add(RocksDbWeight::get().writes(5 as Weight))
}