difftreelog
Merge pull request #810 from UniqueNetwork/fix/app-promotion-benchmarks
in: master
8 files changed
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -5550,7 +5550,7 @@
[[package]]
name = "pallet-app-promotion"
-version = "0.1.2"
+version = "0.1.3"
dependencies = [
"frame-benchmarking",
"frame-support",
pallets/app-promotion/CHANGELOG.mddiffbeforeafterboth--- a/pallets/app-promotion/CHANGELOG.md
+++ b/pallets/app-promotion/CHANGELOG.md
@@ -4,6 +4,12 @@
<!-- bureaucrate goes here -->
+## [0.1.3] - 2022-12-25
+
+### Fixed
+
+- Benchmarks for `payoutStakers` and `unstake` extrinsics.
+
## [0.1.2] - 2022-12-20
### Fixed
pallets/app-promotion/Cargo.tomldiffbeforeafterboth--- a/pallets/app-promotion/Cargo.toml
+++ b/pallets/app-promotion/Cargo.toml
@@ -9,13 +9,13 @@
license = 'GPLv3'
name = 'pallet-app-promotion'
repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = '0.1.2'
+version = '0.1.3'
[package.metadata.docs.rs]
targets = ['x86_64-unknown-linux-gnu']
[features]
-default = ['std']
+default = ['std',]
runtime-benchmarks = [
'frame-benchmarking',
'frame-support/runtime-benchmarks',
pallets/app-promotion/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/app-promotion/src/benchmarking.rs
+++ b/pallets/app-promotion/src/benchmarking.rs
@@ -77,27 +77,36 @@
} : _(RawOrigin::Root, T::CrossAccountId::from_sub(pallet_admin))
payout_stakers{
- let b in 1..101;
+ let b in 1..100;
let pallet_admin = account::<T::AccountId>("admin", 1, SEED);
let share = Perbill::from_rational(1u32, 20);
PromototionPallet::<T>::set_admin_address(RawOrigin::Root.into(), T::CrossAccountId::from_sub(pallet_admin.clone()))?;
<T as Config>::Currency::make_free_balance_be(&pallet_admin, Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
+ <T as Config>::Currency::make_free_balance_be(&<T as pallet::Config>::TreasuryAccountId::get(), Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
- let staker: T::AccountId = account("caller", 0, SEED);
- <T as Config>::Currency::make_free_balance_be(&staker, Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
let stakers: Vec<T::AccountId> = (0..b).map(|index| account("staker", index, SEED)).collect();
stakers.iter().for_each(|staker| {
<T as Config>::Currency::make_free_balance_be(&staker, Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
});
- (0..10).try_for_each(|_| {
+ (1..11).try_for_each(|i| {
+ <frame_system::Pallet<T>>::set_block_number(i.into());
+ T::RelayBlockNumberProvider::set_block_number((2*i).into());
+ assert_eq!(<frame_system::Pallet<T>>::block_number(), i.into());
+ assert_eq!(T::RelayBlockNumberProvider::current_block_number(), (2*i).into());
stakers.iter()
- .map(|staker| {
- PromototionPallet::<T>::stake(RawOrigin::Signed(staker.clone()).into(), Into::<BalanceOf<T>>::into(100u128) * T::Nominal::get())
- }).collect::<Result<Vec<_>, _>>()?;
- <frame_system::Pallet<T>>::finalize();
+ .map(|staker| {
+ PromototionPallet::<T>::stake(RawOrigin::Signed(staker.clone()).into(), Into::<BalanceOf<T>>::into(100u128) * T::Nominal::get())
+ }).collect::<Result<Vec<_>, _>>()?;
+
Result::<(), sp_runtime::DispatchError>::Ok(())
})?;
+
+ let stakes = Staked::<T>::iter_prefix((&stakers[0],)).into_iter().collect::<Vec<_>>();
+ assert_eq!(stakes.len(), 10);
+
+ <frame_system::Pallet<T>>::set_block_number(15_000.into());
+ T::RelayBlockNumberProvider::set_block_number(30_000.into());
} : _(RawOrigin::Signed(pallet_admin.clone()), Some(b as u8))
stake {
@@ -110,9 +119,12 @@
let caller = account::<T::AccountId>("caller", 0, SEED);
let share = Perbill::from_rational(1u32, 20);
let _ = <T as Config>::Currency::make_free_balance_be(&caller, Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
- (0..10).map(|_| {
+ (1..11).map(|i| {
// used to change block number
- <frame_system::Pallet<T>>::finalize();
+ <frame_system::Pallet<T>>::set_block_number(i.into());
+ T::RelayBlockNumberProvider::set_block_number((2*i).into());
+ assert_eq!(<frame_system::Pallet<T>>::block_number(), i.into());
+ assert_eq!(T::RelayBlockNumberProvider::current_block_number(), (2*i).into());
PromototionPallet::<T>::stake(RawOrigin::Signed(caller.clone()).into(), share * <T as Config>::Currency::total_balance(&caller))
}).collect::<Result<Vec<_>, _>>()?;
pallets/app-promotion/src/weights.rsdiffbeforeafterboth--- a/pallets/app-promotion/src/weights.rs
+++ b/pallets/app-promotion/src/weights.rs
@@ -3,7 +3,7 @@
//! Autogenerated weights for pallet_app_promotion
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-09-07, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-12-25, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
// Executed Command:
@@ -51,77 +51,84 @@
// Storage: AppPromotion PendingUnstake (r:1 w:0)
// Storage: System Account (r:1 w:1)
fn on_initialize(b: u32, ) -> Weight {
- Weight::from_ref_time(2_651_000)
- // Standard Error: 103_000
- .saturating_add(Weight::from_ref_time(6_024_000).saturating_mul(b as u64))
+ Weight::from_ref_time(3_079_948 as u64)
+ // Standard Error: 30_376
+ .saturating_add(Weight::from_ref_time(6_343_630 as u64).saturating_mul(b as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
}
// Storage: AppPromotion Admin (r:0 w:1)
fn set_admin_address() -> Weight {
- Weight::from_ref_time(7_117_000)
+ Weight::from_ref_time(6_653_000 as u64)
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: AppPromotion Admin (r:1 w:0)
+ // Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)
// Storage: ParachainSystem ValidationData (r:1 w:0)
- // Storage: AppPromotion NextCalculatedRecord (r:1 w:1)
- // Storage: AppPromotion Staked (r:2 w:0)
+ // Storage: AppPromotion PreviousCalculatedRecord (r:1 w:1)
+ // Storage: AppPromotion Staked (r:11 w:10)
+ // Storage: System Account (r:2 w:2)
+ // Storage: Balances Locks (r:1 w:1)
+ // Storage: AppPromotion TotalStaked (r:1 w:1)
fn payout_stakers(b: u32, ) -> Weight {
- Weight::from_ref_time(9_958_000)
- // Standard Error: 8_000
- .saturating_add(Weight::from_ref_time(4_406_000).saturating_mul(b as u64))
- .saturating_add(T::DbWeight::get().reads(4 as u64))
- .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
- .saturating_add(T::DbWeight::get().writes(1 as u64))
+ Weight::from_ref_time(74_048_000 as u64)
+ // Standard Error: 33_223
+ .saturating_add(Weight::from_ref_time(57_702_092 as u64).saturating_mul(b as u64))
+ .saturating_add(T::DbWeight::get().reads(7 as u64))
+ .saturating_add(T::DbWeight::get().reads((12 as u64).saturating_mul(b as u64)))
+ .saturating_add(T::DbWeight::get().writes(3 as u64))
+ .saturating_add(T::DbWeight::get().writes((12 as u64).saturating_mul(b as u64)))
}
// Storage: AppPromotion StakesPerAccount (r:1 w:1)
+ // Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
// Storage: ParachainSystem ValidationData (r:1 w:0)
// Storage: AppPromotion Staked (r:1 w:1)
// Storage: AppPromotion TotalStaked (r:1 w:1)
fn stake() -> Weight {
- Weight::from_ref_time(20_574_000)
- .saturating_add(T::DbWeight::get().reads(6 as u64))
+ Weight::from_ref_time(20_314_000 as u64)
+ .saturating_add(T::DbWeight::get().reads(7 as u64))
.saturating_add(T::DbWeight::get().writes(5 as u64))
}
+ // Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)
// Storage: AppPromotion PendingUnstake (r:1 w:1)
- // Storage: AppPromotion Staked (r:2 w:1)
+ // Storage: AppPromotion Staked (r:11 w:10)
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: AppPromotion TotalStaked (r:1 w:1)
// Storage: AppPromotion StakesPerAccount (r:0 w:1)
fn unstake() -> Weight {
- Weight::from_ref_time(31_703_000)
- .saturating_add(T::DbWeight::get().reads(6 as u64))
- .saturating_add(T::DbWeight::get().writes(6 as u64))
+ Weight::from_ref_time(64_582_000 as u64)
+ .saturating_add(T::DbWeight::get().reads(16 as u64))
+ .saturating_add(T::DbWeight::get().writes(15 as u64))
}
// Storage: AppPromotion Admin (r:1 w:0)
// Storage: Common CollectionById (r:1 w:1)
fn sponsor_collection() -> Weight {
- Weight::from_ref_time(12_932_000)
+ Weight::from_ref_time(16_364_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: AppPromotion Admin (r:1 w:0)
// Storage: Common CollectionById (r:1 w:1)
fn stop_sponsoring_collection() -> Weight {
- Weight::from_ref_time(12_453_000)
+ Weight::from_ref_time(15_710_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: AppPromotion Admin (r:1 w:0)
// Storage: EvmContractHelpers Sponsoring (r:0 w:1)
fn sponsor_contract() -> Weight {
- Weight::from_ref_time(11_952_000)
+ Weight::from_ref_time(12_669_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: AppPromotion Admin (r:1 w:0)
// Storage: EvmContractHelpers Sponsoring (r:1 w:1)
fn stop_sponsoring_contract() -> Weight {
- Weight::from_ref_time(12_538_000)
+ Weight::from_ref_time(14_406_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
@@ -132,77 +139,84 @@
// Storage: AppPromotion PendingUnstake (r:1 w:0)
// Storage: System Account (r:1 w:1)
fn on_initialize(b: u32, ) -> Weight {
- Weight::from_ref_time(2_651_000)
- // Standard Error: 103_000
- .saturating_add(Weight::from_ref_time(6_024_000).saturating_mul(b as u64))
+ Weight::from_ref_time(3_079_948 as u64)
+ // Standard Error: 30_376
+ .saturating_add(Weight::from_ref_time(6_343_630 as u64).saturating_mul(b as u64))
.saturating_add(RocksDbWeight::get().reads(1 as u64))
.saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
.saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
}
// Storage: AppPromotion Admin (r:0 w:1)
fn set_admin_address() -> Weight {
- Weight::from_ref_time(7_117_000)
+ Weight::from_ref_time(6_653_000 as u64)
.saturating_add(RocksDbWeight::get().writes(1 as u64))
}
// Storage: AppPromotion Admin (r:1 w:0)
+ // Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)
// Storage: ParachainSystem ValidationData (r:1 w:0)
- // Storage: AppPromotion NextCalculatedRecord (r:1 w:1)
- // Storage: AppPromotion Staked (r:2 w:0)
+ // Storage: AppPromotion PreviousCalculatedRecord (r:1 w:1)
+ // Storage: AppPromotion Staked (r:11 w:10)
+ // Storage: System Account (r:2 w:2)
+ // Storage: Balances Locks (r:1 w:1)
+ // Storage: AppPromotion TotalStaked (r:1 w:1)
fn payout_stakers(b: u32, ) -> Weight {
- Weight::from_ref_time(9_958_000)
- // Standard Error: 8_000
- .saturating_add(Weight::from_ref_time(4_406_000).saturating_mul(b as u64))
- .saturating_add(RocksDbWeight::get().reads(4 as u64))
- .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
- .saturating_add(RocksDbWeight::get().writes(1 as u64))
+ Weight::from_ref_time(74_048_000 as u64)
+ // Standard Error: 33_223
+ .saturating_add(Weight::from_ref_time(57_702_092 as u64).saturating_mul(b as u64))
+ .saturating_add(RocksDbWeight::get().reads(7 as u64))
+ .saturating_add(RocksDbWeight::get().reads((12 as u64).saturating_mul(b as u64)))
+ .saturating_add(RocksDbWeight::get().writes(3 as u64))
+ .saturating_add(RocksDbWeight::get().writes((12 as u64).saturating_mul(b as u64)))
}
// Storage: AppPromotion StakesPerAccount (r:1 w:1)
+ // Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
// Storage: ParachainSystem ValidationData (r:1 w:0)
// Storage: AppPromotion Staked (r:1 w:1)
// Storage: AppPromotion TotalStaked (r:1 w:1)
fn stake() -> Weight {
- Weight::from_ref_time(20_574_000)
- .saturating_add(RocksDbWeight::get().reads(6 as u64))
+ Weight::from_ref_time(20_314_000 as u64)
+ .saturating_add(RocksDbWeight::get().reads(7 as u64))
.saturating_add(RocksDbWeight::get().writes(5 as u64))
}
+ // Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0)
// Storage: AppPromotion PendingUnstake (r:1 w:1)
- // Storage: AppPromotion Staked (r:2 w:1)
+ // Storage: AppPromotion Staked (r:11 w:10)
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: AppPromotion TotalStaked (r:1 w:1)
// Storage: AppPromotion StakesPerAccount (r:0 w:1)
fn unstake() -> Weight {
- Weight::from_ref_time(31_703_000)
- .saturating_add(RocksDbWeight::get().reads(6 as u64))
- .saturating_add(RocksDbWeight::get().writes(6 as u64))
+ Weight::from_ref_time(64_582_000 as u64)
+ .saturating_add(RocksDbWeight::get().reads(16 as u64))
+ .saturating_add(RocksDbWeight::get().writes(15 as u64))
}
// Storage: AppPromotion Admin (r:1 w:0)
// Storage: Common CollectionById (r:1 w:1)
fn sponsor_collection() -> Weight {
- Weight::from_ref_time(12_932_000)
+ Weight::from_ref_time(16_364_000 as u64)
.saturating_add(RocksDbWeight::get().reads(2 as u64))
.saturating_add(RocksDbWeight::get().writes(1 as u64))
}
// Storage: AppPromotion Admin (r:1 w:0)
// Storage: Common CollectionById (r:1 w:1)
fn stop_sponsoring_collection() -> Weight {
- Weight::from_ref_time(12_453_000)
+ Weight::from_ref_time(15_710_000 as u64)
.saturating_add(RocksDbWeight::get().reads(2 as u64))
.saturating_add(RocksDbWeight::get().writes(1 as u64))
}
// Storage: AppPromotion Admin (r:1 w:0)
// Storage: EvmContractHelpers Sponsoring (r:0 w:1)
fn sponsor_contract() -> Weight {
- Weight::from_ref_time(11_952_000)
+ Weight::from_ref_time(12_669_000 as u64)
.saturating_add(RocksDbWeight::get().reads(1 as u64))
.saturating_add(RocksDbWeight::get().writes(1 as u64))
}
// Storage: AppPromotion Admin (r:1 w:0)
// Storage: EvmContractHelpers Sponsoring (r:1 w:1)
fn stop_sponsoring_contract() -> Weight {
- Weight::from_ref_time(12_538_000)
+ Weight::from_ref_time(14_406_000 as u64)
.saturating_add(RocksDbWeight::get().reads(2 as u64))
.saturating_add(RocksDbWeight::get().writes(1 as u64))
}
runtime/common/mod.rsdiffbeforeafterboth--- a/runtime/common/mod.rs
+++ b/runtime/common/mod.rs
@@ -145,6 +145,10 @@
.map(|d| d.relay_parent_number)
.unwrap_or_default()
}
+ #[cfg(feature = "runtime-benchmarks")]
+ fn set_block_number(block: Self::BlockNumber) {
+ cumulus_pallet_parachain_system::RelaychainBlockNumberProvider::<T>::set_block_number(block)
+ }
}
pub(crate) struct CheckInherents;
runtime/opal/Cargo.tomldiffbeforeafterboth--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -44,6 +44,7 @@
'sp-runtime/runtime-benchmarks',
'xcm-builder/runtime-benchmarks',
'pallet-maintenance/runtime-benchmarks',
+ 'cumulus-pallet-parachain-system/runtime-benchmarks'
]
try-runtime = [
'frame-try-runtime',
runtime/quartz/Cargo.tomldiffbeforeafterboth1################################################################################2# Package34[package]5authors = ['Unique Network <support@uniquenetwork.io>']6build = 'build.rs'7description = 'Quartz Runtime'8edition = '2021'9homepage = 'https://unique.network'10license = 'GPLv3'11name = 'quartz-runtime'12repository = 'https://github.com/UniqueNetwork/unique-chain'13version.workspace = true1415[package.metadata.docs.rs]16targets = ['x86_64-unknown-linux-gnu']1718[features]19default = ['std', 'quartz-runtime']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-proxy-rmrk-equip/runtime-benchmarks',38 'pallet-unique/runtime-benchmarks',39 'pallet-foreign-assets/runtime-benchmarks',40 'pallet-inflation/runtime-benchmarks',41 'pallet-app-promotion/runtime-benchmarks',42 'pallet-xcm/runtime-benchmarks',43 'sp-runtime/runtime-benchmarks',44 'xcm-builder/runtime-benchmarks',45 'pallet-maintenance/runtime-benchmarks',46]47try-runtime = [48 'frame-try-runtime',49 'frame-executive/try-runtime',50 'frame-support/try-runtime',51 'frame-system/try-runtime',52 'cumulus-pallet-parachain-system/try-runtime',53 'parachain-info/try-runtime',54 'pallet-aura/try-runtime',55 'cumulus-pallet-aura-ext/try-runtime',56 'pallet-balances/try-runtime',57 'pallet-randomness-collective-flip/try-runtime',58 'pallet-timestamp/try-runtime',59 'pallet-transaction-payment/try-runtime',60 'pallet-treasury/try-runtime',61 'pallet-sudo/try-runtime',62 'orml-vesting/try-runtime',63 'orml-xtokens/try-runtime',64 'orml-tokens/try-runtime',65 'cumulus-pallet-xcmp-queue/try-runtime',66 'pallet-xcm/try-runtime',67 'cumulus-pallet-xcm/try-runtime',68 'cumulus-pallet-dmp-queue/try-runtime',69 'pallet-inflation/try-runtime',70 'pallet-unique/try-runtime',71 'pallet-configuration/try-runtime',72 'pallet-charge-transaction/try-runtime',73 'pallet-common/try-runtime',74 'pallet-fungible/try-runtime',75 'pallet-refungible/try-runtime',76 'pallet-nonfungible/try-runtime',77 'pallet-structure/try-runtime',78 'pallet-proxy-rmrk-core/try-runtime',79 'pallet-proxy-rmrk-equip/try-runtime',80 'pallet-app-promotion/try-runtime',81 'pallet-foreign-assets/try-runtime',82 'pallet-ethereum/try-runtime',83 'pallet-evm/try-runtime',84 'pallet-evm-coder-substrate/try-runtime',85 'pallet-evm-contract-helpers/try-runtime',86 'pallet-evm-transaction-payment/try-runtime',87 'pallet-evm-migration/try-runtime',88 'pallet-maintenance/try-runtime',89 'fp-self-contained/try-runtime',90]91std = [92 'codec/std',93 'cumulus-pallet-aura-ext/std',94 'cumulus-pallet-parachain-system/std',95 'cumulus-pallet-xcm/std',96 'cumulus-pallet-xcmp-queue/std',97 'cumulus-primitives-core/std',98 'cumulus-primitives-utility/std',99 'frame-try-runtime/std',100 'frame-executive/std',101 'frame-support/std',102 'frame-system/std',103 'frame-system-rpc-runtime-api/std',104 'pallet-aura/std',105 'pallet-balances/std',106 # 'pallet-contracts/std',107 # 'pallet-contracts-primitives/std',108 # 'pallet-contracts-rpc-runtime-api/std',109 # 'pallet-contract-helpers/std',110 'pallet-randomness-collective-flip/std',111 'pallet-sudo/std',112 'pallet-timestamp/std',113 'pallet-transaction-payment/std',114 'pallet-transaction-payment-rpc-runtime-api/std',115 'pallet-treasury/std',116 'pallet-evm/std',117 'pallet-evm-migration/std',118 'pallet-evm-contract-helpers/std',119 'pallet-evm-transaction-payment/std',120 'pallet-evm-coder-substrate/std',121 'pallet-ethereum/std',122 'pallet-base-fee/std',123 'fp-rpc/std',124 'up-rpc/std',125 'up-pov-estimate-rpc/std',126 'app-promotion-rpc/std',127 'fp-evm-mapping/std',128 'fp-self-contained/std',129 'parachain-info/std',130 'serde',131 'pallet-inflation/std',132 'pallet-configuration/std',133 'pallet-app-promotion/std',134 'pallet-common/std',135 'pallet-structure/std',136 'pallet-fungible/std',137 'pallet-refungible/std',138 'pallet-nonfungible/std',139 'pallet-proxy-rmrk-core/std',140 'pallet-proxy-rmrk-equip/std',141 'pallet-unique/std',142 'pallet-charge-transaction/std',143 'up-data-structs/std',144 'sp-api/std',145 'sp-block-builder/std',146 "sp-consensus-aura/std",147 'sp-core/std',148 'sp-inherents/std',149 'sp-io/std',150 'sp-offchain/std',151 'sp-runtime/std',152 'sp-session/std',153 'sp-std/std',154 'sp-transaction-pool/std',155 'sp-version/std',156 'xcm/std',157 'xcm-builder/std',158 'xcm-executor/std',159 'up-common/std',160 'rmrk-rpc/std',161 'evm-coder/std',162 'up-sponsorship/std',163164 "orml-vesting/std",165 "orml-tokens/std",166 "orml-xtokens/std",167 "orml-traits/std",168 "pallet-foreign-assets/std",169 "pallet-maintenance/std",170]171limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']172quartz-runtime = ['refungible', 'app-promotion', 'foreign-assets']173pov-estimate = []174175refungible = []176scheduler = []177rmrk = []178foreign-assets = []179app-promotion = []180181################################################################################182# Substrate Dependencies183184[dependencies.codec]185default-features = false186features = ['derive']187package = 'parity-scale-codec'188version = '3.1.2'189190[dependencies.frame-benchmarking]191default-features = false192git = "https://github.com/paritytech/substrate"193optional = true194branch = "polkadot-v0.9.36"195196[dependencies.frame-try-runtime]197default-features = false198git = "https://github.com/paritytech/substrate"199optional = true200branch = "polkadot-v0.9.36"201202[dependencies.frame-executive]203default-features = false204git = "https://github.com/paritytech/substrate"205branch = "polkadot-v0.9.36"206207[dependencies.frame-support]208default-features = false209git = "https://github.com/paritytech/substrate"210branch = "polkadot-v0.9.36"211212[dependencies.frame-system]213default-features = false214git = "https://github.com/paritytech/substrate"215branch = "polkadot-v0.9.36"216217[dependencies.frame-system-benchmarking]218default-features = false219git = "https://github.com/paritytech/substrate"220optional = true221branch = "polkadot-v0.9.36"222223[dependencies.frame-system-rpc-runtime-api]224default-features = false225git = "https://github.com/paritytech/substrate"226branch = "polkadot-v0.9.36"227228[dependencies.hex-literal]229optional = true230version = '0.3.3'231232[dependencies.serde]233default-features = false234features = ['derive']235optional = true236version = '1.0.130'237238[dependencies.pallet-aura]239default-features = false240git = "https://github.com/paritytech/substrate"241branch = "polkadot-v0.9.36"242243[dependencies.pallet-balances]244default-features = false245git = "https://github.com/paritytech/substrate"246branch = "polkadot-v0.9.36"247248# Contracts specific packages249# [dependencies.pallet-contracts]250# git = 'https://github.com/paritytech/substrate'251# default-features = false252# branch = 'master'253# version = '4.0.0-dev'254255# [dependencies.pallet-contracts-primitives]256# git = 'https://github.com/paritytech/substrate'257# default-features = false258# branch = 'master'259# version = '4.0.0-dev'260261# [dependencies.pallet-contracts-rpc-runtime-api]262# git = 'https://github.com/paritytech/substrate'263# default-features = false264# branch = 'master'265# version = '4.0.0-dev'266267[dependencies.pallet-randomness-collective-flip]268default-features = false269git = "https://github.com/paritytech/substrate"270branch = "polkadot-v0.9.36"271272[dependencies.pallet-sudo]273default-features = false274git = "https://github.com/paritytech/substrate"275branch = "polkadot-v0.9.36"276277[dependencies.pallet-timestamp]278default-features = false279git = "https://github.com/paritytech/substrate"280branch = "polkadot-v0.9.36"281282[dependencies.pallet-transaction-payment]283default-features = false284git = "https://github.com/paritytech/substrate"285branch = "polkadot-v0.9.36"286287[dependencies.pallet-transaction-payment-rpc-runtime-api]288default-features = false289git = "https://github.com/paritytech/substrate"290branch = "polkadot-v0.9.36"291292[dependencies.pallet-treasury]293default-features = false294git = "https://github.com/paritytech/substrate"295branch = "polkadot-v0.9.36"296297[dependencies.sp-arithmetic]298default-features = false299git = "https://github.com/paritytech/substrate"300branch = "polkadot-v0.9.36"301302[dependencies.sp-api]303default-features = false304git = "https://github.com/paritytech/substrate"305branch = "polkadot-v0.9.36"306307[dependencies.sp-block-builder]308default-features = false309git = "https://github.com/paritytech/substrate"310branch = "polkadot-v0.9.36"311312[dependencies.sp-core]313default-features = false314git = "https://github.com/paritytech/substrate"315branch = "polkadot-v0.9.36"316317[dependencies.sp-consensus-aura]318default-features = false319git = "https://github.com/paritytech/substrate"320branch = "polkadot-v0.9.36"321322[dependencies.sp-inherents]323default-features = false324git = "https://github.com/paritytech/substrate"325branch = "polkadot-v0.9.36"326327[dependencies.sp-io]328default-features = false329git = "https://github.com/paritytech/substrate"330branch = "polkadot-v0.9.36"331332[dependencies.sp-offchain]333default-features = false334git = "https://github.com/paritytech/substrate"335branch = "polkadot-v0.9.36"336337[dependencies.sp-runtime]338default-features = false339git = "https://github.com/paritytech/substrate"340branch = "polkadot-v0.9.36"341342[dependencies.sp-session]343default-features = false344git = "https://github.com/paritytech/substrate"345branch = "polkadot-v0.9.36"346347[dependencies.sp-std]348default-features = false349git = "https://github.com/paritytech/substrate"350branch = "polkadot-v0.9.36"351352[dependencies.sp-transaction-pool]353default-features = false354git = "https://github.com/paritytech/substrate"355branch = "polkadot-v0.9.36"356357[dependencies.sp-version]358default-features = false359git = "https://github.com/paritytech/substrate"360branch = "polkadot-v0.9.36"361362[dependencies.smallvec]363version = '1.6.1'364365################################################################################366# Cumulus dependencies367368[dependencies.parachain-info]369default-features = false370git = "https://github.com/paritytech/cumulus"371branch = "polkadot-v0.9.36"372373[dependencies.cumulus-pallet-aura-ext]374git = "https://github.com/paritytech/cumulus"375branch = "polkadot-v0.9.36"376default-features = false377378[dependencies.cumulus-pallet-parachain-system]379git = "https://github.com/paritytech/cumulus"380branch = "polkadot-v0.9.36"381default-features = false382383[dependencies.cumulus-primitives-core]384git = "https://github.com/paritytech/cumulus"385branch = "polkadot-v0.9.36"386default-features = false387388[dependencies.cumulus-pallet-xcm]389git = "https://github.com/paritytech/cumulus"390branch = "polkadot-v0.9.36"391default-features = false392393[dependencies.cumulus-pallet-dmp-queue]394git = "https://github.com/paritytech/cumulus"395branch = "polkadot-v0.9.36"396default-features = false397398[dependencies.cumulus-pallet-xcmp-queue]399git = "https://github.com/paritytech/cumulus"400branch = "polkadot-v0.9.36"401default-features = false402403[dependencies.cumulus-primitives-utility]404git = "https://github.com/paritytech/cumulus"405branch = "polkadot-v0.9.36"406default-features = false407408[dependencies.cumulus-primitives-timestamp]409git = "https://github.com/paritytech/cumulus"410branch = "polkadot-v0.9.36"411default-features = false412413################################################################################414# Polkadot dependencies415416[dependencies.polkadot-parachain]417git = "https://github.com/paritytech/polkadot"418branch = "release-v0.9.36"419default-features = false420421[dependencies.xcm]422git = "https://github.com/paritytech/polkadot"423branch = "release-v0.9.36"424default-features = false425426[dependencies.xcm-builder]427git = "https://github.com/paritytech/polkadot"428branch = "release-v0.9.36"429default-features = false430431[dependencies.xcm-executor]432git = "https://github.com/paritytech/polkadot"433branch = "release-v0.9.36"434default-features = false435436[dependencies.pallet-xcm]437git = "https://github.com/paritytech/polkadot"438branch = "release-v0.9.36"439default-features = false440441################################################################################442# RMRK dependencies443444# todo git445[dependencies.rmrk-rpc]446default-features = false447path = "../../primitives/rmrk-rpc"448449################################################################################450# local dependencies451452[dependencies]453orml-vesting.workspace = true454orml-xtokens.workspace = true455orml-tokens.workspace = true456orml-traits.workspace = true457458log = { version = "0.4.16", default-features = false }459up-common = { path = "../../primitives/common", default-features = false }460scale-info = { version = "2.0.1", default-features = false, features = [461 "derive",462] }463derivative = "2.2.0"464pallet-unique = { path = '../../pallets/unique', default-features = false }465up-rpc = { path = "../../primitives/rpc", default-features = false }466up-pov-estimate-rpc = { path = "../../primitives/pov-estimate-rpc", default-features = false }467app-promotion-rpc = { path = "../../primitives/app_promotion_rpc", default-features = false }468fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }469fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }470pallet-inflation = { path = '../../pallets/inflation', default-features = false }471pallet-app-promotion = { path = '../../pallets/app-promotion', default-features = false }472up-data-structs = { path = '../../primitives/data-structs', default-features = false }473pallet-configuration = { default-features = false, path = "../../pallets/configuration" }474pallet-common = { default-features = false, path = "../../pallets/common" }475pallet-structure = { default-features = false, path = "../../pallets/structure" }476pallet-fungible = { default-features = false, path = "../../pallets/fungible" }477pallet-refungible = { default-features = false, path = "../../pallets/refungible" }478pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }479pallet-proxy-rmrk-core = { default-features = false, path = "../../pallets/proxy-rmrk-core", package = "pallet-rmrk-core" }480pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }481# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }482pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.36", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }483pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }484pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }485pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }486pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }487pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }488pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }489pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }490fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }491fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }492pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }493evm-coder = { default-features = false, path = '../../crates/evm-coder' }494up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.36' }495pallet-foreign-assets = { default-features = false, path = "../../pallets/foreign-assets" }496pallet-maintenance = { default-features = false, path = "../../pallets/maintenance" }497precompile-utils-macro = { path = "../common/ethereum/precompiles/utils/macro" }498num_enum = { version = "0.5.3", default-features = false }499500################################################################################501# Other Dependencies502503impl-trait-for-tuples = "0.2.2"504505################################################################################506# Dev Dependencies507508[dev-dependencies.logtest]509version = "2.0.0"510511################################################################################512# Build Dependencies513514[build-dependencies.substrate-wasm-builder]515git = "https://github.com/paritytech/substrate"516branch = "polkadot-v0.9.36"