git.delta.rocks / unique-network / refs/commits / 22b45b5cd782

difftreelog

Merge pull request #1000 from UniqueNetwork/fix/minting-prop-weight

Yaroslav Bolyukin2023-10-02parents: #dc6f0e2 #630fc89.patch.diff
in: master
Refactor property writing + dev mode enhancements

42 files changed

modified.docker/Dockerfile-chain-devdiffbeforeafterboth
2121
22WORKDIR /dev_chain22WORKDIR /dev_chain
2323
24RUN cargo build --release24RUN cargo build --profile integration-tests --features=${NETWORK}-runtime
25RUN echo "$NETWORK"25RUN echo "$NETWORK"
2626
27CMD cargo run --release --features=${NETWORK}-runtime -- --dev -linfo --rpc-cors=all --unsafe-rpc-external27CMD cargo run --profile integration-tests --features=${NETWORK}-runtime -- --dev -linfo --rpc-cors=all --unsafe-rpc-external
2828
modified.docker/Dockerfile-uniquediffbeforeafterboth
47 --mount=type=cache,target=/unique_parachain/unique-chain/target \47 --mount=type=cache,target=/unique_parachain/unique-chain/target \
48 cd unique-chain && \48 cd unique-chain && \
49 echo "Using runtime features '$RUNTIME_FEATURES'" && \49 echo "Using runtime features '$RUNTIME_FEATURES'" && \
50 CARGO_INCREMENTAL=0 cargo build --release --features="$RUNTIME_FEATURES" --locked && \50 CARGO_INCREMENTAL=0 cargo build --profile integration-tests --features="$RUNTIME_FEATURES" --locked && \
51 mv ./target/release/unique-collator /unique_parachain/unique-chain/ && \51 mv ./target/release/unique-collator /unique_parachain/unique-chain/ && \
52 cd target/release/wbuild && find . -name "*.wasm" -exec sh -c 'mkdir -p "../../../wasm/$(dirname {})"; cp {} "../../../wasm/{}"' \;52 cd target/release/wbuild && find . -name "*.wasm" -exec sh -c 'mkdir -p "../../../wasm/$(dirname {})"; cp {} "../../../wasm/{}"' \;
5353
modified.docker/docker-compose.gov.j2diffbeforeafterboth
21 options:21 options:
22 max-size: "1m"22 max-size: "1m"
23 max-file: "3"23 max-file: "3"
24 command: cargo run --release --features={{ NETWORK }}-runtime,gov-test-timings -- --dev -linfo --rpc-cors=all --unsafe-rpc-external24 command: cargo run --profile integration-tests --features={{ NETWORK }}-runtime,gov-test-timings -- --dev -linfo --rpc-cors=all --unsafe-rpc-external
2525
modifiedCargo.tomldiffbeforeafterboth
24lto = true24lto = true
25opt-level = 325opt-level = 3
26
27[profile.integration-tests]
28inherits = "release"
29debug-assertions = true
2630
27[workspace.dependencies]31[workspace.dependencies]
28# Unique32# Unique
modifiedMakefilediffbeforeafterboth
9090
91.PHONY: _bench91.PHONY: _bench
92_bench:92_bench:
93 cargo run --release --features runtime-benchmarks,$(RUNTIME) -- \93 cargo run --profile production --features runtime-benchmarks,$(RUNTIME) -- \
94 benchmark pallet --pallet pallet-$(if $(PALLET),$(PALLET),$(error Must set PALLET)) \94 benchmark pallet --pallet pallet-$(if $(PALLET),$(PALLET),$(error Must set PALLET)) \
95 --wasm-execution compiled --extrinsic '*' \95 --wasm-execution compiled --extrinsic '*' \
96 $(if $(TEMPLATE),$(TEMPLATE),--template=.maintain/frame-weight-template.hbs) --steps=50 --repeat=80 --heap-pages=4096 \96 $(if $(TEMPLATE),$(TEMPLATE),--template=.maintain/frame-weight-template.hbs) --steps=50 --repeat=80 --heap-pages=4096 \
modifiednode/cli/src/cli.rsdiffbeforeafterboth
80 /// an empty block will be sealed automatically80 /// an empty block will be sealed automatically
81 /// after the `--idle-autoseal-interval` milliseconds.81 /// after the `--idle-autoseal-interval` milliseconds.
82 ///82 ///
83 /// The default interval is 500 milliseconds83 /// The default interval is 500 milliseconds.
84 #[structopt(default_value = "500", long)]84 #[structopt(default_value = "500", long)]
85 pub idle_autoseal_interval: u64,85 pub idle_autoseal_interval: u64,
86
87 /// Disable auto-sealing blocks on new transactions in the `--dev` mode.
88 #[structopt(long)]
89 pub disable_autoseal_on_tx: bool,
90
91 /// Finalization delay (in seconds) of auto-sealed blocks in the `--dev` mode.
92 ///
93 /// Disabled by default.
94 #[structopt(long)]
95 pub autoseal_finalization_delay: Option<u64>,
8696
87 /// Disable automatic hardware benchmarks.97 /// Disable automatic hardware benchmarks.
88 ///98 ///
modifiednode/cli/src/command.rsdiffbeforeafterboth
62use sc_service::config::{BasePath, PrometheusConfig};62use sc_service::config::{BasePath, PrometheusConfig};
63use sp_core::hexdisplay::HexDisplay;63use sp_core::hexdisplay::HexDisplay;
64use sp_runtime::traits::{AccountIdConversion, Block as BlockT};64use sp_runtime::traits::{AccountIdConversion, Block as BlockT};
65use std::{time::Duration};
6665
67use up_common::types::opaque::{Block, RuntimeId};66use up_common::types::opaque::{Block, RuntimeId};
6867
481 if is_dev_service {480 if is_dev_service {
482 info!("Running Dev service");481 info!("Running Dev service");
483
484 let autoseal_interval = Duration::from_millis(cli.idle_autoseal_interval);
485482
486 let mut config = config;483 let mut config = config;
487484
488 config.state_pruning = Some(sc_service::PruningMode::ArchiveAll);485 config.state_pruning = Some(sc_service::PruningMode::ArchiveAll);
489486
490 return start_node_using_chain_runtime! {487 return start_node_using_chain_runtime! {
491 start_dev_node(config, autoseal_interval).map_err(Into::into)488 start_dev_node(config, cli.idle_autoseal_interval, cli.autoseal_finalization_delay, cli.disable_autoseal_on_tx).map_err(Into::into)
492 };489 };
493 };490 };
494491
modifiednode/cli/src/service.rsdiffbeforeafterboth
169}169}
170170
171impl AutosealInterval {171impl AutosealInterval {
172 pub fn new(config: &Configuration, interval: Duration) -> Self {172 pub fn new(config: &Configuration, interval: u64) -> Self {
173 let _tokio_runtime = config.tokio_handle.enter();173 let _tokio_runtime = config.tokio_handle.enter();
174 let interval = tokio::time::interval(interval);174 let interval = tokio::time::interval(Duration::from_millis(interval));
175175
176 Self { interval }176 Self { interval }
177 }177 }
885/// the parachain inherent885/// the parachain inherent
886pub fn start_dev_node<Runtime, RuntimeApi, ExecutorDispatch>(886pub fn start_dev_node<Runtime, RuntimeApi, ExecutorDispatch>(
887 config: Configuration,887 config: Configuration,
888 autoseal_interval: Duration,888 autoseal_interval: u64,
889 autoseal_finalize_delay: Option<u64>,
890 disable_autoseal_on_tx: bool,
889) -> sc_service::error::Result<TaskManager>891) -> sc_service::error::Result<TaskManager>
890where892where
891 Runtime: RuntimeInstance + Send + Sync + 'static,893 Runtime: RuntimeInstance + Send + Sync + 'static,
913 ExecutorDispatch: NativeExecutionDispatch + 'static,915 ExecutorDispatch: NativeExecutionDispatch + 'static,
914{916{
915 use sc_consensus_manual_seal::{run_manual_seal, EngineCommand, ManualSealParams};917 use sc_consensus_manual_seal::{
918 run_manual_seal, run_delayed_finalize, EngineCommand, ManualSealParams,
919 DelayedFinalizeParams,
920 };
916 use fc_consensus::FrontierBlockImport;921 use fc_consensus::FrontierBlockImport;
917922
980 .pool()985 .pool()
981 .validated_pool()986 .validated_pool()
982 .import_notification_stream()987 .import_notification_stream()
988 .filter(move |_| futures::future::ready(!disable_autoseal_on_tx))
983 .map(|_| EngineCommand::SealNewBlock {989 .map(|_| EngineCommand::SealNewBlock {
984 create_empty: true,990 create_empty: true,
985 finalize: false, // todo:collator finalize true991 finalize: false,
986 parent_hash: None,992 parent_hash: None,
987 sender: None,993 sender: None,
988 }),994 }),
993 dyn Stream<Item = EngineCommand<Hash>> + Send + Sync + Unpin,1000 dyn Stream<Item = EngineCommand<Hash>> + Send + Sync + Unpin,
994 > = Box::new(autoseal_interval.map(|_| EngineCommand::SealNewBlock {1001 > = Box::new(autoseal_interval.map(|_| EngineCommand::SealNewBlock {
995 create_empty: true,1002 create_empty: true,
996 finalize: false, // todo:collator finalize true1003 finalize: false,
997 parent_hash: None,1004 parent_hash: None,
998 sender: None,1005 sender: None,
999 }));1006 }));
1003 let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;1010 let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
1004 let client_set_aside_for_cidp = client.clone();1011 let client_set_aside_for_cidp = client.clone();
1012
1013 if let Some(delay_sec) = autoseal_finalize_delay {
1014 let spawn_handle = task_manager.spawn_handle();
1015
1016 task_manager.spawn_essential_handle().spawn_blocking(
1017 "finalization_task",
1018 Some("block-authoring"),
1019 run_delayed_finalize(DelayedFinalizeParams {
1020 client: client.clone(),
1021 delay_sec,
1022 spawn_handle,
1023 }),
1024 );
1025 }
10051026
1006 task_manager.spawn_essential_handle().spawn_blocking(1027 task_manager.spawn_essential_handle().spawn_blocking(
1007 "authorship_task",1028 "authorship_task",
modifiedpallets/app-promotion/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_app_promotion3//! Autogenerated weights for pallet_app_promotion
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-26, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/app-promotion/src/weights.rs25// --output=./pallets/app-promotion/src/weights.rs
2626
48/// Weights for pallet_app_promotion using the Substrate node and recommended hardware.48/// Weights for pallet_app_promotion using the Substrate node and recommended hardware.
49pub struct SubstrateWeight<T>(PhantomData<T>);49pub struct SubstrateWeight<T>(PhantomData<T>);
50impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {50impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
51 /// Storage: Maintenance Enabled (r:1 w:0)
52 /// Proof: Maintenance Enabled (max_values: Some(1), max_size: Some(1), added: 496, mode: MaxEncodedLen)
51 /// Storage: AppPromotion PendingUnstake (r:1 w:1)53 /// Storage: AppPromotion PendingUnstake (r:1 w:1)
52 /// Proof: AppPromotion PendingUnstake (max_values: None, max_size: Some(157), added: 2632, mode: MaxEncodedLen)54 /// Proof: AppPromotion PendingUnstake (max_values: None, max_size: Some(157), added: 2632, mode: MaxEncodedLen)
53 /// Storage: Balances Locks (r:3 w:3)55 /// Storage: Balances Freezes (r:3 w:3)
54 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)56 /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
55 /// Storage: System Account (r:3 w:3)57 /// Storage: System Account (r:3 w:3)
56 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)58 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
59 /// Storage: Balances Locks (r:3 w:0)
60 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
57 /// The range of component `b` is `[0, 3]`.61 /// The range of component `b` is `[0, 3]`.
58 fn on_initialize(b: u32, ) -> Weight {62 fn on_initialize(b: u32, ) -> Weight {
59 // Proof Size summary in bytes:63 // Proof Size summary in bytes:
60 // Measured: `180 + b * (277 ±0)`64 // Measured: `222 + b * (285 ±0)`
61 // Estimated: `5602 + b * (6377 ±0)`65 // Estimated: `3622 + b * (3774 ±0)`
62 // Minimum execution time: 3_724_000 picoseconds.66 // Minimum execution time: 4_107_000 picoseconds.
63 Weight::from_parts(4_538_653, 5602)67 Weight::from_parts(4_751_973, 3622)
64 // Standard Error: 14_77468 // Standard Error: 4_668
65 .saturating_add(Weight::from_parts(10_368_686, 0).saturating_mul(b.into()))69 .saturating_add(Weight::from_parts(10_570_330, 0).saturating_mul(b.into()))
66 .saturating_add(T::DbWeight::get().reads(1_u64))70 .saturating_add(T::DbWeight::get().reads(2_u64))
67 .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(b.into())))71 .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(b.into())))
68 .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(b.into())))72 .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(b.into())))
69 .saturating_add(Weight::from_parts(0, 6377).saturating_mul(b.into()))73 .saturating_add(Weight::from_parts(0, 3774).saturating_mul(b.into()))
70 }74 }
71 /// Storage: AppPromotion Admin (r:0 w:1)75 /// Storage: AppPromotion Admin (r:0 w:1)
72 /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)76 /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
73 fn set_admin_address() -> Weight {77 fn set_admin_address() -> Weight {
74 // Proof Size summary in bytes:78 // Proof Size summary in bytes:
75 // Measured: `0`79 // Measured: `0`
76 // Estimated: `0`80 // Estimated: `0`
77 // Minimum execution time: 5_426_000 picoseconds.81 // Minimum execution time: 3_459_000 picoseconds.
78 Weight::from_parts(6_149_000, 0)82 Weight::from_parts(3_627_000, 0)
79 .saturating_add(T::DbWeight::get().writes(1_u64))83 .saturating_add(T::DbWeight::get().writes(1_u64))
80 }84 }
81 /// Storage: AppPromotion Admin (r:1 w:0)85 /// Storage: AppPromotion Admin (r:1 w:0)
90 /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)94 /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)
91 /// Storage: System Account (r:101 w:101)95 /// Storage: System Account (r:101 w:101)
92 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)96 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
97 /// Storage: Balances Freezes (r:100 w:100)
98 /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
93 /// Storage: Balances Locks (r:100 w:100)99 /// Storage: Balances Locks (r:100 w:0)
94 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)100 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
95 /// Storage: AppPromotion TotalStaked (r:1 w:1)101 /// Storage: AppPromotion TotalStaked (r:1 w:1)
96 /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)102 /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
97 /// The range of component `b` is `[1, 100]`.103 /// The range of component `b` is `[1, 100]`.
98 fn payout_stakers(b: u32, ) -> Weight {104 fn payout_stakers(b: u32, ) -> Weight {
99 // Proof Size summary in bytes:105 // Proof Size summary in bytes:
100 // Measured: `531 + b * (633 ±0)`106 // Measured: `564 + b * (641 ±0)`
101 // Estimated: `16194 + b * (32560 ±0)`107 // Estimated: `3593 + b * (25550 ±0)`
102 // Minimum execution time: 84_632_000 picoseconds.108 // Minimum execution time: 73_245_000 picoseconds.
103 Weight::from_parts(800_384, 16194)109 Weight::from_parts(74_196_000, 3593)
104 // Standard Error: 19_457110 // Standard Error: 8_231
105 .saturating_add(Weight::from_parts(49_393_958, 0).saturating_mul(b.into()))111 .saturating_add(Weight::from_parts(49_090_053, 0).saturating_mul(b.into()))
106 .saturating_add(T::DbWeight::get().reads(7_u64))112 .saturating_add(T::DbWeight::get().reads(7_u64))
107 .saturating_add(T::DbWeight::get().reads((12_u64).saturating_mul(b.into())))113 .saturating_add(T::DbWeight::get().reads((13_u64).saturating_mul(b.into())))
108 .saturating_add(T::DbWeight::get().writes(3_u64))114 .saturating_add(T::DbWeight::get().writes(3_u64))
109 .saturating_add(T::DbWeight::get().writes((12_u64).saturating_mul(b.into())))115 .saturating_add(T::DbWeight::get().writes((12_u64).saturating_mul(b.into())))
110 .saturating_add(Weight::from_parts(0, 32560).saturating_mul(b.into()))116 .saturating_add(Weight::from_parts(0, 25550).saturating_mul(b.into()))
111 }117 }
112 /// Storage: AppPromotion StakesPerAccount (r:1 w:1)118 /// Storage: AppPromotion StakesPerAccount (r:1 w:1)
113 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)119 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
114 /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)120 /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)
115 /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen)121 /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen)
116 /// Storage: System Account (r:1 w:1)122 /// Storage: System Account (r:1 w:1)
117 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)123 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
124 /// Storage: Balances Freezes (r:1 w:1)
125 /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
118 /// Storage: Balances Locks (r:1 w:1)126 /// Storage: Balances Locks (r:1 w:0)
119 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)127 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
120 /// Storage: ParachainSystem ValidationData (r:1 w:0)128 /// Storage: ParachainSystem ValidationData (r:1 w:0)
121 /// Proof Skipped: ParachainSystem ValidationData (max_values: Some(1), max_size: None, mode: Measured)129 /// Proof Skipped: ParachainSystem ValidationData (max_values: Some(1), max_size: None, mode: Measured)
125 /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)133 /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
126 fn stake() -> Weight {134 fn stake() -> Weight {
127 // Proof Size summary in bytes:135 // Proof Size summary in bytes:
128 // Measured: `356`136 // Measured: `389`
129 // Estimated: `20260`137 // Estimated: `4764`
130 // Minimum execution time: 24_750_000 picoseconds.138 // Minimum execution time: 21_088_000 picoseconds.
131 Weight::from_parts(25_157_000, 20260)139 Weight::from_parts(21_639_000, 4764)
132 .saturating_add(T::DbWeight::get().reads(7_u64))140 .saturating_add(T::DbWeight::get().reads(8_u64))
133 .saturating_add(T::DbWeight::get().writes(5_u64))141 .saturating_add(T::DbWeight::get().writes(5_u64))
134 }142 }
135 /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)143 /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)
144 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)152 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
145 fn unstake_all() -> Weight {153 fn unstake_all() -> Weight {
146 // Proof Size summary in bytes:154 // Proof Size summary in bytes:
147 // Measured: `796`155 // Measured: `829`
148 // Estimated: `35720`156 // Estimated: `29095`
149 // Minimum execution time: 53_670_000 picoseconds.157 // Minimum execution time: 42_086_000 picoseconds.
150 Weight::from_parts(54_376_000, 35720)158 Weight::from_parts(43_149_000, 29095)
151 .saturating_add(T::DbWeight::get().reads(14_u64))159 .saturating_add(T::DbWeight::get().reads(14_u64))
152 .saturating_add(T::DbWeight::get().writes(13_u64))160 .saturating_add(T::DbWeight::get().writes(13_u64))
153 }161 }
163 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)171 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
164 fn unstake_partial() -> Weight {172 fn unstake_partial() -> Weight {
165 // Proof Size summary in bytes:173 // Proof Size summary in bytes:
166 // Measured: `796`174 // Measured: `829`
167 // Estimated: `39234`175 // Estimated: `29095`
168 // Minimum execution time: 58_317_000 picoseconds.176 // Minimum execution time: 46_458_000 picoseconds.
169 Weight::from_parts(59_059_000, 39234)177 Weight::from_parts(47_333_000, 29095)
170 .saturating_add(T::DbWeight::get().reads(15_u64))178 .saturating_add(T::DbWeight::get().reads(15_u64))
171 .saturating_add(T::DbWeight::get().writes(13_u64))179 .saturating_add(T::DbWeight::get().writes(13_u64))
172 }180 }
176 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)184 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
177 fn sponsor_collection() -> Weight {185 fn sponsor_collection() -> Weight {
178 // Proof Size summary in bytes:186 // Proof Size summary in bytes:
179 // Measured: `1027`187 // Measured: `1060`
180 // Estimated: `5842`188 // Estimated: `4325`
181 // Minimum execution time: 18_117_000 picoseconds.189 // Minimum execution time: 12_827_000 picoseconds.
182 Weight::from_parts(18_634_000, 5842)190 Weight::from_parts(13_610_000, 4325)
183 .saturating_add(T::DbWeight::get().reads(2_u64))191 .saturating_add(T::DbWeight::get().reads(2_u64))
184 .saturating_add(T::DbWeight::get().writes(1_u64))192 .saturating_add(T::DbWeight::get().writes(1_u64))
185 }193 }
189 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)197 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
190 fn stop_sponsoring_collection() -> Weight {198 fn stop_sponsoring_collection() -> Weight {
191 // Proof Size summary in bytes:199 // Proof Size summary in bytes:
192 // Measured: `1059`200 // Measured: `1092`
193 // Estimated: `5842`201 // Estimated: `4325`
194 // Minimum execution time: 16_999_000 picoseconds.202 // Minimum execution time: 11_899_000 picoseconds.
195 Weight::from_parts(17_417_000, 5842)203 Weight::from_parts(12_303_000, 4325)
196 .saturating_add(T::DbWeight::get().reads(2_u64))204 .saturating_add(T::DbWeight::get().reads(2_u64))
197 .saturating_add(T::DbWeight::get().writes(1_u64))205 .saturating_add(T::DbWeight::get().writes(1_u64))
198 }206 }
204 // Proof Size summary in bytes:212 // Proof Size summary in bytes:
205 // Measured: `198`213 // Measured: `198`
206 // Estimated: `1517`214 // Estimated: `1517`
207 // Minimum execution time: 14_438_000 picoseconds.215 // Minimum execution time: 10_226_000 picoseconds.
208 Weight::from_parts(14_931_000, 1517)216 Weight::from_parts(10_549_000, 1517)
209 .saturating_add(T::DbWeight::get().reads(1_u64))217 .saturating_add(T::DbWeight::get().reads(1_u64))
210 .saturating_add(T::DbWeight::get().writes(1_u64))218 .saturating_add(T::DbWeight::get().writes(1_u64))
211 }219 }
215 /// Proof: EvmContractHelpers Sponsoring (max_values: None, max_size: Some(62), added: 2537, mode: MaxEncodedLen)223 /// Proof: EvmContractHelpers Sponsoring (max_values: None, max_size: Some(62), added: 2537, mode: MaxEncodedLen)
216 fn stop_sponsoring_contract() -> Weight {224 fn stop_sponsoring_contract() -> Weight {
217 // Proof Size summary in bytes:225 // Proof Size summary in bytes:
218 // Measured: `363`226 // Measured: `396`
219 // Estimated: `5044`227 // Estimated: `3527`
220 // Minimum execution time: 14_786_000 picoseconds.228 // Minimum execution time: 10_528_000 picoseconds.
221 Weight::from_parts(15_105_000, 5044)229 Weight::from_parts(10_842_000, 3527)
222 .saturating_add(T::DbWeight::get().reads(2_u64))230 .saturating_add(T::DbWeight::get().reads(2_u64))
223 .saturating_add(T::DbWeight::get().writes(1_u64))231 .saturating_add(T::DbWeight::get().writes(1_u64))
224 }232 }
225}233}
226234
227// For backwards compatibility and tests235// For backwards compatibility and tests
228impl WeightInfo for () {236impl WeightInfo for () {
237 /// Storage: Maintenance Enabled (r:1 w:0)
238 /// Proof: Maintenance Enabled (max_values: Some(1), max_size: Some(1), added: 496, mode: MaxEncodedLen)
229 /// Storage: AppPromotion PendingUnstake (r:1 w:1)239 /// Storage: AppPromotion PendingUnstake (r:1 w:1)
230 /// Proof: AppPromotion PendingUnstake (max_values: None, max_size: Some(157), added: 2632, mode: MaxEncodedLen)240 /// Proof: AppPromotion PendingUnstake (max_values: None, max_size: Some(157), added: 2632, mode: MaxEncodedLen)
231 /// Storage: Balances Locks (r:3 w:3)241 /// Storage: Balances Freezes (r:3 w:3)
232 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)242 /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
233 /// Storage: System Account (r:3 w:3)243 /// Storage: System Account (r:3 w:3)
234 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)244 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
245 /// Storage: Balances Locks (r:3 w:0)
246 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
235 /// The range of component `b` is `[0, 3]`.247 /// The range of component `b` is `[0, 3]`.
236 fn on_initialize(b: u32, ) -> Weight {248 fn on_initialize(b: u32, ) -> Weight {
237 // Proof Size summary in bytes:249 // Proof Size summary in bytes:
238 // Measured: `180 + b * (277 ±0)`250 // Measured: `222 + b * (285 ±0)`
239 // Estimated: `5602 + b * (6377 ±0)`251 // Estimated: `3622 + b * (3774 ±0)`
240 // Minimum execution time: 3_724_000 picoseconds.252 // Minimum execution time: 4_107_000 picoseconds.
241 Weight::from_parts(4_538_653, 5602)253 Weight::from_parts(4_751_973, 3622)
242 // Standard Error: 14_774254 // Standard Error: 4_668
243 .saturating_add(Weight::from_parts(10_368_686, 0).saturating_mul(b.into()))255 .saturating_add(Weight::from_parts(10_570_330, 0).saturating_mul(b.into()))
244 .saturating_add(RocksDbWeight::get().reads(1_u64))256 .saturating_add(RocksDbWeight::get().reads(2_u64))
245 .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(b.into())))257 .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(b.into())))
246 .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(b.into())))258 .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(b.into())))
247 .saturating_add(Weight::from_parts(0, 6377).saturating_mul(b.into()))259 .saturating_add(Weight::from_parts(0, 3774).saturating_mul(b.into()))
248 }260 }
249 /// Storage: AppPromotion Admin (r:0 w:1)261 /// Storage: AppPromotion Admin (r:0 w:1)
250 /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)262 /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
251 fn set_admin_address() -> Weight {263 fn set_admin_address() -> Weight {
252 // Proof Size summary in bytes:264 // Proof Size summary in bytes:
253 // Measured: `0`265 // Measured: `0`
254 // Estimated: `0`266 // Estimated: `0`
255 // Minimum execution time: 5_426_000 picoseconds.267 // Minimum execution time: 3_459_000 picoseconds.
256 Weight::from_parts(6_149_000, 0)268 Weight::from_parts(3_627_000, 0)
257 .saturating_add(RocksDbWeight::get().writes(1_u64))269 .saturating_add(RocksDbWeight::get().writes(1_u64))
258 }270 }
259 /// Storage: AppPromotion Admin (r:1 w:0)271 /// Storage: AppPromotion Admin (r:1 w:0)
268 /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)280 /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)
269 /// Storage: System Account (r:101 w:101)281 /// Storage: System Account (r:101 w:101)
270 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)282 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
283 /// Storage: Balances Freezes (r:100 w:100)
284 /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
271 /// Storage: Balances Locks (r:100 w:100)285 /// Storage: Balances Locks (r:100 w:0)
272 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)286 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
273 /// Storage: AppPromotion TotalStaked (r:1 w:1)287 /// Storage: AppPromotion TotalStaked (r:1 w:1)
274 /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)288 /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
275 /// The range of component `b` is `[1, 100]`.289 /// The range of component `b` is `[1, 100]`.
276 fn payout_stakers(b: u32, ) -> Weight {290 fn payout_stakers(b: u32, ) -> Weight {
277 // Proof Size summary in bytes:291 // Proof Size summary in bytes:
278 // Measured: `531 + b * (633 ±0)`292 // Measured: `564 + b * (641 ±0)`
279 // Estimated: `16194 + b * (32560 ±0)`293 // Estimated: `3593 + b * (25550 ±0)`
280 // Minimum execution time: 84_632_000 picoseconds.294 // Minimum execution time: 73_245_000 picoseconds.
281 Weight::from_parts(800_384, 16194)295 Weight::from_parts(74_196_000, 3593)
282 // Standard Error: 19_457296 // Standard Error: 8_231
283 .saturating_add(Weight::from_parts(49_393_958, 0).saturating_mul(b.into()))297 .saturating_add(Weight::from_parts(49_090_053, 0).saturating_mul(b.into()))
284 .saturating_add(RocksDbWeight::get().reads(7_u64))298 .saturating_add(RocksDbWeight::get().reads(7_u64))
285 .saturating_add(RocksDbWeight::get().reads((12_u64).saturating_mul(b.into())))299 .saturating_add(RocksDbWeight::get().reads((13_u64).saturating_mul(b.into())))
286 .saturating_add(RocksDbWeight::get().writes(3_u64))300 .saturating_add(RocksDbWeight::get().writes(3_u64))
287 .saturating_add(RocksDbWeight::get().writes((12_u64).saturating_mul(b.into())))301 .saturating_add(RocksDbWeight::get().writes((12_u64).saturating_mul(b.into())))
288 .saturating_add(Weight::from_parts(0, 32560).saturating_mul(b.into()))302 .saturating_add(Weight::from_parts(0, 25550).saturating_mul(b.into()))
289 }303 }
290 /// Storage: AppPromotion StakesPerAccount (r:1 w:1)304 /// Storage: AppPromotion StakesPerAccount (r:1 w:1)
291 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)305 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
292 /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)306 /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)
293 /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen)307 /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen)
294 /// Storage: System Account (r:1 w:1)308 /// Storage: System Account (r:1 w:1)
295 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)309 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
310 /// Storage: Balances Freezes (r:1 w:1)
311 /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
296 /// Storage: Balances Locks (r:1 w:1)312 /// Storage: Balances Locks (r:1 w:0)
297 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)313 /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
298 /// Storage: ParachainSystem ValidationData (r:1 w:0)314 /// Storage: ParachainSystem ValidationData (r:1 w:0)
299 /// Proof Skipped: ParachainSystem ValidationData (max_values: Some(1), max_size: None, mode: Measured)315 /// Proof Skipped: ParachainSystem ValidationData (max_values: Some(1), max_size: None, mode: Measured)
303 /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)319 /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
304 fn stake() -> Weight {320 fn stake() -> Weight {
305 // Proof Size summary in bytes:321 // Proof Size summary in bytes:
306 // Measured: `356`322 // Measured: `389`
307 // Estimated: `20260`323 // Estimated: `4764`
308 // Minimum execution time: 24_750_000 picoseconds.324 // Minimum execution time: 21_088_000 picoseconds.
309 Weight::from_parts(25_157_000, 20260)325 Weight::from_parts(21_639_000, 4764)
310 .saturating_add(RocksDbWeight::get().reads(7_u64))326 .saturating_add(RocksDbWeight::get().reads(8_u64))
311 .saturating_add(RocksDbWeight::get().writes(5_u64))327 .saturating_add(RocksDbWeight::get().writes(5_u64))
312 }328 }
313 /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)329 /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)
322 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)338 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
323 fn unstake_all() -> Weight {339 fn unstake_all() -> Weight {
324 // Proof Size summary in bytes:340 // Proof Size summary in bytes:
325 // Measured: `796`341 // Measured: `829`
326 // Estimated: `35720`342 // Estimated: `29095`
327 // Minimum execution time: 53_670_000 picoseconds.343 // Minimum execution time: 42_086_000 picoseconds.
328 Weight::from_parts(54_376_000, 35720)344 Weight::from_parts(43_149_000, 29095)
329 .saturating_add(RocksDbWeight::get().reads(14_u64))345 .saturating_add(RocksDbWeight::get().reads(14_u64))
330 .saturating_add(RocksDbWeight::get().writes(13_u64))346 .saturating_add(RocksDbWeight::get().writes(13_u64))
331 }347 }
341 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)357 /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
342 fn unstake_partial() -> Weight {358 fn unstake_partial() -> Weight {
343 // Proof Size summary in bytes:359 // Proof Size summary in bytes:
344 // Measured: `796`360 // Measured: `829`
345 // Estimated: `39234`361 // Estimated: `29095`
346 // Minimum execution time: 58_317_000 picoseconds.362 // Minimum execution time: 46_458_000 picoseconds.
347 Weight::from_parts(59_059_000, 39234)363 Weight::from_parts(47_333_000, 29095)
348 .saturating_add(RocksDbWeight::get().reads(15_u64))364 .saturating_add(RocksDbWeight::get().reads(15_u64))
349 .saturating_add(RocksDbWeight::get().writes(13_u64))365 .saturating_add(RocksDbWeight::get().writes(13_u64))
350 }366 }
354 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)370 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
355 fn sponsor_collection() -> Weight {371 fn sponsor_collection() -> Weight {
356 // Proof Size summary in bytes:372 // Proof Size summary in bytes:
357 // Measured: `1027`373 // Measured: `1060`
358 // Estimated: `5842`374 // Estimated: `4325`
359 // Minimum execution time: 18_117_000 picoseconds.375 // Minimum execution time: 12_827_000 picoseconds.
360 Weight::from_parts(18_634_000, 5842)376 Weight::from_parts(13_610_000, 4325)
361 .saturating_add(RocksDbWeight::get().reads(2_u64))377 .saturating_add(RocksDbWeight::get().reads(2_u64))
362 .saturating_add(RocksDbWeight::get().writes(1_u64))378 .saturating_add(RocksDbWeight::get().writes(1_u64))
363 }379 }
367 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)383 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
368 fn stop_sponsoring_collection() -> Weight {384 fn stop_sponsoring_collection() -> Weight {
369 // Proof Size summary in bytes:385 // Proof Size summary in bytes:
370 // Measured: `1059`386 // Measured: `1092`
371 // Estimated: `5842`387 // Estimated: `4325`
372 // Minimum execution time: 16_999_000 picoseconds.388 // Minimum execution time: 11_899_000 picoseconds.
373 Weight::from_parts(17_417_000, 5842)389 Weight::from_parts(12_303_000, 4325)
374 .saturating_add(RocksDbWeight::get().reads(2_u64))390 .saturating_add(RocksDbWeight::get().reads(2_u64))
375 .saturating_add(RocksDbWeight::get().writes(1_u64))391 .saturating_add(RocksDbWeight::get().writes(1_u64))
376 }392 }
382 // Proof Size summary in bytes:398 // Proof Size summary in bytes:
383 // Measured: `198`399 // Measured: `198`
384 // Estimated: `1517`400 // Estimated: `1517`
385 // Minimum execution time: 14_438_000 picoseconds.401 // Minimum execution time: 10_226_000 picoseconds.
386 Weight::from_parts(14_931_000, 1517)402 Weight::from_parts(10_549_000, 1517)
387 .saturating_add(RocksDbWeight::get().reads(1_u64))403 .saturating_add(RocksDbWeight::get().reads(1_u64))
388 .saturating_add(RocksDbWeight::get().writes(1_u64))404 .saturating_add(RocksDbWeight::get().writes(1_u64))
389 }405 }
393 /// Proof: EvmContractHelpers Sponsoring (max_values: None, max_size: Some(62), added: 2537, mode: MaxEncodedLen)409 /// Proof: EvmContractHelpers Sponsoring (max_values: None, max_size: Some(62), added: 2537, mode: MaxEncodedLen)
394 fn stop_sponsoring_contract() -> Weight {410 fn stop_sponsoring_contract() -> Weight {
395 // Proof Size summary in bytes:411 // Proof Size summary in bytes:
396 // Measured: `363`412 // Measured: `396`
397 // Estimated: `5044`413 // Estimated: `3527`
398 // Minimum execution time: 14_786_000 picoseconds.414 // Minimum execution time: 10_528_000 picoseconds.
399 Weight::from_parts(15_105_000, 5044)415 Weight::from_parts(10_842_000, 3527)
400 .saturating_add(RocksDbWeight::get().reads(2_u64))416 .saturating_add(RocksDbWeight::get().reads(2_u64))
401 .saturating_add(RocksDbWeight::get().writes(1_u64))417 .saturating_add(RocksDbWeight::get().writes(1_u64))
402 }418 }
modifiedpallets/balances-adapter/src/common.rsdiffbeforeafterboth
172 fail!(<pallet_common::Error<T>>::UnsupportedOperation);172 fail!(<pallet_common::Error<T>>::UnsupportedOperation);
173 }173 }
174
175 fn get_token_properties_raw(
176 &self,
177 _token_id: TokenId,
178 ) -> Option<up_data_structs::TokenProperties> {
179 // No token properties are defined on fungibles
180 None
181 }
182
183 fn set_token_properties_raw(&self, _token_id: TokenId, _map: up_data_structs::TokenProperties) {
184 // No token properties are defined on fungibles
185 }
174186
175 fn set_token_property_permissions(187 fn set_token_property_permissions(
176 &self,188 &self,
277 Err(up_data_structs::TokenOwnerError::MultipleOwners)289 Err(up_data_structs::TokenOwnerError::MultipleOwners)
278 }290 }
291
292 fn check_token_indirect_owner(
293 &self,
294 _token: TokenId,
295 _maybe_owner: &<T>::CrossAccountId,
296 _nesting_budget: &dyn up_data_structs::budget::Budget,
297 ) -> Result<bool, frame_support::sp_runtime::DispatchError> {
298 Ok(false)
299 }
279300
280 fn token_owners(&self, _token: TokenId) -> Vec<<T>::CrossAccountId> {301 fn token_owners(&self, _token: TokenId) -> Vec<<T>::CrossAccountId> {
281 vec![]302 vec![]
modifiedpallets/balances-adapter/src/erc.rsdiffbeforeafterboth
25 }25 }
2626
27 fn approve(&mut self, _caller: Caller, _spender: Address, _amount: U256) -> Result<bool> {27 fn approve(&mut self, _caller: Caller, _spender: Address, _amount: U256) -> Result<bool> {
28 Err("Approve not supported".into())28 Err("approve not supported".into())
29 }29 }
3030
31 fn balance_of(&self, owner: Address) -> Result<U256> {31 fn balance_of(&self, owner: Address) -> Result<U256> {
modifiedpallets/collator-selection/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_collator_selection3//! Autogenerated weights for pallet_collator_selection
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-26, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/collator-selection/src/weights.rs25// --output=./pallets/collator-selection/src/weights.rs
2626
57 fn add_invulnerable(b: u32, ) -> Weight {57 fn add_invulnerable(b: u32, ) -> Weight {
58 // Proof Size summary in bytes:58 // Proof Size summary in bytes:
59 // Measured: `403 + b * (45 ±0)`59 // Measured: `403 + b * (45 ±0)`
60 // Estimated: `7485 + b * (45 ±0)`60 // Estimated: `3873 + b * (45 ±0)`
61 // Minimum execution time: 14_147_000 picoseconds.61 // Minimum execution time: 10_975_000 picoseconds.
62 Weight::from_parts(15_313_627, 7485)62 Weight::from_parts(11_362_608, 3873)
63 // Standard Error: 1_74463 // Standard Error: 411
64 .saturating_add(Weight::from_parts(178_890, 0).saturating_mul(b.into()))64 .saturating_add(Weight::from_parts(152_014, 0).saturating_mul(b.into()))
65 .saturating_add(T::DbWeight::get().reads(3_u64))65 .saturating_add(T::DbWeight::get().reads(3_u64))
66 .saturating_add(T::DbWeight::get().writes(1_u64))66 .saturating_add(T::DbWeight::get().writes(1_u64))
67 .saturating_add(Weight::from_parts(0, 45).saturating_mul(b.into()))67 .saturating_add(Weight::from_parts(0, 45).saturating_mul(b.into()))
73 // Proof Size summary in bytes:73 // Proof Size summary in bytes:
74 // Measured: `96 + b * (32 ±0)`74 // Measured: `96 + b * (32 ±0)`
75 // Estimated: `1806`75 // Estimated: `1806`
76 // Minimum execution time: 9_426_000 picoseconds.76 // Minimum execution time: 6_369_000 picoseconds.
77 Weight::from_parts(9_693_408, 1806)77 Weight::from_parts(6_604_933, 1806)
78 // Standard Error: 1_63878 // Standard Error: 424
79 .saturating_add(Weight::from_parts(227_917, 0).saturating_mul(b.into()))79 .saturating_add(Weight::from_parts(145_929, 0).saturating_mul(b.into()))
80 .saturating_add(T::DbWeight::get().reads(1_u64))80 .saturating_add(T::DbWeight::get().reads(1_u64))
81 .saturating_add(T::DbWeight::get().writes(1_u64))81 .saturating_add(T::DbWeight::get().writes(1_u64))
82 }82 }
86 /// Proof Skipped: Session NextKeys (max_values: None, max_size: None, mode: Measured)86 /// Proof Skipped: Session NextKeys (max_values: None, max_size: None, mode: Measured)
87 /// Storage: Configuration CollatorSelectionLicenseBondOverride (r:1 w:0)87 /// Storage: Configuration CollatorSelectionLicenseBondOverride (r:1 w:0)
88 /// Proof: Configuration CollatorSelectionLicenseBondOverride (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)88 /// Proof: Configuration CollatorSelectionLicenseBondOverride (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
89 /// Storage: Balances Holds (r:1 w:1)
90 /// Proof: Balances Holds (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
89 /// The range of component `c` is `[1, 9]`.91 /// The range of component `c` is `[1, 9]`.
90 fn get_license(c: u32, ) -> Weight {92 fn get_license(c: u32, ) -> Weight {
91 // Proof Size summary in bytes:93 // Proof Size summary in bytes:
92 // Measured: `610 + c * (26 ±0)`94 // Measured: `668 + c * (46 ±0)`
93 // Estimated: `9099 + c * (28 ±0)`95 // Estimated: `4131 + c * (47 ±0)`
94 // Minimum execution time: 22_741_000 picoseconds.96 // Minimum execution time: 23_857_000 picoseconds.
95 Weight::from_parts(24_210_604, 9099)97 Weight::from_parts(25_984_655, 4131)
96 // Standard Error: 2_70398 // Standard Error: 4_364
97 .saturating_add(Weight::from_parts(255_686, 0).saturating_mul(c.into()))99 .saturating_add(Weight::from_parts(521_198, 0).saturating_mul(c.into()))
98 .saturating_add(T::DbWeight::get().reads(3_u64))100 .saturating_add(T::DbWeight::get().reads(4_u64))
99 .saturating_add(T::DbWeight::get().writes(1_u64))101 .saturating_add(T::DbWeight::get().writes(2_u64))
100 .saturating_add(Weight::from_parts(0, 28).saturating_mul(c.into()))102 .saturating_add(Weight::from_parts(0, 47).saturating_mul(c.into()))
101 }103 }
102 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:0)104 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:0)
103 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)105 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
114 /// The range of component `c` is `[1, 7]`.116 /// The range of component `c` is `[1, 7]`.
115 fn onboard(c: u32, ) -> Weight {117 fn onboard(c: u32, ) -> Weight {
116 // Proof Size summary in bytes:118 // Proof Size summary in bytes:
117 // Measured: `445 + c * (54 ±0)`119 // Measured: `414 + c * (54 ±0)`
118 // Estimated: `10119`120 // Estimated: `3529`
119 // Minimum execution time: 20_397_000 picoseconds.121 // Minimum execution time: 14_337_000 picoseconds.
120 Weight::from_parts(21_415_013, 10119)122 Weight::from_parts(14_827_525, 3529)
121 // Standard Error: 4_086123 // Standard Error: 1_210
122 .saturating_add(Weight::from_parts(252_810, 0).saturating_mul(c.into()))124 .saturating_add(Weight::from_parts(298_748, 0).saturating_mul(c.into()))
123 .saturating_add(T::DbWeight::get().reads(5_u64))125 .saturating_add(T::DbWeight::get().reads(5_u64))
124 .saturating_add(T::DbWeight::get().writes(2_u64))126 .saturating_add(T::DbWeight::get().writes(2_u64))
125 }127 }
126 /// Storage: CollatorSelection Candidates (r:1 w:1)128 /// Storage: CollatorSelection Candidates (r:1 w:1)
127 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)129 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)
128 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)130 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)
129 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)131 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
130 /// The range of component `c` is `[1, 10]`.132 /// The range of component `c` is `[1, 8]`.
131 fn offboard(c: u32, ) -> Weight {133 fn offboard(c: u32, ) -> Weight {
132 // Proof Size summary in bytes:134 // Proof Size summary in bytes:
133 // Measured: `111 + c * (32 ±0)`135 // Measured: `111 + c * (32 ±0)`
134 // Estimated: `1806`136 // Estimated: `1806`
135 // Minimum execution time: 10_543_000 picoseconds.137 // Minimum execution time: 7_320_000 picoseconds.
136 Weight::from_parts(11_227_541, 1806)138 Weight::from_parts(7_646_004, 1806)
137 // Standard Error: 1_699139 // Standard Error: 479
138 .saturating_add(Weight::from_parts(181_030, 0).saturating_mul(c.into()))140 .saturating_add(Weight::from_parts(160_089, 0).saturating_mul(c.into()))
139 .saturating_add(T::DbWeight::get().reads(1_u64))141 .saturating_add(T::DbWeight::get().reads(1_u64))
140 .saturating_add(T::DbWeight::get().writes(2_u64))142 .saturating_add(T::DbWeight::get().writes(2_u64))
141 }143 }
142 /// Storage: CollatorSelection Candidates (r:1 w:1)144 /// Storage: CollatorSelection Candidates (r:1 w:1)
143 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)145 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)
144 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:1)146 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:1)
145 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)147 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
148 /// Storage: Balances Holds (r:1 w:1)
149 /// Proof: Balances Holds (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
146 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)150 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)
147 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)151 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
148 /// The range of component `c` is `[1, 10]`.152 /// The range of component `c` is `[1, 8]`.
149 fn release_license(c: u32, ) -> Weight {153 fn release_license(c: u32, ) -> Weight {
150 // Proof Size summary in bytes:154 // Proof Size summary in bytes:
151 // Measured: `306 + c * (61 ±0)`155 // Measured: `328 + c * (103 ±0)`
152 // Estimated: `5335`156 // Estimated: `3834`
153 // Minimum execution time: 22_214_000 picoseconds.157 // Minimum execution time: 22_821_000 picoseconds.
154 Weight::from_parts(24_373_981, 5335)158 Weight::from_parts(23_668_202, 3834)
155 // Standard Error: 8_018159 // Standard Error: 6_654
156 .saturating_add(Weight::from_parts(405_404, 0).saturating_mul(c.into()))160 .saturating_add(Weight::from_parts(844_978, 0).saturating_mul(c.into()))
157 .saturating_add(T::DbWeight::get().reads(2_u64))161 .saturating_add(T::DbWeight::get().reads(3_u64))
158 .saturating_add(T::DbWeight::get().writes(3_u64))162 .saturating_add(T::DbWeight::get().writes(4_u64))
159 }163 }
160 /// Storage: CollatorSelection Candidates (r:1 w:1)164 /// Storage: CollatorSelection Candidates (r:1 w:1)
161 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)165 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)
162 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:1)166 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:1)
163 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)167 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
168 /// Storage: Balances Holds (r:1 w:1)
169 /// Proof: Balances Holds (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
164 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)170 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)
165 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)171 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
166 /// The range of component `c` is `[1, 10]`.172 /// The range of component `c` is `[1, 8]`.
167 fn force_release_license(c: u32, ) -> Weight {173 fn force_release_license(c: u32, ) -> Weight {
168 // Proof Size summary in bytes:174 // Proof Size summary in bytes:
169 // Measured: `306 + c * (61 ±0)`175 // Measured: `328 + c * (103 ±0)`
170 // Estimated: `5335`176 // Estimated: `3834`
171 // Minimum execution time: 22_159_000 picoseconds.177 // Minimum execution time: 22_462_000 picoseconds.
172 Weight::from_parts(24_200_796, 5335)178 Weight::from_parts(23_215_875, 3834)
173 // Standard Error: 8_328179 // Standard Error: 6_450
174 .saturating_add(Weight::from_parts(312_138, 0).saturating_mul(c.into()))180 .saturating_add(Weight::from_parts(830_887, 0).saturating_mul(c.into()))
175 .saturating_add(T::DbWeight::get().reads(2_u64))181 .saturating_add(T::DbWeight::get().reads(3_u64))
176 .saturating_add(T::DbWeight::get().writes(3_u64))182 .saturating_add(T::DbWeight::get().writes(4_u64))
177 }183 }
178 /// Storage: System Account (r:2 w:2)184 /// Storage: System Account (r:2 w:2)
179 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)185 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
184 fn note_author() -> Weight {190 fn note_author() -> Weight {
185 // Proof Size summary in bytes:191 // Proof Size summary in bytes:
186 // Measured: `155`192 // Measured: `155`
187 // Estimated: `7729`193 // Estimated: `6196`
188 // Minimum execution time: 16_520_000 picoseconds.194 // Minimum execution time: 17_624_000 picoseconds.
189 Weight::from_parts(16_933_000, 7729)195 Weight::from_parts(18_025_000, 6196)
190 .saturating_add(T::DbWeight::get().reads(3_u64))196 .saturating_add(T::DbWeight::get().reads(3_u64))
191 .saturating_add(T::DbWeight::get().writes(4_u64))197 .saturating_add(T::DbWeight::get().writes(4_u64))
192 }198 }
193 /// Storage: CollatorSelection Candidates (r:1 w:0)199 /// Storage: CollatorSelection Candidates (r:1 w:0)
194 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)200 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)
195 /// Storage: Configuration CollatorSelectionKickThresholdOverride (r:1 w:0)201 /// Storage: Configuration CollatorSelectionKickThresholdOverride (r:1 w:0)
196 /// Proof: Configuration CollatorSelectionKickThresholdOverride (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)202 /// Proof: Configuration CollatorSelectionKickThresholdOverride (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
197 /// Storage: CollatorSelection LastAuthoredBlock (r:10 w:0)203 /// Storage: CollatorSelection LastAuthoredBlock (r:8 w:0)
198 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)204 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
199 /// Storage: CollatorSelection Invulnerables (r:1 w:0)205 /// Storage: CollatorSelection Invulnerables (r:1 w:0)
200 /// Proof: CollatorSelection Invulnerables (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)206 /// Proof: CollatorSelection Invulnerables (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)
201 /// Storage: System BlockWeight (r:1 w:1)207 /// Storage: System BlockWeight (r:1 w:1)
202 /// Proof: System BlockWeight (max_values: Some(1), max_size: Some(48), added: 543, mode: MaxEncodedLen)208 /// Proof: System BlockWeight (max_values: Some(1), max_size: Some(48), added: 543, mode: MaxEncodedLen)
203 /// Storage: CollatorSelection LicenseDepositOf (r:9 w:9)209 /// Storage: CollatorSelection LicenseDepositOf (r:7 w:7)
204 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)210 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
211 /// Storage: Balances Holds (r:7 w:7)
212 /// Proof: Balances Holds (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
205 /// Storage: System Account (r:10 w:10)213 /// Storage: System Account (r:8 w:8)
206 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)214 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
207 /// The range of component `r` is `[1, 10]`.215 /// The range of component `r` is `[1, 8]`.
208 /// The range of component `c` is `[1, 10]`.216 /// The range of component `c` is `[1, 8]`.
209 fn new_session(r: u32, c: u32, ) -> Weight {217 fn new_session(r: u32, c: u32, ) -> Weight {
210 // Proof Size summary in bytes:218 // Proof Size summary in bytes:
211 // Measured: `562 + r * (190 ±0) + c * (83 ±0)`219 // Measured: `725 + c * (84 ±0) + r * (254 ±0)`
212 // Estimated: `91818518943723 + c * (2519 ±0) + r * (5142 ±1)`220 // Estimated: `6196 + c * (2519 ±0) + r * (2844 ±0)`
213 // Minimum execution time: 16_153_000 picoseconds.221 // Minimum execution time: 11_318_000 picoseconds.
214 Weight::from_parts(16_601_000, 91818518943723)222 Weight::from_parts(11_615_000, 6196)
215 // Standard Error: 119_095223 // Standard Error: 69_557
216 .saturating_add(Weight::from_parts(10_660_813, 0).saturating_mul(c.into()))224 .saturating_add(Weight::from_parts(13_016_275, 0).saturating_mul(c.into()))
217 .saturating_add(T::DbWeight::get().reads(5_u64))225 .saturating_add(T::DbWeight::get().reads(5_u64))
218 .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(c.into())))226 .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(c.into())))
219 .saturating_add(T::DbWeight::get().writes(1_u64))227 .saturating_add(T::DbWeight::get().writes(1_u64))
220 .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(c.into())))228 .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(c.into())))
221 .saturating_add(Weight::from_parts(0, 2519).saturating_mul(c.into()))229 .saturating_add(Weight::from_parts(0, 2519).saturating_mul(c.into()))
222 .saturating_add(Weight::from_parts(0, 5142).saturating_mul(r.into()))230 .saturating_add(Weight::from_parts(0, 2844).saturating_mul(r.into()))
223 }231 }
224}232}
225233
235 fn add_invulnerable(b: u32, ) -> Weight {243 fn add_invulnerable(b: u32, ) -> Weight {
236 // Proof Size summary in bytes:244 // Proof Size summary in bytes:
237 // Measured: `403 + b * (45 ±0)`245 // Measured: `403 + b * (45 ±0)`
238 // Estimated: `7485 + b * (45 ±0)`246 // Estimated: `3873 + b * (45 ±0)`
239 // Minimum execution time: 14_147_000 picoseconds.247 // Minimum execution time: 10_975_000 picoseconds.
240 Weight::from_parts(15_313_627, 7485)248 Weight::from_parts(11_362_608, 3873)
241 // Standard Error: 1_744249 // Standard Error: 411
242 .saturating_add(Weight::from_parts(178_890, 0).saturating_mul(b.into()))250 .saturating_add(Weight::from_parts(152_014, 0).saturating_mul(b.into()))
243 .saturating_add(RocksDbWeight::get().reads(3_u64))251 .saturating_add(RocksDbWeight::get().reads(3_u64))
244 .saturating_add(RocksDbWeight::get().writes(1_u64))252 .saturating_add(RocksDbWeight::get().writes(1_u64))
245 .saturating_add(Weight::from_parts(0, 45).saturating_mul(b.into()))253 .saturating_add(Weight::from_parts(0, 45).saturating_mul(b.into()))
251 // Proof Size summary in bytes:259 // Proof Size summary in bytes:
252 // Measured: `96 + b * (32 ±0)`260 // Measured: `96 + b * (32 ±0)`
253 // Estimated: `1806`261 // Estimated: `1806`
254 // Minimum execution time: 9_426_000 picoseconds.262 // Minimum execution time: 6_369_000 picoseconds.
255 Weight::from_parts(9_693_408, 1806)263 Weight::from_parts(6_604_933, 1806)
256 // Standard Error: 1_638264 // Standard Error: 424
257 .saturating_add(Weight::from_parts(227_917, 0).saturating_mul(b.into()))265 .saturating_add(Weight::from_parts(145_929, 0).saturating_mul(b.into()))
258 .saturating_add(RocksDbWeight::get().reads(1_u64))266 .saturating_add(RocksDbWeight::get().reads(1_u64))
259 .saturating_add(RocksDbWeight::get().writes(1_u64))267 .saturating_add(RocksDbWeight::get().writes(1_u64))
260 }268 }
264 /// Proof Skipped: Session NextKeys (max_values: None, max_size: None, mode: Measured)272 /// Proof Skipped: Session NextKeys (max_values: None, max_size: None, mode: Measured)
265 /// Storage: Configuration CollatorSelectionLicenseBondOverride (r:1 w:0)273 /// Storage: Configuration CollatorSelectionLicenseBondOverride (r:1 w:0)
266 /// Proof: Configuration CollatorSelectionLicenseBondOverride (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)274 /// Proof: Configuration CollatorSelectionLicenseBondOverride (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
275 /// Storage: Balances Holds (r:1 w:1)
276 /// Proof: Balances Holds (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
267 /// The range of component `c` is `[1, 9]`.277 /// The range of component `c` is `[1, 9]`.
268 fn get_license(c: u32, ) -> Weight {278 fn get_license(c: u32, ) -> Weight {
269 // Proof Size summary in bytes:279 // Proof Size summary in bytes:
270 // Measured: `610 + c * (26 ±0)`280 // Measured: `668 + c * (46 ±0)`
271 // Estimated: `9099 + c * (28 ±0)`281 // Estimated: `4131 + c * (47 ±0)`
272 // Minimum execution time: 22_741_000 picoseconds.282 // Minimum execution time: 23_857_000 picoseconds.
273 Weight::from_parts(24_210_604, 9099)283 Weight::from_parts(25_984_655, 4131)
274 // Standard Error: 2_703284 // Standard Error: 4_364
275 .saturating_add(Weight::from_parts(255_686, 0).saturating_mul(c.into()))285 .saturating_add(Weight::from_parts(521_198, 0).saturating_mul(c.into()))
276 .saturating_add(RocksDbWeight::get().reads(3_u64))286 .saturating_add(RocksDbWeight::get().reads(4_u64))
277 .saturating_add(RocksDbWeight::get().writes(1_u64))287 .saturating_add(RocksDbWeight::get().writes(2_u64))
278 .saturating_add(Weight::from_parts(0, 28).saturating_mul(c.into()))288 .saturating_add(Weight::from_parts(0, 47).saturating_mul(c.into()))
279 }289 }
280 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:0)290 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:0)
281 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)291 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
292 /// The range of component `c` is `[1, 7]`.302 /// The range of component `c` is `[1, 7]`.
293 fn onboard(c: u32, ) -> Weight {303 fn onboard(c: u32, ) -> Weight {
294 // Proof Size summary in bytes:304 // Proof Size summary in bytes:
295 // Measured: `445 + c * (54 ±0)`305 // Measured: `414 + c * (54 ±0)`
296 // Estimated: `10119`306 // Estimated: `3529`
297 // Minimum execution time: 20_397_000 picoseconds.307 // Minimum execution time: 14_337_000 picoseconds.
298 Weight::from_parts(21_415_013, 10119)308 Weight::from_parts(14_827_525, 3529)
299 // Standard Error: 4_086309 // Standard Error: 1_210
300 .saturating_add(Weight::from_parts(252_810, 0).saturating_mul(c.into()))310 .saturating_add(Weight::from_parts(298_748, 0).saturating_mul(c.into()))
301 .saturating_add(RocksDbWeight::get().reads(5_u64))311 .saturating_add(RocksDbWeight::get().reads(5_u64))
302 .saturating_add(RocksDbWeight::get().writes(2_u64))312 .saturating_add(RocksDbWeight::get().writes(2_u64))
303 }313 }
304 /// Storage: CollatorSelection Candidates (r:1 w:1)314 /// Storage: CollatorSelection Candidates (r:1 w:1)
305 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)315 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)
306 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)316 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)
307 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)317 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
308 /// The range of component `c` is `[1, 10]`.318 /// The range of component `c` is `[1, 8]`.
309 fn offboard(c: u32, ) -> Weight {319 fn offboard(c: u32, ) -> Weight {
310 // Proof Size summary in bytes:320 // Proof Size summary in bytes:
311 // Measured: `111 + c * (32 ±0)`321 // Measured: `111 + c * (32 ±0)`
312 // Estimated: `1806`322 // Estimated: `1806`
313 // Minimum execution time: 10_543_000 picoseconds.323 // Minimum execution time: 7_320_000 picoseconds.
314 Weight::from_parts(11_227_541, 1806)324 Weight::from_parts(7_646_004, 1806)
315 // Standard Error: 1_699325 // Standard Error: 479
316 .saturating_add(Weight::from_parts(181_030, 0).saturating_mul(c.into()))326 .saturating_add(Weight::from_parts(160_089, 0).saturating_mul(c.into()))
317 .saturating_add(RocksDbWeight::get().reads(1_u64))327 .saturating_add(RocksDbWeight::get().reads(1_u64))
318 .saturating_add(RocksDbWeight::get().writes(2_u64))328 .saturating_add(RocksDbWeight::get().writes(2_u64))
319 }329 }
320 /// Storage: CollatorSelection Candidates (r:1 w:1)330 /// Storage: CollatorSelection Candidates (r:1 w:1)
321 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)331 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)
322 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:1)332 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:1)
323 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)333 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
334 /// Storage: Balances Holds (r:1 w:1)
335 /// Proof: Balances Holds (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
324 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)336 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)
325 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)337 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
326 /// The range of component `c` is `[1, 10]`.338 /// The range of component `c` is `[1, 8]`.
327 fn release_license(c: u32, ) -> Weight {339 fn release_license(c: u32, ) -> Weight {
328 // Proof Size summary in bytes:340 // Proof Size summary in bytes:
329 // Measured: `306 + c * (61 ±0)`341 // Measured: `328 + c * (103 ±0)`
330 // Estimated: `5335`342 // Estimated: `3834`
331 // Minimum execution time: 22_214_000 picoseconds.343 // Minimum execution time: 22_821_000 picoseconds.
332 Weight::from_parts(24_373_981, 5335)344 Weight::from_parts(23_668_202, 3834)
333 // Standard Error: 8_018345 // Standard Error: 6_654
334 .saturating_add(Weight::from_parts(405_404, 0).saturating_mul(c.into()))346 .saturating_add(Weight::from_parts(844_978, 0).saturating_mul(c.into()))
335 .saturating_add(RocksDbWeight::get().reads(2_u64))347 .saturating_add(RocksDbWeight::get().reads(3_u64))
336 .saturating_add(RocksDbWeight::get().writes(3_u64))348 .saturating_add(RocksDbWeight::get().writes(4_u64))
337 }349 }
338 /// Storage: CollatorSelection Candidates (r:1 w:1)350 /// Storage: CollatorSelection Candidates (r:1 w:1)
339 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)351 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)
340 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:1)352 /// Storage: CollatorSelection LicenseDepositOf (r:1 w:1)
341 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)353 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
354 /// Storage: Balances Holds (r:1 w:1)
355 /// Proof: Balances Holds (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
342 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)356 /// Storage: CollatorSelection LastAuthoredBlock (r:0 w:1)
343 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)357 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
344 /// The range of component `c` is `[1, 10]`.358 /// The range of component `c` is `[1, 8]`.
345 fn force_release_license(c: u32, ) -> Weight {359 fn force_release_license(c: u32, ) -> Weight {
346 // Proof Size summary in bytes:360 // Proof Size summary in bytes:
347 // Measured: `306 + c * (61 ±0)`361 // Measured: `328 + c * (103 ±0)`
348 // Estimated: `5335`362 // Estimated: `3834`
349 // Minimum execution time: 22_159_000 picoseconds.363 // Minimum execution time: 22_462_000 picoseconds.
350 Weight::from_parts(24_200_796, 5335)364 Weight::from_parts(23_215_875, 3834)
351 // Standard Error: 8_328365 // Standard Error: 6_450
352 .saturating_add(Weight::from_parts(312_138, 0).saturating_mul(c.into()))366 .saturating_add(Weight::from_parts(830_887, 0).saturating_mul(c.into()))
353 .saturating_add(RocksDbWeight::get().reads(2_u64))367 .saturating_add(RocksDbWeight::get().reads(3_u64))
354 .saturating_add(RocksDbWeight::get().writes(3_u64))368 .saturating_add(RocksDbWeight::get().writes(4_u64))
355 }369 }
356 /// Storage: System Account (r:2 w:2)370 /// Storage: System Account (r:2 w:2)
357 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)371 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
362 fn note_author() -> Weight {376 fn note_author() -> Weight {
363 // Proof Size summary in bytes:377 // Proof Size summary in bytes:
364 // Measured: `155`378 // Measured: `155`
365 // Estimated: `7729`379 // Estimated: `6196`
366 // Minimum execution time: 16_520_000 picoseconds.380 // Minimum execution time: 17_624_000 picoseconds.
367 Weight::from_parts(16_933_000, 7729)381 Weight::from_parts(18_025_000, 6196)
368 .saturating_add(RocksDbWeight::get().reads(3_u64))382 .saturating_add(RocksDbWeight::get().reads(3_u64))
369 .saturating_add(RocksDbWeight::get().writes(4_u64))383 .saturating_add(RocksDbWeight::get().writes(4_u64))
370 }384 }
371 /// Storage: CollatorSelection Candidates (r:1 w:0)385 /// Storage: CollatorSelection Candidates (r:1 w:0)
372 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)386 /// Proof: CollatorSelection Candidates (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)
373 /// Storage: Configuration CollatorSelectionKickThresholdOverride (r:1 w:0)387 /// Storage: Configuration CollatorSelectionKickThresholdOverride (r:1 w:0)
374 /// Proof: Configuration CollatorSelectionKickThresholdOverride (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)388 /// Proof: Configuration CollatorSelectionKickThresholdOverride (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
375 /// Storage: CollatorSelection LastAuthoredBlock (r:10 w:0)389 /// Storage: CollatorSelection LastAuthoredBlock (r:8 w:0)
376 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)390 /// Proof: CollatorSelection LastAuthoredBlock (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
377 /// Storage: CollatorSelection Invulnerables (r:1 w:0)391 /// Storage: CollatorSelection Invulnerables (r:1 w:0)
378 /// Proof: CollatorSelection Invulnerables (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)392 /// Proof: CollatorSelection Invulnerables (max_values: Some(1), max_size: Some(321), added: 816, mode: MaxEncodedLen)
379 /// Storage: System BlockWeight (r:1 w:1)393 /// Storage: System BlockWeight (r:1 w:1)
380 /// Proof: System BlockWeight (max_values: Some(1), max_size: Some(48), added: 543, mode: MaxEncodedLen)394 /// Proof: System BlockWeight (max_values: Some(1), max_size: Some(48), added: 543, mode: MaxEncodedLen)
381 /// Storage: CollatorSelection LicenseDepositOf (r:9 w:9)395 /// Storage: CollatorSelection LicenseDepositOf (r:7 w:7)
382 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)396 /// Proof: CollatorSelection LicenseDepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
397 /// Storage: Balances Holds (r:7 w:7)
398 /// Proof: Balances Holds (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen)
383 /// Storage: System Account (r:10 w:10)399 /// Storage: System Account (r:8 w:8)
384 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)400 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
385 /// The range of component `r` is `[1, 10]`.401 /// The range of component `r` is `[1, 8]`.
386 /// The range of component `c` is `[1, 10]`.402 /// The range of component `c` is `[1, 8]`.
387 fn new_session(r: u32, c: u32, ) -> Weight {403 fn new_session(r: u32, c: u32, ) -> Weight {
388 // Proof Size summary in bytes:404 // Proof Size summary in bytes:
389 // Measured: `562 + r * (190 ±0) + c * (83 ±0)`405 // Measured: `725 + c * (84 ±0) + r * (254 ±0)`
390 // Estimated: `91818518943723 + c * (2519 ±0) + r * (5142 ±1)`406 // Estimated: `6196 + c * (2519 ±0) + r * (2844 ±0)`
391 // Minimum execution time: 16_153_000 picoseconds.407 // Minimum execution time: 11_318_000 picoseconds.
392 Weight::from_parts(16_601_000, 91818518943723)408 Weight::from_parts(11_615_000, 6196)
393 // Standard Error: 119_095409 // Standard Error: 69_557
394 .saturating_add(Weight::from_parts(10_660_813, 0).saturating_mul(c.into()))410 .saturating_add(Weight::from_parts(13_016_275, 0).saturating_mul(c.into()))
395 .saturating_add(RocksDbWeight::get().reads(5_u64))411 .saturating_add(RocksDbWeight::get().reads(5_u64))
396 .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(c.into())))412 .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(c.into())))
397 .saturating_add(RocksDbWeight::get().writes(1_u64))413 .saturating_add(RocksDbWeight::get().writes(1_u64))
398 .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(c.into())))414 .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(c.into())))
399 .saturating_add(Weight::from_parts(0, 2519).saturating_mul(c.into()))415 .saturating_add(Weight::from_parts(0, 2519).saturating_mul(c.into()))
400 .saturating_add(Weight::from_parts(0, 5142).saturating_mul(r.into()))416 .saturating_add(Weight::from_parts(0, 2844).saturating_mul(r.into()))
401 }417 }
402}418}
403419
modifiedpallets/common/src/benchmarking.rsdiffbeforeafterboth
22use frame_benchmarking::{benchmarks, account};22use frame_benchmarking::{benchmarks, account};
23use up_data_structs::{23use up_data_structs::{
24 CollectionMode, CreateCollectionData, CollectionId, Property, PropertyKey, PropertyValue,24 CollectionMode, CreateCollectionData, CollectionId, Property, PropertyKey, PropertyValue,
25 CollectionPermissions, NestingPermissions, AccessMode, MAX_COLLECTION_NAME_LENGTH,25 CollectionPermissions, NestingPermissions, AccessMode, PropertiesPermissionMap,
26 MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH, MAX_PROPERTIES_PER_ITEM,26 MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
27 MAX_PROPERTIES_PER_ITEM,
27};28};
123 )124 )
124}125}
126
127pub fn load_is_admin_and_property_permissions<T: Config>(
128 collection: &CollectionHandle<T>,
129 sender: &T::CrossAccountId,
130) -> (bool, PropertiesPermissionMap) {
131 (
132 collection.is_owner_or_admin(sender),
133 <Pallet<T>>::property_permissions(collection.id),
134 )
135}
125136
126/// Helper macros, which handles all benchmarking preparation in semi-declarative way137/// Helper macros, which handles all benchmarking preparation in semi-declarative way
127///138///
216227
217 }: {collection_handle.check_allowlist(&sender)?;}228 }: {collection_handle.check_allowlist(&sender)?;}
229
230 init_token_properties_common {
231 bench_init!{
232 owner: sub; collection: collection(owner);
233 sender: sub;
234 sender: cross_from_sub(sender);
235 };
236 }: {load_is_admin_and_property_permissions(&collection, &sender);}
218}237}
219238
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
56use core::{56use core::{
57 ops::{Deref, DerefMut},57 ops::{Deref, DerefMut},
58 slice::from_ref,58 slice::from_ref,
59 marker::PhantomData,
59};60};
60use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};61use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
61use sp_std::vec::Vec;62use sp_std::vec::Vec;
98#[allow(missing_docs)]99#[allow(missing_docs)]
99pub mod weights;100pub mod weights;
101
102use weights::WeightInfo;
103
100/// Weight info.104/// Weight info.
101pub type SelfWeightOf<T> = <T as Config>::WeightInfo;105pub type SelfWeightOf<T> = <T as Config>::WeightInfo;
865 >;869 >;
866}870}
867
868/// Represents the change mode for the token property.
869pub enum SetPropertyMode {
870 /// The token already exists.
871 ExistingToken,
872
873 /// New token.
874 NewToken {
875 /// The creator of the token is the recipient.
876 mint_target_is_sender: bool,
877 },
878}
879871
880/// Value representation with delayed initialization time.872/// Value representation with delayed initialization time.
881pub struct LazyValue<T, F: FnOnce() -> T> {873pub struct LazyValue<T, F: FnOnce() -> T> {
892 }884 }
893 }885 }
894886
895 /// Get the value. If it call furst time the value will be initialized.887 /// Get the value. If it is called the first time, the value will be initialized.
896 pub fn value(&mut self) -> &T {888 pub fn value(&mut self) -> &T {
897 if self.value.is_none() {889 self.compute_value_if_not_already();
898 self.value = Some(self.f.take().unwrap()())
899 }
900
901 self.value.as_ref().unwrap()890 self.value.as_ref().unwrap()
902 }891 }
892
893 /// Get the value. If it is called the first time, the value will be initialized.
894 pub fn value_mut(&mut self) -> &mut T {
895 self.compute_value_if_not_already();
896 self.value.as_mut().unwrap()
897 }
898
899 fn into_inner(mut self) -> T {
900 self.compute_value_if_not_already();
901 self.value.unwrap()
902 }
903903
904 /// Is value initialized.904 /// Is value initialized?
905 pub fn has_value(&self) -> bool {905 pub fn has_value(&self) -> bool {
906 self.value.is_some()906 self.value.is_some()
907 }907 }
908
909 fn compute_value_if_not_already(&mut self) {
910 if self.value.is_none() {
911 self.value = Some(self.f.take().unwrap()())
912 }
913 }
908}914}
909915
910fn check_token_permissions<T, FCA, FTO, FTE>(916fn check_token_permissions<T, FCA, FTO, FTE>(
926 fail!(<Error<T>>::NoPermission);932 fail!(<Error<T>>::NoPermission);
927 }933 }
928934
929 let token_certainly_exist = is_token_owner.has_value() && (*is_token_owner.value())?;935 let token_exist_due_to_owner_check_success =
936 is_token_owner.has_value() && (*is_token_owner.value())?;
937
938 // If the token owner check has occurred and succeeded,
939 // we know the token exists (otherwise, the owner check must fail).
930 if !token_certainly_exist && !is_token_exist.value() {940 if !token_exist_due_to_owner_check_success {
941 // If the token owner check didn't occur,
942 // we must check the token's existence ourselves.
943 if !is_token_exist.value() {
931 fail!(<Error<T>>::TokenNotFound);944 fail!(<Error<T>>::TokenNotFound);
932 }945 }
946 }
947
933 Ok(())948 Ok(())
934}949}
1312 Ok(())1327 Ok(())
1313 }1328 }
1314
1315 /// A batch operation to add, edit or remove properties for a token.
1316 /// It sets or removes a token's properties according to
1317 /// `properties_updates` contents:
1318 /// * sets a property under the <key> with the value provided `(<key>, Some(<value>))`
1319 /// * removes a property under the <key> if the value is `None` `(<key>, None)`.
1320 ///
1321 /// All affected properties should have `mutable` permission
1322 /// to be **deleted** or to be **set more than once**,
1323 /// and the sender should have permission to edit those properties.
1324 ///
1325 /// This function fires an event for each property change.
1326 /// In case of an error, all the changes (including the events) will be reverted
1327 /// since the function is transactional.
1328 #[allow(clippy::too_many_arguments)]
1329 pub fn modify_token_properties<FTO, FTE>(
1330 collection: &CollectionHandle<T>,
1331 sender: &T::CrossAccountId,
1332 token_id: TokenId,
1333 is_token_exist: &mut LazyValue<bool, FTE>,
1334 properties_updates: impl Iterator<Item = (PropertyKey, Option<PropertyValue>)>,
1335 mut stored_properties: TokenProperties,
1336 is_token_owner: &mut LazyValue<Result<bool, DispatchError>, FTO>,
1337 set_token_properties: impl FnOnce(TokenProperties),
1338 log: evm_coder::ethereum::Log,
1339 ) -> DispatchResult
1340 where
1341 FTO: FnOnce() -> Result<bool, DispatchError>,
1342 FTE: FnOnce() -> bool,
1343 {
1344 let mut is_collection_admin = LazyValue::new(|| collection.is_owner_or_admin(sender));
1345 let permissions = Self::property_permissions(collection.id);
1346
1347 let mut changed = false;
1348 for (key, value) in properties_updates {
1349 let permission = permissions
1350 .get(&key)
1351 .cloned()
1352 .unwrap_or_else(PropertyPermission::none);
1353
1354 let property_exists = stored_properties.get(&key).is_some();
1355
1356 match permission {
1357 PropertyPermission { mutable: false, .. } if property_exists => {
1358 return Err(<Error<T>>::NoPermission.into());
1359 }
1360
1361 PropertyPermission {
1362 collection_admin,
1363 token_owner,
1364 ..
1365 } => check_token_permissions::<T, _, FTO, FTE>(
1366 collection_admin,
1367 token_owner,
1368 &mut is_collection_admin,
1369 is_token_owner,
1370 is_token_exist,
1371 )?,
1372 }
1373
1374 match value {
1375 Some(value) => {
1376 stored_properties
1377 .try_set(key.clone(), value)
1378 .map_err(<Error<T>>::from)?;
1379
1380 Self::deposit_event(Event::TokenPropertySet(collection.id, token_id, key));
1381 }
1382 None => {
1383 stored_properties.remove(&key).map_err(<Error<T>>::from)?;
1384
1385 Self::deposit_event(Event::TokenPropertyDeleted(collection.id, token_id, key));
1386 }
1387 }
1388
1389 changed = true;
1390 }
1391
1392 if changed {
1393 <PalletEvm<T>>::deposit_log(log);
1394 }
1395
1396 set_token_properties(stored_properties);
1397
1398 Ok(())
1399 }
14001329
1401 /// Sets or unsets the approval of a given operator.1330 /// Sets or unsets the approval of a given operator.
1402 ///1331 ///
2166 budget: &dyn Budget,2095 budget: &dyn Budget,
2167 ) -> DispatchResultWithPostInfo;2096 ) -> DispatchResultWithPostInfo;
2097
2098 /// Get token properties raw map.
2099 ///
2100 /// * `token_id` - The token which properties are needed.
2101 fn get_token_properties_raw(&self, token_id: TokenId) -> Option<TokenProperties>;
2102
2103 /// Set token properties raw map.
2104 ///
2105 /// * `token_id` - The token for which the properties are being set.
2106 /// * `map` - The raw map containing the token's properties.
2107 fn set_token_properties_raw(&self, token_id: TokenId, map: TokenProperties);
21682108
2169 /// Set token property permissions.2109 /// Set token property permissions.
2170 ///2110 ///
2309 /// * `token` - The token for which you need to find out the owner.2249 /// * `token` - The token for which you need to find out the owner.
2310 fn token_owner(&self, token: TokenId) -> Result<T::CrossAccountId, TokenOwnerError>;2250 fn token_owner(&self, token: TokenId) -> Result<T::CrossAccountId, TokenOwnerError>;
2251
2252 /// Checks if the `maybe_owner` is the indirect owner of the `token`.
2253 ///
2254 /// * `token` - Id token to check.
2255 /// * `maybe_owner` - The account to check.
2256 /// * `nesting_budget` - A budget that can be spent on nesting tokens.
2257 fn check_token_indirect_owner(
2258 &self,
2259 token: TokenId,
2260 maybe_owner: &T::CrossAccountId,
2261 nesting_budget: &dyn Budget,
2262 ) -> Result<bool, DispatchError>;
23112263
2312 /// Returns 10 tokens owners in no particular order.2264 /// Returns 10 tokens owners in no particular order.
2313 ///2265 ///
2420 }2372 }
2421}2373}
2374
2375/// A marker structure that enables the writer implementation
2376/// to provide the interface to write properties to **newly created** tokens.
2377pub struct NewTokenPropertyWriter;
2378
2379/// A marker structure that enables the writer implementation
2380/// to provide the interface to write properties to **already existing** tokens.
2381pub struct ExistingTokenPropertyWriter;
2382
2383/// The type-safe interface for writing properties (setting or deleting) to tokens.
2384/// It has two distinct implementations for newly created tokens and existing ones.
2385///
2386/// This type utilizes the lazy evaluation to avoid repeating the computation
2387/// of several performance-heavy or PoV-heavy tasks,
2388/// such as checking the indirect ownership or reading the token property permissions.
2389pub struct PropertyWriter<
2390 'a,
2391 T,
2392 Handle,
2393 WriterVariant,
2394 FIsAdmin,
2395 FPropertyPermissions,
2396 FCheckTokenExist,
2397 FGetProperties,
2398> where
2399 T: Config,
2400 FIsAdmin: FnOnce() -> bool,
2401 FPropertyPermissions: FnOnce() -> PropertiesPermissionMap,
2402{
2403 collection: &'a Handle,
2404 is_collection_admin: LazyValue<bool, FIsAdmin>,
2405 property_permissions: LazyValue<PropertiesPermissionMap, FPropertyPermissions>,
2406 check_token_exist: FCheckTokenExist,
2407 get_properties: FGetProperties,
2408 _phantom: PhantomData<(T, WriterVariant)>,
2409}
2410
2411impl<'a, T, Handle, FIsAdmin, FPropertyPermissions, FCheckTokenExist, FGetProperties>
2412 PropertyWriter<
2413 'a,
2414 T,
2415 Handle,
2416 NewTokenPropertyWriter,
2417 FIsAdmin,
2418 FPropertyPermissions,
2419 FCheckTokenExist,
2420 FGetProperties,
2421 > where
2422 T: Config,
2423 Handle: CommonCollectionOperations<T> + Deref<Target = CollectionHandle<T>>,
2424 FIsAdmin: FnOnce() -> bool,
2425 FPropertyPermissions: FnOnce() -> PropertiesPermissionMap,
2426 FCheckTokenExist: Copy + FnOnce(TokenId) -> bool,
2427 FGetProperties: Copy + FnOnce(TokenId) -> TokenProperties,
2428{
2429 /// A function to write properties to a **newly created** token.
2430 pub fn write_token_properties(
2431 &mut self,
2432 mint_target_is_sender: bool,
2433 token_id: TokenId,
2434 properties_updates: impl Iterator<Item = Property>,
2435 log: evm_coder::ethereum::Log,
2436 ) -> DispatchResult {
2437 self.internal_write_token_properties(
2438 token_id,
2439 properties_updates.map(|p| (p.key, Some(p.value))),
2440 |_| Ok(mint_target_is_sender),
2441 log,
2442 )
2443 }
2444}
2445
2446impl<'a, T, Handle, FIsAdmin, FPropertyPermissions, FCheckTokenExist, FGetProperties>
2447 PropertyWriter<
2448 'a,
2449 T,
2450 Handle,
2451 ExistingTokenPropertyWriter,
2452 FIsAdmin,
2453 FPropertyPermissions,
2454 FCheckTokenExist,
2455 FGetProperties,
2456 > where
2457 T: Config,
2458 Handle: CommonCollectionOperations<T> + Deref<Target = CollectionHandle<T>>,
2459 FIsAdmin: FnOnce() -> bool,
2460 FPropertyPermissions: FnOnce() -> PropertiesPermissionMap,
2461 FCheckTokenExist: Copy + FnOnce(TokenId) -> bool,
2462 FGetProperties: Copy + FnOnce(TokenId) -> TokenProperties,
2463{
2464 /// A function to write properties to an **already existing** token.
2465 pub fn write_token_properties(
2466 &mut self,
2467 sender: &T::CrossAccountId,
2468 token_id: TokenId,
2469 properties_updates: impl Iterator<Item = (PropertyKey, Option<PropertyValue>)>,
2470 nesting_budget: &dyn Budget,
2471 log: evm_coder::ethereum::Log,
2472 ) -> DispatchResult {
2473 self.internal_write_token_properties(
2474 token_id,
2475 properties_updates,
2476 |collection| collection.check_token_indirect_owner(token_id, sender, nesting_budget),
2477 log,
2478 )
2479 }
2480}
2481
2482impl<
2483 'a,
2484 T,
2485 Handle,
2486 WriterVariant,
2487 FIsAdmin,
2488 FPropertyPermissions,
2489 FCheckTokenExist,
2490 FGetProperties,
2491 >
2492 PropertyWriter<
2493 'a,
2494 T,
2495 Handle,
2496 WriterVariant,
2497 FIsAdmin,
2498 FPropertyPermissions,
2499 FCheckTokenExist,
2500 FGetProperties,
2501 > where
2502 T: Config,
2503 Handle: CommonCollectionOperations<T> + Deref<Target = CollectionHandle<T>>,
2504 FIsAdmin: FnOnce() -> bool,
2505 FPropertyPermissions: FnOnce() -> PropertiesPermissionMap,
2506 FCheckTokenExist: Copy + FnOnce(TokenId) -> bool,
2507 FGetProperties: Copy + FnOnce(TokenId) -> TokenProperties,
2508{
2509 fn internal_write_token_properties<FCheckTokenOwner>(
2510 &mut self,
2511 token_id: TokenId,
2512 properties_updates: impl Iterator<Item = (PropertyKey, Option<PropertyValue>)>,
2513 check_token_owner: FCheckTokenOwner,
2514 log: evm_coder::ethereum::Log,
2515 ) -> DispatchResult
2516 where
2517 FCheckTokenOwner: FnOnce(&Handle) -> Result<bool, DispatchError>,
2518 {
2519 let get_properties = self.get_properties;
2520 let mut stored_properties = LazyValue::new(move || get_properties(token_id));
2521
2522 let mut is_token_owner = LazyValue::new(|| check_token_owner(self.collection));
2523
2524 let check_token_exist = self.check_token_exist;
2525 let mut is_token_exist = LazyValue::new(move || check_token_exist(token_id));
2526
2527 for (key, value) in properties_updates {
2528 let permission = self
2529 .property_permissions
2530 .value()
2531 .get(&key)
2532 .cloned()
2533 .unwrap_or_else(PropertyPermission::none);
2534
2535 match permission {
2536 PropertyPermission { mutable: false, .. }
2537 if stored_properties.value().get(&key).is_some() =>
2538 {
2539 return Err(<Error<T>>::NoPermission.into());
2540 }
2541
2542 PropertyPermission {
2543 collection_admin,
2544 token_owner,
2545 ..
2546 } => check_token_permissions::<T, _, _, _>(
2547 collection_admin,
2548 token_owner,
2549 &mut self.is_collection_admin,
2550 &mut is_token_owner,
2551 &mut is_token_exist,
2552 )?,
2553 }
2554
2555 match value {
2556 Some(value) => {
2557 stored_properties
2558 .value_mut()
2559 .try_set(key.clone(), value)
2560 .map_err(<Error<T>>::from)?;
2561
2562 <Pallet<T>>::deposit_event(Event::TokenPropertySet(
2563 self.collection.id,
2564 token_id,
2565 key,
2566 ));
2567 }
2568 None => {
2569 stored_properties
2570 .value_mut()
2571 .remove(&key)
2572 .map_err(<Error<T>>::from)?;
2573
2574 <Pallet<T>>::deposit_event(Event::TokenPropertyDeleted(
2575 self.collection.id,
2576 token_id,
2577 key,
2578 ));
2579 }
2580 }
2581 }
2582
2583 let properties_changed = stored_properties.has_value();
2584 if properties_changed {
2585 <PalletEvm<T>>::deposit_log(log);
2586
2587 self.collection
2588 .set_token_properties_raw(token_id, stored_properties.into_inner());
2589 }
2590
2591 Ok(())
2592 }
2593}
2594
2595/// Create a [`PropertyWriter`] for newly created tokens.
2596pub fn property_writer_for_new_token<'a, T, Handle>(
2597 collection: &'a Handle,
2598 sender: &'a T::CrossAccountId,
2599) -> PropertyWriter<
2600 'a,
2601 T,
2602 Handle,
2603 NewTokenPropertyWriter,
2604 impl FnOnce() -> bool + 'a,
2605 impl FnOnce() -> PropertiesPermissionMap + 'a,
2606 impl Copy + FnOnce(TokenId) -> bool + 'a,
2607 impl Copy + FnOnce(TokenId) -> TokenProperties + 'a,
2608>
2609where
2610 T: Config,
2611 Handle: CommonCollectionOperations<T> + Deref<Target = CollectionHandle<T>>,
2612{
2613 PropertyWriter {
2614 collection,
2615 is_collection_admin: LazyValue::new(|| collection.is_owner_or_admin(sender)),
2616 property_permissions: LazyValue::new(|| <Pallet<T>>::property_permissions(collection.id)),
2617 check_token_exist: |token_id| {
2618 debug_assert!(collection.token_exists(token_id));
2619 true
2620 },
2621 get_properties: |token_id| {
2622 debug_assert!(collection.get_token_properties_raw(token_id).is_none());
2623 TokenProperties::new()
2624 },
2625 _phantom: PhantomData,
2626 }
2627}
2628
2629#[cfg(feature = "runtime-benchmarks")]
2630/// Create a `PropertyWriter` with preloaded `is_collection_admin` and `property_permissions.
2631/// Also:
2632/// * it will return `true` for the token ownership check.
2633/// * it will return empty stored properties without reading them from the storage.
2634pub fn collection_info_loaded_property_writer<T, Handle>(
2635 collection: &Handle,
2636 is_collection_admin: bool,
2637 property_permissions: PropertiesPermissionMap,
2638) -> PropertyWriter<
2639 T,
2640 Handle,
2641 NewTokenPropertyWriter,
2642 impl FnOnce() -> bool,
2643 impl FnOnce() -> PropertiesPermissionMap,
2644 impl Copy + FnOnce(TokenId) -> bool,
2645 impl Copy + FnOnce(TokenId) -> TokenProperties,
2646>
2647where
2648 T: Config,
2649 Handle: CommonCollectionOperations<T> + Deref<Target = CollectionHandle<T>>,
2650{
2651 PropertyWriter {
2652 collection,
2653 is_collection_admin: LazyValue::new(move || is_collection_admin),
2654 property_permissions: LazyValue::new(move || property_permissions),
2655 check_token_exist: |_token_id| true,
2656 get_properties: |_token_id| TokenProperties::new(),
2657 _phantom: PhantomData,
2658 }
2659}
2660
2661/// Create a [`PropertyWriter`] for already existing tokens.
2662pub fn property_writer_for_existing_token<'a, T, Handle>(
2663 collection: &'a Handle,
2664 sender: &'a T::CrossAccountId,
2665) -> PropertyWriter<
2666 'a,
2667 T,
2668 Handle,
2669 ExistingTokenPropertyWriter,
2670 impl FnOnce() -> bool + 'a,
2671 impl FnOnce() -> PropertiesPermissionMap + 'a,
2672 impl Copy + FnOnce(TokenId) -> bool + 'a,
2673 impl Copy + FnOnce(TokenId) -> TokenProperties + 'a,
2674>
2675where
2676 T: Config,
2677 Handle: CommonCollectionOperations<T> + Deref<Target = CollectionHandle<T>>,
2678{
2679 PropertyWriter {
2680 collection,
2681 is_collection_admin: LazyValue::new(|| collection.is_owner_or_admin(sender)),
2682 property_permissions: LazyValue::new(|| <Pallet<T>>::property_permissions(collection.id)),
2683 check_token_exist: |token_id| collection.token_exists(token_id),
2684 get_properties: |token_id| {
2685 collection
2686 .get_token_properties_raw(token_id)
2687 .unwrap_or_default()
2688 },
2689 _phantom: PhantomData,
2690 }
2691}
2692
2693/// Computes the weight delta for newly created tokens with properties.
2694/// * `properties_nums` - The properties num of each created token.
2695/// * `init_token_properties` - The function to obtain the weight from a token's properties num.
2696pub fn init_token_properties_delta<T: Config, I: Fn(u32) -> Weight>(
2697 properties_nums: impl Iterator<Item = u32>,
2698 init_token_properties: I,
2699) -> Weight {
2700 let mut delta = properties_nums
2701 .filter_map(|properties_num| {
2702 if properties_num > 0 {
2703 Some(init_token_properties(properties_num))
2704 } else {
2705 None
2706 }
2707 })
2708 .fold(Weight::zero(), |a, b| a.saturating_add(b));
2709
2710 // If at least once the `init_token_properties` was called,
2711 // it means at least one newly created token has properties.
2712 // Becuase of that, some common collection data also was loaded and we need to add this weight.
2713 // However, these common data was loaded only once which is guaranteed by the `PropertyWriter`.
2714 if !delta.is_zero() {
2715 delta = delta.saturating_add(<SelfWeightOf<T>>::init_token_properties_common())
2716 }
2717
2718 delta
2719}
24222720
2423#[cfg(any(feature = "tests", test))]2721#[cfg(any(feature = "tests", test))]
2424#[allow(missing_docs)]2722#[allow(missing_docs)]
modifiedpallets/common/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_common3//! Autogenerated weights for pallet_common
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-30, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/common/src/weights.rs25// --output=./pallets/common/src/weights.rs
2626
36 fn set_collection_properties(b: u32, ) -> Weight;36 fn set_collection_properties(b: u32, ) -> Weight;
37 fn delete_collection_properties(b: u32, ) -> Weight;37 fn delete_collection_properties(b: u32, ) -> Weight;
38 fn check_accesslist() -> Weight;38 fn check_accesslist() -> Weight;
39 fn init_token_properties_common() -> Weight;
39}40}
4041
41/// Weights for pallet_common using the Substrate node and recommended hardware.42/// Weights for pallet_common using the Substrate node and recommended hardware.
46 /// The range of component `b` is `[0, 64]`.47 /// The range of component `b` is `[0, 64]`.
47 fn set_collection_properties(b: u32, ) -> Weight {48 fn set_collection_properties(b: u32, ) -> Weight {
48 // Proof Size summary in bytes:49 // Proof Size summary in bytes:
49 // Measured: `265`50 // Measured: `298`
50 // Estimated: `44457`51 // Estimated: `44457`
51 // Minimum execution time: 6_805_000 picoseconds.52 // Minimum execution time: 4_987_000 picoseconds.
52 Weight::from_parts(6_965_000, 44457)53 Weight::from_parts(5_119_000, 44457)
53 // Standard Error: 20_17554 // Standard Error: 7_609
54 .saturating_add(Weight::from_parts(6_191_369, 0).saturating_mul(b.into()))55 .saturating_add(Weight::from_parts(5_750_459, 0).saturating_mul(b.into()))
55 .saturating_add(T::DbWeight::get().reads(1_u64))56 .saturating_add(T::DbWeight::get().reads(1_u64))
56 .saturating_add(T::DbWeight::get().writes(1_u64))57 .saturating_add(T::DbWeight::get().writes(1_u64))
57 }58 }
60 /// The range of component `b` is `[0, 64]`.61 /// The range of component `b` is `[0, 64]`.
61 fn delete_collection_properties(b: u32, ) -> Weight {62 fn delete_collection_properties(b: u32, ) -> Weight {
62 // Proof Size summary in bytes:63 // Proof Size summary in bytes:
63 // Measured: `270 + b * (33030 ±0)`64 // Measured: `303 + b * (33030 ±0)`
64 // Estimated: `44457`65 // Estimated: `44457`
65 // Minimum execution time: 6_284_000 picoseconds.66 // Minimum execution time: 4_923_000 picoseconds.
66 Weight::from_parts(6_416_000, 44457)67 Weight::from_parts(5_074_000, 44457)
67 // Standard Error: 81_92968 // Standard Error: 36_651
68 .saturating_add(Weight::from_parts(23_972_425, 0).saturating_mul(b.into()))69 .saturating_add(Weight::from_parts(23_145_677, 0).saturating_mul(b.into()))
69 .saturating_add(T::DbWeight::get().reads(1_u64))70 .saturating_add(T::DbWeight::get().reads(1_u64))
70 .saturating_add(T::DbWeight::get().writes(1_u64))71 .saturating_add(T::DbWeight::get().writes(1_u64))
71 }72 }
72 /// Storage: Common Allowlist (r:1 w:0)73 /// Storage: Common Allowlist (r:1 w:0)
73 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)74 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)
74 fn check_accesslist() -> Weight {75 fn check_accesslist() -> Weight {
75 // Proof Size summary in bytes:76 // Proof Size summary in bytes:
76 // Measured: `340`77 // Measured: `373`
77 // Estimated: `3535`78 // Estimated: `3535`
78 // Minimum execution time: 5_205_000 picoseconds.79 // Minimum execution time: 4_271_000 picoseconds.
79 Weight::from_parts(5_438_000, 3535)80 Weight::from_parts(4_461_000, 3535)
80 .saturating_add(T::DbWeight::get().reads(1_u64))81 .saturating_add(T::DbWeight::get().reads(1_u64))
81 }82 }
83 /// Storage: Common IsAdmin (r:1 w:0)
84 /// Proof: Common IsAdmin (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)
85 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
86 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
87 fn init_token_properties_common() -> Weight {
88 // Proof Size summary in bytes:
89 // Measured: `326`
90 // Estimated: `20191`
91 // Minimum execution time: 5_889_000 picoseconds.
92 Weight::from_parts(6_138_000, 20191)
93 .saturating_add(T::DbWeight::get().reads(2_u64))
94 }
82}95}
8396
84// For backwards compatibility and tests97// For backwards compatibility and tests
88 /// The range of component `b` is `[0, 64]`.101 /// The range of component `b` is `[0, 64]`.
89 fn set_collection_properties(b: u32, ) -> Weight {102 fn set_collection_properties(b: u32, ) -> Weight {
90 // Proof Size summary in bytes:103 // Proof Size summary in bytes:
91 // Measured: `265`104 // Measured: `298`
92 // Estimated: `44457`105 // Estimated: `44457`
93 // Minimum execution time: 6_805_000 picoseconds.106 // Minimum execution time: 4_987_000 picoseconds.
94 Weight::from_parts(6_965_000, 44457)107 Weight::from_parts(5_119_000, 44457)
95 // Standard Error: 20_175108 // Standard Error: 7_609
96 .saturating_add(Weight::from_parts(6_191_369, 0).saturating_mul(b.into()))109 .saturating_add(Weight::from_parts(5_750_459, 0).saturating_mul(b.into()))
97 .saturating_add(RocksDbWeight::get().reads(1_u64))110 .saturating_add(RocksDbWeight::get().reads(1_u64))
98 .saturating_add(RocksDbWeight::get().writes(1_u64))111 .saturating_add(RocksDbWeight::get().writes(1_u64))
99 }112 }
102 /// The range of component `b` is `[0, 64]`.115 /// The range of component `b` is `[0, 64]`.
103 fn delete_collection_properties(b: u32, ) -> Weight {116 fn delete_collection_properties(b: u32, ) -> Weight {
104 // Proof Size summary in bytes:117 // Proof Size summary in bytes:
105 // Measured: `270 + b * (33030 ±0)`118 // Measured: `303 + b * (33030 ±0)`
106 // Estimated: `44457`119 // Estimated: `44457`
107 // Minimum execution time: 6_284_000 picoseconds.120 // Minimum execution time: 4_923_000 picoseconds.
108 Weight::from_parts(6_416_000, 44457)121 Weight::from_parts(5_074_000, 44457)
109 // Standard Error: 81_929122 // Standard Error: 36_651
110 .saturating_add(Weight::from_parts(23_972_425, 0).saturating_mul(b.into()))123 .saturating_add(Weight::from_parts(23_145_677, 0).saturating_mul(b.into()))
111 .saturating_add(RocksDbWeight::get().reads(1_u64))124 .saturating_add(RocksDbWeight::get().reads(1_u64))
112 .saturating_add(RocksDbWeight::get().writes(1_u64))125 .saturating_add(RocksDbWeight::get().writes(1_u64))
113 }126 }
114 /// Storage: Common Allowlist (r:1 w:0)127 /// Storage: Common Allowlist (r:1 w:0)
115 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)128 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)
116 fn check_accesslist() -> Weight {129 fn check_accesslist() -> Weight {
117 // Proof Size summary in bytes:130 // Proof Size summary in bytes:
118 // Measured: `340`131 // Measured: `373`
119 // Estimated: `3535`132 // Estimated: `3535`
120 // Minimum execution time: 5_205_000 picoseconds.133 // Minimum execution time: 4_271_000 picoseconds.
121 Weight::from_parts(5_438_000, 3535)134 Weight::from_parts(4_461_000, 3535)
122 .saturating_add(RocksDbWeight::get().reads(1_u64))135 .saturating_add(RocksDbWeight::get().reads(1_u64))
123 }136 }
137 /// Storage: Common IsAdmin (r:1 w:0)
138 /// Proof: Common IsAdmin (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)
139 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
140 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
141 fn init_token_properties_common() -> Weight {
142 // Proof Size summary in bytes:
143 // Measured: `326`
144 // Estimated: `20191`
145 // Minimum execution time: 5_889_000 picoseconds.
146 Weight::from_parts(6_138_000, 20191)
147 .saturating_add(RocksDbWeight::get().reads(2_u64))
148 }
124}149}
125150
126151
modifiedpallets/configuration/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_configuration3//! Autogenerated weights for pallet_configuration
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-26, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/configuration/src/weights.rs25// --output=./pallets/configuration/src/weights.rs
2626
50 // Proof Size summary in bytes:50 // Proof Size summary in bytes:
51 // Measured: `0`51 // Measured: `0`
52 // Estimated: `0`52 // Estimated: `0`
53 // Minimum execution time: 1_725_000 picoseconds.53 // Minimum execution time: 990_000 picoseconds.
54 Weight::from_parts(1_853_000, 0)54 Weight::from_parts(1_090_000, 0)
55 .saturating_add(T::DbWeight::get().writes(1_u64))55 .saturating_add(T::DbWeight::get().writes(1_u64))
56 }56 }
57 /// Storage: Configuration MinGasPriceOverride (r:0 w:1)57 /// Storage: Configuration MinGasPriceOverride (r:0 w:1)
58 /// Proof: Configuration MinGasPriceOverride (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)58 /// Proof: Configuration MinGasPriceOverride (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
59 /// Storage: unknown `0xc1fef3b7207c11a52df13c12884e772609bc3a1e532c9cb85d57feed02cbff8e` (r:0 w:1)
60 /// Proof Skipped: unknown `0xc1fef3b7207c11a52df13c12884e772609bc3a1e532c9cb85d57feed02cbff8e` (r:0 w:1)
61 /// Storage: unknown `0xc1fef3b7207c11a52df13c12884e77263864ade243c642793ebcfe9e16f454ca` (r:0 w:1)
62 /// Proof Skipped: unknown `0xc1fef3b7207c11a52df13c12884e77263864ade243c642793ebcfe9e16f454ca` (r:0 w:1)
59 fn set_min_gas_price_override() -> Weight {63 fn set_min_gas_price_override() -> Weight {
60 // Proof Size summary in bytes:64 // Proof Size summary in bytes:
61 // Measured: `0`65 // Measured: `0`
62 // Estimated: `0`66 // Estimated: `0`
63 // Minimum execution time: 1_802_000 picoseconds.67 // Minimum execution time: 1_469_000 picoseconds.
64 Weight::from_parts(1_903_000, 0)68 Weight::from_parts(1_565_000, 0)
65 .saturating_add(T::DbWeight::get().writes(1_u64))69 .saturating_add(T::DbWeight::get().writes(3_u64))
66 }70 }
67 /// Storage: Configuration AppPromomotionConfigurationOverride (r:0 w:1)71 /// Storage: Configuration AppPromomotionConfigurationOverride (r:0 w:1)
68 /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen)72 /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen)
69 fn set_app_promotion_configuration_override() -> Weight {73 fn set_app_promotion_configuration_override() -> Weight {
70 // Proof Size summary in bytes:74 // Proof Size summary in bytes:
71 // Measured: `0`75 // Measured: `0`
72 // Estimated: `0`76 // Estimated: `0`
73 // Minimum execution time: 2_048_000 picoseconds.77 // Minimum execution time: 1_027_000 picoseconds.
74 Weight::from_parts(2_157_000, 0)78 Weight::from_parts(1_098_000, 0)
75 .saturating_add(T::DbWeight::get().writes(1_u64))79 .saturating_add(T::DbWeight::get().writes(1_u64))
76 }80 }
77 /// Storage: Configuration CollatorSelectionDesiredCollatorsOverride (r:0 w:1)81 /// Storage: Configuration CollatorSelectionDesiredCollatorsOverride (r:0 w:1)
80 // Proof Size summary in bytes:84 // Proof Size summary in bytes:
81 // Measured: `0`85 // Measured: `0`
82 // Estimated: `0`86 // Estimated: `0`
83 // Minimum execution time: 7_622_000 picoseconds.87 // Minimum execution time: 4_149_000 picoseconds.
84 Weight::from_parts(8_014_000, 0)88 Weight::from_parts(4_326_000, 0)
85 .saturating_add(T::DbWeight::get().writes(1_u64))89 .saturating_add(T::DbWeight::get().writes(1_u64))
86 }90 }
87 /// Storage: Configuration CollatorSelectionLicenseBondOverride (r:0 w:1)91 /// Storage: Configuration CollatorSelectionLicenseBondOverride (r:0 w:1)
90 // Proof Size summary in bytes:94 // Proof Size summary in bytes:
91 // Measured: `0`95 // Measured: `0`
92 // Estimated: `0`96 // Estimated: `0`
93 // Minimum execution time: 4_981_000 picoseconds.97 // Minimum execution time: 2_758_000 picoseconds.
94 Weight::from_parts(5_811_000, 0)98 Weight::from_parts(2_911_000, 0)
95 .saturating_add(T::DbWeight::get().writes(1_u64))99 .saturating_add(T::DbWeight::get().writes(1_u64))
96 }100 }
97 /// Storage: Configuration CollatorSelectionKickThresholdOverride (r:0 w:1)101 /// Storage: Configuration CollatorSelectionKickThresholdOverride (r:0 w:1)
100 // Proof Size summary in bytes:104 // Proof Size summary in bytes:
101 // Measured: `0`105 // Measured: `0`
102 // Estimated: `0`106 // Estimated: `0`
103 // Minimum execution time: 4_664_000 picoseconds.107 // Minimum execution time: 2_695_000 picoseconds.
104 Weight::from_parts(4_816_000, 0)108 Weight::from_parts(2_829_000, 0)
105 .saturating_add(T::DbWeight::get().writes(1_u64))109 .saturating_add(T::DbWeight::get().writes(1_u64))
106 }110 }
107}111}
114 // Proof Size summary in bytes:118 // Proof Size summary in bytes:
115 // Measured: `0`119 // Measured: `0`
116 // Estimated: `0`120 // Estimated: `0`
117 // Minimum execution time: 1_725_000 picoseconds.121 // Minimum execution time: 990_000 picoseconds.
118 Weight::from_parts(1_853_000, 0)122 Weight::from_parts(1_090_000, 0)
119 .saturating_add(RocksDbWeight::get().writes(1_u64))123 .saturating_add(RocksDbWeight::get().writes(1_u64))
120 }124 }
121 /// Storage: Configuration MinGasPriceOverride (r:0 w:1)125 /// Storage: Configuration MinGasPriceOverride (r:0 w:1)
122 /// Proof: Configuration MinGasPriceOverride (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)126 /// Proof: Configuration MinGasPriceOverride (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
127 /// Storage: unknown `0xc1fef3b7207c11a52df13c12884e772609bc3a1e532c9cb85d57feed02cbff8e` (r:0 w:1)
128 /// Proof Skipped: unknown `0xc1fef3b7207c11a52df13c12884e772609bc3a1e532c9cb85d57feed02cbff8e` (r:0 w:1)
129 /// Storage: unknown `0xc1fef3b7207c11a52df13c12884e77263864ade243c642793ebcfe9e16f454ca` (r:0 w:1)
130 /// Proof Skipped: unknown `0xc1fef3b7207c11a52df13c12884e77263864ade243c642793ebcfe9e16f454ca` (r:0 w:1)
123 fn set_min_gas_price_override() -> Weight {131 fn set_min_gas_price_override() -> Weight {
124 // Proof Size summary in bytes:132 // Proof Size summary in bytes:
125 // Measured: `0`133 // Measured: `0`
126 // Estimated: `0`134 // Estimated: `0`
127 // Minimum execution time: 1_802_000 picoseconds.135 // Minimum execution time: 1_469_000 picoseconds.
128 Weight::from_parts(1_903_000, 0)136 Weight::from_parts(1_565_000, 0)
129 .saturating_add(RocksDbWeight::get().writes(1_u64))137 .saturating_add(RocksDbWeight::get().writes(3_u64))
130 }138 }
131 /// Storage: Configuration AppPromomotionConfigurationOverride (r:0 w:1)139 /// Storage: Configuration AppPromomotionConfigurationOverride (r:0 w:1)
132 /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen)140 /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen)
133 fn set_app_promotion_configuration_override() -> Weight {141 fn set_app_promotion_configuration_override() -> Weight {
134 // Proof Size summary in bytes:142 // Proof Size summary in bytes:
135 // Measured: `0`143 // Measured: `0`
136 // Estimated: `0`144 // Estimated: `0`
137 // Minimum execution time: 2_048_000 picoseconds.145 // Minimum execution time: 1_027_000 picoseconds.
138 Weight::from_parts(2_157_000, 0)146 Weight::from_parts(1_098_000, 0)
139 .saturating_add(RocksDbWeight::get().writes(1_u64))147 .saturating_add(RocksDbWeight::get().writes(1_u64))
140 }148 }
141 /// Storage: Configuration CollatorSelectionDesiredCollatorsOverride (r:0 w:1)149 /// Storage: Configuration CollatorSelectionDesiredCollatorsOverride (r:0 w:1)
144 // Proof Size summary in bytes:152 // Proof Size summary in bytes:
145 // Measured: `0`153 // Measured: `0`
146 // Estimated: `0`154 // Estimated: `0`
147 // Minimum execution time: 7_622_000 picoseconds.155 // Minimum execution time: 4_149_000 picoseconds.
148 Weight::from_parts(8_014_000, 0)156 Weight::from_parts(4_326_000, 0)
149 .saturating_add(RocksDbWeight::get().writes(1_u64))157 .saturating_add(RocksDbWeight::get().writes(1_u64))
150 }158 }
151 /// Storage: Configuration CollatorSelectionLicenseBondOverride (r:0 w:1)159 /// Storage: Configuration CollatorSelectionLicenseBondOverride (r:0 w:1)
154 // Proof Size summary in bytes:162 // Proof Size summary in bytes:
155 // Measured: `0`163 // Measured: `0`
156 // Estimated: `0`164 // Estimated: `0`
157 // Minimum execution time: 4_981_000 picoseconds.165 // Minimum execution time: 2_758_000 picoseconds.
158 Weight::from_parts(5_811_000, 0)166 Weight::from_parts(2_911_000, 0)
159 .saturating_add(RocksDbWeight::get().writes(1_u64))167 .saturating_add(RocksDbWeight::get().writes(1_u64))
160 }168 }
161 /// Storage: Configuration CollatorSelectionKickThresholdOverride (r:0 w:1)169 /// Storage: Configuration CollatorSelectionKickThresholdOverride (r:0 w:1)
164 // Proof Size summary in bytes:172 // Proof Size summary in bytes:
165 // Measured: `0`173 // Measured: `0`
166 // Estimated: `0`174 // Estimated: `0`
167 // Minimum execution time: 4_664_000 picoseconds.175 // Minimum execution time: 2_695_000 picoseconds.
168 Weight::from_parts(4_816_000, 0)176 Weight::from_parts(2_829_000, 0)
169 .saturating_add(RocksDbWeight::get().writes(1_u64))177 .saturating_add(RocksDbWeight::get().writes(1_u64))
170 }178 }
171}179}
modifiedpallets/evm-migration/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_evm_migration3//! Autogenerated weights for pallet_evm_migration
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-26, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/evm-migration/src/weights.rs25// --output=./pallets/evm-migration/src/weights.rs
2626
52 fn begin() -> Weight {52 fn begin() -> Weight {
53 // Proof Size summary in bytes:53 // Proof Size summary in bytes:
54 // Measured: `94`54 // Measured: `94`
55 // Estimated: `10646`55 // Estimated: `3593`
56 // Minimum execution time: 8_519_000 picoseconds.56 // Minimum execution time: 6_131_000 picoseconds.
57 Weight::from_parts(8_729_000, 10646)57 Weight::from_parts(6_351_000, 3593)
58 .saturating_add(T::DbWeight::get().reads(3_u64))58 .saturating_add(T::DbWeight::get().reads(3_u64))
59 .saturating_add(T::DbWeight::get().writes(1_u64))59 .saturating_add(T::DbWeight::get().writes(1_u64))
60 }60 }
66 fn set_data(b: u32, ) -> Weight {66 fn set_data(b: u32, ) -> Weight {
67 // Proof Size summary in bytes:67 // Proof Size summary in bytes:
68 // Measured: `96`68 // Measured: `96`
69 // Estimated: `3590`69 // Estimated: `3494`
70 // Minimum execution time: 6_062_000 picoseconds.70 // Minimum execution time: 4_522_000 picoseconds.
71 Weight::from_parts(7_193_727, 3590)71 Weight::from_parts(4_569_839, 3494)
72 // Standard Error: 1_84472 // Standard Error: 253
73 .saturating_add(Weight::from_parts(876_826, 0).saturating_mul(b.into()))73 .saturating_add(Weight::from_parts(743_780, 0).saturating_mul(b.into()))
74 .saturating_add(T::DbWeight::get().reads(1_u64))74 .saturating_add(T::DbWeight::get().reads(1_u64))
75 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(b.into())))75 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(b.into())))
76 }76 }
79 /// Storage: EVM AccountCodes (r:0 w:1)79 /// Storage: EVM AccountCodes (r:0 w:1)
80 /// Proof Skipped: EVM AccountCodes (max_values: None, max_size: None, mode: Measured)80 /// Proof Skipped: EVM AccountCodes (max_values: None, max_size: None, mode: Measured)
81 /// The range of component `b` is `[0, 80]`.81 /// The range of component `b` is `[0, 80]`.
82 fn finish(_b: u32, ) -> Weight {82 fn finish(b: u32, ) -> Weight {
83 // Proof Size summary in bytes:83 // Proof Size summary in bytes:
84 // Measured: `96`84 // Measured: `96`
85 // Estimated: `3590`85 // Estimated: `3494`
86 // Minimum execution time: 7_452_000 picoseconds.86 // Minimum execution time: 5_329_000 picoseconds.
87 Weight::from_parts(8_531_888, 3590)87 Weight::from_parts(5_677_312, 3494)
88 // Standard Error: 22
89 .saturating_add(Weight::from_parts(1_369, 0).saturating_mul(b.into()))
88 .saturating_add(T::DbWeight::get().reads(1_u64))90 .saturating_add(T::DbWeight::get().reads(1_u64))
89 .saturating_add(T::DbWeight::get().writes(2_u64))91 .saturating_add(T::DbWeight::get().writes(2_u64))
90 }92 }
93 // Proof Size summary in bytes:95 // Proof Size summary in bytes:
94 // Measured: `0`96 // Measured: `0`
95 // Estimated: `0`97 // Estimated: `0`
96 // Minimum execution time: 1_377_000 picoseconds.98 // Minimum execution time: 890_000 picoseconds.
97 Weight::from_parts(3_388_877, 0)99 Weight::from_parts(1_279_871, 0)
98 // Standard Error: 1_205100 // Standard Error: 112
99 .saturating_add(Weight::from_parts(696_701, 0).saturating_mul(b.into()))101 .saturating_add(Weight::from_parts(408_968, 0).saturating_mul(b.into()))
100 }102 }
101 /// The range of component `b` is `[0, 200]`.103 /// The range of component `b` is `[0, 200]`.
102 fn insert_events(b: u32, ) -> Weight {104 fn insert_events(b: u32, ) -> Weight {
103 // Proof Size summary in bytes:105 // Proof Size summary in bytes:
104 // Measured: `0`106 // Measured: `0`
105 // Estimated: `0`107 // Estimated: `0`
106 // Minimum execution time: 1_671_000 picoseconds.108 // Minimum execution time: 896_000 picoseconds.
107 Weight::from_parts(4_402_497, 0)109 Weight::from_parts(1_975_680, 0)
108 // Standard Error: 723110 // Standard Error: 117
109 .saturating_add(Weight::from_parts(1_338_678, 0).saturating_mul(b.into()))111 .saturating_add(Weight::from_parts(1_003_721, 0).saturating_mul(b.into()))
110 }112 }
111}113}
112114
121 fn begin() -> Weight {123 fn begin() -> Weight {
122 // Proof Size summary in bytes:124 // Proof Size summary in bytes:
123 // Measured: `94`125 // Measured: `94`
124 // Estimated: `10646`126 // Estimated: `3593`
125 // Minimum execution time: 8_519_000 picoseconds.127 // Minimum execution time: 6_131_000 picoseconds.
126 Weight::from_parts(8_729_000, 10646)128 Weight::from_parts(6_351_000, 3593)
127 .saturating_add(RocksDbWeight::get().reads(3_u64))129 .saturating_add(RocksDbWeight::get().reads(3_u64))
128 .saturating_add(RocksDbWeight::get().writes(1_u64))130 .saturating_add(RocksDbWeight::get().writes(1_u64))
129 }131 }
135 fn set_data(b: u32, ) -> Weight {137 fn set_data(b: u32, ) -> Weight {
136 // Proof Size summary in bytes:138 // Proof Size summary in bytes:
137 // Measured: `96`139 // Measured: `96`
138 // Estimated: `3590`140 // Estimated: `3494`
139 // Minimum execution time: 6_062_000 picoseconds.141 // Minimum execution time: 4_522_000 picoseconds.
140 Weight::from_parts(7_193_727, 3590)142 Weight::from_parts(4_569_839, 3494)
141 // Standard Error: 1_844143 // Standard Error: 253
142 .saturating_add(Weight::from_parts(876_826, 0).saturating_mul(b.into()))144 .saturating_add(Weight::from_parts(743_780, 0).saturating_mul(b.into()))
143 .saturating_add(RocksDbWeight::get().reads(1_u64))145 .saturating_add(RocksDbWeight::get().reads(1_u64))
144 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(b.into())))146 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(b.into())))
145 }147 }
148 /// Storage: EVM AccountCodes (r:0 w:1)150 /// Storage: EVM AccountCodes (r:0 w:1)
149 /// Proof Skipped: EVM AccountCodes (max_values: None, max_size: None, mode: Measured)151 /// Proof Skipped: EVM AccountCodes (max_values: None, max_size: None, mode: Measured)
150 /// The range of component `b` is `[0, 80]`.152 /// The range of component `b` is `[0, 80]`.
151 fn finish(_b: u32, ) -> Weight {153 fn finish(b: u32, ) -> Weight {
152 // Proof Size summary in bytes:154 // Proof Size summary in bytes:
153 // Measured: `96`155 // Measured: `96`
154 // Estimated: `3590`156 // Estimated: `3494`
155 // Minimum execution time: 7_452_000 picoseconds.157 // Minimum execution time: 5_329_000 picoseconds.
156 Weight::from_parts(8_531_888, 3590)158 Weight::from_parts(5_677_312, 3494)
159 // Standard Error: 22
160 .saturating_add(Weight::from_parts(1_369, 0).saturating_mul(b.into()))
157 .saturating_add(RocksDbWeight::get().reads(1_u64))161 .saturating_add(RocksDbWeight::get().reads(1_u64))
158 .saturating_add(RocksDbWeight::get().writes(2_u64))162 .saturating_add(RocksDbWeight::get().writes(2_u64))
159 }163 }
162 // Proof Size summary in bytes:166 // Proof Size summary in bytes:
163 // Measured: `0`167 // Measured: `0`
164 // Estimated: `0`168 // Estimated: `0`
165 // Minimum execution time: 1_377_000 picoseconds.169 // Minimum execution time: 890_000 picoseconds.
166 Weight::from_parts(3_388_877, 0)170 Weight::from_parts(1_279_871, 0)
167 // Standard Error: 1_205171 // Standard Error: 112
168 .saturating_add(Weight::from_parts(696_701, 0).saturating_mul(b.into()))172 .saturating_add(Weight::from_parts(408_968, 0).saturating_mul(b.into()))
169 }173 }
170 /// The range of component `b` is `[0, 200]`.174 /// The range of component `b` is `[0, 200]`.
171 fn insert_events(b: u32, ) -> Weight {175 fn insert_events(b: u32, ) -> Weight {
172 // Proof Size summary in bytes:176 // Proof Size summary in bytes:
173 // Measured: `0`177 // Measured: `0`
174 // Estimated: `0`178 // Estimated: `0`
175 // Minimum execution time: 1_671_000 picoseconds.179 // Minimum execution time: 896_000 picoseconds.
176 Weight::from_parts(4_402_497, 0)180 Weight::from_parts(1_975_680, 0)
177 // Standard Error: 723181 // Standard Error: 117
178 .saturating_add(Weight::from_parts(1_338_678, 0).saturating_mul(b.into()))182 .saturating_add(Weight::from_parts(1_003_721, 0).saturating_mul(b.into()))
179 }183 }
180}184}
181185
modifiedpallets/foreign-assets/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_foreign_assets3//! Autogenerated weights for pallet_foreign_assets
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-26, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/foreign-assets/src/weights.rs25// --output=./pallets/foreign-assets/src/weights.rs
2626
56 /// Proof: ForeignAssets AssetMetadatas (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)56 /// Proof: ForeignAssets AssetMetadatas (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
57 /// Storage: ForeignAssets AssetBinding (r:1 w:1)57 /// Storage: ForeignAssets AssetBinding (r:1 w:1)
58 /// Proof: ForeignAssets AssetBinding (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)58 /// Proof: ForeignAssets AssetBinding (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
59 /// Storage: Common AdminAmount (r:0 w:1)
60 /// Proof: Common AdminAmount (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen)
59 /// Storage: Common CollectionPropertyPermissions (r:0 w:1)61 /// Storage: Common CollectionPropertyPermissions (r:0 w:1)
60 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)62 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
61 /// Storage: Common CollectionProperties (r:0 w:1)63 /// Storage: Common CollectionProperties (r:0 w:1)
65 fn register_foreign_asset() -> Weight {67 fn register_foreign_asset() -> Weight {
66 // Proof Size summary in bytes:68 // Proof Size summary in bytes:
67 // Measured: `286`69 // Measured: `286`
68 // Estimated: `25838`70 // Estimated: `6196`
69 // Minimum execution time: 37_778_000 picoseconds.71 // Minimum execution time: 33_294_000 picoseconds.
70 Weight::from_parts(38_334_000, 25838)72 Weight::from_parts(34_011_000, 6196)
71 .saturating_add(T::DbWeight::get().reads(9_u64))73 .saturating_add(T::DbWeight::get().reads(9_u64))
72 .saturating_add(T::DbWeight::get().writes(11_u64))74 .saturating_add(T::DbWeight::get().writes(12_u64))
73 }75 }
74 /// Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)76 /// Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
75 /// Proof: ForeignAssets ForeignAssetLocations (max_values: None, max_size: Some(614), added: 3089, mode: MaxEncodedLen)77 /// Proof: ForeignAssets ForeignAssetLocations (max_values: None, max_size: Some(614), added: 3089, mode: MaxEncodedLen)
78 fn update_foreign_asset() -> Weight {80 fn update_foreign_asset() -> Weight {
79 // Proof Size summary in bytes:81 // Proof Size summary in bytes:
80 // Measured: `197`82 // Measured: `197`
81 // Estimated: `7615`83 // Estimated: `4079`
82 // Minimum execution time: 13_739_000 picoseconds.84 // Minimum execution time: 9_296_000 picoseconds.
83 Weight::from_parts(22_366_000, 7615)85 Weight::from_parts(9_594_000, 4079)
84 .saturating_add(T::DbWeight::get().reads(2_u64))86 .saturating_add(T::DbWeight::get().reads(2_u64))
85 .saturating_add(T::DbWeight::get().writes(2_u64))87 .saturating_add(T::DbWeight::get().writes(2_u64))
86 }88 }
104 /// Proof: ForeignAssets AssetMetadatas (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)106 /// Proof: ForeignAssets AssetMetadatas (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
105 /// Storage: ForeignAssets AssetBinding (r:1 w:1)107 /// Storage: ForeignAssets AssetBinding (r:1 w:1)
106 /// Proof: ForeignAssets AssetBinding (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)108 /// Proof: ForeignAssets AssetBinding (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
109 /// Storage: Common AdminAmount (r:0 w:1)
110 /// Proof: Common AdminAmount (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen)
107 /// Storage: Common CollectionPropertyPermissions (r:0 w:1)111 /// Storage: Common CollectionPropertyPermissions (r:0 w:1)
108 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)112 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
109 /// Storage: Common CollectionProperties (r:0 w:1)113 /// Storage: Common CollectionProperties (r:0 w:1)
113 fn register_foreign_asset() -> Weight {117 fn register_foreign_asset() -> Weight {
114 // Proof Size summary in bytes:118 // Proof Size summary in bytes:
115 // Measured: `286`119 // Measured: `286`
116 // Estimated: `25838`120 // Estimated: `6196`
117 // Minimum execution time: 37_778_000 picoseconds.121 // Minimum execution time: 33_294_000 picoseconds.
118 Weight::from_parts(38_334_000, 25838)122 Weight::from_parts(34_011_000, 6196)
119 .saturating_add(RocksDbWeight::get().reads(9_u64))123 .saturating_add(RocksDbWeight::get().reads(9_u64))
120 .saturating_add(RocksDbWeight::get().writes(11_u64))124 .saturating_add(RocksDbWeight::get().writes(12_u64))
121 }125 }
122 /// Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)126 /// Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
123 /// Proof: ForeignAssets ForeignAssetLocations (max_values: None, max_size: Some(614), added: 3089, mode: MaxEncodedLen)127 /// Proof: ForeignAssets ForeignAssetLocations (max_values: None, max_size: Some(614), added: 3089, mode: MaxEncodedLen)
126 fn update_foreign_asset() -> Weight {130 fn update_foreign_asset() -> Weight {
127 // Proof Size summary in bytes:131 // Proof Size summary in bytes:
128 // Measured: `197`132 // Measured: `197`
129 // Estimated: `7615`133 // Estimated: `4079`
130 // Minimum execution time: 13_739_000 picoseconds.134 // Minimum execution time: 9_296_000 picoseconds.
131 Weight::from_parts(22_366_000, 7615)135 Weight::from_parts(9_594_000, 4079)
132 .saturating_add(RocksDbWeight::get().reads(2_u64))136 .saturating_add(RocksDbWeight::get().reads(2_u64))
133 .saturating_add(RocksDbWeight::get().writes(2_u64))137 .saturating_add(RocksDbWeight::get().writes(2_u64))
134 }138 }
modifiedpallets/fungible/src/common.rsdiffbeforeafterboth
25 weights::WeightInfo as _, SelfWeightOf as PalletCommonWeightOf,25 weights::WeightInfo as _, SelfWeightOf as PalletCommonWeightOf,
26};26};
27use pallet_structure::Error as StructureError;27use pallet_structure::Error as StructureError;
28use sp_runtime::ArithmeticError;28use sp_runtime::{ArithmeticError, DispatchError};
29use sp_std::{vec::Vec, vec};29use sp_std::{vec::Vec, vec};
30use up_data_structs::{Property, PropertyKey, PropertyValue, PropertyKeyPermission};30use up_data_structs::{Property, PropertyKey, PropertyValue, PropertyKeyPermission};
3131
364 fail!(<Error<T>>::SettingPropertiesNotAllowed)364 fail!(<Error<T>>::SettingPropertiesNotAllowed)
365 }365 }
366
367 fn get_token_properties_raw(
368 &self,
369 _token_id: TokenId,
370 ) -> Option<up_data_structs::TokenProperties> {
371 // No token properties are defined on fungibles
372 None
373 }
374
375 fn set_token_properties_raw(&self, _token_id: TokenId, _map: up_data_structs::TokenProperties) {
376 // No token properties are defined on fungibles
377 }
366378
367 fn check_nesting(379 fn check_nesting(
368 &self,380 &self,
402 Err(TokenOwnerError::MultipleOwners)414 Err(TokenOwnerError::MultipleOwners)
403 }415 }
416
417 fn check_token_indirect_owner(
418 &self,
419 _token: TokenId,
420 _maybe_owner: &T::CrossAccountId,
421 _nesting_budget: &dyn Budget,
422 ) -> Result<bool, DispatchError> {
423 Ok(false)
424 }
404425
405 /// Returns 10 tokens owners in no particular order.426 /// Returns 10 tokens owners in no particular order.
406 fn token_owners(&self, token: TokenId) -> Vec<T::CrossAccountId> {427 fn token_owners(&self, token: TokenId) -> Vec<T::CrossAccountId> {
modifiedpallets/fungible/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_fungible3//! Autogenerated weights for pallet_fungible
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-26, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/fungible/src/weights.rs25// --output=./pallets/fungible/src/weights.rs
2626
54 fn create_item() -> Weight {54 fn create_item() -> Weight {
55 // Proof Size summary in bytes:55 // Proof Size summary in bytes:
56 // Measured: `42`56 // Measured: `42`
57 // Estimated: `7035`57 // Estimated: `3542`
58 // Minimum execution time: 10_168_000 picoseconds.58 // Minimum execution time: 7_228_000 picoseconds.
59 Weight::from_parts(10_453_000, 7035)59 Weight::from_parts(7_472_000, 3542)
60 .saturating_add(T::DbWeight::get().reads(2_u64))60 .saturating_add(T::DbWeight::get().reads(2_u64))
61 .saturating_add(T::DbWeight::get().writes(2_u64))61 .saturating_add(T::DbWeight::get().writes(2_u64))
62 }62 }
68 fn create_multiple_items_ex(b: u32, ) -> Weight {68 fn create_multiple_items_ex(b: u32, ) -> Weight {
69 // Proof Size summary in bytes:69 // Proof Size summary in bytes:
70 // Measured: `42`70 // Measured: `42`
71 // Estimated: `4483 + b * (2552 ±0)`71 // Estimated: `3493 + b * (2552 ±0)`
72 // Minimum execution time: 3_248_000 picoseconds.72 // Minimum execution time: 2_398_000 picoseconds.
73 Weight::from_parts(12_455_981, 4483)73 Weight::from_parts(4_432_908, 3493)
74 // Standard Error: 2_69874 // Standard Error: 263
75 .saturating_add(Weight::from_parts(3_426_148, 0).saturating_mul(b.into()))75 .saturating_add(Weight::from_parts(2_617_422, 0).saturating_mul(b.into()))
76 .saturating_add(T::DbWeight::get().reads(1_u64))76 .saturating_add(T::DbWeight::get().reads(1_u64))
77 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into())))77 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into())))
78 .saturating_add(T::DbWeight::get().writes(1_u64))78 .saturating_add(T::DbWeight::get().writes(1_u64))
86 fn burn_item() -> Weight {86 fn burn_item() -> Weight {
87 // Proof Size summary in bytes:87 // Proof Size summary in bytes:
88 // Measured: `197`88 // Measured: `197`
89 // Estimated: `7035`89 // Estimated: `3542`
90 // Minimum execution time: 12_717_000 picoseconds.90 // Minimum execution time: 9_444_000 picoseconds.
91 Weight::from_parts(13_031_000, 7035)91 Weight::from_parts(9_742_000, 3542)
92 .saturating_add(T::DbWeight::get().reads(2_u64))92 .saturating_add(T::DbWeight::get().reads(2_u64))
93 .saturating_add(T::DbWeight::get().writes(2_u64))93 .saturating_add(T::DbWeight::get().writes(2_u64))
94 }94 }
98 // Proof Size summary in bytes:98 // Proof Size summary in bytes:
99 // Measured: `182`99 // Measured: `182`
100 // Estimated: `6094`100 // Estimated: `6094`
101 // Minimum execution time: 13_640_000 picoseconds.101 // Minimum execution time: 9_553_000 picoseconds.
102 Weight::from_parts(13_935_000, 6094)102 Weight::from_parts(9_852_000, 6094)
103 .saturating_add(T::DbWeight::get().reads(2_u64))103 .saturating_add(T::DbWeight::get().reads(2_u64))
104 .saturating_add(T::DbWeight::get().writes(2_u64))104 .saturating_add(T::DbWeight::get().writes(2_u64))
105 }105 }
111 // Proof Size summary in bytes:111 // Proof Size summary in bytes:
112 // Measured: `182`112 // Measured: `182`
113 // Estimated: `3542`113 // Estimated: `3542`
114 // Minimum execution time: 11_769_000 picoseconds.114 // Minimum execution time: 8_435_000 picoseconds.
115 Weight::from_parts(12_072_000, 3542)115 Weight::from_parts(8_714_000, 3542)
116 .saturating_add(T::DbWeight::get().reads(1_u64))116 .saturating_add(T::DbWeight::get().reads(1_u64))
117 .saturating_add(T::DbWeight::get().writes(1_u64))117 .saturating_add(T::DbWeight::get().writes(1_u64))
118 }118 }
124 // Proof Size summary in bytes:124 // Proof Size summary in bytes:
125 // Measured: `170`125 // Measured: `170`
126 // Estimated: `3542`126 // Estimated: `3542`
127 // Minimum execution time: 11_603_000 picoseconds.127 // Minimum execution time: 8_475_000 picoseconds.
128 Weight::from_parts(12_003_000, 3542)128 Weight::from_parts(8_735_000, 3542)
129 .saturating_add(T::DbWeight::get().reads(1_u64))129 .saturating_add(T::DbWeight::get().reads(1_u64))
130 .saturating_add(T::DbWeight::get().writes(1_u64))130 .saturating_add(T::DbWeight::get().writes(1_u64))
131 }131 }
135 // Proof Size summary in bytes:135 // Proof Size summary in bytes:
136 // Measured: `210`136 // Measured: `210`
137 // Estimated: `3558`137 // Estimated: `3558`
138 // Minimum execution time: 5_682_000 picoseconds.138 // Minimum execution time: 4_426_000 picoseconds.
139 Weight::from_parts(5_892_000, 3558)139 Weight::from_parts(4_604_000, 3558)
140 .saturating_add(T::DbWeight::get().reads(1_u64))140 .saturating_add(T::DbWeight::get().reads(1_u64))
141 }141 }
142 /// Storage: Fungible Allowance (r:0 w:1)142 /// Storage: Fungible Allowance (r:0 w:1)
145 // Proof Size summary in bytes:145 // Proof Size summary in bytes:
146 // Measured: `0`146 // Measured: `0`
147 // Estimated: `0`147 // Estimated: `0`
148 // Minimum execution time: 6_415_000 picoseconds.148 // Minimum execution time: 4_130_000 picoseconds.
149 Weight::from_parts(6_599_000, 0)149 Weight::from_parts(4_275_000, 0)
150 .saturating_add(T::DbWeight::get().writes(1_u64))150 .saturating_add(T::DbWeight::get().writes(1_u64))
151 }151 }
152 /// Storage: Fungible Allowance (r:1 w:1)152 /// Storage: Fungible Allowance (r:1 w:1)
158 fn burn_from() -> Weight {158 fn burn_from() -> Weight {
159 // Proof Size summary in bytes:159 // Proof Size summary in bytes:
160 // Measured: `315`160 // Measured: `315`
161 // Estimated: `10593`161 // Estimated: `3558`
162 // Minimum execution time: 20_257_000 picoseconds.162 // Minimum execution time: 14_878_000 picoseconds.
163 Weight::from_parts(20_625_000, 10593)163 Weight::from_parts(15_263_000, 3558)
164 .saturating_add(T::DbWeight::get().reads(3_u64))164 .saturating_add(T::DbWeight::get().reads(3_u64))
165 .saturating_add(T::DbWeight::get().writes(3_u64))165 .saturating_add(T::DbWeight::get().writes(3_u64))
166 }166 }
175 fn create_item() -> Weight {175 fn create_item() -> Weight {
176 // Proof Size summary in bytes:176 // Proof Size summary in bytes:
177 // Measured: `42`177 // Measured: `42`
178 // Estimated: `7035`178 // Estimated: `3542`
179 // Minimum execution time: 10_168_000 picoseconds.179 // Minimum execution time: 7_228_000 picoseconds.
180 Weight::from_parts(10_453_000, 7035)180 Weight::from_parts(7_472_000, 3542)
181 .saturating_add(RocksDbWeight::get().reads(2_u64))181 .saturating_add(RocksDbWeight::get().reads(2_u64))
182 .saturating_add(RocksDbWeight::get().writes(2_u64))182 .saturating_add(RocksDbWeight::get().writes(2_u64))
183 }183 }
189 fn create_multiple_items_ex(b: u32, ) -> Weight {189 fn create_multiple_items_ex(b: u32, ) -> Weight {
190 // Proof Size summary in bytes:190 // Proof Size summary in bytes:
191 // Measured: `42`191 // Measured: `42`
192 // Estimated: `4483 + b * (2552 ±0)`192 // Estimated: `3493 + b * (2552 ±0)`
193 // Minimum execution time: 3_248_000 picoseconds.193 // Minimum execution time: 2_398_000 picoseconds.
194 Weight::from_parts(12_455_981, 4483)194 Weight::from_parts(4_432_908, 3493)
195 // Standard Error: 2_698195 // Standard Error: 263
196 .saturating_add(Weight::from_parts(3_426_148, 0).saturating_mul(b.into()))196 .saturating_add(Weight::from_parts(2_617_422, 0).saturating_mul(b.into()))
197 .saturating_add(RocksDbWeight::get().reads(1_u64))197 .saturating_add(RocksDbWeight::get().reads(1_u64))
198 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(b.into())))198 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(b.into())))
199 .saturating_add(RocksDbWeight::get().writes(1_u64))199 .saturating_add(RocksDbWeight::get().writes(1_u64))
207 fn burn_item() -> Weight {207 fn burn_item() -> Weight {
208 // Proof Size summary in bytes:208 // Proof Size summary in bytes:
209 // Measured: `197`209 // Measured: `197`
210 // Estimated: `7035`210 // Estimated: `3542`
211 // Minimum execution time: 12_717_000 picoseconds.211 // Minimum execution time: 9_444_000 picoseconds.
212 Weight::from_parts(13_031_000, 7035)212 Weight::from_parts(9_742_000, 3542)
213 .saturating_add(RocksDbWeight::get().reads(2_u64))213 .saturating_add(RocksDbWeight::get().reads(2_u64))
214 .saturating_add(RocksDbWeight::get().writes(2_u64))214 .saturating_add(RocksDbWeight::get().writes(2_u64))
215 }215 }
219 // Proof Size summary in bytes:219 // Proof Size summary in bytes:
220 // Measured: `182`220 // Measured: `182`
221 // Estimated: `6094`221 // Estimated: `6094`
222 // Minimum execution time: 13_640_000 picoseconds.222 // Minimum execution time: 9_553_000 picoseconds.
223 Weight::from_parts(13_935_000, 6094)223 Weight::from_parts(9_852_000, 6094)
224 .saturating_add(RocksDbWeight::get().reads(2_u64))224 .saturating_add(RocksDbWeight::get().reads(2_u64))
225 .saturating_add(RocksDbWeight::get().writes(2_u64))225 .saturating_add(RocksDbWeight::get().writes(2_u64))
226 }226 }
232 // Proof Size summary in bytes:232 // Proof Size summary in bytes:
233 // Measured: `182`233 // Measured: `182`
234 // Estimated: `3542`234 // Estimated: `3542`
235 // Minimum execution time: 11_769_000 picoseconds.235 // Minimum execution time: 8_435_000 picoseconds.
236 Weight::from_parts(12_072_000, 3542)236 Weight::from_parts(8_714_000, 3542)
237 .saturating_add(RocksDbWeight::get().reads(1_u64))237 .saturating_add(RocksDbWeight::get().reads(1_u64))
238 .saturating_add(RocksDbWeight::get().writes(1_u64))238 .saturating_add(RocksDbWeight::get().writes(1_u64))
239 }239 }
245 // Proof Size summary in bytes:245 // Proof Size summary in bytes:
246 // Measured: `170`246 // Measured: `170`
247 // Estimated: `3542`247 // Estimated: `3542`
248 // Minimum execution time: 11_603_000 picoseconds.248 // Minimum execution time: 8_475_000 picoseconds.
249 Weight::from_parts(12_003_000, 3542)249 Weight::from_parts(8_735_000, 3542)
250 .saturating_add(RocksDbWeight::get().reads(1_u64))250 .saturating_add(RocksDbWeight::get().reads(1_u64))
251 .saturating_add(RocksDbWeight::get().writes(1_u64))251 .saturating_add(RocksDbWeight::get().writes(1_u64))
252 }252 }
256 // Proof Size summary in bytes:256 // Proof Size summary in bytes:
257 // Measured: `210`257 // Measured: `210`
258 // Estimated: `3558`258 // Estimated: `3558`
259 // Minimum execution time: 5_682_000 picoseconds.259 // Minimum execution time: 4_426_000 picoseconds.
260 Weight::from_parts(5_892_000, 3558)260 Weight::from_parts(4_604_000, 3558)
261 .saturating_add(RocksDbWeight::get().reads(1_u64))261 .saturating_add(RocksDbWeight::get().reads(1_u64))
262 }262 }
263 /// Storage: Fungible Allowance (r:0 w:1)263 /// Storage: Fungible Allowance (r:0 w:1)
266 // Proof Size summary in bytes:266 // Proof Size summary in bytes:
267 // Measured: `0`267 // Measured: `0`
268 // Estimated: `0`268 // Estimated: `0`
269 // Minimum execution time: 6_415_000 picoseconds.269 // Minimum execution time: 4_130_000 picoseconds.
270 Weight::from_parts(6_599_000, 0)270 Weight::from_parts(4_275_000, 0)
271 .saturating_add(RocksDbWeight::get().writes(1_u64))271 .saturating_add(RocksDbWeight::get().writes(1_u64))
272 }272 }
273 /// Storage: Fungible Allowance (r:1 w:1)273 /// Storage: Fungible Allowance (r:1 w:1)
279 fn burn_from() -> Weight {279 fn burn_from() -> Weight {
280 // Proof Size summary in bytes:280 // Proof Size summary in bytes:
281 // Measured: `315`281 // Measured: `315`
282 // Estimated: `10593`282 // Estimated: `3558`
283 // Minimum execution time: 20_257_000 picoseconds.283 // Minimum execution time: 14_878_000 picoseconds.
284 Weight::from_parts(20_625_000, 10593)284 Weight::from_parts(15_263_000, 3558)
285 .saturating_add(RocksDbWeight::get().reads(3_u64))285 .saturating_add(RocksDbWeight::get().reads(3_u64))
286 .saturating_add(RocksDbWeight::get().writes(3_u64))286 .saturating_add(RocksDbWeight::get().writes(3_u64))
287 }287 }
modifiedpallets/identity/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_identity3//! Autogenerated weights for pallet_identity
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-27, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/identity/src/weights.rs25// --output=./pallets/identity/src/weights.rs
2626
64 // Proof Size summary in bytes:64 // Proof Size summary in bytes:
65 // Measured: `31 + r * (57 ±0)`65 // Measured: `31 + r * (57 ±0)`
66 // Estimated: `2626`66 // Estimated: `2626`
67 // Minimum execution time: 9_094_000 picoseconds.67 // Minimum execution time: 6_759_000 picoseconds.
68 Weight::from_parts(10_431_627, 2626)68 Weight::from_parts(7_254_560, 2626)
69 // Standard Error: 1_04669 // Standard Error: 231
70 .saturating_add(Weight::from_parts(99_468, 0).saturating_mul(r.into()))70 .saturating_add(Weight::from_parts(64_513, 0).saturating_mul(r.into()))
71 .saturating_add(T::DbWeight::get().reads(1_u64))71 .saturating_add(T::DbWeight::get().reads(1_u64))
72 .saturating_add(T::DbWeight::get().writes(1_u64))72 .saturating_add(T::DbWeight::get().writes(1_u64))
73 }73 }
79 // Proof Size summary in bytes:79 // Proof Size summary in bytes:
80 // Measured: `441 + r * (5 ±0)`80 // Measured: `441 + r * (5 ±0)`
81 // Estimated: `11003`81 // Estimated: `11003`
82 // Minimum execution time: 18_662_000 picoseconds.82 // Minimum execution time: 14_134_000 picoseconds.
83 Weight::from_parts(17_939_760, 11003)83 Weight::from_parts(12_591_985, 11003)
84 // Standard Error: 2_37184 // Standard Error: 562
85 .saturating_add(Weight::from_parts(22_184, 0).saturating_mul(r.into()))85 .saturating_add(Weight::from_parts(77_682, 0).saturating_mul(r.into()))
86 // Standard Error: 46286 // Standard Error: 109
87 .saturating_add(Weight::from_parts(151_368, 0).saturating_mul(x.into()))87 .saturating_add(Weight::from_parts(96_303, 0).saturating_mul(x.into()))
88 .saturating_add(T::DbWeight::get().reads(1_u64))88 .saturating_add(T::DbWeight::get().reads(1_u64))
89 .saturating_add(T::DbWeight::get().writes(1_u64))89 .saturating_add(T::DbWeight::get().writes(1_u64))
90 }90 }
98 fn set_subs_new(s: u32, ) -> Weight {98 fn set_subs_new(s: u32, ) -> Weight {
99 // Proof Size summary in bytes:99 // Proof Size summary in bytes:
100 // Measured: `100`100 // Measured: `100`
101 // Estimated: `18716 + s * (2589 ±0)`101 // Estimated: `11003 + s * (2589 ±0)`
102 // Minimum execution time: 6_921_000 picoseconds.102 // Minimum execution time: 4_763_000 picoseconds.
103 Weight::from_parts(16_118_195, 18716)103 Weight::from_parts(11_344_974, 11003)
104 // Standard Error: 1_786104 // Standard Error: 401
105 .saturating_add(Weight::from_parts(1_350_155, 0).saturating_mul(s.into()))105 .saturating_add(Weight::from_parts(1_141_028, 0).saturating_mul(s.into()))
106 .saturating_add(T::DbWeight::get().reads(2_u64))106 .saturating_add(T::DbWeight::get().reads(2_u64))
107 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(s.into())))107 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(s.into())))
108 .saturating_add(T::DbWeight::get().writes(1_u64))108 .saturating_add(T::DbWeight::get().writes(1_u64))
119 fn set_subs_old(p: u32, ) -> Weight {119 fn set_subs_old(p: u32, ) -> Weight {
120 // Proof Size summary in bytes:120 // Proof Size summary in bytes:
121 // Measured: `193 + p * (32 ±0)`121 // Measured: `193 + p * (32 ±0)`
122 // Estimated: `17726`122 // Estimated: `11003`
123 // Minimum execution time: 6_858_000 picoseconds.123 // Minimum execution time: 4_783_000 picoseconds.
124 Weight::from_parts(16_222_054, 17726)124 Weight::from_parts(11_531_027, 11003)
125 // Standard Error: 1_409125 // Standard Error: 369
126 .saturating_add(Weight::from_parts(593_588, 0).saturating_mul(p.into()))126 .saturating_add(Weight::from_parts(542_102, 0).saturating_mul(p.into()))
127 .saturating_add(T::DbWeight::get().reads(2_u64))127 .saturating_add(T::DbWeight::get().reads(2_u64))
128 .saturating_add(T::DbWeight::get().writes(1_u64))128 .saturating_add(T::DbWeight::get().writes(1_u64))
129 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))129 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
140 fn clear_identity(r: u32, s: u32, x: u32, ) -> Weight {140 fn clear_identity(r: u32, s: u32, x: u32, ) -> Weight {
141 // Proof Size summary in bytes:141 // Proof Size summary in bytes:
142 // Measured: `468 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)`142 // Measured: `468 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)`
143 // Estimated: `17726`143 // Estimated: `11003`
144 // Minimum execution time: 27_212_000 picoseconds.144 // Minimum execution time: 23_175_000 picoseconds.
145 Weight::from_parts(19_030_840, 17726)145 Weight::from_parts(16_503_215, 11003)
146 // Standard Error: 3_118146 // Standard Error: 625
147 .saturating_add(Weight::from_parts(29_836, 0).saturating_mul(r.into()))147 .saturating_add(Weight::from_parts(1_175, 0).saturating_mul(r.into()))
148 // Standard Error: 608148 // Standard Error: 122
149 .saturating_add(Weight::from_parts(590_661, 0).saturating_mul(s.into()))149 .saturating_add(Weight::from_parts(533_184, 0).saturating_mul(s.into()))
150 // Standard Error: 608150 // Standard Error: 122
151 .saturating_add(Weight::from_parts(110_108, 0).saturating_mul(x.into()))151 .saturating_add(Weight::from_parts(94_600, 0).saturating_mul(x.into()))
152 .saturating_add(T::DbWeight::get().reads(2_u64))152 .saturating_add(T::DbWeight::get().reads(2_u64))
153 .saturating_add(T::DbWeight::get().writes(2_u64))153 .saturating_add(T::DbWeight::get().writes(2_u64))
154 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))154 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
162 fn request_judgement(r: u32, x: u32, ) -> Weight {162 fn request_judgement(r: u32, x: u32, ) -> Weight {
163 // Proof Size summary in bytes:163 // Proof Size summary in bytes:
164 // Measured: `366 + r * (57 ±0) + x * (66 ±0)`164 // Measured: `366 + r * (57 ±0) + x * (66 ±0)`
165 // Estimated: `13629`165 // Estimated: `11003`
166 // Minimum execution time: 19_771_000 picoseconds.166 // Minimum execution time: 15_322_000 picoseconds.
167 Weight::from_parts(18_917_892, 13629)167 Weight::from_parts(13_671_670, 11003)
168 // Standard Error: 1_957168 // Standard Error: 722
169 .saturating_add(Weight::from_parts(57_465, 0).saturating_mul(r.into()))169 .saturating_add(Weight::from_parts(73_665, 0).saturating_mul(r.into()))
170 // Standard Error: 381170 // Standard Error: 140
171 .saturating_add(Weight::from_parts(168_586, 0).saturating_mul(x.into()))171 .saturating_add(Weight::from_parts(124_598, 0).saturating_mul(x.into()))
172 .saturating_add(T::DbWeight::get().reads(2_u64))172 .saturating_add(T::DbWeight::get().reads(2_u64))
173 .saturating_add(T::DbWeight::get().writes(1_u64))173 .saturating_add(T::DbWeight::get().writes(1_u64))
174 }174 }
180 // Proof Size summary in bytes:180 // Proof Size summary in bytes:
181 // Measured: `397 + x * (66 ±0)`181 // Measured: `397 + x * (66 ±0)`
182 // Estimated: `11003`182 // Estimated: `11003`
183 // Minimum execution time: 17_411_000 picoseconds.183 // Minimum execution time: 13_268_000 picoseconds.
184 Weight::from_parts(16_856_331, 11003)184 Weight::from_parts(12_489_352, 11003)
185 // Standard Error: 7_002185 // Standard Error: 544
186 .saturating_add(Weight::from_parts(34_389, 0).saturating_mul(r.into()))186 .saturating_add(Weight::from_parts(35_424, 0).saturating_mul(r.into()))
187 // Standard Error: 1_366187 // Standard Error: 106
188 .saturating_add(Weight::from_parts(165_686, 0).saturating_mul(x.into()))188 .saturating_add(Weight::from_parts(123_149, 0).saturating_mul(x.into()))
189 .saturating_add(T::DbWeight::get().reads(1_u64))189 .saturating_add(T::DbWeight::get().reads(1_u64))
190 .saturating_add(T::DbWeight::get().writes(1_u64))190 .saturating_add(T::DbWeight::get().writes(1_u64))
191 }191 }
196 // Proof Size summary in bytes:196 // Proof Size summary in bytes:
197 // Measured: `88 + r * (57 ±0)`197 // Measured: `88 + r * (57 ±0)`
198 // Estimated: `2626`198 // Estimated: `2626`
199 // Minimum execution time: 7_089_000 picoseconds.199 // Minimum execution time: 4_845_000 picoseconds.
200 Weight::from_parts(7_750_487, 2626)200 Weight::from_parts(5_147_478, 2626)
201 // Standard Error: 1_625201 // Standard Error: 169
202 .saturating_add(Weight::from_parts(101_135, 0).saturating_mul(r.into()))202 .saturating_add(Weight::from_parts(55_561, 0).saturating_mul(r.into()))
203 .saturating_add(T::DbWeight::get().reads(1_u64))203 .saturating_add(T::DbWeight::get().reads(1_u64))
204 .saturating_add(T::DbWeight::get().writes(1_u64))204 .saturating_add(T::DbWeight::get().writes(1_u64))
205 }205 }
210 // Proof Size summary in bytes:210 // Proof Size summary in bytes:
211 // Measured: `88 + r * (57 ±0)`211 // Measured: `88 + r * (57 ±0)`
212 // Estimated: `2626`212 // Estimated: `2626`
213 // Minimum execution time: 6_300_000 picoseconds.213 // Minimum execution time: 4_191_000 picoseconds.
214 Weight::from_parts(6_836_140, 2626)214 Weight::from_parts(4_478_351, 2626)
215 // Standard Error: 655215 // Standard Error: 138
216 .saturating_add(Weight::from_parts(102_284, 0).saturating_mul(r.into()))216 .saturating_add(Weight::from_parts(53_627, 0).saturating_mul(r.into()))
217 .saturating_add(T::DbWeight::get().reads(1_u64))217 .saturating_add(T::DbWeight::get().reads(1_u64))
218 .saturating_add(T::DbWeight::get().writes(1_u64))218 .saturating_add(T::DbWeight::get().writes(1_u64))
219 }219 }
224 // Proof Size summary in bytes:224 // Proof Size summary in bytes:
225 // Measured: `88 + r * (57 ±0)`225 // Measured: `88 + r * (57 ±0)`
226 // Estimated: `2626`226 // Estimated: `2626`
227 // Minimum execution time: 6_257_000 picoseconds.227 // Minimum execution time: 4_003_000 picoseconds.
228 Weight::from_parts(6_917_052, 2626)228 Weight::from_parts(4_303_365, 2626)
229 // Standard Error: 2_628229 // Standard Error: 147
230 .saturating_add(Weight::from_parts(71_362, 0).saturating_mul(r.into()))230 .saturating_add(Weight::from_parts(52_472, 0).saturating_mul(r.into()))
231 .saturating_add(T::DbWeight::get().reads(1_u64))231 .saturating_add(T::DbWeight::get().reads(1_u64))
232 .saturating_add(T::DbWeight::get().writes(1_u64))232 .saturating_add(T::DbWeight::get().writes(1_u64))
233 }233 }
240 fn provide_judgement(r: u32, x: u32, ) -> Weight {240 fn provide_judgement(r: u32, x: u32, ) -> Weight {
241 // Proof Size summary in bytes:241 // Proof Size summary in bytes:
242 // Measured: `444 + r * (57 ±0) + x * (66 ±0)`242 // Measured: `444 + r * (57 ±0) + x * (66 ±0)`
243 // Estimated: `13629`243 // Estimated: `11003`
244 // Minimum execution time: 16_021_000 picoseconds.244 // Minimum execution time: 11_465_000 picoseconds.
245 Weight::from_parts(15_553_670, 13629)245 Weight::from_parts(10_326_049, 11003)
246 // Standard Error: 5_797246 // Standard Error: 660
247 .saturating_add(Weight::from_parts(42_423, 0).saturating_mul(r.into()))247 .saturating_add(Weight::from_parts(48_922, 0).saturating_mul(r.into()))
248 // Standard Error: 1_072248 // Standard Error: 122
249 .saturating_add(Weight::from_parts(252_721, 0).saturating_mul(x.into()))249 .saturating_add(Weight::from_parts(185_374, 0).saturating_mul(x.into()))
250 .saturating_add(T::DbWeight::get().reads(2_u64))250 .saturating_add(T::DbWeight::get().reads(2_u64))
251 .saturating_add(T::DbWeight::get().writes(1_u64))251 .saturating_add(T::DbWeight::get().writes(1_u64))
252 }252 }
264 fn kill_identity(r: u32, s: u32, x: u32, ) -> Weight {264 fn kill_identity(r: u32, s: u32, x: u32, ) -> Weight {
265 // Proof Size summary in bytes:265 // Proof Size summary in bytes:
266 // Measured: `665 + r * (12 ±0) + s * (32 ±0) + x * (66 ±0)`266 // Measured: `665 + r * (12 ±0) + s * (32 ±0) + x * (66 ±0)`
267 // Estimated: `23922`267 // Estimated: `11003`
268 // Minimum execution time: 40_801_000 picoseconds.268 // Minimum execution time: 34_933_000 picoseconds.
269 Weight::from_parts(34_079_397, 23922)269 Weight::from_parts(28_994_022, 11003)
270 // Standard Error: 3_750270 // Standard Error: 668
271 .saturating_add(Weight::from_parts(31_496, 0).saturating_mul(r.into()))271 .saturating_add(Weight::from_parts(21_722, 0).saturating_mul(r.into()))
272 // Standard Error: 732272 // Standard Error: 130
273 .saturating_add(Weight::from_parts(599_691, 0).saturating_mul(s.into()))273 .saturating_add(Weight::from_parts(540_580, 0).saturating_mul(s.into()))
274 // Standard Error: 732274 // Standard Error: 130
275 .saturating_add(Weight::from_parts(101_683, 0).saturating_mul(x.into()))275 .saturating_add(Weight::from_parts(89_348, 0).saturating_mul(x.into()))
276 .saturating_add(T::DbWeight::get().reads(4_u64))276 .saturating_add(T::DbWeight::get().reads(4_u64))
277 .saturating_add(T::DbWeight::get().writes(4_u64))277 .saturating_add(T::DbWeight::get().writes(4_u64))
278 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))278 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
285 // Proof Size summary in bytes:285 // Proof Size summary in bytes:
286 // Measured: `0`286 // Measured: `0`
287 // Estimated: `0`287 // Estimated: `0`
288 // Minimum execution time: 4_412_000 picoseconds.288 // Minimum execution time: 2_770_000 picoseconds.
289 Weight::from_parts(4_592_000, 0)289 Weight::from_parts(2_875_000, 0)
290 // Standard Error: 703_509290 // Standard Error: 281_295
291 .saturating_add(Weight::from_parts(43_647_925, 0).saturating_mul(x.into()))291 .saturating_add(Weight::from_parts(37_513_186, 0).saturating_mul(x.into()))
292 // Standard Error: 117_043292 // Standard Error: 46_799
293 .saturating_add(Weight::from_parts(9_312_431, 0).saturating_mul(n.into()))293 .saturating_add(Weight::from_parts(7_949_936, 0).saturating_mul(n.into()))
294 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))294 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
295 }295 }
296 /// Storage: Identity SubsOf (r:600 w:0)296 /// Storage: Identity SubsOf (r:600 w:0)
303 // Proof Size summary in bytes:303 // Proof Size summary in bytes:
304 // Measured: `41`304 // Measured: `41`
305 // Estimated: `990 + n * (5733 ±0)`305 // Estimated: `990 + n * (5733 ±0)`
306 // Minimum execution time: 3_824_000 picoseconds.306 // Minimum execution time: 2_751_000 picoseconds.
307 Weight::from_parts(3_950_000, 990)307 Weight::from_parts(2_862_000, 990)
308 // Standard Error: 2_864308 // Standard Error: 953
309 .saturating_add(Weight::from_parts(55_678, 0).saturating_mul(x.into()))309 .saturating_add(Weight::from_parts(28_947, 0).saturating_mul(x.into()))
310 // Standard Error: 476310 // Standard Error: 158
311 .saturating_add(Weight::from_parts(1_138_349, 0).saturating_mul(n.into()))311 .saturating_add(Weight::from_parts(994_085, 0).saturating_mul(n.into()))
312 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))312 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
313 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))313 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
314 .saturating_add(Weight::from_parts(0, 5733).saturating_mul(n.into()))314 .saturating_add(Weight::from_parts(0, 5733).saturating_mul(n.into()))
323 // Proof Size summary in bytes:323 // Proof Size summary in bytes:
324 // Measured: `41`324 // Measured: `41`
325 // Estimated: `990 + n * (5733 ±0)`325 // Estimated: `990 + n * (5733 ±0)`
326 // Minimum execution time: 4_196_000 picoseconds.326 // Minimum execution time: 2_671_000 picoseconds.
327 Weight::from_parts(4_340_000, 990)327 Weight::from_parts(2_814_000, 990)
328 // Standard Error: 2_081_979328 // Standard Error: 785_159
329 .saturating_add(Weight::from_parts(130_653_903, 0).saturating_mul(s.into()))329 .saturating_add(Weight::from_parts(109_659_566, 0).saturating_mul(s.into()))
330 // Standard Error: 346_381330 // Standard Error: 130_628
331 .saturating_add(Weight::from_parts(23_046_001, 0).saturating_mul(n.into()))331 .saturating_add(Weight::from_parts(19_169_269, 0).saturating_mul(n.into()))
332 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))332 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
333 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))333 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
334 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))334 .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
344 fn add_sub(s: u32, ) -> Weight {344 fn add_sub(s: u32, ) -> Weight {
345 // Proof Size summary in bytes:345 // Proof Size summary in bytes:
346 // Measured: `474 + s * (36 ±0)`346 // Measured: `474 + s * (36 ±0)`
347 // Estimated: `21305`347 // Estimated: `11003`
348 // Minimum execution time: 15_289_000 picoseconds.348 // Minimum execution time: 12_571_000 picoseconds.
349 Weight::from_parts(21_319_844, 21305)349 Weight::from_parts(16_366_301, 11003)
350 // Standard Error: 893350 // Standard Error: 217
351 .saturating_add(Weight::from_parts(53_159, 0).saturating_mul(s.into()))351 .saturating_add(Weight::from_parts(42_542, 0).saturating_mul(s.into()))
352 .saturating_add(T::DbWeight::get().reads(3_u64))352 .saturating_add(T::DbWeight::get().reads(3_u64))
353 .saturating_add(T::DbWeight::get().writes(2_u64))353 .saturating_add(T::DbWeight::get().writes(2_u64))
354 }354 }
360 fn rename_sub(s: u32, ) -> Weight {360 fn rename_sub(s: u32, ) -> Weight {
361 // Proof Size summary in bytes:361 // Proof Size summary in bytes:
362 // Measured: `590 + s * (3 ±0)`362 // Measured: `590 + s * (3 ±0)`
363 // Estimated: `14582`363 // Estimated: `11003`
364 // Minimum execution time: 9_867_000 picoseconds.364 // Minimum execution time: 7_278_000 picoseconds.
365 Weight::from_parts(12_546_245, 14582)365 Weight::from_parts(9_227_799, 11003)
366 // Standard Error: 509366 // Standard Error: 104
367 .saturating_add(Weight::from_parts(10_078, 0).saturating_mul(s.into()))367 .saturating_add(Weight::from_parts(14_014, 0).saturating_mul(s.into()))
368 .saturating_add(T::DbWeight::get().reads(2_u64))368 .saturating_add(T::DbWeight::get().reads(2_u64))
369 .saturating_add(T::DbWeight::get().writes(1_u64))369 .saturating_add(T::DbWeight::get().writes(1_u64))
370 }370 }
378 fn remove_sub(s: u32, ) -> Weight {378 fn remove_sub(s: u32, ) -> Weight {
379 // Proof Size summary in bytes:379 // Proof Size summary in bytes:
380 // Measured: `637 + s * (35 ±0)`380 // Measured: `637 + s * (35 ±0)`
381 // Estimated: `21305`381 // Estimated: `11003`
382 // Minimum execution time: 19_299_000 picoseconds.382 // Minimum execution time: 15_771_000 picoseconds.
383 Weight::from_parts(24_125_576, 21305)383 Weight::from_parts(18_105_475, 11003)
384 // Standard Error: 1_479384 // Standard Error: 129
385 .saturating_add(Weight::from_parts(22_611, 0).saturating_mul(s.into()))385 .saturating_add(Weight::from_parts(32_074, 0).saturating_mul(s.into()))
386 .saturating_add(T::DbWeight::get().reads(3_u64))386 .saturating_add(T::DbWeight::get().reads(3_u64))
387 .saturating_add(T::DbWeight::get().writes(2_u64))387 .saturating_add(T::DbWeight::get().writes(2_u64))
388 }388 }
389 /// Storage: Identity SuperOf (r:1 w:1)389 /// Storage: Identity SuperOf (r:1 w:1)
390 /// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)390 /// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
391 /// Storage: Identity SubsOf (r:1 w:1)391 /// Storage: Identity SubsOf (r:1 w:1)
392 /// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)392 /// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
393 /// Storage: System Account (r:1 w:0)
394 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
393 /// The range of component `s` is `[0, 99]`.395 /// The range of component `s` is `[0, 99]`.
394 fn quit_sub(s: u32, ) -> Weight {396 fn quit_sub(s: u32, ) -> Weight {
395 // Proof Size summary in bytes:397 // Proof Size summary in bytes:
396 // Measured: `563 + s * (37 ±0)`398 // Measured: `703 + s * (37 ±0)`
397 // Estimated: `10302`399 // Estimated: `6723`
398 // Minimum execution time: 14_183_000 picoseconds.400 // Minimum execution time: 14_093_000 picoseconds.
399 Weight::from_parts(17_343_547, 10302)401 Weight::from_parts(16_125_177, 6723)
400 // Standard Error: 454402 // Standard Error: 146
401 .saturating_add(Weight::from_parts(45_925, 0).saturating_mul(s.into()))403 .saturating_add(Weight::from_parts(39_270, 0).saturating_mul(s.into()))
402 .saturating_add(T::DbWeight::get().reads(2_u64))404 .saturating_add(T::DbWeight::get().reads(3_u64))
403 .saturating_add(T::DbWeight::get().writes(2_u64))405 .saturating_add(T::DbWeight::get().writes(2_u64))
404 }406 }
405}407}
413 // Proof Size summary in bytes:415 // Proof Size summary in bytes:
414 // Measured: `31 + r * (57 ±0)`416 // Measured: `31 + r * (57 ±0)`
415 // Estimated: `2626`417 // Estimated: `2626`
416 // Minimum execution time: 9_094_000 picoseconds.418 // Minimum execution time: 6_759_000 picoseconds.
417 Weight::from_parts(10_431_627, 2626)419 Weight::from_parts(7_254_560, 2626)
418 // Standard Error: 1_046420 // Standard Error: 231
419 .saturating_add(Weight::from_parts(99_468, 0).saturating_mul(r.into()))421 .saturating_add(Weight::from_parts(64_513, 0).saturating_mul(r.into()))
420 .saturating_add(RocksDbWeight::get().reads(1_u64))422 .saturating_add(RocksDbWeight::get().reads(1_u64))
421 .saturating_add(RocksDbWeight::get().writes(1_u64))423 .saturating_add(RocksDbWeight::get().writes(1_u64))
422 }424 }
428 // Proof Size summary in bytes:430 // Proof Size summary in bytes:
429 // Measured: `441 + r * (5 ±0)`431 // Measured: `441 + r * (5 ±0)`
430 // Estimated: `11003`432 // Estimated: `11003`
431 // Minimum execution time: 18_662_000 picoseconds.433 // Minimum execution time: 14_134_000 picoseconds.
432 Weight::from_parts(17_939_760, 11003)434 Weight::from_parts(12_591_985, 11003)
433 // Standard Error: 2_371435 // Standard Error: 562
434 .saturating_add(Weight::from_parts(22_184, 0).saturating_mul(r.into()))436 .saturating_add(Weight::from_parts(77_682, 0).saturating_mul(r.into()))
435 // Standard Error: 462437 // Standard Error: 109
436 .saturating_add(Weight::from_parts(151_368, 0).saturating_mul(x.into()))438 .saturating_add(Weight::from_parts(96_303, 0).saturating_mul(x.into()))
437 .saturating_add(RocksDbWeight::get().reads(1_u64))439 .saturating_add(RocksDbWeight::get().reads(1_u64))
438 .saturating_add(RocksDbWeight::get().writes(1_u64))440 .saturating_add(RocksDbWeight::get().writes(1_u64))
439 }441 }
447 fn set_subs_new(s: u32, ) -> Weight {449 fn set_subs_new(s: u32, ) -> Weight {
448 // Proof Size summary in bytes:450 // Proof Size summary in bytes:
449 // Measured: `100`451 // Measured: `100`
450 // Estimated: `18716 + s * (2589 ±0)`452 // Estimated: `11003 + s * (2589 ±0)`
451 // Minimum execution time: 6_921_000 picoseconds.453 // Minimum execution time: 4_763_000 picoseconds.
452 Weight::from_parts(16_118_195, 18716)454 Weight::from_parts(11_344_974, 11003)
453 // Standard Error: 1_786455 // Standard Error: 401
454 .saturating_add(Weight::from_parts(1_350_155, 0).saturating_mul(s.into()))456 .saturating_add(Weight::from_parts(1_141_028, 0).saturating_mul(s.into()))
455 .saturating_add(RocksDbWeight::get().reads(2_u64))457 .saturating_add(RocksDbWeight::get().reads(2_u64))
456 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(s.into())))458 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(s.into())))
457 .saturating_add(RocksDbWeight::get().writes(1_u64))459 .saturating_add(RocksDbWeight::get().writes(1_u64))
468 fn set_subs_old(p: u32, ) -> Weight {470 fn set_subs_old(p: u32, ) -> Weight {
469 // Proof Size summary in bytes:471 // Proof Size summary in bytes:
470 // Measured: `193 + p * (32 ±0)`472 // Measured: `193 + p * (32 ±0)`
471 // Estimated: `17726`473 // Estimated: `11003`
472 // Minimum execution time: 6_858_000 picoseconds.474 // Minimum execution time: 4_783_000 picoseconds.
473 Weight::from_parts(16_222_054, 17726)475 Weight::from_parts(11_531_027, 11003)
474 // Standard Error: 1_409476 // Standard Error: 369
475 .saturating_add(Weight::from_parts(593_588, 0).saturating_mul(p.into()))477 .saturating_add(Weight::from_parts(542_102, 0).saturating_mul(p.into()))
476 .saturating_add(RocksDbWeight::get().reads(2_u64))478 .saturating_add(RocksDbWeight::get().reads(2_u64))
477 .saturating_add(RocksDbWeight::get().writes(1_u64))479 .saturating_add(RocksDbWeight::get().writes(1_u64))
478 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(p.into())))480 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(p.into())))
489 fn clear_identity(r: u32, s: u32, x: u32, ) -> Weight {491 fn clear_identity(r: u32, s: u32, x: u32, ) -> Weight {
490 // Proof Size summary in bytes:492 // Proof Size summary in bytes:
491 // Measured: `468 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)`493 // Measured: `468 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)`
492 // Estimated: `17726`494 // Estimated: `11003`
493 // Minimum execution time: 27_212_000 picoseconds.495 // Minimum execution time: 23_175_000 picoseconds.
494 Weight::from_parts(19_030_840, 17726)496 Weight::from_parts(16_503_215, 11003)
495 // Standard Error: 3_118497 // Standard Error: 625
496 .saturating_add(Weight::from_parts(29_836, 0).saturating_mul(r.into()))498 .saturating_add(Weight::from_parts(1_175, 0).saturating_mul(r.into()))
497 // Standard Error: 608499 // Standard Error: 122
498 .saturating_add(Weight::from_parts(590_661, 0).saturating_mul(s.into()))500 .saturating_add(Weight::from_parts(533_184, 0).saturating_mul(s.into()))
499 // Standard Error: 608501 // Standard Error: 122
500 .saturating_add(Weight::from_parts(110_108, 0).saturating_mul(x.into()))502 .saturating_add(Weight::from_parts(94_600, 0).saturating_mul(x.into()))
501 .saturating_add(RocksDbWeight::get().reads(2_u64))503 .saturating_add(RocksDbWeight::get().reads(2_u64))
502 .saturating_add(RocksDbWeight::get().writes(2_u64))504 .saturating_add(RocksDbWeight::get().writes(2_u64))
503 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))505 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
511 fn request_judgement(r: u32, x: u32, ) -> Weight {513 fn request_judgement(r: u32, x: u32, ) -> Weight {
512 // Proof Size summary in bytes:514 // Proof Size summary in bytes:
513 // Measured: `366 + r * (57 ±0) + x * (66 ±0)`515 // Measured: `366 + r * (57 ±0) + x * (66 ±0)`
514 // Estimated: `13629`516 // Estimated: `11003`
515 // Minimum execution time: 19_771_000 picoseconds.517 // Minimum execution time: 15_322_000 picoseconds.
516 Weight::from_parts(18_917_892, 13629)518 Weight::from_parts(13_671_670, 11003)
517 // Standard Error: 1_957519 // Standard Error: 722
518 .saturating_add(Weight::from_parts(57_465, 0).saturating_mul(r.into()))520 .saturating_add(Weight::from_parts(73_665, 0).saturating_mul(r.into()))
519 // Standard Error: 381521 // Standard Error: 140
520 .saturating_add(Weight::from_parts(168_586, 0).saturating_mul(x.into()))522 .saturating_add(Weight::from_parts(124_598, 0).saturating_mul(x.into()))
521 .saturating_add(RocksDbWeight::get().reads(2_u64))523 .saturating_add(RocksDbWeight::get().reads(2_u64))
522 .saturating_add(RocksDbWeight::get().writes(1_u64))524 .saturating_add(RocksDbWeight::get().writes(1_u64))
523 }525 }
529 // Proof Size summary in bytes:531 // Proof Size summary in bytes:
530 // Measured: `397 + x * (66 ±0)`532 // Measured: `397 + x * (66 ±0)`
531 // Estimated: `11003`533 // Estimated: `11003`
532 // Minimum execution time: 17_411_000 picoseconds.534 // Minimum execution time: 13_268_000 picoseconds.
533 Weight::from_parts(16_856_331, 11003)535 Weight::from_parts(12_489_352, 11003)
534 // Standard Error: 7_002536 // Standard Error: 544
535 .saturating_add(Weight::from_parts(34_389, 0).saturating_mul(r.into()))537 .saturating_add(Weight::from_parts(35_424, 0).saturating_mul(r.into()))
536 // Standard Error: 1_366538 // Standard Error: 106
537 .saturating_add(Weight::from_parts(165_686, 0).saturating_mul(x.into()))539 .saturating_add(Weight::from_parts(123_149, 0).saturating_mul(x.into()))
538 .saturating_add(RocksDbWeight::get().reads(1_u64))540 .saturating_add(RocksDbWeight::get().reads(1_u64))
539 .saturating_add(RocksDbWeight::get().writes(1_u64))541 .saturating_add(RocksDbWeight::get().writes(1_u64))
540 }542 }
545 // Proof Size summary in bytes:547 // Proof Size summary in bytes:
546 // Measured: `88 + r * (57 ±0)`548 // Measured: `88 + r * (57 ±0)`
547 // Estimated: `2626`549 // Estimated: `2626`
548 // Minimum execution time: 7_089_000 picoseconds.550 // Minimum execution time: 4_845_000 picoseconds.
549 Weight::from_parts(7_750_487, 2626)551 Weight::from_parts(5_147_478, 2626)
550 // Standard Error: 1_625552 // Standard Error: 169
551 .saturating_add(Weight::from_parts(101_135, 0).saturating_mul(r.into()))553 .saturating_add(Weight::from_parts(55_561, 0).saturating_mul(r.into()))
552 .saturating_add(RocksDbWeight::get().reads(1_u64))554 .saturating_add(RocksDbWeight::get().reads(1_u64))
553 .saturating_add(RocksDbWeight::get().writes(1_u64))555 .saturating_add(RocksDbWeight::get().writes(1_u64))
554 }556 }
559 // Proof Size summary in bytes:561 // Proof Size summary in bytes:
560 // Measured: `88 + r * (57 ±0)`562 // Measured: `88 + r * (57 ±0)`
561 // Estimated: `2626`563 // Estimated: `2626`
562 // Minimum execution time: 6_300_000 picoseconds.564 // Minimum execution time: 4_191_000 picoseconds.
563 Weight::from_parts(6_836_140, 2626)565 Weight::from_parts(4_478_351, 2626)
564 // Standard Error: 655566 // Standard Error: 138
565 .saturating_add(Weight::from_parts(102_284, 0).saturating_mul(r.into()))567 .saturating_add(Weight::from_parts(53_627, 0).saturating_mul(r.into()))
566 .saturating_add(RocksDbWeight::get().reads(1_u64))568 .saturating_add(RocksDbWeight::get().reads(1_u64))
567 .saturating_add(RocksDbWeight::get().writes(1_u64))569 .saturating_add(RocksDbWeight::get().writes(1_u64))
568 }570 }
573 // Proof Size summary in bytes:575 // Proof Size summary in bytes:
574 // Measured: `88 + r * (57 ±0)`576 // Measured: `88 + r * (57 ±0)`
575 // Estimated: `2626`577 // Estimated: `2626`
576 // Minimum execution time: 6_257_000 picoseconds.578 // Minimum execution time: 4_003_000 picoseconds.
577 Weight::from_parts(6_917_052, 2626)579 Weight::from_parts(4_303_365, 2626)
578 // Standard Error: 2_628580 // Standard Error: 147
579 .saturating_add(Weight::from_parts(71_362, 0).saturating_mul(r.into()))581 .saturating_add(Weight::from_parts(52_472, 0).saturating_mul(r.into()))
580 .saturating_add(RocksDbWeight::get().reads(1_u64))582 .saturating_add(RocksDbWeight::get().reads(1_u64))
581 .saturating_add(RocksDbWeight::get().writes(1_u64))583 .saturating_add(RocksDbWeight::get().writes(1_u64))
582 }584 }
589 fn provide_judgement(r: u32, x: u32, ) -> Weight {591 fn provide_judgement(r: u32, x: u32, ) -> Weight {
590 // Proof Size summary in bytes:592 // Proof Size summary in bytes:
591 // Measured: `444 + r * (57 ±0) + x * (66 ±0)`593 // Measured: `444 + r * (57 ±0) + x * (66 ±0)`
592 // Estimated: `13629`594 // Estimated: `11003`
593 // Minimum execution time: 16_021_000 picoseconds.595 // Minimum execution time: 11_465_000 picoseconds.
594 Weight::from_parts(15_553_670, 13629)596 Weight::from_parts(10_326_049, 11003)
595 // Standard Error: 5_797597 // Standard Error: 660
596 .saturating_add(Weight::from_parts(42_423, 0).saturating_mul(r.into()))598 .saturating_add(Weight::from_parts(48_922, 0).saturating_mul(r.into()))
597 // Standard Error: 1_072599 // Standard Error: 122
598 .saturating_add(Weight::from_parts(252_721, 0).saturating_mul(x.into()))600 .saturating_add(Weight::from_parts(185_374, 0).saturating_mul(x.into()))
599 .saturating_add(RocksDbWeight::get().reads(2_u64))601 .saturating_add(RocksDbWeight::get().reads(2_u64))
600 .saturating_add(RocksDbWeight::get().writes(1_u64))602 .saturating_add(RocksDbWeight::get().writes(1_u64))
601 }603 }
613 fn kill_identity(r: u32, s: u32, x: u32, ) -> Weight {615 fn kill_identity(r: u32, s: u32, x: u32, ) -> Weight {
614 // Proof Size summary in bytes:616 // Proof Size summary in bytes:
615 // Measured: `665 + r * (12 ±0) + s * (32 ±0) + x * (66 ±0)`617 // Measured: `665 + r * (12 ±0) + s * (32 ±0) + x * (66 ±0)`
616 // Estimated: `23922`618 // Estimated: `11003`
617 // Minimum execution time: 40_801_000 picoseconds.619 // Minimum execution time: 34_933_000 picoseconds.
618 Weight::from_parts(34_079_397, 23922)620 Weight::from_parts(28_994_022, 11003)
619 // Standard Error: 3_750621 // Standard Error: 668
620 .saturating_add(Weight::from_parts(31_496, 0).saturating_mul(r.into()))622 .saturating_add(Weight::from_parts(21_722, 0).saturating_mul(r.into()))
621 // Standard Error: 732623 // Standard Error: 130
622 .saturating_add(Weight::from_parts(599_691, 0).saturating_mul(s.into()))624 .saturating_add(Weight::from_parts(540_580, 0).saturating_mul(s.into()))
623 // Standard Error: 732625 // Standard Error: 130
624 .saturating_add(Weight::from_parts(101_683, 0).saturating_mul(x.into()))626 .saturating_add(Weight::from_parts(89_348, 0).saturating_mul(x.into()))
625 .saturating_add(RocksDbWeight::get().reads(4_u64))627 .saturating_add(RocksDbWeight::get().reads(4_u64))
626 .saturating_add(RocksDbWeight::get().writes(4_u64))628 .saturating_add(RocksDbWeight::get().writes(4_u64))
627 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))629 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
634 // Proof Size summary in bytes:636 // Proof Size summary in bytes:
635 // Measured: `0`637 // Measured: `0`
636 // Estimated: `0`638 // Estimated: `0`
637 // Minimum execution time: 4_412_000 picoseconds.639 // Minimum execution time: 2_770_000 picoseconds.
638 Weight::from_parts(4_592_000, 0)640 Weight::from_parts(2_875_000, 0)
639 // Standard Error: 703_509641 // Standard Error: 281_295
640 .saturating_add(Weight::from_parts(43_647_925, 0).saturating_mul(x.into()))642 .saturating_add(Weight::from_parts(37_513_186, 0).saturating_mul(x.into()))
641 // Standard Error: 117_043643 // Standard Error: 46_799
642 .saturating_add(Weight::from_parts(9_312_431, 0).saturating_mul(n.into()))644 .saturating_add(Weight::from_parts(7_949_936, 0).saturating_mul(n.into()))
643 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))645 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
644 }646 }
645 /// Storage: Identity SubsOf (r:600 w:0)647 /// Storage: Identity SubsOf (r:600 w:0)
652 // Proof Size summary in bytes:654 // Proof Size summary in bytes:
653 // Measured: `41`655 // Measured: `41`
654 // Estimated: `990 + n * (5733 ±0)`656 // Estimated: `990 + n * (5733 ±0)`
655 // Minimum execution time: 3_824_000 picoseconds.657 // Minimum execution time: 2_751_000 picoseconds.
656 Weight::from_parts(3_950_000, 990)658 Weight::from_parts(2_862_000, 990)
657 // Standard Error: 2_864659 // Standard Error: 953
658 .saturating_add(Weight::from_parts(55_678, 0).saturating_mul(x.into()))660 .saturating_add(Weight::from_parts(28_947, 0).saturating_mul(x.into()))
659 // Standard Error: 476661 // Standard Error: 158
660 .saturating_add(Weight::from_parts(1_138_349, 0).saturating_mul(n.into()))662 .saturating_add(Weight::from_parts(994_085, 0).saturating_mul(n.into()))
661 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))663 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
662 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))664 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
663 .saturating_add(Weight::from_parts(0, 5733).saturating_mul(n.into()))665 .saturating_add(Weight::from_parts(0, 5733).saturating_mul(n.into()))
672 // Proof Size summary in bytes:674 // Proof Size summary in bytes:
673 // Measured: `41`675 // Measured: `41`
674 // Estimated: `990 + n * (5733 ±0)`676 // Estimated: `990 + n * (5733 ±0)`
675 // Minimum execution time: 4_196_000 picoseconds.677 // Minimum execution time: 2_671_000 picoseconds.
676 Weight::from_parts(4_340_000, 990)678 Weight::from_parts(2_814_000, 990)
677 // Standard Error: 2_081_979679 // Standard Error: 785_159
678 .saturating_add(Weight::from_parts(130_653_903, 0).saturating_mul(s.into()))680 .saturating_add(Weight::from_parts(109_659_566, 0).saturating_mul(s.into()))
679 // Standard Error: 346_381681 // Standard Error: 130_628
680 .saturating_add(Weight::from_parts(23_046_001, 0).saturating_mul(n.into()))682 .saturating_add(Weight::from_parts(19_169_269, 0).saturating_mul(n.into()))
681 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))683 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
682 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))684 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
683 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))685 .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
693 fn add_sub(s: u32, ) -> Weight {695 fn add_sub(s: u32, ) -> Weight {
694 // Proof Size summary in bytes:696 // Proof Size summary in bytes:
695 // Measured: `474 + s * (36 ±0)`697 // Measured: `474 + s * (36 ±0)`
696 // Estimated: `21305`698 // Estimated: `11003`
697 // Minimum execution time: 15_289_000 picoseconds.699 // Minimum execution time: 12_571_000 picoseconds.
698 Weight::from_parts(21_319_844, 21305)700 Weight::from_parts(16_366_301, 11003)
699 // Standard Error: 893701 // Standard Error: 217
700 .saturating_add(Weight::from_parts(53_159, 0).saturating_mul(s.into()))702 .saturating_add(Weight::from_parts(42_542, 0).saturating_mul(s.into()))
701 .saturating_add(RocksDbWeight::get().reads(3_u64))703 .saturating_add(RocksDbWeight::get().reads(3_u64))
702 .saturating_add(RocksDbWeight::get().writes(2_u64))704 .saturating_add(RocksDbWeight::get().writes(2_u64))
703 }705 }
709 fn rename_sub(s: u32, ) -> Weight {711 fn rename_sub(s: u32, ) -> Weight {
710 // Proof Size summary in bytes:712 // Proof Size summary in bytes:
711 // Measured: `590 + s * (3 ±0)`713 // Measured: `590 + s * (3 ±0)`
712 // Estimated: `14582`714 // Estimated: `11003`
713 // Minimum execution time: 9_867_000 picoseconds.715 // Minimum execution time: 7_278_000 picoseconds.
714 Weight::from_parts(12_546_245, 14582)716 Weight::from_parts(9_227_799, 11003)
715 // Standard Error: 509717 // Standard Error: 104
716 .saturating_add(Weight::from_parts(10_078, 0).saturating_mul(s.into()))718 .saturating_add(Weight::from_parts(14_014, 0).saturating_mul(s.into()))
717 .saturating_add(RocksDbWeight::get().reads(2_u64))719 .saturating_add(RocksDbWeight::get().reads(2_u64))
718 .saturating_add(RocksDbWeight::get().writes(1_u64))720 .saturating_add(RocksDbWeight::get().writes(1_u64))
719 }721 }
727 fn remove_sub(s: u32, ) -> Weight {729 fn remove_sub(s: u32, ) -> Weight {
728 // Proof Size summary in bytes:730 // Proof Size summary in bytes:
729 // Measured: `637 + s * (35 ±0)`731 // Measured: `637 + s * (35 ±0)`
730 // Estimated: `21305`732 // Estimated: `11003`
731 // Minimum execution time: 19_299_000 picoseconds.733 // Minimum execution time: 15_771_000 picoseconds.
732 Weight::from_parts(24_125_576, 21305)734 Weight::from_parts(18_105_475, 11003)
733 // Standard Error: 1_479735 // Standard Error: 129
734 .saturating_add(Weight::from_parts(22_611, 0).saturating_mul(s.into()))736 .saturating_add(Weight::from_parts(32_074, 0).saturating_mul(s.into()))
735 .saturating_add(RocksDbWeight::get().reads(3_u64))737 .saturating_add(RocksDbWeight::get().reads(3_u64))
736 .saturating_add(RocksDbWeight::get().writes(2_u64))738 .saturating_add(RocksDbWeight::get().writes(2_u64))
737 }739 }
738 /// Storage: Identity SuperOf (r:1 w:1)740 /// Storage: Identity SuperOf (r:1 w:1)
739 /// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)741 /// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
740 /// Storage: Identity SubsOf (r:1 w:1)742 /// Storage: Identity SubsOf (r:1 w:1)
741 /// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)743 /// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
744 /// Storage: System Account (r:1 w:0)
745 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
742 /// The range of component `s` is `[0, 99]`.746 /// The range of component `s` is `[0, 99]`.
743 fn quit_sub(s: u32, ) -> Weight {747 fn quit_sub(s: u32, ) -> Weight {
744 // Proof Size summary in bytes:748 // Proof Size summary in bytes:
745 // Measured: `563 + s * (37 ±0)`749 // Measured: `703 + s * (37 ±0)`
746 // Estimated: `10302`750 // Estimated: `6723`
747 // Minimum execution time: 14_183_000 picoseconds.751 // Minimum execution time: 14_093_000 picoseconds.
748 Weight::from_parts(17_343_547, 10302)752 Weight::from_parts(16_125_177, 6723)
749 // Standard Error: 454753 // Standard Error: 146
750 .saturating_add(Weight::from_parts(45_925, 0).saturating_mul(s.into()))754 .saturating_add(Weight::from_parts(39_270, 0).saturating_mul(s.into()))
751 .saturating_add(RocksDbWeight::get().reads(2_u64))755 .saturating_add(RocksDbWeight::get().reads(3_u64))
752 .saturating_add(RocksDbWeight::get().writes(2_u64))756 .saturating_add(RocksDbWeight::get().writes(2_u64))
753 }757 }
754}758}
modifiedpallets/maintenance/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_maintenance3//! Autogenerated weights for pallet_maintenance
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-26, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/maintenance/src/weights.rs25// --output=./pallets/maintenance/src/weights.rs
2626
47 // Proof Size summary in bytes:47 // Proof Size summary in bytes:
48 // Measured: `0`48 // Measured: `0`
49 // Estimated: `0`49 // Estimated: `0`
50 // Minimum execution time: 4_407_000 picoseconds.50 // Minimum execution time: 3_015_000 picoseconds.
51 Weight::from_parts(4_556_000, 0)51 Weight::from_parts(3_184_000, 0)
52 .saturating_add(T::DbWeight::get().writes(1_u64))52 .saturating_add(T::DbWeight::get().writes(1_u64))
53 }53 }
54 /// Storage: Maintenance Enabled (r:0 w:1)54 /// Storage: Maintenance Enabled (r:0 w:1)
57 // Proof Size summary in bytes:57 // Proof Size summary in bytes:
58 // Measured: `0`58 // Measured: `0`
59 // Estimated: `0`59 // Estimated: `0`
60 // Minimum execution time: 5_868_000 picoseconds.60 // Minimum execution time: 2_976_000 picoseconds.
61 Weight::from_parts(6_100_000, 0)61 Weight::from_parts(3_111_000, 0)
62 .saturating_add(T::DbWeight::get().writes(1_u64))62 .saturating_add(T::DbWeight::get().writes(1_u64))
63 }63 }
64 /// Storage: Preimage StatusFor (r:1 w:0)64 /// Storage: Preimage StatusFor (r:1 w:0)
68 fn execute_preimage() -> Weight {68 fn execute_preimage() -> Weight {
69 // Proof Size summary in bytes:69 // Proof Size summary in bytes:
70 // Measured: `209`70 // Measured: `209`
71 // Estimated: `7230`71 // Estimated: `3674`
72 // Minimum execution time: 14_046_000 picoseconds.72 // Minimum execution time: 7_359_000 picoseconds.
73 Weight::from_parts(14_419_000, 7230)73 Weight::from_parts(7_613_000, 3674)
74 .saturating_add(T::DbWeight::get().reads(2_u64))74 .saturating_add(T::DbWeight::get().reads(2_u64))
75 }75 }
76}76}
83 // Proof Size summary in bytes:83 // Proof Size summary in bytes:
84 // Measured: `0`84 // Measured: `0`
85 // Estimated: `0`85 // Estimated: `0`
86 // Minimum execution time: 4_407_000 picoseconds.86 // Minimum execution time: 3_015_000 picoseconds.
87 Weight::from_parts(4_556_000, 0)87 Weight::from_parts(3_184_000, 0)
88 .saturating_add(RocksDbWeight::get().writes(1_u64))88 .saturating_add(RocksDbWeight::get().writes(1_u64))
89 }89 }
90 /// Storage: Maintenance Enabled (r:0 w:1)90 /// Storage: Maintenance Enabled (r:0 w:1)
93 // Proof Size summary in bytes:93 // Proof Size summary in bytes:
94 // Measured: `0`94 // Measured: `0`
95 // Estimated: `0`95 // Estimated: `0`
96 // Minimum execution time: 5_868_000 picoseconds.96 // Minimum execution time: 2_976_000 picoseconds.
97 Weight::from_parts(6_100_000, 0)97 Weight::from_parts(3_111_000, 0)
98 .saturating_add(RocksDbWeight::get().writes(1_u64))98 .saturating_add(RocksDbWeight::get().writes(1_u64))
99 }99 }
100 /// Storage: Preimage StatusFor (r:1 w:0)100 /// Storage: Preimage StatusFor (r:1 w:0)
104 fn execute_preimage() -> Weight {104 fn execute_preimage() -> Weight {
105 // Proof Size summary in bytes:105 // Proof Size summary in bytes:
106 // Measured: `209`106 // Measured: `209`
107 // Estimated: `7230`107 // Estimated: `3674`
108 // Minimum execution time: 14_046_000 picoseconds.108 // Minimum execution time: 7_359_000 picoseconds.
109 Weight::from_parts(14_419_000, 7230)109 Weight::from_parts(7_613_000, 3674)
110 .saturating_add(RocksDbWeight::get().reads(2_u64))110 .saturating_add(RocksDbWeight::get().reads(2_u64))
111 }111 }
112}112}
modifiedpallets/nonfungible/src/benchmarking.rsdiffbeforeafterboth
21use pallet_common::{21use pallet_common::{
22 bench_init,22 bench_init,
23 benchmarking::{create_collection_raw, property_key, property_value},23 benchmarking::{
24 create_collection_raw, property_key, property_value, load_is_admin_and_property_permissions,
25 },
24 CommonCollectionOperations,26 CommonCollectionOperations,
25};27};
198 value: property_value(),200 value: property_value(),
199 }).collect::<Vec<_>>();201 }).collect::<Vec<_>>();
200 let item = create_max_item(&collection, &owner, owner.clone())?;202 let item = create_max_item(&collection, &owner, owner.clone())?;
201 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?}203 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), &Unlimited)?}
204
205 init_token_properties {
206 let b in 0..MAX_PROPERTIES_PER_ITEM;
207 bench_init!{
208 owner: sub; collection: collection(owner);
209 owner: cross_from_sub;
210 };
211
212 let perms = (0..b).map(|k| PropertyKeyPermission {
213 key: property_key(k as usize),
214 permission: PropertyPermission {
215 mutable: false,
216 collection_admin: true,
217 token_owner: true,
218 },
219 }).collect::<Vec<_>>();
220 <Pallet<T>>::set_token_property_permissions(&collection, &owner, perms)?;
221 let props = (0..b).map(|k| Property {
222 key: property_key(k as usize),
223 value: property_value(),
224 }).collect::<Vec<_>>();
225 let item = create_max_item(&collection, &owner, owner.clone())?;
226
227 let (is_collection_admin, property_permissions) = load_is_admin_and_property_permissions(&collection, &owner);
228 }: {
229 let mut property_writer = pallet_common::collection_info_loaded_property_writer(
230 &collection,
231 is_collection_admin,
232 property_permissions,
233 );
234
235 property_writer.write_token_properties(
236 true,
237 item,
238 props.into_iter(),
239 crate::erc::ERC721TokenEvent::TokenChanged {
240 token_id: item.into(),
241 }
242 .to_log(T::ContractAddress::get()),
243 )?
244 }
202245
203 delete_token_properties {246 delete_token_properties {
204 let b in 0..MAX_PROPERTIES_PER_ITEM;247 let b in 0..MAX_PROPERTIES_PER_ITEM;
220 value: property_value(),263 value: property_value(),
221 }).collect::<Vec<_>>();264 }).collect::<Vec<_>>();
222 let item = create_max_item(&collection, &owner, owner.clone())?;265 let item = create_max_item(&collection, &owner, owner.clone())?;
223 <Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?;266 <Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), &Unlimited)?;
224 let to_delete = (0..b).map(|k| property_key(k as usize)).collect::<Vec<_>>();267 let to_delete = (0..b).map(|k| property_key(k as usize)).collect::<Vec<_>>();
225 }: {<Pallet<T>>::delete_token_properties(&collection, &owner, item, to_delete.into_iter(), &Unlimited)?}268 }: {<Pallet<T>>::delete_token_properties(&collection, &owner, item, to_delete.into_iter(), &Unlimited)?}
226269
modifiedpallets/nonfungible/src/common.rsdiffbeforeafterboth
23};23};
24use pallet_common::{24use pallet_common::{
25 CommonCollectionOperations, CommonWeightInfo, RefungibleExtensions, with_weight,25 CommonCollectionOperations, CommonWeightInfo, RefungibleExtensions, with_weight,
26 weights::WeightInfo as _, SelfWeightOf as PalletCommonWeightOf,26 weights::WeightInfo as _, SelfWeightOf as PalletCommonWeightOf, init_token_properties_delta,
27};27};
28use pallet_structure::Pallet as PalletStructure;
28use sp_runtime::DispatchError;29use sp_runtime::DispatchError;
29use sp_std::{vec::Vec, vec};30use sp_std::{vec::Vec, vec};
3031
31use crate::{32use crate::{
32 AccountBalance, Allowance, Config, CreateItemData, Error, NonfungibleHandle, Owned, Pallet,33 AccountBalance, Allowance, Config, CreateItemData, Error, NonfungibleHandle, Owned, Pallet,
33 SelfWeightOf, TokenData, weights::WeightInfo, TokensMinted,34 SelfWeightOf, TokenData, weights::WeightInfo, TokensMinted, TokenProperties,
34};35};
3536
36pub struct CommonWeights<T: Config>(PhantomData<T>);37pub struct CommonWeights<T: Config>(PhantomData<T>);
37impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {38impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {
38 fn create_multiple_items_ex(data: &CreateItemExData<T::CrossAccountId>) -> Weight {39 fn create_multiple_items_ex(data: &CreateItemExData<T::CrossAccountId>) -> Weight {
39 match data {40 match data {
40 CreateItemExData::NFT(t) => {41 CreateItemExData::NFT(t) => <SelfWeightOf<T>>::create_multiple_items_ex(t.len() as u32)
41 <SelfWeightOf<T>>::create_multiple_items_ex(t.len() as u32)42 .saturating_add(init_token_properties_delta::<T, _>(
42 + t.iter()43 t.iter().map(|t| t.properties.len() as u32),
43 .filter_map(|t| {
44 if t.properties.len() > 0 {
45 Some(Self::set_token_properties(t.properties.len() as u32))
46 } else {
47 None
48 }
49 })
50 .fold(Weight::zero(), |a, b| a.saturating_add(b))44 <SelfWeightOf<T>>::init_token_properties,
51 }45 )),
52 _ => Weight::zero(),46 _ => Weight::zero(),
53 }47 }
54 }48 }
5549
56 fn create_multiple_items(data: &[up_data_structs::CreateItemData]) -> Weight {50 fn create_multiple_items(data: &[up_data_structs::CreateItemData]) -> Weight {
57 <SelfWeightOf<T>>::create_multiple_items(data.len() as u32)51 <SelfWeightOf<T>>::create_multiple_items(data.len() as u32).saturating_add(
52 init_token_properties_delta::<T, _>(
58 + data53 data.iter().map(|t| match t {
59 .iter()
60 .filter_map(|t| match t {
61 up_data_structs::CreateItemData::NFT(n) if n.properties.len() > 0 => {54 up_data_structs::CreateItemData::NFT(n) => n.properties.len() as u32,
62 Some(Self::set_token_properties(n.properties.len() as u32))
63 }
64 _ => None,55 _ => 0,
65 })56 }),
66 .fold(Weight::zero(), |a, b| a.saturating_add(b))57 <SelfWeightOf<T>>::init_token_properties,
58 ),
59 )
67 }60 }
6861
69 fn burn_item() -> Weight {62 fn burn_item() -> Weight {
245 &sender,238 &sender,
246 token_id,239 token_id,
247 properties.into_iter(),240 properties.into_iter(),
248 pallet_common::SetPropertyMode::ExistingToken,
249 nesting_budget,241 nesting_budget,
250 ),242 ),
251 weight,243 weight,
273 )265 )
274 }266 }
267
268 fn get_token_properties_raw(
269 &self,
270 token_id: TokenId,
271 ) -> Option<up_data_structs::TokenProperties> {
272 <TokenProperties<T>>::get((self.id, token_id))
273 }
274
275 fn set_token_properties_raw(&self, token_id: TokenId, map: up_data_structs::TokenProperties) {
276 <TokenProperties<T>>::insert((self.id, token_id), map)
277 }
275278
276 fn set_token_property_permissions(279 fn set_token_property_permissions(
277 &self,280 &self,
457 .ok_or(TokenOwnerError::NotFound)460 .ok_or(TokenOwnerError::NotFound)
458 }461 }
462
463 fn check_token_indirect_owner(
464 &self,
465 token: TokenId,
466 maybe_owner: &T::CrossAccountId,
467 nesting_budget: &dyn Budget,
468 ) -> Result<bool, DispatchError> {
469 <PalletStructure<T>>::check_indirectly_owned(
470 maybe_owner.clone(),
471 self.id,
472 token,
473 None,
474 nesting_budget,
475 )
476 }
459477
460 /// Returns token owners.478 /// Returns token owners.
461 fn token_owners(&self, token: TokenId) -> Vec<T::CrossAccountId> {479 fn token_owners(&self, token: TokenId) -> Vec<T::CrossAccountId> {
462 self.token_owner(token).map_or_else(|_| vec![], |t| vec![t])480 self.token_owner(token).map_or_else(|_| vec![], |t| vec![t])
463 }481 }
464482
465 fn token_property(&self, token_id: TokenId, key: &PropertyKey) -> Option<PropertyValue> {483 fn token_property(&self, token_id: TokenId, key: &PropertyKey) -> Option<PropertyValue> {
466 <Pallet<T>>::token_properties((self.id, token_id))484 <Pallet<T>>::token_properties((self.id, token_id))?
467 .get(key)485 .get(key)
468 .cloned()486 .cloned()
469 }487 }
470488
471 fn token_properties(&self, token_id: TokenId, keys: Option<Vec<PropertyKey>>) -> Vec<Property> {489 fn token_properties(&self, token_id: TokenId, keys: Option<Vec<PropertyKey>>) -> Vec<Property> {
472 let properties = <Pallet<T>>::token_properties((self.id, token_id));490 let Some(properties) = <Pallet<T>>::token_properties((self.id, token_id)) else {
491 return vec![];
492 };
473493
474 keys.map(|keys| {494 keys.map(|keys| {
475 keys.into_iter()495 keys.into_iter()
modifiedpallets/nonfungible/src/erc.rsdiffbeforeafterboth
203 &caller,203 &caller,
204 TokenId(token_id),204 TokenId(token_id),
205 properties.into_iter(),205 properties.into_iter(),
206 pallet_common::SetPropertyMode::ExistingToken,
207 &nesting_budget,206 &nesting_budget,
208 )207 )
209 .map_err(dispatch_to_evm::<T>)208 .map_err(dispatch_to_evm::<T>)
274 .map_err(|_| "key too long")?;273 .map_err(|_| "key too long")?;
275274
276 let props = <TokenProperties<T>>::get((self.id, token_id));275 let props =
276 <TokenProperties<T>>::get((self.id, token_id)).ok_or("token properties not found")?;
277 let prop = props.get(&key).ok_or("key not found")?;277 let prop = props.get(&key).ok_or("key not found")?;
278278
279 Ok(prop.to_vec().into())279 Ok(prop.to_vec().into())
367 .transpose()367 .transpose()
368 .map_err(|e| {368 .map_err(|e| {
369 Error::Revert(alloc::format!(369 Error::Revert(alloc::format!(
370 "Can not convert value \"baseURI\" to string with error \"{e}\""370 "can not convert value \"baseURI\" to string with error \"{e}\""
371 ))371 ))
372 })?;372 })?;
373373
658 let key = key::url();658 let key = key::url();
659 let permission = get_token_permission::<T>(self.id, &key)?;659 let permission = get_token_permission::<T>(self.id, &key)?;
660 if !permission.collection_admin {660 if !permission.collection_admin {
661 return Err("Operation is not allowed".into());661 return Err("operation is not allowed".into());
662 }662 }
663663
664 let caller = T::CrossAccountId::from_eth(caller);664 let caller = T::CrossAccountId::from_eth(caller);
685 .try_into()685 .try_into()
686 .map_err(|_| "token uri is too long")?,686 .map_err(|_| "token uri is too long")?,
687 })687 })
688 .map_err(|e| Error::Revert(alloc::format!("Can't add property: {e:?}")))?;688 .map_err(|e| Error::Revert(alloc::format!("can't add property: {e:?}")))?;
689689
690 <Pallet<T>>::create_item(690 <Pallet<T>>::create_item(
691 self,691 self,
708) -> Result<String> {708) -> Result<String> {
709 collection.consume_store_reads(1)?;709 collection.consume_store_reads(1)?;
710 let properties = <TokenProperties<T>>::try_get((collection.id, token_id))710 let properties = <TokenProperties<T>>::try_get((collection.id, token_id))
711 .map_err(|_| Error::Revert("Token properties not found".into()))?;711 .map_err(|_| Error::Revert("token properties not found".into()))?;
712 if let Some(property) = properties.get(key) {712 if let Some(property) = properties.get(key) {
713 return Ok(String::from_utf8_lossy(property).into());713 return Ok(String::from_utf8_lossy(property).into());
714 }714 }
715715
716 Err("Property tokenURI not found".into())716 Err("property tokenURI not found".into())
717}717}
718718
719fn get_token_permission<T: Config>(719fn get_token_permission<T: Config>(
720 collection_id: CollectionId,720 collection_id: CollectionId,
721 key: &PropertyKey,721 key: &PropertyKey,
722) -> Result<PropertyPermission> {722) -> Result<PropertyPermission> {
723 let token_property_permissions = CollectionPropertyPermissions::<T>::try_get(collection_id)723 let token_property_permissions = CollectionPropertyPermissions::<T>::try_get(collection_id)
724 .map_err(|_| Error::Revert("No permissions for collection".into()))?;724 .map_err(|_| Error::Revert("no permissions for collection".into()))?;
725 let a = token_property_permissions725 let a = token_property_permissions
726 .get(key)726 .get(key)
727 .map(Clone::clone)727 .map(Clone::clone)
728 .ok_or_else(|| {728 .ok_or_else(|| {
729 let key = String::from_utf8(key.clone().into_inner()).unwrap_or_default();729 let key = String::from_utf8(key.clone().into_inner()).unwrap_or_default();
730 Error::Revert(alloc::format!("No permission for key {key}"))730 Error::Revert(alloc::format!("no permission for key {key}"))
731 })?;731 })?;
732 Ok(a)732 Ok(a)
733}733}
1058 .try_into()1058 .try_into()
1059 .map_err(|_| "token uri is too long")?,1059 .map_err(|_| "token uri is too long")?,
1060 })1060 })
1061 .map_err(|e| Error::Revert(alloc::format!("Can't add property: {e:?}")))?;1061 .map_err(|e| Error::Revert(alloc::format!("can't add property: {e:?}")))?;
10621062
1063 data.push(CreateItemData::<T> {1063 data.push(CreateItemData::<T> {
1064 properties,1064 properties,
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
102use up_data_structs::{102use up_data_structs::{
103 AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData, CreateNftExData,103 AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData, CreateNftExData,
104 mapping::TokenAddressMapping, budget::Budget, Property, PropertyKey, PropertyValue,104 mapping::TokenAddressMapping, budget::Budget, Property, PropertyKey, PropertyValue,
105 PropertyKeyPermission, PropertyScope, TrySetProperty, TokenChild, AuxPropertyValue,105 PropertyKeyPermission, PropertyScope, TokenChild, AuxPropertyValue, PropertiesPermissionMap,
106 PropertiesPermissionMap, TokenProperties as TokenPropertiesT,106 TokenProperties as TokenPropertiesT,
107};107};
108use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};108use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};
109use pallet_common::{109use pallet_common::{
110 Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, CollectionHandle,110 Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, CollectionHandle,
111 eth::collection_id_to_address, SelfWeightOf as PalletCommonWeightOf,111 eth::collection_id_to_address, SelfWeightOf as PalletCommonWeightOf,
112 weights::WeightInfo as CommonWeightInfo, helpers::add_weight_to_post_info, SetPropertyMode,112 weights::WeightInfo as CommonWeightInfo, helpers::add_weight_to_post_info,
113};113};
114use pallet_structure::{Pallet as PalletStructure, Error as StructureError};114use pallet_structure::{Pallet as PalletStructure, Error as StructureError};
115use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};115use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
201 pub type TokenProperties<T: Config> = StorageNMap<201 pub type TokenProperties<T: Config> = StorageNMap<
202 Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),202 Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
203 Value = TokenPropertiesT,203 Value = TokenPropertiesT,
204 QueryKind = ValueQuery,204 QueryKind = OptionQuery,
205 >;205 >;
206206
207 /// Custom data of a token that is serialized to bytes,207 /// Custom data of a token that is serialized to bytes,
342 <TokenData<T>>::contains_key((collection.id, token))342 <TokenData<T>>::contains_key((collection.id, token))
343 }343 }
344
345 /// Set the token property with the scope.
346 ///
347 /// - `property`: Contains key-value pair.
348 pub fn set_scoped_token_property(
349 collection_id: CollectionId,
350 token_id: TokenId,
351 scope: PropertyScope,
352 property: Property,
353 ) -> DispatchResult {
354 TokenProperties::<T>::try_mutate((collection_id, token_id), |properties| {
355 properties.try_scoped_set(scope, property.key, property.value)
356 })
357 .map_err(<CommonError<T>>::from)?;
358
359 Ok(())
360 }
361
362 /// Batch operation to set multiple properties with the same scope.
363 pub fn set_scoped_token_properties(
364 collection_id: CollectionId,
365 token_id: TokenId,
366 scope: PropertyScope,
367 properties: impl Iterator<Item = Property>,
368 ) -> DispatchResult {
369 TokenProperties::<T>::try_mutate((collection_id, token_id), |stored_properties| {
370 stored_properties.try_scoped_set_from_iter(scope, properties)
371 })
372 .map_err(<CommonError<T>>::from)?;
373
374 Ok(())
375 }
376344
377 /// Add or edit auxiliary data for the property.345 /// Add or edit auxiliary data for the property.
378 ///346 ///
598 sender: &T::CrossAccountId,566 sender: &T::CrossAccountId,
599 token_id: TokenId,567 token_id: TokenId,
600 properties_updates: impl Iterator<Item = (PropertyKey, Option<PropertyValue>)>,568 properties_updates: impl Iterator<Item = (PropertyKey, Option<PropertyValue>)>,
601 mode: SetPropertyMode,
602 nesting_budget: &dyn Budget,569 nesting_budget: &dyn Budget,
603 ) -> DispatchResult {570 ) -> DispatchResult {
604 let mut is_token_owner = pallet_common::LazyValue::new(|| {
605 if let SetPropertyMode::NewToken {
606 mint_target_is_sender,
607 } = mode
608 {
609 return Ok(mint_target_is_sender);
610 }
611
612 let is_owned = <PalletStructure<T>>::check_indirectly_owned(
613 sender.clone(),
614 collection.id,
615 token_id,
616 None,
617 nesting_budget,
618 )?;
619
620 Ok(is_owned)
621 });
622
623 let mut is_token_exist =571 let mut property_writer =
624 pallet_common::LazyValue::new(|| Self::token_exists(collection, token_id));572 pallet_common::property_writer_for_existing_token(collection, sender);
625
626 let stored_properties = <TokenProperties<T>>::get((collection.id, token_id));
627573
628 <PalletCommon<T>>::modify_token_properties(574 property_writer.write_token_properties(
629 collection,
630 sender,575 sender,
631 token_id,576 token_id,
632 &mut is_token_exist,
633 properties_updates,577 properties_updates,
634 stored_properties,578 nesting_budget,
635 &mut is_token_owner,
636 |properties| <TokenProperties<T>>::set((collection.id, token_id), properties),
637 erc::ERC721TokenEvent::TokenChanged {579 erc::ERC721TokenEvent::TokenChanged {
638 token_id: token_id.into(),580 token_id: token_id.into(),
639 }581 }
664 sender: &T::CrossAccountId,606 sender: &T::CrossAccountId,
665 token_id: TokenId,607 token_id: TokenId,
666 properties: impl Iterator<Item = Property>,608 properties: impl Iterator<Item = Property>,
667 mode: SetPropertyMode,
668 nesting_budget: &dyn Budget,609 nesting_budget: &dyn Budget,
669 ) -> DispatchResult {610 ) -> DispatchResult {
670 Self::modify_token_properties(611 Self::modify_token_properties(
671 collection,612 collection,
672 sender,613 sender,
673 token_id,614 token_id,
674 properties.map(|p| (p.key, Some(p.value))),615 properties.map(|p| (p.key, Some(p.value))),
675 mode,
676 nesting_budget,616 nesting_budget,
677 )617 )
678 }618 }
694 sender,634 sender,
695 token_id,635 token_id,
696 [property].into_iter(),636 [property].into_iter(),
697 SetPropertyMode::ExistingToken,
698 nesting_budget,637 nesting_budget,
699 )638 )
700 }639 }
716 sender,655 sender,
717 token_id,656 token_id,
718 property_keys.into_iter().map(|key| (key, None)),657 property_keys.into_iter().map(|key| (key, None)),
719 SetPropertyMode::ExistingToken,
720 nesting_budget,658 nesting_budget,
721 )659 )
722 }660 }
978916
979 // =========917 // =========
918
919 let mut property_writer = pallet_common::property_writer_for_new_token(collection, sender);
980920
981 with_transaction(|| {921 with_transaction(|| {
982 for (i, data) in data.iter().enumerate() {922 for (i, data) in data.iter().enumerate() {
990 },930 },
991 );931 );
932
933 let token = TokenId(token);
992934
993 <PalletStructure<T>>::nest_if_sent_to_token_unchecked(935 <PalletStructure<T>>::nest_if_sent_to_token_unchecked(
994 &data.owner,936 &data.owner,
995 collection.id,937 collection.id,
996 TokenId(token),938 token,
997 );939 );
998940
999 if let Err(e) = Self::set_token_properties(941 if let Err(e) = property_writer.write_token_properties(
1000 collection,
1001 sender,942 sender.conv_eq(&data.owner),
1002 TokenId(token),943 token,
1003 data.properties.clone().into_iter(),944 data.properties.clone().into_iter(),
1004 SetPropertyMode::NewToken {945 erc::ERC721TokenEvent::TokenChanged {
1005 mint_target_is_sender: sender.conv_eq(&data.owner),946 token_id: token.into(),
1006 },947 }
1007 nesting_budget,948 .to_log(T::ContractAddress::get()),
1008 ) {949 ) {
1009 return TransactionOutcome::Rollback(Err(e));950 return TransactionOutcome::Rollback(Err(e));
1010 }951 }
14211362
1422 pub fn repair_item(collection: &NonfungibleHandle<T>, token: TokenId) -> DispatchResult {1363 pub fn repair_item(collection: &NonfungibleHandle<T>, token: TokenId) -> DispatchResult {
1423 <TokenProperties<T>>::mutate((collection.id, token), |properties| {1364 <TokenProperties<T>>::mutate((collection.id, token), |properties| {
1365 if let Some(properties) = properties {
1424 properties.recompute_consumed_space();1366 properties.recompute_consumed_space();
1425 });1367 }
1368 });
14261369
1427 Ok(())1370 Ok(())
modifiedpallets/nonfungible/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_nonfungible3//! Autogenerated weights for pallet_nonfungible
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-30, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/nonfungible/src/weights.rs25// --output=./pallets/nonfungible/src/weights.rs
2626
46 fn burn_from() -> Weight;46 fn burn_from() -> Weight;
47 fn set_token_property_permissions(b: u32, ) -> Weight;47 fn set_token_property_permissions(b: u32, ) -> Weight;
48 fn set_token_properties(b: u32, ) -> Weight;48 fn set_token_properties(b: u32, ) -> Weight;
49 fn init_token_properties(b: u32, ) -> Weight;
49 fn delete_token_properties(b: u32, ) -> Weight;50 fn delete_token_properties(b: u32, ) -> Weight;
50 fn token_owner() -> Weight;51 fn token_owner() -> Weight;
51 fn set_allowance_for_all() -> Weight;52 fn set_allowance_for_all() -> Weight;
60 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)61 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
61 /// Storage: Nonfungible AccountBalance (r:1 w:1)62 /// Storage: Nonfungible AccountBalance (r:1 w:1)
62 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)63 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
63 /// Storage: Nonfungible TokenProperties (r:1 w:1)
64 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
65 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
66 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
67 /// Storage: Nonfungible TokenData (r:0 w:1)64 /// Storage: Nonfungible TokenData (r:0 w:1)
68 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)65 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
69 /// Storage: Nonfungible Owned (r:0 w:1)66 /// Storage: Nonfungible Owned (r:0 w:1)
70 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)67 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
71 fn create_item() -> Weight {68 fn create_item() -> Weight {
72 // Proof Size summary in bytes:69 // Proof Size summary in bytes:
73 // Measured: `390`70 // Measured: `142`
74 // Estimated: `63471`71 // Estimated: `3530`
75 // Minimum execution time: 25_892_000 picoseconds.72 // Minimum execution time: 9_726_000 picoseconds.
76 Weight::from_parts(26_424_000, 63471)73 Weight::from_parts(10_059_000, 3530)
77 .saturating_add(T::DbWeight::get().reads(4_u64))74 .saturating_add(T::DbWeight::get().reads(2_u64))
78 .saturating_add(T::DbWeight::get().writes(5_u64))75 .saturating_add(T::DbWeight::get().writes(4_u64))
79 }76 }
80 /// Storage: Nonfungible TokensMinted (r:1 w:1)77 /// Storage: Nonfungible TokensMinted (r:1 w:1)
81 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)78 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
82 /// Storage: Nonfungible AccountBalance (r:1 w:1)79 /// Storage: Nonfungible AccountBalance (r:1 w:1)
83 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)80 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
84 /// Storage: Nonfungible TokenProperties (r:200 w:200)
85 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
86 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
87 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
88 /// Storage: Nonfungible TokenData (r:0 w:200)81 /// Storage: Nonfungible TokenData (r:0 w:200)
89 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)82 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
90 /// Storage: Nonfungible Owned (r:0 w:200)83 /// Storage: Nonfungible Owned (r:0 w:200)
91 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)84 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
92 /// The range of component `b` is `[0, 200]`.85 /// The range of component `b` is `[0, 200]`.
93 fn create_multiple_items(b: u32, ) -> Weight {86 fn create_multiple_items(b: u32, ) -> Weight {
94 // Proof Size summary in bytes:87 // Proof Size summary in bytes:
95 // Measured: `390`88 // Measured: `142`
96 // Estimated: `28192 + b * (35279 ±0)`89 // Estimated: `3530`
97 // Minimum execution time: 4_612_000 picoseconds.90 // Minimum execution time: 3_270_000 picoseconds.
98 Weight::from_parts(6_399_460, 28192)91 Weight::from_parts(3_693_659, 3530)
99 // Standard Error: 5_11992 // Standard Error: 255
100 .saturating_add(Weight::from_parts(7_230_389, 0).saturating_mul(b.into()))
101 .saturating_add(T::DbWeight::get().reads(3_u64))
102 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into())))93 .saturating_add(Weight::from_parts(3_024_284, 0).saturating_mul(b.into()))
103 .saturating_add(T::DbWeight::get().writes(2_u64))94 .saturating_add(T::DbWeight::get().reads(2_u64))
104 .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(b.into())))95 .saturating_add(T::DbWeight::get().writes(2_u64))
105 .saturating_add(Weight::from_parts(0, 35279).saturating_mul(b.into()))96 .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(b.into())))
106 }97 }
107 /// Storage: Nonfungible TokensMinted (r:1 w:1)98 /// Storage: Nonfungible TokensMinted (r:1 w:1)
108 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)99 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
109 /// Storage: Nonfungible AccountBalance (r:200 w:200)100 /// Storage: Nonfungible AccountBalance (r:200 w:200)
110 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)101 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
111 /// Storage: Nonfungible TokenProperties (r:200 w:200)
112 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
113 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
114 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
115 /// Storage: Nonfungible TokenData (r:0 w:200)102 /// Storage: Nonfungible TokenData (r:0 w:200)
116 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)103 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
117 /// Storage: Nonfungible Owned (r:0 w:200)104 /// Storage: Nonfungible Owned (r:0 w:200)
118 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)105 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
119 /// The range of component `b` is `[0, 200]`.106 /// The range of component `b` is `[0, 200]`.
120 fn create_multiple_items_ex(b: u32, ) -> Weight {107 fn create_multiple_items_ex(b: u32, ) -> Weight {
121 // Proof Size summary in bytes:108 // Proof Size summary in bytes:
122 // Measured: `390`109 // Measured: `142`
123 // Estimated: `25652 + b * (37819 ±0)`110 // Estimated: `3481 + b * (2540 ±0)`
124 // Minimum execution time: 4_538_000 picoseconds.111 // Minimum execution time: 3_188_000 picoseconds.
125 Weight::from_parts(4_686_000, 25652)112 Weight::from_parts(3_307_000, 3481)
126 // Standard Error: 3_518113 // Standard Error: 567
127 .saturating_add(Weight::from_parts(8_905_771, 0).saturating_mul(b.into()))114 .saturating_add(Weight::from_parts(4_320_449, 0).saturating_mul(b.into()))
128 .saturating_add(T::DbWeight::get().reads(2_u64))115 .saturating_add(T::DbWeight::get().reads(1_u64))
129 .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(b.into())))116 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into())))
130 .saturating_add(T::DbWeight::get().writes(1_u64))117 .saturating_add(T::DbWeight::get().writes(1_u64))
131 .saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(b.into())))118 .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(b.into())))
132 .saturating_add(Weight::from_parts(0, 37819).saturating_mul(b.into()))119 .saturating_add(Weight::from_parts(0, 2540).saturating_mul(b.into()))
133 }120 }
134 /// Storage: Nonfungible TokenData (r:1 w:1)121 /// Storage: Nonfungible TokenData (r:1 w:1)
135 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)122 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
148 fn burn_item() -> Weight {135 fn burn_item() -> Weight {
149 // Proof Size summary in bytes:136 // Proof Size summary in bytes:
150 // Measured: `380`137 // Measured: `380`
151 // Estimated: `17561`138 // Estimated: `3530`
152 // Minimum execution time: 24_230_000 picoseconds.139 // Minimum execution time: 18_062_000 picoseconds.
153 Weight::from_parts(24_672_000, 17561)140 Weight::from_parts(18_433_000, 3530)
154 .saturating_add(T::DbWeight::get().reads(5_u64))141 .saturating_add(T::DbWeight::get().reads(5_u64))
155 .saturating_add(T::DbWeight::get().writes(5_u64))142 .saturating_add(T::DbWeight::get().writes(5_u64))
156 }143 }
171 fn burn_recursively_self_raw() -> Weight {158 fn burn_recursively_self_raw() -> Weight {
172 // Proof Size summary in bytes:159 // Proof Size summary in bytes:
173 // Measured: `380`160 // Measured: `380`
174 // Estimated: `17561`161 // Estimated: `3530`
175 // Minimum execution time: 30_521_000 picoseconds.162 // Minimum execution time: 22_942_000 picoseconds.
176 Weight::from_parts(31_241_000, 17561)163 Weight::from_parts(23_527_000, 3530)
177 .saturating_add(T::DbWeight::get().reads(5_u64))164 .saturating_add(T::DbWeight::get().reads(5_u64))
178 .saturating_add(T::DbWeight::get().writes(5_u64))165 .saturating_add(T::DbWeight::get().writes(5_u64))
179 }166 }
196 /// The range of component `b` is `[0, 200]`.183 /// The range of component `b` is `[0, 200]`.
197 fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {184 fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {
198 // Proof Size summary in bytes:185 // Proof Size summary in bytes:
199 // Measured: `1467 + b * (58 ±0)`186 // Measured: `1500 + b * (58 ±0)`
200 // Estimated: `24230 + b * (10097 ±0)`187 // Estimated: `5874 + b * (5032 ±0)`
201 // Minimum execution time: 31_734_000 picoseconds.188 // Minimum execution time: 22_709_000 picoseconds.
202 Weight::from_parts(32_162_000, 24230)189 Weight::from_parts(23_287_000, 5874)
203 // Standard Error: 210_514190 // Standard Error: 89_471
204 .saturating_add(Weight::from_parts(71_382_804, 0).saturating_mul(b.into()))191 .saturating_add(Weight::from_parts(63_285_201, 0).saturating_mul(b.into()))
205 .saturating_add(T::DbWeight::get().reads(7_u64))192 .saturating_add(T::DbWeight::get().reads(7_u64))
206 .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(b.into())))193 .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(b.into())))
207 .saturating_add(T::DbWeight::get().writes(6_u64))194 .saturating_add(T::DbWeight::get().writes(6_u64))
208 .saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(b.into())))195 .saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(b.into())))
209 .saturating_add(Weight::from_parts(0, 10097).saturating_mul(b.into()))196 .saturating_add(Weight::from_parts(0, 5032).saturating_mul(b.into()))
210 }197 }
211 /// Storage: Nonfungible TokenData (r:1 w:1)198 /// Storage: Nonfungible TokenData (r:1 w:1)
212 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)199 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
219 fn transfer_raw() -> Weight {206 fn transfer_raw() -> Weight {
220 // Proof Size summary in bytes:207 // Proof Size summary in bytes:
221 // Measured: `380`208 // Measured: `380`
222 // Estimated: `13114`209 // Estimated: `6070`
223 // Minimum execution time: 18_305_000 picoseconds.210 // Minimum execution time: 13_652_000 picoseconds.
224 Weight::from_parts(18_859_000, 13114)211 Weight::from_parts(13_981_000, 6070)
225 .saturating_add(T::DbWeight::get().reads(4_u64))212 .saturating_add(T::DbWeight::get().reads(4_u64))
226 .saturating_add(T::DbWeight::get().writes(5_u64))213 .saturating_add(T::DbWeight::get().writes(5_u64))
227 }214 }
232 fn approve() -> Weight {219 fn approve() -> Weight {
233 // Proof Size summary in bytes:220 // Proof Size summary in bytes:
234 // Measured: `326`221 // Measured: `326`
235 // Estimated: `7044`222 // Estimated: `3522`
236 // Minimum execution time: 10_977_000 picoseconds.223 // Minimum execution time: 7_837_000 picoseconds.
237 Weight::from_parts(11_184_000, 7044)224 Weight::from_parts(8_113_000, 3522)
238 .saturating_add(T::DbWeight::get().reads(2_u64))225 .saturating_add(T::DbWeight::get().reads(2_u64))
239 .saturating_add(T::DbWeight::get().writes(1_u64))226 .saturating_add(T::DbWeight::get().writes(1_u64))
240 }227 }
245 fn approve_from() -> Weight {232 fn approve_from() -> Weight {
246 // Proof Size summary in bytes:233 // Proof Size summary in bytes:
247 // Measured: `313`234 // Measured: `313`
248 // Estimated: `7044`235 // Estimated: `3522`
249 // Minimum execution time: 11_456_000 picoseconds.236 // Minimum execution time: 7_769_000 picoseconds.
250 Weight::from_parts(11_731_000, 7044)237 Weight::from_parts(7_979_000, 3522)
251 .saturating_add(T::DbWeight::get().reads(2_u64))238 .saturating_add(T::DbWeight::get().reads(2_u64))
252 .saturating_add(T::DbWeight::get().writes(1_u64))239 .saturating_add(T::DbWeight::get().writes(1_u64))
253 }240 }
257 // Proof Size summary in bytes:244 // Proof Size summary in bytes:
258 // Measured: `362`245 // Measured: `362`
259 // Estimated: `3522`246 // Estimated: `3522`
260 // Minimum execution time: 5_771_000 picoseconds.247 // Minimum execution time: 4_194_000 picoseconds.
261 Weight::from_parts(5_972_000, 3522)248 Weight::from_parts(4_353_000, 3522)
262 .saturating_add(T::DbWeight::get().reads(1_u64))249 .saturating_add(T::DbWeight::get().reads(1_u64))
263 }250 }
264 /// Storage: Nonfungible Allowance (r:1 w:1)251 /// Storage: Nonfungible Allowance (r:1 w:1)
278 fn burn_from() -> Weight {265 fn burn_from() -> Weight {
279 // Proof Size summary in bytes:266 // Proof Size summary in bytes:
280 // Measured: `463`267 // Measured: `463`
281 // Estimated: `17561`268 // Estimated: `3530`
282 // Minimum execution time: 30_633_000 picoseconds.269 // Minimum execution time: 21_978_000 picoseconds.
283 Weight::from_parts(31_136_000, 17561)270 Weight::from_parts(22_519_000, 3530)
284 .saturating_add(T::DbWeight::get().reads(5_u64))271 .saturating_add(T::DbWeight::get().reads(5_u64))
285 .saturating_add(T::DbWeight::get().writes(6_u64))272 .saturating_add(T::DbWeight::get().writes(6_u64))
286 }273 }
289 /// The range of component `b` is `[0, 64]`.276 /// The range of component `b` is `[0, 64]`.
290 fn set_token_property_permissions(b: u32, ) -> Weight {277 fn set_token_property_permissions(b: u32, ) -> Weight {
291 // Proof Size summary in bytes:278 // Proof Size summary in bytes:
292 // Measured: `281`279 // Measured: `314`
293 // Estimated: `20191`280 // Estimated: `20191`
294 // Minimum execution time: 2_300_000 picoseconds.281 // Minimum execution time: 1_457_000 picoseconds.
295 Weight::from_parts(2_382_000, 20191)282 Weight::from_parts(1_563_000, 20191)
296 // Standard Error: 45_076283 // Standard Error: 14_041
297 .saturating_add(Weight::from_parts(12_000_777, 0).saturating_mul(b.into()))284 .saturating_add(Weight::from_parts(8_452_415, 0).saturating_mul(b.into()))
298 .saturating_add(T::DbWeight::get().reads(1_u64))285 .saturating_add(T::DbWeight::get().reads(1_u64))
299 .saturating_add(T::DbWeight::get().writes(1_u64))286 .saturating_add(T::DbWeight::get().writes(1_u64))
300 }287 }
288 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
289 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
301 /// Storage: Nonfungible TokenProperties (r:1 w:1)290 /// Storage: Nonfungible TokenProperties (r:1 w:1)
302 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)291 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
303 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)292 /// Storage: Nonfungible TokenData (r:1 w:0)
304 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)293 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
305 /// The range of component `b` is `[0, 64]`.294 /// The range of component `b` is `[0, 64]`.
306 fn set_token_properties(b: u32, ) -> Weight {295 fn set_token_properties(b: u32, ) -> Weight {
307 // Proof Size summary in bytes:296 // Proof Size summary in bytes:
308 // Measured: `584 + b * (261 ±0)`297 // Measured: `640 + b * (261 ±0)`
309 // Estimated: `56460`298 // Estimated: `36269`
310 // Minimum execution time: 12_422_000 picoseconds.299 // Minimum execution time: 963_000 picoseconds.
311 Weight::from_parts(5_523_689, 56460)300 Weight::from_parts(1_126_511, 36269)
312 // Standard Error: 74_137301 // Standard Error: 9_175
313 .saturating_add(Weight::from_parts(6_320_501, 0).saturating_mul(b.into()))302 .saturating_add(Weight::from_parts(5_096_011, 0).saturating_mul(b.into()))
314 .saturating_add(T::DbWeight::get().reads(2_u64))303 .saturating_add(T::DbWeight::get().reads(3_u64))
315 .saturating_add(T::DbWeight::get().writes(1_u64))304 .saturating_add(T::DbWeight::get().writes(1_u64))
316 }305 }
317 /// Storage: Nonfungible TokenProperties (r:1 w:1)306 /// Storage: Nonfungible TokenProperties (r:0 w:1)
318 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)307 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
308 /// The range of component `b` is `[0, 64]`.
309 fn init_token_properties(b: u32, ) -> Weight {
310 // Proof Size summary in bytes:
311 // Measured: `0`
312 // Estimated: `0`
313 // Minimum execution time: 194_000 picoseconds.
314 Weight::from_parts(222_000, 0)
315 // Standard Error: 7_295
316 .saturating_add(Weight::from_parts(4_499_463, 0).saturating_mul(b.into()))
317 .saturating_add(T::DbWeight::get().writes(1_u64))
318 }
319 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)319 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
320 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)320 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
321 /// Storage: Nonfungible TokenData (r:1 w:0)
322 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
323 /// Storage: Nonfungible TokenProperties (r:1 w:1)
324 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
321 /// The range of component `b` is `[0, 64]`.325 /// The range of component `b` is `[0, 64]`.
322 fn delete_token_properties(b: u32, ) -> Weight {326 fn delete_token_properties(b: u32, ) -> Weight {
323 // Proof Size summary in bytes:327 // Proof Size summary in bytes:
324 // Measured: `589 + b * (33291 ±0)`328 // Measured: `699 + b * (33291 ±0)`
325 // Estimated: `56460`329 // Estimated: `36269`
326 // Minimum execution time: 12_006_000 picoseconds.330 // Minimum execution time: 992_000 picoseconds.
327 Weight::from_parts(12_216_000, 56460)331 Weight::from_parts(1_043_000, 36269)
328 // Standard Error: 83_431332 // Standard Error: 37_370
329 .saturating_add(Weight::from_parts(24_556_999, 0).saturating_mul(b.into()))333 .saturating_add(Weight::from_parts(23_672_870, 0).saturating_mul(b.into()))
330 .saturating_add(T::DbWeight::get().reads(2_u64))334 .saturating_add(T::DbWeight::get().reads(3_u64))
331 .saturating_add(T::DbWeight::get().writes(1_u64))335 .saturating_add(T::DbWeight::get().writes(1_u64))
332 }336 }
333 /// Storage: Nonfungible TokenData (r:1 w:0)337 /// Storage: Nonfungible TokenData (r:1 w:0)
336 // Proof Size summary in bytes:340 // Proof Size summary in bytes:
337 // Measured: `326`341 // Measured: `326`
338 // Estimated: `3522`342 // Estimated: `3522`
339 // Minimum execution time: 4_827_000 picoseconds.343 // Minimum execution time: 3_743_000 picoseconds.
340 Weight::from_parts(4_984_000, 3522)344 Weight::from_parts(3_908_000, 3522)
341 .saturating_add(T::DbWeight::get().reads(1_u64))345 .saturating_add(T::DbWeight::get().reads(1_u64))
342 }346 }
343 /// Storage: Nonfungible CollectionAllowance (r:0 w:1)347 /// Storage: Nonfungible CollectionAllowance (r:0 w:1)
346 // Proof Size summary in bytes:350 // Proof Size summary in bytes:
347 // Measured: `0`351 // Measured: `0`
348 // Estimated: `0`352 // Estimated: `0`
349 // Minimum execution time: 6_151_000 picoseconds.353 // Minimum execution time: 4_106_000 picoseconds.
350 Weight::from_parts(6_394_000, 0)354 Weight::from_parts(4_293_000, 0)
351 .saturating_add(T::DbWeight::get().writes(1_u64))355 .saturating_add(T::DbWeight::get().writes(1_u64))
352 }356 }
353 /// Storage: Nonfungible CollectionAllowance (r:1 w:0)357 /// Storage: Nonfungible CollectionAllowance (r:1 w:0)
354 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)358 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)
355 fn allowance_for_all() -> Weight {359 fn allowance_for_all() -> Weight {
356 // Proof Size summary in bytes:360 // Proof Size summary in bytes:
357 // Measured: `109`361 // Measured: `142`
358 // Estimated: `3576`362 // Estimated: `3576`
359 // Minimum execution time: 3_791_000 picoseconds.363 // Minimum execution time: 2_775_000 picoseconds.
360 Weight::from_parts(3_950_000, 3576)364 Weight::from_parts(2_923_000, 3576)
361 .saturating_add(T::DbWeight::get().reads(1_u64))365 .saturating_add(T::DbWeight::get().reads(1_u64))
362 }366 }
363 /// Storage: Nonfungible TokenProperties (r:1 w:1)367 /// Storage: Nonfungible TokenProperties (r:1 w:1)
364 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)368 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
365 fn repair_item() -> Weight {369 fn repair_item() -> Weight {
366 // Proof Size summary in bytes:370 // Proof Size summary in bytes:
367 // Measured: `300`371 // Measured: `279`
368 // Estimated: `36269`372 // Estimated: `36269`
369 // Minimum execution time: 5_364_000 picoseconds.373 // Minimum execution time: 3_033_000 picoseconds.
370 Weight::from_parts(5_539_000, 36269)374 Weight::from_parts(3_174_000, 36269)
371 .saturating_add(T::DbWeight::get().reads(1_u64))375 .saturating_add(T::DbWeight::get().reads(1_u64))
372 .saturating_add(T::DbWeight::get().writes(1_u64))376 .saturating_add(T::DbWeight::get().writes(1_u64))
373 }377 }
379 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)383 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
380 /// Storage: Nonfungible AccountBalance (r:1 w:1)384 /// Storage: Nonfungible AccountBalance (r:1 w:1)
381 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)385 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
382 /// Storage: Nonfungible TokenProperties (r:1 w:1)
383 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
384 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
385 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
386 /// Storage: Nonfungible TokenData (r:0 w:1)386 /// Storage: Nonfungible TokenData (r:0 w:1)
387 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)387 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
388 /// Storage: Nonfungible Owned (r:0 w:1)388 /// Storage: Nonfungible Owned (r:0 w:1)
389 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)389 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
390 fn create_item() -> Weight {390 fn create_item() -> Weight {
391 // Proof Size summary in bytes:391 // Proof Size summary in bytes:
392 // Measured: `390`392 // Measured: `142`
393 // Estimated: `63471`393 // Estimated: `3530`
394 // Minimum execution time: 25_892_000 picoseconds.394 // Minimum execution time: 9_726_000 picoseconds.
395 Weight::from_parts(26_424_000, 63471)395 Weight::from_parts(10_059_000, 3530)
396 .saturating_add(RocksDbWeight::get().reads(4_u64))396 .saturating_add(RocksDbWeight::get().reads(2_u64))
397 .saturating_add(RocksDbWeight::get().writes(5_u64))397 .saturating_add(RocksDbWeight::get().writes(4_u64))
398 }398 }
399 /// Storage: Nonfungible TokensMinted (r:1 w:1)399 /// Storage: Nonfungible TokensMinted (r:1 w:1)
400 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)400 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
401 /// Storage: Nonfungible AccountBalance (r:1 w:1)401 /// Storage: Nonfungible AccountBalance (r:1 w:1)
402 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)402 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
403 /// Storage: Nonfungible TokenProperties (r:200 w:200)
404 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
405 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
406 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
407 /// Storage: Nonfungible TokenData (r:0 w:200)403 /// Storage: Nonfungible TokenData (r:0 w:200)
408 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)404 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
409 /// Storage: Nonfungible Owned (r:0 w:200)405 /// Storage: Nonfungible Owned (r:0 w:200)
410 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)406 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
411 /// The range of component `b` is `[0, 200]`.407 /// The range of component `b` is `[0, 200]`.
412 fn create_multiple_items(b: u32, ) -> Weight {408 fn create_multiple_items(b: u32, ) -> Weight {
413 // Proof Size summary in bytes:409 // Proof Size summary in bytes:
414 // Measured: `390`410 // Measured: `142`
415 // Estimated: `28192 + b * (35279 ±0)`411 // Estimated: `3530`
416 // Minimum execution time: 4_612_000 picoseconds.412 // Minimum execution time: 3_270_000 picoseconds.
417 Weight::from_parts(6_399_460, 28192)413 Weight::from_parts(3_693_659, 3530)
418 // Standard Error: 5_119414 // Standard Error: 255
419 .saturating_add(Weight::from_parts(7_230_389, 0).saturating_mul(b.into()))
420 .saturating_add(RocksDbWeight::get().reads(3_u64))
421 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(b.into())))415 .saturating_add(Weight::from_parts(3_024_284, 0).saturating_mul(b.into()))
422 .saturating_add(RocksDbWeight::get().writes(2_u64))416 .saturating_add(RocksDbWeight::get().reads(2_u64))
423 .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(b.into())))417 .saturating_add(RocksDbWeight::get().writes(2_u64))
424 .saturating_add(Weight::from_parts(0, 35279).saturating_mul(b.into()))418 .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(b.into())))
425 }419 }
426 /// Storage: Nonfungible TokensMinted (r:1 w:1)420 /// Storage: Nonfungible TokensMinted (r:1 w:1)
427 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)421 /// Proof: Nonfungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
428 /// Storage: Nonfungible AccountBalance (r:200 w:200)422 /// Storage: Nonfungible AccountBalance (r:200 w:200)
429 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)423 /// Proof: Nonfungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
430 /// Storage: Nonfungible TokenProperties (r:200 w:200)
431 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
432 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
433 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
434 /// Storage: Nonfungible TokenData (r:0 w:200)424 /// Storage: Nonfungible TokenData (r:0 w:200)
435 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)425 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
436 /// Storage: Nonfungible Owned (r:0 w:200)426 /// Storage: Nonfungible Owned (r:0 w:200)
437 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)427 /// Proof: Nonfungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
438 /// The range of component `b` is `[0, 200]`.428 /// The range of component `b` is `[0, 200]`.
439 fn create_multiple_items_ex(b: u32, ) -> Weight {429 fn create_multiple_items_ex(b: u32, ) -> Weight {
440 // Proof Size summary in bytes:430 // Proof Size summary in bytes:
441 // Measured: `390`431 // Measured: `142`
442 // Estimated: `25652 + b * (37819 ±0)`432 // Estimated: `3481 + b * (2540 ±0)`
443 // Minimum execution time: 4_538_000 picoseconds.433 // Minimum execution time: 3_188_000 picoseconds.
444 Weight::from_parts(4_686_000, 25652)434 Weight::from_parts(3_307_000, 3481)
445 // Standard Error: 3_518435 // Standard Error: 567
446 .saturating_add(Weight::from_parts(8_905_771, 0).saturating_mul(b.into()))436 .saturating_add(Weight::from_parts(4_320_449, 0).saturating_mul(b.into()))
447 .saturating_add(RocksDbWeight::get().reads(2_u64))437 .saturating_add(RocksDbWeight::get().reads(1_u64))
448 .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(b.into())))438 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(b.into())))
449 .saturating_add(RocksDbWeight::get().writes(1_u64))439 .saturating_add(RocksDbWeight::get().writes(1_u64))
450 .saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(b.into())))440 .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(b.into())))
451 .saturating_add(Weight::from_parts(0, 37819).saturating_mul(b.into()))441 .saturating_add(Weight::from_parts(0, 2540).saturating_mul(b.into()))
452 }442 }
453 /// Storage: Nonfungible TokenData (r:1 w:1)443 /// Storage: Nonfungible TokenData (r:1 w:1)
454 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)444 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
467 fn burn_item() -> Weight {457 fn burn_item() -> Weight {
468 // Proof Size summary in bytes:458 // Proof Size summary in bytes:
469 // Measured: `380`459 // Measured: `380`
470 // Estimated: `17561`460 // Estimated: `3530`
471 // Minimum execution time: 24_230_000 picoseconds.461 // Minimum execution time: 18_062_000 picoseconds.
472 Weight::from_parts(24_672_000, 17561)462 Weight::from_parts(18_433_000, 3530)
473 .saturating_add(RocksDbWeight::get().reads(5_u64))463 .saturating_add(RocksDbWeight::get().reads(5_u64))
474 .saturating_add(RocksDbWeight::get().writes(5_u64))464 .saturating_add(RocksDbWeight::get().writes(5_u64))
475 }465 }
490 fn burn_recursively_self_raw() -> Weight {480 fn burn_recursively_self_raw() -> Weight {
491 // Proof Size summary in bytes:481 // Proof Size summary in bytes:
492 // Measured: `380`482 // Measured: `380`
493 // Estimated: `17561`483 // Estimated: `3530`
494 // Minimum execution time: 30_521_000 picoseconds.484 // Minimum execution time: 22_942_000 picoseconds.
495 Weight::from_parts(31_241_000, 17561)485 Weight::from_parts(23_527_000, 3530)
496 .saturating_add(RocksDbWeight::get().reads(5_u64))486 .saturating_add(RocksDbWeight::get().reads(5_u64))
497 .saturating_add(RocksDbWeight::get().writes(5_u64))487 .saturating_add(RocksDbWeight::get().writes(5_u64))
498 }488 }
515 /// The range of component `b` is `[0, 200]`.505 /// The range of component `b` is `[0, 200]`.
516 fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {506 fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {
517 // Proof Size summary in bytes:507 // Proof Size summary in bytes:
518 // Measured: `1467 + b * (58 ±0)`508 // Measured: `1500 + b * (58 ±0)`
519 // Estimated: `24230 + b * (10097 ±0)`509 // Estimated: `5874 + b * (5032 ±0)`
520 // Minimum execution time: 31_734_000 picoseconds.510 // Minimum execution time: 22_709_000 picoseconds.
521 Weight::from_parts(32_162_000, 24230)511 Weight::from_parts(23_287_000, 5874)
522 // Standard Error: 210_514512 // Standard Error: 89_471
523 .saturating_add(Weight::from_parts(71_382_804, 0).saturating_mul(b.into()))513 .saturating_add(Weight::from_parts(63_285_201, 0).saturating_mul(b.into()))
524 .saturating_add(RocksDbWeight::get().reads(7_u64))514 .saturating_add(RocksDbWeight::get().reads(7_u64))
525 .saturating_add(RocksDbWeight::get().reads((4_u64).saturating_mul(b.into())))515 .saturating_add(RocksDbWeight::get().reads((4_u64).saturating_mul(b.into())))
526 .saturating_add(RocksDbWeight::get().writes(6_u64))516 .saturating_add(RocksDbWeight::get().writes(6_u64))
527 .saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(b.into())))517 .saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(b.into())))
528 .saturating_add(Weight::from_parts(0, 10097).saturating_mul(b.into()))518 .saturating_add(Weight::from_parts(0, 5032).saturating_mul(b.into()))
529 }519 }
530 /// Storage: Nonfungible TokenData (r:1 w:1)520 /// Storage: Nonfungible TokenData (r:1 w:1)
531 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)521 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
538 fn transfer_raw() -> Weight {528 fn transfer_raw() -> Weight {
539 // Proof Size summary in bytes:529 // Proof Size summary in bytes:
540 // Measured: `380`530 // Measured: `380`
541 // Estimated: `13114`531 // Estimated: `6070`
542 // Minimum execution time: 18_305_000 picoseconds.532 // Minimum execution time: 13_652_000 picoseconds.
543 Weight::from_parts(18_859_000, 13114)533 Weight::from_parts(13_981_000, 6070)
544 .saturating_add(RocksDbWeight::get().reads(4_u64))534 .saturating_add(RocksDbWeight::get().reads(4_u64))
545 .saturating_add(RocksDbWeight::get().writes(5_u64))535 .saturating_add(RocksDbWeight::get().writes(5_u64))
546 }536 }
551 fn approve() -> Weight {541 fn approve() -> Weight {
552 // Proof Size summary in bytes:542 // Proof Size summary in bytes:
553 // Measured: `326`543 // Measured: `326`
554 // Estimated: `7044`544 // Estimated: `3522`
555 // Minimum execution time: 10_977_000 picoseconds.545 // Minimum execution time: 7_837_000 picoseconds.
556 Weight::from_parts(11_184_000, 7044)546 Weight::from_parts(8_113_000, 3522)
557 .saturating_add(RocksDbWeight::get().reads(2_u64))547 .saturating_add(RocksDbWeight::get().reads(2_u64))
558 .saturating_add(RocksDbWeight::get().writes(1_u64))548 .saturating_add(RocksDbWeight::get().writes(1_u64))
559 }549 }
564 fn approve_from() -> Weight {554 fn approve_from() -> Weight {
565 // Proof Size summary in bytes:555 // Proof Size summary in bytes:
566 // Measured: `313`556 // Measured: `313`
567 // Estimated: `7044`557 // Estimated: `3522`
568 // Minimum execution time: 11_456_000 picoseconds.558 // Minimum execution time: 7_769_000 picoseconds.
569 Weight::from_parts(11_731_000, 7044)559 Weight::from_parts(7_979_000, 3522)
570 .saturating_add(RocksDbWeight::get().reads(2_u64))560 .saturating_add(RocksDbWeight::get().reads(2_u64))
571 .saturating_add(RocksDbWeight::get().writes(1_u64))561 .saturating_add(RocksDbWeight::get().writes(1_u64))
572 }562 }
576 // Proof Size summary in bytes:566 // Proof Size summary in bytes:
577 // Measured: `362`567 // Measured: `362`
578 // Estimated: `3522`568 // Estimated: `3522`
579 // Minimum execution time: 5_771_000 picoseconds.569 // Minimum execution time: 4_194_000 picoseconds.
580 Weight::from_parts(5_972_000, 3522)570 Weight::from_parts(4_353_000, 3522)
581 .saturating_add(RocksDbWeight::get().reads(1_u64))571 .saturating_add(RocksDbWeight::get().reads(1_u64))
582 }572 }
583 /// Storage: Nonfungible Allowance (r:1 w:1)573 /// Storage: Nonfungible Allowance (r:1 w:1)
597 fn burn_from() -> Weight {587 fn burn_from() -> Weight {
598 // Proof Size summary in bytes:588 // Proof Size summary in bytes:
599 // Measured: `463`589 // Measured: `463`
600 // Estimated: `17561`590 // Estimated: `3530`
601 // Minimum execution time: 30_633_000 picoseconds.591 // Minimum execution time: 21_978_000 picoseconds.
602 Weight::from_parts(31_136_000, 17561)592 Weight::from_parts(22_519_000, 3530)
603 .saturating_add(RocksDbWeight::get().reads(5_u64))593 .saturating_add(RocksDbWeight::get().reads(5_u64))
604 .saturating_add(RocksDbWeight::get().writes(6_u64))594 .saturating_add(RocksDbWeight::get().writes(6_u64))
605 }595 }
608 /// The range of component `b` is `[0, 64]`.598 /// The range of component `b` is `[0, 64]`.
609 fn set_token_property_permissions(b: u32, ) -> Weight {599 fn set_token_property_permissions(b: u32, ) -> Weight {
610 // Proof Size summary in bytes:600 // Proof Size summary in bytes:
611 // Measured: `281`601 // Measured: `314`
612 // Estimated: `20191`602 // Estimated: `20191`
613 // Minimum execution time: 2_300_000 picoseconds.603 // Minimum execution time: 1_457_000 picoseconds.
614 Weight::from_parts(2_382_000, 20191)604 Weight::from_parts(1_563_000, 20191)
615 // Standard Error: 45_076605 // Standard Error: 14_041
616 .saturating_add(Weight::from_parts(12_000_777, 0).saturating_mul(b.into()))606 .saturating_add(Weight::from_parts(8_452_415, 0).saturating_mul(b.into()))
617 .saturating_add(RocksDbWeight::get().reads(1_u64))607 .saturating_add(RocksDbWeight::get().reads(1_u64))
618 .saturating_add(RocksDbWeight::get().writes(1_u64))608 .saturating_add(RocksDbWeight::get().writes(1_u64))
619 }609 }
610 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
611 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
620 /// Storage: Nonfungible TokenProperties (r:1 w:1)612 /// Storage: Nonfungible TokenProperties (r:1 w:1)
621 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)613 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
622 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)614 /// Storage: Nonfungible TokenData (r:1 w:0)
623 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)615 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
624 /// The range of component `b` is `[0, 64]`.616 /// The range of component `b` is `[0, 64]`.
625 fn set_token_properties(b: u32, ) -> Weight {617 fn set_token_properties(b: u32, ) -> Weight {
626 // Proof Size summary in bytes:618 // Proof Size summary in bytes:
627 // Measured: `584 + b * (261 ±0)`619 // Measured: `640 + b * (261 ±0)`
628 // Estimated: `56460`620 // Estimated: `36269`
629 // Minimum execution time: 12_422_000 picoseconds.621 // Minimum execution time: 963_000 picoseconds.
630 Weight::from_parts(5_523_689, 56460)622 Weight::from_parts(1_126_511, 36269)
631 // Standard Error: 74_137623 // Standard Error: 9_175
632 .saturating_add(Weight::from_parts(6_320_501, 0).saturating_mul(b.into()))624 .saturating_add(Weight::from_parts(5_096_011, 0).saturating_mul(b.into()))
633 .saturating_add(RocksDbWeight::get().reads(2_u64))625 .saturating_add(RocksDbWeight::get().reads(3_u64))
634 .saturating_add(RocksDbWeight::get().writes(1_u64))626 .saturating_add(RocksDbWeight::get().writes(1_u64))
635 }627 }
636 /// Storage: Nonfungible TokenProperties (r:1 w:1)628 /// Storage: Nonfungible TokenProperties (r:0 w:1)
637 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)629 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
630 /// The range of component `b` is `[0, 64]`.
631 fn init_token_properties(b: u32, ) -> Weight {
632 // Proof Size summary in bytes:
633 // Measured: `0`
634 // Estimated: `0`
635 // Minimum execution time: 194_000 picoseconds.
636 Weight::from_parts(222_000, 0)
637 // Standard Error: 7_295
638 .saturating_add(Weight::from_parts(4_499_463, 0).saturating_mul(b.into()))
639 .saturating_add(RocksDbWeight::get().writes(1_u64))
640 }
638 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)641 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
639 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)642 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
643 /// Storage: Nonfungible TokenData (r:1 w:0)
644 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
645 /// Storage: Nonfungible TokenProperties (r:1 w:1)
646 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
640 /// The range of component `b` is `[0, 64]`.647 /// The range of component `b` is `[0, 64]`.
641 fn delete_token_properties(b: u32, ) -> Weight {648 fn delete_token_properties(b: u32, ) -> Weight {
642 // Proof Size summary in bytes:649 // Proof Size summary in bytes:
643 // Measured: `589 + b * (33291 ±0)`650 // Measured: `699 + b * (33291 ±0)`
644 // Estimated: `56460`651 // Estimated: `36269`
645 // Minimum execution time: 12_006_000 picoseconds.652 // Minimum execution time: 992_000 picoseconds.
646 Weight::from_parts(12_216_000, 56460)653 Weight::from_parts(1_043_000, 36269)
647 // Standard Error: 83_431654 // Standard Error: 37_370
648 .saturating_add(Weight::from_parts(24_556_999, 0).saturating_mul(b.into()))655 .saturating_add(Weight::from_parts(23_672_870, 0).saturating_mul(b.into()))
649 .saturating_add(RocksDbWeight::get().reads(2_u64))656 .saturating_add(RocksDbWeight::get().reads(3_u64))
650 .saturating_add(RocksDbWeight::get().writes(1_u64))657 .saturating_add(RocksDbWeight::get().writes(1_u64))
651 }658 }
652 /// Storage: Nonfungible TokenData (r:1 w:0)659 /// Storage: Nonfungible TokenData (r:1 w:0)
655 // Proof Size summary in bytes:662 // Proof Size summary in bytes:
656 // Measured: `326`663 // Measured: `326`
657 // Estimated: `3522`664 // Estimated: `3522`
658 // Minimum execution time: 4_827_000 picoseconds.665 // Minimum execution time: 3_743_000 picoseconds.
659 Weight::from_parts(4_984_000, 3522)666 Weight::from_parts(3_908_000, 3522)
660 .saturating_add(RocksDbWeight::get().reads(1_u64))667 .saturating_add(RocksDbWeight::get().reads(1_u64))
661 }668 }
662 /// Storage: Nonfungible CollectionAllowance (r:0 w:1)669 /// Storage: Nonfungible CollectionAllowance (r:0 w:1)
665 // Proof Size summary in bytes:672 // Proof Size summary in bytes:
666 // Measured: `0`673 // Measured: `0`
667 // Estimated: `0`674 // Estimated: `0`
668 // Minimum execution time: 6_151_000 picoseconds.675 // Minimum execution time: 4_106_000 picoseconds.
669 Weight::from_parts(6_394_000, 0)676 Weight::from_parts(4_293_000, 0)
670 .saturating_add(RocksDbWeight::get().writes(1_u64))677 .saturating_add(RocksDbWeight::get().writes(1_u64))
671 }678 }
672 /// Storage: Nonfungible CollectionAllowance (r:1 w:0)679 /// Storage: Nonfungible CollectionAllowance (r:1 w:0)
673 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)680 /// Proof: Nonfungible CollectionAllowance (max_values: None, max_size: Some(111), added: 2586, mode: MaxEncodedLen)
674 fn allowance_for_all() -> Weight {681 fn allowance_for_all() -> Weight {
675 // Proof Size summary in bytes:682 // Proof Size summary in bytes:
676 // Measured: `109`683 // Measured: `142`
677 // Estimated: `3576`684 // Estimated: `3576`
678 // Minimum execution time: 3_791_000 picoseconds.685 // Minimum execution time: 2_775_000 picoseconds.
679 Weight::from_parts(3_950_000, 3576)686 Weight::from_parts(2_923_000, 3576)
680 .saturating_add(RocksDbWeight::get().reads(1_u64))687 .saturating_add(RocksDbWeight::get().reads(1_u64))
681 }688 }
682 /// Storage: Nonfungible TokenProperties (r:1 w:1)689 /// Storage: Nonfungible TokenProperties (r:1 w:1)
683 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)690 /// Proof: Nonfungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
684 fn repair_item() -> Weight {691 fn repair_item() -> Weight {
685 // Proof Size summary in bytes:692 // Proof Size summary in bytes:
686 // Measured: `300`693 // Measured: `279`
687 // Estimated: `36269`694 // Estimated: `36269`
688 // Minimum execution time: 5_364_000 picoseconds.695 // Minimum execution time: 3_033_000 picoseconds.
689 Weight::from_parts(5_539_000, 36269)696 Weight::from_parts(3_174_000, 36269)
690 .saturating_add(RocksDbWeight::get().reads(1_u64))697 .saturating_add(RocksDbWeight::get().reads(1_u64))
691 .saturating_add(RocksDbWeight::get().writes(1_u64))698 .saturating_add(RocksDbWeight::get().writes(1_u64))
692 }699 }
modifiedpallets/refungible/src/benchmarking.rsdiffbeforeafterboth
23use pallet_common::{23use pallet_common::{
24 bench_init,24 bench_init,
25 benchmarking::{create_collection_raw, property_key, property_value},25 benchmarking::{
26 create_collection_raw, property_key, property_value, load_is_admin_and_property_permissions,
27 },
26};28};
27use sp_std::prelude::*;29use sp_std::prelude::*;
255 value: property_value(),257 value: property_value(),
256 }).collect::<Vec<_>>();258 }).collect::<Vec<_>>();
257 let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;259 let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;
258 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?}260 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), &Unlimited)?}
261
262 init_token_properties {
263 let b in 0..MAX_PROPERTIES_PER_ITEM;
264 bench_init!{
265 owner: sub; collection: collection(owner);
266 owner: cross_from_sub;
267 };
268
269 let perms = (0..b).map(|k| PropertyKeyPermission {
270 key: property_key(k as usize),
271 permission: PropertyPermission {
272 mutable: false,
273 collection_admin: true,
274 token_owner: true,
275 },
276 }).collect::<Vec<_>>();
277 <Pallet<T>>::set_token_property_permissions(&collection, &owner, perms)?;
278 let props = (0..b).map(|k| Property {
279 key: property_key(k as usize),
280 value: property_value(),
281 }).collect::<Vec<_>>();
282 let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;
283
284 let (is_collection_admin, property_permissions) = load_is_admin_and_property_permissions(&collection, &owner);
285 }: {
286 let mut property_writer = pallet_common::collection_info_loaded_property_writer(
287 &collection,
288 is_collection_admin,
289 property_permissions,
290 );
291
292 property_writer.write_token_properties(
293 true,
294 item,
295 props.into_iter(),
296 crate::erc::ERC721TokenEvent::TokenChanged {
297 token_id: item.into(),
298 }
299 .to_log(T::ContractAddress::get()),
300 )?
301 }
259302
260 delete_token_properties {303 delete_token_properties {
261 let b in 0..MAX_PROPERTIES_PER_ITEM;304 let b in 0..MAX_PROPERTIES_PER_ITEM;
277 value: property_value(),320 value: property_value(),
278 }).collect::<Vec<_>>();321 }).collect::<Vec<_>>();
279 let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;322 let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;
280 <Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?;323 <Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), &Unlimited)?;
281 let to_delete = (0..b).map(|k| property_key(k as usize)).collect::<Vec<_>>();324 let to_delete = (0..b).map(|k| property_key(k as usize)).collect::<Vec<_>>();
282 }: {<Pallet<T>>::delete_token_properties(&collection, &owner, item, to_delete.into_iter(), &Unlimited)?}325 }: {<Pallet<T>>::delete_token_properties(&collection, &owner, item, to_delete.into_iter(), &Unlimited)?}
283326
modifiedpallets/refungible/src/common.rsdiffbeforeafterboth
20use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, traits::Get};20use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, traits::Get};
21use up_data_structs::{21use up_data_structs::{
22 CollectionId, TokenId, CreateItemExData, budget::Budget, Property, PropertyKey, PropertyValue,22 CollectionId, TokenId, CreateItemExData, budget::Budget, Property, PropertyKey, PropertyValue,
23 PropertyKeyPermission, CollectionPropertiesVec, CreateRefungibleExMultipleOwners,23 PropertyKeyPermission, CreateRefungibleExMultipleOwners, CreateRefungibleExSingleOwner,
24 CreateRefungibleExSingleOwner, TokenOwnerError,24 TokenOwnerError,
25};25};
26use pallet_common::{26use pallet_common::{
27 CommonCollectionOperations, CommonWeightInfo, RefungibleExtensions, with_weight,27 CommonCollectionOperations, CommonWeightInfo, RefungibleExtensions, with_weight,
28 weights::WeightInfo as _,28 weights::WeightInfo as _, init_token_properties_delta,
29};29};
30use pallet_structure::Error as StructureError;30use pallet_structure::{Pallet as PalletStructure, Error as StructureError};
31use sp_runtime::{DispatchError};31use sp_runtime::{DispatchError};
32use sp_std::{vec::Vec, vec};32use sp_std::{vec::Vec, vec};
3333
34use crate::{34use crate::{
35 AccountBalance, Allowance, Balance, Config, Error, Owned, Pallet, RefungibleHandle,35 AccountBalance, Allowance, Balance, Config, Error, Owned, Pallet, RefungibleHandle,
36 SelfWeightOf, weights::WeightInfo, TokensMinted, TotalSupply, CreateItemData,36 SelfWeightOf, weights::WeightInfo, TokensMinted, TotalSupply, CreateItemData, TokenProperties,
37};37};
3838
39macro_rules! max_weight_of {39macro_rules! max_weight_of {
45 };45 };
46}46}
47
48fn properties_weight<T: Config>(properties: &CollectionPropertiesVec) -> Weight {
49 if properties.len() > 0 {
50 <CommonWeights<T>>::set_token_properties(properties.len() as u32)
51 } else {
52 Weight::zero()
53 }
54}
5547
56pub struct CommonWeights<T: Config>(PhantomData<T>);48pub struct CommonWeights<T: Config>(PhantomData<T>);
57impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {49impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {
58 fn create_multiple_items(data: &[up_data_structs::CreateItemData]) -> Weight {50 fn create_multiple_items(data: &[up_data_structs::CreateItemData]) -> Weight {
59 <SelfWeightOf<T>>::create_multiple_items(data.len() as u32).saturating_add(51 <SelfWeightOf<T>>::create_multiple_items(data.len() as u32).saturating_add(
52 init_token_properties_delta::<T, _>(
60 data.iter()53 data.iter().map(|data| match data {
61 .map(|data| match data {
62 up_data_structs::CreateItemData::ReFungible(rft_data) => {54 up_data_structs::CreateItemData::ReFungible(rft_data) => {
63 properties_weight::<T>(&rft_data.properties)55 rft_data.properties.len() as u32
64 }56 }
65 _ => Weight::zero(),57 _ => 0,
66 })58 }),
67 .fold(Weight::zero(), |a, b| a.saturating_add(b)),59 <SelfWeightOf<T>>::init_token_properties,
60 ),
68 )61 )
69 }62 }
7063
71 fn create_multiple_items_ex(call: &CreateItemExData<T::CrossAccountId>) -> Weight {64 fn create_multiple_items_ex(call: &CreateItemExData<T::CrossAccountId>) -> Weight {
72 match call {65 match call {
73 CreateItemExData::RefungibleMultipleOwners(i) => {66 CreateItemExData::RefungibleMultipleOwners(i) => {
74 <SelfWeightOf<T>>::create_multiple_items_ex_multiple_owners(i.users.len() as u32)67 <SelfWeightOf<T>>::create_multiple_items_ex_multiple_owners(i.users.len() as u32)
75 .saturating_add(properties_weight::<T>(&i.properties))68 .saturating_add(init_token_properties_delta::<T, _>(
69 [i.properties.len() as u32].into_iter(),
70 <SelfWeightOf<T>>::init_token_properties,
71 ))
76 }72 }
77 CreateItemExData::RefungibleMultipleItems(i) => {73 CreateItemExData::RefungibleMultipleItems(i) => {
78 <SelfWeightOf<T>>::create_multiple_items_ex_multiple_items(i.len() as u32)74 <SelfWeightOf<T>>::create_multiple_items_ex_multiple_items(i.len() as u32)
79 .saturating_add(75 .saturating_add(init_token_properties_delta::<T, _>(
80 i.iter()76 i.iter().map(|d| d.properties.len() as u32),
81 .map(|d| properties_weight::<T>(&d.properties))
82 .fold(Weight::zero(), |a, b| a.saturating_add(b)),77 <SelfWeightOf<T>>::init_token_properties,
83 )78 ))
84 }79 }
85 _ => Weight::zero(),80 _ => Weight::zero(),
86 }81 }
399 &sender,394 &sender,
400 token_id,395 token_id,
401 properties.into_iter(),396 properties.into_iter(),
402 pallet_common::SetPropertyMode::ExistingToken,
403 nesting_budget,397 nesting_budget,
404 ),398 ),
405 weight,399 weight,
441 )435 )
442 }436 }
437
438 fn get_token_properties_raw(
439 &self,
440 token_id: TokenId,
441 ) -> Option<up_data_structs::TokenProperties> {
442 <TokenProperties<T>>::get((self.id, token_id))
443 }
444
445 fn set_token_properties_raw(&self, token_id: TokenId, map: up_data_structs::TokenProperties) {
446 <TokenProperties<T>>::insert((self.id, token_id), map)
447 }
443448
444 fn check_nesting(449 fn check_nesting(
445 &self,450 &self,
479 <Pallet<T>>::token_owner(self.id, token)484 <Pallet<T>>::token_owner(self.id, token)
480 }485 }
486
487 fn check_token_indirect_owner(
488 &self,
489 token: TokenId,
490 maybe_owner: &T::CrossAccountId,
491 nesting_budget: &dyn Budget,
492 ) -> Result<bool, DispatchError> {
493 let balance = self.balance(maybe_owner.clone(), token);
494 let total_pieces: u128 = <Pallet<T>>::total_pieces(self.id, token).unwrap_or(u128::MAX);
495 if balance != total_pieces {
496 return Ok(false);
497 }
498
499 let is_bundle_owner = <PalletStructure<T>>::check_indirectly_owned(
500 maybe_owner.clone(),
501 self.id,
502 token,
503 None,
504 nesting_budget,
505 )?;
506
507 Ok(is_bundle_owner)
508 }
481509
482 /// Returns 10 token in no particular order.510 /// Returns 10 token in no particular order.
483 fn token_owners(&self, token: TokenId) -> Vec<T::CrossAccountId> {511 fn token_owners(&self, token: TokenId) -> Vec<T::CrossAccountId> {
484 <Pallet<T>>::token_owners(self.id, token).unwrap_or_default()512 <Pallet<T>>::token_owners(self.id, token).unwrap_or_default()
485 }513 }
486514
487 fn token_property(&self, token_id: TokenId, key: &PropertyKey) -> Option<PropertyValue> {515 fn token_property(&self, token_id: TokenId, key: &PropertyKey) -> Option<PropertyValue> {
488 <Pallet<T>>::token_properties((self.id, token_id))516 <Pallet<T>>::token_properties((self.id, token_id))?
489 .get(key)517 .get(key)
490 .cloned()518 .cloned()
491 }519 }
492520
493 fn token_properties(&self, token_id: TokenId, keys: Option<Vec<PropertyKey>>) -> Vec<Property> {521 fn token_properties(&self, token_id: TokenId, keys: Option<Vec<PropertyKey>>) -> Vec<Property> {
494 let properties = <Pallet<T>>::token_properties((self.id, token_id));522 let Some(properties) = <Pallet<T>>::token_properties((self.id, token_id)) else {
523 return vec![];
524 };
495525
496 keys.map(|keys| {526 keys.map(|keys| {
497 keys.into_iter()527 keys.into_iter()
modifiedpallets/refungible/src/erc.rsdiffbeforeafterboth
214 &caller,214 &caller,
215 TokenId(token_id),215 TokenId(token_id),
216 properties.into_iter(),216 properties.into_iter(),
217 pallet_common::SetPropertyMode::ExistingToken,
218 &nesting_budget,217 &nesting_budget,
219 )218 )
220 .map_err(dispatch_to_evm::<T>)219 .map_err(dispatch_to_evm::<T>)
285 .map_err(|_| "key too long")?;284 .map_err(|_| "key too long")?;
286285
287 let props = <TokenProperties<T>>::get((self.id, token_id));286 let props =
287 <TokenProperties<T>>::get((self.id, token_id)).ok_or("token properties not found")?;
288 let prop = props.get(&key).ok_or("key not found")?;288 let prop = props.get(&key).ok_or("key not found")?;
289289
290 Ok(prop.to_vec().into())290 Ok(prop.to_vec().into())
372 .transpose()372 .transpose()
373 .map_err(|e| {373 .map_err(|e| {
374 Error::Revert(alloc::format!(374 Error::Revert(alloc::format!(
375 "Can not convert value \"baseURI\" to string with error \"{e}\""375 "can not convert value \"baseURI\" to string with error \"{e}\""
376 ))376 ))
377 })?;377 })?;
378378
697 let key = key::url();697 let key = key::url();
698 let permission = get_token_permission::<T>(self.id, &key)?;698 let permission = get_token_permission::<T>(self.id, &key)?;
699 if !permission.collection_admin {699 if !permission.collection_admin {
700 return Err("Operation is not allowed".into());700 return Err("operation is not allowed".into());
701 }701 }
702702
703 let caller = T::CrossAccountId::from_eth(caller);703 let caller = T::CrossAccountId::from_eth(caller);
724 .try_into()724 .try_into()
725 .map_err(|_| "token uri is too long")?,725 .map_err(|_| "token uri is too long")?,
726 })726 })
727 .map_err(|e| Error::Revert(alloc::format!("Can't add property: {e:?}")))?;727 .map_err(|e| Error::Revert(alloc::format!("can't add property: {e:?}")))?;
728728
729 let users = [(to, 1)]729 let users = [(to, 1)]
730 .into_iter()730 .into_iter()
749) -> Result<String> {749) -> Result<String> {
750 collection.consume_store_reads(1)?;750 collection.consume_store_reads(1)?;
751 let properties = <TokenProperties<T>>::try_get((collection.id, token_id))751 let properties = <TokenProperties<T>>::try_get((collection.id, token_id))
752 .map_err(|_| Error::Revert("Token properties not found".into()))?;752 .map_err(|_| Error::Revert("token properties not found".into()))?;
753 if let Some(property) = properties.get(key) {753 if let Some(property) = properties.get(key) {
754 return Ok(String::from_utf8_lossy(property).into());754 return Ok(String::from_utf8_lossy(property).into());
755 }755 }
756756
757 Err("Property tokenURI not found".into())757 Err("property tokenURI not found".into())
758}758}
759759
760fn get_token_permission<T: Config>(760fn get_token_permission<T: Config>(
761 collection_id: CollectionId,761 collection_id: CollectionId,
762 key: &PropertyKey,762 key: &PropertyKey,
763) -> Result<PropertyPermission> {763) -> Result<PropertyPermission> {
764 let token_property_permissions = CollectionPropertyPermissions::<T>::try_get(collection_id)764 let token_property_permissions = CollectionPropertyPermissions::<T>::try_get(collection_id)
765 .map_err(|_| Error::Revert("No permissions for collection".into()))?;765 .map_err(|_| Error::Revert("no permissions for collection".into()))?;
766 let a = token_property_permissions766 let a = token_property_permissions
767 .get(key)767 .get(key)
768 .map(Clone::clone)768 .map(Clone::clone)
769 .ok_or_else(|| {769 .ok_or_else(|| {
770 let key = String::from_utf8(key.clone().into_inner()).unwrap_or_default();770 let key = String::from_utf8(key.clone().into_inner()).unwrap_or_default();
771 Error::Revert(alloc::format!("No permission for key {key}"))771 Error::Revert(alloc::format!("no permission for key {key}"))
772 })?;772 })?;
773 Ok(a)773 Ok(a)
774}774}
1133 .try_into()1133 .try_into()
1134 .map_err(|_| "token uri is too long")?,1134 .map_err(|_| "token uri is too long")?,
1135 })1135 })
1136 .map_err(|e| Error::Revert(alloc::format!("Can't add property: {e:?}")))?;1136 .map_err(|e| Error::Revert(alloc::format!("can't add property: {e:?}")))?;
11371137
1138 let create_item_data = CreateItemData::<T> {1138 let create_item_data = CreateItemData::<T> {
1139 users: users.clone(),1139 users: users.clone(),
modifiedpallets/refungible/src/lib.rsdiffbeforeafterboth
96use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};96use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};
97use pallet_evm_coder_substrate::WithRecorder;97use pallet_evm_coder_substrate::WithRecorder;
98use pallet_common::{98use pallet_common::{
99 CommonCollectionOperations, Error as CommonError, eth::collection_id_to_address,99 Error as CommonError, eth::collection_id_to_address, Event as CommonEvent,
100 Event as CommonEvent, Pallet as PalletCommon, SetPropertyMode,100 Pallet as PalletCommon,
101};101};
102use pallet_structure::Pallet as PalletStructure;102use pallet_structure::Pallet as PalletStructure;
103use sp_core::{Get, H160};103use sp_core::{Get, H160};
106use up_data_structs::{106use up_data_structs::{
107 AccessMode, budget::Budget, CollectionId, CreateCollectionData, mapping::TokenAddressMapping,107 AccessMode, budget::Budget, CollectionId, CreateCollectionData, mapping::TokenAddressMapping,
108 MAX_REFUNGIBLE_PIECES, Property, PropertyKey, PropertyKeyPermission, PropertyScope,108 MAX_REFUNGIBLE_PIECES, Property, PropertyKey, PropertyKeyPermission, PropertyScope,
109 PropertyValue, TokenId, TrySetProperty, PropertiesPermissionMap,109 PropertyValue, TokenId, PropertiesPermissionMap, CreateRefungibleExMultipleOwners,
110 CreateRefungibleExMultipleOwners, TokenOwnerError, TokenProperties as TokenPropertiesT,110 TokenOwnerError, TokenProperties as TokenPropertiesT,
111};111};
112112
175 pub type TokenProperties<T: Config> = StorageNMap<175 pub type TokenProperties<T: Config> = StorageNMap<
176 Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),176 Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
177 Value = TokenPropertiesT,177 Value = TokenPropertiesT,
178 QueryKind = ValueQuery,178 QueryKind = OptionQuery,
179 >;179 >;
180180
181 /// Total amount of pieces for token181 /// Total amount of pieces for token
294 <TotalSupply<T>>::contains_key((collection.id, token))294 <TotalSupply<T>>::contains_key((collection.id, token))
295 }295 }
296
297 pub fn set_scoped_token_property(
298 collection_id: CollectionId,
299 token_id: TokenId,
300 scope: PropertyScope,
301 property: Property,
302 ) -> DispatchResult {
303 TokenProperties::<T>::try_mutate((collection_id, token_id), |properties| {
304 properties.try_scoped_set(scope, property.key, property.value)
305 })
306 .map_err(<CommonError<T>>::from)?;
307
308 Ok(())
309 }
310
311 pub fn set_scoped_token_properties(
312 collection_id: CollectionId,
313 token_id: TokenId,
314 scope: PropertyScope,
315 properties: impl Iterator<Item = Property>,
316 ) -> DispatchResult {
317 TokenProperties::<T>::try_mutate((collection_id, token_id), |stored_properties| {
318 stored_properties.try_scoped_set_from_iter(scope, properties)
319 })
320 .map_err(<CommonError<T>>::from)?;
321
322 Ok(())
323 }
324}296}
325297
326// unchecked calls skips any permission checks298// unchecked calls skips any permission checks
533 sender: &T::CrossAccountId,505 sender: &T::CrossAccountId,
534 token_id: TokenId,506 token_id: TokenId,
535 properties_updates: impl Iterator<Item = (PropertyKey, Option<PropertyValue>)>,507 properties_updates: impl Iterator<Item = (PropertyKey, Option<PropertyValue>)>,
536 mode: SetPropertyMode,
537 nesting_budget: &dyn Budget,508 nesting_budget: &dyn Budget,
538 ) -> DispatchResult {509 ) -> DispatchResult {
539 let mut is_token_owner =510 let mut property_writer =
540 pallet_common::LazyValue::new(|| -> Result<bool, DispatchError> {511 pallet_common::property_writer_for_existing_token(collection, sender);
541 if let SetPropertyMode::NewToken {
542 mint_target_is_sender,
543 } = mode
544 {
545 return Ok(mint_target_is_sender);
546 }
547
548 let balance = collection.balance(sender.clone(), token_id);
549 let total_pieces: u128 =
550 Self::total_pieces(collection.id, token_id).unwrap_or(u128::MAX);
551 if balance != total_pieces {
552 return Ok(false);
553 }
554
555 let is_bundle_owner = <PalletStructure<T>>::check_indirectly_owned(
556 sender.clone(),
557 collection.id,
558 token_id,
559 None,
560 nesting_budget,
561 )?;
562
563 Ok(is_bundle_owner)
564 });
565
566 let mut is_token_exist =
567 pallet_common::LazyValue::new(|| Self::token_exists(collection, token_id));
568
569 let stored_properties = <TokenProperties<T>>::get((collection.id, token_id));
570512
571 <PalletCommon<T>>::modify_token_properties(513 property_writer.write_token_properties(
572 collection,
573 sender,514 sender,
574 token_id,515 token_id,
575 &mut is_token_exist,
576 properties_updates,516 properties_updates,
577 stored_properties,517 nesting_budget,
578 &mut is_token_owner,
579 |properties| <TokenProperties<T>>::set((collection.id, token_id), properties),
580 erc::ERC721TokenEvent::TokenChanged {518 erc::ERC721TokenEvent::TokenChanged {
581 token_id: token_id.into(),519 token_id: token_id.into(),
582 }520 }
602 sender: &T::CrossAccountId,540 sender: &T::CrossAccountId,
603 token_id: TokenId,541 token_id: TokenId,
604 properties: impl Iterator<Item = Property>,542 properties: impl Iterator<Item = Property>,
605 mode: SetPropertyMode,
606 nesting_budget: &dyn Budget,543 nesting_budget: &dyn Budget,
607 ) -> DispatchResult {544 ) -> DispatchResult {
608 Self::modify_token_properties(545 Self::modify_token_properties(
609 collection,546 collection,
610 sender,547 sender,
611 token_id,548 token_id,
612 properties.map(|p| (p.key, Some(p.value))),549 properties.map(|p| (p.key, Some(p.value))),
613 mode,
614 nesting_budget,550 nesting_budget,
615 )551 )
616 }552 }
627 sender,563 sender,
628 token_id,564 token_id,
629 [property].into_iter(),565 [property].into_iter(),
630 SetPropertyMode::ExistingToken,
631 nesting_budget,566 nesting_budget,
632 )567 )
633 }568 }
644 sender,579 sender,
645 token_id,580 token_id,
646 property_keys.into_iter().map(|key| (key, None)),581 property_keys.into_iter().map(|key| (key, None)),
647 SetPropertyMode::ExistingToken,
648 nesting_budget,582 nesting_budget,
649 )583 )
650 }584 }
925859
926 // =========860 // =========
861
862 let mut property_writer = pallet_common::property_writer_for_new_token(collection, sender);
927863
928 with_transaction(|| {864 with_transaction(|| {
929 for (i, data) in data.iter().enumerate() {865 for (i, data) in data.iter().enumerate() {
930 let token_id = first_token_id + i as u32 + 1;866 let token_id = first_token_id + i as u32 + 1;
931 <TotalSupply<T>>::insert((collection.id, token_id), totals[i]);867 <TotalSupply<T>>::insert((collection.id, token_id), totals[i]);
868
869 let token = TokenId(token_id);
932870
933 let mut mint_target_is_sender = true;871 let mut mint_target_is_sender = true;
934 for (user, amount) in data.users.iter() {872 for (user, amount) in data.users.iter() {
939 mint_target_is_sender = mint_target_is_sender && sender.conv_eq(user);877 mint_target_is_sender = mint_target_is_sender && sender.conv_eq(user);
940878
941 <Balance<T>>::insert((collection.id, token_id, &user), amount);879 <Balance<T>>::insert((collection.id, token_id, &user), amount);
942 <Owned<T>>::insert((collection.id, &user, TokenId(token_id)), true);880 <Owned<T>>::insert((collection.id, &user, token), true);
943 <PalletStructure<T>>::nest_if_sent_to_token_unchecked(881 <PalletStructure<T>>::nest_if_sent_to_token_unchecked(
944 user,882 user,
945 collection.id,883 collection.id,
946 TokenId(token_id),884 token,
947 );885 );
948 }886 }
949887
950 if let Err(e) = Self::set_token_properties(888 if let Err(e) = property_writer.write_token_properties(
951 collection,889 mint_target_is_sender,
952 sender,890 token,
953 TokenId(token_id),
954 data.properties.clone().into_iter(),891 data.properties.clone().into_iter(),
955 SetPropertyMode::NewToken {892 erc::ERC721TokenEvent::TokenChanged {
956 mint_target_is_sender,893 token_id: token.into(),
957 },894 }
958 nesting_budget,895 .to_log(T::ContractAddress::get()),
959 ) {896 ) {
960 return TransactionOutcome::Rollback(Err(e));897 return TransactionOutcome::Rollback(Err(e));
961 }898 }
14611398
1462 pub fn repair_item(collection: &RefungibleHandle<T>, token: TokenId) -> DispatchResult {1399 pub fn repair_item(collection: &RefungibleHandle<T>, token: TokenId) -> DispatchResult {
1463 <TokenProperties<T>>::mutate((collection.id, token), |properties| {1400 <TokenProperties<T>>::mutate((collection.id, token), |properties| {
1401 if let Some(properties) = properties {
1464 properties.recompute_consumed_space();1402 properties.recompute_consumed_space();
1465 });1403 }
1404 });
14661405
1467 Ok(())1406 Ok(())
modifiedpallets/refungible/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_refungible3//! Autogenerated weights for pallet_refungible
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-30, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/refungible/src/weights.rs25// --output=./pallets/refungible/src/weights.rs
2626
52 fn burn_from() -> Weight;52 fn burn_from() -> Weight;
53 fn set_token_property_permissions(b: u32, ) -> Weight;53 fn set_token_property_permissions(b: u32, ) -> Weight;
54 fn set_token_properties(b: u32, ) -> Weight;54 fn set_token_properties(b: u32, ) -> Weight;
55 fn init_token_properties(b: u32, ) -> Weight;
55 fn delete_token_properties(b: u32, ) -> Weight;56 fn delete_token_properties(b: u32, ) -> Weight;
56 fn repartition_item() -> Weight;57 fn repartition_item() -> Weight;
57 fn token_owner() -> Weight;58 fn token_owner() -> Weight;
67 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)68 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
68 /// Storage: Refungible AccountBalance (r:1 w:1)69 /// Storage: Refungible AccountBalance (r:1 w:1)
69 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)70 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
70 /// Storage: Refungible TokenProperties (r:1 w:1)
71 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
72 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
73 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
74 /// Storage: Refungible Balance (r:0 w:1)71 /// Storage: Refungible Balance (r:0 w:1)
75 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)72 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
76 /// Storage: Refungible TotalSupply (r:0 w:1)73 /// Storage: Refungible TotalSupply (r:0 w:1)
79 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)76 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
80 fn create_item() -> Weight {77 fn create_item() -> Weight {
81 // Proof Size summary in bytes:78 // Proof Size summary in bytes:
82 // Measured: `285`79 // Measured: `4`
83 // Estimated: `63471`80 // Estimated: `3530`
84 // Minimum execution time: 30_759_000 picoseconds.81 // Minimum execution time: 11_341_000 picoseconds.
85 Weight::from_parts(31_321_000, 63471)82 Weight::from_parts(11_741_000, 3530)
86 .saturating_add(T::DbWeight::get().reads(4_u64))83 .saturating_add(T::DbWeight::get().reads(2_u64))
87 .saturating_add(T::DbWeight::get().writes(6_u64))84 .saturating_add(T::DbWeight::get().writes(5_u64))
88 }85 }
89 /// Storage: Refungible TokensMinted (r:1 w:1)86 /// Storage: Refungible TokensMinted (r:1 w:1)
90 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)87 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
91 /// Storage: Refungible AccountBalance (r:1 w:1)88 /// Storage: Refungible AccountBalance (r:1 w:1)
92 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)89 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
93 /// Storage: Refungible TokenProperties (r:200 w:200)
94 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
95 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
96 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
97 /// Storage: Refungible Balance (r:0 w:200)90 /// Storage: Refungible Balance (r:0 w:200)
98 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)91 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
99 /// Storage: Refungible TotalSupply (r:0 w:200)92 /// Storage: Refungible TotalSupply (r:0 w:200)
103 /// The range of component `b` is `[0, 200]`.96 /// The range of component `b` is `[0, 200]`.
104 fn create_multiple_items(b: u32, ) -> Weight {97 fn create_multiple_items(b: u32, ) -> Weight {
105 // Proof Size summary in bytes:98 // Proof Size summary in bytes:
106 // Measured: `285`99 // Measured: `4`
107 // Estimated: `28192 + b * (35279 ±0)`100 // Estimated: `3530`
108 // Minimum execution time: 4_024_000 picoseconds.101 // Minimum execution time: 2_665_000 picoseconds.
109 Weight::from_parts(4_145_000, 28192)102 Weight::from_parts(2_791_000, 3530)
110 // Standard Error: 3_332103 // Standard Error: 996
111 .saturating_add(Weight::from_parts(8_967_757, 0).saturating_mul(b.into()))104 .saturating_add(Weight::from_parts(4_343_736, 0).saturating_mul(b.into()))
112 .saturating_add(T::DbWeight::get().reads(3_u64))105 .saturating_add(T::DbWeight::get().reads(2_u64))
113 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into())))
114 .saturating_add(T::DbWeight::get().writes(2_u64))106 .saturating_add(T::DbWeight::get().writes(2_u64))
115 .saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(b.into())))107 .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(b.into())))
116 .saturating_add(Weight::from_parts(0, 35279).saturating_mul(b.into()))
117 }108 }
118 /// Storage: Refungible TokensMinted (r:1 w:1)109 /// Storage: Refungible TokensMinted (r:1 w:1)
119 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)110 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
120 /// Storage: Refungible AccountBalance (r:200 w:200)111 /// Storage: Refungible AccountBalance (r:200 w:200)
121 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)112 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
122 /// Storage: Refungible TokenProperties (r:200 w:200)
123 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
124 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
125 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
126 /// Storage: Refungible Balance (r:0 w:200)113 /// Storage: Refungible Balance (r:0 w:200)
127 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)114 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
128 /// Storage: Refungible TotalSupply (r:0 w:200)115 /// Storage: Refungible TotalSupply (r:0 w:200)
132 /// The range of component `b` is `[0, 200]`.119 /// The range of component `b` is `[0, 200]`.
133 fn create_multiple_items_ex_multiple_items(b: u32, ) -> Weight {120 fn create_multiple_items_ex_multiple_items(b: u32, ) -> Weight {
134 // Proof Size summary in bytes:121 // Proof Size summary in bytes:
135 // Measured: `285`122 // Measured: `4`
136 // Estimated: `25652 + b * (37819 ±0)`123 // Estimated: `3481 + b * (2540 ±0)`
137 // Minimum execution time: 3_715_000 picoseconds.124 // Minimum execution time: 2_616_000 picoseconds.
138 Weight::from_parts(3_881_000, 25652)125 Weight::from_parts(2_726_000, 3481)
139 // Standard Error: 3_275126 // Standard Error: 665
140 .saturating_add(Weight::from_parts(10_525_271, 0).saturating_mul(b.into()))127 .saturating_add(Weight::from_parts(5_554_066, 0).saturating_mul(b.into()))
141 .saturating_add(T::DbWeight::get().reads(2_u64))128 .saturating_add(T::DbWeight::get().reads(1_u64))
142 .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(b.into())))129 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into())))
143 .saturating_add(T::DbWeight::get().writes(1_u64))130 .saturating_add(T::DbWeight::get().writes(1_u64))
144 .saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(b.into())))131 .saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(b.into())))
145 .saturating_add(Weight::from_parts(0, 37819).saturating_mul(b.into()))132 .saturating_add(Weight::from_parts(0, 2540).saturating_mul(b.into()))
146 }133 }
147 /// Storage: Refungible TokensMinted (r:1 w:1)134 /// Storage: Refungible TokensMinted (r:1 w:1)
148 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)135 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
149 /// Storage: Refungible AccountBalance (r:200 w:200)136 /// Storage: Refungible AccountBalance (r:200 w:200)
150 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)137 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
151 /// Storage: Refungible TokenProperties (r:1 w:1)
152 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
153 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
154 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
155 /// Storage: Refungible Balance (r:0 w:200)138 /// Storage: Refungible Balance (r:0 w:200)
156 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)139 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
157 /// Storage: Refungible TotalSupply (r:0 w:1)140 /// Storage: Refungible TotalSupply (r:0 w:1)
161 /// The range of component `b` is `[0, 200]`.144 /// The range of component `b` is `[0, 200]`.
162 fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight {145 fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight {
163 // Proof Size summary in bytes:146 // Proof Size summary in bytes:
164 // Measured: `285`147 // Measured: `4`
165 // Estimated: `60931 + b * (2540 ±0)`148 // Estimated: `3481 + b * (2540 ±0)`
166 // Minimum execution time: 13_150_000 picoseconds.149 // Minimum execution time: 3_697_000 picoseconds.
167 Weight::from_parts(15_655_930, 60931)150 Weight::from_parts(2_136_481, 3481)
168 // Standard Error: 4_170151 // Standard Error: 567
169 .saturating_add(Weight::from_parts(5_673_702, 0).saturating_mul(b.into()))152 .saturating_add(Weight::from_parts(4_390_621, 0).saturating_mul(b.into()))
170 .saturating_add(T::DbWeight::get().reads(3_u64))153 .saturating_add(T::DbWeight::get().reads(1_u64))
171 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into())))154 .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into())))
172 .saturating_add(T::DbWeight::get().writes(3_u64))155 .saturating_add(T::DbWeight::get().writes(2_u64))
173 .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(b.into())))156 .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(b.into())))
174 .saturating_add(Weight::from_parts(0, 2540).saturating_mul(b.into()))157 .saturating_add(Weight::from_parts(0, 2540).saturating_mul(b.into()))
175 }158 }
183 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)166 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
184 fn burn_item_partial() -> Weight {167 fn burn_item_partial() -> Weight {
185 // Proof Size summary in bytes:168 // Proof Size summary in bytes:
186 // Measured: `490`169 // Measured: `456`
187 // Estimated: `15717`170 // Estimated: `8682`
188 // Minimum execution time: 28_992_000 picoseconds.171 // Minimum execution time: 22_859_000 picoseconds.
189 Weight::from_parts(29_325_000, 15717)172 Weight::from_parts(23_295_000, 8682)
190 .saturating_add(T::DbWeight::get().reads(5_u64))173 .saturating_add(T::DbWeight::get().reads(5_u64))
191 .saturating_add(T::DbWeight::get().writes(4_u64))174 .saturating_add(T::DbWeight::get().writes(4_u64))
192 }175 }
204 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)187 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
205 fn burn_item_fully() -> Weight {188 fn burn_item_fully() -> Weight {
206 // Proof Size summary in bytes:189 // Proof Size summary in bytes:
207 // Measured: `375`190 // Measured: `341`
208 // Estimated: `14070`191 // Estimated: `3554`
209 // Minimum execution time: 27_980_000 picoseconds.192 // Minimum execution time: 21_477_000 picoseconds.
210 Weight::from_parts(28_582_000, 14070)193 Weight::from_parts(22_037_000, 3554)
211 .saturating_add(T::DbWeight::get().reads(4_u64))194 .saturating_add(T::DbWeight::get().reads(4_u64))
212 .saturating_add(T::DbWeight::get().writes(6_u64))195 .saturating_add(T::DbWeight::get().writes(6_u64))
213 }196 }
217 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)200 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
218 fn transfer_normal() -> Weight {201 fn transfer_normal() -> Weight {
219 // Proof Size summary in bytes:202 // Proof Size summary in bytes:
220 // Measured: `398`203 // Measured: `365`
221 // Estimated: `9623`204 // Estimated: `6118`
222 // Minimum execution time: 18_746_000 picoseconds.205 // Minimum execution time: 13_714_000 picoseconds.
223 Weight::from_parts(19_096_000, 9623)206 Weight::from_parts(14_050_000, 6118)
224 .saturating_add(T::DbWeight::get().reads(3_u64))207 .saturating_add(T::DbWeight::get().reads(3_u64))
225 .saturating_add(T::DbWeight::get().writes(2_u64))208 .saturating_add(T::DbWeight::get().writes(2_u64))
226 }209 }
234 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)217 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
235 fn transfer_creating() -> Weight {218 fn transfer_creating() -> Weight {
236 // Proof Size summary in bytes:219 // Proof Size summary in bytes:
237 // Measured: `375`220 // Measured: `341`
238 // Estimated: `13153`221 // Estimated: `6118`
239 // Minimum execution time: 21_719_000 picoseconds.222 // Minimum execution time: 15_879_000 picoseconds.
240 Weight::from_parts(22_219_000, 13153)223 Weight::from_parts(16_266_000, 6118)
241 .saturating_add(T::DbWeight::get().reads(4_u64))224 .saturating_add(T::DbWeight::get().reads(4_u64))
242 .saturating_add(T::DbWeight::get().writes(4_u64))225 .saturating_add(T::DbWeight::get().writes(4_u64))
243 }226 }
251 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)234 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
252 fn transfer_removing() -> Weight {235 fn transfer_removing() -> Weight {
253 // Proof Size summary in bytes:236 // Proof Size summary in bytes:
254 // Measured: `490`237 // Measured: `456`
255 // Estimated: `13153`238 // Estimated: `6118`
256 // Minimum execution time: 24_784_000 picoseconds.239 // Minimum execution time: 18_186_000 picoseconds.
257 Weight::from_parts(25_231_000, 13153)240 Weight::from_parts(18_682_000, 6118)
258 .saturating_add(T::DbWeight::get().reads(4_u64))241 .saturating_add(T::DbWeight::get().reads(4_u64))
259 .saturating_add(T::DbWeight::get().writes(4_u64))242 .saturating_add(T::DbWeight::get().writes(4_u64))
260 }243 }
268 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)251 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
269 fn transfer_creating_removing() -> Weight {252 fn transfer_creating_removing() -> Weight {
270 // Proof Size summary in bytes:253 // Proof Size summary in bytes:
271 // Measured: `375`254 // Measured: `341`
272 // Estimated: `15693`255 // Estimated: `6118`
273 // Minimum execution time: 24_865_000 picoseconds.256 // Minimum execution time: 17_943_000 picoseconds.
274 Weight::from_parts(25_253_000, 15693)257 Weight::from_parts(18_333_000, 6118)
275 .saturating_add(T::DbWeight::get().reads(5_u64))258 .saturating_add(T::DbWeight::get().reads(5_u64))
276 .saturating_add(T::DbWeight::get().writes(6_u64))259 .saturating_add(T::DbWeight::get().writes(6_u64))
277 }260 }
281 /// Proof: Refungible Allowance (max_values: None, max_size: Some(105), added: 2580, mode: MaxEncodedLen)264 /// Proof: Refungible Allowance (max_values: None, max_size: Some(105), added: 2580, mode: MaxEncodedLen)
282 fn approve() -> Weight {265 fn approve() -> Weight {
283 // Proof Size summary in bytes:266 // Proof Size summary in bytes:
284 // Measured: `256`267 // Measured: `223`
285 // Estimated: `3554`268 // Estimated: `3554`
286 // Minimum execution time: 12_318_000 picoseconds.269 // Minimum execution time: 8_391_000 picoseconds.
287 Weight::from_parts(12_597_000, 3554)270 Weight::from_parts(8_637_000, 3554)
288 .saturating_add(T::DbWeight::get().reads(1_u64))271 .saturating_add(T::DbWeight::get().reads(1_u64))
289 .saturating_add(T::DbWeight::get().writes(1_u64))272 .saturating_add(T::DbWeight::get().writes(1_u64))
290 }273 }
294 /// Proof: Refungible Allowance (max_values: None, max_size: Some(105), added: 2580, mode: MaxEncodedLen)277 /// Proof: Refungible Allowance (max_values: None, max_size: Some(105), added: 2580, mode: MaxEncodedLen)
295 fn approve_from() -> Weight {278 fn approve_from() -> Weight {
296 // Proof Size summary in bytes:279 // Proof Size summary in bytes:
297 // Measured: `244`280 // Measured: `211`
298 // Estimated: `3554`281 // Estimated: `3554`
299 // Minimum execution time: 12_276_000 picoseconds.282 // Minimum execution time: 8_519_000 picoseconds.
300 Weight::from_parts(12_557_000, 3554)283 Weight::from_parts(8_760_000, 3554)
301 .saturating_add(T::DbWeight::get().reads(1_u64))284 .saturating_add(T::DbWeight::get().reads(1_u64))
302 .saturating_add(T::DbWeight::get().writes(1_u64))285 .saturating_add(T::DbWeight::get().writes(1_u64))
303 }286 }
309 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)292 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
310 fn transfer_from_normal() -> Weight {293 fn transfer_from_normal() -> Weight {
311 // Proof Size summary in bytes:294 // Proof Size summary in bytes:
312 // Measured: `528`295 // Measured: `495`
313 // Estimated: `13193`296 // Estimated: `6118`
314 // Minimum execution time: 26_852_000 picoseconds.297 // Minimum execution time: 19_554_000 picoseconds.
315 Weight::from_parts(27_427_000, 13193)298 Weight::from_parts(20_031_000, 6118)
316 .saturating_add(T::DbWeight::get().reads(4_u64))299 .saturating_add(T::DbWeight::get().reads(4_u64))
317 .saturating_add(T::DbWeight::get().writes(3_u64))300 .saturating_add(T::DbWeight::get().writes(3_u64))
318 }301 }
328 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)311 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
329 fn transfer_from_creating() -> Weight {312 fn transfer_from_creating() -> Weight {
330 // Proof Size summary in bytes:313 // Proof Size summary in bytes:
331 // Measured: `505`314 // Measured: `471`
332 // Estimated: `16723`315 // Estimated: `6118`
333 // Minimum execution time: 29_893_000 picoseconds.316 // Minimum execution time: 21_338_000 picoseconds.
334 Weight::from_parts(30_345_000, 16723)317 Weight::from_parts(21_803_000, 6118)
335 .saturating_add(T::DbWeight::get().reads(5_u64))318 .saturating_add(T::DbWeight::get().reads(5_u64))
336 .saturating_add(T::DbWeight::get().writes(5_u64))319 .saturating_add(T::DbWeight::get().writes(5_u64))
337 }320 }
347 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)330 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
348 fn transfer_from_removing() -> Weight {331 fn transfer_from_removing() -> Weight {
349 // Proof Size summary in bytes:332 // Proof Size summary in bytes:
350 // Measured: `620`333 // Measured: `586`
351 // Estimated: `16723`334 // Estimated: `6118`
352 // Minimum execution time: 32_784_000 picoseconds.335 // Minimum execution time: 24_179_000 picoseconds.
353 Weight::from_parts(33_322_000, 16723)336 Weight::from_parts(24_647_000, 6118)
354 .saturating_add(T::DbWeight::get().reads(5_u64))337 .saturating_add(T::DbWeight::get().reads(5_u64))
355 .saturating_add(T::DbWeight::get().writes(5_u64))338 .saturating_add(T::DbWeight::get().writes(5_u64))
356 }339 }
366 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)349 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
367 fn transfer_from_creating_removing() -> Weight {350 fn transfer_from_creating_removing() -> Weight {
368 // Proof Size summary in bytes:351 // Proof Size summary in bytes:
369 // Measured: `505`352 // Measured: `471`
370 // Estimated: `19263`353 // Estimated: `6118`
371 // Minimum execution time: 32_987_000 picoseconds.354 // Minimum execution time: 24_008_000 picoseconds.
372 Weight::from_parts(33_428_000, 19263)355 Weight::from_parts(24_545_000, 6118)
373 .saturating_add(T::DbWeight::get().reads(6_u64))356 .saturating_add(T::DbWeight::get().reads(6_u64))
374 .saturating_add(T::DbWeight::get().writes(7_u64))357 .saturating_add(T::DbWeight::get().writes(7_u64))
375 }358 }
389 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)372 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
390 fn burn_from() -> Weight {373 fn burn_from() -> Weight {
391 // Proof Size summary in bytes:374 // Proof Size summary in bytes:
392 // Measured: `505`375 // Measured: `471`
393 // Estimated: `17640`376 // Estimated: `3570`
394 // Minimum execution time: 38_277_000 picoseconds.377 // Minimum execution time: 27_907_000 picoseconds.
395 Weight::from_parts(38_983_000, 17640)378 Weight::from_parts(28_489_000, 3570)
396 .saturating_add(T::DbWeight::get().reads(5_u64))379 .saturating_add(T::DbWeight::get().reads(5_u64))
397 .saturating_add(T::DbWeight::get().writes(7_u64))380 .saturating_add(T::DbWeight::get().writes(7_u64))
398 }381 }
401 /// The range of component `b` is `[0, 64]`.384 /// The range of component `b` is `[0, 64]`.
402 fn set_token_property_permissions(b: u32, ) -> Weight {385 fn set_token_property_permissions(b: u32, ) -> Weight {
403 // Proof Size summary in bytes:386 // Proof Size summary in bytes:
404 // Measured: `281`387 // Measured: `314`
405 // Estimated: `20191`388 // Estimated: `20191`
406 // Minimum execution time: 2_254_000 picoseconds.389 // Minimum execution time: 1_460_000 picoseconds.
407 Weight::from_parts(2_335_000, 20191)390 Weight::from_parts(1_564_000, 20191)
408 // Standard Error: 44_906391 // Standard Error: 14_117
409 .saturating_add(Weight::from_parts(12_118_499, 0).saturating_mul(b.into()))392 .saturating_add(Weight::from_parts(8_196_214, 0).saturating_mul(b.into()))
410 .saturating_add(T::DbWeight::get().reads(1_u64))393 .saturating_add(T::DbWeight::get().reads(1_u64))
411 .saturating_add(T::DbWeight::get().writes(1_u64))394 .saturating_add(T::DbWeight::get().writes(1_u64))
412 }395 }
396 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
397 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
413 /// Storage: Refungible TokenProperties (r:1 w:1)398 /// Storage: Refungible TokenProperties (r:1 w:1)
414 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)399 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
415 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)400 /// Storage: Refungible TotalSupply (r:1 w:0)
416 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)401 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
417 /// The range of component `b` is `[0, 64]`.402 /// The range of component `b` is `[0, 64]`.
418 fn set_token_properties(b: u32, ) -> Weight {403 fn set_token_properties(b: u32, ) -> Weight {
419 // Proof Size summary in bytes:404 // Proof Size summary in bytes:
420 // Measured: `458 + b * (261 ±0)`405 // Measured: `502 + b * (261 ±0)`
421 // Estimated: `56460`406 // Estimated: `36269`
422 // Minimum execution time: 11_249_000 picoseconds.407 // Minimum execution time: 1_012_000 picoseconds.
423 Weight::from_parts(11_420_000, 56460)408 Weight::from_parts(1_081_000, 36269)
424 // Standard Error: 72_033409 // Standard Error: 6_838
425 .saturating_add(Weight::from_parts(7_008_012, 0).saturating_mul(b.into()))410 .saturating_add(Weight::from_parts(5_801_181, 0).saturating_mul(b.into()))
426 .saturating_add(T::DbWeight::get().reads(2_u64))411 .saturating_add(T::DbWeight::get().reads(3_u64))
427 .saturating_add(T::DbWeight::get().writes(1_u64))412 .saturating_add(T::DbWeight::get().writes(1_u64))
428 }413 }
429 /// Storage: Refungible TokenProperties (r:1 w:1)414 /// Storage: Refungible TokenProperties (r:0 w:1)
430 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)415 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
416 /// The range of component `b` is `[0, 64]`.
417 fn init_token_properties(b: u32, ) -> Weight {
418 // Proof Size summary in bytes:
419 // Measured: `0`
420 // Estimated: `0`
421 // Minimum execution time: 229_000 picoseconds.
422 Weight::from_parts(253_000, 0)
423 // Standard Error: 100_218
424 .saturating_add(Weight::from_parts(12_632_221, 0).saturating_mul(b.into()))
425 .saturating_add(T::DbWeight::get().writes(1_u64))
426 }
431 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)427 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
432 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)428 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
429 /// Storage: Refungible TotalSupply (r:1 w:0)
430 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
431 /// Storage: Refungible TokenProperties (r:1 w:1)
432 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
433 /// The range of component `b` is `[0, 64]`.433 /// The range of component `b` is `[0, 64]`.
434 fn delete_token_properties(b: u32, ) -> Weight {434 fn delete_token_properties(b: u32, ) -> Weight {
435 // Proof Size summary in bytes:435 // Proof Size summary in bytes:
436 // Measured: `463 + b * (33291 ±0)`436 // Measured: `561 + b * (33291 ±0)`
437 // Estimated: `56460`437 // Estimated: `36269`
438 // Minimum execution time: 11_368_000 picoseconds.438 // Minimum execution time: 1_014_000 picoseconds.
439 Weight::from_parts(11_546_000, 56460)439 Weight::from_parts(1_065_000, 36269)
440 // Standard Error: 85_444440 // Standard Error: 39_536
441 .saturating_add(Weight::from_parts(24_644_980, 0).saturating_mul(b.into()))441 .saturating_add(Weight::from_parts(24_125_838, 0).saturating_mul(b.into()))
442 .saturating_add(T::DbWeight::get().reads(2_u64))442 .saturating_add(T::DbWeight::get().reads(3_u64))
443 .saturating_add(T::DbWeight::get().writes(1_u64))443 .saturating_add(T::DbWeight::get().writes(1_u64))
444 }444 }
445 /// Storage: Refungible TotalSupply (r:1 w:1)445 /// Storage: Refungible TotalSupply (r:1 w:1)
448 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)448 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
449 fn repartition_item() -> Weight {449 fn repartition_item() -> Weight {
450 // Proof Size summary in bytes:450 // Proof Size summary in bytes:
451 // Measured: `321`451 // Measured: `288`
452 // Estimated: `7059`452 // Estimated: `3554`
453 // Minimum execution time: 13_586_000 picoseconds.453 // Minimum execution time: 10_315_000 picoseconds.
454 Weight::from_parts(14_489_000, 7059)454 Weight::from_parts(10_601_000, 3554)
455 .saturating_add(T::DbWeight::get().reads(2_u64))455 .saturating_add(T::DbWeight::get().reads(2_u64))
456 .saturating_add(T::DbWeight::get().writes(2_u64))456 .saturating_add(T::DbWeight::get().writes(2_u64))
457 }457 }
458 /// Storage: Refungible Balance (r:2 w:0)458 /// Storage: Refungible Balance (r:2 w:0)
459 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)459 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
460 fn token_owner() -> Weight {460 fn token_owner() -> Weight {
461 // Proof Size summary in bytes:461 // Proof Size summary in bytes:
462 // Measured: `321`462 // Measured: `288`
463 // Estimated: `6118`463 // Estimated: `6118`
464 // Minimum execution time: 7_049_000 picoseconds.464 // Minimum execution time: 4_898_000 picoseconds.
465 Weight::from_parts(7_320_000, 6118)465 Weight::from_parts(5_136_000, 6118)
466 .saturating_add(T::DbWeight::get().reads(2_u64))466 .saturating_add(T::DbWeight::get().reads(2_u64))
467 }467 }
468 /// Storage: Refungible CollectionAllowance (r:0 w:1)468 /// Storage: Refungible CollectionAllowance (r:0 w:1)
471 // Proof Size summary in bytes:471 // Proof Size summary in bytes:
472 // Measured: `0`472 // Measured: `0`
473 // Estimated: `0`473 // Estimated: `0`
474 // Minimum execution time: 6_432_000 picoseconds.474 // Minimum execution time: 4_146_000 picoseconds.
475 Weight::from_parts(6_642_000, 0)475 Weight::from_parts(4_337_000, 0)
476 .saturating_add(T::DbWeight::get().writes(1_u64))476 .saturating_add(T::DbWeight::get().writes(1_u64))
477 }477 }
478 /// Storage: Refungible CollectionAllowance (r:1 w:0)478 /// Storage: Refungible CollectionAllowance (r:1 w:0)
481 // Proof Size summary in bytes:481 // Proof Size summary in bytes:
482 // Measured: `4`482 // Measured: `4`
483 // Estimated: `3576`483 // Estimated: `3576`
484 // Minimum execution time: 3_030_000 picoseconds.484 // Minimum execution time: 2_170_000 picoseconds.
485 Weight::from_parts(3_206_000, 3576)485 Weight::from_parts(2_301_000, 3576)
486 .saturating_add(T::DbWeight::get().reads(1_u64))486 .saturating_add(T::DbWeight::get().reads(1_u64))
487 }487 }
488 /// Storage: Refungible TokenProperties (r:1 w:1)488 /// Storage: Refungible TokenProperties (r:1 w:1)
489 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)489 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
490 fn repair_item() -> Weight {490 fn repair_item() -> Weight {
491 // Proof Size summary in bytes:491 // Proof Size summary in bytes:
492 // Measured: `174`492 // Measured: `120`
493 // Estimated: `36269`493 // Estimated: `36269`
494 // Minimum execution time: 4_371_000 picoseconds.494 // Minimum execution time: 2_098_000 picoseconds.
495 Weight::from_parts(4_555_000, 36269)495 Weight::from_parts(2_251_000, 36269)
496 .saturating_add(T::DbWeight::get().reads(1_u64))496 .saturating_add(T::DbWeight::get().reads(1_u64))
497 .saturating_add(T::DbWeight::get().writes(1_u64))497 .saturating_add(T::DbWeight::get().writes(1_u64))
498 }498 }
504 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)504 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
505 /// Storage: Refungible AccountBalance (r:1 w:1)505 /// Storage: Refungible AccountBalance (r:1 w:1)
506 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)506 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
507 /// Storage: Refungible TokenProperties (r:1 w:1)
508 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
509 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
510 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
511 /// Storage: Refungible Balance (r:0 w:1)507 /// Storage: Refungible Balance (r:0 w:1)
512 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)508 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
513 /// Storage: Refungible TotalSupply (r:0 w:1)509 /// Storage: Refungible TotalSupply (r:0 w:1)
516 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)512 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
517 fn create_item() -> Weight {513 fn create_item() -> Weight {
518 // Proof Size summary in bytes:514 // Proof Size summary in bytes:
519 // Measured: `285`515 // Measured: `4`
520 // Estimated: `63471`516 // Estimated: `3530`
521 // Minimum execution time: 30_759_000 picoseconds.517 // Minimum execution time: 11_341_000 picoseconds.
522 Weight::from_parts(31_321_000, 63471)518 Weight::from_parts(11_741_000, 3530)
523 .saturating_add(RocksDbWeight::get().reads(4_u64))519 .saturating_add(RocksDbWeight::get().reads(2_u64))
524 .saturating_add(RocksDbWeight::get().writes(6_u64))520 .saturating_add(RocksDbWeight::get().writes(5_u64))
525 }521 }
526 /// Storage: Refungible TokensMinted (r:1 w:1)522 /// Storage: Refungible TokensMinted (r:1 w:1)
527 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)523 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
528 /// Storage: Refungible AccountBalance (r:1 w:1)524 /// Storage: Refungible AccountBalance (r:1 w:1)
529 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)525 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
530 /// Storage: Refungible TokenProperties (r:200 w:200)
531 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
532 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
533 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
534 /// Storage: Refungible Balance (r:0 w:200)526 /// Storage: Refungible Balance (r:0 w:200)
535 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)527 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
536 /// Storage: Refungible TotalSupply (r:0 w:200)528 /// Storage: Refungible TotalSupply (r:0 w:200)
540 /// The range of component `b` is `[0, 200]`.532 /// The range of component `b` is `[0, 200]`.
541 fn create_multiple_items(b: u32, ) -> Weight {533 fn create_multiple_items(b: u32, ) -> Weight {
542 // Proof Size summary in bytes:534 // Proof Size summary in bytes:
543 // Measured: `285`535 // Measured: `4`
544 // Estimated: `28192 + b * (35279 ±0)`536 // Estimated: `3530`
545 // Minimum execution time: 4_024_000 picoseconds.537 // Minimum execution time: 2_665_000 picoseconds.
546 Weight::from_parts(4_145_000, 28192)538 Weight::from_parts(2_791_000, 3530)
547 // Standard Error: 3_332539 // Standard Error: 996
548 .saturating_add(Weight::from_parts(8_967_757, 0).saturating_mul(b.into()))540 .saturating_add(Weight::from_parts(4_343_736, 0).saturating_mul(b.into()))
549 .saturating_add(RocksDbWeight::get().reads(3_u64))541 .saturating_add(RocksDbWeight::get().reads(2_u64))
550 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(b.into())))
551 .saturating_add(RocksDbWeight::get().writes(2_u64))542 .saturating_add(RocksDbWeight::get().writes(2_u64))
552 .saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(b.into())))543 .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(b.into())))
553 .saturating_add(Weight::from_parts(0, 35279).saturating_mul(b.into()))
554 }544 }
555 /// Storage: Refungible TokensMinted (r:1 w:1)545 /// Storage: Refungible TokensMinted (r:1 w:1)
556 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)546 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
557 /// Storage: Refungible AccountBalance (r:200 w:200)547 /// Storage: Refungible AccountBalance (r:200 w:200)
558 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)548 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
559 /// Storage: Refungible TokenProperties (r:200 w:200)
560 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
561 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
562 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
563 /// Storage: Refungible Balance (r:0 w:200)549 /// Storage: Refungible Balance (r:0 w:200)
564 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)550 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
565 /// Storage: Refungible TotalSupply (r:0 w:200)551 /// Storage: Refungible TotalSupply (r:0 w:200)
569 /// The range of component `b` is `[0, 200]`.555 /// The range of component `b` is `[0, 200]`.
570 fn create_multiple_items_ex_multiple_items(b: u32, ) -> Weight {556 fn create_multiple_items_ex_multiple_items(b: u32, ) -> Weight {
571 // Proof Size summary in bytes:557 // Proof Size summary in bytes:
572 // Measured: `285`558 // Measured: `4`
573 // Estimated: `25652 + b * (37819 ±0)`559 // Estimated: `3481 + b * (2540 ±0)`
574 // Minimum execution time: 3_715_000 picoseconds.560 // Minimum execution time: 2_616_000 picoseconds.
575 Weight::from_parts(3_881_000, 25652)561 Weight::from_parts(2_726_000, 3481)
576 // Standard Error: 3_275562 // Standard Error: 665
577 .saturating_add(Weight::from_parts(10_525_271, 0).saturating_mul(b.into()))563 .saturating_add(Weight::from_parts(5_554_066, 0).saturating_mul(b.into()))
578 .saturating_add(RocksDbWeight::get().reads(2_u64))564 .saturating_add(RocksDbWeight::get().reads(1_u64))
579 .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(b.into())))565 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(b.into())))
580 .saturating_add(RocksDbWeight::get().writes(1_u64))566 .saturating_add(RocksDbWeight::get().writes(1_u64))
581 .saturating_add(RocksDbWeight::get().writes((5_u64).saturating_mul(b.into())))567 .saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(b.into())))
582 .saturating_add(Weight::from_parts(0, 37819).saturating_mul(b.into()))568 .saturating_add(Weight::from_parts(0, 2540).saturating_mul(b.into()))
583 }569 }
584 /// Storage: Refungible TokensMinted (r:1 w:1)570 /// Storage: Refungible TokensMinted (r:1 w:1)
585 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)571 /// Proof: Refungible TokensMinted (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
586 /// Storage: Refungible AccountBalance (r:200 w:200)572 /// Storage: Refungible AccountBalance (r:200 w:200)
587 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)573 /// Proof: Refungible AccountBalance (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
588 /// Storage: Refungible TokenProperties (r:1 w:1)
589 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
590 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
591 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
592 /// Storage: Refungible Balance (r:0 w:200)574 /// Storage: Refungible Balance (r:0 w:200)
593 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)575 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
594 /// Storage: Refungible TotalSupply (r:0 w:1)576 /// Storage: Refungible TotalSupply (r:0 w:1)
598 /// The range of component `b` is `[0, 200]`.580 /// The range of component `b` is `[0, 200]`.
599 fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight {581 fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight {
600 // Proof Size summary in bytes:582 // Proof Size summary in bytes:
601 // Measured: `285`583 // Measured: `4`
602 // Estimated: `60931 + b * (2540 ±0)`584 // Estimated: `3481 + b * (2540 ±0)`
603 // Minimum execution time: 13_150_000 picoseconds.585 // Minimum execution time: 3_697_000 picoseconds.
604 Weight::from_parts(15_655_930, 60931)586 Weight::from_parts(2_136_481, 3481)
605 // Standard Error: 4_170587 // Standard Error: 567
606 .saturating_add(Weight::from_parts(5_673_702, 0).saturating_mul(b.into()))588 .saturating_add(Weight::from_parts(4_390_621, 0).saturating_mul(b.into()))
607 .saturating_add(RocksDbWeight::get().reads(3_u64))589 .saturating_add(RocksDbWeight::get().reads(1_u64))
608 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(b.into())))590 .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(b.into())))
609 .saturating_add(RocksDbWeight::get().writes(3_u64))591 .saturating_add(RocksDbWeight::get().writes(2_u64))
610 .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(b.into())))592 .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(b.into())))
611 .saturating_add(Weight::from_parts(0, 2540).saturating_mul(b.into()))593 .saturating_add(Weight::from_parts(0, 2540).saturating_mul(b.into()))
612 }594 }
620 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)602 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
621 fn burn_item_partial() -> Weight {603 fn burn_item_partial() -> Weight {
622 // Proof Size summary in bytes:604 // Proof Size summary in bytes:
623 // Measured: `490`605 // Measured: `456`
624 // Estimated: `15717`606 // Estimated: `8682`
625 // Minimum execution time: 28_992_000 picoseconds.607 // Minimum execution time: 22_859_000 picoseconds.
626 Weight::from_parts(29_325_000, 15717)608 Weight::from_parts(23_295_000, 8682)
627 .saturating_add(RocksDbWeight::get().reads(5_u64))609 .saturating_add(RocksDbWeight::get().reads(5_u64))
628 .saturating_add(RocksDbWeight::get().writes(4_u64))610 .saturating_add(RocksDbWeight::get().writes(4_u64))
629 }611 }
641 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)623 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
642 fn burn_item_fully() -> Weight {624 fn burn_item_fully() -> Weight {
643 // Proof Size summary in bytes:625 // Proof Size summary in bytes:
644 // Measured: `375`626 // Measured: `341`
645 // Estimated: `14070`627 // Estimated: `3554`
646 // Minimum execution time: 27_980_000 picoseconds.628 // Minimum execution time: 21_477_000 picoseconds.
647 Weight::from_parts(28_582_000, 14070)629 Weight::from_parts(22_037_000, 3554)
648 .saturating_add(RocksDbWeight::get().reads(4_u64))630 .saturating_add(RocksDbWeight::get().reads(4_u64))
649 .saturating_add(RocksDbWeight::get().writes(6_u64))631 .saturating_add(RocksDbWeight::get().writes(6_u64))
650 }632 }
654 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)636 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
655 fn transfer_normal() -> Weight {637 fn transfer_normal() -> Weight {
656 // Proof Size summary in bytes:638 // Proof Size summary in bytes:
657 // Measured: `398`639 // Measured: `365`
658 // Estimated: `9623`640 // Estimated: `6118`
659 // Minimum execution time: 18_746_000 picoseconds.641 // Minimum execution time: 13_714_000 picoseconds.
660 Weight::from_parts(19_096_000, 9623)642 Weight::from_parts(14_050_000, 6118)
661 .saturating_add(RocksDbWeight::get().reads(3_u64))643 .saturating_add(RocksDbWeight::get().reads(3_u64))
662 .saturating_add(RocksDbWeight::get().writes(2_u64))644 .saturating_add(RocksDbWeight::get().writes(2_u64))
663 }645 }
671 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)653 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
672 fn transfer_creating() -> Weight {654 fn transfer_creating() -> Weight {
673 // Proof Size summary in bytes:655 // Proof Size summary in bytes:
674 // Measured: `375`656 // Measured: `341`
675 // Estimated: `13153`657 // Estimated: `6118`
676 // Minimum execution time: 21_719_000 picoseconds.658 // Minimum execution time: 15_879_000 picoseconds.
677 Weight::from_parts(22_219_000, 13153)659 Weight::from_parts(16_266_000, 6118)
678 .saturating_add(RocksDbWeight::get().reads(4_u64))660 .saturating_add(RocksDbWeight::get().reads(4_u64))
679 .saturating_add(RocksDbWeight::get().writes(4_u64))661 .saturating_add(RocksDbWeight::get().writes(4_u64))
680 }662 }
688 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)670 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
689 fn transfer_removing() -> Weight {671 fn transfer_removing() -> Weight {
690 // Proof Size summary in bytes:672 // Proof Size summary in bytes:
691 // Measured: `490`673 // Measured: `456`
692 // Estimated: `13153`674 // Estimated: `6118`
693 // Minimum execution time: 24_784_000 picoseconds.675 // Minimum execution time: 18_186_000 picoseconds.
694 Weight::from_parts(25_231_000, 13153)676 Weight::from_parts(18_682_000, 6118)
695 .saturating_add(RocksDbWeight::get().reads(4_u64))677 .saturating_add(RocksDbWeight::get().reads(4_u64))
696 .saturating_add(RocksDbWeight::get().writes(4_u64))678 .saturating_add(RocksDbWeight::get().writes(4_u64))
697 }679 }
705 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)687 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
706 fn transfer_creating_removing() -> Weight {688 fn transfer_creating_removing() -> Weight {
707 // Proof Size summary in bytes:689 // Proof Size summary in bytes:
708 // Measured: `375`690 // Measured: `341`
709 // Estimated: `15693`691 // Estimated: `6118`
710 // Minimum execution time: 24_865_000 picoseconds.692 // Minimum execution time: 17_943_000 picoseconds.
711 Weight::from_parts(25_253_000, 15693)693 Weight::from_parts(18_333_000, 6118)
712 .saturating_add(RocksDbWeight::get().reads(5_u64))694 .saturating_add(RocksDbWeight::get().reads(5_u64))
713 .saturating_add(RocksDbWeight::get().writes(6_u64))695 .saturating_add(RocksDbWeight::get().writes(6_u64))
714 }696 }
718 /// Proof: Refungible Allowance (max_values: None, max_size: Some(105), added: 2580, mode: MaxEncodedLen)700 /// Proof: Refungible Allowance (max_values: None, max_size: Some(105), added: 2580, mode: MaxEncodedLen)
719 fn approve() -> Weight {701 fn approve() -> Weight {
720 // Proof Size summary in bytes:702 // Proof Size summary in bytes:
721 // Measured: `256`703 // Measured: `223`
722 // Estimated: `3554`704 // Estimated: `3554`
723 // Minimum execution time: 12_318_000 picoseconds.705 // Minimum execution time: 8_391_000 picoseconds.
724 Weight::from_parts(12_597_000, 3554)706 Weight::from_parts(8_637_000, 3554)
725 .saturating_add(RocksDbWeight::get().reads(1_u64))707 .saturating_add(RocksDbWeight::get().reads(1_u64))
726 .saturating_add(RocksDbWeight::get().writes(1_u64))708 .saturating_add(RocksDbWeight::get().writes(1_u64))
727 }709 }
731 /// Proof: Refungible Allowance (max_values: None, max_size: Some(105), added: 2580, mode: MaxEncodedLen)713 /// Proof: Refungible Allowance (max_values: None, max_size: Some(105), added: 2580, mode: MaxEncodedLen)
732 fn approve_from() -> Weight {714 fn approve_from() -> Weight {
733 // Proof Size summary in bytes:715 // Proof Size summary in bytes:
734 // Measured: `244`716 // Measured: `211`
735 // Estimated: `3554`717 // Estimated: `3554`
736 // Minimum execution time: 12_276_000 picoseconds.718 // Minimum execution time: 8_519_000 picoseconds.
737 Weight::from_parts(12_557_000, 3554)719 Weight::from_parts(8_760_000, 3554)
738 .saturating_add(RocksDbWeight::get().reads(1_u64))720 .saturating_add(RocksDbWeight::get().reads(1_u64))
739 .saturating_add(RocksDbWeight::get().writes(1_u64))721 .saturating_add(RocksDbWeight::get().writes(1_u64))
740 }722 }
746 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)728 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
747 fn transfer_from_normal() -> Weight {729 fn transfer_from_normal() -> Weight {
748 // Proof Size summary in bytes:730 // Proof Size summary in bytes:
749 // Measured: `528`731 // Measured: `495`
750 // Estimated: `13193`732 // Estimated: `6118`
751 // Minimum execution time: 26_852_000 picoseconds.733 // Minimum execution time: 19_554_000 picoseconds.
752 Weight::from_parts(27_427_000, 13193)734 Weight::from_parts(20_031_000, 6118)
753 .saturating_add(RocksDbWeight::get().reads(4_u64))735 .saturating_add(RocksDbWeight::get().reads(4_u64))
754 .saturating_add(RocksDbWeight::get().writes(3_u64))736 .saturating_add(RocksDbWeight::get().writes(3_u64))
755 }737 }
765 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)747 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
766 fn transfer_from_creating() -> Weight {748 fn transfer_from_creating() -> Weight {
767 // Proof Size summary in bytes:749 // Proof Size summary in bytes:
768 // Measured: `505`750 // Measured: `471`
769 // Estimated: `16723`751 // Estimated: `6118`
770 // Minimum execution time: 29_893_000 picoseconds.752 // Minimum execution time: 21_338_000 picoseconds.
771 Weight::from_parts(30_345_000, 16723)753 Weight::from_parts(21_803_000, 6118)
772 .saturating_add(RocksDbWeight::get().reads(5_u64))754 .saturating_add(RocksDbWeight::get().reads(5_u64))
773 .saturating_add(RocksDbWeight::get().writes(5_u64))755 .saturating_add(RocksDbWeight::get().writes(5_u64))
774 }756 }
784 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)766 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
785 fn transfer_from_removing() -> Weight {767 fn transfer_from_removing() -> Weight {
786 // Proof Size summary in bytes:768 // Proof Size summary in bytes:
787 // Measured: `620`769 // Measured: `586`
788 // Estimated: `16723`770 // Estimated: `6118`
789 // Minimum execution time: 32_784_000 picoseconds.771 // Minimum execution time: 24_179_000 picoseconds.
790 Weight::from_parts(33_322_000, 16723)772 Weight::from_parts(24_647_000, 6118)
791 .saturating_add(RocksDbWeight::get().reads(5_u64))773 .saturating_add(RocksDbWeight::get().reads(5_u64))
792 .saturating_add(RocksDbWeight::get().writes(5_u64))774 .saturating_add(RocksDbWeight::get().writes(5_u64))
793 }775 }
803 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)785 /// Proof: Refungible Owned (max_values: None, max_size: Some(74), added: 2549, mode: MaxEncodedLen)
804 fn transfer_from_creating_removing() -> Weight {786 fn transfer_from_creating_removing() -> Weight {
805 // Proof Size summary in bytes:787 // Proof Size summary in bytes:
806 // Measured: `505`788 // Measured: `471`
807 // Estimated: `19263`789 // Estimated: `6118`
808 // Minimum execution time: 32_987_000 picoseconds.790 // Minimum execution time: 24_008_000 picoseconds.
809 Weight::from_parts(33_428_000, 19263)791 Weight::from_parts(24_545_000, 6118)
810 .saturating_add(RocksDbWeight::get().reads(6_u64))792 .saturating_add(RocksDbWeight::get().reads(6_u64))
811 .saturating_add(RocksDbWeight::get().writes(7_u64))793 .saturating_add(RocksDbWeight::get().writes(7_u64))
812 }794 }
826 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)808 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
827 fn burn_from() -> Weight {809 fn burn_from() -> Weight {
828 // Proof Size summary in bytes:810 // Proof Size summary in bytes:
829 // Measured: `505`811 // Measured: `471`
830 // Estimated: `17640`812 // Estimated: `3570`
831 // Minimum execution time: 38_277_000 picoseconds.813 // Minimum execution time: 27_907_000 picoseconds.
832 Weight::from_parts(38_983_000, 17640)814 Weight::from_parts(28_489_000, 3570)
833 .saturating_add(RocksDbWeight::get().reads(5_u64))815 .saturating_add(RocksDbWeight::get().reads(5_u64))
834 .saturating_add(RocksDbWeight::get().writes(7_u64))816 .saturating_add(RocksDbWeight::get().writes(7_u64))
835 }817 }
838 /// The range of component `b` is `[0, 64]`.820 /// The range of component `b` is `[0, 64]`.
839 fn set_token_property_permissions(b: u32, ) -> Weight {821 fn set_token_property_permissions(b: u32, ) -> Weight {
840 // Proof Size summary in bytes:822 // Proof Size summary in bytes:
841 // Measured: `281`823 // Measured: `314`
842 // Estimated: `20191`824 // Estimated: `20191`
843 // Minimum execution time: 2_254_000 picoseconds.825 // Minimum execution time: 1_460_000 picoseconds.
844 Weight::from_parts(2_335_000, 20191)826 Weight::from_parts(1_564_000, 20191)
845 // Standard Error: 44_906827 // Standard Error: 14_117
846 .saturating_add(Weight::from_parts(12_118_499, 0).saturating_mul(b.into()))828 .saturating_add(Weight::from_parts(8_196_214, 0).saturating_mul(b.into()))
847 .saturating_add(RocksDbWeight::get().reads(1_u64))829 .saturating_add(RocksDbWeight::get().reads(1_u64))
848 .saturating_add(RocksDbWeight::get().writes(1_u64))830 .saturating_add(RocksDbWeight::get().writes(1_u64))
849 }831 }
832 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
833 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
850 /// Storage: Refungible TokenProperties (r:1 w:1)834 /// Storage: Refungible TokenProperties (r:1 w:1)
851 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)835 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
852 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)836 /// Storage: Refungible TotalSupply (r:1 w:0)
853 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)837 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
854 /// The range of component `b` is `[0, 64]`.838 /// The range of component `b` is `[0, 64]`.
855 fn set_token_properties(b: u32, ) -> Weight {839 fn set_token_properties(b: u32, ) -> Weight {
856 // Proof Size summary in bytes:840 // Proof Size summary in bytes:
857 // Measured: `458 + b * (261 ±0)`841 // Measured: `502 + b * (261 ±0)`
858 // Estimated: `56460`842 // Estimated: `36269`
859 // Minimum execution time: 11_249_000 picoseconds.843 // Minimum execution time: 1_012_000 picoseconds.
860 Weight::from_parts(11_420_000, 56460)844 Weight::from_parts(1_081_000, 36269)
861 // Standard Error: 72_033845 // Standard Error: 6_838
862 .saturating_add(Weight::from_parts(7_008_012, 0).saturating_mul(b.into()))846 .saturating_add(Weight::from_parts(5_801_181, 0).saturating_mul(b.into()))
863 .saturating_add(RocksDbWeight::get().reads(2_u64))847 .saturating_add(RocksDbWeight::get().reads(3_u64))
864 .saturating_add(RocksDbWeight::get().writes(1_u64))848 .saturating_add(RocksDbWeight::get().writes(1_u64))
865 }849 }
866 /// Storage: Refungible TokenProperties (r:1 w:1)850 /// Storage: Refungible TokenProperties (r:0 w:1)
867 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)851 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
852 /// The range of component `b` is `[0, 64]`.
853 fn init_token_properties(b: u32, ) -> Weight {
854 // Proof Size summary in bytes:
855 // Measured: `0`
856 // Estimated: `0`
857 // Minimum execution time: 229_000 picoseconds.
858 Weight::from_parts(253_000, 0)
859 // Standard Error: 100_218
860 .saturating_add(Weight::from_parts(12_632_221, 0).saturating_mul(b.into()))
861 .saturating_add(RocksDbWeight::get().writes(1_u64))
862 }
868 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)863 /// Storage: Common CollectionPropertyPermissions (r:1 w:0)
869 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)864 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
865 /// Storage: Refungible TotalSupply (r:1 w:0)
866 /// Proof: Refungible TotalSupply (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
867 /// Storage: Refungible TokenProperties (r:1 w:1)
868 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
870 /// The range of component `b` is `[0, 64]`.869 /// The range of component `b` is `[0, 64]`.
871 fn delete_token_properties(b: u32, ) -> Weight {870 fn delete_token_properties(b: u32, ) -> Weight {
872 // Proof Size summary in bytes:871 // Proof Size summary in bytes:
873 // Measured: `463 + b * (33291 ±0)`872 // Measured: `561 + b * (33291 ±0)`
874 // Estimated: `56460`873 // Estimated: `36269`
875 // Minimum execution time: 11_368_000 picoseconds.874 // Minimum execution time: 1_014_000 picoseconds.
876 Weight::from_parts(11_546_000, 56460)875 Weight::from_parts(1_065_000, 36269)
877 // Standard Error: 85_444876 // Standard Error: 39_536
878 .saturating_add(Weight::from_parts(24_644_980, 0).saturating_mul(b.into()))877 .saturating_add(Weight::from_parts(24_125_838, 0).saturating_mul(b.into()))
879 .saturating_add(RocksDbWeight::get().reads(2_u64))878 .saturating_add(RocksDbWeight::get().reads(3_u64))
880 .saturating_add(RocksDbWeight::get().writes(1_u64))879 .saturating_add(RocksDbWeight::get().writes(1_u64))
881 }880 }
882 /// Storage: Refungible TotalSupply (r:1 w:1)881 /// Storage: Refungible TotalSupply (r:1 w:1)
885 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)884 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
886 fn repartition_item() -> Weight {885 fn repartition_item() -> Weight {
887 // Proof Size summary in bytes:886 // Proof Size summary in bytes:
888 // Measured: `321`887 // Measured: `288`
889 // Estimated: `7059`888 // Estimated: `3554`
890 // Minimum execution time: 13_586_000 picoseconds.889 // Minimum execution time: 10_315_000 picoseconds.
891 Weight::from_parts(14_489_000, 7059)890 Weight::from_parts(10_601_000, 3554)
892 .saturating_add(RocksDbWeight::get().reads(2_u64))891 .saturating_add(RocksDbWeight::get().reads(2_u64))
893 .saturating_add(RocksDbWeight::get().writes(2_u64))892 .saturating_add(RocksDbWeight::get().writes(2_u64))
894 }893 }
895 /// Storage: Refungible Balance (r:2 w:0)894 /// Storage: Refungible Balance (r:2 w:0)
896 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)895 /// Proof: Refungible Balance (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
897 fn token_owner() -> Weight {896 fn token_owner() -> Weight {
898 // Proof Size summary in bytes:897 // Proof Size summary in bytes:
899 // Measured: `321`898 // Measured: `288`
900 // Estimated: `6118`899 // Estimated: `6118`
901 // Minimum execution time: 7_049_000 picoseconds.900 // Minimum execution time: 4_898_000 picoseconds.
902 Weight::from_parts(7_320_000, 6118)901 Weight::from_parts(5_136_000, 6118)
903 .saturating_add(RocksDbWeight::get().reads(2_u64))902 .saturating_add(RocksDbWeight::get().reads(2_u64))
904 }903 }
905 /// Storage: Refungible CollectionAllowance (r:0 w:1)904 /// Storage: Refungible CollectionAllowance (r:0 w:1)
908 // Proof Size summary in bytes:907 // Proof Size summary in bytes:
909 // Measured: `0`908 // Measured: `0`
910 // Estimated: `0`909 // Estimated: `0`
911 // Minimum execution time: 6_432_000 picoseconds.910 // Minimum execution time: 4_146_000 picoseconds.
912 Weight::from_parts(6_642_000, 0)911 Weight::from_parts(4_337_000, 0)
913 .saturating_add(RocksDbWeight::get().writes(1_u64))912 .saturating_add(RocksDbWeight::get().writes(1_u64))
914 }913 }
915 /// Storage: Refungible CollectionAllowance (r:1 w:0)914 /// Storage: Refungible CollectionAllowance (r:1 w:0)
918 // Proof Size summary in bytes:917 // Proof Size summary in bytes:
919 // Measured: `4`918 // Measured: `4`
920 // Estimated: `3576`919 // Estimated: `3576`
921 // Minimum execution time: 3_030_000 picoseconds.920 // Minimum execution time: 2_170_000 picoseconds.
922 Weight::from_parts(3_206_000, 3576)921 Weight::from_parts(2_301_000, 3576)
923 .saturating_add(RocksDbWeight::get().reads(1_u64))922 .saturating_add(RocksDbWeight::get().reads(1_u64))
924 }923 }
925 /// Storage: Refungible TokenProperties (r:1 w:1)924 /// Storage: Refungible TokenProperties (r:1 w:1)
926 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)925 /// Proof: Refungible TokenProperties (max_values: None, max_size: Some(32804), added: 35279, mode: MaxEncodedLen)
927 fn repair_item() -> Weight {926 fn repair_item() -> Weight {
928 // Proof Size summary in bytes:927 // Proof Size summary in bytes:
929 // Measured: `174`928 // Measured: `120`
930 // Estimated: `36269`929 // Estimated: `36269`
931 // Minimum execution time: 4_371_000 picoseconds.930 // Minimum execution time: 2_098_000 picoseconds.
932 Weight::from_parts(4_555_000, 36269)931 Weight::from_parts(2_251_000, 36269)
933 .saturating_add(RocksDbWeight::get().reads(1_u64))932 .saturating_add(RocksDbWeight::get().reads(1_u64))
934 .saturating_add(RocksDbWeight::get().writes(1_u64))933 .saturating_add(RocksDbWeight::get().writes(1_u64))
935 }934 }
modifiedpallets/structure/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_structure3//! Autogenerated weights for pallet_structure
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-26, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/structure/src/weights.rs25// --output=./pallets/structure/src/weights.rs
2626
45 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)45 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
46 fn find_parent() -> Weight {46 fn find_parent() -> Weight {
47 // Proof Size summary in bytes:47 // Proof Size summary in bytes:
48 // Measured: `634`48 // Measured: `667`
49 // Estimated: `7847`49 // Estimated: `4325`
50 // Minimum execution time: 10_781_000 picoseconds.50 // Minimum execution time: 7_344_000 picoseconds.
51 Weight::from_parts(11_675_000, 7847)51 Weight::from_parts(7_578_000, 4325)
52 .saturating_add(T::DbWeight::get().reads(2_u64))52 .saturating_add(T::DbWeight::get().reads(2_u64))
53 }53 }
54}54}
61 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)61 /// Proof: Nonfungible TokenData (max_values: None, max_size: Some(57), added: 2532, mode: MaxEncodedLen)
62 fn find_parent() -> Weight {62 fn find_parent() -> Weight {
63 // Proof Size summary in bytes:63 // Proof Size summary in bytes:
64 // Measured: `634`64 // Measured: `667`
65 // Estimated: `7847`65 // Estimated: `4325`
66 // Minimum execution time: 10_781_000 picoseconds.66 // Minimum execution time: 7_344_000 picoseconds.
67 Weight::from_parts(11_675_000, 7847)67 Weight::from_parts(7_578_000, 4325)
68 .saturating_add(RocksDbWeight::get().reads(2_u64))68 .saturating_add(RocksDbWeight::get().reads(2_u64))
69 }69 }
70}70}
modifiedpallets/unique/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_unique3//! Autogenerated weights for pallet_unique
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-26, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`8//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz`
9//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10249//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
1010
11// Executed Command:11// Executed Command:
12// target/release/unique-collator12// target/production/unique-collator
13// benchmark13// benchmark
14// pallet14// pallet
15// --pallet15// --pallet
20// *20// *
21// --template=.maintain/frame-weight-template.hbs21// --template=.maintain/frame-weight-template.hbs
22// --steps=5022// --steps=50
23// --repeat=8023// --repeat=400
24// --heap-pages=409624// --heap-pages=4096
25// --output=./pallets/unique/src/weights.rs25// --output=./pallets/unique/src/weights.rs
2626
57 /// Proof: Common DestroyedCollectionCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)57 /// Proof: Common DestroyedCollectionCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
58 /// Storage: System Account (r:2 w:2)58 /// Storage: System Account (r:2 w:2)
59 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)59 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
60 /// Storage: Common AdminAmount (r:0 w:1)
61 /// Proof: Common AdminAmount (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen)
60 /// Storage: Common CollectionPropertyPermissions (r:0 w:1)62 /// Storage: Common CollectionPropertyPermissions (r:0 w:1)
61 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)63 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
62 /// Storage: Common CollectionProperties (r:0 w:1)64 /// Storage: Common CollectionProperties (r:0 w:1)
66 fn create_collection() -> Weight {68 fn create_collection() -> Weight {
67 // Proof Size summary in bytes:69 // Proof Size summary in bytes:
68 // Measured: `245`70 // Measured: `245`
69 // Estimated: `9174`71 // Estimated: `6196`
70 // Minimum execution time: 31_198_000 picoseconds.72 // Minimum execution time: 26_618_000 picoseconds.
71 Weight::from_parts(32_046_000, 9174)73 Weight::from_parts(27_287_000, 6196)
72 .saturating_add(T::DbWeight::get().reads(4_u64))74 .saturating_add(T::DbWeight::get().reads(4_u64))
73 .saturating_add(T::DbWeight::get().writes(6_u64))75 .saturating_add(T::DbWeight::get().writes(7_u64))
74 }76 }
75 /// Storage: Common CollectionById (r:1 w:1)77 /// Storage: Common CollectionById (r:1 w:1)
76 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)78 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
88 /// Proof: Common CollectionProperties (max_values: None, max_size: Some(40992), added: 43467, mode: MaxEncodedLen)90 /// Proof: Common CollectionProperties (max_values: None, max_size: Some(40992), added: 43467, mode: MaxEncodedLen)
89 fn destroy_collection() -> Weight {91 fn destroy_collection() -> Weight {
90 // Proof Size summary in bytes:92 // Proof Size summary in bytes:
91 // Measured: `1086`93 // Measured: `1200`
92 // Estimated: `9336`94 // Estimated: `4325`
93 // Minimum execution time: 48_208_000 picoseconds.95 // Minimum execution time: 37_428_000 picoseconds.
94 Weight::from_parts(49_031_000, 9336)96 Weight::from_parts(38_258_000, 4325)
95 .saturating_add(T::DbWeight::get().reads(3_u64))97 .saturating_add(T::DbWeight::get().reads(3_u64))
96 .saturating_add(T::DbWeight::get().writes(6_u64))98 .saturating_add(T::DbWeight::get().writes(6_u64))
97 }99 }
101 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)103 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)
102 fn add_to_allow_list() -> Weight {104 fn add_to_allow_list() -> Weight {
103 // Proof Size summary in bytes:105 // Proof Size summary in bytes:
104 // Measured: `967`106 // Measured: `1000`
105 // Estimated: `4325`107 // Estimated: `4325`
106 // Minimum execution time: 14_852_000 picoseconds.108 // Minimum execution time: 9_968_000 picoseconds.
107 Weight::from_parts(15_268_000, 4325)109 Weight::from_parts(10_388_000, 4325)
108 .saturating_add(T::DbWeight::get().reads(1_u64))110 .saturating_add(T::DbWeight::get().reads(1_u64))
109 .saturating_add(T::DbWeight::get().writes(1_u64))111 .saturating_add(T::DbWeight::get().writes(1_u64))
110 }112 }
114 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)116 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)
115 fn remove_from_allow_list() -> Weight {117 fn remove_from_allow_list() -> Weight {
116 // Proof Size summary in bytes:118 // Proof Size summary in bytes:
117 // Measured: `1000`119 // Measured: `1033`
118 // Estimated: `4325`120 // Estimated: `4325`
119 // Minimum execution time: 14_595_000 picoseconds.121 // Minimum execution time: 9_600_000 picoseconds.
120 Weight::from_parts(14_933_000, 4325)122 Weight::from_parts(9_974_000, 4325)
121 .saturating_add(T::DbWeight::get().reads(1_u64))123 .saturating_add(T::DbWeight::get().reads(1_u64))
122 .saturating_add(T::DbWeight::get().writes(1_u64))124 .saturating_add(T::DbWeight::get().writes(1_u64))
123 }125 }
124 /// Storage: Common CollectionById (r:1 w:1)126 /// Storage: Common CollectionById (r:1 w:1)
125 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)127 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
126 fn change_collection_owner() -> Weight {128 fn change_collection_owner() -> Weight {
127 // Proof Size summary in bytes:129 // Proof Size summary in bytes:
128 // Measured: `967`130 // Measured: `1000`
129 // Estimated: `4325`131 // Estimated: `4325`
130 // Minimum execution time: 14_132_000 picoseconds.132 // Minimum execution time: 9_185_000 picoseconds.
131 Weight::from_parts(14_501_000, 4325)133 Weight::from_parts(9_525_000, 4325)
132 .saturating_add(T::DbWeight::get().reads(1_u64))134 .saturating_add(T::DbWeight::get().reads(1_u64))
133 .saturating_add(T::DbWeight::get().writes(1_u64))135 .saturating_add(T::DbWeight::get().writes(1_u64))
134 }136 }
140 /// Proof: Common AdminAmount (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen)142 /// Proof: Common AdminAmount (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen)
141 fn add_collection_admin() -> Weight {143 fn add_collection_admin() -> Weight {
142 // Proof Size summary in bytes:144 // Proof Size summary in bytes:
143 // Measured: `967`145 // Measured: `1012`
144 // Estimated: `11349`146 // Estimated: `4325`
145 // Minimum execution time: 17_229_000 picoseconds.147 // Minimum execution time: 12_704_000 picoseconds.
146 Weight::from_parts(17_657_000, 11349)148 Weight::from_parts(13_115_000, 4325)
147 .saturating_add(T::DbWeight::get().reads(3_u64))149 .saturating_add(T::DbWeight::get().reads(3_u64))
148 .saturating_add(T::DbWeight::get().writes(2_u64))150 .saturating_add(T::DbWeight::get().writes(2_u64))
149 }151 }
156 fn remove_collection_admin() -> Weight {158 fn remove_collection_admin() -> Weight {
157 // Proof Size summary in bytes:159 // Proof Size summary in bytes:
158 // Measured: `1107`160 // Measured: `1107`
159 // Estimated: `11349`161 // Estimated: `4325`
160 // Minimum execution time: 19_827_000 picoseconds.162 // Minimum execution time: 14_185_000 picoseconds.
161 Weight::from_parts(20_479_000, 11349)163 Weight::from_parts(14_492_000, 4325)
162 .saturating_add(T::DbWeight::get().reads(3_u64))164 .saturating_add(T::DbWeight::get().reads(3_u64))
163 .saturating_add(T::DbWeight::get().writes(2_u64))165 .saturating_add(T::DbWeight::get().writes(2_u64))
164 }166 }
165 /// Storage: Common CollectionById (r:1 w:1)167 /// Storage: Common CollectionById (r:1 w:1)
166 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)168 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
167 fn set_collection_sponsor() -> Weight {169 fn set_collection_sponsor() -> Weight {
168 // Proof Size summary in bytes:170 // Proof Size summary in bytes:
169 // Measured: `967`171 // Measured: `1000`
170 // Estimated: `4325`172 // Estimated: `4325`
171 // Minimum execution time: 14_049_000 picoseconds.173 // Minimum execution time: 9_217_000 picoseconds.
172 Weight::from_parts(14_420_000, 4325)174 Weight::from_parts(9_499_000, 4325)
173 .saturating_add(T::DbWeight::get().reads(1_u64))175 .saturating_add(T::DbWeight::get().reads(1_u64))
174 .saturating_add(T::DbWeight::get().writes(1_u64))176 .saturating_add(T::DbWeight::get().writes(1_u64))
175 }177 }
176 /// Storage: Common CollectionById (r:1 w:1)178 /// Storage: Common CollectionById (r:1 w:1)
177 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)179 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
178 fn confirm_sponsorship() -> Weight {180 fn confirm_sponsorship() -> Weight {
179 // Proof Size summary in bytes:181 // Proof Size summary in bytes:
180 // Measured: `999`182 // Measured: `1032`
181 // Estimated: `4325`183 // Estimated: `4325`
182 // Minimum execution time: 13_689_000 picoseconds.184 // Minimum execution time: 8_993_000 picoseconds.
183 Weight::from_parts(14_044_000, 4325)185 Weight::from_parts(9_264_000, 4325)
184 .saturating_add(T::DbWeight::get().reads(1_u64))186 .saturating_add(T::DbWeight::get().reads(1_u64))
185 .saturating_add(T::DbWeight::get().writes(1_u64))187 .saturating_add(T::DbWeight::get().writes(1_u64))
186 }188 }
187 /// Storage: Common CollectionById (r:1 w:1)189 /// Storage: Common CollectionById (r:1 w:1)
188 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)190 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
189 fn remove_collection_sponsor() -> Weight {191 fn remove_collection_sponsor() -> Weight {
190 // Proof Size summary in bytes:192 // Proof Size summary in bytes:
191 // Measured: `999`193 // Measured: `1032`
192 // Estimated: `4325`194 // Estimated: `4325`
193 // Minimum execution time: 13_275_000 picoseconds.195 // Minimum execution time: 8_804_000 picoseconds.
194 Weight::from_parts(13_598_000, 4325)196 Weight::from_parts(9_302_000, 4325)
195 .saturating_add(T::DbWeight::get().reads(1_u64))197 .saturating_add(T::DbWeight::get().reads(1_u64))
196 .saturating_add(T::DbWeight::get().writes(1_u64))198 .saturating_add(T::DbWeight::get().writes(1_u64))
197 }199 }
198 /// Storage: Common CollectionById (r:1 w:1)200 /// Storage: Common CollectionById (r:1 w:1)
199 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)201 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
200 fn set_transfers_enabled_flag() -> Weight {202 fn set_transfers_enabled_flag() -> Weight {
201 // Proof Size summary in bytes:203 // Proof Size summary in bytes:
202 // Measured: `967`204 // Measured: `1000`
203 // Estimated: `4325`205 // Estimated: `4325`
204 // Minimum execution time: 9_411_000 picoseconds.206 // Minimum execution time: 5_985_000 picoseconds.
205 Weight::from_parts(9_706_000, 4325)207 Weight::from_parts(6_155_000, 4325)
206 .saturating_add(T::DbWeight::get().reads(1_u64))208 .saturating_add(T::DbWeight::get().reads(1_u64))
207 .saturating_add(T::DbWeight::get().writes(1_u64))209 .saturating_add(T::DbWeight::get().writes(1_u64))
208 }210 }
209 /// Storage: Common CollectionById (r:1 w:1)211 /// Storage: Common CollectionById (r:1 w:1)
210 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)212 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
211 fn set_collection_limits() -> Weight {213 fn set_collection_limits() -> Weight {
212 // Proof Size summary in bytes:214 // Proof Size summary in bytes:
213 // Measured: `967`215 // Measured: `1000`
214 // Estimated: `4325`216 // Estimated: `4325`
215 // Minimum execution time: 13_864_000 picoseconds.217 // Minimum execution time: 9_288_000 picoseconds.
216 Weight::from_parts(14_368_000, 4325)218 Weight::from_parts(9_608_000, 4325)
217 .saturating_add(T::DbWeight::get().reads(1_u64))219 .saturating_add(T::DbWeight::get().reads(1_u64))
218 .saturating_add(T::DbWeight::get().writes(1_u64))220 .saturating_add(T::DbWeight::get().writes(1_u64))
219 }221 }
220 /// Storage: Common CollectionProperties (r:1 w:1)222 /// Storage: Common CollectionProperties (r:1 w:1)
221 /// Proof: Common CollectionProperties (max_values: None, max_size: Some(40992), added: 43467, mode: MaxEncodedLen)223 /// Proof: Common CollectionProperties (max_values: None, max_size: Some(40992), added: 43467, mode: MaxEncodedLen)
222 fn force_repair_collection() -> Weight {224 fn force_repair_collection() -> Weight {
223 // Proof Size summary in bytes:225 // Proof Size summary in bytes:
224 // Measured: `265`226 // Measured: `298`
225 // Estimated: `44457`227 // Estimated: `44457`
226 // Minimum execution time: 7_104_000 picoseconds.228 // Minimum execution time: 4_904_000 picoseconds.
227 Weight::from_parts(7_293_000, 44457)229 Weight::from_parts(5_142_000, 44457)
228 .saturating_add(T::DbWeight::get().reads(1_u64))230 .saturating_add(T::DbWeight::get().reads(1_u64))
229 .saturating_add(T::DbWeight::get().writes(1_u64))231 .saturating_add(T::DbWeight::get().writes(1_u64))
230 }232 }
238 /// Proof: Common DestroyedCollectionCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)240 /// Proof: Common DestroyedCollectionCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
239 /// Storage: System Account (r:2 w:2)241 /// Storage: System Account (r:2 w:2)
240 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)242 /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
243 /// Storage: Common AdminAmount (r:0 w:1)
244 /// Proof: Common AdminAmount (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen)
241 /// Storage: Common CollectionPropertyPermissions (r:0 w:1)245 /// Storage: Common CollectionPropertyPermissions (r:0 w:1)
242 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)246 /// Proof: Common CollectionPropertyPermissions (max_values: None, max_size: Some(16726), added: 19201, mode: MaxEncodedLen)
243 /// Storage: Common CollectionProperties (r:0 w:1)247 /// Storage: Common CollectionProperties (r:0 w:1)
247 fn create_collection() -> Weight {251 fn create_collection() -> Weight {
248 // Proof Size summary in bytes:252 // Proof Size summary in bytes:
249 // Measured: `245`253 // Measured: `245`
250 // Estimated: `9174`254 // Estimated: `6196`
251 // Minimum execution time: 31_198_000 picoseconds.255 // Minimum execution time: 26_618_000 picoseconds.
252 Weight::from_parts(32_046_000, 9174)256 Weight::from_parts(27_287_000, 6196)
253 .saturating_add(RocksDbWeight::get().reads(4_u64))257 .saturating_add(RocksDbWeight::get().reads(4_u64))
254 .saturating_add(RocksDbWeight::get().writes(6_u64))258 .saturating_add(RocksDbWeight::get().writes(7_u64))
255 }259 }
256 /// Storage: Common CollectionById (r:1 w:1)260 /// Storage: Common CollectionById (r:1 w:1)
257 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)261 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
269 /// Proof: Common CollectionProperties (max_values: None, max_size: Some(40992), added: 43467, mode: MaxEncodedLen)273 /// Proof: Common CollectionProperties (max_values: None, max_size: Some(40992), added: 43467, mode: MaxEncodedLen)
270 fn destroy_collection() -> Weight {274 fn destroy_collection() -> Weight {
271 // Proof Size summary in bytes:275 // Proof Size summary in bytes:
272 // Measured: `1086`276 // Measured: `1200`
273 // Estimated: `9336`277 // Estimated: `4325`
274 // Minimum execution time: 48_208_000 picoseconds.278 // Minimum execution time: 37_428_000 picoseconds.
275 Weight::from_parts(49_031_000, 9336)279 Weight::from_parts(38_258_000, 4325)
276 .saturating_add(RocksDbWeight::get().reads(3_u64))280 .saturating_add(RocksDbWeight::get().reads(3_u64))
277 .saturating_add(RocksDbWeight::get().writes(6_u64))281 .saturating_add(RocksDbWeight::get().writes(6_u64))
278 }282 }
282 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)286 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)
283 fn add_to_allow_list() -> Weight {287 fn add_to_allow_list() -> Weight {
284 // Proof Size summary in bytes:288 // Proof Size summary in bytes:
285 // Measured: `967`289 // Measured: `1000`
286 // Estimated: `4325`290 // Estimated: `4325`
287 // Minimum execution time: 14_852_000 picoseconds.291 // Minimum execution time: 9_968_000 picoseconds.
288 Weight::from_parts(15_268_000, 4325)292 Weight::from_parts(10_388_000, 4325)
289 .saturating_add(RocksDbWeight::get().reads(1_u64))293 .saturating_add(RocksDbWeight::get().reads(1_u64))
290 .saturating_add(RocksDbWeight::get().writes(1_u64))294 .saturating_add(RocksDbWeight::get().writes(1_u64))
291 }295 }
295 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)299 /// Proof: Common Allowlist (max_values: None, max_size: Some(70), added: 2545, mode: MaxEncodedLen)
296 fn remove_from_allow_list() -> Weight {300 fn remove_from_allow_list() -> Weight {
297 // Proof Size summary in bytes:301 // Proof Size summary in bytes:
298 // Measured: `1000`302 // Measured: `1033`
299 // Estimated: `4325`303 // Estimated: `4325`
300 // Minimum execution time: 14_595_000 picoseconds.304 // Minimum execution time: 9_600_000 picoseconds.
301 Weight::from_parts(14_933_000, 4325)305 Weight::from_parts(9_974_000, 4325)
302 .saturating_add(RocksDbWeight::get().reads(1_u64))306 .saturating_add(RocksDbWeight::get().reads(1_u64))
303 .saturating_add(RocksDbWeight::get().writes(1_u64))307 .saturating_add(RocksDbWeight::get().writes(1_u64))
304 }308 }
305 /// Storage: Common CollectionById (r:1 w:1)309 /// Storage: Common CollectionById (r:1 w:1)
306 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)310 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
307 fn change_collection_owner() -> Weight {311 fn change_collection_owner() -> Weight {
308 // Proof Size summary in bytes:312 // Proof Size summary in bytes:
309 // Measured: `967`313 // Measured: `1000`
310 // Estimated: `4325`314 // Estimated: `4325`
311 // Minimum execution time: 14_132_000 picoseconds.315 // Minimum execution time: 9_185_000 picoseconds.
312 Weight::from_parts(14_501_000, 4325)316 Weight::from_parts(9_525_000, 4325)
313 .saturating_add(RocksDbWeight::get().reads(1_u64))317 .saturating_add(RocksDbWeight::get().reads(1_u64))
314 .saturating_add(RocksDbWeight::get().writes(1_u64))318 .saturating_add(RocksDbWeight::get().writes(1_u64))
315 }319 }
321 /// Proof: Common AdminAmount (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen)325 /// Proof: Common AdminAmount (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen)
322 fn add_collection_admin() -> Weight {326 fn add_collection_admin() -> Weight {
323 // Proof Size summary in bytes:327 // Proof Size summary in bytes:
324 // Measured: `967`328 // Measured: `1012`
325 // Estimated: `11349`329 // Estimated: `4325`
326 // Minimum execution time: 17_229_000 picoseconds.330 // Minimum execution time: 12_704_000 picoseconds.
327 Weight::from_parts(17_657_000, 11349)331 Weight::from_parts(13_115_000, 4325)
328 .saturating_add(RocksDbWeight::get().reads(3_u64))332 .saturating_add(RocksDbWeight::get().reads(3_u64))
329 .saturating_add(RocksDbWeight::get().writes(2_u64))333 .saturating_add(RocksDbWeight::get().writes(2_u64))
330 }334 }
337 fn remove_collection_admin() -> Weight {341 fn remove_collection_admin() -> Weight {
338 // Proof Size summary in bytes:342 // Proof Size summary in bytes:
339 // Measured: `1107`343 // Measured: `1107`
340 // Estimated: `11349`344 // Estimated: `4325`
341 // Minimum execution time: 19_827_000 picoseconds.345 // Minimum execution time: 14_185_000 picoseconds.
342 Weight::from_parts(20_479_000, 11349)346 Weight::from_parts(14_492_000, 4325)
343 .saturating_add(RocksDbWeight::get().reads(3_u64))347 .saturating_add(RocksDbWeight::get().reads(3_u64))
344 .saturating_add(RocksDbWeight::get().writes(2_u64))348 .saturating_add(RocksDbWeight::get().writes(2_u64))
345 }349 }
346 /// Storage: Common CollectionById (r:1 w:1)350 /// Storage: Common CollectionById (r:1 w:1)
347 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)351 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
348 fn set_collection_sponsor() -> Weight {352 fn set_collection_sponsor() -> Weight {
349 // Proof Size summary in bytes:353 // Proof Size summary in bytes:
350 // Measured: `967`354 // Measured: `1000`
351 // Estimated: `4325`355 // Estimated: `4325`
352 // Minimum execution time: 14_049_000 picoseconds.356 // Minimum execution time: 9_217_000 picoseconds.
353 Weight::from_parts(14_420_000, 4325)357 Weight::from_parts(9_499_000, 4325)
354 .saturating_add(RocksDbWeight::get().reads(1_u64))358 .saturating_add(RocksDbWeight::get().reads(1_u64))
355 .saturating_add(RocksDbWeight::get().writes(1_u64))359 .saturating_add(RocksDbWeight::get().writes(1_u64))
356 }360 }
357 /// Storage: Common CollectionById (r:1 w:1)361 /// Storage: Common CollectionById (r:1 w:1)
358 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)362 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
359 fn confirm_sponsorship() -> Weight {363 fn confirm_sponsorship() -> Weight {
360 // Proof Size summary in bytes:364 // Proof Size summary in bytes:
361 // Measured: `999`365 // Measured: `1032`
362 // Estimated: `4325`366 // Estimated: `4325`
363 // Minimum execution time: 13_689_000 picoseconds.367 // Minimum execution time: 8_993_000 picoseconds.
364 Weight::from_parts(14_044_000, 4325)368 Weight::from_parts(9_264_000, 4325)
365 .saturating_add(RocksDbWeight::get().reads(1_u64))369 .saturating_add(RocksDbWeight::get().reads(1_u64))
366 .saturating_add(RocksDbWeight::get().writes(1_u64))370 .saturating_add(RocksDbWeight::get().writes(1_u64))
367 }371 }
368 /// Storage: Common CollectionById (r:1 w:1)372 /// Storage: Common CollectionById (r:1 w:1)
369 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)373 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
370 fn remove_collection_sponsor() -> Weight {374 fn remove_collection_sponsor() -> Weight {
371 // Proof Size summary in bytes:375 // Proof Size summary in bytes:
372 // Measured: `999`376 // Measured: `1032`
373 // Estimated: `4325`377 // Estimated: `4325`
374 // Minimum execution time: 13_275_000 picoseconds.378 // Minimum execution time: 8_804_000 picoseconds.
375 Weight::from_parts(13_598_000, 4325)379 Weight::from_parts(9_302_000, 4325)
376 .saturating_add(RocksDbWeight::get().reads(1_u64))380 .saturating_add(RocksDbWeight::get().reads(1_u64))
377 .saturating_add(RocksDbWeight::get().writes(1_u64))381 .saturating_add(RocksDbWeight::get().writes(1_u64))
378 }382 }
379 /// Storage: Common CollectionById (r:1 w:1)383 /// Storage: Common CollectionById (r:1 w:1)
380 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)384 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
381 fn set_transfers_enabled_flag() -> Weight {385 fn set_transfers_enabled_flag() -> Weight {
382 // Proof Size summary in bytes:386 // Proof Size summary in bytes:
383 // Measured: `967`387 // Measured: `1000`
384 // Estimated: `4325`388 // Estimated: `4325`
385 // Minimum execution time: 9_411_000 picoseconds.389 // Minimum execution time: 5_985_000 picoseconds.
386 Weight::from_parts(9_706_000, 4325)390 Weight::from_parts(6_155_000, 4325)
387 .saturating_add(RocksDbWeight::get().reads(1_u64))391 .saturating_add(RocksDbWeight::get().reads(1_u64))
388 .saturating_add(RocksDbWeight::get().writes(1_u64))392 .saturating_add(RocksDbWeight::get().writes(1_u64))
389 }393 }
390 /// Storage: Common CollectionById (r:1 w:1)394 /// Storage: Common CollectionById (r:1 w:1)
391 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)395 /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen)
392 fn set_collection_limits() -> Weight {396 fn set_collection_limits() -> Weight {
393 // Proof Size summary in bytes:397 // Proof Size summary in bytes:
394 // Measured: `967`398 // Measured: `1000`
395 // Estimated: `4325`399 // Estimated: `4325`
396 // Minimum execution time: 13_864_000 picoseconds.400 // Minimum execution time: 9_288_000 picoseconds.
397 Weight::from_parts(14_368_000, 4325)401 Weight::from_parts(9_608_000, 4325)
398 .saturating_add(RocksDbWeight::get().reads(1_u64))402 .saturating_add(RocksDbWeight::get().reads(1_u64))
399 .saturating_add(RocksDbWeight::get().writes(1_u64))403 .saturating_add(RocksDbWeight::get().writes(1_u64))
400 }404 }
401 /// Storage: Common CollectionProperties (r:1 w:1)405 /// Storage: Common CollectionProperties (r:1 w:1)
402 /// Proof: Common CollectionProperties (max_values: None, max_size: Some(40992), added: 43467, mode: MaxEncodedLen)406 /// Proof: Common CollectionProperties (max_values: None, max_size: Some(40992), added: 43467, mode: MaxEncodedLen)
403 fn force_repair_collection() -> Weight {407 fn force_repair_collection() -> Weight {
404 // Proof Size summary in bytes:408 // Proof Size summary in bytes:
405 // Measured: `265`409 // Measured: `298`
406 // Estimated: `44457`410 // Estimated: `44457`
407 // Minimum execution time: 7_104_000 picoseconds.411 // Minimum execution time: 4_904_000 picoseconds.
408 Weight::from_parts(7_293_000, 44457)412 Weight::from_parts(5_142_000, 44457)
409 .saturating_add(RocksDbWeight::get().reads(1_u64))413 .saturating_add(RocksDbWeight::get().reads(1_u64))
410 .saturating_add(RocksDbWeight::get().writes(1_u64))414 .saturating_add(RocksDbWeight::get().writes(1_u64))
411 }415 }
modifiedprimitives/common/src/constants.rsdiffbeforeafterboth
52pub const SESSION_LENGTH: BlockNumber = HOURS;52pub const SESSION_LENGTH: BlockNumber = HOURS;
5353
54// Targeting 0.1 UNQ per transfer54// Targeting 0.1 UNQ per transfer
55pub const WEIGHT_TO_FEE_COEFF: u64 = /*<weight2fee>*/76_840_511_488_584_762/*</weight2fee>*/;55pub const WEIGHT_TO_FEE_COEFF: u64 = /*<weight2fee>*/77_334_604_063_436_322/*</weight2fee>*/;
5656
57// Targeting 0.15 UNQ per transfer via ETH57// Targeting 0.15 UNQ per transfer via ETH
58pub const MIN_GAS_PRICE: u64 = /*<mingasprice>*/1_906_626_161_453/*</mingasprice>*/;58pub const MIN_GAS_PRICE: u64 = /*<mingasprice>*/1_920_639_188_722/*</mingasprice>*/;
5959
60/// We assume that ~10% of the block weight is consumed by `on_initalize` handlers.60/// We assume that ~10% of the block weight is consumed by `on_initalize` handlers.
61/// This is used to limit the maximal weight of a single extrinsic.61/// This is used to limit the maximal weight of a single extrinsic.
modifiedruntime/common/runtime_apis.rsdiffbeforeafterboth
692 {692 {
693 use codec::Decode;693 use codec::Decode;
694694
695 let uxt_decode = <<Block as BlockT>::Extrinsic as Decode>::decode(&mut &uxt)695 let uxt_decode = <<Block as BlockT>::Extrinsic as Decode>::decode(&mut &*uxt)
696 .map_err(|_| DispatchError::Other("failed to decode the extrinsic"));696 .map_err(|_| DispatchError::Other("failed to decode the extrinsic"));
697697
698 let uxt = match uxt_decode {698 let uxt = match uxt_decode {
modifiedruntime/common/weights/xcm.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_xcm3//! Autogenerated weights for pallet_xcm
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2023-04-20, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2023-09-26, STEPS: `50`, REPEAT: 400, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! WORST CASE MAP SIZE: `1000000`7//! WORST CASE MAP SIZE: `1000000`
8//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10248//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
99
10// Executed Command:10// Executed Command:
11// target/release/unique-collator11// target/production/unique-collator
12// benchmark12// benchmark
13// pallet13// pallet
14// --pallet14// --pallet
19// *19// *
20// --template=.maintain/external-weight-template.hbs20// --template=.maintain/external-weight-template.hbs
21// --steps=5021// --steps=50
22// --repeat=8022// --repeat=400
23// --heap-pages=409623// --heap-pages=4096
24// --output=./runtime/common/weights/xcm.rs24// --output=./runtime/common/weights/xcm.rs
2525
47 /// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)47 /// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
48 fn send() -> Weight {48 fn send() -> Weight {
49 // Proof Size summary in bytes:49 // Proof Size summary in bytes:
50 // Measured: `211`50 // Measured: `278`
51 // Estimated: `10460`51 // Estimated: `3743`
52 // Minimum execution time: 17_089_000 picoseconds.52 // Minimum execution time: 12_999_000 picoseconds.
53 Weight::from_parts(17_615_000, 10460)53 Weight::from_parts(13_426_000, 3743)
54 .saturating_add(T::DbWeight::get().reads(5_u64))54 .saturating_add(T::DbWeight::get().reads(5_u64))
55 .saturating_add(T::DbWeight::get().writes(2_u64))55 .saturating_add(T::DbWeight::get().writes(2_u64))
56 }56 }
57 /// Storage: ParachainInfo ParachainId (r:1 w:0)57 /// Storage: ParachainInfo ParachainId (r:1 w:0)
58 /// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)58 /// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
59 fn teleport_assets() -> Weight {59 fn teleport_assets() -> Weight {
60 // Proof Size summary in bytes:60 // Proof Size summary in bytes:
61 // Measured: `136`61 // Measured: `169`
62 // Estimated: `1489`62 // Estimated: `1489`
63 // Minimum execution time: 14_443_000 picoseconds.63 // Minimum execution time: 10_299_000 picoseconds.
64 Weight::from_parts(14_895_000, 1489)64 Weight::from_parts(10_647_000, 1489)
65 .saturating_add(T::DbWeight::get().reads(1_u64))65 .saturating_add(T::DbWeight::get().reads(1_u64))
66 }66 }
67 /// Storage: ParachainInfo ParachainId (r:1 w:0)67 /// Storage: ParachainInfo ParachainId (r:1 w:0)
68 /// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)68 /// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
69 fn reserve_transfer_assets() -> Weight {69 fn reserve_transfer_assets() -> Weight {
70 // Proof Size summary in bytes:70 // Proof Size summary in bytes:
71 // Measured: `136`71 // Measured: `169`
72 // Estimated: `1489`72 // Estimated: `1489`
73 // Minimum execution time: 14_340_000 picoseconds.73 // Minimum execution time: 10_094_000 picoseconds.
74 Weight::from_parts(14_748_000, 1489)74 Weight::from_parts(10_464_000, 1489)
75 .saturating_add(T::DbWeight::get().reads(1_u64))75 .saturating_add(T::DbWeight::get().reads(1_u64))
76 }76 }
77 fn execute() -> Weight {77 fn execute() -> Weight {
78 // Proof Size summary in bytes:78 // Proof Size summary in bytes:
79 // Measured: `0`79 // Measured: `0`
80 // Estimated: `0`80 // Estimated: `0`
81 // Minimum execution time: 5_266_000 picoseconds.81 // Minimum execution time: 3_485_000 picoseconds.
82 Weight::from_parts(5_430_000, 0)82 Weight::from_parts(3_664_000, 0)
83 }83 }
84 /// Storage: PolkadotXcm SupportedVersion (r:0 w:1)84 /// Storage: PolkadotXcm SupportedVersion (r:0 w:1)
85 /// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)85 /// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
86 fn force_xcm_version() -> Weight {86 fn force_xcm_version() -> Weight {
87 // Proof Size summary in bytes:87 // Proof Size summary in bytes:
88 // Measured: `0`88 // Measured: `0`
89 // Estimated: `0`89 // Estimated: `0`
90 // Minimum execution time: 5_621_000 picoseconds.90 // Minimum execution time: 3_717_000 picoseconds.
91 Weight::from_parts(5_888_000, 0)91 Weight::from_parts(3_866_000, 0)
92 .saturating_add(T::DbWeight::get().writes(1_u64))92 .saturating_add(T::DbWeight::get().writes(1_u64))
93 }93 }
94 /// Storage: PolkadotXcm SafeXcmVersion (r:0 w:1)94 /// Storage: PolkadotXcm SafeXcmVersion (r:0 w:1)
97 // Proof Size summary in bytes:97 // Proof Size summary in bytes:
98 // Measured: `0`98 // Measured: `0`
99 // Estimated: `0`99 // Estimated: `0`
100 // Minimum execution time: 2_087_000 picoseconds.100 // Minimum execution time: 1_328_000 picoseconds.
101 Weight::from_parts(2_218_000, 0)101 Weight::from_parts(1_400_000, 0)
102 .saturating_add(T::DbWeight::get().writes(1_u64))102 .saturating_add(T::DbWeight::get().writes(1_u64))
103 }103 }
104 /// Storage: PolkadotXcm VersionNotifiers (r:1 w:1)104 /// Storage: PolkadotXcm VersionNotifiers (r:1 w:1)
119 /// Proof Skipped: PolkadotXcm Queries (max_values: None, max_size: None, mode: Measured)119 /// Proof Skipped: PolkadotXcm Queries (max_values: None, max_size: None, mode: Measured)
120 fn force_subscribe_version_notify() -> Weight {120 fn force_subscribe_version_notify() -> Weight {
121 // Proof Size summary in bytes:121 // Proof Size summary in bytes:
122 // Measured: `211`122 // Measured: `278`
123 // Estimated: `16043`123 // Estimated: `3743`
124 // Minimum execution time: 21_067_000 picoseconds.124 // Minimum execution time: 16_057_000 picoseconds.
125 Weight::from_parts(21_466_000, 16043)125 Weight::from_parts(16_483_000, 3743)
126 .saturating_add(T::DbWeight::get().reads(7_u64))126 .saturating_add(T::DbWeight::get().reads(7_u64))
127 .saturating_add(T::DbWeight::get().writes(5_u64))127 .saturating_add(T::DbWeight::get().writes(5_u64))
128 }128 }
142 /// Proof Skipped: PolkadotXcm Queries (max_values: None, max_size: None, mode: Measured)142 /// Proof Skipped: PolkadotXcm Queries (max_values: None, max_size: None, mode: Measured)
143 fn force_unsubscribe_version_notify() -> Weight {143 fn force_unsubscribe_version_notify() -> Weight {
144 // Proof Size summary in bytes:144 // Proof Size summary in bytes:
145 // Measured: `394`145 // Measured: `461`
146 // Estimated: `15628`146 // Estimated: `3926`
147 // Minimum execution time: 23_986_000 picoseconds.147 // Minimum execution time: 18_009_000 picoseconds.
148 Weight::from_parts(25_328_000, 15628)148 Weight::from_parts(18_565_000, 3926)
149 .saturating_add(T::DbWeight::get().reads(6_u64))149 .saturating_add(T::DbWeight::get().reads(6_u64))
150 .saturating_add(T::DbWeight::get().writes(4_u64))150 .saturating_add(T::DbWeight::get().writes(4_u64))
151 }151 }
152 /// Storage: PolkadotXcm XcmExecutionSuspended (r:0 w:1)
153 /// Proof Skipped: PolkadotXcm XcmExecutionSuspended (max_values: Some(1), max_size: None, mode: Measured)
154 fn force_suspension() -> Weight {
155 // Proof Size summary in bytes:
156 // Measured: `0`
157 // Estimated: `0`
158 // Minimum execution time: 1_378_000 picoseconds.
159 Weight::from_parts(1_447_000, 0)
160 .saturating_add(T::DbWeight::get().writes(1_u64))
161 }
152 /// Storage: PolkadotXcm SupportedVersion (r:4 w:2)162 /// Storage: PolkadotXcm SupportedVersion (r:4 w:2)
153 /// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)163 /// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
154 fn migrate_supported_version() -> Weight {164 fn migrate_supported_version() -> Weight {
155 // Proof Size summary in bytes:165 // Proof Size summary in bytes:
156 // Measured: `131`166 // Measured: `196`
157 // Estimated: `11021`167 // Estimated: `11086`
158 // Minimum execution time: 15_073_000 picoseconds.168 // Minimum execution time: 10_770_000 picoseconds.
159 Weight::from_parts(15_451_000, 11021)169 Weight::from_parts(11_090_000, 11086)
160 .saturating_add(T::DbWeight::get().reads(4_u64))170 .saturating_add(T::DbWeight::get().reads(4_u64))
161 .saturating_add(T::DbWeight::get().writes(2_u64))171 .saturating_add(T::DbWeight::get().writes(2_u64))
162 }172 }
163 /// Storage: PolkadotXcm VersionNotifiers (r:4 w:2)173 /// Storage: PolkadotXcm VersionNotifiers (r:4 w:2)
164 /// Proof Skipped: PolkadotXcm VersionNotifiers (max_values: None, max_size: None, mode: Measured)174 /// Proof Skipped: PolkadotXcm VersionNotifiers (max_values: None, max_size: None, mode: Measured)
165 fn migrate_version_notifiers() -> Weight {175 fn migrate_version_notifiers() -> Weight {
166 // Proof Size summary in bytes:176 // Proof Size summary in bytes:
167 // Measured: `135`177 // Measured: `200`
168 // Estimated: `11025`178 // Estimated: `11090`
169 // Minimum execution time: 14_840_000 picoseconds.179 // Minimum execution time: 10_760_000 picoseconds.
170 Weight::from_parts(15_347_000, 11025)180 Weight::from_parts(11_091_000, 11090)
171 .saturating_add(T::DbWeight::get().reads(4_u64))181 .saturating_add(T::DbWeight::get().reads(4_u64))
172 .saturating_add(T::DbWeight::get().writes(2_u64))182 .saturating_add(T::DbWeight::get().writes(2_u64))
173 }183 }
174 /// Storage: PolkadotXcm VersionNotifyTargets (r:5 w:0)184 /// Storage: PolkadotXcm VersionNotifyTargets (r:5 w:0)
175 /// Proof Skipped: PolkadotXcm VersionNotifyTargets (max_values: None, max_size: None, mode: Measured)185 /// Proof Skipped: PolkadotXcm VersionNotifyTargets (max_values: None, max_size: None, mode: Measured)
176 fn already_notified_target() -> Weight {186 fn already_notified_target() -> Weight {
177 // Proof Size summary in bytes:187 // Proof Size summary in bytes:
178 // Measured: `142`188 // Measured: `207`
179 // Estimated: `13507`189 // Estimated: `13572`
180 // Minimum execution time: 16_215_000 picoseconds.190 // Minimum execution time: 12_026_000 picoseconds.
181 Weight::from_parts(16_461_000, 13507)191 Weight::from_parts(12_321_000, 13572)
182 .saturating_add(T::DbWeight::get().reads(5_u64))192 .saturating_add(T::DbWeight::get().reads(5_u64))
183 }193 }
184 /// Storage: PolkadotXcm VersionNotifyTargets (r:2 w:1)194 /// Storage: PolkadotXcm VersionNotifyTargets (r:2 w:1)
195 /// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)205 /// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
196 fn notify_current_targets() -> Weight {206 fn notify_current_targets() -> Weight {
197 // Proof Size summary in bytes:207 // Proof Size summary in bytes:
198 // Measured: `278`208 // Measured: `345`
199 // Estimated: `17013`209 // Estimated: `6285`
200 // Minimum execution time: 21_705_000 picoseconds.210 // Minimum execution time: 15_508_000 picoseconds.
201 Weight::from_parts(22_313_000, 17013)211 Weight::from_parts(15_885_000, 6285)
202 .saturating_add(T::DbWeight::get().reads(7_u64))212 .saturating_add(T::DbWeight::get().reads(7_u64))
203 .saturating_add(T::DbWeight::get().writes(3_u64))213 .saturating_add(T::DbWeight::get().writes(3_u64))
204 }214 }
205 /// Storage: PolkadotXcm VersionNotifyTargets (r:3 w:0)215 /// Storage: PolkadotXcm VersionNotifyTargets (r:3 w:0)
206 /// Proof Skipped: PolkadotXcm VersionNotifyTargets (max_values: None, max_size: None, mode: Measured)216 /// Proof Skipped: PolkadotXcm VersionNotifyTargets (max_values: None, max_size: None, mode: Measured)
207 fn notify_target_migration_fail() -> Weight {217 fn notify_target_migration_fail() -> Weight {
208 // Proof Size summary in bytes:218 // Proof Size summary in bytes:
209 // Measured: `172`219 // Measured: `239`
210 // Estimated: `8587`220 // Estimated: `8654`
211 // Minimum execution time: 7_869_000 picoseconds.221 // Minimum execution time: 5_580_000 picoseconds.
212 Weight::from_parts(8_052_000, 8587)222 Weight::from_parts(5_753_000, 8654)
213 .saturating_add(T::DbWeight::get().reads(3_u64))223 .saturating_add(T::DbWeight::get().reads(3_u64))
214 }224 }
215 /// Storage: PolkadotXcm VersionNotifyTargets (r:4 w:2)225 /// Storage: PolkadotXcm VersionNotifyTargets (r:4 w:2)
216 /// Proof Skipped: PolkadotXcm VersionNotifyTargets (max_values: None, max_size: None, mode: Measured)226 /// Proof Skipped: PolkadotXcm VersionNotifyTargets (max_values: None, max_size: None, mode: Measured)
217 fn migrate_version_notify_targets() -> Weight {227 fn migrate_version_notify_targets() -> Weight {
218 // Proof Size summary in bytes:228 // Proof Size summary in bytes:
219 // Measured: `142`229 // Measured: `207`
220 // Estimated: `11032`230 // Estimated: `11097`
221 // Minimum execution time: 15_340_000 picoseconds.231 // Minimum execution time: 10_951_000 picoseconds.
222 Weight::from_parts(15_738_000, 11032)232 Weight::from_parts(11_341_000, 11097)
223 .saturating_add(T::DbWeight::get().reads(4_u64))233 .saturating_add(T::DbWeight::get().reads(4_u64))
224 .saturating_add(T::DbWeight::get().writes(2_u64))234 .saturating_add(T::DbWeight::get().writes(2_u64))
225 }235 }
237 /// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)247 /// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
238 fn migrate_and_notify_old_targets() -> Weight {248 fn migrate_and_notify_old_targets() -> Weight {
239 // Proof Size summary in bytes:249 // Proof Size summary in bytes:
240 // Measured: `284`250 // Measured: `349`
241 // Estimated: `21999`251 // Estimated: `11239`
242 // Minimum execution time: 27_809_000 picoseconds.252 // Minimum execution time: 19_990_000 picoseconds.
243 Weight::from_parts(28_290_000, 21999)253 Weight::from_parts(20_433_000, 11239)
244 .saturating_add(T::DbWeight::get().reads(9_u64))254 .saturating_add(T::DbWeight::get().reads(9_u64))
245 .saturating_add(T::DbWeight::get().writes(4_u64))255 .saturating_add(T::DbWeight::get().writes(4_u64))
246 }256 }
247
248 fn force_suspension() -> Weight {
249 Default::default()
250 }
251}257}
252258
253259
modifiedruntime/tests/src/tests.rsdiffbeforeafterboth
168168
169fn get_token_properties(collection_id: CollectionId, token_id: TokenId) -> Vec<Property> {169fn get_token_properties(collection_id: CollectionId, token_id: TokenId) -> Vec<Property> {
170 <pallet_nonfungible::Pallet<Test>>::token_properties((collection_id, token_id))170 <pallet_nonfungible::Pallet<Test>>::token_properties((collection_id, token_id))
171 .unwrap_or_default()
171 .into_iter()172 .into_iter()
172 .map(|(key, value)| Property { key, value })173 .map(|(key, value)| Property { key, value })
173 .collect()174 .collect()
modifiedtests/package.jsondiffbeforeafterboth
48 "testEthFractionalizer": "yarn _test './**/eth/fractionalizer/**/*.*test.ts'",48 "testEthFractionalizer": "yarn _test './**/eth/fractionalizer/**/*.*test.ts'",
49 "testEthMarketplace": "yarn _test './**/eth/marketplace/**/*.*test.ts'",49 "testEthMarketplace": "yarn _test './**/eth/marketplace/**/*.*test.ts'",
50 "testEthMarket": "yarn _test './**/eth/marketplace-v2/**/*.*test.ts'",50 "testEthMarket": "yarn _test './**/eth/marketplace-v2/**/*.*test.ts'",
51 "testPerformance": "yarn _test ./**/performance.*test.ts",
51 "testSub": "yarn _test './**/sub/**/*.*test.ts'",52 "testSub": "yarn _test './**/sub/**/*.*test.ts'",
52 "testSubNesting": "yarn _test './**/sub/nesting/**/*.*test.ts'",53 "testSubNesting": "yarn _test './**/sub/nesting/**/*.*test.ts'",
53 "testEvent": "yarn _test ./src/check-event/*.*test.ts",54 "testEvent": "yarn _test ./src/check-event/*.*test.ts",
modifiedtests/src/migrations/942057-appPromotion/lockedToFreeze.tsdiffbeforeafterboth
4import path, {dirname} from 'path';4import path, {dirname} from 'path';
5import {isInteger, parse} from 'lossless-json';5import {isInteger, parse} from 'lossless-json';
6import {fileURLToPath} from 'url';6import {fileURLToPath} from 'url';
7import config from '../../config';
78
89
9const WS_ENDPOINT = 'ws://localhost:9944';10const WS_ENDPOINT = config.substrateUrl;
10const DONOR_SEED = '//Alice';11const DONOR_SEED = '//Alice';
11const UPDATE_IF_VERSION = 942057;12const UPDATE_IF_VERSION = 942057;
1213
modifiedtests/src/migrations/correctStateAfterMaintenance.tsdiffbeforeafterboth
1import config from '../config';
1import {usingPlaygrounds} from '../util';2import {usingPlaygrounds} from '../util';
23
34
45
5const WS_ENDPOINT = 'ws://localhost:9944';6const WS_ENDPOINT = config.substrateUrl;
6const DONOR_SEED = '//Alice';7const DONOR_SEED = '//Alice';
78
8export const main = async(options: { wsEndpoint: string; donorSeed: string } = {9export const main = async(options: { wsEndpoint: string; donorSeed: string } = {
addedtests/src/performance.seq.test.tsdiffbeforeafterboth

no changes