Update Rococo to mirror Kusama (#5617)

* upgrade to kusama base

* rollback epoch and clean up

* Substitue DOLLARS with UNITS

* money constatns to mirror Kusama

* fixing typo in test

* scheduler+collective+membership+preimage

* treasury+democracy+bounties+child_bounties+society

* tips+claim+identity+elections_phragmen+vesting

* recovery+gilt

* proxy+slot+auction+registar+crowdloan

* babe+epoch_time modificaction

* xcm_config

* xcm_config fix

* constants

* fix conflicts 2

* fmt

* update xcm_config

* revert xcm_config change

* fixing benchmarks

* cargo.lock

* Revert "babe+epoch_time modificaction"

This reverts commit 663cb0292c42c8a084a8c1c36cb966389576989b.

* fix benchamrks 2

* fix benchmarks 3

* typos

* miscelaneous

* fix constants test

* rollback comments

* rollback lease period

* fmt

* add ROC to spellcheck dictionary

* fix cargo.toml + fixes

* remove TODOs

* nit fix

* weights 1.5

* Bumping number of perm/temp slots available

Co-authored-by: al3mart <alejandro@parity.io>
Co-authored-by: alvicsam <alvicsam@gmail.com>
This commit is contained in:
Ignacio Palacios
2022-09-08 13:20:34 +02:00
committed by GitHub
parent 6bb7bcda2a
commit 7f7f96a208
29 changed files with 4388 additions and 839 deletions
+20
View File
@@ -8211,23 +8211,37 @@ dependencies = [
"pallet-balances",
"pallet-beefy",
"pallet-beefy-mmr",
"pallet-bounties",
"pallet-child-bounties",
"pallet-collective",
"pallet-democracy",
"pallet-elections-phragmen",
"pallet-gilt",
"pallet-grandpa",
"pallet-identity",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
"pallet-mmr",
"pallet-multisig",
"pallet-offences",
"pallet-preimage",
"pallet-proxy",
"pallet-recovery",
"pallet-scheduler",
"pallet-session",
"pallet-society",
"pallet-staking",
"pallet-sudo",
"pallet-timestamp",
"pallet-tips",
"pallet-transaction-payment",
"pallet-transaction-payment-rpc-runtime-api",
"pallet-treasury",
"pallet-utility",
"pallet-vesting",
"pallet-xcm",
"pallet-xcm-benchmarks",
"parity-scale-codec",
"polkadot-parachain",
"polkadot-primitives",
@@ -8235,8 +8249,10 @@ dependencies = [
"polkadot-runtime-parachains",
"rococo-runtime-constants",
"scale-info",
"separator",
"serde",
"serde_derive",
"serde_json",
"smallvec",
"sp-api",
"sp-authority-discovery",
@@ -8245,6 +8261,7 @@ dependencies = [
"sp-core",
"sp-inherents",
"sp-io",
"sp-keyring",
"sp-mmr-primitives",
"sp-offchain",
"sp-runtime",
@@ -8252,8 +8269,11 @@ dependencies = [
"sp-staking",
"sp-std",
"sp-transaction-pool",
"sp-trie",
"sp-version",
"static_assertions",
"substrate-wasm-builder",
"tiny-keccak",
"xcm",
"xcm-builder",
"xcm-executor",
+24 -6
View File
@@ -1048,26 +1048,35 @@ fn rococo_staging_testnet_config_genesis(wasm_binary: &[u8]) -> rococo_runtime::
})
.collect::<Vec<_>>(),
},
phragmen_election: Default::default(),
babe: rococo_runtime::BabeConfig {
authorities: Default::default(),
epoch_config: Some(rococo_runtime::BABE_GENESIS_EPOCH_CONFIG),
},
grandpa: Default::default(),
im_online: Default::default(),
collective: Default::default(),
membership: Default::default(),
democracy: rococo_runtime::DemocracyConfig::default(),
council: rococo::CouncilConfig { members: vec![], phantom: Default::default() },
technical_committee: rococo::TechnicalCommitteeConfig {
members: vec![],
phantom: Default::default(),
},
technical_membership: Default::default(),
treasury: Default::default(),
authority_discovery: rococo_runtime::AuthorityDiscoveryConfig { keys: vec![] },
claims: rococo::ClaimsConfig { claims: vec![], vesting: vec![] },
vesting: rococo::VestingConfig { vesting: vec![] },
sudo: rococo_runtime::SudoConfig { key: Some(endowed_accounts[0].clone()) },
paras: rococo_runtime::ParasConfig { paras: vec![] },
hrmp: Default::default(),
configuration: rococo_runtime::ConfigurationConfig {
config: default_parachains_host_configuration(),
},
gilt: Default::default(),
registrar: rococo_runtime::RegistrarConfig {
next_free_para_id: polkadot_primitives::v2::LOWEST_PUBLIC_ID,
},
xcm_pallet: Default::default(),
transaction_payment: Default::default(),
}
}
@@ -1599,8 +1608,17 @@ pub fn rococo_testnet_genesis(
},
grandpa: Default::default(),
im_online: Default::default(),
collective: Default::default(),
membership: Default::default(),
phragmen_election: Default::default(),
democracy: rococo::DemocracyConfig::default(),
council: rococo::CouncilConfig { members: vec![], phantom: Default::default() },
technical_committee: rococo::TechnicalCommitteeConfig {
members: vec![],
phantom: Default::default(),
},
technical_membership: Default::default(),
treasury: Default::default(),
claims: rococo::ClaimsConfig { claims: vec![], vesting: vec![] },
vesting: rococo::VestingConfig { vesting: vec![] },
authority_discovery: rococo_runtime::AuthorityDiscoveryConfig { keys: vec![] },
sudo: rococo_runtime::SudoConfig { key: Some(root_key.clone()) },
hrmp: Default::default(),
@@ -1610,12 +1628,12 @@ pub fn rococo_testnet_genesis(
..default_parachains_host_configuration()
},
},
gilt: Default::default(),
paras: rococo_runtime::ParasConfig { paras: vec![] },
registrar: rococo_runtime::RegistrarConfig {
next_free_para_id: polkadot_primitives::v2::LOWEST_PUBLIC_ID,
},
xcm_pallet: Default::default(),
transaction_payment: Default::default(),
}
}
+4 -12
View File
@@ -20,7 +20,6 @@
// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256.
#![recursion_limit = "256"]
use pallet_transaction_payment::CurrencyAdapter;
use parity_scale_codec::{Decode, Encode, MaxEncodedLen};
use primitives::v2::{
AccountId, AccountIndex, Balance, BlockNumber, CandidateEvent, CandidateHash,
@@ -63,7 +62,7 @@ use frame_system::EnsureRoot;
use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId};
use pallet_im_online::sr25519::AuthorityId as ImOnlineId;
use pallet_session::historical as session_historical;
use pallet_transaction_payment::{FeeDetails, RuntimeDispatchInfo};
use pallet_transaction_payment::{CurrencyAdapter, FeeDetails, RuntimeDispatchInfo};
use sp_core::OpaqueMetadata;
use sp_mmr_primitives as mmr;
use sp_runtime::{
@@ -86,7 +85,6 @@ pub use pallet_balances::Call as BalancesCall;
pub use pallet_election_provider_multi_phase::Call as EPMCall;
#[cfg(feature = "std")]
pub use pallet_staking::StakerStatus;
pub use pallet_timestamp::Call as TimestampCall;
#[cfg(any(feature = "std", test))]
pub use sp_runtime::BuildStorage;
@@ -361,11 +359,6 @@ impl pallet_authorship::Config for Runtime {
type EventHandler = (Staking, ImOnline);
}
parameter_types! {
pub const Period: BlockNumber = 10 * MINUTES;
pub const Offset: BlockNumber = 0;
}
impl_opaque_keys! {
pub struct SessionKeys {
pub grandpa: Grandpa,
@@ -425,6 +418,8 @@ parameter_types! {
/// ... and all of the validators as electable targets. Whilst this is the case, we cannot and
/// shall not increase the size of the validator intentions.
pub const MaxElectableTargets: u16 = u16::MAX;
pub NposSolutionPriority: TransactionPriority =
Perbill::from_percent(90) * TransactionPriority::max_value();
}
generate_solution_type!(
@@ -733,8 +728,6 @@ impl pallet_authority_discovery::Config for Runtime {
}
parameter_types! {
pub NposSolutionPriority: TransactionPriority =
Perbill::from_percent(90) * TransactionPriority::max_value();
pub const ImOnlineUnsignedPriority: TransactionPriority = TransactionPriority::max_value();
}
@@ -1159,7 +1152,7 @@ impl parachains_hrmp::Config for Runtime {
type Event = Event;
type Origin = Origin;
type Currency = Balances;
type WeightInfo = weights::runtime_parachains_hrmp::WeightInfo<Self>;
type WeightInfo = weights::runtime_parachains_hrmp::WeightInfo<Runtime>;
}
impl parachains_paras_inherent::Config for Runtime {
@@ -1343,7 +1336,6 @@ construct_runtime! {
TechnicalMembership: pallet_membership::<Instance1>::{Pallet, Call, Storage, Event<T>, Config<T>} = 17,
Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 18,
// Claims. Usable initially.
Claims: claims::{Pallet, Call, Storage, Event<T>, Config<T>, ValidateUnsigned} = 19,
+2 -1
View File
@@ -102,8 +102,9 @@ pub type XcmRouter = (
parameter_types! {
pub const Kusama: MultiAssetFilter = Wild(AllOf { fun: WildFungible, id: Concrete(KsmLocation::get()) });
pub const Statemine: MultiLocation = Parachain(1000).into();
pub const Encointer: MultiLocation = Parachain(1001).into();
pub const KusamaForStatemine: (MultiAssetFilter, MultiLocation) = (Kusama::get(), Statemine::get());
pub const KusamaForEncointer: (MultiAssetFilter, MultiLocation) = (Kusama::get(), Parachain(1001).into());
pub const KusamaForEncointer: (MultiAssetFilter, MultiLocation) = (Kusama::get(), Encointer::get());
}
pub type TrustedTeleporters =
(xcm_builder::Case<KusamaForStatemine>, xcm_builder::Case<KusamaForEncointer>);
+175 -115
View File
@@ -8,73 +8,93 @@ build = "build.rs"
[dependencies]
parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive", "max-encoded-len"] }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
log = { version = "0.4.17", default-features = false }
serde = { version = "1.0.137", default-features = false }
serde_derive = { version = "1.0.117", optional = true }
static_assertions = "1.1.0"
smallvec = "1.8.0"
log = { version = "0.4.17", default-features = false }
frame-support = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-api = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-io = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-std = { package = "sp-std", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-mmr-primitives = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-session = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-staking = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-version = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
tx-pool-api = { package = "sp-transaction-pool", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
block-builder-api = { package = "sp-block-builder", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
inherents = { package = "sp-inherents", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
offchain-primitives = { package = "sp-offchain", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
authority-discovery-primitives = { package = "sp-authority-discovery", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
babe-primitives = { package = "sp-consensus-babe", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
beefy-primitives = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
beefy-merkle-tree = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
frame-executive = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
rococo-runtime-constants = { package = "rococo-runtime-constants", path = "./constants", default-features = false }
sp-api = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
inherents = { package = "sp-inherents", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
offchain-primitives = { package = "sp-offchain", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-std = { package = "sp-std", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-io = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-mmr-primitives = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-staking = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-session = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-version = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
tx-pool-api = { package = "sp-transaction-pool", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
block-builder-api = { package = "sp-block-builder", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-authority-discovery = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-authorship = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-babe = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-beefy = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-beefy-mmr = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-bounties = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-child-bounties = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-collective = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-democracy = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-elections-phragmen = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
frame-executive = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-grandpa = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-gilt = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-identity = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-im-online = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-indices = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-membership = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-mmr = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-multisig = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-session = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-staking = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-sudo = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-offences = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-preimage = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-proxy = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-utility = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
authority-discovery-primitives = { package = "sp-authority-discovery", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
frame-system = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-recovery = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-scheduler = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-session = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-society = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-sudo = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
frame-support = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-staking = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
frame-system = {git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
rococo-runtime-constants = { package = "rococo-runtime-constants", path = "./constants", default-features = false }
pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-tips = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-treasury = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-utility = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-vesting = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
pallet-xcm = { path = "../../xcm/pallet-xcm", default-features = false }
pallet-xcm-benchmarks = { path = "../../xcm/pallet-xcm-benchmarks", default-features = false, optional = true }
frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false, optional = true }
frame-system-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false, optional = true }
hex-literal = { version = "0.3.4", optional = true }
runtime-common = { package = "polkadot-runtime-common", path = "../common", default-features = false }
runtime-parachains = { package = "polkadot-runtime-parachains", path = "../parachains", default-features = false }
primitives = { package = "polkadot-primitives", path = "../../primitives", default-features = false }
polkadot-parachain = { path = "../../parachain", default-features = false }
runtime-parachains = { package = "polkadot-runtime-parachains", path = "../parachains", default-features = false }
xcm = { package = "xcm", path = "../../xcm", default-features = false }
xcm-executor = { package = "xcm-executor", path = "../../xcm/xcm-executor", default-features = false }
xcm-builder = { package = "xcm-builder", path = "../../xcm/xcm-builder", default-features = false }
pallet-xcm = { path = "../../xcm/pallet-xcm", default-features = false }
# Benchmarking Dependencies
frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false, optional = true }
hex-literal = { version = "0.3.4", optional = true }
frame-system-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false, optional = true }
[dev-dependencies]
hex-literal = "0.3.4"
tiny-keccak = { version = "2.0.2", features = ["keccak"] }
keyring = { package = "sp-keyring", git = "https://github.com/paritytech/substrate", branch = "master" }
sp-trie = { git = "https://github.com/paritytech/substrate", branch = "master" }
separator = "0.4.1"
serde_json = "1.0.81"
[build-dependencies]
substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "master" }
@@ -84,60 +104,147 @@ default = ["std"]
no_std = []
std = [
"authority-discovery-primitives/std",
"babe-primitives/std",
"primitives/std",
"parity-scale-codec/std",
"scale-info/std",
"inherents/std",
"sp-core/std",
"sp-api/std",
"tx-pool-api/std",
"block-builder-api/std",
"offchain-primitives/std",
"sp-std/std",
"sp-io/std",
"frame-support/std",
"frame-executive/std",
"pallet-authority-discovery/std",
"pallet-authorship/std",
"pallet-babe/std",
"beefy-primitives/std",
"pallet-balances/std",
"pallet-collective/std",
"pallet-beefy/std",
"pallet-beefy-mmr/std",
"pallet-grandpa/std",
"pallet-sudo/std",
"pallet-membership/std",
"pallet-mmr/std",
"pallet-indices/std",
"pallet-im-online/std",
"pallet-session/std",
"pallet-staking/std",
"pallet-offences/std",
"pallet-proxy/std",
"pallet-timestamp/std",
"pallet-bounties/std",
"pallet-child-bounties/std",
"pallet-transaction-payment/std",
"pallet-transaction-payment-rpc-runtime-api/std",
"inherents/std",
"frame-support/std",
"pallet-collective/std",
"pallet-elections-phragmen/std",
"pallet-democracy/std",
"pallet-gilt/std",
"pallet-grandpa/std",
"pallet-identity/std",
"pallet-im-online/std",
"pallet-indices/std",
"pallet-membership/std",
"pallet-mmr/std",
"pallet-multisig/std",
"pallet-offences/std",
"pallet-preimage/std",
"pallet-proxy/std",
"pallet-recovery/std",
"pallet-scheduler/std",
"pallet-session/std",
"pallet-society/std",
"pallet-sudo/std",
"pallet-staking/std",
"pallet-timestamp/std",
"pallet-tips/std",
"pallet-treasury/std",
"pallet-utility/std",
"pallet-vesting/std",
"pallet-babe/std",
"pallet-xcm/std",
"polkadot-parachain/std",
"primitives/std",
"runtime-common/std",
"runtime-parachains/std",
"sp-api/std",
"sp-core/std",
"sp-io/std",
"sp-mmr-primitives/std",
"sp-runtime/std",
"sp-session/std",
"sp-staking/std",
"sp-std/std",
"frame-system/std",
"frame-system-rpc-runtime-api/std",
"offchain-primitives/std",
"block-builder-api/std",
"tx-pool-api/std",
"sp-version/std",
"serde_derive",
"serde/std",
"log/std",
"babe-primitives/std",
"sp-session/std",
"runtime-common/std",
"runtime-parachains/std",
"beefy-primitives/std",
"rococo-runtime-constants/std",
"xcm/std",
"xcm-executor/std",
"xcm-builder/std",
"pallet-xcm/std",
"pallet-utility/std",
"log/std",
"pallet-multisig/std",
]
runtime-benchmarks = [
"runtime-common/runtime-benchmarks",
"frame-benchmarking/runtime-benchmarks",
"frame-support/runtime-benchmarks",
"frame-system/runtime-benchmarks",
"sp-runtime/runtime-benchmarks",
"pallet-babe/runtime-benchmarks",
"pallet-balances/runtime-benchmarks",
"pallet-bounties/runtime-benchmarks",
"pallet-child-bounties/runtime-benchmarks",
"pallet-collective/runtime-benchmarks",
"pallet-democracy/runtime-benchmarks",
"pallet-elections-phragmen/runtime-benchmarks",
"pallet-gilt/runtime-benchmarks",
"pallet-grandpa/runtime-benchmarks",
"pallet-identity/runtime-benchmarks",
"pallet-im-online/runtime-benchmarks",
"pallet-indices/runtime-benchmarks",
"pallet-membership/runtime-benchmarks",
"pallet-multisig/runtime-benchmarks",
"pallet-preimage/runtime-benchmarks",
"pallet-proxy/runtime-benchmarks",
"pallet-scheduler/runtime-benchmarks",
"pallet-society/runtime-benchmarks",
"pallet-recovery/runtime-benchmarks",
"pallet-staking/runtime-benchmarks",
"pallet-timestamp/runtime-benchmarks",
"pallet-tips/runtime-benchmarks",
"pallet-treasury/runtime-benchmarks",
"pallet-utility/runtime-benchmarks",
"pallet-vesting/runtime-benchmarks",
"pallet-xcm/runtime-benchmarks",
"frame-system-benchmarking",
"hex-literal",
"xcm-builder/runtime-benchmarks",
"runtime-parachains/runtime-benchmarks",
"pallet-xcm-benchmarks",
]
try-runtime = [
"frame-executive/try-runtime",
"frame-system/try-runtime",
"pallet-authority-discovery/try-runtime",
"pallet-authorship/try-runtime",
"pallet-balances/try-runtime",
"pallet-bounties/try-runtime",
"pallet-child-bounties/try-runtime",
"pallet-transaction-payment/try-runtime",
"pallet-collective/try-runtime",
"pallet-elections-phragmen/try-runtime",
"pallet-democracy/try-runtime",
"pallet-grandpa/try-runtime",
"pallet-identity/try-runtime",
"pallet-im-online/try-runtime",
"pallet-indices/try-runtime",
"pallet-membership/try-runtime",
"pallet-multisig/try-runtime",
"pallet-offences/try-runtime",
"pallet-preimage/try-runtime",
"pallet-proxy/try-runtime",
"pallet-recovery/try-runtime",
"pallet-scheduler/try-runtime",
"pallet-session/try-runtime",
"pallet-society/try-runtime",
"pallet-sudo/try-runtime",
"pallet-staking/try-runtime",
"pallet-timestamp/try-runtime",
"pallet-tips/try-runtime",
"pallet-treasury/try-runtime",
"pallet-utility/try-runtime",
"pallet-vesting/try-runtime",
"pallet-babe/try-runtime",
"runtime-common/try-runtime",
]
# When enabled, the runtime API will not be build.
#
@@ -145,53 +252,6 @@ std = [
# runtime without clashing with the runtime API exported functions
# in WASM.
disable-runtime-api = []
runtime-benchmarks = [
"runtime-common/runtime-benchmarks",
"frame-support/runtime-benchmarks",
"frame-system/runtime-benchmarks",
"sp-runtime/runtime-benchmarks",
"pallet-babe/runtime-benchmarks",
"pallet-balances/runtime-benchmarks",
"pallet-collective/runtime-benchmarks",
"pallet-grandpa/runtime-benchmarks",
"pallet-im-online/runtime-benchmarks",
"pallet-indices/runtime-benchmarks",
"pallet-membership/runtime-benchmarks",
"pallet-proxy/runtime-benchmarks",
"pallet-staking/runtime-benchmarks",
"pallet-timestamp/runtime-benchmarks",
"pallet-utility/runtime-benchmarks",
"pallet-xcm/runtime-benchmarks",
"xcm-builder/runtime-benchmarks",
"pallet-multisig/runtime-benchmarks",
"frame-benchmarking/runtime-benchmarks",
"hex-literal",
"frame-system-benchmarking",
"runtime-parachains/runtime-benchmarks",
]
try-runtime = [
"frame-executive/try-runtime",
"frame-support/try-runtime",
"frame-system/try-runtime",
"pallet-authority-discovery/try-runtime",
"pallet-authorship/try-runtime",
"pallet-babe/try-runtime",
"pallet-balances/try-runtime",
"pallet-collective/try-runtime",
"pallet-grandpa/try-runtime",
"pallet-sudo/try-runtime",
"pallet-indices/try-runtime",
"pallet-im-online/try-runtime",
"pallet-membership/try-runtime",
"pallet-session/try-runtime",
"pallet-proxy/try-runtime",
"pallet-staking/try-runtime",
"pallet-offences/try-runtime",
"pallet-timestamp/try-runtime",
"pallet-transaction-payment/try-runtime",
"runtime-common/try-runtime",
"pallet-multisig/try-runtime",
]
# Set timing constants (e.g. session period) to faster versions to speed up testing.
fast-runtime = []
+12 -9
View File
@@ -22,13 +22,16 @@ pub mod weights;
pub mod currency {
use primitives::v2::Balance;
/// The existential deposit.
pub const EXISTENTIAL_DEPOSIT: Balance = 1 * CENTS;
pub const UNITS: Balance = 1_000_000_000_000;
pub const DOLLARS: Balance = UNITS;
pub const CENTS: Balance = DOLLARS / 100;
pub const CENTS: Balance = UNITS / 30_000;
pub const GRAND: Balance = CENTS * 100_000;
pub const MILLICENTS: Balance = CENTS / 1_000;
pub const fn deposit(items: u32, bytes: u32) -> Balance {
items as Balance * 1 * DOLLARS + (bytes as Balance) * 5 * MILLICENTS
items as Balance * 2_000 * CENTS + (bytes as Balance) * 100 * MILLICENTS
}
}
@@ -36,7 +39,6 @@ pub mod currency {
pub mod time {
use primitives::v2::{BlockNumber, Moment};
use runtime_common::prod_or_fast;
pub const MILLISECS_PER_BLOCK: Moment = 6000;
pub const SLOT_DURATION: Moment = MILLISECS_PER_BLOCK;
pub const DEFAULT_EPOCH_DURATION: BlockNumber = prod_or_fast!(1 * HOURS, 1 * MINUTES);
@@ -48,6 +50,7 @@ pub mod time {
pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber);
pub const HOURS: BlockNumber = MINUTES * 60;
pub const DAYS: BlockNumber = HOURS * 24;
pub const WEEKS: BlockNumber = DAYS * 7;
// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
// The choice of is done in accordance to the slot duration and expected target
@@ -83,7 +86,7 @@ pub mod fee {
impl WeightToFeePolynomial for WeightToFee {
type Balance = Balance;
fn polynomial() -> WeightToFeeCoefficients<Self::Balance> {
// in Westend, extrinsic base weight (smallest non-zero weight) is mapped to 1/10 CENT:
// in Rococo, extrinsic base weight (smallest non-zero weight) is mapped to 1/10 CENT:
let p = super::currency::CENTS;
let q = 10 * Balance::from(ExtrinsicBaseWeight::get().ref_time());
smallvec![WeightToFeeCoefficient {
@@ -99,7 +102,7 @@ pub mod fee {
#[cfg(test)]
mod tests {
use super::{
currency::{CENTS, DOLLARS, MILLICENTS},
currency::{CENTS, MILLICENTS},
fee::WeightToFee,
};
use crate::weights::ExtrinsicBaseWeight;
@@ -109,10 +112,10 @@ mod tests {
#[test]
// Test that the fee for `MAXIMUM_BLOCK_WEIGHT` of weight has sane bounds.
fn full_block_fee_is_correct() {
// A full block should cost between 10 and 100 DOLLARS.
// A full block should cost between 1,000 and 10,000 CENTS.
let full_block = WeightToFee::weight_to_fee(&MAXIMUM_BLOCK_WEIGHT);
assert!(full_block >= 10 * DOLLARS);
assert!(full_block <= 100 * DOLLARS);
assert!(full_block >= 1_000 * CENTS);
assert!(full_block <= 10_000 * CENTS);
}
#[test]
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,91 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `frame_benchmarking::baseline`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-06-20, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm6`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=frame_benchmarking::baseline
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/frame_benchmarking_baseline.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `frame_benchmarking::baseline`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for WeightInfo<T> {
/// The range of component `i` is `[0, 1000000]`.
fn addition(_i: u32, ) -> Weight {
(126_000 as Weight)
}
/// The range of component `i` is `[0, 1000000]`.
fn subtraction(_i: u32, ) -> Weight {
(117_000 as Weight)
}
/// The range of component `i` is `[0, 1000000]`.
fn multiplication(_i: u32, ) -> Weight {
(132_000 as Weight)
}
/// The range of component `i` is `[0, 1000000]`.
fn division(_i: u32, ) -> Weight {
(132_000 as Weight)
}
/// The range of component `i` is `[0, 100]`.
fn hashing(i: u32, ) -> Weight {
(19_331_786_000 as Weight)
// Standard Error: 113_000
.saturating_add((410_000 as Weight).saturating_mul(i as Weight))
}
/// The range of component `i` is `[1, 100]`.
fn sr25519_verification(i: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 15_000
.saturating_add((47_597_000 as Weight).saturating_mul(i as Weight))
}
// Storage: Skipped Metadata (r:0 w:0)
/// The range of component `i` is `[0, 1000]`.
fn storage_read(i: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 3_000
.saturating_add((2_126_000 as Weight).saturating_mul(i as Weight))
.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(i as Weight)))
}
// Storage: Skipped Metadata (r:0 w:0)
/// The range of component `i` is `[0, 1000]`.
fn storage_write(i: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 0
.saturating_add((328_000 as Weight).saturating_mul(i as Weight))
.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(i as Weight)))
}
}
+15 -1
View File
@@ -17,16 +17,29 @@
pub mod frame_system;
pub mod pallet_balances;
pub mod pallet_collective;
pub mod pallet_bounties;
pub mod pallet_child_bounties;
pub mod pallet_collective_council;
pub mod pallet_collective_technical_committee;
pub mod pallet_democracy;
pub mod pallet_elections_phragmen;
pub mod pallet_gilt;
pub mod pallet_identity;
pub mod pallet_im_online;
pub mod pallet_indices;
pub mod pallet_membership;
pub mod pallet_multisig;
pub mod pallet_preimage;
pub mod pallet_proxy;
pub mod pallet_scheduler;
pub mod pallet_session;
pub mod pallet_timestamp;
pub mod pallet_tips;
pub mod pallet_treasury;
pub mod pallet_utility;
pub mod pallet_vesting;
pub mod runtime_common_auctions;
pub mod runtime_common_claims;
pub mod runtime_common_crowdloan;
pub mod runtime_common_paras_registrar;
pub mod runtime_common_slots;
@@ -37,3 +50,4 @@ pub mod runtime_parachains_initializer;
pub mod runtime_parachains_paras;
pub mod runtime_parachains_paras_inherent;
pub mod runtime_parachains_ump;
pub mod xcm;
@@ -0,0 +1,139 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_bounties`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_bounties
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/pallet_bounties.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_bounties`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_bounties::WeightInfo for WeightInfo<T> {
// Storage: Bounties BountyCount (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: Bounties BountyDescriptions (r:0 w:1)
// Storage: Bounties Bounties (r:0 w:1)
/// The range of component `d` is `[0, 16384]`.
fn propose_bounty(d: u32, ) -> Weight {
Weight::from_ref_time(26_654_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(d as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(4 as u64))
}
// Storage: Bounties Bounties (r:1 w:1)
// Storage: Bounties BountyApprovals (r:1 w:1)
fn approve_bounty() -> Weight {
Weight::from_ref_time(9_776_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Bounties Bounties (r:1 w:1)
fn propose_curator() -> Weight {
Weight::from_ref_time(8_350_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Bounties Bounties (r:1 w:1)
// Storage: System Account (r:1 w:1)
fn unassign_curator() -> Weight {
Weight::from_ref_time(34_804_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Bounties Bounties (r:1 w:1)
// Storage: System Account (r:1 w:1)
fn accept_curator() -> Weight {
Weight::from_ref_time(23_414_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Bounties Bounties (r:1 w:1)
// Storage: ChildBounties ParentChildBounties (r:1 w:0)
fn award_bounty() -> Weight {
Weight::from_ref_time(20_148_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Bounties Bounties (r:1 w:1)
// Storage: System Account (r:3 w:3)
// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
// Storage: Bounties BountyDescriptions (r:0 w:1)
fn claim_bounty() -> Weight {
Weight::from_ref_time(64_115_000 as u64)
.saturating_add(T::DbWeight::get().reads(5 as u64))
.saturating_add(T::DbWeight::get().writes(6 as u64))
}
// Storage: Bounties Bounties (r:1 w:1)
// Storage: ChildBounties ParentChildBounties (r:1 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Bounties BountyDescriptions (r:0 w:1)
fn close_bounty_proposed() -> Weight {
Weight::from_ref_time(39_628_000 as u64)
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Bounties Bounties (r:1 w:1)
// Storage: ChildBounties ParentChildBounties (r:1 w:0)
// Storage: System Account (r:2 w:2)
// Storage: Bounties BountyDescriptions (r:0 w:1)
fn close_bounty_active() -> Weight {
Weight::from_ref_time(47_429_000 as u64)
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(4 as u64))
}
// Storage: Bounties Bounties (r:1 w:1)
fn extend_bounty_expiry() -> Weight {
Weight::from_ref_time(17_322_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Bounties BountyApprovals (r:1 w:1)
// Storage: Bounties Bounties (r:1 w:1)
// Storage: System Account (r:2 w:2)
/// The range of component `b` is `[1, 100]`.
fn spend_funds(b: u32, ) -> Weight {
Weight::from_ref_time(0 as u64)
// Standard Error: 30_000
.saturating_add(Weight::from_ref_time(30_775_000 as u64).saturating_mul(b as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(b as u64)))
.saturating_add(T::DbWeight::get().writes(1 as u64))
.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(b as u64)))
}
}
@@ -0,0 +1,123 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_child_bounties`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_child_bounties
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/pallet_child_bounties.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_child_bounties`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_child_bounties::WeightInfo for WeightInfo<T> {
// Storage: ChildBounties ParentChildBounties (r:1 w:1)
// Storage: Bounties Bounties (r:1 w:0)
// Storage: System Account (r:2 w:2)
// Storage: ChildBounties ChildBountyCount (r:1 w:1)
// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
// Storage: ChildBounties ChildBounties (r:0 w:1)
/// The range of component `d` is `[0, 16384]`.
fn add_child_bounty(d: u32, ) -> Weight {
Weight::from_ref_time(48_890_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(d as u64))
.saturating_add(T::DbWeight::get().reads(5 as u64))
.saturating_add(T::DbWeight::get().writes(6 as u64))
}
// Storage: Bounties Bounties (r:1 w:0)
// Storage: ChildBounties ChildBounties (r:1 w:1)
// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
fn propose_curator() -> Weight {
Weight::from_ref_time(14_114_000 as u64)
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Bounties Bounties (r:1 w:0)
// Storage: ChildBounties ChildBounties (r:1 w:1)
// Storage: System Account (r:1 w:1)
fn accept_curator() -> Weight {
Weight::from_ref_time(26_807_000 as u64)
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: ChildBounties ChildBounties (r:1 w:1)
// Storage: Bounties Bounties (r:1 w:0)
// Storage: System Account (r:1 w:1)
fn unassign_curator() -> Weight {
Weight::from_ref_time(39_640_000 as u64)
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Bounties Bounties (r:1 w:0)
// Storage: ChildBounties ChildBounties (r:1 w:1)
fn award_child_bounty() -> Weight {
Weight::from_ref_time(21_445_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: ChildBounties ChildBounties (r:1 w:1)
// Storage: System Account (r:3 w:3)
// Storage: ChildBounties ParentChildBounties (r:1 w:1)
// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
fn claim_child_bounty() -> Weight {
Weight::from_ref_time(65_771_000 as u64)
.saturating_add(T::DbWeight::get().reads(5 as u64))
.saturating_add(T::DbWeight::get().writes(6 as u64))
}
// Storage: Bounties Bounties (r:1 w:0)
// Storage: ChildBounties ChildBounties (r:1 w:1)
// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
// Storage: ChildBounties ParentChildBounties (r:1 w:1)
// Storage: System Account (r:2 w:2)
// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
fn close_child_bounty_added() -> Weight {
Weight::from_ref_time(46_230_000 as u64)
.saturating_add(T::DbWeight::get().reads(6 as u64))
.saturating_add(T::DbWeight::get().writes(6 as u64))
}
// Storage: Bounties Bounties (r:1 w:0)
// Storage: ChildBounties ChildBounties (r:1 w:1)
// Storage: System Account (r:3 w:3)
// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
// Storage: ChildBounties ParentChildBounties (r:1 w:1)
// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
fn close_child_bounty_active() -> Weight {
Weight::from_ref_time(56_148_000 as u64)
.saturating_add(T::DbWeight::get().reads(7 as u64))
.saturating_add(T::DbWeight::get().writes(7 as u64))
}
}
@@ -0,0 +1,176 @@
// Copyright 2017-2021 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_collective`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2021-08-27, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 128
// Executed Command:
// target/release/polkadot
// benchmark
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_collective
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --heap-pages=4096
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_collective`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Storage: Instance1Collective Members (r:1 w:1)
// Storage: Instance1Collective Proposals (r:1 w:0)
// Storage: Instance1Collective Voting (r:100 w:100)
// Storage: Instance1Collective Prime (r:0 w:1)
fn set_members(m: u32, n: u32, p: u32, ) -> Weight {
Weight::from_ref_time(0 as u64)
// Standard Error: 6_000
.saturating_add(Weight::from_ref_time(14_448_000 as u64).saturating_mul(m as u64))
// Standard Error: 6_000
.saturating_add(Weight::from_ref_time(85_000 as u64).saturating_mul(n as u64))
// Standard Error: 6_000
.saturating_add(Weight::from_ref_time(19_620_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(p as u64)))
.saturating_add(T::DbWeight::get().writes(2 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(p as u64)))
}
// Storage: Instance1Collective Members (r:1 w:0)
fn execute(b: u32, m: u32, ) -> Weight {
Weight::from_ref_time(22_536_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(84_000 as u64).saturating_mul(m as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
}
// Storage: Instance1Collective Members (r:1 w:0)
// Storage: Instance1Collective ProposalOf (r:1 w:0)
fn propose_execute(b: u32, m: u32, ) -> Weight {
Weight::from_ref_time(27_600_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(161_000 as u64).saturating_mul(m as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
}
// Storage: Instance1Collective Members (r:1 w:0)
// Storage: Instance1Collective ProposalOf (r:1 w:1)
// Storage: Instance1Collective Proposals (r:1 w:1)
// Storage: Instance1Collective ProposalCount (r:1 w:1)
// Storage: Instance1Collective Voting (r:0 w:1)
fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight {
Weight::from_ref_time(42_192_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(b as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(87_000 as u64).saturating_mul(m as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(361_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(4 as u64))
}
// Storage: Instance1Collective Members (r:1 w:0)
// Storage: Instance1Collective Voting (r:1 w:1)
fn vote(m: u32, ) -> Weight {
Weight::from_ref_time(32_307_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(199_000 as u64).saturating_mul(m as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Instance1Collective Voting (r:1 w:1)
// Storage: Instance1Collective Members (r:1 w:0)
// Storage: Instance1Collective Proposals (r:1 w:1)
// Storage: Instance1Collective ProposalOf (r:0 w:1)
fn close_early_disapproved(m: u32, p: u32, ) -> Weight {
Weight::from_ref_time(41_436_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(170_000 as u64).saturating_mul(m as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(333_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Instance1Collective Voting (r:1 w:1)
// Storage: Instance1Collective Members (r:1 w:0)
// Storage: Instance1Collective ProposalOf (r:1 w:1)
// Storage: Instance1Collective Proposals (r:1 w:1)
fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight {
Weight::from_ref_time(57_836_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(170_000 as u64).saturating_mul(m as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(339_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Instance1Collective Voting (r:1 w:1)
// Storage: Instance1Collective Members (r:1 w:0)
// Storage: Instance1Collective Prime (r:1 w:0)
// Storage: Instance1Collective Proposals (r:1 w:1)
// Storage: Instance1Collective ProposalOf (r:0 w:1)
fn close_disapproved(m: u32, p: u32, ) -> Weight {
Weight::from_ref_time(45_551_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(172_000 as u64).saturating_mul(m as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(338_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Instance1Collective Voting (r:1 w:1)
// Storage: Instance1Collective Members (r:1 w:0)
// Storage: Instance1Collective Prime (r:1 w:0)
// Storage: Instance1Collective ProposalOf (r:1 w:1)
// Storage: Instance1Collective Proposals (r:1 w:1)
fn close_approved(b: u32, m: u32, p: u32, ) -> Weight {
Weight::from_ref_time(61_497_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(171_000 as u64).saturating_mul(m as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(343_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(5 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Instance1Collective Proposals (r:1 w:1)
// Storage: Instance1Collective Voting (r:0 w:1)
// Storage: Instance1Collective ProposalOf (r:0 w:1)
fn disapprove_proposal(p: u32, ) -> Weight {
Weight::from_ref_time(25_573_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(335_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
}
@@ -0,0 +1,176 @@
// Copyright 2017-2021 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_collective`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2021-08-27, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 128
// Executed Command:
// target/release/polkadot
// benchmark
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_collective
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --heap-pages=4096
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_collective`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Storage: Instance2Collective Members (r:1 w:1)
// Storage: Instance2Collective Proposals (r:1 w:0)
// Storage: Instance2Collective Voting (r:100 w:100)
// Storage: Instance2Collective Prime (r:0 w:1)
fn set_members(m: u32, n: u32, p: u32, ) -> Weight {
Weight::from_ref_time(0 as u64)
// Standard Error: 6_000
.saturating_add(Weight::from_ref_time(14_473_000 as u64).saturating_mul(m as u64))
// Standard Error: 6_000
.saturating_add(Weight::from_ref_time(73_000 as u64).saturating_mul(n as u64))
// Standard Error: 6_000
.saturating_add(Weight::from_ref_time(19_551_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(p as u64)))
.saturating_add(T::DbWeight::get().writes(2 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(p as u64)))
}
// Storage: Instance2Collective Members (r:1 w:0)
fn execute(b: u32, m: u32, ) -> Weight {
Weight::from_ref_time(22_690_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(80_000 as u64).saturating_mul(m as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
}
// Storage: Instance2Collective Members (r:1 w:0)
// Storage: Instance2Collective ProposalOf (r:1 w:0)
fn propose_execute(b: u32, m: u32, ) -> Weight {
Weight::from_ref_time(27_473_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(159_000 as u64).saturating_mul(m as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
}
// Storage: Instance2Collective Members (r:1 w:0)
// Storage: Instance2Collective ProposalOf (r:1 w:1)
// Storage: Instance2Collective Proposals (r:1 w:1)
// Storage: Instance2Collective ProposalCount (r:1 w:1)
// Storage: Instance2Collective Voting (r:0 w:1)
fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight {
Weight::from_ref_time(42_047_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(b as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(85_000 as u64).saturating_mul(m as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(360_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(4 as u64))
}
// Storage: Instance2Collective Members (r:1 w:0)
// Storage: Instance2Collective Voting (r:1 w:1)
fn vote(m: u32, ) -> Weight {
Weight::from_ref_time(32_023_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(199_000 as u64).saturating_mul(m as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Instance2Collective Voting (r:1 w:1)
// Storage: Instance2Collective Members (r:1 w:0)
// Storage: Instance2Collective Proposals (r:1 w:1)
// Storage: Instance2Collective ProposalOf (r:0 w:1)
fn close_early_disapproved(m: u32, p: u32, ) -> Weight {
Weight::from_ref_time(41_107_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(171_000 as u64).saturating_mul(m as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(332_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Instance2Collective Voting (r:1 w:1)
// Storage: Instance2Collective Members (r:1 w:0)
// Storage: Instance2Collective ProposalOf (r:1 w:1)
// Storage: Instance2Collective Proposals (r:1 w:1)
fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight {
Weight::from_ref_time(57_783_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(167_000 as u64).saturating_mul(m as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(336_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Instance2Collective Voting (r:1 w:1)
// Storage: Instance2Collective Members (r:1 w:0)
// Storage: Instance2Collective Prime (r:1 w:0)
// Storage: Instance2Collective Proposals (r:1 w:1)
// Storage: Instance2Collective ProposalOf (r:0 w:1)
fn close_disapproved(m: u32, p: u32, ) -> Weight {
Weight::from_ref_time(45_646_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(170_000 as u64).saturating_mul(m as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(335_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Instance2Collective Voting (r:1 w:1)
// Storage: Instance2Collective Members (r:1 w:0)
// Storage: Instance2Collective Prime (r:1 w:0)
// Storage: Instance2Collective ProposalOf (r:1 w:1)
// Storage: Instance2Collective Proposals (r:1 w:1)
fn close_approved(b: u32, m: u32, p: u32, ) -> Weight {
Weight::from_ref_time(61_376_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(172_000 as u64).saturating_mul(m as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(339_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(5 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Instance2Collective Proposals (r:1 w:1)
// Storage: Instance2Collective Voting (r:0 w:1)
// Storage: Instance2Collective ProposalOf (r:0 w:1)
fn disapprove_proposal(p: u32, ) -> Weight {
Weight::from_ref_time(25_286_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(336_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
}
@@ -0,0 +1,299 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_democracy`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_democracy
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/pallet_democracy.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_democracy`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_democracy::WeightInfo for WeightInfo<T> {
// Storage: Democracy PublicPropCount (r:1 w:1)
// Storage: Democracy PublicProps (r:1 w:1)
// Storage: Democracy Blacklist (r:1 w:0)
// Storage: Democracy DepositOf (r:0 w:1)
fn propose() -> Weight {
Weight::from_ref_time(37_453_000 as u64)
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Democracy DepositOf (r:1 w:1)
/// The range of component `s` is `[0, 100]`.
fn second(s: u32, ) -> Weight {
Weight::from_ref_time(27_807_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(69_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Democracy ReferendumInfoOf (r:1 w:1)
// Storage: Democracy VotingOf (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
/// The range of component `r` is `[1, 99]`.
fn vote_new(r: u32, ) -> Weight {
Weight::from_ref_time(35_336_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(120_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Democracy ReferendumInfoOf (r:1 w:1)
// Storage: Democracy VotingOf (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
/// The range of component `r` is `[1, 99]`.
fn vote_existing(r: u32, ) -> Weight {
Weight::from_ref_time(35_107_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(123_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Democracy ReferendumInfoOf (r:1 w:1)
// Storage: Democracy Cancellations (r:1 w:1)
fn emergency_cancel() -> Weight {
Weight::from_ref_time(17_752_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Democracy PublicProps (r:1 w:1)
// Storage: Democracy NextExternal (r:1 w:1)
// Storage: Democracy ReferendumInfoOf (r:1 w:1)
// Storage: Democracy Blacklist (r:0 w:1)
// Storage: Democracy DepositOf (r:1 w:1)
// Storage: System Account (r:1 w:1)
/// The range of component `p` is `[1, 100]`.
fn blacklist(p: u32, ) -> Weight {
Weight::from_ref_time(52_116_000 as u64)
// Standard Error: 6_000
.saturating_add(Weight::from_ref_time(194_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(5 as u64))
.saturating_add(T::DbWeight::get().writes(6 as u64))
}
// Storage: Democracy NextExternal (r:1 w:1)
// Storage: Democracy Blacklist (r:1 w:0)
/// The range of component `v` is `[1, 100]`.
fn external_propose(v: u32, ) -> Weight {
Weight::from_ref_time(10_194_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(10_000 as u64).saturating_mul(v as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Democracy NextExternal (r:0 w:1)
fn external_propose_majority() -> Weight {
Weight::from_ref_time(3_700_000 as u64)
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Democracy NextExternal (r:0 w:1)
fn external_propose_default() -> Weight {
Weight::from_ref_time(3_713_000 as u64)
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Democracy NextExternal (r:1 w:1)
// Storage: Democracy ReferendumCount (r:1 w:1)
// Storage: Democracy ReferendumInfoOf (r:0 w:1)
fn fast_track() -> Weight {
Weight::from_ref_time(17_441_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Democracy NextExternal (r:1 w:1)
// Storage: Democracy Blacklist (r:1 w:1)
/// The range of component `v` is `[0, 100]`.
fn veto_external(v: u32, ) -> Weight {
Weight::from_ref_time(18_536_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(42_000 as u64).saturating_mul(v as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Democracy PublicProps (r:1 w:1)
// Storage: Democracy DepositOf (r:1 w:1)
// Storage: System Account (r:1 w:1)
/// The range of component `p` is `[1, 100]`.
fn cancel_proposal(p: u32, ) -> Weight {
Weight::from_ref_time(42_174_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(164_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Democracy ReferendumInfoOf (r:0 w:1)
fn cancel_referendum() -> Weight {
Weight::from_ref_time(11_892_000 as u64)
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Scheduler Lookup (r:1 w:1)
// Storage: Scheduler Agenda (r:1 w:1)
/// The range of component `r` is `[1, 99]`.
fn cancel_queued(r: u32, ) -> Weight {
Weight::from_ref_time(23_252_000 as u64)
// Standard Error: 5_000
.saturating_add(Weight::from_ref_time(2_242_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Democracy LowestUnbaked (r:1 w:1)
// Storage: Democracy ReferendumCount (r:1 w:0)
// Storage: Democracy ReferendumInfoOf (r:1 w:0)
/// The range of component `r` is `[1, 99]`.
fn on_initialize_base(r: u32, ) -> Weight {
Weight::from_ref_time(1_457_000 as u64)
// Standard Error: 3_000
.saturating_add(Weight::from_ref_time(2_956_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64)))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Democracy LowestUnbaked (r:1 w:1)
// Storage: Democracy ReferendumCount (r:1 w:0)
// Storage: Democracy LastTabledWasExternal (r:1 w:0)
// Storage: Democracy NextExternal (r:1 w:0)
// Storage: Democracy PublicProps (r:1 w:0)
// Storage: Democracy ReferendumInfoOf (r:1 w:0)
/// The range of component `r` is `[1, 99]`.
fn on_initialize_base_with_launch_period(r: u32, ) -> Weight {
Weight::from_ref_time(6_240_000 as u64)
// Standard Error: 3_000
.saturating_add(Weight::from_ref_time(2_963_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(5 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64)))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Democracy VotingOf (r:3 w:3)
// Storage: Democracy ReferendumInfoOf (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
/// The range of component `r` is `[1, 99]`.
fn delegate(r: u32, ) -> Weight {
Weight::from_ref_time(34_480_000 as u64)
// Standard Error: 5_000
.saturating_add(Weight::from_ref_time(3_908_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64)))
.saturating_add(T::DbWeight::get().writes(4 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(r as u64)))
}
// Storage: Democracy VotingOf (r:2 w:2)
// Storage: Democracy ReferendumInfoOf (r:1 w:1)
/// The range of component `r` is `[1, 99]`.
fn undelegate(r: u32, ) -> Weight {
Weight::from_ref_time(17_446_000 as u64)
// Standard Error: 6_000
.saturating_add(Weight::from_ref_time(3_917_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64)))
.saturating_add(T::DbWeight::get().writes(2 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(r as u64)))
}
// Storage: Democracy PublicProps (r:0 w:1)
fn clear_public_proposals() -> Weight {
Weight::from_ref_time(3_727_000 as u64)
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Democracy Preimages (r:1 w:1)
/// The range of component `b` is `[0, 16384]`.
fn note_preimage(b: u32, ) -> Weight {
Weight::from_ref_time(25_720_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Democracy Preimages (r:1 w:1)
/// The range of component `b` is `[0, 16384]`.
fn note_imminent_preimage(b: u32, ) -> Weight {
Weight::from_ref_time(17_884_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Democracy Preimages (r:1 w:1)
// Storage: System Account (r:1 w:0)
/// The range of component `b` is `[0, 16384]`.
fn reap_preimage(b: u32, ) -> Weight {
Weight::from_ref_time(24_695_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(b as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Democracy VotingOf (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
/// The range of component `r` is `[1, 99]`.
fn unlock_remove(r: u32, ) -> Weight {
Weight::from_ref_time(22_207_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(36_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Democracy VotingOf (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
/// The range of component `r` is `[1, 99]`.
fn unlock_set(r: u32, ) -> Weight {
Weight::from_ref_time(21_561_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(110_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Democracy ReferendumInfoOf (r:1 w:1)
// Storage: Democracy VotingOf (r:1 w:1)
/// The range of component `r` is `[1, 99]`.
fn remove_vote(r: u32, ) -> Weight {
Weight::from_ref_time(13_204_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(105_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Democracy ReferendumInfoOf (r:1 w:1)
// Storage: Democracy VotingOf (r:1 w:1)
/// The range of component `r` is `[1, 99]`.
fn remove_other_vote(r: u32, ) -> Weight {
Weight::from_ref_time(12_994_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(106_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
}
@@ -0,0 +1,183 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_elections_phragmen`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_elections_phragmen
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/pallet_elections_phragmen.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_elections_phragmen`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_elections_phragmen::WeightInfo for WeightInfo<T> {
// Storage: PhragmenElection Candidates (r:1 w:0)
// Storage: PhragmenElection Members (r:1 w:0)
// Storage: PhragmenElection RunnersUp (r:1 w:0)
// Storage: PhragmenElection Voting (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
/// The range of component `v` is `[1, 16]`.
fn vote_equal(v: u32, ) -> Weight {
Weight::from_ref_time(24_107_000 as u64)
// Standard Error: 2_000
.saturating_add(Weight::from_ref_time(184_000 as u64).saturating_mul(v as u64))
.saturating_add(T::DbWeight::get().reads(5 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: PhragmenElection Candidates (r:1 w:0)
// Storage: PhragmenElection Members (r:1 w:0)
// Storage: PhragmenElection RunnersUp (r:1 w:0)
// Storage: PhragmenElection Voting (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
/// The range of component `v` is `[2, 16]`.
fn vote_more(v: u32, ) -> Weight {
Weight::from_ref_time(36_869_000 as u64)
// Standard Error: 5_000
.saturating_add(Weight::from_ref_time(165_000 as u64).saturating_mul(v as u64))
.saturating_add(T::DbWeight::get().reads(5 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: PhragmenElection Candidates (r:1 w:0)
// Storage: PhragmenElection Members (r:1 w:0)
// Storage: PhragmenElection RunnersUp (r:1 w:0)
// Storage: PhragmenElection Voting (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
/// The range of component `v` is `[2, 16]`.
fn vote_less(v: u32, ) -> Weight {
Weight::from_ref_time(36_445_000 as u64)
// Standard Error: 4_000
.saturating_add(Weight::from_ref_time(199_000 as u64).saturating_mul(v as u64))
.saturating_add(T::DbWeight::get().reads(5 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: PhragmenElection Voting (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
fn remove_voter() -> Weight {
Weight::from_ref_time(33_035_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: PhragmenElection Candidates (r:1 w:1)
// Storage: PhragmenElection Members (r:1 w:0)
// Storage: PhragmenElection RunnersUp (r:1 w:0)
/// The range of component `c` is `[1, 1000]`.
fn submit_candidacy(c: u32, ) -> Weight {
Weight::from_ref_time(25_946_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(101_000 as u64).saturating_mul(c as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: PhragmenElection Candidates (r:1 w:1)
/// The range of component `c` is `[1, 1000]`.
fn renounce_candidacy_candidate(c: u32, ) -> Weight {
Weight::from_ref_time(22_945_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(69_000 as u64).saturating_mul(c as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: PhragmenElection Members (r:1 w:1)
// Storage: PhragmenElection RunnersUp (r:1 w:1)
// Storage: Council Prime (r:1 w:1)
// Storage: Council Proposals (r:1 w:0)
// Storage: Council Members (r:0 w:1)
fn renounce_candidacy_members() -> Weight {
Weight::from_ref_time(41_502_000 as u64)
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(4 as u64))
}
// Storage: PhragmenElection RunnersUp (r:1 w:1)
fn renounce_candidacy_runners_up() -> Weight {
Weight::from_ref_time(30_791_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Benchmark Override (r:0 w:0)
fn remove_member_without_replacement() -> Weight {
Weight::from_ref_time(2_000_000_000_000 as u64)
}
// Storage: PhragmenElection Members (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: PhragmenElection RunnersUp (r:1 w:1)
// Storage: Council Prime (r:1 w:1)
// Storage: Council Proposals (r:1 w:0)
// Storage: Council Members (r:0 w:1)
fn remove_member_with_replacement() -> Weight {
Weight::from_ref_time(57_184_000 as u64)
.saturating_add(T::DbWeight::get().reads(5 as u64))
.saturating_add(T::DbWeight::get().writes(5 as u64))
}
// Storage: PhragmenElection Voting (r:5001 w:5000)
// Storage: PhragmenElection Members (r:1 w:0)
// Storage: PhragmenElection RunnersUp (r:1 w:0)
// Storage: PhragmenElection Candidates (r:1 w:0)
// Storage: Balances Locks (r:5000 w:5000)
// Storage: System Account (r:5000 w:5000)
/// The range of component `v` is `[5000, 10000]`.
/// The range of component `d` is `[1, 5000]`.
fn clean_defunct_voters(v: u32, _d: u32, ) -> Weight {
Weight::from_ref_time(0 as u64)
// Standard Error: 85_000
.saturating_add(Weight::from_ref_time(61_507_000 as u64).saturating_mul(v as u64))
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(v as u64)))
.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(v as u64)))
}
// Storage: PhragmenElection Candidates (r:1 w:1)
// Storage: PhragmenElection Members (r:1 w:1)
// Storage: PhragmenElection RunnersUp (r:1 w:1)
// Storage: PhragmenElection Voting (r:10001 w:0)
// Storage: Council Proposals (r:1 w:0)
// Storage: PhragmenElection ElectionRounds (r:1 w:1)
// Storage: Council Members (r:0 w:1)
// Storage: Council Prime (r:0 w:1)
// Storage: System Account (r:3 w:3)
/// The range of component `c` is `[1, 1000]`.
/// The range of component `v` is `[1, 10000]`.
/// The range of component `e` is `[10000, 160000]`.
fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight {
Weight::from_ref_time(0 as u64)
// Standard Error: 1_864_000
.saturating_add(Weight::from_ref_time(167_385_000 as u64).saturating_mul(v as u64))
// Standard Error: 124_000
.saturating_add(Weight::from_ref_time(9_721_000 as u64).saturating_mul(e as u64))
.saturating_add(T::DbWeight::get().reads(265 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64)))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(v as u64)))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64)))
}
}
@@ -0,0 +1,119 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_gilt`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_gilt
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/pallet_gilt.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_gilt`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_gilt::WeightInfo for WeightInfo<T> {
// Storage: Gilt Queues (r:1 w:1)
// Storage: Gilt QueueTotals (r:1 w:1)
/// The range of component `l` is `[0, 999]`.
fn place_bid(l: u32, ) -> Weight {
Weight::from_ref_time(36_767_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(115_000 as u64).saturating_mul(l as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Gilt Queues (r:1 w:1)
// Storage: Gilt QueueTotals (r:1 w:1)
fn place_bid_max() -> Weight {
Weight::from_ref_time(119_333_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Gilt Queues (r:1 w:1)
// Storage: Gilt QueueTotals (r:1 w:1)
/// The range of component `l` is `[1, 1000]`.
fn retract_bid(l: u32, ) -> Weight {
Weight::from_ref_time(37_108_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(94_000 as u64).saturating_mul(l as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Gilt ActiveTotal (r:1 w:1)
fn set_target() -> Weight {
Weight::from_ref_time(5_188_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Gilt Active (r:1 w:1)
// Storage: Gilt ActiveTotal (r:1 w:1)
fn thaw() -> Weight {
Weight::from_ref_time(43_654_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Gilt ActiveTotal (r:1 w:0)
fn pursue_target_noop() -> Weight {
Weight::from_ref_time(1_584_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
}
// Storage: Gilt ActiveTotal (r:1 w:1)
// Storage: Gilt QueueTotals (r:1 w:1)
// Storage: Gilt Queues (r:1 w:1)
// Storage: Gilt Active (r:0 w:1)
/// The range of component `b` is `[1, 1000]`.
fn pursue_target_per_item(b: u32, ) -> Weight {
Weight::from_ref_time(21_464_000 as u64)
// Standard Error: 2_000
.saturating_add(Weight::from_ref_time(4_387_000 as u64).saturating_mul(b as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
}
// Storage: Gilt ActiveTotal (r:1 w:1)
// Storage: Gilt QueueTotals (r:1 w:1)
// Storage: Gilt Queues (r:1 w:1)
// Storage: Gilt Active (r:0 w:1)
/// The range of component `q` is `[1, 300]`.
fn pursue_target_per_queue(q: u32, ) -> Weight {
Weight::from_ref_time(12_881_000 as u64)
// Standard Error: 8_000
.saturating_add(Weight::from_ref_time(8_285_000 as u64).saturating_mul(q as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(q as u64)))
.saturating_add(T::DbWeight::get().writes(2 as u64))
.saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(q as u64)))
}
}
@@ -0,0 +1,233 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_identity`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_identity
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/pallet_identity.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_identity`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Storage: Identity Registrars (r:1 w:1)
/// The range of component `r` is `[1, 19]`.
fn add_registrar(r: u32, ) -> Weight {
Weight::from_ref_time(16_146_000 as u64)
// Standard Error: 2_000
.saturating_add(Weight::from_ref_time(164_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Identity IdentityOf (r:1 w:1)
/// The range of component `r` is `[1, 20]`.
/// The range of component `x` is `[1, 100]`.
fn set_identity(r: u32, x: u32, ) -> Weight {
Weight::from_ref_time(28_556_000 as u64)
// Standard Error: 7_000
.saturating_add(Weight::from_ref_time(208_000 as u64).saturating_mul(r as u64))
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(371_000 as u64).saturating_mul(x as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Identity IdentityOf (r:1 w:0)
// Storage: Identity SubsOf (r:1 w:1)
// Storage: Identity SuperOf (r:1 w:1)
/// The range of component `s` is `[1, 100]`.
fn set_subs_new(s: u32, ) -> Weight {
Weight::from_ref_time(25_214_000 as u64)
// Standard Error: 6_000
.saturating_add(Weight::from_ref_time(3_032_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64)))
.saturating_add(T::DbWeight::get().writes(1 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
}
// Storage: Identity IdentityOf (r:1 w:0)
// Storage: Identity SubsOf (r:1 w:1)
// Storage: Identity SuperOf (r:0 w:1)
/// The range of component `p` is `[1, 100]`.
fn set_subs_old(p: u32, ) -> Weight {
Weight::from_ref_time(26_402_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(916_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(p as u64)))
}
// Storage: Identity SubsOf (r:1 w:1)
// Storage: Identity IdentityOf (r:1 w:1)
// Storage: Identity SuperOf (r:0 w:100)
/// The range of component `r` is `[1, 20]`.
/// The range of component `s` is `[1, 100]`.
/// The range of component `x` is `[1, 100]`.
fn clear_identity(r: u32, s: u32, x: u32, ) -> Weight {
Weight::from_ref_time(32_822_000 as u64)
// Standard Error: 5_000
.saturating_add(Weight::from_ref_time(74_000 as u64).saturating_mul(r as u64))
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(909_000 as u64).saturating_mul(s as u64))
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(166_000 as u64).saturating_mul(x as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
}
// Storage: Identity Registrars (r:1 w:0)
// Storage: Identity IdentityOf (r:1 w:1)
/// The range of component `r` is `[1, 20]`.
/// The range of component `x` is `[1, 100]`.
fn request_judgement(r: u32, x: u32, ) -> Weight {
Weight::from_ref_time(30_696_000 as u64)
// Standard Error: 4_000
.saturating_add(Weight::from_ref_time(163_000 as u64).saturating_mul(r as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(377_000 as u64).saturating_mul(x as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Identity IdentityOf (r:1 w:1)
/// The range of component `r` is `[1, 20]`.
/// The range of component `x` is `[1, 100]`.
fn cancel_request(r: u32, x: u32, ) -> Weight {
Weight::from_ref_time(28_144_000 as u64)
// Standard Error: 4_000
.saturating_add(Weight::from_ref_time(144_000 as u64).saturating_mul(r as u64))
// Standard Error: 0
.saturating_add(Weight::from_ref_time(363_000 as u64).saturating_mul(x as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Identity Registrars (r:1 w:1)
/// The range of component `r` is `[1, 19]`.
fn set_fee(r: u32, ) -> Weight {
Weight::from_ref_time(7_135_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(135_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Identity Registrars (r:1 w:1)
/// The range of component `r` is `[1, 19]`.
fn set_account_id(r: u32, ) -> Weight {
Weight::from_ref_time(6_861_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(140_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Identity Registrars (r:1 w:1)
/// The range of component `r` is `[1, 19]`.
fn set_fields(r: u32, ) -> Weight {
Weight::from_ref_time(7_143_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(133_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Identity Registrars (r:1 w:0)
// Storage: Identity IdentityOf (r:1 w:1)
/// The range of component `r` is `[1, 19]`.
/// The range of component `x` is `[1, 100]`.
fn provide_judgement(r: u32, x: u32, ) -> Weight {
Weight::from_ref_time(21_902_000 as u64)
// Standard Error: 6_000
.saturating_add(Weight::from_ref_time(109_000 as u64).saturating_mul(r as u64))
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(378_000 as u64).saturating_mul(x as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Identity SubsOf (r:1 w:1)
// Storage: Identity IdentityOf (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: Identity SuperOf (r:0 w:100)
/// The range of component `r` is `[1, 20]`.
/// The range of component `s` is `[1, 100]`.
/// The range of component `x` is `[1, 100]`.
fn kill_identity(_r: u32, s: u32, _x: u32, ) -> Weight {
Weight::from_ref_time(48_712_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(903_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
}
// Storage: Identity IdentityOf (r:1 w:0)
// Storage: Identity SuperOf (r:1 w:1)
// Storage: Identity SubsOf (r:1 w:1)
/// The range of component `s` is `[1, 99]`.
fn add_sub(s: u32, ) -> Weight {
Weight::from_ref_time(33_860_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(97_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Identity IdentityOf (r:1 w:0)
// Storage: Identity SuperOf (r:1 w:1)
/// The range of component `s` is `[1, 100]`.
fn rename_sub(s: u32, ) -> Weight {
Weight::from_ref_time(12_063_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(27_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Identity IdentityOf (r:1 w:0)
// Storage: Identity SuperOf (r:1 w:1)
// Storage: Identity SubsOf (r:1 w:1)
/// The range of component `s` is `[1, 100]`.
fn remove_sub(s: u32, ) -> Weight {
Weight::from_ref_time(34_418_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(84_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Identity SuperOf (r:1 w:1)
// Storage: Identity SubsOf (r:1 w:1)
/// The range of component `s` is `[1, 99]`.
fn quit_sub(s: u32, ) -> Weight {
Weight::from_ref_time(24_186_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(77_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
}
@@ -0,0 +1,135 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_preimage`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_preimage
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/pallet_preimage.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_preimage`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Storage: Preimage PreimageFor (r:1 w:1)
// Storage: Preimage StatusFor (r:1 w:1)
/// The range of component `s` is `[0, 4194304]`.
fn note_preimage(s: u32, ) -> Weight {
Weight::from_ref_time(0 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Preimage PreimageFor (r:1 w:1)
// Storage: Preimage StatusFor (r:1 w:0)
/// The range of component `s` is `[0, 4194304]`.
fn note_requested_preimage(s: u32, ) -> Weight {
Weight::from_ref_time(0 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Preimage PreimageFor (r:1 w:1)
// Storage: Preimage StatusFor (r:1 w:0)
/// The range of component `s` is `[0, 4194304]`.
fn note_no_deposit_preimage(s: u32, ) -> Weight {
Weight::from_ref_time(0 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Preimage StatusFor (r:1 w:1)
// Storage: Preimage PreimageFor (r:0 w:1)
fn unnote_preimage() -> Weight {
Weight::from_ref_time(35_236_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Preimage StatusFor (r:1 w:1)
// Storage: Preimage PreimageFor (r:0 w:1)
fn unnote_no_deposit_preimage() -> Weight {
Weight::from_ref_time(23_396_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Preimage StatusFor (r:1 w:1)
fn request_preimage() -> Weight {
Weight::from_ref_time(33_944_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Preimage StatusFor (r:1 w:1)
fn request_no_deposit_preimage() -> Weight {
Weight::from_ref_time(22_151_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Preimage StatusFor (r:1 w:1)
fn request_unnoted_preimage() -> Weight {
Weight::from_ref_time(16_617_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Preimage StatusFor (r:1 w:1)
fn request_requested_preimage() -> Weight {
Weight::from_ref_time(6_552_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Preimage StatusFor (r:1 w:1)
// Storage: Preimage PreimageFor (r:0 w:1)
fn unrequest_preimage() -> Weight {
Weight::from_ref_time(23_787_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Preimage StatusFor (r:1 w:1)
// Storage: Preimage PreimageFor (r:0 w:1)
fn unrequest_unnoted_preimage() -> Weight {
Weight::from_ref_time(16_327_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Preimage StatusFor (r:1 w:1)
fn unrequest_multi_referenced_preimage() -> Weight {
Weight::from_ref_time(6_289_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
}
@@ -0,0 +1,207 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_scheduler`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_scheduler
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/pallet_scheduler.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_scheduler`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Storage: Scheduler Agenda (r:2 w:2)
// Storage: Preimage PreimageFor (r:1 w:1)
// Storage: Preimage StatusFor (r:1 w:1)
// Storage: Scheduler Lookup (r:0 w:1)
/// The range of component `s` is `[1, 50]`.
fn on_initialize_periodic_named_resolved(s: u32, ) -> Weight {
Weight::from_ref_time(1_256_000 as u64)
// Standard Error: 42_000
.saturating_add(Weight::from_ref_time(26_925_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(s as u64)))
.saturating_add(T::DbWeight::get().writes(1 as u64))
.saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(s as u64)))
}
// Storage: Scheduler Agenda (r:1 w:1)
// Storage: Preimage PreimageFor (r:1 w:1)
// Storage: Preimage StatusFor (r:1 w:1)
// Storage: Scheduler Lookup (r:0 w:1)
/// The range of component `s` is `[1, 50]`.
fn on_initialize_named_resolved(s: u32, ) -> Weight {
Weight::from_ref_time(921_000 as u64)
// Standard Error: 35_000
.saturating_add(Weight::from_ref_time(21_922_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64)))
.saturating_add(T::DbWeight::get().writes(1 as u64))
.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(s as u64)))
}
// Storage: Scheduler Agenda (r:2 w:2)
// Storage: Preimage PreimageFor (r:1 w:1)
// Storage: Preimage StatusFor (r:1 w:1)
/// The range of component `s` is `[1, 50]`.
fn on_initialize_periodic_resolved(s: u32, ) -> Weight {
Weight::from_ref_time(0 as u64)
// Standard Error: 62_000
.saturating_add(Weight::from_ref_time(24_926_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(s as u64)))
.saturating_add(T::DbWeight::get().writes(1 as u64))
.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(s as u64)))
}
// Storage: Scheduler Agenda (r:1 w:1)
// Storage: Preimage PreimageFor (r:1 w:1)
// Storage: Preimage StatusFor (r:1 w:1)
/// The range of component `s` is `[1, 50]`.
fn on_initialize_resolved(s: u32, ) -> Weight {
Weight::from_ref_time(10_674_000 as u64)
// Standard Error: 31_000
.saturating_add(Weight::from_ref_time(20_631_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64)))
.saturating_add(T::DbWeight::get().writes(1 as u64))
.saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(s as u64)))
}
// Storage: Scheduler Agenda (r:2 w:2)
// Storage: Preimage PreimageFor (r:1 w:0)
// Storage: Scheduler Lookup (r:0 w:1)
/// The range of component `s` is `[1, 50]`.
fn on_initialize_named_aborted(s: u32, ) -> Weight {
Weight::from_ref_time(2_607_000 as u64)
// Standard Error: 20_000
.saturating_add(Weight::from_ref_time(10_009_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64)))
.saturating_add(T::DbWeight::get().writes(2 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
}
// Storage: Scheduler Agenda (r:2 w:2)
// Storage: Preimage PreimageFor (r:1 w:0)
/// The range of component `s` is `[1, 50]`.
fn on_initialize_aborted(s: u32, ) -> Weight {
Weight::from_ref_time(3_381_000 as u64)
// Standard Error: 17_000
.saturating_add(Weight::from_ref_time(7_945_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64)))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Scheduler Agenda (r:2 w:2)
// Storage: Scheduler Lookup (r:0 w:1)
/// The range of component `s` is `[1, 50]`.
fn on_initialize_periodic_named(s: u32, ) -> Weight {
Weight::from_ref_time(6_676_000 as u64)
// Standard Error: 25_000
.saturating_add(Weight::from_ref_time(16_966_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64)))
.saturating_add(T::DbWeight::get().writes(1 as u64))
.saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(s as u64)))
}
// Storage: Scheduler Agenda (r:2 w:2)
/// The range of component `s` is `[1, 50]`.
fn on_initialize_periodic(s: u32, ) -> Weight {
Weight::from_ref_time(8_899_000 as u64)
// Standard Error: 24_000
.saturating_add(Weight::from_ref_time(14_630_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64)))
.saturating_add(T::DbWeight::get().writes(1 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
}
// Storage: Scheduler Agenda (r:1 w:1)
// Storage: Scheduler Lookup (r:0 w:1)
/// The range of component `s` is `[1, 50]`.
fn on_initialize_named(s: u32, ) -> Weight {
Weight::from_ref_time(8_583_000 as u64)
// Standard Error: 19_000
.saturating_add(Weight::from_ref_time(12_228_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
}
// Storage: Scheduler Agenda (r:1 w:1)
/// The range of component `s` is `[1, 50]`.
fn on_initialize(s: u32, ) -> Weight {
Weight::from_ref_time(8_544_000 as u64)
// Standard Error: 19_000
.saturating_add(Weight::from_ref_time(11_364_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Scheduler Agenda (r:1 w:1)
/// The range of component `s` is `[0, 50]`.
fn schedule(s: u32, ) -> Weight {
Weight::from_ref_time(19_060_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(46_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Scheduler Agenda (r:1 w:1)
// Storage: Scheduler Lookup (r:0 w:1)
/// The range of component `s` is `[1, 50]`.
fn cancel(s: u32, ) -> Weight {
Weight::from_ref_time(17_694_000 as u64)
// Standard Error: 7_000
.saturating_add(Weight::from_ref_time(2_368_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Scheduler Lookup (r:1 w:1)
// Storage: Scheduler Agenda (r:1 w:1)
/// The range of component `s` is `[0, 50]`.
fn schedule_named(s: u32, ) -> Weight {
Weight::from_ref_time(22_258_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(60_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Scheduler Lookup (r:1 w:1)
// Storage: Scheduler Agenda (r:1 w:1)
/// The range of component `s` is `[1, 50]`.
fn cancel_named(s: u32, ) -> Weight {
Weight::from_ref_time(18_882_000 as u64)
// Standard Error: 7_000
.saturating_add(Weight::from_ref_time(2_379_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
}
@@ -22,7 +22,7 @@
// Executed Command:
// ./target/production/polkadot
// benchmark
// --chain=polkadot-dev
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_session
@@ -0,0 +1,110 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_tips`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_tips
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/pallet_tips.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_tips`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_tips::WeightInfo for WeightInfo<T> {
// Storage: Tips Reasons (r:1 w:1)
// Storage: Tips Tips (r:1 w:1)
/// The range of component `r` is `[0, 16384]`.
fn report_awesome(r: u32, ) -> Weight {
Weight::from_ref_time(28_045_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(r as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Tips Tips (r:1 w:1)
// Storage: Tips Reasons (r:0 w:1)
fn retract_tip() -> Weight {
Weight::from_ref_time(26_017_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: PhragmenElection Members (r:1 w:0)
// Storage: Tips Reasons (r:1 w:1)
// Storage: Tips Tips (r:0 w:1)
/// The range of component `r` is `[0, 16384]`.
/// The range of component `t` is `[1, 19]`.
fn tip_new(r: u32, t: u32, ) -> Weight {
Weight::from_ref_time(19_125_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(r as u64))
// Standard Error: 2_000
.saturating_add(Weight::from_ref_time(41_000 as u64).saturating_mul(t as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: PhragmenElection Members (r:1 w:0)
// Storage: Tips Tips (r:1 w:1)
/// The range of component `t` is `[1, 19]`.
fn tip(t: u32, ) -> Weight {
Weight::from_ref_time(10_895_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(158_000 as u64).saturating_mul(t as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Tips Tips (r:1 w:1)
// Storage: PhragmenElection Members (r:1 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Tips Reasons (r:0 w:1)
/// The range of component `t` is `[1, 19]`.
fn close_tip(t: u32, ) -> Weight {
Weight::from_ref_time(42_301_000 as u64)
// Standard Error: 4_000
.saturating_add(Weight::from_ref_time(154_000 as u64).saturating_mul(t as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Tips Tips (r:1 w:1)
// Storage: Tips Reasons (r:0 w:1)
/// The range of component `t` is `[1, 19]`.
fn slash_tip(t: u32, ) -> Weight {
Weight::from_ref_time(16_548_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(21_000 as u64).saturating_mul(t as u64))
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
}
@@ -0,0 +1,94 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_treasury`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_treasury
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/pallet_treasury.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_treasury`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
fn spend() -> Weight {
Weight::from_ref_time(153_000 as u64)
}
// Storage: Treasury ProposalCount (r:1 w:1)
// Storage: Treasury Proposals (r:0 w:1)
fn propose_spend() -> Weight {
Weight::from_ref_time(25_149_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Treasury Proposals (r:1 w:1)
// Storage: System Account (r:1 w:1)
fn reject_proposal() -> Weight {
Weight::from_ref_time(35_748_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Treasury Proposals (r:1 w:0)
// Storage: Treasury Approvals (r:1 w:1)
/// The range of component `p` is `[0, 99]`.
fn approve_proposal(p: u32, ) -> Weight {
Weight::from_ref_time(10_082_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(36_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Treasury Approvals (r:1 w:1)
fn remove_approval() -> Weight {
Weight::from_ref_time(5_612_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: Treasury Approvals (r:1 w:1)
// Storage: Bounties BountyApprovals (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: Treasury Proposals (r:2 w:2)
/// The range of component `p` is `[0, 100]`.
fn on_initialize_proposals(p: u32, ) -> Weight {
Weight::from_ref_time(36_270_000 as u64)
// Standard Error: 32_000
.saturating_add(Weight::from_ref_time(30_142_000 as u64).saturating_mul(p as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(p as u64)))
.saturating_add(T::DbWeight::get().writes(3 as u64))
.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(p as u64)))
}
}
@@ -0,0 +1,157 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_vesting`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_vesting
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/pallet_vesting.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_vesting`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
// Storage: Vesting Vesting (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
/// The range of component `l` is `[0, 49]`.
/// The range of component `s` is `[1, 28]`.
fn vest_locked(l: u32, s: u32, ) -> Weight {
Weight::from_ref_time(29_030_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(75_000 as u64).saturating_mul(l as u64))
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(162_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Vesting Vesting (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
/// The range of component `l` is `[0, 49]`.
/// The range of component `s` is `[1, 28]`.
fn vest_unlocked(l: u32, s: u32, ) -> Weight {
Weight::from_ref_time(29_535_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(69_000 as u64).saturating_mul(l as u64))
// Standard Error: 2_000
.saturating_add(Weight::from_ref_time(113_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: Vesting Vesting (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
/// The range of component `l` is `[0, 49]`.
/// The range of component `s` is `[1, 28]`.
fn vest_other_locked(l: u32, s: u32, ) -> Weight {
Weight::from_ref_time(29_237_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(75_000 as u64).saturating_mul(l as u64))
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(160_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Vesting Vesting (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
/// The range of component `l` is `[0, 49]`.
/// The range of component `s` is `[1, 28]`.
fn vest_other_unlocked(l: u32, s: u32, ) -> Weight {
Weight::from_ref_time(29_750_000 as u64)
// Standard Error: 3_000
.saturating_add(Weight::from_ref_time(84_000 as u64).saturating_mul(l as u64))
// Standard Error: 5_000
.saturating_add(Weight::from_ref_time(109_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Vesting Vesting (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
/// The range of component `l` is `[0, 49]`.
/// The range of component `s` is `[0, 27]`.
fn vested_transfer(l: u32, s: u32, ) -> Weight {
Weight::from_ref_time(44_092_000 as u64)
// Standard Error: 2_000
.saturating_add(Weight::from_ref_time(71_000 as u64).saturating_mul(l as u64))
// Standard Error: 4_000
.saturating_add(Weight::from_ref_time(134_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Vesting Vesting (r:1 w:1)
// Storage: System Account (r:2 w:2)
// Storage: Balances Locks (r:1 w:1)
/// The range of component `l` is `[0, 49]`.
/// The range of component `s` is `[0, 27]`.
fn force_vested_transfer(l: u32, s: u32, ) -> Weight {
Weight::from_ref_time(44_003_000 as u64)
// Standard Error: 2_000
.saturating_add(Weight::from_ref_time(72_000 as u64).saturating_mul(l as u64))
// Standard Error: 4_000
.saturating_add(Weight::from_ref_time(119_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(4 as u64))
}
// Storage: Vesting Vesting (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
/// The range of component `l` is `[0, 49]`.
/// The range of component `s` is `[2, 28]`.
fn not_unlocking_merge_schedules(l: u32, s: u32, ) -> Weight {
Weight::from_ref_time(29_853_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(77_000 as u64).saturating_mul(l as u64))
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(153_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: Vesting Vesting (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
/// The range of component `l` is `[0, 49]`.
/// The range of component `s` is `[2, 28]`.
fn unlocking_merge_schedules(l: u32, s: u32, ) -> Weight {
Weight::from_ref_time(29_466_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(81_000 as u64).saturating_mul(l as u64))
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(158_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
}
@@ -0,0 +1,102 @@
// Copyright 2017-2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `runtime_common::claims`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-08-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot
// benchmark
// pallet
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=runtime_common::claims
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/rococo/src/weights/runtime_common_claims.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `runtime_common::claims`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> runtime_common::claims::WeightInfo for WeightInfo<T> {
// Storage: Claims Claims (r:1 w:1)
// Storage: Claims Signing (r:1 w:1)
// Storage: Claims Total (r:1 w:1)
// Storage: Claims Vesting (r:1 w:1)
// Storage: Vesting Vesting (r:1 w:1)
// Storage: System Account (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
fn claim() -> Weight {
Weight::from_ref_time(139_399_000 as u64)
.saturating_add(T::DbWeight::get().reads(7 as u64))
.saturating_add(T::DbWeight::get().writes(6 as u64))
}
// Storage: Claims Total (r:1 w:1)
// Storage: Claims Vesting (r:0 w:1)
// Storage: Claims Claims (r:0 w:1)
// Storage: Claims Signing (r:0 w:1)
fn mint_claim() -> Weight {
Weight::from_ref_time(9_284_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(4 as u64))
}
// Storage: Claims Claims (r:1 w:1)
// Storage: Claims Signing (r:1 w:1)
// Storage: Claims Total (r:1 w:1)
// Storage: Claims Vesting (r:1 w:1)
// Storage: Vesting Vesting (r:1 w:1)
// Storage: System Account (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
fn claim_attest() -> Weight {
Weight::from_ref_time(143_329_000 as u64)
.saturating_add(T::DbWeight::get().reads(7 as u64))
.saturating_add(T::DbWeight::get().writes(6 as u64))
}
// Storage: Claims Preclaims (r:1 w:1)
// Storage: Claims Signing (r:1 w:1)
// Storage: Claims Claims (r:1 w:1)
// Storage: Claims Total (r:1 w:1)
// Storage: Claims Vesting (r:1 w:1)
// Storage: Vesting Vesting (r:1 w:1)
// Storage: System Account (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
fn attest() -> Weight {
Weight::from_ref_time(63_456_000 as u64)
.saturating_add(T::DbWeight::get().reads(8 as u64))
.saturating_add(T::DbWeight::get().writes(7 as u64))
}
// Storage: Claims Claims (r:1 w:2)
// Storage: Claims Vesting (r:1 w:2)
// Storage: Claims Signing (r:1 w:2)
// Storage: Claims Preclaims (r:1 w:1)
fn move_claim() -> Weight {
Weight::from_ref_time(19_434_000 as u64)
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(7 as u64))
}
}
@@ -0,0 +1,203 @@
mod pallet_xcm_benchmarks_fungible;
mod pallet_xcm_benchmarks_generic;
use crate::Runtime;
use frame_support::weights::Weight;
use sp_std::prelude::*;
use xcm::{
latest::{prelude::*, Weight as XCMWeight},
DoubleEncoded,
};
use pallet_xcm_benchmarks_fungible::WeightInfo as XcmBalancesWeight;
use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric;
/// Types of asset supported by the Rococo runtime.
pub enum AssetTypes {
/// An asset backed by `pallet-balances`.
Balances,
/// Unknown asset.
Unknown,
}
impl From<&MultiAsset> for AssetTypes {
fn from(asset: &MultiAsset) -> Self {
match asset {
MultiAsset { id: Concrete(MultiLocation { parents: 0, interior: Here }), .. } =>
AssetTypes::Balances,
_ => AssetTypes::Unknown,
}
}
}
trait WeighMultiAssets {
fn weigh_multi_assets(&self, balances_weight: Weight) -> XCMWeight;
}
// Rococo only knows about one asset, the balances pallet.
const MAX_ASSETS: u32 = 1;
impl WeighMultiAssets for MultiAssetFilter {
fn weigh_multi_assets(&self, balances_weight: Weight) -> XCMWeight {
let weight = match self {
Self::Definite(assets) => assets
.inner()
.into_iter()
.map(From::from)
.map(|t| match t {
AssetTypes::Balances => balances_weight,
AssetTypes::Unknown => Weight::MAX,
})
.fold(Weight::zero(), |acc, x| acc.saturating_add(x)),
Self::Wild(_) => balances_weight.saturating_mul(MAX_ASSETS as u64),
};
weight.ref_time()
}
}
impl WeighMultiAssets for MultiAssets {
fn weigh_multi_assets(&self, balances_weight: Weight) -> XCMWeight {
let weight = self
.inner()
.into_iter()
.map(|m| <AssetTypes as From<&MultiAsset>>::from(m))
.map(|t| match t {
AssetTypes::Balances => balances_weight,
AssetTypes::Unknown => Weight::MAX,
})
.fold(Weight::zero(), |acc, x| acc.saturating_add(x));
weight.ref_time()
}
}
pub struct RococoXcmWeight<Call>(core::marker::PhantomData<Call>);
impl<Call> XcmWeightInfo<Call> for RococoXcmWeight<Call> {
fn withdraw_asset(assets: &MultiAssets) -> XCMWeight {
assets.weigh_multi_assets(XcmBalancesWeight::<Runtime>::withdraw_asset())
}
fn reserve_asset_deposited(assets: &MultiAssets) -> XCMWeight {
assets.weigh_multi_assets(XcmBalancesWeight::<Runtime>::reserve_asset_deposited())
}
fn receive_teleported_asset(assets: &MultiAssets) -> XCMWeight {
assets.weigh_multi_assets(XcmBalancesWeight::<Runtime>::receive_teleported_asset())
}
fn query_response(_query_id: &u64, _response: &Response, _max_weight: &u64) -> XCMWeight {
XcmGeneric::<Runtime>::query_response().ref_time()
}
fn transfer_asset(assets: &MultiAssets, _dest: &MultiLocation) -> XCMWeight {
assets.weigh_multi_assets(XcmBalancesWeight::<Runtime>::transfer_asset())
}
fn transfer_reserve_asset(
assets: &MultiAssets,
_dest: &MultiLocation,
_xcm: &Xcm<()>,
) -> XCMWeight {
assets.weigh_multi_assets(XcmBalancesWeight::<Runtime>::transfer_reserve_asset())
}
fn transact(
_origin_type: &OriginKind,
_require_weight_at_most: &u64,
_call: &DoubleEncoded<Call>,
) -> XCMWeight {
XcmGeneric::<Runtime>::transact().ref_time()
}
fn hrmp_new_channel_open_request(
_sender: &u32,
_max_message_size: &u32,
_max_capacity: &u32,
) -> XCMWeight {
// XCM Executor does not currently support HRMP channel operations
Weight::MAX.ref_time()
}
fn hrmp_channel_accepted(_recipient: &u32) -> XCMWeight {
// XCM Executor does not currently support HRMP channel operations
Weight::MAX.ref_time()
}
fn hrmp_channel_closing(_initiator: &u32, _sender: &u32, _recipient: &u32) -> XCMWeight {
// XCM Executor does not currently support HRMP channel operations
Weight::MAX.ref_time()
}
fn clear_origin() -> XCMWeight {
XcmGeneric::<Runtime>::clear_origin().ref_time()
}
fn descend_origin(_who: &InteriorMultiLocation) -> XCMWeight {
XcmGeneric::<Runtime>::descend_origin().ref_time()
}
fn report_error(
_query_id: &QueryId,
_dest: &MultiLocation,
_max_response_weight: &u64,
) -> XCMWeight {
XcmGeneric::<Runtime>::report_error().ref_time()
}
fn deposit_asset(
assets: &MultiAssetFilter,
_max_assets: &u32, // TODO use max assets?
_dest: &MultiLocation,
) -> XCMWeight {
assets.weigh_multi_assets(XcmBalancesWeight::<Runtime>::deposit_asset())
}
fn deposit_reserve_asset(
assets: &MultiAssetFilter,
_max_assets: &u32, // TODO use max assets?
_dest: &MultiLocation,
_xcm: &Xcm<()>,
) -> XCMWeight {
assets.weigh_multi_assets(XcmBalancesWeight::<Runtime>::deposit_reserve_asset())
}
fn exchange_asset(_give: &MultiAssetFilter, _receive: &MultiAssets) -> XCMWeight {
Weight::MAX.ref_time() // todo fix
}
fn initiate_reserve_withdraw(
assets: &MultiAssetFilter,
_reserve: &MultiLocation,
_xcm: &Xcm<()>,
) -> XCMWeight {
assets.weigh_multi_assets(XcmGeneric::<Runtime>::initiate_reserve_withdraw())
}
fn initiate_teleport(
assets: &MultiAssetFilter,
_dest: &MultiLocation,
_xcm: &Xcm<()>,
) -> XCMWeight {
assets.weigh_multi_assets(XcmBalancesWeight::<Runtime>::initiate_teleport())
}
fn query_holding(
_query_id: &u64,
_dest: &MultiLocation,
_assets: &MultiAssetFilter,
_max_response_weight: &u64,
) -> XCMWeight {
XcmGeneric::<Runtime>::query_holding().ref_time()
}
fn buy_execution(_fees: &MultiAsset, _weight_limit: &WeightLimit) -> XCMWeight {
XcmGeneric::<Runtime>::buy_execution().ref_time()
}
fn refund_surplus() -> XCMWeight {
XcmGeneric::<Runtime>::refund_surplus().ref_time()
}
fn set_error_handler(_xcm: &Xcm<Call>) -> XCMWeight {
XcmGeneric::<Runtime>::set_error_handler().ref_time()
}
fn set_appendix(_xcm: &Xcm<Call>) -> XCMWeight {
XcmGeneric::<Runtime>::set_appendix().ref_time()
}
fn clear_error() -> XCMWeight {
XcmGeneric::<Runtime>::clear_error().ref_time()
}
fn claim_asset(_assets: &MultiAssets, _ticket: &MultiLocation) -> XCMWeight {
XcmGeneric::<Runtime>::claim_asset().ref_time()
}
fn trap(_code: &u64) -> XCMWeight {
XcmGeneric::<Runtime>::trap().ref_time()
}
fn subscribe_version(_query_id: &QueryId, _max_response_weight: &u64) -> XCMWeight {
XcmGeneric::<Runtime>::subscribe_version().ref_time()
}
fn unsubscribe_version() -> XCMWeight {
XcmGeneric::<Runtime>::unsubscribe_version().ref_time()
}
}
@@ -0,0 +1,112 @@
// Copyright 2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_xcm_benchmarks::fungible`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-03-08, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// target/production/polkadot
// benchmark
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_xcm_benchmarks::fungible
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --heap-pages=4096
// --header=./file_header.txt
// --template=./xcm/pallet-xcm-benchmarks/template.hbs
// --output=./runtime/rococo/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weights for `pallet_xcm_benchmarks::fungible`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo<T> {
// Storage: System Account (r:1 w:1)
pub(crate) fn withdraw_asset() -> Weight {
Weight::from_ref_time(20_385_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: System Account (r:2 w:2)
pub(crate) fn transfer_asset() -> Weight {
Weight::from_ref_time(32_756_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: System Account (r:2 w:2)
// Storage: XcmPallet SupportedVersion (r:1 w:0)
// Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1)
// Storage: XcmPallet SafeXcmVersion (r:1 w:0)
// Storage: Configuration ActiveConfig (r:1 w:0)
// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1)
// Storage: Dmp DownwardMessageQueues (r:1 w:1)
pub(crate) fn transfer_reserve_asset() -> Weight {
Weight::from_ref_time(50_645_000 as u64)
.saturating_add(T::DbWeight::get().reads(8 as u64))
.saturating_add(T::DbWeight::get().writes(5 as u64))
}
// Storage: Benchmark Override (r:0 w:0)
pub(crate) fn reserve_asset_deposited() -> Weight {
Weight::from_ref_time(2_000_000_000_000 as u64)
}
// Storage: System Account (r:1 w:1)
pub(crate) fn receive_teleported_asset() -> Weight {
Weight::from_ref_time(19_595_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: System Account (r:1 w:1)
pub(crate) fn deposit_asset() -> Weight {
Weight::from_ref_time(21_763_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: System Account (r:1 w:1)
// Storage: XcmPallet SupportedVersion (r:1 w:0)
// Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1)
// Storage: XcmPallet SafeXcmVersion (r:1 w:0)
// Storage: Configuration ActiveConfig (r:1 w:0)
// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1)
// Storage: Dmp DownwardMessageQueues (r:1 w:1)
pub(crate) fn deposit_reserve_asset() -> Weight {
Weight::from_ref_time(40_930_000 as u64)
.saturating_add(T::DbWeight::get().reads(7 as u64))
.saturating_add(T::DbWeight::get().writes(4 as u64))
}
// Storage: System Account (r:1 w:1)
// Storage: XcmPallet SupportedVersion (r:1 w:0)
// Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1)
// Storage: XcmPallet SafeXcmVersion (r:1 w:0)
// Storage: Configuration ActiveConfig (r:1 w:0)
// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1)
// Storage: Dmp DownwardMessageQueues (r:1 w:1)
pub(crate) fn initiate_teleport() -> Weight {
Weight::from_ref_time(40_788_000 as u64)
.saturating_add(T::DbWeight::get().reads(7 as u64))
.saturating_add(T::DbWeight::get().writes(4 as u64))
}
}
@@ -0,0 +1,136 @@
// Copyright 2022 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.
// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `pallet_xcm_benchmarks::generic`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-03-08, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
// Executed Command:
// target/production/polkadot
// benchmark
// --chain=rococo-dev
// --steps=50
// --repeat=20
// --pallet=pallet_xcm_benchmarks::generic
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --heap-pages=4096
// --header=./file_header.txt
// --template=./xcm/pallet-xcm-benchmarks/template.hbs
// --output=./runtime/rococo/src/weights/xcm/pallet_xcm_benchmarks_generic.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weights for `pallet_xcm_benchmarks::generic`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo<T> {
// Storage: XcmPallet SupportedVersion (r:1 w:0)
// Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1)
// Storage: XcmPallet SafeXcmVersion (r:1 w:0)
// Storage: Configuration ActiveConfig (r:1 w:0)
// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1)
// Storage: Dmp DownwardMessageQueues (r:1 w:1)
pub(crate) fn query_holding() -> Weight {
Weight::from_ref_time(21_822_000 as u64)
.saturating_add(T::DbWeight::get().reads(6 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
pub(crate) fn buy_execution() -> Weight {
Weight::from_ref_time(3_109_000 as u64)
}
// Storage: XcmPallet Queries (r:1 w:0)
pub(crate) fn query_response() -> Weight {
Weight::from_ref_time(12_087_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
}
pub(crate) fn transact() -> Weight {
Weight::from_ref_time(12_398_000 as u64)
}
pub(crate) fn refund_surplus() -> Weight {
Weight::from_ref_time(3_247_000 as u64)
}
pub(crate) fn set_error_handler() -> Weight {
Weight::from_ref_time(3_086_000 as u64)
}
pub(crate) fn set_appendix() -> Weight {
Weight::from_ref_time(3_112_000 as u64)
}
pub(crate) fn clear_error() -> Weight {
Weight::from_ref_time(3_118_000 as u64)
}
pub(crate) fn descend_origin() -> Weight {
Weight::from_ref_time(4_054_000 as u64)
}
pub(crate) fn clear_origin() -> Weight {
Weight::from_ref_time(3_111_000 as u64)
}
// Storage: XcmPallet SupportedVersion (r:1 w:0)
// Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1)
// Storage: XcmPallet SafeXcmVersion (r:1 w:0)
// Storage: Configuration ActiveConfig (r:1 w:0)
// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1)
// Storage: Dmp DownwardMessageQueues (r:1 w:1)
pub(crate) fn report_error() -> Weight {
Weight::from_ref_time(18_425_000 as u64)
.saturating_add(T::DbWeight::get().reads(6 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
// Storage: XcmPallet AssetTraps (r:1 w:1)
pub(crate) fn claim_asset() -> Weight {
Weight::from_ref_time(7_144_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
pub(crate) fn trap() -> Weight {
Weight::from_ref_time(3_060_000 as u64)
}
// Storage: XcmPallet VersionNotifyTargets (r:1 w:1)
// Storage: XcmPallet SupportedVersion (r:1 w:0)
// Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1)
// Storage: XcmPallet SafeXcmVersion (r:1 w:0)
// Storage: Configuration ActiveConfig (r:1 w:0)
// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1)
// Storage: Dmp DownwardMessageQueues (r:1 w:1)
pub(crate) fn subscribe_version() -> Weight {
Weight::from_ref_time(21_642_000 as u64)
.saturating_add(T::DbWeight::get().reads(7 as u64))
.saturating_add(T::DbWeight::get().writes(4 as u64))
}
// Storage: XcmPallet VersionNotifyTargets (r:0 w:1)
pub(crate) fn unsubscribe_version() -> Weight {
Weight::from_ref_time(4_873_000 as u64)
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: XcmPallet SupportedVersion (r:1 w:0)
// Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1)
// Storage: XcmPallet SafeXcmVersion (r:1 w:0)
// Storage: Configuration ActiveConfig (r:1 w:0)
// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1)
// Storage: Dmp DownwardMessageQueues (r:1 w:1)
pub(crate) fn initiate_reserve_withdraw() -> Weight {
Weight::from_ref_time(22_809_000 as u64)
.saturating_add(T::DbWeight::get().reads(6 as u64))
.saturating_add(T::DbWeight::get().writes(3 as u64))
}
}
+82 -42
View File
@@ -17,33 +17,49 @@
//! XCM configuration for Rococo.
use super::{
parachains_origin, AccountId, Balances, Call, Event, Origin, ParaId, Runtime, WeightToFee,
XcmPallet,
};
use frame_support::{
parameter_types,
traits::{Everything, IsInVec, Nothing},
parachains_origin, AccountId, Balances, Call, CouncilCollective, Event, Origin, ParaId,
Runtime, WeightToFee, XcmPallet,
};
use frame_support::{match_types, parameter_types, traits::Everything};
use runtime_common::{xcm_sender, ToAuthor};
use sp_std::prelude::*;
use xcm::latest::prelude::*;
use xcm_builder::{
AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, BackingToPlurality,
AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom,
AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, BackingToPlurality,
ChildParachainAsNative, ChildParachainConvertsVia, ChildSystemParachainAsSuperuser,
CurrencyAdapter as XcmCurrencyAdapter, FixedWeightBounds, IsConcrete, LocationInverter,
SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, UsingComponents,
CurrencyAdapter as XcmCurrencyAdapter, FixedWeightBounds, IsChildSystemParachain, IsConcrete,
LocationInverter, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation,
TakeWeightCredit, UsingComponents, WeightInfoBounds,
};
parameter_types! {
/// The location of the ROC token, from the context of this chain. Since this token is native to this
/// chain, we make it synonymous with it and thus it is the `Here` location, which means "equivalent to
/// the context".
pub const RocLocation: MultiLocation = Here.into();
pub const RococoNetwork: NetworkId = NetworkId::Polkadot;
/// The Rococo network ID. This is named.
pub RococoNetwork: NetworkId =
NetworkId::Named(b"Rococo".to_vec().try_into().expect("shorter than length limit; qed"));
/// Our XCM location ancestry - i.e. what, if anything, `Parent` means evaluated in our context. Since
/// Rococo is a top-level relay-chain, there is no ancestry.
pub const Ancestry: MultiLocation = Here.into();
/// The check account, which holds any native assets that have been teleported out and not back in (yet).
pub CheckAccount: AccountId = XcmPallet::check_account();
}
pub type SovereignAccountOf =
(ChildParachainConvertsVia<ParaId, AccountId>, AccountId32Aliases<RococoNetwork, AccountId>);
/// The canonical means of converting a `MultiLocation` into an `AccountId`, used when we want to determine
/// the sovereign account controlled by a location.
pub type SovereignAccountOf = (
// We can convert a child parachain using the standard `AccountId` conversion.
ChildParachainConvertsVia<ParaId, AccountId>,
// We can directly alias an `AccountId32` into a local account.
AccountId32Aliases<RococoNetwork, AccountId>,
);
/// Our asset transactor. This is what allows us to interest with the runtime facilities from the point of
/// view of XCM-only concepts like `MultiLocation` and `MultiAsset`.
///
/// Ours is only aware of the Balances pallet, which is mapped to `RocLocation`.
pub type LocalAssetTransactor = XcmCurrencyAdapter<
// Use this currency:
Balances,
@@ -53,21 +69,29 @@ pub type LocalAssetTransactor = XcmCurrencyAdapter<
SovereignAccountOf,
// Our chain's account ID type (we can't get away without mentioning it explicitly):
AccountId,
// It's a native asset so we keep track of the teleports to maintain total issuance.
// We track our teleports in/out to keep total issuance correct.
CheckAccount,
>;
/// The means that we convert an the XCM message origin location into a local dispatch origin.
type LocalOriginConverter = (
// A `Signed` origin of the sovereign account that the original location controls.
SovereignSignedViaLocation<SovereignAccountOf, Origin>,
// A child parachain, natively expressed, has the `Parachain` origin.
ChildParachainAsNative<parachains_origin::Origin, Origin>,
// The AccountId32 location type can be expressed natively as a `Signed` origin.
SignedAccountId32AsNative<RococoNetwork, Origin>,
// A system child parachain, expressed as a Superuser, converts to the `Root` origin.
ChildSystemParachainAsSuperuser<ParaId, Origin>,
);
parameter_types! {
/// The amount of weight an XCM operation takes. This is a safe overestimate.
pub const BaseXcmWeight: u64 = 1_000_000_000;
/// Maximum number of instructions in a single XCM fragment. A sanity check against weight
/// calculations getting too crazy.
pub const MaxInstructions: u32 = 100;
}
/// The XCM router. When we want to send an XCM message, we use this type. It amalgamates all of our
/// individual routers.
pub type XcmRouter = (
@@ -77,44 +101,46 @@ pub type XcmRouter = (
parameter_types! {
pub const Rococo: MultiAssetFilter = Wild(AllOf { fun: WildFungible, id: Concrete(RocLocation::get()) });
pub const RococoForTick: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Parachain(100).into());
pub const RococoForTrick: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Parachain(110).into());
pub const RococoForTrack: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Parachain(120).into());
pub const RococoForStatemine: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Parachain(1000).into());
pub const RococoForCanvas: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Parachain(1002).into());
pub const RococoForEncointer: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Parachain(1003).into());
pub const MaxInstructions: u32 = 100;
pub const Statemine: MultiLocation = Parachain(1000).into();
pub const Contracts: MultiLocation = Parachain(1002).into();
pub const Encointer: MultiLocation = Parachain(1003).into();
pub const Tick: MultiLocation = Parachain(100).into();
pub const Trick: MultiLocation = Parachain(110).into();
pub const Track: MultiLocation = Parachain(120).into();
pub const RococoForTick: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Tick::get());
pub const RococoForTrick: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Trick::get());
pub const RococoForTrack: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Track::get());
pub const RococoForStatemine: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Statemine::get());
pub const RococoForContracts: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Contracts::get());
pub const RococoForEncointer: (MultiAssetFilter, MultiLocation) = (Rococo::get(), Encointer::get());
}
pub type TrustedTeleporters = (
xcm_builder::Case<RococoForTick>,
xcm_builder::Case<RococoForTrick>,
xcm_builder::Case<RococoForTrack>,
xcm_builder::Case<RococoForStatemine>,
xcm_builder::Case<RococoForCanvas>,
xcm_builder::Case<RococoForContracts>,
xcm_builder::Case<RococoForEncointer>,
);
parameter_types! {
pub AllowUnpaidFrom: Vec<MultiLocation> =
vec![
Parachain(100).into(),
Parachain(110).into(),
Parachain(120).into(),
Parachain(1000).into(),
Parachain(1002).into(),
Parachain(1003).into(),
];
match_types! {
pub type OnlyParachains: impl Contains<MultiLocation> = {
MultiLocation { parents: 0, interior: X1(Parachain(_)) }
};
}
use xcm_builder::{AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, TakeWeightCredit};
/// The barriers one of which must be passed for an XCM message to be executed.
pub type Barrier = (
// Weight that is paid for may be consumed.
TakeWeightCredit,
// If the message is one that immediately attemps to pay for execution, then allow it.
AllowTopLevelPaidExecutionFrom<Everything>,
AllowUnpaidExecutionFrom<IsInVec<AllowUnpaidFrom>>, // <- Trusted parachains get free execution
// Messages coming from system parachains need not pay for execution.
AllowUnpaidExecutionFrom<IsChildSystemParachain<ParaId>>,
// Expected responses are OK.
AllowKnownQueryResponses<XcmPallet>,
// Subscriptions for version tracking are OK.
AllowSubscriptionsFrom<Everything>,
AllowSubscriptionsFrom<OnlyParachains>,
);
pub struct XcmConfig;
@@ -127,7 +153,9 @@ impl xcm_executor::Config for XcmConfig {
type IsTeleporter = TrustedTeleporters;
type LocationInverter = LocationInverter<Ancestry>;
type Barrier = Barrier;
type Weigher = FixedWeightBounds<BaseXcmWeight, Call, MaxInstructions>;
type Weigher =
WeightInfoBounds<crate::weights::xcm::RococoXcmWeight<Call>, Call, MaxInstructions>;
// The weight trader piggybacks on the existing transaction-fee conversion logic.
type Trader = UsingComponents<WeightToFee, RocLocation, AccountId, Balances, ToAuthor<Runtime>>;
type ResponseHandler = XcmPallet;
type AssetTrap = XcmPallet;
@@ -139,26 +167,38 @@ parameter_types! {
pub const CollectiveBodyId: BodyId = BodyId::Unit;
}
parameter_types! {
pub const CouncilBodyId: BodyId = BodyId::Executive;
}
/// Type to convert the council origin to a Plurality `MultiLocation` value.
pub type CouncilToPlurality = BackingToPlurality<
Origin,
pallet_collective::Origin<Runtime, CouncilCollective>,
CouncilBodyId,
>;
/// Type to convert an `Origin` type value into a `MultiLocation` value which represents an interior location
/// of this chain.
pub type LocalOriginToLocation = (
// We allow an origin from the Collective pallet to be used in XCM as a corresponding Plurality of the
// `Unit` body.
BackingToPlurality<Origin, pallet_collective::Origin<Runtime>, CollectiveBodyId>,
CouncilToPlurality,
// And a usual Signed origin to be used in XCM as a corresponding AccountId32
SignedToAccountId32<Origin, AccountId, RococoNetwork>,
);
impl pallet_xcm::Config for Runtime {
type Event = Event;
type SendXcmOrigin = xcm_builder::EnsureXcmOrigin<Origin, LocalOriginToLocation>;
type XcmRouter = XcmRouter;
// Anyone can execute XCM messages locally...
// Anyone can execute XCM messages locally.
type ExecuteXcmOrigin = xcm_builder::EnsureXcmOrigin<Origin, LocalOriginToLocation>;
// ...but they must match our filter, which right now rejects everything.
type XcmExecuteFilter = Nothing;
type XcmExecuteFilter = Everything;
type XcmExecutor = xcm_executor::XcmExecutor<XcmConfig>;
// Anyone is able to use teleportation regardless of who they are and what they want to teleport.
type XcmTeleportFilter = Everything;
// Anyone is able to use reserve transfers regardless of who they are and what they want to
// transfer.
type XcmReserveTransferFilter = Everything;
type Weigher = FixedWeightBounds<BaseXcmWeight, Call, MaxInstructions>;
type LocationInverter = LocationInverter<Ancestry>;
+1
View File
@@ -225,6 +225,7 @@ reservable
responder/SM
retriability
reverify
ROC
roundtrip/MS
routable
rpc