git.delta.rocks / unique-network / refs/commits / 21b23e7b1db8

difftreelog

feat benchmark rmrk proxy equip

Daniel Shiposha2022-06-16parent: #c214759.patch.diff
in: master

9 files changed

modifiedMakefilediffbeforeafterboth
--- a/Makefile
+++ b/Makefile
@@ -101,5 +101,9 @@
 bench-rmrk-core:
 	make _bench PALLET=proxy-rmrk-core
 
+.PHONY: bench-rmrk-equip
+bench-rmrk-equip:
+	make _bench PALLET=proxy-rmrk-equip
+
 .PHONY: bench
-bench: bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-scheduler bench-rmrk-core
+bench: bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-scheduler bench-rmrk-core bench-rmrk-equip
addedpallets/proxy-rmrk-equip/src/benchmarking.rsdiffbeforeafterboth
--- /dev/null
+++ b/pallets/proxy-rmrk-equip/src/benchmarking.rs
@@ -0,0 +1,91 @@
+use sp_std::vec;
+
+use frame_benchmarking::{benchmarks, account};
+use frame_system::RawOrigin;
+use frame_support::{
+	traits::{Currency, Get},
+	BoundedVec,
+};
+
+use up_data_structs::*;
+
+use super::*;
+
+const SEED: u32 = 1;
+
+fn create_data<S: Get<u32>>() -> BoundedVec<u8, S> {
+	vec![b'A'; S::get() as usize].try_into().expect("size == S")
+}
+
+fn create_u32_array<S: Get<u32>>() -> BoundedVec<u32, S> {
+	vec![0; S::get() as usize].try_into().expect("size == S")
+}
+
+fn create_max_part() -> RmrkPartType {
+    RmrkPartType::SlotPart(
+        RmrkSlotPart {
+            id: 42,
+            equippable: RmrkEquippableList::Custom(create_u32_array()),
+            src: create_data(),
+            z: 1,
+        }
+    )
+}
+
+fn create_parts_array<S: Get<u32>>(num: u32) -> BoundedVec<RmrkPartType, S> {
+	vec![create_max_part(); num as usize].try_into().expect("num <= S")
+}
+
+fn create_max_theme_property() -> RmrkThemeProperty {
+    RmrkThemeProperty {
+        key: create_data(),
+        value: create_data(),
+    }   
+}
+
+fn create_theme_properties_array<S: Get<u32>>(num: u32) -> BoundedVec<RmrkThemeProperty, S> {
+	vec![create_max_theme_property(); num as usize].try_into().expect("num <= S")
+}
+
+fn create_max_theme(name: RmrkString, props_num: u32) -> RmrkBoundedTheme {
+    RmrkBoundedTheme {
+        name,
+        properties: create_theme_properties_array(props_num),
+        inherit: false,
+    }
+}
+
+benchmarks! {
+    create_base {
+        let b in 0..RmrkPartsLimit::get();
+
+        let caller = account("caller", 0, SEED);
+		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
+
+        let base_type = create_data();
+        let symbol = create_data();
+        let parts = create_parts_array(b);
+    }: _(RawOrigin::Signed(caller), base_type, symbol, parts)
+
+    theme_add {
+        let b in 0..MaxPropertiesPerTheme::get();
+
+        let caller = account("caller", 0, SEED);
+		<T as pallet_common::Config>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
+
+        let base_type = create_data();
+        let symbol = create_data();
+        let parts = create_parts_array(0);
+
+        <Pallet<T>>::create_base(RawOrigin::Signed(caller.clone()).into(), base_type, symbol, parts)?;
+        let base_id = 1;
+
+        
+        let default_theme_name = b"default".to_vec().try_into().expect("default is a valid name; qed");
+        let default_theme = create_max_theme(default_theme_name, 0);
+
+        <Pallet<T>>::theme_add(RawOrigin::Signed(caller.clone()).into(), base_id, default_theme)?;
+
+        let theme = create_max_theme(create_data(), b);
+    }: _(RawOrigin::Signed(caller), base_id, theme)
+}
modifiedpallets/proxy-rmrk-equip/src/lib.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-equip/src/lib.rs
+++ b/pallets/proxy-rmrk-equip/src/lib.rs
@@ -28,9 +28,16 @@
 };
 use pallet_nonfungible::{Pallet as PalletNft, NonfungibleHandle};
 use pallet_evm::account::CrossAccountId;
+use weights::WeightInfo;
 
 pub use pallet::*;
 
+#[cfg(feature = "runtime-benchmarks")]
+pub mod benchmarking;
+pub mod weights;
+
+pub type SelfWeightOf<T> = <T as Config>::WeightInfo;
+
 #[frame_support::pallet]
 pub mod pallet {
 	use super::*;
@@ -38,6 +45,7 @@
 	#[pallet::config]
 	pub trait Config: frame_system::Config + pallet_rmrk_core::Config {
 		type Event: From<Event<Self>> + IsType<<Self as frame_system::Config>::Event>;
+		type WeightInfo: WeightInfo;
 	}
 
 	#[pallet::storage]
@@ -83,12 +91,12 @@
 		/// - symbol: arbitrary client-chosen symbol
 		/// - parts: array of Fixed and Slot parts composing the base, confined in length by
 		///   RmrkPartsLimit
-		#[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))]
 		#[transactional]
+		#[pallet::weight(<SelfWeightOf<T>>::create_base(parts.len() as u32))]
 		pub fn create_base(
 			origin: OriginFor<T>,
 			base_type: RmrkString,
-			symbol: RmrkString,
+			symbol: RmrkBaseSymbol,
 			parts: BoundedVec<RmrkPartType, RmrkPartsLimit>,
 		) -> DispatchResult {
 			let sender = ensure_signed(origin)?;
@@ -159,12 +167,12 @@
 		///   - key: arbitrary BoundedString, defined by client
 		///   - value: arbitrary BoundedString, defined by client
 		///   - inherit: optional bool
-		#[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))]
 		#[transactional]
+		#[pallet::weight(<SelfWeightOf<T>>::theme_add(theme.properties.len() as u32))]
 		pub fn theme_add(
 			origin: OriginFor<T>,
 			base_id: RmrkBaseId,
-			theme: RmrkTheme,
+			theme: RmrkBoundedTheme,
 		) -> DispatchResult {
 			let sender = ensure_signed(origin)?;
 
addedpallets/proxy-rmrk-equip/src/weights.rsdiffbeforeafterboth
--- /dev/null
+++ b/pallets/proxy-rmrk-equip/src/weights.rs
@@ -0,0 +1,119 @@
+// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs
+
+//! Autogenerated weights for pallet_proxy_rmrk_equip
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2022-06-16, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
+
+// Executed Command:
+// target/release/unique-collator
+// benchmark
+// pallet
+// --pallet
+// pallet-proxy-rmrk-equip
+// --wasm-execution
+// compiled
+// --extrinsic
+// *
+// --template
+// .maintain/frame-weight-template.hbs
+// --steps=50
+// --repeat=80
+// --heap-pages=4096
+// --output=./pallets/proxy-rmrk-equip/src/weights.rs
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+#![allow(clippy::unnecessary_cast)]
+
+use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
+use sp_std::marker::PhantomData;
+
+/// Weight functions needed for pallet_proxy_rmrk_equip.
+pub trait WeightInfo {
+	fn create_base(b: u32, ) -> Weight;
+	fn theme_add(b: u32, ) -> Weight;
+}
+
+/// Weights for pallet_proxy_rmrk_equip using the Substrate node and recommended hardware.
+pub struct SubstrateWeight<T>(PhantomData<T>);
+impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
+	// Storage: Common CreatedCollectionCount (r:1 w:1)
+	// Storage: Common DestroyedCollectionCount (r:1 w:0)
+	// Storage: System Account (r:2 w:2)
+	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
+	// Storage: Common CollectionProperties (r:0 w:1)
+	// Storage: Common CollectionById (r:0 w:1)
+	// Storage: Nonfungible TokensMinted (r:1 w:1)
+	// Storage: Nonfungible AccountBalance (r:1 w:1)
+	// Storage: Nonfungible TokenProperties (r:1 w:1)
+	// Storage: Nonfungible TokenData (r:0 w:1)
+	// Storage: Nonfungible Owned (r:0 w:1)
+	// Storage: RmrkEquip InernalPartId (r:0 w:1)
+	fn create_base(b: u32, ) -> Weight {
+		(43_216_000 as Weight)
+			// Standard Error: 10_000
+			.saturating_add((16_253_000 as Weight).saturating_mul(b as Weight))
+			.saturating_add(T::DbWeight::get().reads(6 as Weight))
+			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(T::DbWeight::get().writes(9 as Weight))
+			.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+	}
+	// Storage: Common CollectionProperties (r:1 w:0)
+	// Storage: Common CollectionById (r:1 w:0)
+	// Storage: RmrkEquip BaseHasDefaultTheme (r:1 w:0)
+	// Storage: Nonfungible TokensMinted (r:1 w:1)
+	// Storage: Nonfungible AccountBalance (r:1 w:1)
+	// Storage: Nonfungible TokenProperties (r:1 w:1)
+	// Storage: Nonfungible TokenData (r:0 w:1)
+	// Storage: Nonfungible Owned (r:0 w:1)
+	fn theme_add(b: u32, ) -> Weight {
+		(39_467_000 as Weight)
+			// Standard Error: 15_000
+			.saturating_add((2_332_000 as Weight).saturating_mul(b as Weight))
+			.saturating_add(T::DbWeight::get().reads(6 as Weight))
+			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+	}
+}
+
+// For backwards compatibility and tests
+impl WeightInfo for () {
+	// Storage: Common CreatedCollectionCount (r:1 w:1)
+	// Storage: Common DestroyedCollectionCount (r:1 w:0)
+	// Storage: System Account (r:2 w:2)
+	// Storage: Common CollectionPropertyPermissions (r:0 w:1)
+	// Storage: Common CollectionProperties (r:0 w:1)
+	// Storage: Common CollectionById (r:0 w:1)
+	// Storage: Nonfungible TokensMinted (r:1 w:1)
+	// Storage: Nonfungible AccountBalance (r:1 w:1)
+	// Storage: Nonfungible TokenProperties (r:1 w:1)
+	// Storage: Nonfungible TokenData (r:0 w:1)
+	// Storage: Nonfungible Owned (r:0 w:1)
+	// Storage: RmrkEquip InernalPartId (r:0 w:1)
+	fn create_base(b: u32, ) -> Weight {
+		(43_216_000 as Weight)
+			// Standard Error: 10_000
+			.saturating_add((16_253_000 as Weight).saturating_mul(b as Weight))
+			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
+			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(RocksDbWeight::get().writes(9 as Weight))
+			.saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+	}
+	// Storage: Common CollectionProperties (r:1 w:0)
+	// Storage: Common CollectionById (r:1 w:0)
+	// Storage: RmrkEquip BaseHasDefaultTheme (r:1 w:0)
+	// Storage: Nonfungible TokensMinted (r:1 w:1)
+	// Storage: Nonfungible AccountBalance (r:1 w:1)
+	// Storage: Nonfungible TokenProperties (r:1 w:1)
+	// Storage: Nonfungible TokenData (r:0 w:1)
+	// Storage: Nonfungible Owned (r:0 w:1)
+	fn theme_add(b: u32, ) -> Weight {
+		(39_467_000 as Weight)
+			// Standard Error: 15_000
+			.saturating_add((2_332_000 as Weight).saturating_mul(b as Weight))
+			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+	}
+}
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -950,7 +950,9 @@
 	#[derive(PartialEq)]
 	pub const RmrkCollectionSymbolLimit: u32 = MAX_TOKEN_PREFIX_LENGTH;
 	#[derive(PartialEq)]
-	pub const RmrkResourceSymbolLimit: u32 = MAX_TOKEN_PREFIX_LENGTH;
+	pub const RmrkResourceSymbolLimit: u32 = 10;
+	#[derive(PartialEq)]
+	pub const RmrkBaseSymbolLimit: u32 = MAX_TOKEN_PREFIX_LENGTH;
 	#[derive(PartialEq)]
 	pub const RmrkKeyLimit: u32 = 32;
 	#[derive(PartialEq)]
@@ -958,6 +960,8 @@
 	#[derive(PartialEq)]
 	pub const RmrkMaxCollectionsEquippablePerPart: u32 = 100;
 	#[derive(PartialEq)]
+	pub const MaxPropertiesPerTheme: u32 = 5;
+	#[derive(PartialEq)]
 	pub const RmrkPartsLimit: u32 = 25;
 	#[derive(PartialEq)]
 	pub const RmrkMaxPriorities: u32 = 25;
@@ -987,6 +991,7 @@
 	PartType<RmrkString, BoundedVec<RmrkCollectionId, RmrkMaxCollectionsEquippablePerPart>>;
 pub type RmrkThemeProperty = ThemeProperty<RmrkString>;
 pub type RmrkTheme = Theme<RmrkString, Vec<RmrkThemeProperty>>;
+pub type RmrkBoundedTheme = Theme<RmrkString, BoundedVec<RmrkThemeProperty, MaxPropertiesPerTheme>>;
 pub type RmrkResourceTypes = ResourceTypes<RmrkString, RmrkBoundedParts>;
 
 pub type RmrkBasicResource = BasicResource<RmrkString>;
@@ -995,6 +1000,7 @@
 
 pub type RmrkString = BoundedVec<u8, RmrkStringLimit>;
 pub type RmrkCollectionSymbol = BoundedVec<u8, RmrkCollectionSymbolLimit>;
+pub type RmrkBaseSymbol = BoundedVec<u8, RmrkBaseSymbolLimit>;
 pub type RmrkKeyString = BoundedVec<u8, RmrkKeyLimit>;
 pub type RmrkValueString = BoundedVec<u8, RmrkValueLimit>;
 pub type RmrkBoundedResource = BoundedVec<u8, RmrkResourceSymbolLimit>;
modifiedruntime/common/src/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/src/runtime_apis.rs
+++ b/runtime/common/src/runtime_apis.rs
@@ -458,6 +458,9 @@
                     #[cfg(not(feature = "unique-runtime"))]
                     list_benchmark!(list, extra, pallet_proxy_rmrk_core, RmrkCore);
 
+                    #[cfg(not(feature = "unique-runtime"))]
+                    list_benchmark!(list, extra, pallet_proxy_rmrk_equip, RmrkEquip);
+
                     // list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate);
 
                     let storage_info = AllPalletsReversedWithSystemFirst::storage_info();
@@ -506,6 +509,9 @@
                     #[cfg(not(feature = "unique-runtime"))]
                     add_benchmark!(params, batches, pallet_proxy_rmrk_core, RmrkCore);
 
+                    #[cfg(not(feature = "unique-runtime"))]
+                    add_benchmark!(params, batches, pallet_proxy_rmrk_equip, RmrkEquip);
+
                     // add_benchmark!(params, batches, pallet_evm_coder_substrate, EvmCoderSubstrate);
 
                     if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
before · runtime/opal/Cargo.toml
1################################################################################2# Package34[package]5authors = ['Unique Network <support@uniquenetwork.io>']6build = 'build.rs'7description = 'Opal Runtime'8edition = '2021'9homepage = 'https://unique.network'10license = 'GPLv3'11name = 'opal-runtime'12repository = 'https://github.com/UniqueNetwork/unique-chain'13version = '0.9.22'1415[package.metadata.docs.rs]16targets = ['x86_64-unknown-linux-gnu']1718[features]19default = ['std']20runtime-benchmarks = [21    'hex-literal',22    'frame-benchmarking',23    'frame-support/runtime-benchmarks',24    'frame-system-benchmarking',25    'frame-system/runtime-benchmarks',26    'pallet-ethereum/runtime-benchmarks',27    'pallet-evm-migration/runtime-benchmarks',28    'pallet-evm-coder-substrate/runtime-benchmarks',29    'pallet-balances/runtime-benchmarks',30    'pallet-timestamp/runtime-benchmarks',31    'pallet-common/runtime-benchmarks',32    'pallet-structure/runtime-benchmarks',33    'pallet-fungible/runtime-benchmarks',34    'pallet-refungible/runtime-benchmarks',35    'pallet-nonfungible/runtime-benchmarks',36    'pallet-proxy-rmrk-core/runtime-benchmarks',37    'pallet-unique/runtime-benchmarks',38    'pallet-inflation/runtime-benchmarks',39    'pallet-unique-scheduler/runtime-benchmarks',40    'pallet-xcm/runtime-benchmarks',41    'sp-runtime/runtime-benchmarks',42    'xcm-builder/runtime-benchmarks',43]44try-runtime = [45    'frame-try-runtime',46    'frame-executive/try-runtime',47    'frame-system/try-runtime',48]49std = [50    'codec/std',51    'cumulus-pallet-aura-ext/std',52    'cumulus-pallet-parachain-system/std',53    'cumulus-pallet-xcm/std',54    'cumulus-pallet-xcmp-queue/std',55    'cumulus-primitives-core/std',56    'cumulus-primitives-utility/std',57    'frame-try-runtime/std',58    'frame-executive/std',59    'frame-support/std',60    'frame-system/std',61    'frame-system-rpc-runtime-api/std',62    'pallet-aura/std',63    'pallet-balances/std',64    # 'pallet-contracts/std',65    # 'pallet-contracts-primitives/std',66    # 'pallet-contracts-rpc-runtime-api/std',67    # 'pallet-contract-helpers/std',68    'pallet-randomness-collective-flip/std',69    'pallet-sudo/std',70    'pallet-timestamp/std',71    'pallet-transaction-payment/std',72    'pallet-transaction-payment-rpc-runtime-api/std',73    'pallet-treasury/std',74    # 'pallet-vesting/std',75    'pallet-evm/std',76    'pallet-evm-migration/std',77    'pallet-evm-contract-helpers/std',78    'pallet-evm-transaction-payment/std',79    'pallet-evm-coder-substrate/std',80    'pallet-ethereum/std',81    'pallet-base-fee/std',82    'fp-rpc/std',83    'up-rpc/std',84    'fp-evm-mapping/std',85    'fp-self-contained/std',86    'parachain-info/std',87    'serde',88    'pallet-inflation/std',89    'pallet-common/std',90    'pallet-structure/std',91    'pallet-fungible/std',92    'pallet-refungible/std',93    'pallet-nonfungible/std',94    'pallet-proxy-rmrk-core/std',95    'pallet-proxy-rmrk-equip/std',96    'pallet-unique/std',97    'pallet-unique-scheduler/std',98    'pallet-charge-transaction/std',99    'up-data-structs/std',100    'sp-api/std',101    'sp-block-builder/std',102    "sp-consensus-aura/std",103    'sp-core/std',104    'sp-inherents/std',105    'sp-io/std',106    'sp-offchain/std',107    'sp-runtime/std',108    'sp-session/std',109    'sp-std/std',110    'sp-transaction-pool/std',111    'sp-version/std',112    'xcm/std',113    'xcm-builder/std',114    'xcm-executor/std',115    'unique-runtime-common/std',116    'rmrk-rpc/std',117118    "orml-vesting/std",119]120limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']121122################################################################################123# Substrate Dependencies124125[dependencies.codec]126default-features = false127features = ['derive']128package = 'parity-scale-codec'129version = '3.1.2'130131[dependencies.frame-benchmarking]132default-features = false133git = "https://github.com/paritytech/substrate"134optional = true135branch = "polkadot-v0.9.22"136137[dependencies.frame-try-runtime]138default-features = false139git = 'https://github.com/paritytech/substrate'140optional = true141branch = 'polkadot-v0.9.22'142143[dependencies.frame-executive]144default-features = false145git = "https://github.com/paritytech/substrate"146branch = "polkadot-v0.9.22"147148[dependencies.frame-support]149default-features = false150git = "https://github.com/paritytech/substrate"151branch = "polkadot-v0.9.22"152153[dependencies.frame-system]154default-features = false155git = "https://github.com/paritytech/substrate"156branch = "polkadot-v0.9.22"157158[dependencies.frame-system-benchmarking]159default-features = false160git = "https://github.com/paritytech/substrate"161optional = true162branch = "polkadot-v0.9.22"163164[dependencies.frame-system-rpc-runtime-api]165default-features = false166git = "https://github.com/paritytech/substrate"167branch = "polkadot-v0.9.22"168169[dependencies.hex-literal]170optional = true171version = '0.3.3'172173[dependencies.serde]174default-features = false175features = ['derive']176optional = true177version = '1.0.130'178179[dependencies.pallet-aura]180default-features = false181git = "https://github.com/paritytech/substrate"182branch = "polkadot-v0.9.22"183184[dependencies.pallet-balances]185default-features = false186git = "https://github.com/paritytech/substrate"187branch = "polkadot-v0.9.22"188189# Contracts specific packages190# [dependencies.pallet-contracts]191# git = 'https://github.com/paritytech/substrate'192# default-features = false193# branch = 'master'194# version = '4.0.0-dev'195196# [dependencies.pallet-contracts-primitives]197# git = 'https://github.com/paritytech/substrate'198# default-features = false199# branch = 'master'200# version = '4.0.0-dev'201202# [dependencies.pallet-contracts-rpc-runtime-api]203# git = 'https://github.com/paritytech/substrate'204# default-features = false205# branch = 'master'206# version = '4.0.0-dev'207208[dependencies.pallet-randomness-collective-flip]209default-features = false210git = "https://github.com/paritytech/substrate"211branch = "polkadot-v0.9.22"212213[dependencies.pallet-sudo]214default-features = false215git = "https://github.com/paritytech/substrate"216branch = "polkadot-v0.9.22"217218[dependencies.pallet-timestamp]219default-features = false220git = "https://github.com/paritytech/substrate"221branch = "polkadot-v0.9.22"222223[dependencies.pallet-transaction-payment]224default-features = false225git = "https://github.com/paritytech/substrate"226branch = "polkadot-v0.9.22"227228[dependencies.pallet-transaction-payment-rpc-runtime-api]229default-features = false230git = "https://github.com/paritytech/substrate"231branch = "polkadot-v0.9.22"232233[dependencies.pallet-treasury]234default-features = false235git = "https://github.com/paritytech/substrate"236branch = "polkadot-v0.9.22"237238# [dependencies.pallet-vesting]239# default-features = false240# git = 'https://github.com/paritytech/substrate'241# branch = 'master'242243[dependencies.sp-arithmetic]244default-features = false245git = "https://github.com/paritytech/substrate"246branch = "polkadot-v0.9.22"247248[dependencies.sp-api]249default-features = false250git = "https://github.com/paritytech/substrate"251branch = "polkadot-v0.9.22"252253[dependencies.sp-block-builder]254default-features = false255git = "https://github.com/paritytech/substrate"256branch = "polkadot-v0.9.22"257258[dependencies.sp-core]259default-features = false260git = "https://github.com/paritytech/substrate"261branch = "polkadot-v0.9.22"262263[dependencies.sp-consensus-aura]264default-features = false265git = "https://github.com/paritytech/substrate"266branch = "polkadot-v0.9.22"267268[dependencies.sp-inherents]269default-features = false270git = "https://github.com/paritytech/substrate"271branch = "polkadot-v0.9.22"272273[dependencies.sp-io]274default-features = false275git = "https://github.com/paritytech/substrate"276branch = "polkadot-v0.9.22"277278[dependencies.sp-offchain]279default-features = false280git = "https://github.com/paritytech/substrate"281branch = "polkadot-v0.9.22"282283[dependencies.sp-runtime]284default-features = false285git = "https://github.com/paritytech/substrate"286branch = "polkadot-v0.9.22"287288[dependencies.sp-session]289default-features = false290git = "https://github.com/paritytech/substrate"291branch = "polkadot-v0.9.22"292293[dependencies.sp-std]294default-features = false295git = "https://github.com/paritytech/substrate"296branch = "polkadot-v0.9.22"297298[dependencies.sp-transaction-pool]299default-features = false300git = "https://github.com/paritytech/substrate"301branch = "polkadot-v0.9.22"302303[dependencies.sp-version]304default-features = false305git = "https://github.com/paritytech/substrate"306branch = "polkadot-v0.9.22"307308[dependencies.smallvec]309version = '1.6.1'310311################################################################################312# Cumulus dependencies313314[dependencies.parachain-info]315default-features = false316git = "https://github.com/paritytech/cumulus"317branch = "polkadot-v0.9.22"318319[dependencies.cumulus-pallet-aura-ext]320git = "https://github.com/paritytech/cumulus"321branch = "polkadot-v0.9.22"322default-features = false323324[dependencies.cumulus-pallet-parachain-system]325git = "https://github.com/paritytech/cumulus"326branch = "polkadot-v0.9.22"327default-features = false328329[dependencies.cumulus-primitives-core]330git = "https://github.com/paritytech/cumulus"331branch = "polkadot-v0.9.22"332default-features = false333334[dependencies.cumulus-pallet-xcm]335git = "https://github.com/paritytech/cumulus"336branch = "polkadot-v0.9.22"337default-features = false338339[dependencies.cumulus-pallet-dmp-queue]340git = "https://github.com/paritytech/cumulus"341branch = "polkadot-v0.9.22"342default-features = false343344[dependencies.cumulus-pallet-xcmp-queue]345git = "https://github.com/paritytech/cumulus"346branch = "polkadot-v0.9.22"347default-features = false348349[dependencies.cumulus-primitives-utility]350git = "https://github.com/paritytech/cumulus"351branch = "polkadot-v0.9.22"352default-features = false353354[dependencies.cumulus-primitives-timestamp]355git = "https://github.com/paritytech/cumulus"356branch = "polkadot-v0.9.22"357default-features = false358359################################################################################360# Polkadot dependencies361362[dependencies.polkadot-parachain]363git = "https://github.com/paritytech/polkadot"364branch = "release-v0.9.22"365default-features = false366367[dependencies.xcm]368git = "https://github.com/paritytech/polkadot"369branch = "release-v0.9.22"370default-features = false371372[dependencies.xcm-builder]373git = "https://github.com/paritytech/polkadot"374branch = "release-v0.9.22"375default-features = false376377[dependencies.xcm-executor]378git = "https://github.com/paritytech/polkadot"379branch = "release-v0.9.22"380default-features = false381382[dependencies.pallet-xcm]383git = "https://github.com/paritytech/polkadot"384branch = "release-v0.9.22"385default-features = false386387[dependencies.orml-vesting]388git = "https://github.com/uniquenetwork/open-runtime-module-library"389branch = "unique-polkadot-v0.9.22"390version = "0.4.1-dev"391default-features = false392393################################################################################394# local dependencies395396[dependencies]397log = { version = "0.4.16", default-features = false }398unique-runtime-common = { path = "../common", default-features = false }399scale-info = { version = "2.0.1", default-features = false, features = [400    "derive",401] }402derivative = "2.2.0"403pallet-unique = { path = '../../pallets/unique', default-features = false }404up-rpc = { path = "../../primitives/rpc", default-features = false }405rmrk-rpc = { path = "../../primitives/rmrk-rpc", default-features = false }406fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" }407pallet-inflation = { path = '../../pallets/inflation', default-features = false }408up-data-structs = { path = '../../primitives/data-structs', default-features = false }409pallet-common = { default-features = false, path = "../../pallets/common" }410pallet-structure = { default-features = false, path = "../../pallets/structure" }411pallet-fungible = { default-features = false, path = "../../pallets/fungible" }412pallet-refungible = { default-features = false, path = "../../pallets/refungible" }413pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }414pallet-proxy-rmrk-core = { default-features = false, path = "../../pallets/proxy-rmrk-core", package = "pallet-rmrk-core" }415pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }416pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }417# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }418pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.22", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }419pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }420pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }421pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }422pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }423pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" }424pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" }425pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" }426fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" }427fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.22" }428429################################################################################430# Build Dependencies431432[build-dependencies.substrate-wasm-builder]433git = "https://github.com/paritytech/substrate"434branch = "polkadot-v0.9.22"
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -923,6 +923,7 @@
 }
 
 impl pallet_proxy_rmrk_equip::Config for Runtime {
+	type WeightInfo = pallet_proxy_rmrk_equip::weights::SubstrateWeight<Self>;
 	type Event = Event;
 }
 
modifiedruntime/quartz/src/lib.rsdiffbeforeafterboth
--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -922,6 +922,7 @@
 }
 
 impl pallet_proxy_rmrk_equip::Config for Runtime {
+	type WeightInfo = pallet_proxy_rmrk_equip::weights::SubstrateWeight<Self>;
 	type Event = Event;
 }