mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-18 14:05:41 +00:00
Upstream Statemine v4 Changes (#649)
* bump runtime spec version * remove applied runtime migrations * bump transaction_version necessary because of extrinsic API changes to pallet-xcm https://github.com/paritytech/polkadot/pull/3693 * Fix Benchmarks for Statemine-V4 release (#639) * register validators * register_as_candidate & leave_intent fixed * new_session benchmark fixed * intent_leave_modified * clean up * clean up * benchmark script updated * update cargo.lock * done Co-authored-by: Alexander Popiak <alexander.popiak@parity.io> * Version bump (#648) * Version bump fix #646 * Revert "Version bump" This reverts commit 07517e0e76a37a1dd67176fec0524d0211666635. * Bump polkadot-collator version * Update polkadot-parachains/Cargo.toml Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update deps * Bump version to 4.0.0 Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * cargo toml fix * update deps and remove DisabledValidatorThreshold * cargo +nightly fmt * fix compile error * fix client tests after Polkadot update Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com> Co-authored-by: Chevdor <chevdor@users.noreply.github.com> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
This commit is contained in:
Generated
+332
-313
File diff suppressed because it is too large
Load Diff
@@ -23,8 +23,8 @@ use polkadot_primitives::v1::{
|
|||||||
Block as PBlock, BlockNumber, CandidateCommitments, CandidateDescriptor, CandidateEvent,
|
Block as PBlock, BlockNumber, CandidateCommitments, CandidateDescriptor, CandidateEvent,
|
||||||
CommittedCandidateReceipt, CoreState, GroupRotationInfo, Hash as PHash, HeadData, Id as ParaId,
|
CommittedCandidateReceipt, CoreState, GroupRotationInfo, Hash as PHash, HeadData, Id as ParaId,
|
||||||
InboundDownwardMessage, InboundHrmpMessage, OccupiedCoreAssumption, ParachainHost,
|
InboundDownwardMessage, InboundHrmpMessage, OccupiedCoreAssumption, ParachainHost,
|
||||||
PersistedValidationData, SessionIndex, SessionInfo, SigningContext, ValidationCode,
|
PersistedValidationData, ScrapedOnChainVotes, SessionIndex, SessionInfo, SigningContext,
|
||||||
ValidationCodeHash, ValidatorId, ValidatorIndex,
|
ValidationCode, ValidationCodeHash, ValidatorId, ValidatorIndex,
|
||||||
};
|
};
|
||||||
use polkadot_test_client::{
|
use polkadot_test_client::{
|
||||||
Client as PClient, ClientBlockImportExt, DefaultTestClientBuilderExt, FullBackend as PBackend,
|
Client as PClient, ClientBlockImportExt, DefaultTestClientBuilderExt, FullBackend as PBackend,
|
||||||
@@ -487,5 +487,9 @@ sp_api::mock_impl_runtime_apis! {
|
|||||||
fn validation_code_by_hash(_: ValidationCodeHash) -> Option<ValidationCode> {
|
fn validation_code_by_hash(_: ValidationCodeHash) -> Option<ValidationCode> {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn on_chain_votes() -> Option<ScrapedOnChainVotes<Hash>> {
|
||||||
|
None
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,8 +15,10 @@ targets = ['x86_64-unknown-linux-gnu']
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
log = { version = "0.4.0", default-features = false }
|
log = { version = "0.4.0", default-features = false }
|
||||||
codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = '2.3.0' }
|
codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = '2.3.0' }
|
||||||
|
rand = { version = "0.7.2", default-features = false }
|
||||||
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
|
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
|
||||||
serde = { version = "1.0.119", default-features = false }
|
serde = { version = "1.0.119", default-features = false }
|
||||||
|
|
||||||
sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master" }
|
sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master" }
|
||||||
sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master" }
|
sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master" }
|
||||||
sp-staking = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master" }
|
sp-staking = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master" }
|
||||||
@@ -48,6 +50,7 @@ std = [
|
|||||||
'codec/std',
|
'codec/std',
|
||||||
'log/std',
|
'log/std',
|
||||||
'scale-info/std',
|
'scale-info/std',
|
||||||
|
'rand/std',
|
||||||
'sp-runtime/std',
|
'sp-runtime/std',
|
||||||
'sp-staking/std',
|
'sp-staking/std',
|
||||||
'sp-std/std',
|
'sp-std/std',
|
||||||
|
|||||||
@@ -22,11 +22,12 @@ use crate::Pallet as CollatorSelection;
|
|||||||
use frame_benchmarking::{account, benchmarks, impl_benchmark_test_suite, whitelisted_caller};
|
use frame_benchmarking::{account, benchmarks, impl_benchmark_test_suite, whitelisted_caller};
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
assert_ok,
|
assert_ok,
|
||||||
|
codec::Decode,
|
||||||
traits::{Currency, EnsureOrigin, Get},
|
traits::{Currency, EnsureOrigin, Get},
|
||||||
};
|
};
|
||||||
use frame_system::{EventRecord, RawOrigin};
|
use frame_system::{EventRecord, RawOrigin};
|
||||||
use pallet_authorship::EventHandler;
|
use pallet_authorship::EventHandler;
|
||||||
use pallet_session::SessionManager;
|
use pallet_session::{self as session, SessionManager};
|
||||||
use sp_std::prelude::*;
|
use sp_std::prelude::*;
|
||||||
|
|
||||||
pub type BalanceOf<T> =
|
pub type BalanceOf<T> =
|
||||||
@@ -51,9 +52,50 @@ fn assert_last_event<T: Config>(generic_event: <T as Config>::Event) {
|
|||||||
assert_eq!(event, &system_event);
|
assert_eq!(event, &system_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn create_funded_user<T: Config>(
|
||||||
|
string: &'static str,
|
||||||
|
n: u32,
|
||||||
|
balance_factor: u32,
|
||||||
|
) -> T::AccountId {
|
||||||
|
let user = account(string, n, SEED);
|
||||||
|
let balance = T::Currency::minimum_balance() * balance_factor.into();
|
||||||
|
let _ = T::Currency::make_free_balance_be(&user, balance);
|
||||||
|
user
|
||||||
|
}
|
||||||
|
|
||||||
|
fn keys<T: Config + session::Config>(c: u32) -> <T as session::Config>::Keys {
|
||||||
|
use rand::{RngCore, SeedableRng};
|
||||||
|
|
||||||
|
let keys = {
|
||||||
|
let mut keys = [0u8; 128];
|
||||||
|
|
||||||
|
if c > 0 {
|
||||||
|
let mut rng = rand::rngs::StdRng::seed_from_u64(c as u64);
|
||||||
|
rng.fill_bytes(&mut keys);
|
||||||
|
}
|
||||||
|
|
||||||
|
keys
|
||||||
|
};
|
||||||
|
|
||||||
|
Decode::decode(&mut &keys[..]).unwrap()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn validator<T: Config + session::Config>(c: u32) -> (T::AccountId, <T as session::Config>::Keys) {
|
||||||
|
(create_funded_user::<T>("candidate", c, 1000), keys::<T>(c))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn register_validators<T: Config + session::Config>(count: u32) {
|
||||||
|
let validators = (0..count).map(|c| validator::<T>(c)).collect::<Vec<_>>();
|
||||||
|
|
||||||
|
for (who, keys) in validators {
|
||||||
|
<session::Module<T>>::set_keys(RawOrigin::Signed(who).into(), keys, vec![]).unwrap();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn register_candidates<T: Config>(count: u32) {
|
fn register_candidates<T: Config>(count: u32) {
|
||||||
let candidates = (0..count).map(|c| account("candidate", c, SEED)).collect::<Vec<_>>();
|
let candidates = (0..count).map(|c| account("candidate", c, SEED)).collect::<Vec<_>>();
|
||||||
assert!(<CandidacyBond<T>>::get() > 0u32.into(), "Bond cannot be zero!");
|
assert!(<CandidacyBond<T>>::get() > 0u32.into(), "Bond cannot be zero!");
|
||||||
|
|
||||||
for who in candidates {
|
for who in candidates {
|
||||||
T::Currency::make_free_balance_be(&who, <CandidacyBond<T>>::get() * 2u32.into());
|
T::Currency::make_free_balance_be(&who, <CandidacyBond<T>>::get() * 2u32.into());
|
||||||
<CollatorSelection<T>>::register_as_candidate(RawOrigin::Signed(who).into()).unwrap();
|
<CollatorSelection<T>>::register_as_candidate(RawOrigin::Signed(who).into()).unwrap();
|
||||||
@@ -61,7 +103,7 @@ fn register_candidates<T: Config>(count: u32) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
benchmarks! {
|
benchmarks! {
|
||||||
where_clause { where T: pallet_authorship::Config }
|
where_clause { where T: pallet_authorship::Config + session::Config }
|
||||||
|
|
||||||
set_invulnerables {
|
set_invulnerables {
|
||||||
let b in 1 .. T::MaxInvulnerables::get();
|
let b in 1 .. T::MaxInvulnerables::get();
|
||||||
@@ -107,12 +149,20 @@ benchmarks! {
|
|||||||
|
|
||||||
<CandidacyBond<T>>::put(T::Currency::minimum_balance());
|
<CandidacyBond<T>>::put(T::Currency::minimum_balance());
|
||||||
<DesiredCandidates<T>>::put(c + 1);
|
<DesiredCandidates<T>>::put(c + 1);
|
||||||
|
|
||||||
|
register_validators::<T>(c);
|
||||||
register_candidates::<T>(c);
|
register_candidates::<T>(c);
|
||||||
|
|
||||||
let caller: T::AccountId = whitelisted_caller();
|
let caller: T::AccountId = whitelisted_caller();
|
||||||
let bond: BalanceOf<T> = T::Currency::minimum_balance() * 2u32.into();
|
let bond: BalanceOf<T> = T::Currency::minimum_balance() * 2u32.into();
|
||||||
T::Currency::make_free_balance_be(&caller, bond.clone());
|
T::Currency::make_free_balance_be(&caller, bond.clone());
|
||||||
|
|
||||||
|
<session::Module<T>>::set_keys(
|
||||||
|
RawOrigin::Signed(caller.clone()).into(),
|
||||||
|
keys::<T>(c + 1),
|
||||||
|
vec![]
|
||||||
|
).unwrap();
|
||||||
|
|
||||||
}: _(RawOrigin::Signed(caller.clone()))
|
}: _(RawOrigin::Signed(caller.clone()))
|
||||||
verify {
|
verify {
|
||||||
assert_last_event::<T>(Event::CandidateAdded(caller, bond / 2u32.into()).into());
|
assert_last_event::<T>(Event::CandidateAdded(caller, bond / 2u32.into()).into());
|
||||||
@@ -120,9 +170,11 @@ benchmarks! {
|
|||||||
|
|
||||||
// worse case is the last candidate leaving.
|
// worse case is the last candidate leaving.
|
||||||
leave_intent {
|
leave_intent {
|
||||||
let c in 1 .. T::MaxCandidates::get();
|
let c in (T::MinCandidates::get() + 1) .. T::MaxCandidates::get();
|
||||||
<CandidacyBond<T>>::put(T::Currency::minimum_balance());
|
<CandidacyBond<T>>::put(T::Currency::minimum_balance());
|
||||||
<DesiredCandidates<T>>::put(c);
|
<DesiredCandidates<T>>::put(c);
|
||||||
|
|
||||||
|
register_validators::<T>(c);
|
||||||
register_candidates::<T>(c);
|
register_candidates::<T>(c);
|
||||||
|
|
||||||
let leaving = <Candidates<T>>::get().last().unwrap().who.clone();
|
let leaving = <Candidates<T>>::get().last().unwrap().who.clone();
|
||||||
@@ -160,6 +212,8 @@ benchmarks! {
|
|||||||
<CandidacyBond<T>>::put(T::Currency::minimum_balance());
|
<CandidacyBond<T>>::put(T::Currency::minimum_balance());
|
||||||
<DesiredCandidates<T>>::put(c);
|
<DesiredCandidates<T>>::put(c);
|
||||||
frame_system::Pallet::<T>::set_block_number(0u32.into());
|
frame_system::Pallet::<T>::set_block_number(0u32.into());
|
||||||
|
|
||||||
|
register_validators::<T>(c);
|
||||||
register_candidates::<T>(c);
|
register_candidates::<T>(c);
|
||||||
|
|
||||||
let new_block: T::BlockNumber = 1800u32.into();
|
let new_block: T::BlockNumber = 1800u32.into();
|
||||||
@@ -171,19 +225,32 @@ benchmarks! {
|
|||||||
for i in 0..c {
|
for i in 0..c {
|
||||||
<LastAuthoredBlock<T>>::insert(candidates[i as usize].who.clone(), zero_block);
|
<LastAuthoredBlock<T>>::insert(candidates[i as usize].who.clone(), zero_block);
|
||||||
}
|
}
|
||||||
for i in 0..non_removals {
|
|
||||||
<LastAuthoredBlock<T>>::insert(candidates[i as usize].who.clone(), new_block);
|
if non_removals > 0 {
|
||||||
|
for i in 0..non_removals {
|
||||||
|
<LastAuthoredBlock<T>>::insert(candidates[i as usize].who.clone(), new_block);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for i in 0..c {
|
||||||
|
<LastAuthoredBlock<T>>::insert(candidates[i as usize].who.clone(), new_block);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let pre_length = <Candidates<T>>::get().len();
|
let pre_length = <Candidates<T>>::get().len();
|
||||||
|
|
||||||
frame_system::Pallet::<T>::set_block_number(new_block);
|
frame_system::Pallet::<T>::set_block_number(new_block);
|
||||||
|
|
||||||
assert!(<Candidates<T>>::get().len() == c as usize);
|
assert!(<Candidates<T>>::get().len() == c as usize);
|
||||||
|
|
||||||
}: {
|
}: {
|
||||||
<CollatorSelection<T> as SessionManager<_>>::new_session(0)
|
<CollatorSelection<T> as SessionManager<_>>::new_session(0)
|
||||||
} verify {
|
} verify {
|
||||||
assert!(<Candidates<T>>::get().len() < pre_length);
|
if c > r && non_removals >= T::MinCandidates::get() {
|
||||||
|
assert!(<Candidates<T>>::get().len() < pre_length);
|
||||||
|
} else if c > r && non_removals < T::MinCandidates::get() {
|
||||||
|
assert!(<Candidates<T>>::get().len() == T::MinCandidates::get() as usize);
|
||||||
|
} else {
|
||||||
|
assert!(<Candidates<T>>::get().len() == pre_length);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ impl pallet_session::SessionHandler<u64> for TestSessionHandler {
|
|||||||
SessionHandlerCollators::set(keys.into_iter().map(|(a, _)| *a).collect::<Vec<_>>())
|
SessionHandlerCollators::set(keys.into_iter().map(|(a, _)| *a).collect::<Vec<_>>())
|
||||||
}
|
}
|
||||||
fn on_before_session_ending() {}
|
fn on_before_session_ending() {}
|
||||||
fn on_disabled(_: usize) {}
|
fn on_disabled(_: u32) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
@@ -179,7 +179,6 @@ impl pallet_session::Config for Test {
|
|||||||
type SessionManager = CollatorSelection;
|
type SessionManager = CollatorSelection;
|
||||||
type SessionHandler = TestSessionHandler;
|
type SessionHandler = TestSessionHandler;
|
||||||
type Keys = MockSessionKeys;
|
type Keys = MockSessionKeys;
|
||||||
type DisabledValidatorsThreshold = ();
|
|
||||||
type WeightInfo = ();
|
type WeightInfo = ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -545,7 +545,6 @@ impl cumulus_pallet_dmp_queue::Config for Runtime {
|
|||||||
}
|
}
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const DisabledValidatorsThreshold: Perbill = Perbill::from_percent(33);
|
|
||||||
pub const Period: u32 = 6 * HOURS;
|
pub const Period: u32 = 6 * HOURS;
|
||||||
pub const Offset: u32 = 0;
|
pub const Offset: u32 = 0;
|
||||||
pub const MaxAuthorities: u32 = 100_000;
|
pub const MaxAuthorities: u32 = 100_000;
|
||||||
@@ -562,7 +561,6 @@ impl pallet_session::Config for Runtime {
|
|||||||
// Essentially just Aura, but lets be pedantic.
|
// Essentially just Aura, but lets be pedantic.
|
||||||
type SessionHandler = <SessionKeys as sp_runtime::traits::OpaqueKeys>::KeyTypeIdProviders;
|
type SessionHandler = <SessionKeys as sp_runtime::traits::OpaqueKeys>::KeyTypeIdProviders;
|
||||||
type Keys = SessionKeys;
|
type Keys = SessionKeys;
|
||||||
type DisabledValidatorsThreshold = DisabledValidatorsThreshold;
|
|
||||||
type WeightInfo = ();
|
type WeightInfo = ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "polkadot-collator"
|
name = "polkadot-collator"
|
||||||
version = "0.1.0"
|
version = "4.0.0"
|
||||||
authors = ["Parity Technologies <admin@parity.io>"]
|
authors = ["Parity Technologies <admin@parity.io>"]
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ use sp_runtime::{
|
|||||||
create_runtime_str, generic, impl_opaque_keys,
|
create_runtime_str, generic, impl_opaque_keys,
|
||||||
traits::{AccountIdLookup, BlakeTwo256, Block as BlockT},
|
traits::{AccountIdLookup, BlakeTwo256, Block as BlockT},
|
||||||
transaction_validity::{TransactionSource, TransactionValidity},
|
transaction_validity::{TransactionSource, TransactionValidity},
|
||||||
ApplyExtrinsicResult, Perbill,
|
ApplyExtrinsicResult,
|
||||||
};
|
};
|
||||||
|
|
||||||
use sp_std::prelude::*;
|
use sp_std::prelude::*;
|
||||||
@@ -90,10 +90,10 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
|
|||||||
spec_name: create_runtime_str!("statemine"),
|
spec_name: create_runtime_str!("statemine"),
|
||||||
impl_name: create_runtime_str!("statemine"),
|
impl_name: create_runtime_str!("statemine"),
|
||||||
authoring_version: 1,
|
authoring_version: 1,
|
||||||
spec_version: 3,
|
spec_version: 4,
|
||||||
impl_version: 0,
|
impl_version: 0,
|
||||||
apis: RUNTIME_API_VERSIONS,
|
apis: RUNTIME_API_VERSIONS,
|
||||||
transaction_version: 1,
|
transaction_version: 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// The version information used to identify this runtime when compiled natively.
|
/// The version information used to identify this runtime when compiled natively.
|
||||||
@@ -637,7 +637,6 @@ impl cumulus_pallet_dmp_queue::Config for Runtime {
|
|||||||
}
|
}
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const DisabledValidatorsThreshold: Perbill = Perbill::from_percent(33);
|
|
||||||
pub const Period: u32 = 6 * HOURS;
|
pub const Period: u32 = 6 * HOURS;
|
||||||
pub const Offset: u32 = 0;
|
pub const Offset: u32 = 0;
|
||||||
pub const MaxAuthorities: u32 = 100_000;
|
pub const MaxAuthorities: u32 = 100_000;
|
||||||
@@ -654,7 +653,6 @@ impl pallet_session::Config for Runtime {
|
|||||||
// Essentially just Aura, but lets be pedantic.
|
// Essentially just Aura, but lets be pedantic.
|
||||||
type SessionHandler = <SessionKeys as sp_runtime::traits::OpaqueKeys>::KeyTypeIdProviders;
|
type SessionHandler = <SessionKeys as sp_runtime::traits::OpaqueKeys>::KeyTypeIdProviders;
|
||||||
type Keys = SessionKeys;
|
type Keys = SessionKeys;
|
||||||
type DisabledValidatorsThreshold = DisabledValidatorsThreshold;
|
|
||||||
type WeightInfo = weights::pallet_session::WeightInfo<Runtime>;
|
type WeightInfo = weights::pallet_session::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -768,18 +766,9 @@ pub type Executive = frame_executive::Executive<
|
|||||||
frame_system::ChainContext<Runtime>,
|
frame_system::ChainContext<Runtime>,
|
||||||
Runtime,
|
Runtime,
|
||||||
AllPallets,
|
AllPallets,
|
||||||
OnRuntimeUpgrade,
|
(),
|
||||||
>;
|
>;
|
||||||
|
|
||||||
pub struct OnRuntimeUpgrade;
|
|
||||||
impl frame_support::traits::OnRuntimeUpgrade for OnRuntimeUpgrade {
|
|
||||||
fn on_runtime_upgrade() -> u64 {
|
|
||||||
frame_support::migrations::migrate_from_pallet_version_to_storage_version::<
|
|
||||||
AllPalletsWithSystem,
|
|
||||||
>(&RocksDbWeight::get())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl_runtime_apis! {
|
impl_runtime_apis! {
|
||||||
impl sp_consensus_aura::AuraApi<Block, AuraId> for Runtime {
|
impl sp_consensus_aura::AuraApi<Block, AuraId> for Runtime {
|
||||||
fn slot_duration() -> sp_consensus_aura::SlotDuration {
|
fn slot_duration() -> sp_consensus_aura::SlotDuration {
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ use sp_runtime::{
|
|||||||
create_runtime_str, generic, impl_opaque_keys,
|
create_runtime_str, generic, impl_opaque_keys,
|
||||||
traits::{AccountIdLookup, BlakeTwo256, Block as BlockT},
|
traits::{AccountIdLookup, BlakeTwo256, Block as BlockT},
|
||||||
transaction_validity::{TransactionSource, TransactionValidity},
|
transaction_validity::{TransactionSource, TransactionValidity},
|
||||||
ApplyExtrinsicResult, Perbill,
|
ApplyExtrinsicResult,
|
||||||
};
|
};
|
||||||
|
|
||||||
use sp_std::prelude::*;
|
use sp_std::prelude::*;
|
||||||
@@ -600,7 +600,6 @@ impl cumulus_pallet_dmp_queue::Config for Runtime {
|
|||||||
}
|
}
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const DisabledValidatorsThreshold: Perbill = Perbill::from_percent(33);
|
|
||||||
pub const Period: u32 = 6 * HOURS;
|
pub const Period: u32 = 6 * HOURS;
|
||||||
pub const Offset: u32 = 0;
|
pub const Offset: u32 = 0;
|
||||||
pub const MaxAuthorities: u32 = 100_000;
|
pub const MaxAuthorities: u32 = 100_000;
|
||||||
@@ -617,7 +616,6 @@ impl pallet_session::Config for Runtime {
|
|||||||
// Essentially just Aura, but lets be pedantic.
|
// Essentially just Aura, but lets be pedantic.
|
||||||
type SessionHandler = <SessionKeys as sp_runtime::traits::OpaqueKeys>::KeyTypeIdProviders;
|
type SessionHandler = <SessionKeys as sp_runtime::traits::OpaqueKeys>::KeyTypeIdProviders;
|
||||||
type Keys = SessionKeys;
|
type Keys = SessionKeys;
|
||||||
type DisabledValidatorsThreshold = DisabledValidatorsThreshold;
|
|
||||||
type WeightInfo = weights::pallet_session::WeightInfo<Runtime>;
|
type WeightInfo = weights::pallet_session::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ use sp_runtime::{
|
|||||||
create_runtime_str, generic, impl_opaque_keys,
|
create_runtime_str, generic, impl_opaque_keys,
|
||||||
traits::{AccountIdLookup, BlakeTwo256, Block as BlockT},
|
traits::{AccountIdLookup, BlakeTwo256, Block as BlockT},
|
||||||
transaction_validity::{TransactionSource, TransactionValidity},
|
transaction_validity::{TransactionSource, TransactionValidity},
|
||||||
ApplyExtrinsicResult, Perbill,
|
ApplyExtrinsicResult,
|
||||||
};
|
};
|
||||||
|
|
||||||
use sp_std::prelude::*;
|
use sp_std::prelude::*;
|
||||||
@@ -90,10 +90,10 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
|
|||||||
spec_name: create_runtime_str!("westmint"),
|
spec_name: create_runtime_str!("westmint"),
|
||||||
impl_name: create_runtime_str!("westmint"),
|
impl_name: create_runtime_str!("westmint"),
|
||||||
authoring_version: 1,
|
authoring_version: 1,
|
||||||
spec_version: 3,
|
spec_version: 4,
|
||||||
impl_version: 0,
|
impl_version: 0,
|
||||||
apis: RUNTIME_API_VERSIONS,
|
apis: RUNTIME_API_VERSIONS,
|
||||||
transaction_version: 1,
|
transaction_version: 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// The version information used to identify this runtime when compiled natively.
|
/// The version information used to identify this runtime when compiled natively.
|
||||||
@@ -599,7 +599,6 @@ impl cumulus_pallet_dmp_queue::Config for Runtime {
|
|||||||
}
|
}
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const DisabledValidatorsThreshold: Perbill = Perbill::from_percent(33);
|
|
||||||
pub const Period: u32 = 6 * HOURS;
|
pub const Period: u32 = 6 * HOURS;
|
||||||
pub const Offset: u32 = 0;
|
pub const Offset: u32 = 0;
|
||||||
pub const MaxAuthorities: u32 = 100_000;
|
pub const MaxAuthorities: u32 = 100_000;
|
||||||
@@ -616,7 +615,6 @@ impl pallet_session::Config for Runtime {
|
|||||||
// Essentially just Aura, but lets be pedantic.
|
// Essentially just Aura, but lets be pedantic.
|
||||||
type SessionHandler = <SessionKeys as sp_runtime::traits::OpaqueKeys>::KeyTypeIdProviders;
|
type SessionHandler = <SessionKeys as sp_runtime::traits::OpaqueKeys>::KeyTypeIdProviders;
|
||||||
type Keys = SessionKeys;
|
type Keys = SessionKeys;
|
||||||
type DisabledValidatorsThreshold = DisabledValidatorsThreshold;
|
|
||||||
type WeightInfo = weights::pallet_session::WeightInfo<Runtime>;
|
type WeightInfo = weights::pallet_session::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -752,18 +750,9 @@ pub type Executive = frame_executive::Executive<
|
|||||||
frame_system::ChainContext<Runtime>,
|
frame_system::ChainContext<Runtime>,
|
||||||
Runtime,
|
Runtime,
|
||||||
AllPallets,
|
AllPallets,
|
||||||
OnRuntimeUpgrade,
|
(),
|
||||||
>;
|
>;
|
||||||
|
|
||||||
pub struct OnRuntimeUpgrade;
|
|
||||||
impl frame_support::traits::OnRuntimeUpgrade for OnRuntimeUpgrade {
|
|
||||||
fn on_runtime_upgrade() -> u64 {
|
|
||||||
frame_support::migrations::migrate_from_pallet_version_to_storage_version::<
|
|
||||||
AllPalletsWithSystem,
|
|
||||||
>(&RocksDbWeight::get())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl_runtime_apis! {
|
impl_runtime_apis! {
|
||||||
impl sp_consensus_aura::AuraApi<Block, AuraId> for Runtime {
|
impl sp_consensus_aura::AuraApi<Block, AuraId> for Runtime {
|
||||||
fn slot_duration() -> sp_consensus_aura::SlotDuration {
|
fn slot_duration() -> sp_consensus_aura::SlotDuration {
|
||||||
|
|||||||
@@ -2,10 +2,15 @@
|
|||||||
|
|
||||||
steps=50
|
steps=50
|
||||||
repeat=20
|
repeat=20
|
||||||
statemineOutput=./polkadot-parachains/statemine-runtime/src/weights
|
|
||||||
statemintOutput=./polkadot-parachains/statemint-runtime/src/weights
|
statemineOutput=./polkadot-parachains/statemine/src/weights
|
||||||
|
statemintOutput=./polkadot-parachains/statemint/src/weights
|
||||||
|
westmintOutput=./polkadot-parachains/westmint/src/weights
|
||||||
|
|
||||||
statemineChain=statemine-dev
|
statemineChain=statemine-dev
|
||||||
statemintChain=statemint-dev
|
statemintChain=statemint-dev
|
||||||
|
westmintChain=westmint-dev
|
||||||
|
|
||||||
pallets=(
|
pallets=(
|
||||||
pallet_assets
|
pallet_assets
|
||||||
pallet_balances
|
pallet_balances
|
||||||
@@ -15,6 +20,7 @@ pallets=(
|
|||||||
pallet_session
|
pallet_session
|
||||||
pallet_timestamp
|
pallet_timestamp
|
||||||
pallet_utility
|
pallet_utility
|
||||||
|
pallet_uniques
|
||||||
)
|
)
|
||||||
|
|
||||||
for p in ${pallets[@]}
|
for p in ${pallets[@]}
|
||||||
@@ -28,6 +34,7 @@ do
|
|||||||
--steps=$steps \
|
--steps=$steps \
|
||||||
--repeat=$repeat \
|
--repeat=$repeat \
|
||||||
--raw \
|
--raw \
|
||||||
|
--header=./file_header.txt \
|
||||||
--output=$statemineOutput
|
--output=$statemineOutput
|
||||||
|
|
||||||
./target/release/polkadot-collator benchmark \
|
./target/release/polkadot-collator benchmark \
|
||||||
@@ -39,6 +46,18 @@ do
|
|||||||
--steps=$steps \
|
--steps=$steps \
|
||||||
--repeat=$repeat \
|
--repeat=$repeat \
|
||||||
--raw \
|
--raw \
|
||||||
|
--header=./file_header.txt \
|
||||||
--output=$statemintOutput
|
--output=$statemintOutput
|
||||||
|
|
||||||
|
./target/release/polkadot-collator benchmark \
|
||||||
|
--chain=$westmintChain \
|
||||||
|
--execution=wasm \
|
||||||
|
--wasm-execution=compiled \
|
||||||
|
--pallet=$p \
|
||||||
|
--extrinsic='*' \
|
||||||
|
--steps=$steps \
|
||||||
|
--repeat=$repeat \
|
||||||
|
--raw \
|
||||||
|
--header=./file_header.txt \
|
||||||
|
--output=$westmintOutput
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user