mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 14:31:02 +00:00
OpenGov in Westend and Rococo (#1177)
Migrating [PR from the archived polkadot repo](https://github.com/paritytech/polkadot/pull/7272) As per https://github.com/paritytech/polkadot/pull/7272#issuecomment-1559240466, the changes in this MR include the following pallets into [x] Rococo and [x] Westend runtimes: pallet_conviction_voting pallet_referenda pallet_ranked_collective pallet_custom_origins pallet_whitelist And only for westend-runtime: pallet_treasury Following [Kusama runtime config](https://github.com/paritytech/polkadot/tree/dbae30efe080a1d41fe54ef4da8af47614c9ca93/runtime/kusama/src) as a baseline. Benchmarking of the following pallets done for both Rococo and Westend: pallet_conviction_voting pallet_referenda pallet_ranked_collective (only on Rococo) pallet_whitelist And only for Westend: pallet_treasury Removed Gov1 from Rococo as in https://github.com/paritytech/polkadot/pull/6701 Rococo Gov1 storage will be cleaned in a different PR - [issue ](https://github.com/paritytech/polkadot-sdk/issues/1618) --------- Co-authored-by: Giles Cope <gilescope@gmail.com>
This commit is contained in:
committed by
GitHub
parent
8b061a5c5d
commit
69ed3087e1
Generated
+24
-15
@@ -1152,7 +1152,7 @@ checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"async-stream-impl",
|
"async-stream-impl",
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -1193,7 +1193,7 @@ dependencies = [
|
|||||||
"futures-sink",
|
"futures-sink",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"memchr",
|
"memchr",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -5601,7 +5601,7 @@ dependencies = [
|
|||||||
"futures-io",
|
"futures-io",
|
||||||
"memchr",
|
"memchr",
|
||||||
"parking",
|
"parking",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
"waker-fn",
|
"waker-fn",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -5658,7 +5658,7 @@ dependencies = [
|
|||||||
"futures-sink",
|
"futures-sink",
|
||||||
"futures-task",
|
"futures-task",
|
||||||
"memchr",
|
"memchr",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
"pin-utils",
|
"pin-utils",
|
||||||
"slab",
|
"slab",
|
||||||
]
|
]
|
||||||
@@ -6067,7 +6067,7 @@ checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"http",
|
"http",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -6110,7 +6110,7 @@ dependencies = [
|
|||||||
"httparse",
|
"httparse",
|
||||||
"httpdate",
|
"httpdate",
|
||||||
"itoa",
|
"itoa",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
"socket2 0.4.9",
|
"socket2 0.4.9",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tower-service",
|
"tower-service",
|
||||||
@@ -11366,9 +11366,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pin-project-lite"
|
name = "pin-project-lite"
|
||||||
version = "0.2.12"
|
version = "0.2.13"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05"
|
checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pin-utils"
|
name = "pin-utils"
|
||||||
@@ -13172,7 +13172,7 @@ dependencies = [
|
|||||||
"concurrent-queue",
|
"concurrent-queue",
|
||||||
"libc",
|
"libc",
|
||||||
"log",
|
"log",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
"windows-sys 0.48.0",
|
"windows-sys 0.48.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -13951,7 +13951,7 @@ dependencies = [
|
|||||||
"mime",
|
"mime",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
"rustls 0.21.6",
|
"rustls 0.21.6",
|
||||||
"rustls-pemfile",
|
"rustls-pemfile",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -14128,6 +14128,7 @@ dependencies = [
|
|||||||
"pallet-bounties",
|
"pallet-bounties",
|
||||||
"pallet-child-bounties",
|
"pallet-child-bounties",
|
||||||
"pallet-collective",
|
"pallet-collective",
|
||||||
|
"pallet-conviction-voting",
|
||||||
"pallet-democracy",
|
"pallet-democracy",
|
||||||
"pallet-elections-phragmen",
|
"pallet-elections-phragmen",
|
||||||
"pallet-grandpa",
|
"pallet-grandpa",
|
||||||
@@ -14142,7 +14143,9 @@ dependencies = [
|
|||||||
"pallet-offences",
|
"pallet-offences",
|
||||||
"pallet-preimage",
|
"pallet-preimage",
|
||||||
"pallet-proxy",
|
"pallet-proxy",
|
||||||
|
"pallet-ranked-collective",
|
||||||
"pallet-recovery",
|
"pallet-recovery",
|
||||||
|
"pallet-referenda",
|
||||||
"pallet-scheduler",
|
"pallet-scheduler",
|
||||||
"pallet-session",
|
"pallet-session",
|
||||||
"pallet-society",
|
"pallet-society",
|
||||||
@@ -14156,6 +14159,7 @@ dependencies = [
|
|||||||
"pallet-treasury",
|
"pallet-treasury",
|
||||||
"pallet-utility",
|
"pallet-utility",
|
||||||
"pallet-vesting",
|
"pallet-vesting",
|
||||||
|
"pallet-whitelist",
|
||||||
"pallet-xcm",
|
"pallet-xcm",
|
||||||
"pallet-xcm-benchmarks",
|
"pallet-xcm-benchmarks",
|
||||||
"parity-scale-codec",
|
"parity-scale-codec",
|
||||||
@@ -14171,6 +14175,7 @@ dependencies = [
|
|||||||
"serde_json",
|
"serde_json",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"sp-api",
|
"sp-api",
|
||||||
|
"sp-arithmetic",
|
||||||
"sp-authority-discovery",
|
"sp-authority-discovery",
|
||||||
"sp-block-builder",
|
"sp-block-builder",
|
||||||
"sp-consensus-babe",
|
"sp-consensus-babe",
|
||||||
@@ -18789,7 +18794,7 @@ dependencies = [
|
|||||||
"mio",
|
"mio",
|
||||||
"num_cpus",
|
"num_cpus",
|
||||||
"parking_lot 0.12.1",
|
"parking_lot 0.12.1",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
"signal-hook-registry",
|
"signal-hook-registry",
|
||||||
"socket2 0.5.3",
|
"socket2 0.5.3",
|
||||||
"tokio-macros",
|
"tokio-macros",
|
||||||
@@ -18835,7 +18840,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
|
checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
]
|
]
|
||||||
@@ -18875,7 +18880,7 @@ dependencies = [
|
|||||||
"futures-core",
|
"futures-core",
|
||||||
"futures-io",
|
"futures-io",
|
||||||
"futures-sink",
|
"futures-sink",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tracing",
|
"tracing",
|
||||||
]
|
]
|
||||||
@@ -18947,7 +18952,7 @@ dependencies = [
|
|||||||
"http",
|
"http",
|
||||||
"http-body",
|
"http-body",
|
||||||
"http-range-header",
|
"http-range-header",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
"tower-layer",
|
"tower-layer",
|
||||||
"tower-service",
|
"tower-service",
|
||||||
]
|
]
|
||||||
@@ -18972,7 +18977,7 @@ checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"log",
|
"log",
|
||||||
"pin-project-lite 0.2.12",
|
"pin-project-lite 0.2.13",
|
||||||
"tracing-attributes",
|
"tracing-attributes",
|
||||||
"tracing-core",
|
"tracing-core",
|
||||||
]
|
]
|
||||||
@@ -20257,6 +20262,7 @@ dependencies = [
|
|||||||
"pallet-beefy",
|
"pallet-beefy",
|
||||||
"pallet-beefy-mmr",
|
"pallet-beefy-mmr",
|
||||||
"pallet-collective",
|
"pallet-collective",
|
||||||
|
"pallet-conviction-voting",
|
||||||
"pallet-democracy",
|
"pallet-democracy",
|
||||||
"pallet-election-provider-multi-phase",
|
"pallet-election-provider-multi-phase",
|
||||||
"pallet-election-provider-support-benchmarking",
|
"pallet-election-provider-support-benchmarking",
|
||||||
@@ -20278,6 +20284,7 @@ dependencies = [
|
|||||||
"pallet-preimage",
|
"pallet-preimage",
|
||||||
"pallet-proxy",
|
"pallet-proxy",
|
||||||
"pallet-recovery",
|
"pallet-recovery",
|
||||||
|
"pallet-referenda",
|
||||||
"pallet-scheduler",
|
"pallet-scheduler",
|
||||||
"pallet-session",
|
"pallet-session",
|
||||||
"pallet-session-benchmarking",
|
"pallet-session-benchmarking",
|
||||||
@@ -20293,6 +20300,7 @@ dependencies = [
|
|||||||
"pallet-treasury",
|
"pallet-treasury",
|
||||||
"pallet-utility",
|
"pallet-utility",
|
||||||
"pallet-vesting",
|
"pallet-vesting",
|
||||||
|
"pallet-whitelist",
|
||||||
"pallet-xcm",
|
"pallet-xcm",
|
||||||
"pallet-xcm-benchmarks",
|
"pallet-xcm-benchmarks",
|
||||||
"parity-scale-codec",
|
"parity-scale-codec",
|
||||||
@@ -20308,6 +20316,7 @@ dependencies = [
|
|||||||
"smallvec",
|
"smallvec",
|
||||||
"sp-api",
|
"sp-api",
|
||||||
"sp-application-crypto",
|
"sp-application-crypto",
|
||||||
|
"sp-arithmetic",
|
||||||
"sp-authority-discovery",
|
"sp-authority-discovery",
|
||||||
"sp-block-builder",
|
"sp-block-builder",
|
||||||
"sp-consensus-babe",
|
"sp-consensus-babe",
|
||||||
|
|||||||
@@ -425,6 +425,7 @@ fn westend_staging_testnet_config_genesis(wasm_binary: &[u8]) -> westend::Runtim
|
|||||||
vesting: westend::VestingConfig { vesting: vec![] },
|
vesting: westend::VestingConfig { vesting: vec![] },
|
||||||
sudo: westend::SudoConfig { key: Some(endowed_accounts[0].clone()) },
|
sudo: westend::SudoConfig { key: Some(endowed_accounts[0].clone()) },
|
||||||
hrmp: Default::default(),
|
hrmp: Default::default(),
|
||||||
|
treasury: Default::default(),
|
||||||
configuration: westend::ConfigurationConfig {
|
configuration: westend::ConfigurationConfig {
|
||||||
config: default_parachains_host_configuration(),
|
config: default_parachains_host_configuration(),
|
||||||
},
|
},
|
||||||
@@ -716,7 +717,6 @@ fn rococo_staging_testnet_config_genesis(
|
|||||||
})
|
})
|
||||||
.collect::<Vec<_>>(),
|
.collect::<Vec<_>>(),
|
||||||
},
|
},
|
||||||
phragmen_election: Default::default(),
|
|
||||||
babe: rococo_runtime::BabeConfig {
|
babe: rococo_runtime::BabeConfig {
|
||||||
authorities: Default::default(),
|
authorities: Default::default(),
|
||||||
epoch_config: Some(rococo_runtime::BABE_GENESIS_EPOCH_CONFIG),
|
epoch_config: Some(rococo_runtime::BABE_GENESIS_EPOCH_CONFIG),
|
||||||
@@ -724,13 +724,6 @@ fn rococo_staging_testnet_config_genesis(
|
|||||||
},
|
},
|
||||||
grandpa: Default::default(),
|
grandpa: Default::default(),
|
||||||
im_online: Default::default(),
|
im_online: 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(),
|
treasury: Default::default(),
|
||||||
authority_discovery: rococo_runtime::AuthorityDiscoveryConfig {
|
authority_discovery: rococo_runtime::AuthorityDiscoveryConfig {
|
||||||
keys: vec![],
|
keys: vec![],
|
||||||
@@ -992,6 +985,7 @@ pub fn westend_testnet_genesis(
|
|||||||
vesting: westend::VestingConfig { vesting: vec![] },
|
vesting: westend::VestingConfig { vesting: vec![] },
|
||||||
sudo: westend::SudoConfig { key: Some(root_key) },
|
sudo: westend::SudoConfig { key: Some(root_key) },
|
||||||
hrmp: Default::default(),
|
hrmp: Default::default(),
|
||||||
|
treasury: Default::default(),
|
||||||
configuration: westend::ConfigurationConfig {
|
configuration: westend::ConfigurationConfig {
|
||||||
config: default_parachains_host_configuration(),
|
config: default_parachains_host_configuration(),
|
||||||
},
|
},
|
||||||
@@ -1062,14 +1056,6 @@ pub fn rococo_testnet_genesis(
|
|||||||
},
|
},
|
||||||
grandpa: Default::default(),
|
grandpa: Default::default(),
|
||||||
im_online: Default::default(),
|
im_online: 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(),
|
treasury: Default::default(),
|
||||||
claims: rococo::ClaimsConfig { claims: vec![], vesting: vec![] },
|
claims: rococo::ClaimsConfig { claims: vec![], vesting: vec![] },
|
||||||
vesting: rococo::VestingConfig { vesting: vec![] },
|
vesting: rococo::VestingConfig { vesting: vec![] },
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ sp-api = { path = "../../../substrate/primitives/api", default-features = false
|
|||||||
sp-genesis-builder = { path = "../../../substrate/primitives/genesis-builder", default-features = false }
|
sp-genesis-builder = { path = "../../../substrate/primitives/genesis-builder", default-features = false }
|
||||||
inherents = { package = "sp-inherents", path = "../../../substrate/primitives/inherents", default-features = false }
|
inherents = { package = "sp-inherents", path = "../../../substrate/primitives/inherents", default-features = false }
|
||||||
offchain-primitives = { package = "sp-offchain", path = "../../../substrate/primitives/offchain", default-features = false }
|
offchain-primitives = { package = "sp-offchain", path = "../../../substrate/primitives/offchain", default-features = false }
|
||||||
|
sp-arithmetic = { path = "../../../substrate/primitives/arithmetic", default-features = false }
|
||||||
sp-std = { package = "sp-std", path = "../../../substrate/primitives/std", default-features = false }
|
sp-std = { package = "sp-std", path = "../../../substrate/primitives/std", default-features = false }
|
||||||
sp-io = { path = "../../../substrate/primitives/io", default-features = false }
|
sp-io = { path = "../../../substrate/primitives/io", default-features = false }
|
||||||
sp-mmr-primitives = { path = "../../../substrate/primitives/merkle-mountain-range", default-features = false }
|
sp-mmr-primitives = { path = "../../../substrate/primitives/merkle-mountain-range", default-features = false }
|
||||||
@@ -48,6 +49,7 @@ pallet-state-trie-migration = { path = "../../../substrate/frame/state-trie-migr
|
|||||||
pallet-transaction-payment = { path = "../../../substrate/frame/transaction-payment", default-features = false }
|
pallet-transaction-payment = { path = "../../../substrate/frame/transaction-payment", default-features = false }
|
||||||
pallet-transaction-payment-rpc-runtime-api = { path = "../../../substrate/frame/transaction-payment/rpc/runtime-api", default-features = false }
|
pallet-transaction-payment-rpc-runtime-api = { path = "../../../substrate/frame/transaction-payment/rpc/runtime-api", default-features = false }
|
||||||
pallet-collective = { path = "../../../substrate/frame/collective", default-features = false }
|
pallet-collective = { path = "../../../substrate/frame/collective", default-features = false }
|
||||||
|
pallet-conviction-voting = { path = "../../../substrate/frame/conviction-voting", default-features = false }
|
||||||
pallet-democracy = { path = "../../../substrate/frame/democracy", default-features = false }
|
pallet-democracy = { path = "../../../substrate/frame/democracy", default-features = false }
|
||||||
pallet-elections-phragmen = { path = "../../../substrate/frame/elections-phragmen", default-features = false }
|
pallet-elections-phragmen = { path = "../../../substrate/frame/elections-phragmen", default-features = false }
|
||||||
frame-executive = { path = "../../../substrate/frame/executive", default-features = false }
|
frame-executive = { path = "../../../substrate/frame/executive", default-features = false }
|
||||||
@@ -63,7 +65,9 @@ pallet-nis = { path = "../../../substrate/frame/nis", default-features = false }
|
|||||||
pallet-offences = { path = "../../../substrate/frame/offences", default-features = false }
|
pallet-offences = { path = "../../../substrate/frame/offences", default-features = false }
|
||||||
pallet-preimage = { path = "../../../substrate/frame/preimage", default-features = false }
|
pallet-preimage = { path = "../../../substrate/frame/preimage", default-features = false }
|
||||||
pallet-proxy = { path = "../../../substrate/frame/proxy", default-features = false }
|
pallet-proxy = { path = "../../../substrate/frame/proxy", default-features = false }
|
||||||
|
pallet-ranked-collective = { path = "../../../substrate/frame/ranked-collective", default-features = false }
|
||||||
pallet-recovery = { path = "../../../substrate/frame/recovery", default-features = false }
|
pallet-recovery = { path = "../../../substrate/frame/recovery", default-features = false }
|
||||||
|
pallet-referenda = { path = "../../../substrate/frame/referenda", default-features = false }
|
||||||
pallet-scheduler = { path = "../../../substrate/frame/scheduler", default-features = false }
|
pallet-scheduler = { path = "../../../substrate/frame/scheduler", default-features = false }
|
||||||
pallet-session = { path = "../../../substrate/frame/session", default-features = false }
|
pallet-session = { path = "../../../substrate/frame/session", default-features = false }
|
||||||
pallet-society = { path = "../../../substrate/frame/society", default-features = false }
|
pallet-society = { path = "../../../substrate/frame/society", default-features = false }
|
||||||
@@ -77,6 +81,7 @@ pallet-tips = { path = "../../../substrate/frame/tips", default-features = false
|
|||||||
pallet-treasury = { path = "../../../substrate/frame/treasury", default-features = false }
|
pallet-treasury = { path = "../../../substrate/frame/treasury", default-features = false }
|
||||||
pallet-utility = { path = "../../../substrate/frame/utility", default-features = false }
|
pallet-utility = { path = "../../../substrate/frame/utility", default-features = false }
|
||||||
pallet-vesting = { path = "../../../substrate/frame/vesting", default-features = false }
|
pallet-vesting = { path = "../../../substrate/frame/vesting", default-features = false }
|
||||||
|
pallet-whitelist = { path = "../../../substrate/frame/whitelist", default-features = false }
|
||||||
pallet-xcm = { path = "../../xcm/pallet-xcm", 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 }
|
pallet-xcm-benchmarks = { path = "../../xcm/pallet-xcm-benchmarks", default-features = false, optional = true }
|
||||||
|
|
||||||
@@ -135,6 +140,7 @@ std = [
|
|||||||
"pallet-bounties/std",
|
"pallet-bounties/std",
|
||||||
"pallet-child-bounties/std",
|
"pallet-child-bounties/std",
|
||||||
"pallet-collective/std",
|
"pallet-collective/std",
|
||||||
|
"pallet-conviction-voting/std",
|
||||||
"pallet-democracy/std",
|
"pallet-democracy/std",
|
||||||
"pallet-elections-phragmen/std",
|
"pallet-elections-phragmen/std",
|
||||||
"pallet-grandpa/std",
|
"pallet-grandpa/std",
|
||||||
@@ -149,7 +155,9 @@ std = [
|
|||||||
"pallet-offences/std",
|
"pallet-offences/std",
|
||||||
"pallet-preimage/std",
|
"pallet-preimage/std",
|
||||||
"pallet-proxy/std",
|
"pallet-proxy/std",
|
||||||
|
"pallet-ranked-collective/std",
|
||||||
"pallet-recovery/std",
|
"pallet-recovery/std",
|
||||||
|
"pallet-referenda/std",
|
||||||
"pallet-scheduler/std",
|
"pallet-scheduler/std",
|
||||||
"pallet-session/std",
|
"pallet-session/std",
|
||||||
"pallet-society/std",
|
"pallet-society/std",
|
||||||
@@ -163,6 +171,7 @@ std = [
|
|||||||
"pallet-treasury/std",
|
"pallet-treasury/std",
|
||||||
"pallet-utility/std",
|
"pallet-utility/std",
|
||||||
"pallet-vesting/std",
|
"pallet-vesting/std",
|
||||||
|
"pallet-whitelist/std",
|
||||||
"pallet-xcm-benchmarks?/std",
|
"pallet-xcm-benchmarks?/std",
|
||||||
"pallet-xcm/std",
|
"pallet-xcm/std",
|
||||||
"parity-scale-codec/std",
|
"parity-scale-codec/std",
|
||||||
@@ -175,6 +184,7 @@ std = [
|
|||||||
"serde/std",
|
"serde/std",
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
"sp-api/std",
|
"sp-api/std",
|
||||||
|
"sp-arithmetic/std",
|
||||||
"sp-core/std",
|
"sp-core/std",
|
||||||
"sp-genesis-builder/std",
|
"sp-genesis-builder/std",
|
||||||
"sp-io/std",
|
"sp-io/std",
|
||||||
@@ -201,6 +211,7 @@ runtime-benchmarks = [
|
|||||||
"pallet-bounties/runtime-benchmarks",
|
"pallet-bounties/runtime-benchmarks",
|
||||||
"pallet-child-bounties/runtime-benchmarks",
|
"pallet-child-bounties/runtime-benchmarks",
|
||||||
"pallet-collective/runtime-benchmarks",
|
"pallet-collective/runtime-benchmarks",
|
||||||
|
"pallet-conviction-voting/runtime-benchmarks",
|
||||||
"pallet-democracy/runtime-benchmarks",
|
"pallet-democracy/runtime-benchmarks",
|
||||||
"pallet-elections-phragmen/runtime-benchmarks",
|
"pallet-elections-phragmen/runtime-benchmarks",
|
||||||
"pallet-grandpa/runtime-benchmarks",
|
"pallet-grandpa/runtime-benchmarks",
|
||||||
@@ -215,7 +226,9 @@ runtime-benchmarks = [
|
|||||||
"pallet-offences/runtime-benchmarks",
|
"pallet-offences/runtime-benchmarks",
|
||||||
"pallet-preimage/runtime-benchmarks",
|
"pallet-preimage/runtime-benchmarks",
|
||||||
"pallet-proxy/runtime-benchmarks",
|
"pallet-proxy/runtime-benchmarks",
|
||||||
|
"pallet-ranked-collective/runtime-benchmarks",
|
||||||
"pallet-recovery/runtime-benchmarks",
|
"pallet-recovery/runtime-benchmarks",
|
||||||
|
"pallet-referenda/runtime-benchmarks",
|
||||||
"pallet-scheduler/runtime-benchmarks",
|
"pallet-scheduler/runtime-benchmarks",
|
||||||
"pallet-society/runtime-benchmarks",
|
"pallet-society/runtime-benchmarks",
|
||||||
"pallet-staking/runtime-benchmarks",
|
"pallet-staking/runtime-benchmarks",
|
||||||
@@ -226,6 +239,7 @@ runtime-benchmarks = [
|
|||||||
"pallet-treasury/runtime-benchmarks",
|
"pallet-treasury/runtime-benchmarks",
|
||||||
"pallet-utility/runtime-benchmarks",
|
"pallet-utility/runtime-benchmarks",
|
||||||
"pallet-vesting/runtime-benchmarks",
|
"pallet-vesting/runtime-benchmarks",
|
||||||
|
"pallet-whitelist/runtime-benchmarks",
|
||||||
"pallet-xcm-benchmarks/runtime-benchmarks",
|
"pallet-xcm-benchmarks/runtime-benchmarks",
|
||||||
"pallet-xcm/runtime-benchmarks",
|
"pallet-xcm/runtime-benchmarks",
|
||||||
"polkadot-parachain-primitives/runtime-benchmarks",
|
"polkadot-parachain-primitives/runtime-benchmarks",
|
||||||
@@ -252,6 +266,7 @@ try-runtime = [
|
|||||||
"pallet-bounties/try-runtime",
|
"pallet-bounties/try-runtime",
|
||||||
"pallet-child-bounties/try-runtime",
|
"pallet-child-bounties/try-runtime",
|
||||||
"pallet-collective/try-runtime",
|
"pallet-collective/try-runtime",
|
||||||
|
"pallet-conviction-voting/try-runtime",
|
||||||
"pallet-democracy/try-runtime",
|
"pallet-democracy/try-runtime",
|
||||||
"pallet-elections-phragmen/try-runtime",
|
"pallet-elections-phragmen/try-runtime",
|
||||||
"pallet-grandpa/try-runtime",
|
"pallet-grandpa/try-runtime",
|
||||||
@@ -266,7 +281,9 @@ try-runtime = [
|
|||||||
"pallet-offences/try-runtime",
|
"pallet-offences/try-runtime",
|
||||||
"pallet-preimage/try-runtime",
|
"pallet-preimage/try-runtime",
|
||||||
"pallet-proxy/try-runtime",
|
"pallet-proxy/try-runtime",
|
||||||
|
"pallet-ranked-collective/try-runtime",
|
||||||
"pallet-recovery/try-runtime",
|
"pallet-recovery/try-runtime",
|
||||||
|
"pallet-referenda/try-runtime",
|
||||||
"pallet-scheduler/try-runtime",
|
"pallet-scheduler/try-runtime",
|
||||||
"pallet-session/try-runtime",
|
"pallet-session/try-runtime",
|
||||||
"pallet-society/try-runtime",
|
"pallet-society/try-runtime",
|
||||||
@@ -279,6 +296,7 @@ try-runtime = [
|
|||||||
"pallet-treasury/try-runtime",
|
"pallet-treasury/try-runtime",
|
||||||
"pallet-utility/try-runtime",
|
"pallet-utility/try-runtime",
|
||||||
"pallet-vesting/try-runtime",
|
"pallet-vesting/try-runtime",
|
||||||
|
"pallet-whitelist/try-runtime",
|
||||||
"pallet-xcm/try-runtime",
|
"pallet-xcm/try-runtime",
|
||||||
"runtime-common/try-runtime",
|
"runtime-common/try-runtime",
|
||||||
"runtime-parachains/try-runtime",
|
"runtime-parachains/try-runtime",
|
||||||
|
|||||||
@@ -0,0 +1,343 @@
|
|||||||
|
// Copyright (C) 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/>.
|
||||||
|
|
||||||
|
//! Elements of governance concerning the Rococo Fellowship.
|
||||||
|
|
||||||
|
use frame_support::traits::{MapSuccess, TryMapSuccess};
|
||||||
|
use sp_runtime::traits::{CheckedReduceBy, ConstU16, Replace};
|
||||||
|
|
||||||
|
use super::*;
|
||||||
|
use crate::{CENTS, DAYS};
|
||||||
|
|
||||||
|
parameter_types! {
|
||||||
|
pub const AlarmInterval: BlockNumber = 1;
|
||||||
|
pub const SubmissionDeposit: Balance = 0;
|
||||||
|
pub const UndecidingTimeout: BlockNumber = 7 * DAYS;
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct TracksInfo;
|
||||||
|
impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
|
||||||
|
type Id = u16;
|
||||||
|
type RuntimeOrigin = <RuntimeOrigin as frame_support::traits::OriginTrait>::PalletsOrigin;
|
||||||
|
fn tracks() -> &'static [(Self::Id, pallet_referenda::TrackInfo<Balance, BlockNumber>)] {
|
||||||
|
static DATA: [(u16, pallet_referenda::TrackInfo<Balance, BlockNumber>); 10] = [
|
||||||
|
(
|
||||||
|
0u16,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "candidates",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 100 * 3 * CENTS,
|
||||||
|
prepare_period: 30 * MINUTES,
|
||||||
|
decision_period: 7 * DAYS,
|
||||||
|
confirm_period: 30 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(50),
|
||||||
|
ceil: Perbill::from_percent(100),
|
||||||
|
},
|
||||||
|
min_support: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(0),
|
||||||
|
ceil: Perbill::from_percent(50),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
1u16,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "members",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 10 * 3 * CENTS,
|
||||||
|
prepare_period: 30 * MINUTES,
|
||||||
|
decision_period: 7 * DAYS,
|
||||||
|
confirm_period: 30 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(50),
|
||||||
|
ceil: Perbill::from_percent(100),
|
||||||
|
},
|
||||||
|
min_support: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(0),
|
||||||
|
ceil: Perbill::from_percent(50),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
2u16,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "proficients",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 10 * 3 * CENTS,
|
||||||
|
prepare_period: 30 * MINUTES,
|
||||||
|
decision_period: 7 * DAYS,
|
||||||
|
confirm_period: 30 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(50),
|
||||||
|
ceil: Perbill::from_percent(100),
|
||||||
|
},
|
||||||
|
min_support: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(0),
|
||||||
|
ceil: Perbill::from_percent(50),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
3u16,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "fellows",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 10 * 3 * CENTS,
|
||||||
|
prepare_period: 30 * MINUTES,
|
||||||
|
decision_period: 7 * DAYS,
|
||||||
|
confirm_period: 30 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(50),
|
||||||
|
ceil: Perbill::from_percent(100),
|
||||||
|
},
|
||||||
|
min_support: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(0),
|
||||||
|
ceil: Perbill::from_percent(50),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
4u16,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "senior fellows",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 10 * 3 * CENTS,
|
||||||
|
prepare_period: 30 * MINUTES,
|
||||||
|
decision_period: 7 * DAYS,
|
||||||
|
confirm_period: 30 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(50),
|
||||||
|
ceil: Perbill::from_percent(100),
|
||||||
|
},
|
||||||
|
min_support: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(0),
|
||||||
|
ceil: Perbill::from_percent(50),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
5u16,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "experts",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 1 * 3 * CENTS,
|
||||||
|
prepare_period: 30 * MINUTES,
|
||||||
|
decision_period: 7 * DAYS,
|
||||||
|
confirm_period: 30 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(50),
|
||||||
|
ceil: Perbill::from_percent(100),
|
||||||
|
},
|
||||||
|
min_support: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(0),
|
||||||
|
ceil: Perbill::from_percent(50),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
6u16,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "senior experts",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 1 * 3 * CENTS,
|
||||||
|
prepare_period: 30 * MINUTES,
|
||||||
|
decision_period: 7 * DAYS,
|
||||||
|
confirm_period: 30 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(50),
|
||||||
|
ceil: Perbill::from_percent(100),
|
||||||
|
},
|
||||||
|
min_support: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(0),
|
||||||
|
ceil: Perbill::from_percent(50),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
7u16,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "masters",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 1 * 3 * CENTS,
|
||||||
|
prepare_period: 30 * MINUTES,
|
||||||
|
decision_period: 7 * DAYS,
|
||||||
|
confirm_period: 30 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(50),
|
||||||
|
ceil: Perbill::from_percent(100),
|
||||||
|
},
|
||||||
|
min_support: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(0),
|
||||||
|
ceil: Perbill::from_percent(50),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
8u16,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "senior masters",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 1 * 3 * CENTS,
|
||||||
|
prepare_period: 30 * MINUTES,
|
||||||
|
decision_period: 7 * DAYS,
|
||||||
|
confirm_period: 30 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(50),
|
||||||
|
ceil: Perbill::from_percent(100),
|
||||||
|
},
|
||||||
|
min_support: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(0),
|
||||||
|
ceil: Perbill::from_percent(50),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
9u16,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "grand masters",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 1 * 3 * CENTS,
|
||||||
|
prepare_period: 30 * MINUTES,
|
||||||
|
decision_period: 7 * DAYS,
|
||||||
|
confirm_period: 30 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(50),
|
||||||
|
ceil: Perbill::from_percent(100),
|
||||||
|
},
|
||||||
|
min_support: pallet_referenda::Curve::LinearDecreasing {
|
||||||
|
length: Perbill::from_percent(100),
|
||||||
|
floor: Perbill::from_percent(0),
|
||||||
|
ceil: Perbill::from_percent(50),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
];
|
||||||
|
&DATA[..]
|
||||||
|
}
|
||||||
|
fn track_for(id: &Self::RuntimeOrigin) -> Result<Self::Id, ()> {
|
||||||
|
use super::origins::Origin;
|
||||||
|
|
||||||
|
#[cfg(feature = "runtime-benchmarks")]
|
||||||
|
{
|
||||||
|
// For benchmarks, we enable a root origin.
|
||||||
|
// It is important that this is not available in production!
|
||||||
|
let root: Self::RuntimeOrigin = frame_system::RawOrigin::Root.into();
|
||||||
|
if &root == id {
|
||||||
|
return Ok(9)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
match Origin::try_from(id.clone()) {
|
||||||
|
Ok(Origin::FellowshipInitiates) => Ok(0),
|
||||||
|
Ok(Origin::Fellowship1Dan) => Ok(1),
|
||||||
|
Ok(Origin::Fellowship2Dan) => Ok(2),
|
||||||
|
Ok(Origin::Fellowship3Dan) | Ok(Origin::Fellows) => Ok(3),
|
||||||
|
Ok(Origin::Fellowship4Dan) => Ok(4),
|
||||||
|
Ok(Origin::Fellowship5Dan) | Ok(Origin::FellowshipExperts) => Ok(5),
|
||||||
|
Ok(Origin::Fellowship6Dan) => Ok(6),
|
||||||
|
Ok(Origin::Fellowship7Dan | Origin::FellowshipMasters) => Ok(7),
|
||||||
|
Ok(Origin::Fellowship8Dan) => Ok(8),
|
||||||
|
Ok(Origin::Fellowship9Dan) => Ok(9),
|
||||||
|
_ => Err(()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pallet_referenda::impl_tracksinfo_get!(TracksInfo, Balance, BlockNumber);
|
||||||
|
|
||||||
|
pub type FellowshipReferendaInstance = pallet_referenda::Instance2;
|
||||||
|
|
||||||
|
impl pallet_referenda::Config<FellowshipReferendaInstance> for Runtime {
|
||||||
|
type WeightInfo = weights::pallet_referenda_fellowship_referenda::WeightInfo<Self>;
|
||||||
|
type RuntimeCall = RuntimeCall;
|
||||||
|
type RuntimeEvent = RuntimeEvent;
|
||||||
|
type Scheduler = Scheduler;
|
||||||
|
type Currency = Balances;
|
||||||
|
type SubmitOrigin =
|
||||||
|
pallet_ranked_collective::EnsureMember<Runtime, FellowshipCollectiveInstance, 1>;
|
||||||
|
type CancelOrigin = FellowshipExperts;
|
||||||
|
type KillOrigin = FellowshipMasters;
|
||||||
|
type Slash = Treasury;
|
||||||
|
type Votes = pallet_ranked_collective::Votes;
|
||||||
|
type Tally = pallet_ranked_collective::TallyOf<Runtime, FellowshipCollectiveInstance>;
|
||||||
|
type SubmissionDeposit = SubmissionDeposit;
|
||||||
|
type MaxQueued = ConstU32<100>;
|
||||||
|
type UndecidingTimeout = UndecidingTimeout;
|
||||||
|
type AlarmInterval = AlarmInterval;
|
||||||
|
type Tracks = TracksInfo;
|
||||||
|
type Preimages = Preimage;
|
||||||
|
}
|
||||||
|
|
||||||
|
pub type FellowshipCollectiveInstance = pallet_ranked_collective::Instance1;
|
||||||
|
|
||||||
|
impl pallet_ranked_collective::Config<FellowshipCollectiveInstance> for Runtime {
|
||||||
|
type WeightInfo = weights::pallet_ranked_collective::WeightInfo<Self>;
|
||||||
|
type RuntimeEvent = RuntimeEvent;
|
||||||
|
// Promotion is by any of:
|
||||||
|
// - Root can demote arbitrarily.
|
||||||
|
// - the FellowshipAdmin origin (i.e. token holder referendum);
|
||||||
|
// - a vote by the rank *above* the new rank.
|
||||||
|
type PromoteOrigin = EitherOf<
|
||||||
|
frame_system::EnsureRootWithSuccess<Self::AccountId, ConstU16<65535>>,
|
||||||
|
EitherOf<
|
||||||
|
MapSuccess<FellowshipAdmin, Replace<ConstU16<9>>>,
|
||||||
|
TryMapSuccess<origins::EnsureFellowship, CheckedReduceBy<ConstU16<1>>>,
|
||||||
|
>,
|
||||||
|
>;
|
||||||
|
// Demotion is by any of:
|
||||||
|
// - Root can demote arbitrarily.
|
||||||
|
// - the FellowshipAdmin origin (i.e. token holder referendum);
|
||||||
|
// - a vote by the rank two above the current rank.
|
||||||
|
type DemoteOrigin = EitherOf<
|
||||||
|
frame_system::EnsureRootWithSuccess<Self::AccountId, ConstU16<65535>>,
|
||||||
|
EitherOf<
|
||||||
|
MapSuccess<FellowshipAdmin, Replace<ConstU16<9>>>,
|
||||||
|
TryMapSuccess<origins::EnsureFellowship, CheckedReduceBy<ConstU16<2>>>,
|
||||||
|
>,
|
||||||
|
>;
|
||||||
|
type Polls = FellowshipReferenda;
|
||||||
|
type MinRankOfClass = sp_runtime::traits::Identity;
|
||||||
|
type VoteWeight = pallet_ranked_collective::Geometric;
|
||||||
|
}
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
// Copyright (C) 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/>.
|
||||||
|
|
||||||
|
//! New governance configurations for the Rococo runtime.
|
||||||
|
|
||||||
|
use super::*;
|
||||||
|
use frame_support::{
|
||||||
|
parameter_types,
|
||||||
|
traits::{ConstU16, EitherOf},
|
||||||
|
};
|
||||||
|
use frame_system::EnsureRootWithSuccess;
|
||||||
|
|
||||||
|
mod origins;
|
||||||
|
pub use origins::{
|
||||||
|
pallet_custom_origins, AuctionAdmin, Fellows, FellowshipAdmin, FellowshipExperts,
|
||||||
|
FellowshipInitiates, FellowshipMasters, GeneralAdmin, LeaseAdmin, ReferendumCanceller,
|
||||||
|
ReferendumKiller, Spender, StakingAdmin, Treasurer, WhitelistedCaller,
|
||||||
|
};
|
||||||
|
mod tracks;
|
||||||
|
pub use tracks::TracksInfo;
|
||||||
|
mod fellowship;
|
||||||
|
pub use fellowship::{FellowshipCollectiveInstance, FellowshipReferendaInstance};
|
||||||
|
|
||||||
|
parameter_types! {
|
||||||
|
pub const VoteLockingPeriod: BlockNumber = 7 * DAYS;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl pallet_conviction_voting::Config for Runtime {
|
||||||
|
type WeightInfo = weights::pallet_conviction_voting::WeightInfo<Self>;
|
||||||
|
type RuntimeEvent = RuntimeEvent;
|
||||||
|
type Currency = Balances;
|
||||||
|
type VoteLockingPeriod = VoteLockingPeriod;
|
||||||
|
type MaxVotes = ConstU32<512>;
|
||||||
|
type MaxTurnout =
|
||||||
|
frame_support::traits::tokens::currency::ActiveIssuanceOf<Balances, Self::AccountId>;
|
||||||
|
type Polls = Referenda;
|
||||||
|
}
|
||||||
|
|
||||||
|
parameter_types! {
|
||||||
|
pub const AlarmInterval: BlockNumber = 1;
|
||||||
|
pub const SubmissionDeposit: Balance = 1 * 3 * CENTS;
|
||||||
|
pub const UndecidingTimeout: BlockNumber = 14 * DAYS;
|
||||||
|
}
|
||||||
|
|
||||||
|
parameter_types! {
|
||||||
|
pub const MaxBalance: Balance = Balance::max_value();
|
||||||
|
}
|
||||||
|
pub type TreasurySpender = EitherOf<EnsureRootWithSuccess<AccountId, MaxBalance>, Spender>;
|
||||||
|
|
||||||
|
impl origins::pallet_custom_origins::Config for Runtime {}
|
||||||
|
|
||||||
|
impl pallet_whitelist::Config for Runtime {
|
||||||
|
type WeightInfo = weights::pallet_whitelist::WeightInfo<Self>;
|
||||||
|
type RuntimeCall = RuntimeCall;
|
||||||
|
type RuntimeEvent = RuntimeEvent;
|
||||||
|
type WhitelistOrigin =
|
||||||
|
EitherOf<EnsureRootWithSuccess<Self::AccountId, ConstU16<65535>>, Fellows>;
|
||||||
|
type DispatchWhitelistedOrigin = EitherOf<EnsureRoot<Self::AccountId>, WhitelistedCaller>;
|
||||||
|
type Preimages = Preimage;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl pallet_referenda::Config for Runtime {
|
||||||
|
type WeightInfo = weights::pallet_referenda_referenda::WeightInfo<Self>;
|
||||||
|
type RuntimeCall = RuntimeCall;
|
||||||
|
type RuntimeEvent = RuntimeEvent;
|
||||||
|
type Scheduler = Scheduler;
|
||||||
|
type Currency = Balances;
|
||||||
|
type SubmitOrigin = frame_system::EnsureSigned<AccountId>;
|
||||||
|
type CancelOrigin = EitherOf<EnsureRoot<AccountId>, ReferendumCanceller>;
|
||||||
|
type KillOrigin = EitherOf<EnsureRoot<AccountId>, ReferendumKiller>;
|
||||||
|
type Slash = Treasury;
|
||||||
|
type Votes = pallet_conviction_voting::VotesOf<Runtime>;
|
||||||
|
type Tally = pallet_conviction_voting::TallyOf<Runtime>;
|
||||||
|
type SubmissionDeposit = SubmissionDeposit;
|
||||||
|
type MaxQueued = ConstU32<100>;
|
||||||
|
type UndecidingTimeout = UndecidingTimeout;
|
||||||
|
type AlarmInterval = AlarmInterval;
|
||||||
|
type Tracks = TracksInfo;
|
||||||
|
type Preimages = Preimage;
|
||||||
|
}
|
||||||
@@ -0,0 +1,194 @@
|
|||||||
|
// Copyright (C) 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/>.
|
||||||
|
|
||||||
|
//! Custom origins for governance interventions.
|
||||||
|
|
||||||
|
pub use pallet_custom_origins::*;
|
||||||
|
|
||||||
|
#[frame_support::pallet]
|
||||||
|
pub mod pallet_custom_origins {
|
||||||
|
use crate::{Balance, CENTS, GRAND};
|
||||||
|
use frame_support::pallet_prelude::*;
|
||||||
|
|
||||||
|
#[pallet::config]
|
||||||
|
pub trait Config: frame_system::Config {}
|
||||||
|
|
||||||
|
#[pallet::pallet]
|
||||||
|
pub struct Pallet<T>(_);
|
||||||
|
|
||||||
|
#[derive(PartialEq, Eq, Clone, MaxEncodedLen, Encode, Decode, TypeInfo, RuntimeDebug)]
|
||||||
|
#[pallet::origin]
|
||||||
|
pub enum Origin {
|
||||||
|
/// Origin for cancelling slashes.
|
||||||
|
StakingAdmin,
|
||||||
|
/// Origin for spending (any amount of) funds.
|
||||||
|
Treasurer,
|
||||||
|
/// Origin for managing the composition of the fellowship.
|
||||||
|
FellowshipAdmin,
|
||||||
|
/// Origin for managing the registrar.
|
||||||
|
GeneralAdmin,
|
||||||
|
/// Origin for starting auctions.
|
||||||
|
AuctionAdmin,
|
||||||
|
/// Origin able to force slot leases.
|
||||||
|
LeaseAdmin,
|
||||||
|
/// Origin able to cancel referenda.
|
||||||
|
ReferendumCanceller,
|
||||||
|
/// Origin able to kill referenda.
|
||||||
|
ReferendumKiller,
|
||||||
|
/// Origin able to spend up to 1 KSM from the treasury at once.
|
||||||
|
SmallTipper,
|
||||||
|
/// Origin able to spend up to 5 KSM from the treasury at once.
|
||||||
|
BigTipper,
|
||||||
|
/// Origin able to spend up to 50 KSM from the treasury at once.
|
||||||
|
SmallSpender,
|
||||||
|
/// Origin able to spend up to 500 KSM from the treasury at once.
|
||||||
|
MediumSpender,
|
||||||
|
/// Origin able to spend up to 5,000 KSM from the treasury at once.
|
||||||
|
BigSpender,
|
||||||
|
/// Origin able to dispatch a whitelisted call.
|
||||||
|
WhitelistedCaller,
|
||||||
|
/// Origin commanded by any members of the Polkadot Fellowship (no Dan grade needed).
|
||||||
|
FellowshipInitiates,
|
||||||
|
/// Origin commanded by Polkadot Fellows (3rd Dan fellows or greater).
|
||||||
|
Fellows,
|
||||||
|
/// Origin commanded by Polkadot Experts (5th Dan fellows or greater).
|
||||||
|
FellowshipExperts,
|
||||||
|
/// Origin commanded by Polkadot Masters (7th Dan fellows of greater).
|
||||||
|
FellowshipMasters,
|
||||||
|
/// Origin commanded by rank 1 of the Polkadot Fellowship and with a success of 1.
|
||||||
|
Fellowship1Dan,
|
||||||
|
/// Origin commanded by rank 2 of the Polkadot Fellowship and with a success of 2.
|
||||||
|
Fellowship2Dan,
|
||||||
|
/// Origin commanded by rank 3 of the Polkadot Fellowship and with a success of 3.
|
||||||
|
Fellowship3Dan,
|
||||||
|
/// Origin commanded by rank 4 of the Polkadot Fellowship and with a success of 4.
|
||||||
|
Fellowship4Dan,
|
||||||
|
/// Origin commanded by rank 5 of the Polkadot Fellowship and with a success of 5.
|
||||||
|
Fellowship5Dan,
|
||||||
|
/// Origin commanded by rank 6 of the Polkadot Fellowship and with a success of 6.
|
||||||
|
Fellowship6Dan,
|
||||||
|
/// Origin commanded by rank 7 of the Polkadot Fellowship and with a success of 7.
|
||||||
|
Fellowship7Dan,
|
||||||
|
/// Origin commanded by rank 8 of the Polkadot Fellowship and with a success of 8.
|
||||||
|
Fellowship8Dan,
|
||||||
|
/// Origin commanded by rank 9 of the Polkadot Fellowship and with a success of 9.
|
||||||
|
Fellowship9Dan,
|
||||||
|
}
|
||||||
|
|
||||||
|
macro_rules! decl_unit_ensures {
|
||||||
|
( $name:ident: $success_type:ty = $success:expr ) => {
|
||||||
|
pub struct $name;
|
||||||
|
impl<O: Into<Result<Origin, O>> + From<Origin>>
|
||||||
|
EnsureOrigin<O> for $name
|
||||||
|
{
|
||||||
|
type Success = $success_type;
|
||||||
|
fn try_origin(o: O) -> Result<Self::Success, O> {
|
||||||
|
o.into().and_then(|o| match o {
|
||||||
|
Origin::$name => Ok($success),
|
||||||
|
r => Err(O::from(r)),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
#[cfg(feature = "runtime-benchmarks")]
|
||||||
|
fn try_successful_origin() -> Result<O, ()> {
|
||||||
|
Ok(O::from(Origin::$name))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
( $name:ident ) => { decl_unit_ensures! { $name : () = () } };
|
||||||
|
( $name:ident: $success_type:ty = $success:expr, $( $rest:tt )* ) => {
|
||||||
|
decl_unit_ensures! { $name: $success_type = $success }
|
||||||
|
decl_unit_ensures! { $( $rest )* }
|
||||||
|
};
|
||||||
|
( $name:ident, $( $rest:tt )* ) => {
|
||||||
|
decl_unit_ensures! { $name }
|
||||||
|
decl_unit_ensures! { $( $rest )* }
|
||||||
|
};
|
||||||
|
() => {}
|
||||||
|
}
|
||||||
|
decl_unit_ensures!(
|
||||||
|
StakingAdmin,
|
||||||
|
Treasurer,
|
||||||
|
FellowshipAdmin,
|
||||||
|
GeneralAdmin,
|
||||||
|
AuctionAdmin,
|
||||||
|
LeaseAdmin,
|
||||||
|
ReferendumCanceller,
|
||||||
|
ReferendumKiller,
|
||||||
|
WhitelistedCaller,
|
||||||
|
FellowshipInitiates: u16 = 0,
|
||||||
|
Fellows: u16 = 3,
|
||||||
|
FellowshipExperts: u16 = 5,
|
||||||
|
FellowshipMasters: u16 = 7,
|
||||||
|
);
|
||||||
|
|
||||||
|
macro_rules! decl_ensure {
|
||||||
|
(
|
||||||
|
$vis:vis type $name:ident: EnsureOrigin<Success = $success_type:ty> {
|
||||||
|
$( $item:ident = $success:expr, )*
|
||||||
|
}
|
||||||
|
) => {
|
||||||
|
$vis struct $name;
|
||||||
|
impl<O: Into<Result<Origin, O>> + From<Origin>>
|
||||||
|
EnsureOrigin<O> for $name
|
||||||
|
{
|
||||||
|
type Success = $success_type;
|
||||||
|
fn try_origin(o: O) -> Result<Self::Success, O> {
|
||||||
|
o.into().and_then(|o| match o {
|
||||||
|
$(
|
||||||
|
Origin::$item => Ok($success),
|
||||||
|
)*
|
||||||
|
r => Err(O::from(r)),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
#[cfg(feature = "runtime-benchmarks")]
|
||||||
|
fn try_successful_origin() -> Result<O, ()> {
|
||||||
|
// By convention the more privileged origins go later, so for greatest chance
|
||||||
|
// of success, we want the last one.
|
||||||
|
let _result: Result<O, ()> = Err(());
|
||||||
|
$(
|
||||||
|
let _result: Result<O, ()> = Ok(O::from(Origin::$item));
|
||||||
|
)*
|
||||||
|
_result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
decl_ensure! {
|
||||||
|
pub type Spender: EnsureOrigin<Success = Balance> {
|
||||||
|
SmallTipper = 250 * 3 * CENTS,
|
||||||
|
BigTipper = 1 * GRAND,
|
||||||
|
SmallSpender = 10 * GRAND,
|
||||||
|
MediumSpender = 100 * GRAND,
|
||||||
|
BigSpender = 1_000 * GRAND,
|
||||||
|
Treasurer = 10_000 * GRAND,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
decl_ensure! {
|
||||||
|
pub type EnsureFellowship: EnsureOrigin<Success = u16> {
|
||||||
|
Fellowship1Dan = 1,
|
||||||
|
Fellowship2Dan = 2,
|
||||||
|
Fellowship3Dan = 3,
|
||||||
|
Fellowship4Dan = 4,
|
||||||
|
Fellowship5Dan = 5,
|
||||||
|
Fellowship6Dan = 6,
|
||||||
|
Fellowship7Dan = 7,
|
||||||
|
Fellowship8Dan = 8,
|
||||||
|
Fellowship9Dan = 9,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,320 @@
|
|||||||
|
// Copyright (C) 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/>.
|
||||||
|
|
||||||
|
//! Track configurations for governance.
|
||||||
|
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
const fn percent(x: i32) -> sp_arithmetic::FixedI64 {
|
||||||
|
sp_arithmetic::FixedI64::from_rational(x as u128, 100)
|
||||||
|
}
|
||||||
|
use pallet_referenda::Curve;
|
||||||
|
const APP_ROOT: Curve = Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||||
|
const SUP_ROOT: Curve = Curve::make_linear(28, 28, percent(0), percent(50));
|
||||||
|
const APP_STAKING_ADMIN: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_STAKING_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_TREASURER: Curve = Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||||
|
const SUP_TREASURER: Curve = Curve::make_linear(28, 28, percent(0), percent(50));
|
||||||
|
const APP_FELLOWSHIP_ADMIN: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_FELLOWSHIP_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_GENERAL_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||||
|
const SUP_GENERAL_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(7, 28, percent(10), percent(0), percent(50));
|
||||||
|
const APP_AUCTION_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||||
|
const SUP_AUCTION_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(7, 28, percent(10), percent(0), percent(50));
|
||||||
|
const APP_LEASE_ADMIN: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_LEASE_ADMIN: Curve = Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_REFERENDUM_CANCELLER: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_REFERENDUM_CANCELLER: Curve =
|
||||||
|
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_REFERENDUM_KILLER: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_REFERENDUM_KILLER: Curve =
|
||||||
|
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_SMALL_TIPPER: Curve = Curve::make_linear(10, 28, percent(50), percent(100));
|
||||||
|
const SUP_SMALL_TIPPER: Curve = Curve::make_reciprocal(1, 28, percent(4), percent(0), percent(50));
|
||||||
|
const APP_BIG_TIPPER: Curve = Curve::make_linear(10, 28, percent(50), percent(100));
|
||||||
|
const SUP_BIG_TIPPER: Curve = Curve::make_reciprocal(8, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_SMALL_SPENDER: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_SMALL_SPENDER: Curve =
|
||||||
|
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_MEDIUM_SPENDER: Curve = Curve::make_linear(23, 28, percent(50), percent(100));
|
||||||
|
const SUP_MEDIUM_SPENDER: Curve =
|
||||||
|
Curve::make_reciprocal(16, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_BIG_SPENDER: Curve = Curve::make_linear(28, 28, percent(50), percent(100));
|
||||||
|
const SUP_BIG_SPENDER: Curve = Curve::make_reciprocal(20, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_WHITELISTED_CALLER: Curve =
|
||||||
|
Curve::make_reciprocal(16, 28 * 24, percent(96), percent(50), percent(100));
|
||||||
|
const SUP_WHITELISTED_CALLER: Curve =
|
||||||
|
Curve::make_reciprocal(1, 28, percent(20), percent(5), percent(50));
|
||||||
|
|
||||||
|
const TRACKS_DATA: [(u16, pallet_referenda::TrackInfo<Balance, BlockNumber>); 15] = [
|
||||||
|
(
|
||||||
|
0,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "root",
|
||||||
|
max_deciding: 1,
|
||||||
|
decision_deposit: 100 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 12 * MINUTES,
|
||||||
|
min_enactment_period: 5 * MINUTES,
|
||||||
|
min_approval: APP_ROOT,
|
||||||
|
min_support: SUP_ROOT,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
1,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "whitelisted_caller",
|
||||||
|
max_deciding: 100,
|
||||||
|
decision_deposit: 10 * GRAND,
|
||||||
|
prepare_period: 6 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 4 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_WHITELISTED_CALLER,
|
||||||
|
min_support: SUP_WHITELISTED_CALLER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
10,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "staking_admin",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 5 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_STAKING_ADMIN,
|
||||||
|
min_support: SUP_STAKING_ADMIN,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
11,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "treasurer",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 1 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 5 * MINUTES,
|
||||||
|
min_approval: APP_TREASURER,
|
||||||
|
min_support: SUP_TREASURER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
12,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "lease_admin",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 5 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_LEASE_ADMIN,
|
||||||
|
min_support: SUP_LEASE_ADMIN,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
13,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "fellowship_admin",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 5 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_FELLOWSHIP_ADMIN,
|
||||||
|
min_support: SUP_FELLOWSHIP_ADMIN,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
14,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "general_admin",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 5 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_GENERAL_ADMIN,
|
||||||
|
min_support: SUP_GENERAL_ADMIN,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
15,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "auction_admin",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 5 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_AUCTION_ADMIN,
|
||||||
|
min_support: SUP_AUCTION_ADMIN,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
20,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "referendum_canceller",
|
||||||
|
max_deciding: 1_000,
|
||||||
|
decision_deposit: 10 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 14 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_REFERENDUM_CANCELLER,
|
||||||
|
min_support: SUP_REFERENDUM_CANCELLER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
21,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "referendum_killer",
|
||||||
|
max_deciding: 1_000,
|
||||||
|
decision_deposit: 50 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_REFERENDUM_KILLER,
|
||||||
|
min_support: SUP_REFERENDUM_KILLER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
30,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "small_tipper",
|
||||||
|
max_deciding: 200,
|
||||||
|
decision_deposit: 1 * 3 * CENTS,
|
||||||
|
prepare_period: 1 * MINUTES,
|
||||||
|
decision_period: 14 * MINUTES,
|
||||||
|
confirm_period: 4 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: APP_SMALL_TIPPER,
|
||||||
|
min_support: SUP_SMALL_TIPPER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
31,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "big_tipper",
|
||||||
|
max_deciding: 100,
|
||||||
|
decision_deposit: 10 * 3 * CENTS,
|
||||||
|
prepare_period: 4 * MINUTES,
|
||||||
|
decision_period: 14 * MINUTES,
|
||||||
|
confirm_period: 12 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_BIG_TIPPER,
|
||||||
|
min_support: SUP_BIG_TIPPER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
32,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "small_spender",
|
||||||
|
max_deciding: 50,
|
||||||
|
decision_deposit: 100 * 3 * CENTS,
|
||||||
|
prepare_period: 10 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 10 * MINUTES,
|
||||||
|
min_enactment_period: 5 * MINUTES,
|
||||||
|
min_approval: APP_SMALL_SPENDER,
|
||||||
|
min_support: SUP_SMALL_SPENDER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
33,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "medium_spender",
|
||||||
|
max_deciding: 50,
|
||||||
|
decision_deposit: 200 * 3 * CENTS,
|
||||||
|
prepare_period: 10 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 12 * MINUTES,
|
||||||
|
min_enactment_period: 5 * MINUTES,
|
||||||
|
min_approval: APP_MEDIUM_SPENDER,
|
||||||
|
min_support: SUP_MEDIUM_SPENDER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
34,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "big_spender",
|
||||||
|
max_deciding: 50,
|
||||||
|
decision_deposit: 400 * 3 * CENTS,
|
||||||
|
prepare_period: 10 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 14 * MINUTES,
|
||||||
|
min_enactment_period: 5 * MINUTES,
|
||||||
|
min_approval: APP_BIG_SPENDER,
|
||||||
|
min_support: SUP_BIG_SPENDER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
];
|
||||||
|
|
||||||
|
pub struct TracksInfo;
|
||||||
|
impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
|
||||||
|
type Id = u16;
|
||||||
|
type RuntimeOrigin = <RuntimeOrigin as frame_support::traits::OriginTrait>::PalletsOrigin;
|
||||||
|
fn tracks() -> &'static [(Self::Id, pallet_referenda::TrackInfo<Balance, BlockNumber>)] {
|
||||||
|
&TRACKS_DATA[..]
|
||||||
|
}
|
||||||
|
fn track_for(id: &Self::RuntimeOrigin) -> Result<Self::Id, ()> {
|
||||||
|
if let Ok(system_origin) = frame_system::RawOrigin::try_from(id.clone()) {
|
||||||
|
match system_origin {
|
||||||
|
frame_system::RawOrigin::Root => Ok(0),
|
||||||
|
_ => Err(()),
|
||||||
|
}
|
||||||
|
} else if let Ok(custom_origin) = origins::Origin::try_from(id.clone()) {
|
||||||
|
match custom_origin {
|
||||||
|
origins::Origin::WhitelistedCaller => Ok(1),
|
||||||
|
// General admin
|
||||||
|
origins::Origin::StakingAdmin => Ok(10),
|
||||||
|
origins::Origin::Treasurer => Ok(11),
|
||||||
|
origins::Origin::LeaseAdmin => Ok(12),
|
||||||
|
origins::Origin::FellowshipAdmin => Ok(13),
|
||||||
|
origins::Origin::GeneralAdmin => Ok(14),
|
||||||
|
origins::Origin::AuctionAdmin => Ok(15),
|
||||||
|
// Referendum admins
|
||||||
|
origins::Origin::ReferendumCanceller => Ok(20),
|
||||||
|
origins::Origin::ReferendumKiller => Ok(21),
|
||||||
|
// Limited treasury spenders
|
||||||
|
origins::Origin::SmallTipper => Ok(30),
|
||||||
|
origins::Origin::BigTipper => Ok(31),
|
||||||
|
origins::Origin::SmallSpender => Ok(32),
|
||||||
|
origins::Origin::MediumSpender => Ok(33),
|
||||||
|
origins::Origin::BigSpender => Ok(34),
|
||||||
|
_ => Err(()),
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Err(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pallet_referenda::impl_tracksinfo_get!(TracksInfo, Balance, BlockNumber);
|
||||||
@@ -62,8 +62,8 @@ use frame_support::{
|
|||||||
genesis_builder_helper::{build_config, create_default_config},
|
genesis_builder_helper::{build_config, create_default_config},
|
||||||
parameter_types,
|
parameter_types,
|
||||||
traits::{
|
traits::{
|
||||||
fungible::HoldConsideration, Contains, EitherOfDiverse, EverythingBut, InstanceFilter,
|
fungible::HoldConsideration, Contains, EitherOf, EitherOfDiverse, EverythingBut,
|
||||||
KeyOwnerProofSystem, LinearStoragePrice, LockIdentifier, PrivilegeCmp, ProcessMessage,
|
InstanceFilter, KeyOwnerProofSystem, LinearStoragePrice, PrivilegeCmp, ProcessMessage,
|
||||||
ProcessMessageError, StorageMapShim, WithdrawReasons,
|
ProcessMessageError, StorageMapShim, WithdrawReasons,
|
||||||
},
|
},
|
||||||
weights::{ConstantMultiplier, WeightMeter},
|
weights::{ConstantMultiplier, WeightMeter},
|
||||||
@@ -88,7 +88,6 @@ use sp_staking::SessionIndex;
|
|||||||
#[cfg(any(feature = "std", test))]
|
#[cfg(any(feature = "std", test))]
|
||||||
use sp_version::NativeVersion;
|
use sp_version::NativeVersion;
|
||||||
use sp_version::RuntimeVersion;
|
use sp_version::RuntimeVersion;
|
||||||
use static_assertions::const_assert;
|
|
||||||
use xcm::latest::Junction;
|
use xcm::latest::Junction;
|
||||||
|
|
||||||
pub use frame_system::Call as SystemCall;
|
pub use frame_system::Call as SystemCall;
|
||||||
@@ -103,6 +102,13 @@ mod weights;
|
|||||||
// XCM configurations.
|
// XCM configurations.
|
||||||
pub mod xcm_config;
|
pub mod xcm_config;
|
||||||
|
|
||||||
|
// Governance and configurations.
|
||||||
|
pub mod governance;
|
||||||
|
use governance::{
|
||||||
|
pallet_custom_origins, AuctionAdmin, Fellows, GeneralAdmin, LeaseAdmin, Treasurer,
|
||||||
|
TreasurySpender,
|
||||||
|
};
|
||||||
|
|
||||||
mod validator_manager;
|
mod validator_manager;
|
||||||
|
|
||||||
impl_runtime_weights!(rococo_runtime_constants);
|
impl_runtime_weights!(rococo_runtime_constants);
|
||||||
@@ -117,7 +123,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
|
|||||||
spec_name: create_runtime_str!("rococo"),
|
spec_name: create_runtime_str!("rococo"),
|
||||||
impl_name: create_runtime_str!("parity-rococo-v2.0"),
|
impl_name: create_runtime_str!("parity-rococo-v2.0"),
|
||||||
authoring_version: 0,
|
authoring_version: 0,
|
||||||
spec_version: 9430,
|
spec_version: 10020,
|
||||||
impl_version: 0,
|
impl_version: 0,
|
||||||
apis: RUNTIME_API_VERSIONS,
|
apis: RUNTIME_API_VERSIONS,
|
||||||
transaction_version: 22,
|
transaction_version: 22,
|
||||||
@@ -186,11 +192,6 @@ parameter_types! {
|
|||||||
pub const NoPreimagePostponement: Option<u32> = Some(10);
|
pub const NoPreimagePostponement: Option<u32> = Some(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
type ScheduleOrigin = EitherOfDiverse<
|
|
||||||
EnsureRoot<AccountId>,
|
|
||||||
pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 1, 2>,
|
|
||||||
>;
|
|
||||||
|
|
||||||
/// Used the compare the privilege of an origin inside the scheduler.
|
/// Used the compare the privilege of an origin inside the scheduler.
|
||||||
pub struct OriginPrivilegeCmp;
|
pub struct OriginPrivilegeCmp;
|
||||||
|
|
||||||
@@ -203,11 +204,6 @@ impl PrivilegeCmp<OriginCaller> for OriginPrivilegeCmp {
|
|||||||
match (left, right) {
|
match (left, right) {
|
||||||
// Root is greater than anything.
|
// Root is greater than anything.
|
||||||
(OriginCaller::system(frame_system::RawOrigin::Root), _) => Some(Ordering::Greater),
|
(OriginCaller::system(frame_system::RawOrigin::Root), _) => Some(Ordering::Greater),
|
||||||
// Check which one has more yes votes.
|
|
||||||
(
|
|
||||||
OriginCaller::Council(pallet_collective::RawOrigin::Members(l_yes_votes, l_count)),
|
|
||||||
OriginCaller::Council(pallet_collective::RawOrigin::Members(r_yes_votes, r_count)),
|
|
||||||
) => Some((l_yes_votes * r_count).cmp(&(r_yes_votes * l_count))),
|
|
||||||
// For every other origin we don't care, as they are not used for `ScheduleOrigin`.
|
// For every other origin we don't care, as they are not used for `ScheduleOrigin`.
|
||||||
_ => None,
|
_ => None,
|
||||||
}
|
}
|
||||||
@@ -220,7 +216,9 @@ impl pallet_scheduler::Config for Runtime {
|
|||||||
type PalletsOrigin = OriginCaller;
|
type PalletsOrigin = OriginCaller;
|
||||||
type RuntimeCall = RuntimeCall;
|
type RuntimeCall = RuntimeCall;
|
||||||
type MaximumWeight = MaximumSchedulerWeight;
|
type MaximumWeight = MaximumSchedulerWeight;
|
||||||
type ScheduleOrigin = ScheduleOrigin;
|
// The goal of having ScheduleOrigin include AuctionAdmin is to allow the auctions track of
|
||||||
|
// OpenGov to schedule periodic auctions.
|
||||||
|
type ScheduleOrigin = EitherOf<EnsureRoot<AccountId>, AuctionAdmin>;
|
||||||
type MaxScheduledPerBlock = MaxScheduledPerBlock;
|
type MaxScheduledPerBlock = MaxScheduledPerBlock;
|
||||||
type WeightInfo = weights::pallet_scheduler::WeightInfo<Runtime>;
|
type WeightInfo = weights::pallet_scheduler::WeightInfo<Runtime>;
|
||||||
type OriginPrivilegeCmp = OriginPrivilegeCmp;
|
type OriginPrivilegeCmp = OriginPrivilegeCmp;
|
||||||
@@ -380,171 +378,6 @@ parameter_types! {
|
|||||||
pub const BondingDuration: sp_staking::EraIndex = 28;
|
pub const BondingDuration: sp_staking::EraIndex = 28;
|
||||||
}
|
}
|
||||||
|
|
||||||
parameter_types! {
|
|
||||||
pub LaunchPeriod: BlockNumber = prod_or_fast!(7 * DAYS, 1, "ROC_LAUNCH_PERIOD");
|
|
||||||
pub VotingPeriod: BlockNumber = prod_or_fast!(7 * DAYS, 1 * MINUTES, "ROC_VOTING_PERIOD");
|
|
||||||
pub FastTrackVotingPeriod: BlockNumber = prod_or_fast!(3 * HOURS, 1 * MINUTES, "ROC_FAST_TRACK_VOTING_PERIOD");
|
|
||||||
pub const MinimumDeposit: Balance = 100 * CENTS;
|
|
||||||
pub EnactmentPeriod: BlockNumber = prod_or_fast!(8 * DAYS, 1, "ROC_ENACTMENT_PERIOD");
|
|
||||||
pub CooloffPeriod: BlockNumber = prod_or_fast!(7 * DAYS, 1 * MINUTES, "ROC_COOLOFF_PERIOD");
|
|
||||||
pub const InstantAllowed: bool = true;
|
|
||||||
pub const MaxVotes: u32 = 100;
|
|
||||||
pub const MaxProposals: u32 = 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
impl pallet_democracy::Config for Runtime {
|
|
||||||
type RuntimeEvent = RuntimeEvent;
|
|
||||||
type Currency = Balances;
|
|
||||||
type EnactmentPeriod = EnactmentPeriod;
|
|
||||||
type VoteLockingPeriod = EnactmentPeriod;
|
|
||||||
type LaunchPeriod = LaunchPeriod;
|
|
||||||
type VotingPeriod = VotingPeriod;
|
|
||||||
type MinimumDeposit = MinimumDeposit;
|
|
||||||
type SubmitOrigin = frame_system::EnsureSigned<AccountId>;
|
|
||||||
/// A straight majority of the council can decide what their next motion is.
|
|
||||||
type ExternalOrigin =
|
|
||||||
pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 1, 2>;
|
|
||||||
/// A majority can have the next scheduled referendum be a straight majority-carries vote.
|
|
||||||
type ExternalMajorityOrigin =
|
|
||||||
pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 1, 2>;
|
|
||||||
/// A unanimous council can have the next scheduled referendum be a straight default-carries
|
|
||||||
/// (NTB) vote.
|
|
||||||
type ExternalDefaultOrigin =
|
|
||||||
pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 1, 1>;
|
|
||||||
/// Two thirds of the technical committee can have an `ExternalMajority/ExternalDefault` vote
|
|
||||||
/// be tabled immediately and with a shorter voting/enactment period.
|
|
||||||
type FastTrackOrigin =
|
|
||||||
pallet_collective::EnsureProportionAtLeast<AccountId, TechnicalCollective, 2, 3>;
|
|
||||||
type InstantOrigin =
|
|
||||||
pallet_collective::EnsureProportionAtLeast<AccountId, TechnicalCollective, 1, 1>;
|
|
||||||
type InstantAllowed = InstantAllowed;
|
|
||||||
type FastTrackVotingPeriod = FastTrackVotingPeriod;
|
|
||||||
// To cancel a proposal which has been passed, 2/3 of the council must agree to it.
|
|
||||||
type CancellationOrigin = EitherOfDiverse<
|
|
||||||
EnsureRoot<AccountId>,
|
|
||||||
pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 2, 3>,
|
|
||||||
>;
|
|
||||||
type BlacklistOrigin = EnsureRoot<AccountId>;
|
|
||||||
// To cancel a proposal before it has been passed, the technical committee must be unanimous or
|
|
||||||
// Root must agree.
|
|
||||||
type CancelProposalOrigin = EitherOfDiverse<
|
|
||||||
EnsureRoot<AccountId>,
|
|
||||||
pallet_collective::EnsureProportionAtLeast<AccountId, TechnicalCollective, 1, 1>,
|
|
||||||
>;
|
|
||||||
// Any single technical committee member may veto a coming council proposal, however they can
|
|
||||||
// only do it once and it lasts only for the cooloff period.
|
|
||||||
type VetoOrigin = pallet_collective::EnsureMember<AccountId, TechnicalCollective>;
|
|
||||||
type CooloffPeriod = CooloffPeriod;
|
|
||||||
type Slash = Treasury;
|
|
||||||
type Scheduler = Scheduler;
|
|
||||||
type PalletsOrigin = OriginCaller;
|
|
||||||
type MaxVotes = MaxVotes;
|
|
||||||
type WeightInfo = weights::pallet_democracy::WeightInfo<Runtime>;
|
|
||||||
type MaxProposals = MaxProposals;
|
|
||||||
type Preimages = Preimage;
|
|
||||||
type MaxDeposits = ConstU32<100>;
|
|
||||||
type MaxBlacklisted = ConstU32<100>;
|
|
||||||
}
|
|
||||||
|
|
||||||
parameter_types! {
|
|
||||||
pub CouncilMotionDuration: BlockNumber = prod_or_fast!(3 * DAYS, 2 * MINUTES, "ROC_MOTION_DURATION");
|
|
||||||
pub const CouncilMaxProposals: u32 = 100;
|
|
||||||
pub const CouncilMaxMembers: u32 = 100;
|
|
||||||
pub MaxProposalWeight: Weight = Perbill::from_percent(50) * BlockWeights::get().max_block;
|
|
||||||
}
|
|
||||||
|
|
||||||
type CouncilCollective = pallet_collective::Instance1;
|
|
||||||
impl pallet_collective::Config<CouncilCollective> for Runtime {
|
|
||||||
type RuntimeOrigin = RuntimeOrigin;
|
|
||||||
type Proposal = RuntimeCall;
|
|
||||||
type RuntimeEvent = RuntimeEvent;
|
|
||||||
type MotionDuration = CouncilMotionDuration;
|
|
||||||
type MaxProposals = CouncilMaxProposals;
|
|
||||||
type MaxMembers = CouncilMaxMembers;
|
|
||||||
type DefaultVote = pallet_collective::PrimeDefaultVote;
|
|
||||||
type SetMembersOrigin = EnsureRoot<AccountId>;
|
|
||||||
type WeightInfo = weights::pallet_collective_council::WeightInfo<Runtime>;
|
|
||||||
type MaxProposalWeight = MaxProposalWeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
parameter_types! {
|
|
||||||
pub const CandidacyBond: Balance = 100 * CENTS;
|
|
||||||
// 1 storage item created, key size is 32 bytes, value size is 16+16.
|
|
||||||
pub const VotingBondBase: Balance = deposit(1, 64);
|
|
||||||
// additional data per vote is 32 bytes (account id).
|
|
||||||
pub const VotingBondFactor: Balance = deposit(0, 32);
|
|
||||||
/// Daily council elections
|
|
||||||
pub TermDuration: BlockNumber = prod_or_fast!(24 * HOURS, 2 * MINUTES, "ROC_TERM_DURATION");
|
|
||||||
pub const DesiredMembers: u32 = 19;
|
|
||||||
pub const DesiredRunnersUp: u32 = 19;
|
|
||||||
pub const MaxVoters: u32 = 10 * 1000;
|
|
||||||
pub const MaxVotesPerVoter: u32 = 16;
|
|
||||||
pub const MaxCandidates: u32 = 1000;
|
|
||||||
pub const PhragmenElectionPalletId: LockIdentifier = *b"phrelect";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make sure that there are no more than MaxMembers members elected via phragmen.
|
|
||||||
const_assert!(DesiredMembers::get() <= CouncilMaxMembers::get());
|
|
||||||
|
|
||||||
impl pallet_elections_phragmen::Config for Runtime {
|
|
||||||
type RuntimeEvent = RuntimeEvent;
|
|
||||||
type Currency = Balances;
|
|
||||||
type ChangeMembers = Council;
|
|
||||||
type InitializeMembers = Council;
|
|
||||||
type CurrencyToVote = runtime_common::CurrencyToVote;
|
|
||||||
type CandidacyBond = CandidacyBond;
|
|
||||||
type VotingBondBase = VotingBondBase;
|
|
||||||
type VotingBondFactor = VotingBondFactor;
|
|
||||||
type LoserCandidate = Treasury;
|
|
||||||
type KickedMember = Treasury;
|
|
||||||
type DesiredMembers = DesiredMembers;
|
|
||||||
type DesiredRunnersUp = DesiredRunnersUp;
|
|
||||||
type TermDuration = TermDuration;
|
|
||||||
type MaxVoters = MaxVoters;
|
|
||||||
type MaxVotesPerVoter = MaxVotesPerVoter;
|
|
||||||
type MaxCandidates = MaxCandidates;
|
|
||||||
type PalletId = PhragmenElectionPalletId;
|
|
||||||
type WeightInfo = weights::pallet_elections_phragmen::WeightInfo<Runtime>;
|
|
||||||
}
|
|
||||||
|
|
||||||
parameter_types! {
|
|
||||||
pub TechnicalMotionDuration: BlockNumber = prod_or_fast!(3 * DAYS, 2 * MINUTES, "ROC_MOTION_DURATION");
|
|
||||||
pub const TechnicalMaxProposals: u32 = 100;
|
|
||||||
pub const TechnicalMaxMembers: u32 = 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
type TechnicalCollective = pallet_collective::Instance2;
|
|
||||||
impl pallet_collective::Config<TechnicalCollective> for Runtime {
|
|
||||||
type RuntimeOrigin = RuntimeOrigin;
|
|
||||||
type Proposal = RuntimeCall;
|
|
||||||
type RuntimeEvent = RuntimeEvent;
|
|
||||||
type MotionDuration = TechnicalMotionDuration;
|
|
||||||
type MaxProposals = TechnicalMaxProposals;
|
|
||||||
type MaxMembers = TechnicalMaxMembers;
|
|
||||||
type DefaultVote = pallet_collective::PrimeDefaultVote;
|
|
||||||
type SetMembersOrigin = EnsureRoot<AccountId>;
|
|
||||||
type WeightInfo = weights::pallet_collective_technical_committee::WeightInfo<Runtime>;
|
|
||||||
type MaxProposalWeight = MaxProposalWeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
type MoreThanHalfCouncil = EitherOfDiverse<
|
|
||||||
EnsureRoot<AccountId>,
|
|
||||||
pallet_collective::EnsureProportionMoreThan<AccountId, CouncilCollective, 1, 2>,
|
|
||||||
>;
|
|
||||||
|
|
||||||
impl pallet_membership::Config<pallet_membership::Instance1> for Runtime {
|
|
||||||
type RuntimeEvent = RuntimeEvent;
|
|
||||||
type AddOrigin = MoreThanHalfCouncil;
|
|
||||||
type RemoveOrigin = MoreThanHalfCouncil;
|
|
||||||
type SwapOrigin = MoreThanHalfCouncil;
|
|
||||||
type ResetOrigin = MoreThanHalfCouncil;
|
|
||||||
type PrimeOrigin = MoreThanHalfCouncil;
|
|
||||||
type MembershipInitialized = TechnicalCommittee;
|
|
||||||
type MembershipChanged = TechnicalCommittee;
|
|
||||||
type MaxMembers = TechnicalMaxMembers;
|
|
||||||
type WeightInfo = weights::pallet_membership::WeightInfo<Runtime>;
|
|
||||||
}
|
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const ProposalBond: Permill = Permill::from_percent(5);
|
pub const ProposalBond: Permill = Permill::from_percent(5);
|
||||||
pub const ProposalBondMinimum: Balance = 2000 * CENTS;
|
pub const ProposalBondMinimum: Balance = 2000 * CENTS;
|
||||||
@@ -563,16 +396,11 @@ parameter_types! {
|
|||||||
pub const MaxPeerInHeartbeats: u32 = 10_000;
|
pub const MaxPeerInHeartbeats: u32 = 10_000;
|
||||||
}
|
}
|
||||||
|
|
||||||
type ApproveOrigin = EitherOfDiverse<
|
|
||||||
EnsureRoot<AccountId>,
|
|
||||||
pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 3, 5>,
|
|
||||||
>;
|
|
||||||
|
|
||||||
impl pallet_treasury::Config for Runtime {
|
impl pallet_treasury::Config for Runtime {
|
||||||
type PalletId = TreasuryPalletId;
|
type PalletId = TreasuryPalletId;
|
||||||
type Currency = Balances;
|
type Currency = Balances;
|
||||||
type ApproveOrigin = ApproveOrigin;
|
type ApproveOrigin = EitherOfDiverse<EnsureRoot<AccountId>, Treasurer>;
|
||||||
type RejectOrigin = MoreThanHalfCouncil;
|
type RejectOrigin = EitherOfDiverse<EnsureRoot<AccountId>, Treasurer>;
|
||||||
type RuntimeEvent = RuntimeEvent;
|
type RuntimeEvent = RuntimeEvent;
|
||||||
type OnSlash = Treasury;
|
type OnSlash = Treasury;
|
||||||
type ProposalBond = ProposalBond;
|
type ProposalBond = ProposalBond;
|
||||||
@@ -584,7 +412,7 @@ impl pallet_treasury::Config for Runtime {
|
|||||||
type MaxApprovals = MaxApprovals;
|
type MaxApprovals = MaxApprovals;
|
||||||
type WeightInfo = weights::pallet_treasury::WeightInfo<Runtime>;
|
type WeightInfo = weights::pallet_treasury::WeightInfo<Runtime>;
|
||||||
type SpendFunds = Bounties;
|
type SpendFunds = Bounties;
|
||||||
type SpendOrigin = frame_support::traits::NeverEnsureOrigin<Balance>;
|
type SpendOrigin = TreasurySpender;
|
||||||
}
|
}
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
@@ -625,17 +453,6 @@ impl pallet_child_bounties::Config for Runtime {
|
|||||||
type WeightInfo = weights::pallet_child_bounties::WeightInfo<Runtime>;
|
type WeightInfo = weights::pallet_child_bounties::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl pallet_tips::Config for Runtime {
|
|
||||||
type MaximumReasonLength = MaximumReasonLength;
|
|
||||||
type DataDepositPerByte = DataDepositPerByte;
|
|
||||||
type Tippers = PhragmenElection;
|
|
||||||
type TipCountdown = TipCountdown;
|
|
||||||
type TipFindersFee = TipFindersFee;
|
|
||||||
type TipReportDepositBase = TipReportDepositBase;
|
|
||||||
type RuntimeEvent = RuntimeEvent;
|
|
||||||
type WeightInfo = weights::pallet_tips::WeightInfo<Runtime>;
|
|
||||||
}
|
|
||||||
|
|
||||||
impl pallet_offences::Config for Runtime {
|
impl pallet_offences::Config for Runtime {
|
||||||
type RuntimeEvent = RuntimeEvent;
|
type RuntimeEvent = RuntimeEvent;
|
||||||
type IdentificationTuple = pallet_session::historical::IdentificationTuple<Self>;
|
type IdentificationTuple = pallet_session::historical::IdentificationTuple<Self>;
|
||||||
@@ -746,8 +563,7 @@ impl claims::Config for Runtime {
|
|||||||
type RuntimeEvent = RuntimeEvent;
|
type RuntimeEvent = RuntimeEvent;
|
||||||
type VestingSchedule = Vesting;
|
type VestingSchedule = Vesting;
|
||||||
type Prefix = Prefix;
|
type Prefix = Prefix;
|
||||||
type MoveClaimOrigin =
|
type MoveClaimOrigin = EnsureRoot<AccountId>;
|
||||||
pallet_collective::EnsureProportionMoreThan<AccountId, CouncilCollective, 1, 2>;
|
|
||||||
type WeightInfo = weights::runtime_common_claims::WeightInfo<Runtime>;
|
type WeightInfo = weights::runtime_common_claims::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -771,8 +587,8 @@ impl pallet_identity::Config for Runtime {
|
|||||||
type MaxAdditionalFields = MaxAdditionalFields;
|
type MaxAdditionalFields = MaxAdditionalFields;
|
||||||
type MaxRegistrars = MaxRegistrars;
|
type MaxRegistrars = MaxRegistrars;
|
||||||
type Slashed = Treasury;
|
type Slashed = Treasury;
|
||||||
type ForceOrigin = MoreThanHalfCouncil;
|
type ForceOrigin = EitherOf<EnsureRoot<Self::AccountId>, GeneralAdmin>;
|
||||||
type RegistrarOrigin = MoreThanHalfCouncil;
|
type RegistrarOrigin = EitherOf<EnsureRoot<Self::AccountId>, GeneralAdmin>;
|
||||||
type WeightInfo = weights::pallet_identity::WeightInfo<Runtime>;
|
type WeightInfo = weights::pallet_identity::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -913,15 +729,14 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
|
|||||||
RuntimeCall::Session(..) |
|
RuntimeCall::Session(..) |
|
||||||
RuntimeCall::Grandpa(..) |
|
RuntimeCall::Grandpa(..) |
|
||||||
RuntimeCall::ImOnline(..) |
|
RuntimeCall::ImOnline(..) |
|
||||||
RuntimeCall::Democracy(..) |
|
|
||||||
RuntimeCall::Council(..) |
|
|
||||||
RuntimeCall::TechnicalCommittee(..) |
|
|
||||||
RuntimeCall::PhragmenElection(..) |
|
|
||||||
RuntimeCall::TechnicalMembership(..) |
|
|
||||||
RuntimeCall::Treasury(..) |
|
RuntimeCall::Treasury(..) |
|
||||||
RuntimeCall::Bounties(..) |
|
RuntimeCall::Bounties(..) |
|
||||||
RuntimeCall::ChildBounties(..) |
|
RuntimeCall::ChildBounties(..) |
|
||||||
RuntimeCall::Tips(..) |
|
RuntimeCall::ConvictionVoting(..) |
|
||||||
|
RuntimeCall::Referenda(..) |
|
||||||
|
RuntimeCall::FellowshipCollective(..) |
|
||||||
|
RuntimeCall::FellowshipReferenda(..) |
|
||||||
|
RuntimeCall::Whitelist(..) |
|
||||||
RuntimeCall::Claims(..) |
|
RuntimeCall::Claims(..) |
|
||||||
RuntimeCall::Utility(..) |
|
RuntimeCall::Utility(..) |
|
||||||
RuntimeCall::Identity(..) |
|
RuntimeCall::Identity(..) |
|
||||||
@@ -948,17 +763,18 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
|
|||||||
RuntimeCall::Slots(..) |
|
RuntimeCall::Slots(..) |
|
||||||
RuntimeCall::Auctions(..) // Specifically omitting the entire XCM Pallet
|
RuntimeCall::Auctions(..) // Specifically omitting the entire XCM Pallet
|
||||||
),
|
),
|
||||||
ProxyType::Governance =>
|
ProxyType::Governance => matches!(
|
||||||
matches!(
|
c,
|
||||||
c,
|
RuntimeCall::Bounties(..) |
|
||||||
RuntimeCall::Democracy(..) |
|
RuntimeCall::Utility(..) |
|
||||||
RuntimeCall::Council(..) | RuntimeCall::TechnicalCommittee(..) |
|
RuntimeCall::ChildBounties(..) |
|
||||||
RuntimeCall::PhragmenElection(..) |
|
// OpenGov calls
|
||||||
RuntimeCall::Treasury(..) |
|
RuntimeCall::ConvictionVoting(..) |
|
||||||
RuntimeCall::Bounties(..) |
|
RuntimeCall::Referenda(..) |
|
||||||
RuntimeCall::Tips(..) | RuntimeCall::Utility(..) |
|
RuntimeCall::FellowshipCollective(..) |
|
||||||
RuntimeCall::ChildBounties(..)
|
RuntimeCall::FellowshipReferenda(..) |
|
||||||
),
|
RuntimeCall::Whitelist(..)
|
||||||
|
),
|
||||||
ProxyType::IdentityJudgement => matches!(
|
ProxyType::IdentityJudgement => matches!(
|
||||||
c,
|
c,
|
||||||
RuntimeCall::Identity(pallet_identity::Call::provide_judgement { .. }) |
|
RuntimeCall::Identity(pallet_identity::Call::provide_judgement { .. }) |
|
||||||
@@ -1184,7 +1000,7 @@ impl slots::Config for Runtime {
|
|||||||
type Registrar = Registrar;
|
type Registrar = Registrar;
|
||||||
type LeasePeriod = LeasePeriod;
|
type LeasePeriod = LeasePeriod;
|
||||||
type LeaseOffset = ();
|
type LeaseOffset = ();
|
||||||
type ForceOrigin = MoreThanHalfCouncil;
|
type ForceOrigin = EitherOf<EnsureRoot<Self::AccountId>, LeaseAdmin>;
|
||||||
type WeightInfo = weights::runtime_common_slots::WeightInfo<Runtime>;
|
type WeightInfo = weights::runtime_common_slots::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1217,11 +1033,6 @@ parameter_types! {
|
|||||||
pub const SampleLength: BlockNumber = 2 * MINUTES;
|
pub const SampleLength: BlockNumber = 2 * MINUTES;
|
||||||
}
|
}
|
||||||
|
|
||||||
type AuctionInitiate = EitherOfDiverse<
|
|
||||||
EnsureRoot<AccountId>,
|
|
||||||
pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 2, 3>,
|
|
||||||
>;
|
|
||||||
|
|
||||||
impl auctions::Config for Runtime {
|
impl auctions::Config for Runtime {
|
||||||
type RuntimeEvent = RuntimeEvent;
|
type RuntimeEvent = RuntimeEvent;
|
||||||
type Leaser = Slots;
|
type Leaser = Slots;
|
||||||
@@ -1229,7 +1040,7 @@ impl auctions::Config for Runtime {
|
|||||||
type EndingPeriod = EndingPeriod;
|
type EndingPeriod = EndingPeriod;
|
||||||
type SampleLength = SampleLength;
|
type SampleLength = SampleLength;
|
||||||
type Randomness = pallet_babe::RandomnessFromOneEpochAgo<Runtime>;
|
type Randomness = pallet_babe::RandomnessFromOneEpochAgo<Runtime>;
|
||||||
type InitiateOrigin = AuctionInitiate;
|
type InitiateOrigin = EitherOf<EnsureRoot<Self::AccountId>, AuctionAdmin>;
|
||||||
type WeightInfo = weights::runtime_common_auctions::WeightInfo<Runtime>;
|
type WeightInfo = weights::runtime_common_auctions::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1425,13 +1236,19 @@ construct_runtime! {
|
|||||||
AuthorityDiscovery: pallet_authority_discovery::{Pallet, Config<T>} = 12,
|
AuthorityDiscovery: pallet_authority_discovery::{Pallet, Config<T>} = 12,
|
||||||
|
|
||||||
// Governance stuff; uncallable initially.
|
// Governance stuff; uncallable initially.
|
||||||
Democracy: pallet_democracy::{Pallet, Call, Storage, Config<T>, Event<T>} = 13,
|
|
||||||
Council: pallet_collective::<Instance1>::{Pallet, Call, Storage, Origin<T>, Event<T>, Config<T>} = 14,
|
|
||||||
TechnicalCommittee: pallet_collective::<Instance2>::{Pallet, Call, Storage, Origin<T>, Event<T>, Config<T>} = 15,
|
|
||||||
PhragmenElection: pallet_elections_phragmen::{Pallet, Call, Storage, Event<T>, Config<T>} = 16,
|
|
||||||
TechnicalMembership: pallet_membership::<Instance1>::{Pallet, Call, Storage, Event<T>, Config<T>} = 17,
|
|
||||||
Treasury: pallet_treasury::{Pallet, Call, Storage, Config<T>, Event<T>} = 18,
|
Treasury: pallet_treasury::{Pallet, Call, Storage, Config<T>, Event<T>} = 18,
|
||||||
|
ConvictionVoting: pallet_conviction_voting::{Pallet, Call, Storage, Event<T>} = 20,
|
||||||
|
Referenda: pallet_referenda::{Pallet, Call, Storage, Event<T>} = 21,
|
||||||
|
// pub type FellowshipCollectiveInstance = pallet_ranked_collective::Instance1;
|
||||||
|
FellowshipCollective: pallet_ranked_collective::<Instance1>::{
|
||||||
|
Pallet, Call, Storage, Event<T>
|
||||||
|
} = 22,
|
||||||
|
// pub type FellowshipReferendaInstance = pallet_referenda::Instance2;
|
||||||
|
FellowshipReferenda: pallet_referenda::<Instance2>::{
|
||||||
|
Pallet, Call, Storage, Event<T>
|
||||||
|
} = 23,
|
||||||
|
Origins: pallet_custom_origins::{Origin} = 43,
|
||||||
|
Whitelist: pallet_whitelist::{Pallet, Call, Storage, Event<T>} = 44,
|
||||||
// Claims. Usable initially.
|
// Claims. Usable initially.
|
||||||
Claims: claims::{Pallet, Call, Storage, Event<T>, Config<T>, ValidateUnsigned} = 19,
|
Claims: claims::{Pallet, Call, Storage, Event<T>, Config<T>, ValidateUnsigned} = 19,
|
||||||
|
|
||||||
@@ -1466,9 +1283,6 @@ construct_runtime! {
|
|||||||
Bounties: pallet_bounties::{Pallet, Call, Storage, Event<T>} = 35,
|
Bounties: pallet_bounties::{Pallet, Call, Storage, Event<T>} = 35,
|
||||||
ChildBounties: pallet_child_bounties = 40,
|
ChildBounties: pallet_child_bounties = 40,
|
||||||
|
|
||||||
// Tips module.
|
|
||||||
Tips: pallet_tips::{Pallet, Call, Storage, Event<T>} = 36,
|
|
||||||
|
|
||||||
// NIS pallet.
|
// NIS pallet.
|
||||||
Nis: pallet_nis::{Pallet, Call, Storage, Event<T>, HoldReason} = 38,
|
Nis: pallet_nis::{Pallet, Call, Storage, Event<T>, HoldReason} = 38,
|
||||||
// pub type NisCounterpartInstance = pallet_balances::Instance2;
|
// pub type NisCounterpartInstance = pallet_balances::Instance2;
|
||||||
@@ -1563,6 +1377,8 @@ pub mod migrations {
|
|||||||
parachains_configuration::migration::v8::MigrateToV8<Runtime>,
|
parachains_configuration::migration::v8::MigrateToV8<Runtime>,
|
||||||
parachains_configuration::migration::v9::MigrateToV9<Runtime>,
|
parachains_configuration::migration::v9::MigrateToV9<Runtime>,
|
||||||
paras_registrar::migration::VersionCheckedMigrateToV1<Runtime, ()>,
|
paras_registrar::migration::VersionCheckedMigrateToV1<Runtime, ()>,
|
||||||
|
pallet_referenda::migration::v1::MigrateV0ToV1<Runtime, ()>,
|
||||||
|
pallet_referenda::migration::v1::MigrateV0ToV1<Runtime, pallet_referenda::Instance2>,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1629,28 +1445,27 @@ mod benches {
|
|||||||
[frame_benchmarking::baseline, Baseline::<Runtime>]
|
[frame_benchmarking::baseline, Baseline::<Runtime>]
|
||||||
[pallet_bounties, Bounties]
|
[pallet_bounties, Bounties]
|
||||||
[pallet_child_bounties, ChildBounties]
|
[pallet_child_bounties, ChildBounties]
|
||||||
[pallet_collective, Council]
|
[pallet_conviction_voting, ConvictionVoting]
|
||||||
[pallet_collective, TechnicalCommittee]
|
|
||||||
[pallet_democracy, Democracy]
|
|
||||||
[pallet_elections_phragmen, PhragmenElection]
|
|
||||||
[pallet_nis, Nis]
|
[pallet_nis, Nis]
|
||||||
[pallet_identity, Identity]
|
[pallet_identity, Identity]
|
||||||
[pallet_im_online, ImOnline]
|
[pallet_im_online, ImOnline]
|
||||||
[pallet_indices, Indices]
|
[pallet_indices, Indices]
|
||||||
[pallet_membership, TechnicalMembership]
|
|
||||||
[pallet_message_queue, MessageQueue]
|
[pallet_message_queue, MessageQueue]
|
||||||
[pallet_multisig, Multisig]
|
[pallet_multisig, Multisig]
|
||||||
[pallet_preimage, Preimage]
|
[pallet_preimage, Preimage]
|
||||||
[pallet_proxy, Proxy]
|
[pallet_proxy, Proxy]
|
||||||
|
[pallet_ranked_collective, FellowshipCollective]
|
||||||
[pallet_recovery, Recovery]
|
[pallet_recovery, Recovery]
|
||||||
|
[pallet_referenda, Referenda]
|
||||||
|
[pallet_referenda, FellowshipReferenda]
|
||||||
[pallet_scheduler, Scheduler]
|
[pallet_scheduler, Scheduler]
|
||||||
[pallet_sudo, Sudo]
|
[pallet_sudo, Sudo]
|
||||||
[frame_system, SystemBench::<Runtime>]
|
[frame_system, SystemBench::<Runtime>]
|
||||||
[pallet_timestamp, Timestamp]
|
[pallet_timestamp, Timestamp]
|
||||||
[pallet_tips, Tips]
|
|
||||||
[pallet_treasury, Treasury]
|
[pallet_treasury, Treasury]
|
||||||
[pallet_utility, Utility]
|
[pallet_utility, Utility]
|
||||||
[pallet_vesting, Vesting]
|
[pallet_vesting, Vesting]
|
||||||
|
[pallet_whitelist, Whitelist]
|
||||||
// XCM
|
// XCM
|
||||||
[pallet_xcm, XcmPallet]
|
[pallet_xcm, XcmPallet]
|
||||||
[pallet_xcm_benchmarks::fungible, pallet_xcm_benchmarks::fungible::Pallet::<Runtime>]
|
[pallet_xcm_benchmarks::fungible, pallet_xcm_benchmarks::fungible::Pallet::<Runtime>]
|
||||||
@@ -2143,7 +1958,7 @@ sp_api::impl_runtime_apis! {
|
|||||||
use sp_storage::TrackedStorageKey;
|
use sp_storage::TrackedStorageKey;
|
||||||
use xcm::latest::prelude::*;
|
use xcm::latest::prelude::*;
|
||||||
use xcm_config::{
|
use xcm_config::{
|
||||||
LocalCheckAccount, LocationConverter, Rockmine, TokenLocation, XcmConfig,
|
LocalCheckAccount, LocationConverter, AssetHub, TokenLocation, XcmConfig,
|
||||||
};
|
};
|
||||||
|
|
||||||
impl frame_system_benchmarking::Config for Runtime {}
|
impl frame_system_benchmarking::Config for Runtime {}
|
||||||
@@ -2152,7 +1967,7 @@ sp_api::impl_runtime_apis! {
|
|||||||
type XcmConfig = XcmConfig;
|
type XcmConfig = XcmConfig;
|
||||||
type AccountIdConverter = LocationConverter;
|
type AccountIdConverter = LocationConverter;
|
||||||
fn valid_destination() -> Result<MultiLocation, BenchmarkError> {
|
fn valid_destination() -> Result<MultiLocation, BenchmarkError> {
|
||||||
Ok(Rockmine::get())
|
Ok(AssetHub::get())
|
||||||
}
|
}
|
||||||
fn worst_case_holding(_depositable_count: u32) -> MultiAssets {
|
fn worst_case_holding(_depositable_count: u32) -> MultiAssets {
|
||||||
// Rococo only knows about ROC
|
// Rococo only knows about ROC
|
||||||
@@ -2165,7 +1980,7 @@ sp_api::impl_runtime_apis! {
|
|||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const TrustedTeleporter: Option<(MultiLocation, MultiAsset)> = Some((
|
pub const TrustedTeleporter: Option<(MultiLocation, MultiAsset)> = Some((
|
||||||
Rockmine::get(),
|
AssetHub::get(),
|
||||||
MultiAsset { fun: Fungible(1 * UNITS), id: Concrete(TokenLocation::get()) },
|
MultiAsset { fun: Fungible(1 * UNITS), id: Concrete(TokenLocation::get()) },
|
||||||
));
|
));
|
||||||
pub const TrustedReserve: Option<(MultiLocation, MultiAsset)> = None;
|
pub const TrustedReserve: Option<(MultiLocation, MultiAsset)> = None;
|
||||||
@@ -2204,15 +2019,15 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn transact_origin_and_runtime_call() -> Result<(MultiLocation, RuntimeCall), BenchmarkError> {
|
fn transact_origin_and_runtime_call() -> Result<(MultiLocation, RuntimeCall), BenchmarkError> {
|
||||||
Ok((Rockmine::get(), frame_system::Call::remark_with_event { remark: vec![] }.into()))
|
Ok((AssetHub::get(), frame_system::Call::remark_with_event { remark: vec![] }.into()))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn subscribe_origin() -> Result<MultiLocation, BenchmarkError> {
|
fn subscribe_origin() -> Result<MultiLocation, BenchmarkError> {
|
||||||
Ok(Rockmine::get())
|
Ok(AssetHub::get())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn claimable_asset() -> Result<(MultiLocation, MultiLocation, MultiAssets), BenchmarkError> {
|
fn claimable_asset() -> Result<(MultiLocation, MultiLocation, MultiAssets), BenchmarkError> {
|
||||||
let origin = Rockmine::get();
|
let origin = AssetHub::get();
|
||||||
let assets: MultiAssets = (Concrete(TokenLocation::get()), 1_000 * UNITS).into();
|
let assets: MultiAssets = (Concrete(TokenLocation::get()), 1_000 * UNITS).into();
|
||||||
let ticket = MultiLocation { parents: 0, interior: Here };
|
let ticket = MultiLocation { parents: 0, interior: Here };
|
||||||
Ok((origin, ticket, assets))
|
Ok((origin, ticket, assets))
|
||||||
|
|||||||
@@ -20,27 +20,26 @@ pub mod pallet_balances;
|
|||||||
pub mod pallet_balances_nis_counterpart_balances;
|
pub mod pallet_balances_nis_counterpart_balances;
|
||||||
pub mod pallet_bounties;
|
pub mod pallet_bounties;
|
||||||
pub mod pallet_child_bounties;
|
pub mod pallet_child_bounties;
|
||||||
pub mod pallet_collective_council;
|
pub mod pallet_conviction_voting;
|
||||||
pub mod pallet_collective_technical_committee;
|
|
||||||
pub mod pallet_democracy;
|
|
||||||
pub mod pallet_elections_phragmen;
|
|
||||||
pub mod pallet_identity;
|
pub mod pallet_identity;
|
||||||
pub mod pallet_im_online;
|
pub mod pallet_im_online;
|
||||||
pub mod pallet_indices;
|
pub mod pallet_indices;
|
||||||
pub mod pallet_membership;
|
|
||||||
pub mod pallet_message_queue;
|
pub mod pallet_message_queue;
|
||||||
pub mod pallet_multisig;
|
pub mod pallet_multisig;
|
||||||
pub mod pallet_nis;
|
pub mod pallet_nis;
|
||||||
pub mod pallet_preimage;
|
pub mod pallet_preimage;
|
||||||
pub mod pallet_proxy;
|
pub mod pallet_proxy;
|
||||||
|
pub mod pallet_ranked_collective;
|
||||||
|
pub mod pallet_referenda_fellowship_referenda;
|
||||||
|
pub mod pallet_referenda_referenda;
|
||||||
pub mod pallet_scheduler;
|
pub mod pallet_scheduler;
|
||||||
pub mod pallet_session;
|
pub mod pallet_session;
|
||||||
pub mod pallet_sudo;
|
pub mod pallet_sudo;
|
||||||
pub mod pallet_timestamp;
|
pub mod pallet_timestamp;
|
||||||
pub mod pallet_tips;
|
|
||||||
pub mod pallet_treasury;
|
pub mod pallet_treasury;
|
||||||
pub mod pallet_utility;
|
pub mod pallet_utility;
|
||||||
pub mod pallet_vesting;
|
pub mod pallet_vesting;
|
||||||
|
pub mod pallet_whitelist;
|
||||||
pub mod pallet_xcm;
|
pub mod pallet_xcm;
|
||||||
pub mod runtime_common_assigned_slots;
|
pub mod runtime_common_assigned_slots;
|
||||||
pub mod runtime_common_auctions;
|
pub mod runtime_common_auctions;
|
||||||
|
|||||||
@@ -1,196 +0,0 @@
|
|||||||
// Copyright (C) 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: 2022-09-08, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
|
||||||
//! HOSTNAME: `bm5`, 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_collective
|
|
||||||
// --extrinsic=*
|
|
||||||
// --execution=wasm
|
|
||||||
// --wasm-execution=compiled
|
|
||||||
// --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: Collective Members (r:1 w:1)
|
|
||||||
// Storage: Collective Proposals (r:1 w:0)
|
|
||||||
// Storage: Collective Voting (r:100 w:100)
|
|
||||||
// Storage: Collective Prime (r:0 w:1)
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
/// The range of component `n` is `[1, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn set_members(m: u32, _n: u32, p: u32, ) -> Weight {
|
|
||||||
Weight::from_parts(0 as u64, 0)
|
|
||||||
// Standard Error: 15_000
|
|
||||||
.saturating_add(Weight::from_parts(10_832_000 as u64, 0).saturating_mul(m as u64))
|
|
||||||
// Standard Error: 15_000
|
|
||||||
.saturating_add(Weight::from_parts(12_894_000 as u64, 0).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: Collective Members (r:1 w:0)
|
|
||||||
/// The range of component `b` is `[1, 1024]`.
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
fn execute(b: u32, m: u32, ) -> Weight {
|
|
||||||
Weight::from_parts(19_069_000 as u64, 0)
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(2_000 as u64, 0).saturating_mul(b as u64))
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(13_000 as u64, 0).saturating_mul(m as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1 as u64))
|
|
||||||
}
|
|
||||||
// Storage: Collective Members (r:1 w:0)
|
|
||||||
// Storage: Collective ProposalOf (r:1 w:0)
|
|
||||||
/// The range of component `b` is `[1, 1024]`.
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
fn propose_execute(b: u32, m: u32, ) -> Weight {
|
|
||||||
Weight::from_parts(20_794_000 as u64, 0)
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(2_000 as u64, 0).saturating_mul(b as u64))
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(22_000 as u64, 0).saturating_mul(m as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2 as u64))
|
|
||||||
}
|
|
||||||
// Storage: Collective Members (r:1 w:0)
|
|
||||||
// Storage: Collective ProposalOf (r:1 w:1)
|
|
||||||
// Storage: Collective Proposals (r:1 w:1)
|
|
||||||
// Storage: Collective ProposalCount (r:1 w:1)
|
|
||||||
// Storage: Collective Voting (r:0 w:1)
|
|
||||||
/// The range of component `b` is `[1, 1024]`.
|
|
||||||
/// The range of component `m` is `[2, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight {
|
|
||||||
Weight::from_parts(27_870_000 as u64, 0)
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(3_000 as u64, 0).saturating_mul(b as u64))
|
|
||||||
// Standard Error: 1_000
|
|
||||||
.saturating_add(Weight::from_parts(22_000 as u64, 0).saturating_mul(m as u64))
|
|
||||||
// Standard Error: 1_000
|
|
||||||
.saturating_add(Weight::from_parts(94_000 as u64, 0).saturating_mul(p as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4 as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(4 as u64))
|
|
||||||
}
|
|
||||||
// Storage: Collective Members (r:1 w:0)
|
|
||||||
// Storage: Collective Voting (r:1 w:1)
|
|
||||||
/// The range of component `m` is `[5, 100]`.
|
|
||||||
fn vote(m: u32, ) -> Weight {
|
|
||||||
Weight::from_parts(27_249_000 as u64, 0)
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(35_000 as u64, 0).saturating_mul(m as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2 as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1 as u64))
|
|
||||||
}
|
|
||||||
// Storage: Collective Voting (r:1 w:1)
|
|
||||||
// Storage: Collective Members (r:1 w:0)
|
|
||||||
// Storage: Collective Proposals (r:1 w:1)
|
|
||||||
// Storage: Collective ProposalOf (r:0 w:1)
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_early_disapproved(m: u32, p: u32, ) -> Weight {
|
|
||||||
Weight::from_parts(30_754_000 as u64, 0)
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(28_000 as u64, 0).saturating_mul(m as u64))
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(81_000 as u64, 0).saturating_mul(p as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3 as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3 as u64))
|
|
||||||
}
|
|
||||||
// Storage: Collective Voting (r:1 w:1)
|
|
||||||
// Storage: Collective Members (r:1 w:0)
|
|
||||||
// Storage: Collective ProposalOf (r:1 w:1)
|
|
||||||
// Storage: Collective Proposals (r:1 w:1)
|
|
||||||
/// The range of component `b` is `[1, 1024]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight {
|
|
||||||
Weight::from_parts(39_508_000 as u64, 0)
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(1_000 as u64, 0).saturating_mul(b as u64))
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(29_000 as u64, 0).saturating_mul(m as u64))
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(90_000 as u64, 0).saturating_mul(p as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4 as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3 as u64))
|
|
||||||
}
|
|
||||||
// Storage: Collective Voting (r:1 w:1)
|
|
||||||
// Storage: Collective Members (r:1 w:0)
|
|
||||||
// Storage: Collective Prime (r:1 w:0)
|
|
||||||
// Storage: Collective Proposals (r:1 w:1)
|
|
||||||
// Storage: Collective ProposalOf (r:0 w:1)
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_disapproved(m: u32, p: u32, ) -> Weight {
|
|
||||||
Weight::from_parts(32_769_000 as u64, 0)
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(31_000 as u64, 0).saturating_mul(m as u64))
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(83_000 as u64, 0).saturating_mul(p as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4 as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3 as u64))
|
|
||||||
}
|
|
||||||
// Storage: Collective Voting (r:1 w:1)
|
|
||||||
// Storage: Collective Members (r:1 w:0)
|
|
||||||
// Storage: Collective Prime (r:1 w:0)
|
|
||||||
// Storage: Collective ProposalOf (r:1 w:1)
|
|
||||||
// Storage: Collective Proposals (r:1 w:1)
|
|
||||||
/// The range of component `b` is `[1, 1024]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_approved(b: u32, m: u32, p: u32, ) -> Weight {
|
|
||||||
Weight::from_parts(41_704_000 as u64, 0)
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(1_000 as u64, 0).saturating_mul(b as u64))
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(28_000 as u64, 0).saturating_mul(m as u64))
|
|
||||||
// Standard Error: 0
|
|
||||||
.saturating_add(Weight::from_parts(92_000 as u64, 0).saturating_mul(p as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(5 as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3 as u64))
|
|
||||||
}
|
|
||||||
// Storage: Collective Proposals (r:1 w:1)
|
|
||||||
// Storage: Collective Voting (r:0 w:1)
|
|
||||||
// Storage: Collective ProposalOf (r:0 w:1)
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn disapprove_proposal(p: u32, ) -> Weight {
|
|
||||||
Weight::from_parts(22_720_000 as u64, 0)
|
|
||||||
// Standard Error: 2_000
|
|
||||||
.saturating_add(Weight::from_parts(74_000 as u64, 0).saturating_mul(p as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1 as u64))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3 as u64))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,322 +0,0 @@
|
|||||||
// Copyright (C) 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: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
|
||||||
//! WORST CASE MAP SIZE: `1000000`
|
|
||||||
//! HOSTNAME: `bm5`, 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_collective
|
|
||||||
// --extrinsic=*
|
|
||||||
// --execution=wasm
|
|
||||||
// --wasm-execution=compiled
|
|
||||||
// --header=./file_header.txt
|
|
||||||
// --output=./runtime/rococo/src/weights/
|
|
||||||
|
|
||||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
|
||||||
#![allow(unused_parens)]
|
|
||||||
#![allow(unused_imports)]
|
|
||||||
#![allow(missing_docs)]
|
|
||||||
|
|
||||||
use frame_support::{traits::Get, weights::Weight};
|
|
||||||
use core::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: Council Members (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Proposals (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Voting (r:100 w:100)
|
|
||||||
/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Prime (r:0 w:1)
|
|
||||||
/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[0, 100]`.
|
|
||||||
/// The range of component `n` is `[0, 100]`.
|
|
||||||
/// The range of component `p` is `[0, 100]`.
|
|
||||||
/// The range of component `m` is `[0, 100]`.
|
|
||||||
/// The range of component `n` is `[0, 100]`.
|
|
||||||
/// The range of component `p` is `[0, 100]`.
|
|
||||||
fn set_members(m: u32, _n: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `0 + m * (3232 ±0) + p * (3190 ±0)`
|
|
||||||
// Estimated: `15795 + m * (1967 ±16) + p * (4332 ±16)`
|
|
||||||
// Minimum execution time: 17_182_000 picoseconds.
|
|
||||||
Weight::from_parts(17_462_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 15795))
|
|
||||||
// Standard Error: 42_032
|
|
||||||
.saturating_add(Weight::from_parts(4_868_618, 0).saturating_mul(m.into()))
|
|
||||||
// Standard Error: 42_032
|
|
||||||
.saturating_add(Weight::from_parts(7_289_594, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
|
|
||||||
.saturating_add(Weight::from_parts(0, 1967).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 4332).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Council Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
fn execute(b: u32, m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `136 + m * (32 ±0)`
|
|
||||||
// Estimated: `1622 + m * (32 ±0)`
|
|
||||||
// Minimum execution time: 16_507_000 picoseconds.
|
|
||||||
Weight::from_parts(16_066_632, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 1622))
|
|
||||||
// Standard Error: 21
|
|
||||||
.saturating_add(Weight::from_parts(982, 0).saturating_mul(b.into()))
|
|
||||||
// Standard Error: 220
|
|
||||||
.saturating_add(Weight::from_parts(14_026, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Council Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council ProposalOf (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
fn propose_execute(b: u32, m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `136 + m * (32 ±0)`
|
|
||||||
// Estimated: `3602 + m * (32 ±0)`
|
|
||||||
// Minimum execution time: 18_990_000 picoseconds.
|
|
||||||
Weight::from_parts(18_411_713, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3602))
|
|
||||||
// Standard Error: 15
|
|
||||||
.saturating_add(Weight::from_parts(1_166, 0).saturating_mul(b.into()))
|
|
||||||
// Standard Error: 164
|
|
||||||
.saturating_add(Weight::from_parts(23_067, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Council Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council ProposalOf (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council ProposalCount (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council ProposalCount (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Voting (r:0 w:1)
|
|
||||||
/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[2, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[2, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `426 + m * (32 ±0) + p * (36 ±0)`
|
|
||||||
// Estimated: `3818 + m * (33 ±0) + p * (36 ±0)`
|
|
||||||
// Minimum execution time: 25_500_000 picoseconds.
|
|
||||||
Weight::from_parts(26_304_307, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3818))
|
|
||||||
// Standard Error: 49
|
|
||||||
.saturating_add(Weight::from_parts(2_243, 0).saturating_mul(b.into()))
|
|
||||||
// Standard Error: 515
|
|
||||||
.saturating_add(Weight::from_parts(18_905, 0).saturating_mul(m.into()))
|
|
||||||
// Standard Error: 508
|
|
||||||
.saturating_add(Weight::from_parts(120_761, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(4))
|
|
||||||
.saturating_add(Weight::from_parts(0, 33).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Council Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[5, 100]`.
|
|
||||||
/// The range of component `m` is `[5, 100]`.
|
|
||||||
fn vote(m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `875 + m * (64 ±0)`
|
|
||||||
// Estimated: `4339 + m * (64 ±0)`
|
|
||||||
// Minimum execution time: 22_166_000 picoseconds.
|
|
||||||
Weight::from_parts(22_901_859, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4339))
|
|
||||||
// Standard Error: 238
|
|
||||||
.saturating_add(Weight::from_parts(40_475, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Council Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council ProposalOf (r:0 w:1)
|
|
||||||
/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_early_disapproved(m: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `464 + m * (64 ±0) + p * (36 ±0)`
|
|
||||||
// Estimated: `3909 + m * (65 ±0) + p * (36 ±0)`
|
|
||||||
// Minimum execution time: 27_064_000 picoseconds.
|
|
||||||
Weight::from_parts(27_961_599, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3909))
|
|
||||||
// Standard Error: 401
|
|
||||||
.saturating_add(Weight::from_parts(22_196, 0).saturating_mul(m.into()))
|
|
||||||
// Standard Error: 391
|
|
||||||
.saturating_add(Weight::from_parts(115_698, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Council Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council ProposalOf (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `766 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
|
|
||||||
// Estimated: `4083 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
|
|
||||||
// Minimum execution time: 38_302_000 picoseconds.
|
|
||||||
Weight::from_parts(40_639_640, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4083))
|
|
||||||
// Standard Error: 123
|
|
||||||
.saturating_add(Weight::from_parts(1_914, 0).saturating_mul(b.into()))
|
|
||||||
// Standard Error: 1_272
|
|
||||||
.saturating_add(Weight::from_parts(150_067, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 66).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 40).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Council Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Prime (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council ProposalOf (r:0 w:1)
|
|
||||||
/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_disapproved(m: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `484 + m * (64 ±0) + p * (36 ±0)`
|
|
||||||
// Estimated: `3929 + m * (65 ±0) + p * (36 ±0)`
|
|
||||||
// Minimum execution time: 30_017_000 picoseconds.
|
|
||||||
Weight::from_parts(30_565_580, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3929))
|
|
||||||
// Standard Error: 378
|
|
||||||
.saturating_add(Weight::from_parts(24_396, 0).saturating_mul(m.into()))
|
|
||||||
// Standard Error: 369
|
|
||||||
.saturating_add(Weight::from_parts(114_807, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Council Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Prime (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council ProposalOf (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_approved(b: u32, m: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `786 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
|
|
||||||
// Estimated: `4103 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
|
|
||||||
// Minimum execution time: 40_911_000 picoseconds.
|
|
||||||
Weight::from_parts(42_312_485, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4103))
|
|
||||||
// Standard Error: 83
|
|
||||||
.saturating_add(Weight::from_parts(2_208, 0).saturating_mul(b.into()))
|
|
||||||
// Standard Error: 879
|
|
||||||
.saturating_add(Weight::from_parts(20_173, 0).saturating_mul(m.into()))
|
|
||||||
// Standard Error: 857
|
|
||||||
.saturating_add(Weight::from_parts(146_302, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(5))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 66).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 40).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Council Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Voting (r:0 w:1)
|
|
||||||
/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council ProposalOf (r:0 w:1)
|
|
||||||
/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn disapprove_proposal(p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `293 + p * (32 ±0)`
|
|
||||||
// Estimated: `1778 + p * (32 ±0)`
|
|
||||||
// Minimum execution time: 15_465_000 picoseconds.
|
|
||||||
Weight::from_parts(17_387_663, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 1778))
|
|
||||||
// Standard Error: 450
|
|
||||||
.saturating_add(Weight::from_parts(110_406, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,324 +0,0 @@
|
|||||||
// Copyright (C) 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: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
|
||||||
//! WORST CASE MAP SIZE: `1000000`
|
|
||||||
//! HOSTNAME: `bm5`, 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_collective
|
|
||||||
// --extrinsic=*
|
|
||||||
// --execution=wasm
|
|
||||||
// --wasm-execution=compiled
|
|
||||||
// --header=./file_header.txt
|
|
||||||
// --output=./runtime/rococo/src/weights/
|
|
||||||
|
|
||||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
|
||||||
#![allow(unused_parens)]
|
|
||||||
#![allow(unused_imports)]
|
|
||||||
#![allow(missing_docs)]
|
|
||||||
|
|
||||||
use frame_support::{traits::Get, weights::Weight};
|
|
||||||
use core::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: TechnicalCommittee Members (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Voting (r:100 w:100)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Prime (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[0, 100]`.
|
|
||||||
/// The range of component `n` is `[0, 100]`.
|
|
||||||
/// The range of component `p` is `[0, 100]`.
|
|
||||||
/// The range of component `m` is `[0, 100]`.
|
|
||||||
/// The range of component `n` is `[0, 100]`.
|
|
||||||
/// The range of component `p` is `[0, 100]`.
|
|
||||||
fn set_members(m: u32, _n: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `0 + m * (3232 ±0) + p * (3190 ±0)`
|
|
||||||
// Estimated: `15766 + m * (1967 ±16) + p * (4332 ±16)`
|
|
||||||
// Minimum execution time: 17_826_000 picoseconds.
|
|
||||||
Weight::from_parts(18_046_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 15766))
|
|
||||||
// Standard Error: 42_164
|
|
||||||
.saturating_add(Weight::from_parts(4_858_188, 0).saturating_mul(m.into()))
|
|
||||||
// Standard Error: 42_164
|
|
||||||
.saturating_add(Weight::from_parts(7_379_354, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
|
|
||||||
.saturating_add(Weight::from_parts(0, 1967).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 4332).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalCommittee Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
fn execute(b: u32, m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `107 + m * (32 ±0)`
|
|
||||||
// Estimated: `1593 + m * (32 ±0)`
|
|
||||||
// Minimum execution time: 16_992_000 picoseconds.
|
|
||||||
Weight::from_parts(16_555_669, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 1593))
|
|
||||||
// Standard Error: 18
|
|
||||||
.saturating_add(Weight::from_parts(976, 0).saturating_mul(b.into()))
|
|
||||||
// Standard Error: 189
|
|
||||||
.saturating_add(Weight::from_parts(12_101, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalCommittee Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee ProposalOf (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
fn propose_execute(b: u32, m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `107 + m * (32 ±0)`
|
|
||||||
// Estimated: `3573 + m * (32 ±0)`
|
|
||||||
// Minimum execution time: 19_900_000 picoseconds.
|
|
||||||
Weight::from_parts(19_068_072, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3573))
|
|
||||||
// Standard Error: 12
|
|
||||||
.saturating_add(Weight::from_parts(1_161, 0).saturating_mul(b.into()))
|
|
||||||
// Standard Error: 129
|
|
||||||
.saturating_add(Weight::from_parts(22_376, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalCommittee Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee ProposalOf (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee ProposalCount (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee ProposalCount (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Voting (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[2, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[2, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `397 + m * (32 ±0) + p * (36 ±0)`
|
|
||||||
// Estimated: `3789 + m * (33 ±0) + p * (36 ±0)`
|
|
||||||
// Minimum execution time: 26_264_000 picoseconds.
|
|
||||||
Weight::from_parts(27_099_606, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3789))
|
|
||||||
// Standard Error: 50
|
|
||||||
.saturating_add(Weight::from_parts(2_278, 0).saturating_mul(b.into()))
|
|
||||||
// Standard Error: 525
|
|
||||||
.saturating_add(Weight::from_parts(19_424, 0).saturating_mul(m.into()))
|
|
||||||
// Standard Error: 519
|
|
||||||
.saturating_add(Weight::from_parts(120_852, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(4))
|
|
||||||
.saturating_add(Weight::from_parts(0, 33).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalCommittee Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[5, 100]`.
|
|
||||||
/// The range of component `m` is `[5, 100]`.
|
|
||||||
fn vote(m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `846 + m * (64 ±0)`
|
|
||||||
// Estimated: `4310 + m * (64 ±0)`
|
|
||||||
// Minimum execution time: 22_954_000 picoseconds.
|
|
||||||
Weight::from_parts(23_675_214, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4310))
|
|
||||||
// Standard Error: 256
|
|
||||||
.saturating_add(Weight::from_parts(40_562, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalCommittee Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee ProposalOf (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_early_disapproved(m: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `435 + m * (64 ±0) + p * (36 ±0)`
|
|
||||||
// Estimated: `3880 + m * (65 ±0) + p * (36 ±0)`
|
|
||||||
// Minimum execution time: 27_797_000 picoseconds.
|
|
||||||
Weight::from_parts(28_934_600, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3880))
|
|
||||||
// Standard Error: 374
|
|
||||||
.saturating_add(Weight::from_parts(20_716, 0).saturating_mul(m.into()))
|
|
||||||
// Standard Error: 364
|
|
||||||
.saturating_add(Weight::from_parts(115_491, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalCommittee Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee ProposalOf (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `737 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
|
|
||||||
// Estimated: `4054 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
|
|
||||||
// Minimum execution time: 39_160_000 picoseconds.
|
|
||||||
Weight::from_parts(40_470_419, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4054))
|
|
||||||
// Standard Error: 82
|
|
||||||
.saturating_add(Weight::from_parts(2_146, 0).saturating_mul(b.into()))
|
|
||||||
// Standard Error: 869
|
|
||||||
.saturating_add(Weight::from_parts(21_442, 0).saturating_mul(m.into()))
|
|
||||||
// Standard Error: 847
|
|
||||||
.saturating_add(Weight::from_parts(144_479, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 66).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 40).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalCommittee Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Prime (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee ProposalOf (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_disapproved(m: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `455 + m * (64 ±0) + p * (36 ±0)`
|
|
||||||
// Estimated: `3900 + m * (65 ±0) + p * (36 ±0)`
|
|
||||||
// Minimum execution time: 30_953_000 picoseconds.
|
|
||||||
Weight::from_parts(31_427_489, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3900))
|
|
||||||
// Standard Error: 397
|
|
||||||
.saturating_add(Weight::from_parts(24_280, 0).saturating_mul(m.into()))
|
|
||||||
// Standard Error: 387
|
|
||||||
.saturating_add(Weight::from_parts(116_864, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalCommittee Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Prime (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee ProposalOf (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `b` is `[2, 1024]`.
|
|
||||||
/// The range of component `m` is `[4, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn close_approved(b: u32, m: u32, p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `757 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
|
|
||||||
// Estimated: `4074 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
|
|
||||||
// Minimum execution time: 41_468_000 picoseconds.
|
|
||||||
Weight::from_parts(43_538_242, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4074))
|
|
||||||
// Standard Error: 80
|
|
||||||
.saturating_add(Weight::from_parts(1_994, 0).saturating_mul(b.into()))
|
|
||||||
// Standard Error: 853
|
|
||||||
.saturating_add(Weight::from_parts(19_637, 0).saturating_mul(m.into()))
|
|
||||||
// Standard Error: 831
|
|
||||||
.saturating_add(Weight::from_parts(144_674, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(5))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 66).saturating_mul(m.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 40).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Voting (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee ProposalOf (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee ProposalOf (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
/// The range of component `p` is `[1, 100]`.
|
|
||||||
fn disapprove_proposal(p: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `264 + p * (32 ±0)`
|
|
||||||
// Estimated: `1749 + p * (32 ±0)`
|
|
||||||
// Minimum execution time: 15_998_000 picoseconds.
|
|
||||||
Weight::from_parts(17_837_641, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 1749))
|
|
||||||
// Standard Error: 422
|
|
||||||
.saturating_add(Weight::from_parts(111_526, 0).saturating_mul(p.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into()))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,195 @@
|
|||||||
|
// Copyright (C) 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_conviction_voting`
|
||||||
|
//!
|
||||||
|
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||||
|
//! DATE: 2023-06-19, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||||
|
//! WORST CASE MAP SIZE: `1000000`
|
||||||
|
//! HOSTNAME: `runner-e8ezs4ez-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||||
|
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 1024
|
||||||
|
|
||||||
|
// Executed Command:
|
||||||
|
// ./target/production/polkadot
|
||||||
|
// benchmark
|
||||||
|
// pallet
|
||||||
|
// --chain=kusama-dev
|
||||||
|
// --steps=50
|
||||||
|
// --repeat=20
|
||||||
|
// --no-storage-info
|
||||||
|
// --no-median-slopes
|
||||||
|
// --no-min-squares
|
||||||
|
// --pallet=pallet_conviction_voting
|
||||||
|
// --extrinsic=*
|
||||||
|
// --execution=wasm
|
||||||
|
// --wasm-execution=compiled
|
||||||
|
// --header=./file_header.txt
|
||||||
|
// --output=./runtime/kusama/src/weights/
|
||||||
|
|
||||||
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||||
|
#![allow(unused_parens)]
|
||||||
|
#![allow(unused_imports)]
|
||||||
|
#![allow(missing_docs)]
|
||||||
|
|
||||||
|
use frame_support::{traits::Get, weights::Weight};
|
||||||
|
use core::marker::PhantomData;
|
||||||
|
|
||||||
|
/// Weight functions for `pallet_conviction_voting`.
|
||||||
|
pub struct WeightInfo<T>(PhantomData<T>);
|
||||||
|
impl<T: frame_system::Config> pallet_conviction_voting::WeightInfo for WeightInfo<T> {
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: ConvictionVoting VotingFor (r:1 w:1)
|
||||||
|
/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
|
||||||
|
/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
|
||||||
|
/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(311), added: 2786, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances Locks (r:1 w:1)
|
||||||
|
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances Freezes (r:1 w:0)
|
||||||
|
/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn vote_new() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `13445`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 151_077_000 picoseconds.
|
||||||
|
Weight::from_parts(165_283_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(6))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(5))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: ConvictionVoting VotingFor (r:1 w:1)
|
||||||
|
/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
|
||||||
|
/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
|
||||||
|
/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(311), added: 2786, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances Locks (r:1 w:1)
|
||||||
|
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances Freezes (r:1 w:0)
|
||||||
|
/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn vote_existing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `14166`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 232_420_000 picoseconds.
|
||||||
|
Weight::from_parts(244_439_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(7))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(6))
|
||||||
|
}
|
||||||
|
/// Storage: ConvictionVoting VotingFor (r:1 w:1)
|
||||||
|
/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn remove_vote() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `13918`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 205_017_000 picoseconds.
|
||||||
|
Weight::from_parts(216_594_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: ConvictionVoting VotingFor (r:1 w:1)
|
||||||
|
/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
fn remove_other_vote() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `13004`
|
||||||
|
// Estimated: `30706`
|
||||||
|
// Minimum execution time: 84_226_000 picoseconds.
|
||||||
|
Weight::from_parts(91_255_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 30706))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: ConvictionVoting VotingFor (r:2 w:2)
|
||||||
|
/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:512 w:512)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
|
||||||
|
/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(311), added: 2786, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances Locks (r:1 w:1)
|
||||||
|
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances Freezes (r:1 w:0)
|
||||||
|
/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
|
||||||
|
/// The range of component `r` is `[0, 512]`.
|
||||||
|
fn delegate(r: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `29640 + r * (365 ±0)`
|
||||||
|
// Estimated: `83866 + r * (3411 ±0)`
|
||||||
|
// Minimum execution time: 78_708_000 picoseconds.
|
||||||
|
Weight::from_parts(2_053_488_615, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
// Standard Error: 179_271
|
||||||
|
.saturating_add(Weight::from_parts(47_806_482, 0).saturating_mul(r.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(7))
|
||||||
|
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(6))
|
||||||
|
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
|
||||||
|
.saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into()))
|
||||||
|
}
|
||||||
|
/// Storage: ConvictionVoting VotingFor (r:2 w:2)
|
||||||
|
/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:512 w:512)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
/// The range of component `r` is `[0, 512]`.
|
||||||
|
fn undelegate(r: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `29555 + r * (365 ±0)`
|
||||||
|
// Estimated: `83866 + r * (3411 ±0)`
|
||||||
|
// Minimum execution time: 45_232_000 picoseconds.
|
||||||
|
Weight::from_parts(2_045_021_014, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
// Standard Error: 185_130
|
||||||
|
.saturating_add(Weight::from_parts(47_896_011, 0).saturating_mul(r.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
|
||||||
|
.saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into()))
|
||||||
|
}
|
||||||
|
/// Storage: ConvictionVoting VotingFor (r:1 w:1)
|
||||||
|
/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
|
||||||
|
/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
|
||||||
|
/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(311), added: 2786, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances Locks (r:1 w:1)
|
||||||
|
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances Freezes (r:1 w:0)
|
||||||
|
/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
|
||||||
|
fn unlock() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `12218`
|
||||||
|
// Estimated: `30706`
|
||||||
|
// Minimum execution time: 116_446_000 picoseconds.
|
||||||
|
Weight::from_parts(124_043_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 30706))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,525 +0,0 @@
|
|||||||
// Copyright (C) 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: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
|
||||||
//! WORST CASE MAP SIZE: `1000000`
|
|
||||||
//! HOSTNAME: `bm5`, 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/
|
|
||||||
|
|
||||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
|
||||||
#![allow(unused_parens)]
|
|
||||||
#![allow(unused_imports)]
|
|
||||||
#![allow(missing_docs)]
|
|
||||||
|
|
||||||
use frame_support::{traits::Get, weights::Weight};
|
|
||||||
use core::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)
|
|
||||||
/// Proof: Democracy PublicPropCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy PublicProps (r:1 w:1)
|
|
||||||
/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy Blacklist (r:1 w:0)
|
|
||||||
/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy DepositOf (r:0 w:1)
|
|
||||||
/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
|
|
||||||
fn propose() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `4734`
|
|
||||||
// Estimated: `18187`
|
|
||||||
// Minimum execution time: 39_492_000 picoseconds.
|
|
||||||
Weight::from_parts(39_853_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 18187))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy DepositOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
|
|
||||||
fn second() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `3489`
|
|
||||||
// Estimated: `6695`
|
|
||||||
// Minimum execution time: 36_683_000 picoseconds.
|
|
||||||
Weight::from_parts(37_121_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 6695))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy VotingOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Locks (r:1 w:1)
|
|
||||||
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Freezes (r:1 w:0)
|
|
||||||
/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
|
|
||||||
fn vote_new() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `3365`
|
|
||||||
// Estimated: `7260`
|
|
||||||
// Minimum execution time: 48_191_000 picoseconds.
|
|
||||||
Weight::from_parts(48_936_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 7260))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy VotingOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Locks (r:1 w:1)
|
|
||||||
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Freezes (r:1 w:0)
|
|
||||||
/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
|
|
||||||
fn vote_existing() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `3387`
|
|
||||||
// Estimated: `7260`
|
|
||||||
// Minimum execution time: 52_175_000 picoseconds.
|
|
||||||
Weight::from_parts(53_011_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 7260))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy Cancellations (r:1 w:1)
|
|
||||||
/// Proof: Democracy Cancellations (max_values: None, max_size: Some(33), added: 2508, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy MetadataOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
fn emergency_cancel() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `299`
|
|
||||||
// Estimated: `3666`
|
|
||||||
// Minimum execution time: 26_255_000 picoseconds.
|
|
||||||
Weight::from_parts(26_768_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3666))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy PublicProps (r:1 w:1)
|
|
||||||
/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy DepositOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
|
|
||||||
/// Storage: System Account (r:1 w:1)
|
|
||||||
/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy MetadataOf (r:3 w:1)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy NextExternal (r:1 w:1)
|
|
||||||
/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy Blacklist (r:0 w:1)
|
|
||||||
/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
|
|
||||||
fn blacklist() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `5843`
|
|
||||||
// Estimated: `18187`
|
|
||||||
// Minimum execution time: 96_376_000 picoseconds.
|
|
||||||
Weight::from_parts(97_222_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 18187))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(8))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(7))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy NextExternal (r:1 w:1)
|
|
||||||
/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy Blacklist (r:1 w:0)
|
|
||||||
/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
|
|
||||||
fn external_propose() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `3349`
|
|
||||||
// Estimated: `6703`
|
|
||||||
// Minimum execution time: 13_815_000 picoseconds.
|
|
||||||
Weight::from_parts(14_071_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 6703))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy NextExternal (r:0 w:1)
|
|
||||||
/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
|
|
||||||
fn external_propose_majority() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `0`
|
|
||||||
// Estimated: `0`
|
|
||||||
// Minimum execution time: 3_456_000 picoseconds.
|
|
||||||
Weight::from_parts(3_716_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 0))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy NextExternal (r:0 w:1)
|
|
||||||
/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
|
|
||||||
fn external_propose_default() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `0`
|
|
||||||
// Estimated: `0`
|
|
||||||
// Minimum execution time: 3_610_000 picoseconds.
|
|
||||||
Weight::from_parts(3_768_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 0))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy NextExternal (r:1 w:1)
|
|
||||||
/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy ReferendumCount (r:1 w:1)
|
|
||||||
/// Proof: Democracy ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy MetadataOf (r:1 w:2)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:0 w:1)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
fn fast_track() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `219`
|
|
||||||
// Estimated: `3518`
|
|
||||||
// Minimum execution time: 27_514_000 picoseconds.
|
|
||||||
Weight::from_parts(27_905_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3518))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(5))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy NextExternal (r:1 w:1)
|
|
||||||
/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy Blacklist (r:1 w:1)
|
|
||||||
/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy MetadataOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
fn veto_external() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `3452`
|
|
||||||
// Estimated: `6703`
|
|
||||||
// Minimum execution time: 31_250_000 picoseconds.
|
|
||||||
Weight::from_parts(31_604_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 6703))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy PublicProps (r:1 w:1)
|
|
||||||
/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy DepositOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
|
|
||||||
/// Storage: System Account (r:1 w:1)
|
|
||||||
/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy MetadataOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
fn cancel_proposal() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `5754`
|
|
||||||
// Estimated: `18187`
|
|
||||||
// Minimum execution time: 79_757_000 picoseconds.
|
|
||||||
Weight::from_parts(83_603_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 18187))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(4))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy MetadataOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:0 w:1)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
fn cancel_referendum() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `204`
|
|
||||||
// Estimated: `3518`
|
|
||||||
// Minimum execution time: 20_034_000 picoseconds.
|
|
||||||
Weight::from_parts(20_674_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3518))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy LowestUnbaked (r:1 w:1)
|
|
||||||
/// Proof: Democracy LowestUnbaked (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy ReferendumCount (r:1 w:0)
|
|
||||||
/// Proof: Democracy ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:99 w:0)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `r` is `[0, 99]`.
|
|
||||||
fn on_initialize_base(r: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `177 + r * (86 ±0)`
|
|
||||||
// Estimated: `1489 + r * (2676 ±0)`
|
|
||||||
// Minimum execution time: 7_053_000 picoseconds.
|
|
||||||
Weight::from_parts(10_157_848, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 1489))
|
|
||||||
// Standard Error: 5_462
|
|
||||||
.saturating_add(Weight::from_parts(2_710_889, 0).saturating_mul(r.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy LowestUnbaked (r:1 w:1)
|
|
||||||
/// Proof: Democracy LowestUnbaked (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy ReferendumCount (r:1 w:0)
|
|
||||||
/// Proof: Democracy ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy LastTabledWasExternal (r:1 w:0)
|
|
||||||
/// Proof: Democracy LastTabledWasExternal (max_values: Some(1), max_size: Some(1), added: 496, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy NextExternal (r:1 w:0)
|
|
||||||
/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy PublicProps (r:1 w:0)
|
|
||||||
/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:99 w:0)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `r` is `[0, 99]`.
|
|
||||||
fn on_initialize_base_with_launch_period(r: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `177 + r * (86 ±0)`
|
|
||||||
// Estimated: `18187 + r * (2676 ±0)`
|
|
||||||
// Minimum execution time: 9_585_000 picoseconds.
|
|
||||||
Weight::from_parts(13_021_372, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 18187))
|
|
||||||
// Standard Error: 6_031
|
|
||||||
.saturating_add(Weight::from_parts(2_707_449, 0).saturating_mul(r.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(5))
|
|
||||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy VotingOf (r:3 w:3)
|
|
||||||
/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:99 w:99)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Locks (r:1 w:1)
|
|
||||||
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Freezes (r:1 w:0)
|
|
||||||
/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `r` is `[0, 99]`.
|
|
||||||
fn delegate(r: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `729 + r * (108 ±0)`
|
|
||||||
// Estimated: `19800 + r * (2676 ±0)`
|
|
||||||
// Minimum execution time: 41_109_000 picoseconds.
|
|
||||||
Weight::from_parts(46_477_334, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 19800))
|
|
||||||
// Standard Error: 9_372
|
|
||||||
.saturating_add(Weight::from_parts(3_815_232, 0).saturating_mul(r.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(5))
|
|
||||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
|
|
||||||
.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy VotingOf (r:2 w:2)
|
|
||||||
/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:99 w:99)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `r` is `[0, 99]`.
|
|
||||||
fn undelegate(r: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `426 + r * (108 ±0)`
|
|
||||||
// Estimated: `13530 + r * (2676 ±0)`
|
|
||||||
// Minimum execution time: 21_283_000 picoseconds.
|
|
||||||
Weight::from_parts(23_372_139, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 13530))
|
|
||||||
// Standard Error: 6_191
|
|
||||||
.saturating_add(Weight::from_parts(3_768_585, 0).saturating_mul(r.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
|
|
||||||
.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy PublicProps (r:0 w:1)
|
|
||||||
/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
|
|
||||||
fn clear_public_proposals() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `0`
|
|
||||||
// Estimated: `0`
|
|
||||||
// Minimum execution time: 3_510_000 picoseconds.
|
|
||||||
Weight::from_parts(3_642_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 0))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy VotingOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Locks (r:1 w:1)
|
|
||||||
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Freezes (r:1 w:0)
|
|
||||||
/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
|
|
||||||
/// Storage: System Account (r:1 w:1)
|
|
||||||
/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `r` is `[0, 99]`.
|
|
||||||
fn unlock_remove(r: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `458`
|
|
||||||
// Estimated: `7260`
|
|
||||||
// Minimum execution time: 23_647_000 picoseconds.
|
|
||||||
Weight::from_parts(36_627_552, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 7260))
|
|
||||||
// Standard Error: 2_937
|
|
||||||
.saturating_add(Weight::from_parts(34_132, 0).saturating_mul(r.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy VotingOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Locks (r:1 w:1)
|
|
||||||
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Freezes (r:1 w:0)
|
|
||||||
/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
|
|
||||||
/// Storage: System Account (r:1 w:1)
|
|
||||||
/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `r` is `[0, 99]`.
|
|
||||||
fn unlock_set(r: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `459 + r * (22 ±0)`
|
|
||||||
// Estimated: `7260`
|
|
||||||
// Minimum execution time: 33_932_000 picoseconds.
|
|
||||||
Weight::from_parts(35_331_660, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 7260))
|
|
||||||
// Standard Error: 615
|
|
||||||
.saturating_add(Weight::from_parts(60_730, 0).saturating_mul(r.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy VotingOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `r` is `[1, 100]`.
|
|
||||||
fn remove_vote(r: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `661 + r * (26 ±0)`
|
|
||||||
// Estimated: `7260`
|
|
||||||
// Minimum execution time: 16_605_000 picoseconds.
|
|
||||||
Weight::from_parts(19_057_092, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 7260))
|
|
||||||
// Standard Error: 873
|
|
||||||
.saturating_add(Weight::from_parts(68_964, 0).saturating_mul(r.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy VotingOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `r` is `[1, 100]`.
|
|
||||||
fn remove_other_vote(r: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `661 + r * (26 ±0)`
|
|
||||||
// Estimated: `7260`
|
|
||||||
// Minimum execution time: 16_801_000 picoseconds.
|
|
||||||
Weight::from_parts(19_166_788, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 7260))
|
|
||||||
// Standard Error: 1_008
|
|
||||||
.saturating_add(Weight::from_parts(69_851, 0).saturating_mul(r.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy NextExternal (r:1 w:0)
|
|
||||||
/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Preimage StatusFor (r:1 w:0)
|
|
||||||
/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy MetadataOf (r:0 w:1)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
fn set_external_metadata() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `361`
|
|
||||||
// Estimated: `3556`
|
|
||||||
// Minimum execution time: 19_207_000 picoseconds.
|
|
||||||
Weight::from_parts(19_693_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3556))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy NextExternal (r:1 w:0)
|
|
||||||
/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy MetadataOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
fn clear_external_metadata() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `219`
|
|
||||||
// Estimated: `3518`
|
|
||||||
// Minimum execution time: 17_333_000 picoseconds.
|
|
||||||
Weight::from_parts(17_555_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3518))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy PublicProps (r:1 w:0)
|
|
||||||
/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Preimage StatusFor (r:1 w:0)
|
|
||||||
/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy MetadataOf (r:0 w:1)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
fn set_proposal_metadata() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `4893`
|
|
||||||
// Estimated: `18187`
|
|
||||||
// Minimum execution time: 33_859_000 picoseconds.
|
|
||||||
Weight::from_parts(34_538_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 18187))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy PublicProps (r:1 w:0)
|
|
||||||
/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy MetadataOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
fn clear_proposal_metadata() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `4755`
|
|
||||||
// Estimated: `18187`
|
|
||||||
// Minimum execution time: 31_155_000 picoseconds.
|
|
||||||
Weight::from_parts(31_520_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 18187))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
/// Storage: Preimage StatusFor (r:1 w:0)
|
|
||||||
/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy MetadataOf (r:0 w:1)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
fn set_referendum_metadata() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `216`
|
|
||||||
// Estimated: `3556`
|
|
||||||
// Minimum execution time: 15_924_000 picoseconds.
|
|
||||||
Weight::from_parts(16_151_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3556))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
/// Storage: Democracy ReferendumInfoOf (r:1 w:0)
|
|
||||||
/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Democracy MetadataOf (r:1 w:1)
|
|
||||||
/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
|
|
||||||
fn clear_referendum_metadata() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `235`
|
|
||||||
// Estimated: `3666`
|
|
||||||
// Minimum execution time: 18_983_000 picoseconds.
|
|
||||||
Weight::from_parts(19_280_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3666))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,315 +0,0 @@
|
|||||||
// Copyright (C) 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: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
|
||||||
//! WORST CASE MAP SIZE: `1000000`
|
|
||||||
//! HOSTNAME: `bm5`, 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/
|
|
||||||
|
|
||||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
|
||||||
#![allow(unused_parens)]
|
|
||||||
#![allow(unused_imports)]
|
|
||||||
#![allow(missing_docs)]
|
|
||||||
|
|
||||||
use frame_support::{traits::Get, weights::Weight};
|
|
||||||
use core::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)
|
|
||||||
/// Proof Skipped: PhragmenElection Candidates (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection RunnersUp (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Balances Locks (r:1 w:1)
|
|
||||||
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Freezes (r:1 w:0)
|
|
||||||
/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `v` is `[1, 16]`.
|
|
||||||
fn vote_equal(v: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `331 + v * (80 ±0)`
|
|
||||||
// Estimated: `4764 + v * (80 ±0)`
|
|
||||||
// Minimum execution time: 30_910_000 picoseconds.
|
|
||||||
Weight::from_parts(31_851_802, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4764))
|
|
||||||
// Standard Error: 4_099
|
|
||||||
.saturating_add(Weight::from_parts(137_675, 0).saturating_mul(v.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(6))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
.saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into()))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection Candidates (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Candidates (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection RunnersUp (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Balances Locks (r:1 w:1)
|
|
||||||
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Freezes (r:1 w:0)
|
|
||||||
/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `v` is `[2, 16]`.
|
|
||||||
fn vote_more(v: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `299 + v * (80 ±0)`
|
|
||||||
// Estimated: `4764 + v * (80 ±0)`
|
|
||||||
// Minimum execution time: 42_670_000 picoseconds.
|
|
||||||
Weight::from_parts(43_351_345, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4764))
|
|
||||||
// Standard Error: 2_986
|
|
||||||
.saturating_add(Weight::from_parts(142_231, 0).saturating_mul(v.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(6))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
.saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into()))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection Candidates (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Candidates (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection RunnersUp (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Balances Locks (r:1 w:1)
|
|
||||||
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Freezes (r:1 w:0)
|
|
||||||
/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `v` is `[2, 16]`.
|
|
||||||
fn vote_less(v: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `331 + v * (80 ±0)`
|
|
||||||
// Estimated: `4764 + v * (80 ±0)`
|
|
||||||
// Minimum execution time: 42_782_000 picoseconds.
|
|
||||||
Weight::from_parts(43_611_866, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4764))
|
|
||||||
// Standard Error: 2_968
|
|
||||||
.saturating_add(Weight::from_parts(125_939, 0).saturating_mul(v.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(6))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
.saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into()))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection Voting (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Balances Locks (r:1 w:1)
|
|
||||||
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Freezes (r:1 w:0)
|
|
||||||
/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
|
|
||||||
fn remove_voter() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `853`
|
|
||||||
// Estimated: `4764`
|
|
||||||
// Minimum execution time: 44_301_000 picoseconds.
|
|
||||||
Weight::from_parts(44_843_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4764))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection Candidates (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection Candidates (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection RunnersUp (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `c` is `[1, 1000]`.
|
|
||||||
fn submit_candidacy(c: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `2678 + c * (48 ±0)`
|
|
||||||
// Estimated: `4161 + c * (48 ±0)`
|
|
||||||
// Minimum execution time: 33_576_000 picoseconds.
|
|
||||||
Weight::from_parts(26_859_487, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4161))
|
|
||||||
// Standard Error: 854
|
|
||||||
.saturating_add(Weight::from_parts(81_887, 0).saturating_mul(c.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
.saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into()))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection Candidates (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection Candidates (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `c` is `[1, 1000]`.
|
|
||||||
fn renounce_candidacy_candidate(c: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `250 + c * (48 ±0)`
|
|
||||||
// Estimated: `1722 + c * (48 ±0)`
|
|
||||||
// Minimum execution time: 29_671_000 picoseconds.
|
|
||||||
Weight::from_parts(22_509_800, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 1722))
|
|
||||||
// Standard Error: 908
|
|
||||||
.saturating_add(Weight::from_parts(58_320, 0).saturating_mul(c.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
.saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into()))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection Members (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection RunnersUp (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Prime (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Proposals (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Members (r:0 w:1)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
fn renounce_candidacy_members() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `2952`
|
|
||||||
// Estimated: `4437`
|
|
||||||
// Minimum execution time: 45_934_000 picoseconds.
|
|
||||||
Weight::from_parts(46_279_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4437))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(4))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection RunnersUp (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
fn renounce_candidacy_runners_up() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `1647`
|
|
||||||
// Estimated: `3132`
|
|
||||||
// Minimum execution time: 30_291_000 picoseconds.
|
|
||||||
Weight::from_parts(30_611_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3132))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
}
|
|
||||||
/// Storage: Benchmark Override (r:0 w:0)
|
|
||||||
/// Proof Skipped: Benchmark Override (max_values: None, max_size: None, mode: Measured)
|
|
||||||
fn remove_member_without_replacement() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `0`
|
|
||||||
// Estimated: `0`
|
|
||||||
// Minimum execution time: 2_000_000_000_000 picoseconds.
|
|
||||||
Weight::from_parts(2_000_000_000_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 0))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection Members (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: System Account (r:1 w:1)
|
|
||||||
/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
|
|
||||||
/// Storage: PhragmenElection RunnersUp (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Prime (r:1 w:1)
|
|
||||||
/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Proposals (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Members (r:0 w:1)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
fn remove_member_with_replacement() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `2952`
|
|
||||||
// Estimated: `4437`
|
|
||||||
// Minimum execution time: 63_178_000 picoseconds.
|
|
||||||
Weight::from_parts(63_850_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4437))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(5))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(5))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection Voting (r:10001 w:10000)
|
|
||||||
/// Proof Skipped: PhragmenElection Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection RunnersUp (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Candidates (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Candidates (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Balances Locks (r:10000 w:10000)
|
|
||||||
/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Balances Freezes (r:10000 w:0)
|
|
||||||
/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
|
|
||||||
/// Storage: System Account (r:10000 w:10000)
|
|
||||||
/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
|
|
||||||
/// The range of component `v` is `[5000, 10000]`.
|
|
||||||
/// The range of component `d` is `[0, 5000]`.
|
|
||||||
fn clean_defunct_voters(v: u32, _d: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `35961 + v * (808 ±0)`
|
|
||||||
// Estimated: `39702 + v * (3774 ±0)`
|
|
||||||
// Minimum execution time: 379_638_846_000 picoseconds.
|
|
||||||
Weight::from_parts(380_443_068_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 39702))
|
|
||||||
// Standard Error: 318_371
|
|
||||||
.saturating_add(Weight::from_parts(46_236_987, 0).saturating_mul(v.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(4))
|
|
||||||
.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(v.into())))
|
|
||||||
.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(v.into())))
|
|
||||||
.saturating_add(Weight::from_parts(0, 3774).saturating_mul(v.into()))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection Candidates (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection Candidates (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Members (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection RunnersUp (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Voting (r:10001 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Voting (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Proposals (r:1 w:0)
|
|
||||||
/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: System Account (r:962 w:962)
|
|
||||||
/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
|
|
||||||
/// Storage: PhragmenElection ElectionRounds (r:1 w:1)
|
|
||||||
/// Proof Skipped: PhragmenElection ElectionRounds (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Members (r:0 w:1)
|
|
||||||
/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Council Prime (r:0 w:1)
|
|
||||||
/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// 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 {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `0 + e * (28 ±0) + v * (607 ±0)`
|
|
||||||
// Estimated: `2771509 + c * (2560 ±0) + e * (16 ±0) + v * (2744 ±4)`
|
|
||||||
// Minimum execution time: 35_941_980_000 picoseconds.
|
|
||||||
Weight::from_parts(36_032_688_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 2771509))
|
|
||||||
// Standard Error: 554_972
|
|
||||||
.saturating_add(Weight::from_parts(43_733_923, 0).saturating_mul(v.into()))
|
|
||||||
// Standard Error: 35_614
|
|
||||||
.saturating_add(Weight::from_parts(2_430_249, 0).saturating_mul(e.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(265))
|
|
||||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into())))
|
|
||||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into())))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(6))
|
|
||||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into())))
|
|
||||||
.saturating_add(Weight::from_parts(0, 2560).saturating_mul(c.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 16).saturating_mul(e.into()))
|
|
||||||
.saturating_add(Weight::from_parts(0, 2744).saturating_mul(v.into()))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,204 +0,0 @@
|
|||||||
// Copyright (C) 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_membership`
|
|
||||||
//!
|
|
||||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
|
||||||
//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
|
||||||
//! WORST CASE MAP SIZE: `1000000`
|
|
||||||
//! HOSTNAME: `bm5`, 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_membership
|
|
||||||
// --extrinsic=*
|
|
||||||
// --execution=wasm
|
|
||||||
// --wasm-execution=compiled
|
|
||||||
// --header=./file_header.txt
|
|
||||||
// --output=./runtime/rococo/src/weights/
|
|
||||||
|
|
||||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
|
||||||
#![allow(unused_parens)]
|
|
||||||
#![allow(unused_imports)]
|
|
||||||
#![allow(missing_docs)]
|
|
||||||
|
|
||||||
use frame_support::{traits::Get, weights::Weight};
|
|
||||||
use core::marker::PhantomData;
|
|
||||||
|
|
||||||
/// Weight functions for `pallet_membership`.
|
|
||||||
pub struct WeightInfo<T>(PhantomData<T>);
|
|
||||||
impl<T: frame_system::Config> pallet_membership::WeightInfo for WeightInfo<T> {
|
|
||||||
/// Storage: TechnicalMembership Members (r:1 w:1)
|
|
||||||
/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Members (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Prime (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[1, 99]`.
|
|
||||||
fn add_member(m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `140 + m * (64 ±0)`
|
|
||||||
// Estimated: `4687 + m * (64 ±0)`
|
|
||||||
// Minimum execution time: 17_084_000 picoseconds.
|
|
||||||
Weight::from_parts(17_897_754, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4687))
|
|
||||||
// Standard Error: 295
|
|
||||||
.saturating_add(Weight::from_parts(30_882, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalMembership Members (r:1 w:1)
|
|
||||||
/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalMembership Prime (r:1 w:0)
|
|
||||||
/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalCommittee Members (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Prime (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[2, 100]`.
|
|
||||||
fn remove_member(m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `244 + m * (64 ±0)`
|
|
||||||
// Estimated: `4687 + m * (64 ±0)`
|
|
||||||
// Minimum execution time: 19_550_000 picoseconds.
|
|
||||||
Weight::from_parts(20_467_978, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4687))
|
|
||||||
// Standard Error: 330
|
|
||||||
.saturating_add(Weight::from_parts(31_881, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalMembership Members (r:1 w:1)
|
|
||||||
/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalMembership Prime (r:1 w:0)
|
|
||||||
/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalCommittee Members (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Prime (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[2, 100]`.
|
|
||||||
fn swap_member(m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `244 + m * (64 ±0)`
|
|
||||||
// Estimated: `4687 + m * (64 ±0)`
|
|
||||||
// Minimum execution time: 19_994_000 picoseconds.
|
|
||||||
Weight::from_parts(20_663_824, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4687))
|
|
||||||
// Standard Error: 337
|
|
||||||
.saturating_add(Weight::from_parts(44_806, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalMembership Members (r:1 w:1)
|
|
||||||
/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalMembership Prime (r:1 w:0)
|
|
||||||
/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalCommittee Members (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Prime (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
fn reset_member(m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `244 + m * (64 ±0)`
|
|
||||||
// Estimated: `4687 + m * (64 ±0)`
|
|
||||||
// Minimum execution time: 18_978_000 picoseconds.
|
|
||||||
Weight::from_parts(21_273_577, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4687))
|
|
||||||
// Standard Error: 2_765
|
|
||||||
.saturating_add(Weight::from_parts(152_082, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalMembership Members (r:1 w:1)
|
|
||||||
/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalCommittee Proposals (r:1 w:0)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalMembership Prime (r:1 w:1)
|
|
||||||
/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalCommittee Members (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: TechnicalCommittee Prime (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
fn change_key(m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `244 + m * (64 ±0)`
|
|
||||||
// Estimated: `4687 + m * (64 ±0)`
|
|
||||||
// Minimum execution time: 20_005_000 picoseconds.
|
|
||||||
Weight::from_parts(21_280_089, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4687))
|
|
||||||
// Standard Error: 672
|
|
||||||
.saturating_add(Weight::from_parts(41_961, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(4))
|
|
||||||
.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalMembership Members (r:1 w:0)
|
|
||||||
/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalMembership Prime (r:0 w:1)
|
|
||||||
/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalCommittee Prime (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
fn set_prime(m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `32 + m * (32 ±0)`
|
|
||||||
// Estimated: `4687 + m * (32 ±0)`
|
|
||||||
// Minimum execution time: 8_168_000 picoseconds.
|
|
||||||
Weight::from_parts(8_579_141, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 4687))
|
|
||||||
// Standard Error: 215
|
|
||||||
.saturating_add(Weight::from_parts(9_557, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
|
|
||||||
}
|
|
||||||
/// Storage: TechnicalMembership Prime (r:0 w:1)
|
|
||||||
/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
|
|
||||||
/// Storage: TechnicalCommittee Prime (r:0 w:1)
|
|
||||||
/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// The range of component `m` is `[1, 100]`.
|
|
||||||
fn clear_prime(m: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `0`
|
|
||||||
// Estimated: `0`
|
|
||||||
// Minimum execution time: 3_344_000 picoseconds.
|
|
||||||
Weight::from_parts(3_551_700, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 0))
|
|
||||||
// Standard Error: 86
|
|
||||||
.saturating_add(Weight::from_parts(832, 0).saturating_mul(m.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
// Copyright (C) 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_ranked_collective`
|
||||||
|
//!
|
||||||
|
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||||
|
//! DATE: 2023-07-11, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||||
|
//! WORST CASE MAP SIZE: `1000000`
|
||||||
|
//! HOSTNAME: `runner-xerhrdyb-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||||
|
//! EXECUTION: `Some(Wasm)`, WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
|
||||||
|
|
||||||
|
// Executed Command:
|
||||||
|
// target/production/polkadot
|
||||||
|
// benchmark
|
||||||
|
// pallet
|
||||||
|
// --steps=50
|
||||||
|
// --repeat=20
|
||||||
|
// --extrinsic=*
|
||||||
|
// --execution=wasm
|
||||||
|
// --wasm-execution=compiled
|
||||||
|
// --heap-pages=4096
|
||||||
|
// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
|
||||||
|
// --pallet=pallet_ranked_collective
|
||||||
|
// --chain=rococo-dev
|
||||||
|
// --header=./file_header.txt
|
||||||
|
// --output=./runtime/rococo/src/weights/
|
||||||
|
|
||||||
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||||
|
#![allow(unused_parens)]
|
||||||
|
#![allow(unused_imports)]
|
||||||
|
#![allow(missing_docs)]
|
||||||
|
|
||||||
|
use frame_support::{traits::Get, weights::Weight};
|
||||||
|
use core::marker::PhantomData;
|
||||||
|
|
||||||
|
/// Weight functions for `pallet_ranked_collective`.
|
||||||
|
pub struct WeightInfo<T>(PhantomData<T>);
|
||||||
|
impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInfo<T> {
|
||||||
|
/// Storage: `FellowshipCollective::Members` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::IndexToId` (r:0 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::IdToIndex` (r:0 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
|
||||||
|
fn add_member() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `42`
|
||||||
|
// Estimated: `3507`
|
||||||
|
// Minimum execution time: 17_632_000 picoseconds.
|
||||||
|
Weight::from_parts(18_252_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3507))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipCollective::Members` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:11 w:11)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::IdToIndex` (r:11 w:11)
|
||||||
|
/// Proof: `FellowshipCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::IndexToId` (r:11 w:11)
|
||||||
|
/// Proof: `FellowshipCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `r` is `[0, 10]`.
|
||||||
|
fn remove_member(r: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `517 + r * (281 ±0)`
|
||||||
|
// Estimated: `3519 + r * (2529 ±0)`
|
||||||
|
// Minimum execution time: 27_960_000 picoseconds.
|
||||||
|
Weight::from_parts(30_632_408, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3519))
|
||||||
|
// Standard Error: 22_806
|
||||||
|
.saturating_add(Weight::from_parts(13_000_901, 0).saturating_mul(r.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into())))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(r.into())))
|
||||||
|
.saturating_add(Weight::from_parts(0, 2529).saturating_mul(r.into()))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipCollective::Members` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::IndexToId` (r:0 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::IdToIndex` (r:0 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `r` is `[0, 10]`.
|
||||||
|
fn promote_member(r: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `214 + r * (17 ±0)`
|
||||||
|
// Estimated: `3507`
|
||||||
|
// Minimum execution time: 19_900_000 picoseconds.
|
||||||
|
Weight::from_parts(20_908_316, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3507))
|
||||||
|
// Standard Error: 4_878
|
||||||
|
.saturating_add(Weight::from_parts(330_385, 0).saturating_mul(r.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipCollective::Members` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::IdToIndex` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::IndexToId` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `r` is `[0, 10]`.
|
||||||
|
fn demote_member(r: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `532 + r * (72 ±0)`
|
||||||
|
// Estimated: `3519`
|
||||||
|
// Minimum execution time: 27_697_000 picoseconds.
|
||||||
|
Weight::from_parts(30_341_815, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3519))
|
||||||
|
// Standard Error: 17_010
|
||||||
|
.saturating_add(Weight::from_parts(642_213, 0).saturating_mul(r.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipCollective::Members` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::Voting` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipCollective::Voting` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn vote() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `638`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 48_275_000 picoseconds.
|
||||||
|
Weight::from_parts(49_326_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::VotingCleanup` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::VotingCleanup` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::Voting` (r:100 w:100)
|
||||||
|
/// Proof: `FellowshipCollective::Voting` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `n` is `[0, 100]`.
|
||||||
|
fn cleanup_poll(n: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `434 + n * (50 ±0)`
|
||||||
|
// Estimated: `4365 + n * (2540 ±0)`
|
||||||
|
// Minimum execution time: 15_506_000 picoseconds.
|
||||||
|
Weight::from_parts(17_634_029, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
// Standard Error: 2_117
|
||||||
|
.saturating_add(Weight::from_parts(1_126_879, 0).saturating_mul(n.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
|
||||||
|
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
|
||||||
|
.saturating_add(Weight::from_parts(0, 2540).saturating_mul(n.into()))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,524 @@
|
|||||||
|
// Copyright (C) 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_referenda`
|
||||||
|
//!
|
||||||
|
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||||
|
//! DATE: 2023-07-11, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||||
|
//! WORST CASE MAP SIZE: `1000000`
|
||||||
|
//! HOSTNAME: `runner-xerhrdyb-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||||
|
//! EXECUTION: `Some(Wasm)`, WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
|
||||||
|
|
||||||
|
// Executed Command:
|
||||||
|
// target/production/polkadot
|
||||||
|
// benchmark
|
||||||
|
// pallet
|
||||||
|
// --steps=50
|
||||||
|
// --repeat=20
|
||||||
|
// --extrinsic=*
|
||||||
|
// --execution=wasm
|
||||||
|
// --wasm-execution=compiled
|
||||||
|
// --heap-pages=4096
|
||||||
|
// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
|
||||||
|
// --pallet=pallet_referenda
|
||||||
|
// --chain=rococo-dev
|
||||||
|
// --header=./file_header.txt
|
||||||
|
// --output=./runtime/rococo/src/weights/
|
||||||
|
|
||||||
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||||
|
#![allow(unused_parens)]
|
||||||
|
#![allow(unused_imports)]
|
||||||
|
#![allow(missing_docs)]
|
||||||
|
|
||||||
|
use frame_support::{traits::Get, weights::Weight};
|
||||||
|
use core::marker::PhantomData;
|
||||||
|
|
||||||
|
/// Weight functions for `pallet_referenda`.
|
||||||
|
pub struct WeightInfo<T>(PhantomData<T>);
|
||||||
|
impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
|
||||||
|
/// Storage: `FellowshipCollective::Members` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumCount` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:0 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
fn submit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `327`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 29_909_000 picoseconds.
|
||||||
|
Weight::from_parts(30_645_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn place_decision_deposit_preparing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `438`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 54_405_000 picoseconds.
|
||||||
|
Weight::from_parts(55_583_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::DecidingCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipReferenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn place_decision_deposit_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2076`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 110_477_000 picoseconds.
|
||||||
|
Weight::from_parts(119_187_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::DecidingCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipReferenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn place_decision_deposit_not_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2117`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 111_467_000 picoseconds.
|
||||||
|
Weight::from_parts(117_758_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::DecidingCount` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn place_decision_deposit_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `774`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 191_135_000 picoseconds.
|
||||||
|
Weight::from_parts(210_535_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::DecidingCount` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn place_decision_deposit_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `639`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 67_168_000 picoseconds.
|
||||||
|
Weight::from_parts(68_895_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
fn refund_decision_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `351`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 31_298_000 picoseconds.
|
||||||
|
Weight::from_parts(32_570_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
fn refund_submission_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `201`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 15_674_000 picoseconds.
|
||||||
|
Weight::from_parts(16_190_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn cancel() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `383`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 38_927_000 picoseconds.
|
||||||
|
Weight::from_parts(40_545_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::MetadataOf` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipReferenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||||
|
fn kill() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `484`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 80_209_000 picoseconds.
|
||||||
|
Weight::from_parts(82_084_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::TrackQueue` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::DecidingCount` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
fn one_fewer_deciding_queue_empty() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `174`
|
||||||
|
// Estimated: `4277`
|
||||||
|
// Minimum execution time: 9_520_000 picoseconds.
|
||||||
|
Weight::from_parts(10_088_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4277))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn one_fewer_deciding_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2376`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 93_893_000 picoseconds.
|
||||||
|
Weight::from_parts(101_065_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn one_fewer_deciding_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2362`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 98_811_000 picoseconds.
|
||||||
|
Weight::from_parts(103_590_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_requeued_insertion() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `1841`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 43_230_000 picoseconds.
|
||||||
|
Weight::from_parts(46_120_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_requeued_slide() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `1808`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 43_092_000 picoseconds.
|
||||||
|
Weight::from_parts(46_018_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::DecidingCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipReferenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `1824`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 49_697_000 picoseconds.
|
||||||
|
Weight::from_parts(53_795_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::DecidingCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipReferenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_not_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `1865`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 50_417_000 picoseconds.
|
||||||
|
Weight::from_parts(53_214_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_no_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `335`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 25_688_000 picoseconds.
|
||||||
|
Weight::from_parts(26_575_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_preparing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `383`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 26_230_000 picoseconds.
|
||||||
|
Weight::from_parts(27_235_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_timed_out() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `242`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 17_585_000 picoseconds.
|
||||||
|
Weight::from_parts(18_225_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::DecidingCount` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_begin_deciding_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `584`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 38_243_000 picoseconds.
|
||||||
|
Weight::from_parts(39_959_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::DecidingCount` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_begin_deciding_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `719`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 88_424_000 picoseconds.
|
||||||
|
Weight::from_parts(92_969_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_begin_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `770`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 138_207_000 picoseconds.
|
||||||
|
Weight::from_parts(151_726_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_end_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `755`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 131_001_000 picoseconds.
|
||||||
|
Weight::from_parts(148_651_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_continue_not_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `770`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 109_612_000 picoseconds.
|
||||||
|
Weight::from_parts(143_626_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_continue_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `776`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 71_754_000 picoseconds.
|
||||||
|
Weight::from_parts(77_329_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Lookup` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_approved() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `776`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 153_244_000 picoseconds.
|
||||||
|
Weight::from_parts(169_961_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipCollective::MemberCount` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_rejected() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `772`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 137_997_000 picoseconds.
|
||||||
|
Weight::from_parts(157_862_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||||
|
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::MetadataOf` (r:0 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||||
|
fn set_some_metadata() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `458`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 21_794_000 picoseconds.
|
||||||
|
Weight::from_parts(22_341_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:0)
|
||||||
|
/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `FellowshipReferenda::MetadataOf` (r:1 w:1)
|
||||||
|
/// Proof: `FellowshipReferenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||||
|
fn clear_metadata() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `319`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 18_458_000 picoseconds.
|
||||||
|
Weight::from_parts(19_097_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,522 @@
|
|||||||
|
// Copyright (C) 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_referenda`
|
||||||
|
//!
|
||||||
|
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||||
|
//! DATE: 2023-07-11, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||||
|
//! WORST CASE MAP SIZE: `1000000`
|
||||||
|
//! HOSTNAME: `runner-xerhrdyb-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||||
|
//! EXECUTION: `Some(Wasm)`, WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
|
||||||
|
|
||||||
|
// Executed Command:
|
||||||
|
// target/production/polkadot
|
||||||
|
// benchmark
|
||||||
|
// pallet
|
||||||
|
// --steps=50
|
||||||
|
// --repeat=20
|
||||||
|
// --extrinsic=*
|
||||||
|
// --execution=wasm
|
||||||
|
// --wasm-execution=compiled
|
||||||
|
// --heap-pages=4096
|
||||||
|
// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
|
||||||
|
// --pallet=pallet_referenda
|
||||||
|
// --chain=rococo-dev
|
||||||
|
// --header=./file_header.txt
|
||||||
|
// --output=./runtime/rococo/src/weights/
|
||||||
|
|
||||||
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||||
|
#![allow(unused_parens)]
|
||||||
|
#![allow(unused_imports)]
|
||||||
|
#![allow(missing_docs)]
|
||||||
|
|
||||||
|
use frame_support::{traits::Get, weights::Weight};
|
||||||
|
use core::marker::PhantomData;
|
||||||
|
|
||||||
|
/// Weight functions for `pallet_referenda`.
|
||||||
|
pub struct WeightInfo<T>(PhantomData<T>);
|
||||||
|
impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
|
||||||
|
/// Storage: `Referenda::ReferendumCount` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:0 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
fn submit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `324`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 39_852_000 picoseconds.
|
||||||
|
Weight::from_parts(41_610_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn place_decision_deposit_preparing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `577`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 52_588_000 picoseconds.
|
||||||
|
Weight::from_parts(54_154_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::DecidingCount` (r:1 w:0)
|
||||||
|
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn place_decision_deposit_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3334`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 70_483_000 picoseconds.
|
||||||
|
Weight::from_parts(72_731_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::DecidingCount` (r:1 w:0)
|
||||||
|
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn place_decision_deposit_not_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3354`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 68_099_000 picoseconds.
|
||||||
|
Weight::from_parts(71_560_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::DecidingCount` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn place_decision_deposit_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `577`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 64_357_000 picoseconds.
|
||||||
|
Weight::from_parts(66_081_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::DecidingCount` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn place_decision_deposit_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `577`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 62_709_000 picoseconds.
|
||||||
|
Weight::from_parts(64_534_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
fn refund_decision_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `417`
|
||||||
|
// Estimated: `4401`
|
||||||
|
// Minimum execution time: 31_296_000 picoseconds.
|
||||||
|
Weight::from_parts(32_221_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4401))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
fn refund_submission_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `407`
|
||||||
|
// Estimated: `4401`
|
||||||
|
// Minimum execution time: 31_209_000 picoseconds.
|
||||||
|
Weight::from_parts(32_168_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4401))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn cancel() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `485`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 38_887_000 picoseconds.
|
||||||
|
Weight::from_parts(40_193_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::MetadataOf` (r:1 w:0)
|
||||||
|
/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||||
|
fn kill() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `726`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 106_054_000 picoseconds.
|
||||||
|
Weight::from_parts(108_318_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::TrackQueue` (r:1 w:0)
|
||||||
|
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::DecidingCount` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
fn one_fewer_deciding_queue_empty() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `240`
|
||||||
|
// Estimated: `5477`
|
||||||
|
// Minimum execution time: 9_263_000 picoseconds.
|
||||||
|
Weight::from_parts(9_763_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 5477))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn one_fewer_deciding_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3254`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 50_080_000 picoseconds.
|
||||||
|
Weight::from_parts(51_858_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn one_fewer_deciding_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3254`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 53_889_000 picoseconds.
|
||||||
|
Weight::from_parts(55_959_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_requeued_insertion() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3077`
|
||||||
|
// Estimated: `5477`
|
||||||
|
// Minimum execution time: 23_266_000 picoseconds.
|
||||||
|
Weight::from_parts(24_624_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 5477))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_requeued_slide() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3077`
|
||||||
|
// Estimated: `5477`
|
||||||
|
// Minimum execution time: 22_846_000 picoseconds.
|
||||||
|
Weight::from_parts(24_793_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 5477))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::DecidingCount` (r:1 w:0)
|
||||||
|
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3081`
|
||||||
|
// Estimated: `5477`
|
||||||
|
// Minimum execution time: 28_284_000 picoseconds.
|
||||||
|
Weight::from_parts(29_940_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 5477))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::DecidingCount` (r:1 w:0)
|
||||||
|
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::TrackQueue` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_not_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3101`
|
||||||
|
// Estimated: `5477`
|
||||||
|
// Minimum execution time: 28_133_000 picoseconds.
|
||||||
|
Weight::from_parts(29_638_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 5477))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_no_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `437`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 25_710_000 picoseconds.
|
||||||
|
Weight::from_parts(26_500_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_preparing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `485`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 25_935_000 picoseconds.
|
||||||
|
Weight::from_parts(26_803_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_timed_out() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `344`
|
||||||
|
// Estimated: `4401`
|
||||||
|
// Minimum execution time: 17_390_000 picoseconds.
|
||||||
|
Weight::from_parts(18_042_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4401))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::DecidingCount` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_begin_deciding_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `485`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 35_141_000 picoseconds.
|
||||||
|
Weight::from_parts(36_318_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::DecidingCount` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_begin_deciding_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `485`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 37_815_000 picoseconds.
|
||||||
|
Weight::from_parts(39_243_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_begin_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `538`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 30_779_000 picoseconds.
|
||||||
|
Weight::from_parts(31_845_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_end_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `521`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 31_908_000 picoseconds.
|
||||||
|
Weight::from_parts(33_253_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_continue_not_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `538`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 28_951_000 picoseconds.
|
||||||
|
Weight::from_parts(30_004_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_continue_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `542`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 27_750_000 picoseconds.
|
||||||
|
Weight::from_parts(28_588_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Lookup` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_approved() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `542`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 43_950_000 picoseconds.
|
||||||
|
Weight::from_parts(46_164_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn nudge_referendum_rejected() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `538`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 31_050_000 picoseconds.
|
||||||
|
Weight::from_parts(32_169_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Preimage::StatusFor` (r:1 w:0)
|
||||||
|
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::MetadataOf` (r:0 w:1)
|
||||||
|
/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||||
|
fn set_some_metadata() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `560`
|
||||||
|
// Estimated: `4401`
|
||||||
|
// Minimum execution time: 21_193_000 picoseconds.
|
||||||
|
Weight::from_parts(22_116_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4401))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::MetadataOf` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
|
||||||
|
fn clear_metadata() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `421`
|
||||||
|
// Estimated: `4401`
|
||||||
|
// Minimum execution time: 18_065_000 picoseconds.
|
||||||
|
Weight::from_parts(18_781_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4401))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,161 +0,0 @@
|
|||||||
// Copyright (C) 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: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
|
||||||
//! WORST CASE MAP SIZE: `1000000`
|
|
||||||
//! HOSTNAME: `bm5`, 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/
|
|
||||||
|
|
||||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
|
||||||
#![allow(unused_parens)]
|
|
||||||
#![allow(unused_imports)]
|
|
||||||
#![allow(missing_docs)]
|
|
||||||
|
|
||||||
use frame_support::{traits::Get, weights::Weight};
|
|
||||||
use core::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)
|
|
||||||
/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Tips Tips (r:1 w:1)
|
|
||||||
/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `r` is `[0, 16384]`.
|
|
||||||
fn report_awesome(r: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `4`
|
|
||||||
// Estimated: `3469`
|
|
||||||
// Minimum execution time: 27_741_000 picoseconds.
|
|
||||||
Weight::from_parts(28_495_173, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3469))
|
|
||||||
// Standard Error: 4
|
|
||||||
.saturating_add(Weight::from_parts(1_433, 0).saturating_mul(r.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
}
|
|
||||||
/// Storage: Tips Tips (r:1 w:1)
|
|
||||||
/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Tips Reasons (r:0 w:1)
|
|
||||||
/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
|
|
||||||
fn retract_tip() -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `221`
|
|
||||||
// Estimated: `3686`
|
|
||||||
// Minimum execution time: 27_275_000 picoseconds.
|
|
||||||
Weight::from_parts(27_649_000, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3686))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Tips Reasons (r:1 w:1)
|
|
||||||
/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Tips Tips (r:0 w:1)
|
|
||||||
/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `r` is `[0, 16384]`.
|
|
||||||
/// The range of component `t` is `[1, 19]`.
|
|
||||||
fn tip_new(r: u32, t: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `74 + t * (64 ±0)`
|
|
||||||
// Estimated: `3539 + t * (64 ±0)`
|
|
||||||
// Minimum execution time: 19_809_000 picoseconds.
|
|
||||||
Weight::from_parts(18_182_607, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3539))
|
|
||||||
// Standard Error: 5
|
|
||||||
.saturating_add(Weight::from_parts(1_303, 0).saturating_mul(r.into()))
|
|
||||||
// Standard Error: 5_156
|
|
||||||
.saturating_add(Weight::from_parts(151_789, 0).saturating_mul(t.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
.saturating_add(Weight::from_parts(0, 64).saturating_mul(t.into()))
|
|
||||||
}
|
|
||||||
/// Storage: PhragmenElection Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: Tips Tips (r:1 w:1)
|
|
||||||
/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `t` is `[1, 19]`.
|
|
||||||
fn tip(t: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `295 + t * (112 ±0)`
|
|
||||||
// Estimated: `3760 + t * (112 ±0)`
|
|
||||||
// Minimum execution time: 15_528_000 picoseconds.
|
|
||||||
Weight::from_parts(15_717_755, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3760))
|
|
||||||
// Standard Error: 6_569
|
|
||||||
.saturating_add(Weight::from_parts(146_426, 0).saturating_mul(t.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(2))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(1))
|
|
||||||
.saturating_add(Weight::from_parts(0, 112).saturating_mul(t.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Tips Tips (r:1 w:1)
|
|
||||||
/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: PhragmenElection Members (r:1 w:0)
|
|
||||||
/// Proof Skipped: PhragmenElection Members (max_values: Some(1), max_size: None, mode: Measured)
|
|
||||||
/// Storage: System Account (r:1 w:1)
|
|
||||||
/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
|
|
||||||
/// Storage: Tips Reasons (r:0 w:1)
|
|
||||||
/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `t` is `[1, 19]`.
|
|
||||||
fn close_tip(t: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `334 + t * (112 ±0)`
|
|
||||||
// Estimated: `3790 + t * (112 ±0)`
|
|
||||||
// Minimum execution time: 58_304_000 picoseconds.
|
|
||||||
Weight::from_parts(60_138_785, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3790))
|
|
||||||
// Standard Error: 7_636
|
|
||||||
.saturating_add(Weight::from_parts(86_665, 0).saturating_mul(t.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(3))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(3))
|
|
||||||
.saturating_add(Weight::from_parts(0, 112).saturating_mul(t.into()))
|
|
||||||
}
|
|
||||||
/// Storage: Tips Tips (r:1 w:1)
|
|
||||||
/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// Storage: Tips Reasons (r:0 w:1)
|
|
||||||
/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
|
|
||||||
/// The range of component `t` is `[1, 19]`.
|
|
||||||
fn slash_tip(t: u32, ) -> Weight {
|
|
||||||
// Proof Size summary in bytes:
|
|
||||||
// Measured: `269`
|
|
||||||
// Estimated: `3734`
|
|
||||||
// Minimum execution time: 15_097_000 picoseconds.
|
|
||||||
Weight::from_parts(15_497_872, 0)
|
|
||||||
.saturating_add(Weight::from_parts(0, 3734))
|
|
||||||
// Standard Error: 785
|
|
||||||
.saturating_add(Weight::from_parts(18_377, 0).saturating_mul(t.into()))
|
|
||||||
.saturating_add(T::DbWeight::get().reads(1))
|
|
||||||
.saturating_add(T::DbWeight::get().writes(2))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
// Copyright (C) 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_whitelist`
|
||||||
|
//!
|
||||||
|
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||||
|
//! DATE: 2023-08-25, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||||
|
//! WORST CASE MAP SIZE: `1000000`
|
||||||
|
//! HOSTNAME: `runner-aahe6cbd-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||||
|
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
|
||||||
|
|
||||||
|
// Executed Command:
|
||||||
|
// target/production/polkadot
|
||||||
|
// benchmark
|
||||||
|
// pallet
|
||||||
|
// --steps=50
|
||||||
|
// --repeat=20
|
||||||
|
// --extrinsic=*
|
||||||
|
// --wasm-execution=compiled
|
||||||
|
// --heap-pages=4096
|
||||||
|
// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
|
||||||
|
// --pallet=pallet_whitelist
|
||||||
|
// --chain=rococo-dev
|
||||||
|
// --header=./file_header.txt
|
||||||
|
// --output=./runtime/rococo/src/weights/
|
||||||
|
|
||||||
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||||
|
#![allow(unused_parens)]
|
||||||
|
#![allow(unused_imports)]
|
||||||
|
#![allow(missing_docs)]
|
||||||
|
|
||||||
|
use frame_support::{traits::Get, weights::Weight};
|
||||||
|
use core::marker::PhantomData;
|
||||||
|
|
||||||
|
/// Weight functions for `pallet_whitelist`.
|
||||||
|
pub struct WeightInfo<T>(PhantomData<T>);
|
||||||
|
impl<T: frame_system::Config> pallet_whitelist::WeightInfo for WeightInfo<T> {
|
||||||
|
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||||
|
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Preimage::StatusFor` (r:1 w:1)
|
||||||
|
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||||
|
fn whitelist_call() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `223`
|
||||||
|
// Estimated: `3556`
|
||||||
|
// Minimum execution time: 20_035_000 picoseconds.
|
||||||
|
Weight::from_parts(20_452_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3556))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||||
|
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Preimage::StatusFor` (r:1 w:1)
|
||||||
|
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||||
|
fn remove_whitelisted_call() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `352`
|
||||||
|
// Estimated: `3556`
|
||||||
|
// Minimum execution time: 20_247_000 picoseconds.
|
||||||
|
Weight::from_parts(20_808_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3556))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||||
|
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Preimage::PreimageFor` (r:1 w:1)
|
||||||
|
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`)
|
||||||
|
/// Storage: `Preimage::StatusFor` (r:1 w:1)
|
||||||
|
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `n` is `[1, 4194294]`.
|
||||||
|
fn dispatch_whitelisted_call(n: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `428 + n * (1 ±0)`
|
||||||
|
// Estimated: `3892 + n * (1 ±0)`
|
||||||
|
// Minimum execution time: 32_633_000 picoseconds.
|
||||||
|
Weight::from_parts(32_855_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3892))
|
||||||
|
// Standard Error: 1
|
||||||
|
.saturating_add(Weight::from_parts(1_223, 0).saturating_mul(n.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
|
||||||
|
}
|
||||||
|
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||||
|
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Preimage::StatusFor` (r:1 w:1)
|
||||||
|
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `n` is `[1, 10000]`.
|
||||||
|
fn dispatch_whitelisted_call_with_preimage(n: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `352`
|
||||||
|
// Estimated: `3556`
|
||||||
|
// Minimum execution time: 23_833_000 picoseconds.
|
||||||
|
Weight::from_parts(24_698_994, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3556))
|
||||||
|
// Standard Error: 4
|
||||||
|
.saturating_add(Weight::from_parts(1_454, 0).saturating_mul(n.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,9 +17,12 @@
|
|||||||
//! XCM configuration for Rococo.
|
//! XCM configuration for Rococo.
|
||||||
|
|
||||||
use super::{
|
use super::{
|
||||||
parachains_origin, AccountId, AllPalletsWithSystem, Balances, Dmp, ParaId, Runtime,
|
parachains_origin, AccountId, AllPalletsWithSystem, Balances, Dmp, Fellows, ParaId, Runtime,
|
||||||
RuntimeCall, RuntimeEvent, RuntimeOrigin, TransactionByteFee, WeightToFee, XcmPallet,
|
RuntimeCall, RuntimeEvent, RuntimeOrigin, TransactionByteFee, WeightToFee, XcmPallet,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
use crate::governance::StakingAdmin;
|
||||||
|
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
match_types, parameter_types,
|
match_types, parameter_types,
|
||||||
traits::{Everything, Nothing},
|
traits::{Everything, Nothing},
|
||||||
@@ -38,9 +41,9 @@ use xcm_builder::{
|
|||||||
AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, ChildParachainAsNative,
|
AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, ChildParachainAsNative,
|
||||||
ChildParachainConvertsVia, CurrencyAdapter as XcmCurrencyAdapter, DescribeBodyTerminal,
|
ChildParachainConvertsVia, CurrencyAdapter as XcmCurrencyAdapter, DescribeBodyTerminal,
|
||||||
DescribeFamily, FixedWeightBounds, HashedDescription, IsChildSystemParachain, IsConcrete,
|
DescribeFamily, FixedWeightBounds, HashedDescription, IsChildSystemParachain, IsConcrete,
|
||||||
MintLocation, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation,
|
MintLocation, OriginToPluralityVoice, SignedAccountId32AsNative, SignedToAccountId32,
|
||||||
TakeWeightCredit, TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin,
|
SovereignSignedViaLocation, TakeWeightCredit, TrailingSetTopicAsId, UsingComponents,
|
||||||
WithUniqueTopic,
|
WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
||||||
};
|
};
|
||||||
use xcm_executor::XcmExecutor;
|
use xcm_executor::XcmExecutor;
|
||||||
|
|
||||||
@@ -110,7 +113,7 @@ pub type XcmRouter = WithUniqueTopic<(
|
|||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const Roc: MultiAssetFilter = Wild(AllOf { fun: WildFungible, id: Concrete(TokenLocation::get()) });
|
pub const Roc: MultiAssetFilter = Wild(AllOf { fun: WildFungible, id: Concrete(TokenLocation::get()) });
|
||||||
pub const Rockmine: MultiLocation = Parachain(1000).into_location();
|
pub const AssetHub: MultiLocation = Parachain(1000).into_location();
|
||||||
pub const Contracts: MultiLocation = Parachain(1002).into_location();
|
pub const Contracts: MultiLocation = Parachain(1002).into_location();
|
||||||
pub const Encointer: MultiLocation = Parachain(1003).into_location();
|
pub const Encointer: MultiLocation = Parachain(1003).into_location();
|
||||||
pub const Tick: MultiLocation = Parachain(100).into_location();
|
pub const Tick: MultiLocation = Parachain(100).into_location();
|
||||||
@@ -119,7 +122,7 @@ parameter_types! {
|
|||||||
pub const RocForTick: (MultiAssetFilter, MultiLocation) = (Roc::get(), Tick::get());
|
pub const RocForTick: (MultiAssetFilter, MultiLocation) = (Roc::get(), Tick::get());
|
||||||
pub const RocForTrick: (MultiAssetFilter, MultiLocation) = (Roc::get(), Trick::get());
|
pub const RocForTrick: (MultiAssetFilter, MultiLocation) = (Roc::get(), Trick::get());
|
||||||
pub const RocForTrack: (MultiAssetFilter, MultiLocation) = (Roc::get(), Track::get());
|
pub const RocForTrack: (MultiAssetFilter, MultiLocation) = (Roc::get(), Track::get());
|
||||||
pub const RocForRockmine: (MultiAssetFilter, MultiLocation) = (Roc::get(), Rockmine::get());
|
pub const RocForAssetHub: (MultiAssetFilter, MultiLocation) = (Roc::get(), AssetHub::get());
|
||||||
pub const RocForContracts: (MultiAssetFilter, MultiLocation) = (Roc::get(), Contracts::get());
|
pub const RocForContracts: (MultiAssetFilter, MultiLocation) = (Roc::get(), Contracts::get());
|
||||||
pub const RocForEncointer: (MultiAssetFilter, MultiLocation) = (Roc::get(), Encointer::get());
|
pub const RocForEncointer: (MultiAssetFilter, MultiLocation) = (Roc::get(), Encointer::get());
|
||||||
pub const MaxInstructions: u32 = 100;
|
pub const MaxInstructions: u32 = 100;
|
||||||
@@ -129,7 +132,7 @@ pub type TrustedTeleporters = (
|
|||||||
xcm_builder::Case<RocForTick>,
|
xcm_builder::Case<RocForTick>,
|
||||||
xcm_builder::Case<RocForTrick>,
|
xcm_builder::Case<RocForTrick>,
|
||||||
xcm_builder::Case<RocForTrack>,
|
xcm_builder::Case<RocForTrack>,
|
||||||
xcm_builder::Case<RocForRockmine>,
|
xcm_builder::Case<RocForAssetHub>,
|
||||||
xcm_builder::Case<RocForContracts>,
|
xcm_builder::Case<RocForContracts>,
|
||||||
xcm_builder::Case<RocForEncointer>,
|
xcm_builder::Case<RocForEncointer>,
|
||||||
);
|
);
|
||||||
@@ -193,6 +196,14 @@ impl xcm_executor::Config for XcmConfig {
|
|||||||
type Aliasers = Nothing;
|
type Aliasers = Nothing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
parameter_types! {
|
||||||
|
pub const CollectiveBodyId: BodyId = BodyId::Unit;
|
||||||
|
// StakingAdmin pluralistic body.
|
||||||
|
pub const StakingAdminBodyId: BodyId = BodyId::Defense;
|
||||||
|
// Fellows pluralistic body.
|
||||||
|
pub const FellowsBodyId: BodyId = BodyId::Technical;
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(feature = "runtime-benchmarks")]
|
#[cfg(feature = "runtime-benchmarks")]
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub ReachableDest: Option<MultiLocation> = Some(Parachain(1000).into());
|
pub ReachableDest: Option<MultiLocation> = Some(Parachain(1000).into());
|
||||||
@@ -201,12 +212,33 @@ parameter_types! {
|
|||||||
/// Type to convert an `Origin` type value into a `MultiLocation` value which represents an interior
|
/// Type to convert an `Origin` type value into a `MultiLocation` value which represents an interior
|
||||||
/// location of this chain.
|
/// location of this chain.
|
||||||
pub type LocalOriginToLocation = (
|
pub type LocalOriginToLocation = (
|
||||||
// A usual Signed origin to be used in XCM as a corresponding AccountId32
|
// And a usual Signed origin to be used in XCM as a corresponding AccountId32
|
||||||
SignedToAccountId32<RuntimeOrigin, AccountId, ThisNetwork>,
|
SignedToAccountId32<RuntimeOrigin, AccountId, ThisNetwork>,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/// Type to convert the `StakingAdmin` origin to a Plurality `MultiLocation` value.
|
||||||
|
pub type StakingAdminToPlurality =
|
||||||
|
OriginToPluralityVoice<RuntimeOrigin, StakingAdmin, StakingAdminBodyId>;
|
||||||
|
|
||||||
|
/// Type to convert the Fellows origin to a Plurality `MultiLocation` value.
|
||||||
|
pub type FellowsToPlurality = OriginToPluralityVoice<RuntimeOrigin, Fellows, FellowsBodyId>;
|
||||||
|
|
||||||
|
/// Type to convert a pallet `Origin` type value into a `MultiLocation` value which represents an
|
||||||
|
/// interior location of this chain for a destination chain.
|
||||||
|
pub type LocalPalletOriginToLocation = (
|
||||||
|
// StakingAdmin origin to be used in XCM as a corresponding Plurality `MultiLocation` value.
|
||||||
|
StakingAdminToPlurality,
|
||||||
|
// Fellows origin to be used in XCM as a corresponding Plurality `MultiLocation` value.
|
||||||
|
FellowsToPlurality,
|
||||||
|
);
|
||||||
|
|
||||||
impl pallet_xcm::Config for Runtime {
|
impl pallet_xcm::Config for Runtime {
|
||||||
type RuntimeEvent = RuntimeEvent;
|
type RuntimeEvent = RuntimeEvent;
|
||||||
type SendXcmOrigin = xcm_builder::EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
|
// We only allow the root, fellows and the staking admin to send messages.
|
||||||
|
// This is basically safe to enable for everyone (safe the possibility of someone spamming the
|
||||||
|
// parachain if they're willing to pay the KSM to send from the Relay-chain), but it's useless
|
||||||
|
// until we bring in XCM v3 which will make `DescendOrigin` a bit more useful.
|
||||||
|
type SendXcmOrigin = xcm_builder::EnsureXcmOrigin<RuntimeOrigin, LocalPalletOriginToLocation>;
|
||||||
type XcmRouter = XcmRouter;
|
type XcmRouter = XcmRouter;
|
||||||
// Anyone can execute XCM messages locally.
|
// Anyone can execute XCM messages locally.
|
||||||
type ExecuteXcmOrigin = xcm_builder::EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
|
type ExecuteXcmOrigin = xcm_builder::EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ inherents = { package = "sp-inherents", path = "../../../substrate/primitives/in
|
|||||||
offchain-primitives = { package = "sp-offchain", path = "../../../substrate/primitives/offchain", default-features = false }
|
offchain-primitives = { package = "sp-offchain", path = "../../../substrate/primitives/offchain", default-features = false }
|
||||||
sp-api = { path = "../../../substrate/primitives/api", default-features = false }
|
sp-api = { path = "../../../substrate/primitives/api", default-features = false }
|
||||||
sp-application-crypto = { path = "../../../substrate/primitives/application-crypto", default-features = false }
|
sp-application-crypto = { path = "../../../substrate/primitives/application-crypto", default-features = false }
|
||||||
|
sp-arithmetic = { path = "../../../substrate/primitives/arithmetic", default-features = false }
|
||||||
sp-std = { package = "sp-std", path = "../../../substrate/primitives/std", default-features = false }
|
sp-std = { package = "sp-std", path = "../../../substrate/primitives/std", default-features = false }
|
||||||
sp-genesis-builder = { path = "../../../substrate/primitives/genesis-builder", default-features = false }
|
sp-genesis-builder = { path = "../../../substrate/primitives/genesis-builder", default-features = false }
|
||||||
sp-io = { path = "../../../substrate/primitives/io", default-features = false }
|
sp-io = { path = "../../../substrate/primitives/io", default-features = false }
|
||||||
@@ -65,10 +66,12 @@ pallet-message-queue = { path = "../../../substrate/frame/message-queue", defaul
|
|||||||
pallet-mmr = { path = "../../../substrate/frame/merkle-mountain-range", default-features = false }
|
pallet-mmr = { path = "../../../substrate/frame/merkle-mountain-range", default-features = false }
|
||||||
pallet-multisig = { path = "../../../substrate/frame/multisig", default-features = false }
|
pallet-multisig = { path = "../../../substrate/frame/multisig", default-features = false }
|
||||||
pallet-nomination-pools = { path = "../../../substrate/frame/nomination-pools", default-features = false }
|
pallet-nomination-pools = { path = "../../../substrate/frame/nomination-pools", default-features = false }
|
||||||
|
pallet-conviction-voting = { path = "../../../substrate/frame/conviction-voting", default-features = false }
|
||||||
pallet-offences = { path = "../../../substrate/frame/offences", default-features = false }
|
pallet-offences = { path = "../../../substrate/frame/offences", default-features = false }
|
||||||
pallet-preimage = { path = "../../../substrate/frame/preimage", default-features = false }
|
pallet-preimage = { path = "../../../substrate/frame/preimage", default-features = false }
|
||||||
pallet-proxy = { path = "../../../substrate/frame/proxy", default-features = false }
|
pallet-proxy = { path = "../../../substrate/frame/proxy", default-features = false }
|
||||||
pallet-recovery = { path = "../../../substrate/frame/recovery", default-features = false }
|
pallet-recovery = { path = "../../../substrate/frame/recovery", default-features = false }
|
||||||
|
pallet-referenda = { path = "../../../substrate/frame/referenda", default-features = false }
|
||||||
pallet-scheduler = { path = "../../../substrate/frame/scheduler", default-features = false }
|
pallet-scheduler = { path = "../../../substrate/frame/scheduler", default-features = false }
|
||||||
pallet-session = { path = "../../../substrate/frame/session", default-features = false }
|
pallet-session = { path = "../../../substrate/frame/session", default-features = false }
|
||||||
pallet-society = { path = "../../../substrate/frame/society", default-features = false }
|
pallet-society = { path = "../../../substrate/frame/society", default-features = false }
|
||||||
@@ -84,6 +87,7 @@ pallet-nomination-pools-runtime-api = { path = "../../../substrate/frame/nominat
|
|||||||
pallet-treasury = { path = "../../../substrate/frame/treasury", default-features = false }
|
pallet-treasury = { path = "../../../substrate/frame/treasury", default-features = false }
|
||||||
pallet-utility = { path = "../../../substrate/frame/utility", default-features = false }
|
pallet-utility = { path = "../../../substrate/frame/utility", default-features = false }
|
||||||
pallet-vesting = { path = "../../../substrate/frame/vesting", default-features = false }
|
pallet-vesting = { path = "../../../substrate/frame/vesting", default-features = false }
|
||||||
|
pallet-whitelist = { path = "../../../substrate/frame/whitelist", default-features = false }
|
||||||
pallet-xcm = { path = "../../xcm/pallet-xcm", 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 }
|
pallet-xcm-benchmarks = { path = "../../xcm/pallet-xcm-benchmarks", default-features = false, optional = true }
|
||||||
|
|
||||||
@@ -147,6 +151,7 @@ std = [
|
|||||||
"pallet-beefy-mmr/std",
|
"pallet-beefy-mmr/std",
|
||||||
"pallet-beefy/std",
|
"pallet-beefy/std",
|
||||||
"pallet-collective/std",
|
"pallet-collective/std",
|
||||||
|
"pallet-conviction-voting/std",
|
||||||
"pallet-democracy/std",
|
"pallet-democracy/std",
|
||||||
"pallet-election-provider-multi-phase/std",
|
"pallet-election-provider-multi-phase/std",
|
||||||
"pallet-election-provider-support-benchmarking?/std",
|
"pallet-election-provider-support-benchmarking?/std",
|
||||||
@@ -168,6 +173,7 @@ std = [
|
|||||||
"pallet-preimage/std",
|
"pallet-preimage/std",
|
||||||
"pallet-proxy/std",
|
"pallet-proxy/std",
|
||||||
"pallet-recovery/std",
|
"pallet-recovery/std",
|
||||||
|
"pallet-referenda/std",
|
||||||
"pallet-scheduler/std",
|
"pallet-scheduler/std",
|
||||||
"pallet-session-benchmarking?/std",
|
"pallet-session-benchmarking?/std",
|
||||||
"pallet-session/std",
|
"pallet-session/std",
|
||||||
@@ -182,6 +188,7 @@ std = [
|
|||||||
"pallet-treasury/std",
|
"pallet-treasury/std",
|
||||||
"pallet-utility/std",
|
"pallet-utility/std",
|
||||||
"pallet-vesting/std",
|
"pallet-vesting/std",
|
||||||
|
"pallet-whitelist/std",
|
||||||
"pallet-xcm-benchmarks?/std",
|
"pallet-xcm-benchmarks?/std",
|
||||||
"pallet-xcm/std",
|
"pallet-xcm/std",
|
||||||
"parity-scale-codec/std",
|
"parity-scale-codec/std",
|
||||||
@@ -195,6 +202,7 @@ std = [
|
|||||||
"serde_derive",
|
"serde_derive",
|
||||||
"sp-api/std",
|
"sp-api/std",
|
||||||
"sp-application-crypto/std",
|
"sp-application-crypto/std",
|
||||||
|
"sp-arithmetic/std",
|
||||||
"sp-core/std",
|
"sp-core/std",
|
||||||
"sp-genesis-builder/std",
|
"sp-genesis-builder/std",
|
||||||
"sp-io/std",
|
"sp-io/std",
|
||||||
@@ -224,6 +232,7 @@ runtime-benchmarks = [
|
|||||||
"pallet-bags-list/runtime-benchmarks",
|
"pallet-bags-list/runtime-benchmarks",
|
||||||
"pallet-balances/runtime-benchmarks",
|
"pallet-balances/runtime-benchmarks",
|
||||||
"pallet-collective/runtime-benchmarks",
|
"pallet-collective/runtime-benchmarks",
|
||||||
|
"pallet-conviction-voting/runtime-benchmarks",
|
||||||
"pallet-democracy/runtime-benchmarks",
|
"pallet-democracy/runtime-benchmarks",
|
||||||
"pallet-election-provider-multi-phase/runtime-benchmarks",
|
"pallet-election-provider-multi-phase/runtime-benchmarks",
|
||||||
"pallet-election-provider-support-benchmarking/runtime-benchmarks",
|
"pallet-election-provider-support-benchmarking/runtime-benchmarks",
|
||||||
@@ -244,6 +253,7 @@ runtime-benchmarks = [
|
|||||||
"pallet-preimage/runtime-benchmarks",
|
"pallet-preimage/runtime-benchmarks",
|
||||||
"pallet-proxy/runtime-benchmarks",
|
"pallet-proxy/runtime-benchmarks",
|
||||||
"pallet-recovery/runtime-benchmarks",
|
"pallet-recovery/runtime-benchmarks",
|
||||||
|
"pallet-referenda/runtime-benchmarks",
|
||||||
"pallet-scheduler/runtime-benchmarks",
|
"pallet-scheduler/runtime-benchmarks",
|
||||||
"pallet-session-benchmarking/runtime-benchmarks",
|
"pallet-session-benchmarking/runtime-benchmarks",
|
||||||
"pallet-society/runtime-benchmarks",
|
"pallet-society/runtime-benchmarks",
|
||||||
@@ -254,6 +264,7 @@ runtime-benchmarks = [
|
|||||||
"pallet-treasury/runtime-benchmarks",
|
"pallet-treasury/runtime-benchmarks",
|
||||||
"pallet-utility/runtime-benchmarks",
|
"pallet-utility/runtime-benchmarks",
|
||||||
"pallet-vesting/runtime-benchmarks",
|
"pallet-vesting/runtime-benchmarks",
|
||||||
|
"pallet-whitelist/runtime-benchmarks",
|
||||||
"pallet-xcm-benchmarks/runtime-benchmarks",
|
"pallet-xcm-benchmarks/runtime-benchmarks",
|
||||||
"pallet-xcm/runtime-benchmarks",
|
"pallet-xcm/runtime-benchmarks",
|
||||||
"polkadot-parachain-primitives/runtime-benchmarks",
|
"polkadot-parachain-primitives/runtime-benchmarks",
|
||||||
@@ -280,6 +291,7 @@ try-runtime = [
|
|||||||
"pallet-beefy-mmr/try-runtime",
|
"pallet-beefy-mmr/try-runtime",
|
||||||
"pallet-beefy/try-runtime",
|
"pallet-beefy/try-runtime",
|
||||||
"pallet-collective/try-runtime",
|
"pallet-collective/try-runtime",
|
||||||
|
"pallet-conviction-voting/try-runtime",
|
||||||
"pallet-democracy/try-runtime",
|
"pallet-democracy/try-runtime",
|
||||||
"pallet-election-provider-multi-phase/try-runtime",
|
"pallet-election-provider-multi-phase/try-runtime",
|
||||||
"pallet-elections-phragmen/try-runtime",
|
"pallet-elections-phragmen/try-runtime",
|
||||||
@@ -297,6 +309,7 @@ try-runtime = [
|
|||||||
"pallet-preimage/try-runtime",
|
"pallet-preimage/try-runtime",
|
||||||
"pallet-proxy/try-runtime",
|
"pallet-proxy/try-runtime",
|
||||||
"pallet-recovery/try-runtime",
|
"pallet-recovery/try-runtime",
|
||||||
|
"pallet-referenda/try-runtime",
|
||||||
"pallet-scheduler/try-runtime",
|
"pallet-scheduler/try-runtime",
|
||||||
"pallet-session/try-runtime",
|
"pallet-session/try-runtime",
|
||||||
"pallet-society/try-runtime",
|
"pallet-society/try-runtime",
|
||||||
@@ -308,6 +321,7 @@ try-runtime = [
|
|||||||
"pallet-treasury/try-runtime",
|
"pallet-treasury/try-runtime",
|
||||||
"pallet-utility/try-runtime",
|
"pallet-utility/try-runtime",
|
||||||
"pallet-vesting/try-runtime",
|
"pallet-vesting/try-runtime",
|
||||||
|
"pallet-whitelist/try-runtime",
|
||||||
"pallet-xcm/try-runtime",
|
"pallet-xcm/try-runtime",
|
||||||
"runtime-common/try-runtime",
|
"runtime-common/try-runtime",
|
||||||
"runtime-parachains/try-runtime",
|
"runtime-parachains/try-runtime",
|
||||||
|
|||||||
@@ -96,6 +96,26 @@ pub mod fee {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// XCM protocol related constants.
|
||||||
|
pub mod xcm {
|
||||||
|
/// Pluralistic bodies existing within the consensus.
|
||||||
|
pub mod body {
|
||||||
|
// Preallocated for the Root body.
|
||||||
|
#[allow(dead_code)]
|
||||||
|
const ROOT_INDEX: u32 = 0;
|
||||||
|
// The bodies corresponding to the Polkadot OpenGov Origins.
|
||||||
|
pub const FELLOWSHIP_ADMIN_INDEX: u32 = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// System Parachains.
|
||||||
|
pub mod system_parachain {
|
||||||
|
/// Statemint parachain ID.
|
||||||
|
pub const ASSET_HUB_ID: u32 = 1000;
|
||||||
|
/// Collectives parachain ID.
|
||||||
|
pub const COLLECTIVES_ID: u32 = 1001;
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::{
|
use super::{
|
||||||
|
|||||||
@@ -0,0 +1,97 @@
|
|||||||
|
// Copyright (C) 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/>.
|
||||||
|
|
||||||
|
//! New governance configurations for the Kusama runtime.
|
||||||
|
|
||||||
|
use super::*;
|
||||||
|
use crate::xcm_config::Collectives;
|
||||||
|
use frame_support::{parameter_types, traits::EitherOf};
|
||||||
|
use frame_system::EnsureRootWithSuccess;
|
||||||
|
use pallet_xcm::{EnsureXcm, IsVoiceOfBody};
|
||||||
|
use xcm::latest::BodyId;
|
||||||
|
|
||||||
|
mod origins;
|
||||||
|
pub use origins::{
|
||||||
|
pallet_custom_origins, AuctionAdmin, FellowshipAdmin, GeneralAdmin, LeaseAdmin,
|
||||||
|
ReferendumCanceller, ReferendumKiller, Spender, StakingAdmin, Treasurer, WhitelistedCaller,
|
||||||
|
};
|
||||||
|
mod tracks;
|
||||||
|
pub use tracks::TracksInfo;
|
||||||
|
|
||||||
|
parameter_types! {
|
||||||
|
pub const VoteLockingPeriod: BlockNumber = 7 * DAYS;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl pallet_conviction_voting::Config for Runtime {
|
||||||
|
type WeightInfo = weights::pallet_conviction_voting::WeightInfo<Self>;
|
||||||
|
type RuntimeEvent = RuntimeEvent;
|
||||||
|
type Currency = Balances;
|
||||||
|
type VoteLockingPeriod = VoteLockingPeriod;
|
||||||
|
type MaxVotes = ConstU32<512>;
|
||||||
|
type MaxTurnout =
|
||||||
|
frame_support::traits::tokens::currency::ActiveIssuanceOf<Balances, Self::AccountId>;
|
||||||
|
type Polls = Referenda;
|
||||||
|
}
|
||||||
|
|
||||||
|
parameter_types! {
|
||||||
|
pub const AlarmInterval: BlockNumber = 1;
|
||||||
|
pub const SubmissionDeposit: Balance = 1 * 3 * CENTS;
|
||||||
|
pub const UndecidingTimeout: BlockNumber = 14 * DAYS;
|
||||||
|
}
|
||||||
|
|
||||||
|
parameter_types! {
|
||||||
|
pub const MaxBalance: Balance = Balance::max_value();
|
||||||
|
}
|
||||||
|
pub type TreasurySpender = EitherOf<EnsureRootWithSuccess<AccountId, MaxBalance>, Spender>;
|
||||||
|
|
||||||
|
impl origins::pallet_custom_origins::Config for Runtime {}
|
||||||
|
|
||||||
|
parameter_types! {
|
||||||
|
// Fellows pluralistic body.
|
||||||
|
pub const FellowsBodyId: BodyId = BodyId::Technical;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl pallet_whitelist::Config for Runtime {
|
||||||
|
type WeightInfo = weights::pallet_whitelist::WeightInfo<Self>;
|
||||||
|
type RuntimeCall = RuntimeCall;
|
||||||
|
type RuntimeEvent = RuntimeEvent;
|
||||||
|
type WhitelistOrigin = EitherOfDiverse<
|
||||||
|
EnsureRoot<Self::AccountId>,
|
||||||
|
EnsureXcm<IsVoiceOfBody<Collectives, FellowsBodyId>>,
|
||||||
|
>;
|
||||||
|
type DispatchWhitelistedOrigin = EitherOf<EnsureRoot<Self::AccountId>, WhitelistedCaller>;
|
||||||
|
type Preimages = Preimage;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl pallet_referenda::Config for Runtime {
|
||||||
|
type WeightInfo = weights::pallet_referenda_referenda::WeightInfo<Self>;
|
||||||
|
type RuntimeCall = RuntimeCall;
|
||||||
|
type RuntimeEvent = RuntimeEvent;
|
||||||
|
type Scheduler = Scheduler;
|
||||||
|
type Currency = Balances;
|
||||||
|
type SubmitOrigin = frame_system::EnsureSigned<AccountId>;
|
||||||
|
type CancelOrigin = EitherOf<EnsureRoot<AccountId>, ReferendumCanceller>;
|
||||||
|
type KillOrigin = EitherOf<EnsureRoot<AccountId>, ReferendumKiller>;
|
||||||
|
type Slash = Treasury;
|
||||||
|
type Votes = pallet_conviction_voting::VotesOf<Runtime>;
|
||||||
|
type Tally = pallet_conviction_voting::TallyOf<Runtime>;
|
||||||
|
type SubmissionDeposit = SubmissionDeposit;
|
||||||
|
type MaxQueued = ConstU32<100>;
|
||||||
|
type UndecidingTimeout = UndecidingTimeout;
|
||||||
|
type AlarmInterval = AlarmInterval;
|
||||||
|
type Tracks = TracksInfo;
|
||||||
|
type Preimages = Preimage;
|
||||||
|
}
|
||||||
@@ -0,0 +1,194 @@
|
|||||||
|
// Copyright (C) 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/>.
|
||||||
|
|
||||||
|
//! Custom origins for governance interventions.
|
||||||
|
|
||||||
|
pub use pallet_custom_origins::*;
|
||||||
|
|
||||||
|
#[frame_support::pallet]
|
||||||
|
pub mod pallet_custom_origins {
|
||||||
|
use crate::{Balance, CENTS, GRAND};
|
||||||
|
use frame_support::pallet_prelude::*;
|
||||||
|
|
||||||
|
#[pallet::config]
|
||||||
|
pub trait Config: frame_system::Config {}
|
||||||
|
|
||||||
|
#[pallet::pallet]
|
||||||
|
pub struct Pallet<T>(_);
|
||||||
|
|
||||||
|
#[derive(PartialEq, Eq, Clone, MaxEncodedLen, Encode, Decode, TypeInfo, RuntimeDebug)]
|
||||||
|
#[pallet::origin]
|
||||||
|
pub enum Origin {
|
||||||
|
/// Origin for cancelling slashes.
|
||||||
|
StakingAdmin,
|
||||||
|
/// Origin for spending (any amount of) funds.
|
||||||
|
Treasurer,
|
||||||
|
/// Origin for managing the composition of the fellowship.
|
||||||
|
FellowshipAdmin,
|
||||||
|
/// Origin for managing the registrar.
|
||||||
|
GeneralAdmin,
|
||||||
|
/// Origin for starting auctions.
|
||||||
|
AuctionAdmin,
|
||||||
|
/// Origin able to force slot leases.
|
||||||
|
LeaseAdmin,
|
||||||
|
/// Origin able to cancel referenda.
|
||||||
|
ReferendumCanceller,
|
||||||
|
/// Origin able to kill referenda.
|
||||||
|
ReferendumKiller,
|
||||||
|
/// Origin able to spend up to 1 KSM from the treasury at once.
|
||||||
|
SmallTipper,
|
||||||
|
/// Origin able to spend up to 5 KSM from the treasury at once.
|
||||||
|
BigTipper,
|
||||||
|
/// Origin able to spend up to 50 KSM from the treasury at once.
|
||||||
|
SmallSpender,
|
||||||
|
/// Origin able to spend up to 500 KSM from the treasury at once.
|
||||||
|
MediumSpender,
|
||||||
|
/// Origin able to spend up to 5,000 KSM from the treasury at once.
|
||||||
|
BigSpender,
|
||||||
|
/// Origin able to dispatch a whitelisted call.
|
||||||
|
WhitelistedCaller,
|
||||||
|
/// Origin commanded by any members of the Polkadot Fellowship (no Dan grade needed).
|
||||||
|
FellowshipInitiates,
|
||||||
|
/// Origin commanded by Polkadot Fellows (3rd Dan fellows or greater).
|
||||||
|
Fellows,
|
||||||
|
/// Origin commanded by Polkadot Experts (5th Dan fellows or greater).
|
||||||
|
FellowshipExperts,
|
||||||
|
/// Origin commanded by Polkadot Masters (7th Dan fellows of greater).
|
||||||
|
FellowshipMasters,
|
||||||
|
/// Origin commanded by rank 1 of the Polkadot Fellowship and with a success of 1.
|
||||||
|
Fellowship1Dan,
|
||||||
|
/// Origin commanded by rank 2 of the Polkadot Fellowship and with a success of 2.
|
||||||
|
Fellowship2Dan,
|
||||||
|
/// Origin commanded by rank 3 of the Polkadot Fellowship and with a success of 3.
|
||||||
|
Fellowship3Dan,
|
||||||
|
/// Origin commanded by rank 4 of the Polkadot Fellowship and with a success of 4.
|
||||||
|
Fellowship4Dan,
|
||||||
|
/// Origin commanded by rank 5 of the Polkadot Fellowship and with a success of 5.
|
||||||
|
Fellowship5Dan,
|
||||||
|
/// Origin commanded by rank 6 of the Polkadot Fellowship and with a success of 6.
|
||||||
|
Fellowship6Dan,
|
||||||
|
/// Origin commanded by rank 7 of the Polkadot Fellowship and with a success of 7.
|
||||||
|
Fellowship7Dan,
|
||||||
|
/// Origin commanded by rank 8 of the Polkadot Fellowship and with a success of 8.
|
||||||
|
Fellowship8Dan,
|
||||||
|
/// Origin commanded by rank 9 of the Polkadot Fellowship and with a success of 9.
|
||||||
|
Fellowship9Dan,
|
||||||
|
}
|
||||||
|
|
||||||
|
macro_rules! decl_unit_ensures {
|
||||||
|
( $name:ident: $success_type:ty = $success:expr ) => {
|
||||||
|
pub struct $name;
|
||||||
|
impl<O: Into<Result<Origin, O>> + From<Origin>>
|
||||||
|
EnsureOrigin<O> for $name
|
||||||
|
{
|
||||||
|
type Success = $success_type;
|
||||||
|
fn try_origin(o: O) -> Result<Self::Success, O> {
|
||||||
|
o.into().and_then(|o| match o {
|
||||||
|
Origin::$name => Ok($success),
|
||||||
|
r => Err(O::from(r)),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
#[cfg(feature = "runtime-benchmarks")]
|
||||||
|
fn try_successful_origin() -> Result<O, ()> {
|
||||||
|
Ok(O::from(Origin::$name))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
( $name:ident ) => { decl_unit_ensures! { $name : () = () } };
|
||||||
|
( $name:ident: $success_type:ty = $success:expr, $( $rest:tt )* ) => {
|
||||||
|
decl_unit_ensures! { $name: $success_type = $success }
|
||||||
|
decl_unit_ensures! { $( $rest )* }
|
||||||
|
};
|
||||||
|
( $name:ident, $( $rest:tt )* ) => {
|
||||||
|
decl_unit_ensures! { $name }
|
||||||
|
decl_unit_ensures! { $( $rest )* }
|
||||||
|
};
|
||||||
|
() => {}
|
||||||
|
}
|
||||||
|
decl_unit_ensures!(
|
||||||
|
StakingAdmin,
|
||||||
|
Treasurer,
|
||||||
|
FellowshipAdmin,
|
||||||
|
GeneralAdmin,
|
||||||
|
AuctionAdmin,
|
||||||
|
LeaseAdmin,
|
||||||
|
ReferendumCanceller,
|
||||||
|
ReferendumKiller,
|
||||||
|
WhitelistedCaller,
|
||||||
|
FellowshipInitiates: u16 = 0,
|
||||||
|
Fellows: u16 = 3,
|
||||||
|
FellowshipExperts: u16 = 5,
|
||||||
|
FellowshipMasters: u16 = 7,
|
||||||
|
);
|
||||||
|
|
||||||
|
macro_rules! decl_ensure {
|
||||||
|
(
|
||||||
|
$vis:vis type $name:ident: EnsureOrigin<Success = $success_type:ty> {
|
||||||
|
$( $item:ident = $success:expr, )*
|
||||||
|
}
|
||||||
|
) => {
|
||||||
|
$vis struct $name;
|
||||||
|
impl<O: Into<Result<Origin, O>> + From<Origin>>
|
||||||
|
EnsureOrigin<O> for $name
|
||||||
|
{
|
||||||
|
type Success = $success_type;
|
||||||
|
fn try_origin(o: O) -> Result<Self::Success, O> {
|
||||||
|
o.into().and_then(|o| match o {
|
||||||
|
$(
|
||||||
|
Origin::$item => Ok($success),
|
||||||
|
)*
|
||||||
|
r => Err(O::from(r)),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
#[cfg(feature = "runtime-benchmarks")]
|
||||||
|
fn try_successful_origin() -> Result<O, ()> {
|
||||||
|
// By convention the more privileged origins go later, so for greatest chance
|
||||||
|
// of success, we want the last one.
|
||||||
|
let _result: Result<O, ()> = Err(());
|
||||||
|
$(
|
||||||
|
let _result: Result<O, ()> = Ok(O::from(Origin::$item));
|
||||||
|
)*
|
||||||
|
_result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
decl_ensure! {
|
||||||
|
pub type Spender: EnsureOrigin<Success = Balance> {
|
||||||
|
SmallTipper = 250 * 3 * CENTS,
|
||||||
|
BigTipper = 1 * GRAND,
|
||||||
|
SmallSpender = 10 * GRAND,
|
||||||
|
MediumSpender = 100 * GRAND,
|
||||||
|
BigSpender = 1_000 * GRAND,
|
||||||
|
Treasurer = 10_000 * GRAND,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
decl_ensure! {
|
||||||
|
pub type EnsureFellowship: EnsureOrigin<Success = u16> {
|
||||||
|
Fellowship1Dan = 1,
|
||||||
|
Fellowship2Dan = 2,
|
||||||
|
Fellowship3Dan = 3,
|
||||||
|
Fellowship4Dan = 4,
|
||||||
|
Fellowship5Dan = 5,
|
||||||
|
Fellowship6Dan = 6,
|
||||||
|
Fellowship7Dan = 7,
|
||||||
|
Fellowship8Dan = 8,
|
||||||
|
Fellowship9Dan = 9,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,320 @@
|
|||||||
|
// Copyright (C) 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/>.
|
||||||
|
|
||||||
|
//! Track configurations for governance.
|
||||||
|
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
const fn percent(x: i32) -> sp_arithmetic::FixedI64 {
|
||||||
|
sp_arithmetic::FixedI64::from_rational(x as u128, 100)
|
||||||
|
}
|
||||||
|
use pallet_referenda::Curve;
|
||||||
|
const APP_ROOT: Curve = Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||||
|
const SUP_ROOT: Curve = Curve::make_linear(28, 28, percent(0), percent(50));
|
||||||
|
const APP_STAKING_ADMIN: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_STAKING_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_TREASURER: Curve = Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||||
|
const SUP_TREASURER: Curve = Curve::make_linear(28, 28, percent(0), percent(50));
|
||||||
|
const APP_FELLOWSHIP_ADMIN: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_FELLOWSHIP_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_GENERAL_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||||
|
const SUP_GENERAL_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(7, 28, percent(10), percent(0), percent(50));
|
||||||
|
const APP_AUCTION_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
|
||||||
|
const SUP_AUCTION_ADMIN: Curve =
|
||||||
|
Curve::make_reciprocal(7, 28, percent(10), percent(0), percent(50));
|
||||||
|
const APP_LEASE_ADMIN: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_LEASE_ADMIN: Curve = Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_REFERENDUM_CANCELLER: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_REFERENDUM_CANCELLER: Curve =
|
||||||
|
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_REFERENDUM_KILLER: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_REFERENDUM_KILLER: Curve =
|
||||||
|
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_SMALL_TIPPER: Curve = Curve::make_linear(10, 28, percent(50), percent(100));
|
||||||
|
const SUP_SMALL_TIPPER: Curve = Curve::make_reciprocal(1, 28, percent(4), percent(0), percent(50));
|
||||||
|
const APP_BIG_TIPPER: Curve = Curve::make_linear(10, 28, percent(50), percent(100));
|
||||||
|
const SUP_BIG_TIPPER: Curve = Curve::make_reciprocal(8, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_SMALL_SPENDER: Curve = Curve::make_linear(17, 28, percent(50), percent(100));
|
||||||
|
const SUP_SMALL_SPENDER: Curve =
|
||||||
|
Curve::make_reciprocal(12, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_MEDIUM_SPENDER: Curve = Curve::make_linear(23, 28, percent(50), percent(100));
|
||||||
|
const SUP_MEDIUM_SPENDER: Curve =
|
||||||
|
Curve::make_reciprocal(16, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_BIG_SPENDER: Curve = Curve::make_linear(28, 28, percent(50), percent(100));
|
||||||
|
const SUP_BIG_SPENDER: Curve = Curve::make_reciprocal(20, 28, percent(1), percent(0), percent(50));
|
||||||
|
const APP_WHITELISTED_CALLER: Curve =
|
||||||
|
Curve::make_reciprocal(16, 28 * 24, percent(96), percent(50), percent(100));
|
||||||
|
const SUP_WHITELISTED_CALLER: Curve =
|
||||||
|
Curve::make_reciprocal(1, 28, percent(20), percent(5), percent(50));
|
||||||
|
|
||||||
|
const TRACKS_DATA: [(u16, pallet_referenda::TrackInfo<Balance, BlockNumber>); 15] = [
|
||||||
|
(
|
||||||
|
0,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "root",
|
||||||
|
max_deciding: 1,
|
||||||
|
decision_deposit: 100 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 12 * MINUTES,
|
||||||
|
min_enactment_period: 5 * MINUTES,
|
||||||
|
min_approval: APP_ROOT,
|
||||||
|
min_support: SUP_ROOT,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
1,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "whitelisted_caller",
|
||||||
|
max_deciding: 100,
|
||||||
|
decision_deposit: 10 * GRAND,
|
||||||
|
prepare_period: 6 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 4 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_WHITELISTED_CALLER,
|
||||||
|
min_support: SUP_WHITELISTED_CALLER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
10,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "staking_admin",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 5 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_STAKING_ADMIN,
|
||||||
|
min_support: SUP_STAKING_ADMIN,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
11,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "treasurer",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 1 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 5 * MINUTES,
|
||||||
|
min_approval: APP_TREASURER,
|
||||||
|
min_support: SUP_TREASURER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
12,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "lease_admin",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 5 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_LEASE_ADMIN,
|
||||||
|
min_support: SUP_LEASE_ADMIN,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
13,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "fellowship_admin",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 5 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_FELLOWSHIP_ADMIN,
|
||||||
|
min_support: SUP_FELLOWSHIP_ADMIN,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
14,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "general_admin",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 5 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_GENERAL_ADMIN,
|
||||||
|
min_support: SUP_GENERAL_ADMIN,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
15,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "auction_admin",
|
||||||
|
max_deciding: 10,
|
||||||
|
decision_deposit: 5 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_AUCTION_ADMIN,
|
||||||
|
min_support: SUP_AUCTION_ADMIN,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
20,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "referendum_canceller",
|
||||||
|
max_deciding: 1_000,
|
||||||
|
decision_deposit: 10 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 14 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_REFERENDUM_CANCELLER,
|
||||||
|
min_support: SUP_REFERENDUM_CANCELLER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
21,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "referendum_killer",
|
||||||
|
max_deciding: 1_000,
|
||||||
|
decision_deposit: 50 * GRAND,
|
||||||
|
prepare_period: 8 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 8 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_REFERENDUM_KILLER,
|
||||||
|
min_support: SUP_REFERENDUM_KILLER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
30,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "small_tipper",
|
||||||
|
max_deciding: 200,
|
||||||
|
decision_deposit: 1 * 3 * CENTS,
|
||||||
|
prepare_period: 1 * MINUTES,
|
||||||
|
decision_period: 14 * MINUTES,
|
||||||
|
confirm_period: 4 * MINUTES,
|
||||||
|
min_enactment_period: 1 * MINUTES,
|
||||||
|
min_approval: APP_SMALL_TIPPER,
|
||||||
|
min_support: SUP_SMALL_TIPPER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
31,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "big_tipper",
|
||||||
|
max_deciding: 100,
|
||||||
|
decision_deposit: 10 * 3 * CENTS,
|
||||||
|
prepare_period: 4 * MINUTES,
|
||||||
|
decision_period: 14 * MINUTES,
|
||||||
|
confirm_period: 12 * MINUTES,
|
||||||
|
min_enactment_period: 3 * MINUTES,
|
||||||
|
min_approval: APP_BIG_TIPPER,
|
||||||
|
min_support: SUP_BIG_TIPPER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
32,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "small_spender",
|
||||||
|
max_deciding: 50,
|
||||||
|
decision_deposit: 100 * 3 * CENTS,
|
||||||
|
prepare_period: 10 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 10 * MINUTES,
|
||||||
|
min_enactment_period: 5 * MINUTES,
|
||||||
|
min_approval: APP_SMALL_SPENDER,
|
||||||
|
min_support: SUP_SMALL_SPENDER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
33,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "medium_spender",
|
||||||
|
max_deciding: 50,
|
||||||
|
decision_deposit: 200 * 3 * CENTS,
|
||||||
|
prepare_period: 10 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 12 * MINUTES,
|
||||||
|
min_enactment_period: 5 * MINUTES,
|
||||||
|
min_approval: APP_MEDIUM_SPENDER,
|
||||||
|
min_support: SUP_MEDIUM_SPENDER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
34,
|
||||||
|
pallet_referenda::TrackInfo {
|
||||||
|
name: "big_spender",
|
||||||
|
max_deciding: 50,
|
||||||
|
decision_deposit: 400 * 3 * CENTS,
|
||||||
|
prepare_period: 10 * MINUTES,
|
||||||
|
decision_period: 20 * MINUTES,
|
||||||
|
confirm_period: 14 * MINUTES,
|
||||||
|
min_enactment_period: 5 * MINUTES,
|
||||||
|
min_approval: APP_BIG_SPENDER,
|
||||||
|
min_support: SUP_BIG_SPENDER,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
];
|
||||||
|
|
||||||
|
pub struct TracksInfo;
|
||||||
|
impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
|
||||||
|
type Id = u16;
|
||||||
|
type RuntimeOrigin = <RuntimeOrigin as frame_support::traits::OriginTrait>::PalletsOrigin;
|
||||||
|
fn tracks() -> &'static [(Self::Id, pallet_referenda::TrackInfo<Balance, BlockNumber>)] {
|
||||||
|
&TRACKS_DATA[..]
|
||||||
|
}
|
||||||
|
fn track_for(id: &Self::RuntimeOrigin) -> Result<Self::Id, ()> {
|
||||||
|
if let Ok(system_origin) = frame_system::RawOrigin::try_from(id.clone()) {
|
||||||
|
match system_origin {
|
||||||
|
frame_system::RawOrigin::Root => Ok(0),
|
||||||
|
_ => Err(()),
|
||||||
|
}
|
||||||
|
} else if let Ok(custom_origin) = origins::Origin::try_from(id.clone()) {
|
||||||
|
match custom_origin {
|
||||||
|
origins::Origin::WhitelistedCaller => Ok(1),
|
||||||
|
// General admin
|
||||||
|
origins::Origin::StakingAdmin => Ok(10),
|
||||||
|
origins::Origin::Treasurer => Ok(11),
|
||||||
|
origins::Origin::LeaseAdmin => Ok(12),
|
||||||
|
origins::Origin::FellowshipAdmin => Ok(13),
|
||||||
|
origins::Origin::GeneralAdmin => Ok(14),
|
||||||
|
origins::Origin::AuctionAdmin => Ok(15),
|
||||||
|
// Referendum admins
|
||||||
|
origins::Origin::ReferendumCanceller => Ok(20),
|
||||||
|
origins::Origin::ReferendumKiller => Ok(21),
|
||||||
|
// Limited treasury spenders
|
||||||
|
origins::Origin::SmallTipper => Ok(30),
|
||||||
|
origins::Origin::BigTipper => Ok(31),
|
||||||
|
origins::Origin::SmallSpender => Ok(32),
|
||||||
|
origins::Origin::MediumSpender => Ok(33),
|
||||||
|
origins::Origin::BigSpender => Ok(34),
|
||||||
|
_ => Err(()),
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Err(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pallet_referenda::impl_tracksinfo_get!(TracksInfo, Balance, BlockNumber);
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
//! The Westend runtime. This can be compiled with `#[no_std]`, ready for Wasm.
|
//! The Westend runtime. This can be compiled with `#[no_std]`, ready for Wasm.
|
||||||
|
|
||||||
#![cfg_attr(not(feature = "std"), no_std)]
|
#![cfg_attr(not(feature = "std"), no_std)]
|
||||||
// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 512.
|
// `construct_runtime!` does a lot of recursion and requires us to increase the limit.
|
||||||
#![recursion_limit = "512"]
|
#![recursion_limit = "512"]
|
||||||
|
|
||||||
use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId;
|
use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId;
|
||||||
@@ -31,9 +31,9 @@ use frame_support::{
|
|||||||
genesis_builder_helper::{build_config, create_default_config},
|
genesis_builder_helper::{build_config, create_default_config},
|
||||||
parameter_types,
|
parameter_types,
|
||||||
traits::{
|
traits::{
|
||||||
fungible::HoldConsideration, ConstU32, Contains, EverythingBut, InstanceFilter,
|
fungible::HoldConsideration, ConstU32, Contains, EitherOf, EitherOfDiverse, EverythingBut,
|
||||||
KeyOwnerProofSystem, LinearStoragePrice, ProcessMessage, ProcessMessageError,
|
InstanceFilter, KeyOwnerProofSystem, LinearStoragePrice, ProcessMessage,
|
||||||
WithdrawReasons,
|
ProcessMessageError, WithdrawReasons,
|
||||||
},
|
},
|
||||||
weights::{ConstantMultiplier, WeightMeter},
|
weights::{ConstantMultiplier, WeightMeter},
|
||||||
PalletId,
|
PalletId,
|
||||||
@@ -80,7 +80,7 @@ use sp_runtime::{
|
|||||||
Keccak256, OpaqueKeys, SaturatedConversion, Verify,
|
Keccak256, OpaqueKeys, SaturatedConversion, Verify,
|
||||||
},
|
},
|
||||||
transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity},
|
transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity},
|
||||||
ApplyExtrinsicResult, FixedU128, KeyTypeId, Perbill, Percent,
|
ApplyExtrinsicResult, FixedU128, KeyTypeId, Perbill, Percent, Permill,
|
||||||
};
|
};
|
||||||
use sp_staking::SessionIndex;
|
use sp_staking::SessionIndex;
|
||||||
use sp_std::{collections::btree_map::BTreeMap, prelude::*};
|
use sp_std::{collections::btree_map::BTreeMap, prelude::*};
|
||||||
@@ -107,6 +107,13 @@ mod bag_thresholds;
|
|||||||
mod weights;
|
mod weights;
|
||||||
pub mod xcm_config;
|
pub mod xcm_config;
|
||||||
|
|
||||||
|
// Governance and configurations.
|
||||||
|
pub mod governance;
|
||||||
|
use governance::{
|
||||||
|
pallet_custom_origins, AuctionAdmin, FellowshipAdmin, GeneralAdmin, LeaseAdmin, StakingAdmin,
|
||||||
|
Treasurer, TreasurySpender,
|
||||||
|
};
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests;
|
mod tests;
|
||||||
|
|
||||||
@@ -122,7 +129,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
|
|||||||
spec_name: create_runtime_str!("westend"),
|
spec_name: create_runtime_str!("westend"),
|
||||||
impl_name: create_runtime_str!("parity-westend"),
|
impl_name: create_runtime_str!("parity-westend"),
|
||||||
authoring_version: 2,
|
authoring_version: 2,
|
||||||
spec_version: 9430,
|
spec_version: 10020,
|
||||||
impl_version: 0,
|
impl_version: 0,
|
||||||
apis: RUNTIME_API_VERSIONS,
|
apis: RUNTIME_API_VERSIONS,
|
||||||
transaction_version: 22,
|
transaction_version: 22,
|
||||||
@@ -197,7 +204,9 @@ impl pallet_scheduler::Config for Runtime {
|
|||||||
type PalletsOrigin = OriginCaller;
|
type PalletsOrigin = OriginCaller;
|
||||||
type RuntimeCall = RuntimeCall;
|
type RuntimeCall = RuntimeCall;
|
||||||
type MaximumWeight = MaximumSchedulerWeight;
|
type MaximumWeight = MaximumSchedulerWeight;
|
||||||
type ScheduleOrigin = EnsureRoot<AccountId>;
|
// The goal of having ScheduleOrigin include AuctionAdmin is to allow the auctions track of
|
||||||
|
// OpenGov to schedule periodic auctions.
|
||||||
|
type ScheduleOrigin = EitherOf<EnsureRoot<AccountId>, AuctionAdmin>;
|
||||||
type MaxScheduledPerBlock = MaxScheduledPerBlock;
|
type MaxScheduledPerBlock = MaxScheduledPerBlock;
|
||||||
type WeightInfo = weights::pallet_scheduler::WeightInfo<Runtime>;
|
type WeightInfo = weights::pallet_scheduler::WeightInfo<Runtime>;
|
||||||
type OriginPrivilegeCmp = frame_support::traits::EqualPrivilegeOnly;
|
type OriginPrivilegeCmp = frame_support::traits::EqualPrivilegeOnly;
|
||||||
@@ -683,7 +692,40 @@ impl pallet_fast_unstake::Config for Runtime {
|
|||||||
}
|
}
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
|
pub const ProposalBond: Permill = Permill::from_percent(5);
|
||||||
|
pub const ProposalBondMinimum: Balance = 2000 * CENTS;
|
||||||
|
pub const ProposalBondMaximum: Balance = 1 * GRAND;
|
||||||
|
pub const SpendPeriod: BlockNumber = 6 * DAYS;
|
||||||
|
pub const Burn: Permill = Permill::from_perthousand(2);
|
||||||
|
pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry");
|
||||||
|
|
||||||
|
pub const TipCountdown: BlockNumber = 1 * DAYS;
|
||||||
|
pub const TipFindersFee: Percent = Percent::from_percent(20);
|
||||||
|
pub const TipReportDepositBase: Balance = 100 * CENTS;
|
||||||
|
pub const DataDepositPerByte: Balance = 1 * CENTS;
|
||||||
|
pub const MaxApprovals: u32 = 100;
|
||||||
pub const MaxAuthorities: u32 = 100_000;
|
pub const MaxAuthorities: u32 = 100_000;
|
||||||
|
pub const MaxKeys: u32 = 10_000;
|
||||||
|
pub const MaxPeerInHeartbeats: u32 = 10_000;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl pallet_treasury::Config for Runtime {
|
||||||
|
type PalletId = TreasuryPalletId;
|
||||||
|
type Currency = Balances;
|
||||||
|
type ApproveOrigin = EitherOfDiverse<EnsureRoot<AccountId>, Treasurer>;
|
||||||
|
type RejectOrigin = EitherOfDiverse<EnsureRoot<AccountId>, Treasurer>;
|
||||||
|
type RuntimeEvent = RuntimeEvent;
|
||||||
|
type OnSlash = Treasury;
|
||||||
|
type ProposalBond = ProposalBond;
|
||||||
|
type ProposalBondMinimum = ProposalBondMinimum;
|
||||||
|
type ProposalBondMaximum = ProposalBondMaximum;
|
||||||
|
type SpendPeriod = SpendPeriod;
|
||||||
|
type Burn = Burn;
|
||||||
|
type BurnDestination = ();
|
||||||
|
type MaxApprovals = MaxApprovals;
|
||||||
|
type WeightInfo = weights::pallet_treasury::WeightInfo<Runtime>;
|
||||||
|
type SpendFunds = ();
|
||||||
|
type SpendOrigin = TreasurySpender;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl pallet_offences::Config for Runtime {
|
impl pallet_offences::Config for Runtime {
|
||||||
@@ -699,8 +741,6 @@ impl pallet_authority_discovery::Config for Runtime {
|
|||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const NposSolutionPriority: TransactionPriority = TransactionPriority::max_value() / 2;
|
pub const NposSolutionPriority: TransactionPriority = TransactionPriority::max_value() / 2;
|
||||||
pub const ImOnlineUnsignedPriority: TransactionPriority = TransactionPriority::max_value();
|
pub const ImOnlineUnsignedPriority: TransactionPriority = TransactionPriority::max_value();
|
||||||
pub const MaxKeys: u32 = 10_000;
|
|
||||||
pub const MaxPeerInHeartbeats: u32 = 10_000;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl pallet_im_online::Config for Runtime {
|
impl pallet_im_online::Config for Runtime {
|
||||||
@@ -814,8 +854,8 @@ impl pallet_identity::Config for Runtime {
|
|||||||
type MaxSubAccounts = MaxSubAccounts;
|
type MaxSubAccounts = MaxSubAccounts;
|
||||||
type MaxAdditionalFields = MaxAdditionalFields;
|
type MaxAdditionalFields = MaxAdditionalFields;
|
||||||
type MaxRegistrars = MaxRegistrars;
|
type MaxRegistrars = MaxRegistrars;
|
||||||
type RegistrarOrigin = frame_system::EnsureRoot<AccountId>;
|
type ForceOrigin = EitherOf<EnsureRoot<Self::AccountId>, GeneralAdmin>;
|
||||||
type ForceOrigin = frame_system::EnsureRoot<AccountId>;
|
type RegistrarOrigin = EitherOf<EnsureRoot<Self::AccountId>, GeneralAdmin>;
|
||||||
type WeightInfo = weights::pallet_identity::WeightInfo<Runtime>;
|
type WeightInfo = weights::pallet_identity::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -912,6 +952,7 @@ parameter_types! {
|
|||||||
pub enum ProxyType {
|
pub enum ProxyType {
|
||||||
Any,
|
Any,
|
||||||
NonTransfer,
|
NonTransfer,
|
||||||
|
Governance,
|
||||||
Staking,
|
Staking,
|
||||||
SudoBalances,
|
SudoBalances,
|
||||||
IdentityJudgement,
|
IdentityJudgement,
|
||||||
@@ -944,6 +985,9 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
|
|||||||
RuntimeCall::ImOnline(..) |
|
RuntimeCall::ImOnline(..) |
|
||||||
RuntimeCall::Utility(..) |
|
RuntimeCall::Utility(..) |
|
||||||
RuntimeCall::Identity(..) |
|
RuntimeCall::Identity(..) |
|
||||||
|
RuntimeCall::ConvictionVoting(..) |
|
||||||
|
RuntimeCall::Referenda(..) |
|
||||||
|
RuntimeCall::Whitelist(..) |
|
||||||
RuntimeCall::Recovery(pallet_recovery::Call::as_recovered{..}) |
|
RuntimeCall::Recovery(pallet_recovery::Call::as_recovered{..}) |
|
||||||
RuntimeCall::Recovery(pallet_recovery::Call::vouch_recovery{..}) |
|
RuntimeCall::Recovery(pallet_recovery::Call::vouch_recovery{..}) |
|
||||||
RuntimeCall::Recovery(pallet_recovery::Call::claim_recovery{..}) |
|
RuntimeCall::Recovery(pallet_recovery::Call::claim_recovery{..}) |
|
||||||
@@ -989,6 +1033,13 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
|
|||||||
RuntimeCall::Utility(..) => true,
|
RuntimeCall::Utility(..) => true,
|
||||||
_ => false,
|
_ => false,
|
||||||
},
|
},
|
||||||
|
ProxyType::Governance => matches!(
|
||||||
|
c,
|
||||||
|
// OpenGov calls
|
||||||
|
RuntimeCall::ConvictionVoting(..) |
|
||||||
|
RuntimeCall::Referenda(..) |
|
||||||
|
RuntimeCall::Whitelist(..)
|
||||||
|
),
|
||||||
ProxyType::IdentityJudgement => matches!(
|
ProxyType::IdentityJudgement => matches!(
|
||||||
c,
|
c,
|
||||||
RuntimeCall::Identity(pallet_identity::Call::provide_judgement { .. }) |
|
RuntimeCall::Identity(pallet_identity::Call::provide_judgement { .. }) |
|
||||||
@@ -1184,7 +1235,7 @@ impl parachains_slashing::Config for Runtime {
|
|||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const ParaDeposit: Balance = 2000 * CENTS;
|
pub const ParaDeposit: Balance = 2000 * CENTS;
|
||||||
pub const DataDepositPerByte: Balance = deposit(0, 1);
|
pub const RegistrarDataDepositPerByte: Balance = deposit(0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
impl paras_registrar::Config for Runtime {
|
impl paras_registrar::Config for Runtime {
|
||||||
@@ -1193,7 +1244,7 @@ impl paras_registrar::Config for Runtime {
|
|||||||
type Currency = Balances;
|
type Currency = Balances;
|
||||||
type OnSwap = (Crowdloan, Slots);
|
type OnSwap = (Crowdloan, Slots);
|
||||||
type ParaDeposit = ParaDeposit;
|
type ParaDeposit = ParaDeposit;
|
||||||
type DataDepositPerByte = DataDepositPerByte;
|
type DataDepositPerByte = RegistrarDataDepositPerByte;
|
||||||
type WeightInfo = weights::runtime_common_paras_registrar::WeightInfo<Runtime>;
|
type WeightInfo = weights::runtime_common_paras_registrar::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1207,7 +1258,7 @@ impl slots::Config for Runtime {
|
|||||||
type Registrar = Registrar;
|
type Registrar = Registrar;
|
||||||
type LeasePeriod = LeasePeriod;
|
type LeasePeriod = LeasePeriod;
|
||||||
type LeaseOffset = ();
|
type LeaseOffset = ();
|
||||||
type ForceOrigin = EnsureRoot<AccountId>;
|
type ForceOrigin = EitherOf<EnsureRoot<Self::AccountId>, LeaseAdmin>;
|
||||||
type WeightInfo = weights::runtime_common_slots::WeightInfo<Runtime>;
|
type WeightInfo = weights::runtime_common_slots::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1247,7 +1298,7 @@ impl auctions::Config for Runtime {
|
|||||||
type EndingPeriod = EndingPeriod;
|
type EndingPeriod = EndingPeriod;
|
||||||
type SampleLength = SampleLength;
|
type SampleLength = SampleLength;
|
||||||
type Randomness = pallet_babe::RandomnessFromOneEpochAgo<Runtime>;
|
type Randomness = pallet_babe::RandomnessFromOneEpochAgo<Runtime>;
|
||||||
type InitiateOrigin = EnsureRoot<AccountId>;
|
type InitiateOrigin = EitherOf<EnsureRoot<Self::AccountId>, AuctionAdmin>;
|
||||||
type WeightInfo = weights::runtime_common_auctions::WeightInfo<Runtime>;
|
type WeightInfo = weights::runtime_common_auctions::WeightInfo<Runtime>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1352,6 +1403,15 @@ construct_runtime! {
|
|||||||
// Fast unstake pallet: extension to staking.
|
// Fast unstake pallet: extension to staking.
|
||||||
FastUnstake: pallet_fast_unstake = 30,
|
FastUnstake: pallet_fast_unstake = 30,
|
||||||
|
|
||||||
|
// OpenGov
|
||||||
|
ConvictionVoting: pallet_conviction_voting::{Pallet, Call, Storage, Event<T>} = 31,
|
||||||
|
Referenda: pallet_referenda::{Pallet, Call, Storage, Event<T>} = 32,
|
||||||
|
Origins: pallet_custom_origins::{Origin} = 35,
|
||||||
|
Whitelist: pallet_whitelist::{Pallet, Call, Storage, Event<T>} = 36,
|
||||||
|
|
||||||
|
// Treasury
|
||||||
|
Treasury: pallet_treasury::{Pallet, Call, Storage, Config<T>, Event<T>} = 37,
|
||||||
|
|
||||||
// Parachains pallets. Start indices at 40 to leave room.
|
// Parachains pallets. Start indices at 40 to leave room.
|
||||||
ParachainsOrigin: parachains_origin::{Pallet, Origin} = 41,
|
ParachainsOrigin: parachains_origin::{Pallet, Origin} = 41,
|
||||||
Configuration: parachains_configuration::{Pallet, Call, Storage, Config<T>} = 42,
|
Configuration: parachains_configuration::{Pallet, Call, Storage, Config<T>} = 42,
|
||||||
@@ -1445,6 +1505,7 @@ pub mod migrations {
|
|||||||
UpgradeSessionKeys,
|
UpgradeSessionKeys,
|
||||||
parachains_configuration::migration::v9::MigrateToV9<Runtime>,
|
parachains_configuration::migration::v9::MigrateToV9<Runtime>,
|
||||||
paras_registrar::migration::VersionCheckedMigrateToV1<Runtime, ()>,
|
paras_registrar::migration::VersionCheckedMigrateToV1<Runtime, ()>,
|
||||||
|
pallet_referenda::migration::v1::MigrateV0ToV1<Runtime, ()>,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1485,6 +1546,7 @@ mod benches {
|
|||||||
// Substrate
|
// Substrate
|
||||||
[pallet_bags_list, VoterList]
|
[pallet_bags_list, VoterList]
|
||||||
[pallet_balances, Balances]
|
[pallet_balances, Balances]
|
||||||
|
[pallet_conviction_voting, ConvictionVoting]
|
||||||
[pallet_election_provider_multi_phase, ElectionProviderMultiPhase]
|
[pallet_election_provider_multi_phase, ElectionProviderMultiPhase]
|
||||||
[frame_election_provider_support, ElectionProviderBench::<Runtime>]
|
[frame_election_provider_support, ElectionProviderBench::<Runtime>]
|
||||||
[pallet_fast_unstake, FastUnstake]
|
[pallet_fast_unstake, FastUnstake]
|
||||||
@@ -1498,14 +1560,17 @@ mod benches {
|
|||||||
[pallet_preimage, Preimage]
|
[pallet_preimage, Preimage]
|
||||||
[pallet_proxy, Proxy]
|
[pallet_proxy, Proxy]
|
||||||
[pallet_recovery, Recovery]
|
[pallet_recovery, Recovery]
|
||||||
|
[pallet_referenda, Referenda]
|
||||||
[pallet_scheduler, Scheduler]
|
[pallet_scheduler, Scheduler]
|
||||||
[pallet_session, SessionBench::<Runtime>]
|
[pallet_session, SessionBench::<Runtime>]
|
||||||
[pallet_staking, Staking]
|
[pallet_staking, Staking]
|
||||||
[pallet_sudo, Sudo]
|
[pallet_sudo, Sudo]
|
||||||
[frame_system, SystemBench::<Runtime>]
|
[frame_system, SystemBench::<Runtime>]
|
||||||
[pallet_timestamp, Timestamp]
|
[pallet_timestamp, Timestamp]
|
||||||
|
[pallet_treasury, Treasury]
|
||||||
[pallet_utility, Utility]
|
[pallet_utility, Utility]
|
||||||
[pallet_vesting, Vesting]
|
[pallet_vesting, Vesting]
|
||||||
|
[pallet_whitelist, Whitelist]
|
||||||
// XCM
|
// XCM
|
||||||
[pallet_xcm, XcmPallet]
|
[pallet_xcm, XcmPallet]
|
||||||
// NOTE: Make sure you point to the individual modules below.
|
// NOTE: Make sure you point to the individual modules below.
|
||||||
@@ -2059,13 +2124,13 @@ sp_api::impl_runtime_apis! {
|
|||||||
AssetId::*, Fungibility::*, InteriorMultiLocation, Junction, Junctions::*,
|
AssetId::*, Fungibility::*, InteriorMultiLocation, Junction, Junctions::*,
|
||||||
MultiAsset, MultiAssets, MultiLocation, NetworkId, Response,
|
MultiAsset, MultiAssets, MultiLocation, NetworkId, Response,
|
||||||
};
|
};
|
||||||
use xcm_config::{Westmint, TokenLocation};
|
use xcm_config::{AssetHub, TokenLocation};
|
||||||
|
|
||||||
impl pallet_xcm_benchmarks::Config for Runtime {
|
impl pallet_xcm_benchmarks::Config for Runtime {
|
||||||
type XcmConfig = xcm_config::XcmConfig;
|
type XcmConfig = xcm_config::XcmConfig;
|
||||||
type AccountIdConverter = xcm_config::LocationConverter;
|
type AccountIdConverter = xcm_config::LocationConverter;
|
||||||
fn valid_destination() -> Result<MultiLocation, BenchmarkError> {
|
fn valid_destination() -> Result<MultiLocation, BenchmarkError> {
|
||||||
Ok(Westmint::get())
|
Ok(AssetHub::get())
|
||||||
}
|
}
|
||||||
fn worst_case_holding(_depositable_count: u32) -> MultiAssets {
|
fn worst_case_holding(_depositable_count: u32) -> MultiAssets {
|
||||||
// Westend only knows about WND.
|
// Westend only knows about WND.
|
||||||
@@ -2078,7 +2143,7 @@ sp_api::impl_runtime_apis! {
|
|||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const TrustedTeleporter: Option<(MultiLocation, MultiAsset)> = Some((
|
pub const TrustedTeleporter: Option<(MultiLocation, MultiAsset)> = Some((
|
||||||
Westmint::get(),
|
AssetHub::get(),
|
||||||
MultiAsset { fun: Fungible(1 * UNITS), id: Concrete(TokenLocation::get()) },
|
MultiAsset { fun: Fungible(1 * UNITS), id: Concrete(TokenLocation::get()) },
|
||||||
));
|
));
|
||||||
pub const TrustedReserve: Option<(MultiLocation, MultiAsset)> = None;
|
pub const TrustedReserve: Option<(MultiLocation, MultiAsset)> = None;
|
||||||
@@ -2117,15 +2182,15 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn transact_origin_and_runtime_call() -> Result<(MultiLocation, RuntimeCall), BenchmarkError> {
|
fn transact_origin_and_runtime_call() -> Result<(MultiLocation, RuntimeCall), BenchmarkError> {
|
||||||
Ok((Westmint::get(), frame_system::Call::remark_with_event { remark: vec![] }.into()))
|
Ok((AssetHub::get(), frame_system::Call::remark_with_event { remark: vec![] }.into()))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn subscribe_origin() -> Result<MultiLocation, BenchmarkError> {
|
fn subscribe_origin() -> Result<MultiLocation, BenchmarkError> {
|
||||||
Ok(Westmint::get())
|
Ok(AssetHub::get())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn claimable_asset() -> Result<(MultiLocation, MultiLocation, MultiAssets), BenchmarkError> {
|
fn claimable_asset() -> Result<(MultiLocation, MultiLocation, MultiAssets), BenchmarkError> {
|
||||||
let origin = Westmint::get();
|
let origin = AssetHub::get();
|
||||||
let assets: MultiAssets = (Concrete(TokenLocation::get()), 1_000 * UNITS).into();
|
let assets: MultiAssets = (Concrete(TokenLocation::get()), 1_000 * UNITS).into();
|
||||||
let ticket = MultiLocation { parents: 0, interior: Here };
|
let ticket = MultiLocation { parents: 0, interior: Here };
|
||||||
Ok((origin, ticket, assets))
|
Ok((origin, ticket, assets))
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ pub mod frame_election_provider_support;
|
|||||||
pub mod frame_system;
|
pub mod frame_system;
|
||||||
pub mod pallet_bags_list;
|
pub mod pallet_bags_list;
|
||||||
pub mod pallet_balances;
|
pub mod pallet_balances;
|
||||||
|
pub mod pallet_conviction_voting;
|
||||||
pub mod pallet_election_provider_multi_phase;
|
pub mod pallet_election_provider_multi_phase;
|
||||||
pub mod pallet_fast_unstake;
|
pub mod pallet_fast_unstake;
|
||||||
pub mod pallet_identity;
|
pub mod pallet_identity;
|
||||||
@@ -29,13 +30,17 @@ pub mod pallet_multisig;
|
|||||||
pub mod pallet_nomination_pools;
|
pub mod pallet_nomination_pools;
|
||||||
pub mod pallet_preimage;
|
pub mod pallet_preimage;
|
||||||
pub mod pallet_proxy;
|
pub mod pallet_proxy;
|
||||||
|
pub mod pallet_referenda_fellowship_referenda;
|
||||||
|
pub mod pallet_referenda_referenda;
|
||||||
pub mod pallet_scheduler;
|
pub mod pallet_scheduler;
|
||||||
pub mod pallet_session;
|
pub mod pallet_session;
|
||||||
pub mod pallet_staking;
|
pub mod pallet_staking;
|
||||||
pub mod pallet_sudo;
|
pub mod pallet_sudo;
|
||||||
pub mod pallet_timestamp;
|
pub mod pallet_timestamp;
|
||||||
|
pub mod pallet_treasury;
|
||||||
pub mod pallet_utility;
|
pub mod pallet_utility;
|
||||||
pub mod pallet_vesting;
|
pub mod pallet_vesting;
|
||||||
|
pub mod pallet_whitelist;
|
||||||
pub mod pallet_xcm;
|
pub mod pallet_xcm;
|
||||||
pub mod runtime_common_assigned_slots;
|
pub mod runtime_common_assigned_slots;
|
||||||
pub mod runtime_common_auctions;
|
pub mod runtime_common_auctions;
|
||||||
|
|||||||
@@ -0,0 +1,194 @@
|
|||||||
|
// Copyright (C) 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_conviction_voting`
|
||||||
|
//!
|
||||||
|
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||||
|
//! DATE: 2023-07-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||||
|
//! WORST CASE MAP SIZE: `1000000`
|
||||||
|
//! HOSTNAME: `runner-xerhrdyb-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||||
|
//! EXECUTION: `Some(Wasm)`, WASM-EXECUTION: `Compiled`, CHAIN: `Some("westend-dev")`, DB CACHE: 1024
|
||||||
|
|
||||||
|
// Executed Command:
|
||||||
|
// target/production/polkadot
|
||||||
|
// benchmark
|
||||||
|
// pallet
|
||||||
|
// --steps=50
|
||||||
|
// --repeat=20
|
||||||
|
// --extrinsic=*
|
||||||
|
// --execution=wasm
|
||||||
|
// --wasm-execution=compiled
|
||||||
|
// --heap-pages=4096
|
||||||
|
// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
|
||||||
|
// --pallet=pallet_conviction_voting
|
||||||
|
// --chain=westend-dev
|
||||||
|
// --header=./file_header.txt
|
||||||
|
// --output=./runtime/westend/src/weights/
|
||||||
|
|
||||||
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||||
|
#![allow(unused_parens)]
|
||||||
|
#![allow(unused_imports)]
|
||||||
|
#![allow(missing_docs)]
|
||||||
|
|
||||||
|
use frame_support::{traits::Get, weights::Weight};
|
||||||
|
use core::marker::PhantomData;
|
||||||
|
|
||||||
|
/// Weight functions for `pallet_conviction_voting`.
|
||||||
|
pub struct WeightInfo<T>(PhantomData<T>);
|
||||||
|
impl<T: frame_system::Config> pallet_conviction_voting::WeightInfo for WeightInfo<T> {
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
|
||||||
|
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
|
||||||
|
/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||||
|
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:1 w:1)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn vote_new() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `13445`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 152_223_000 picoseconds.
|
||||||
|
Weight::from_parts(162_148_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(6))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(5))
|
||||||
|
}
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
|
||||||
|
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
|
||||||
|
/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||||
|
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn vote_existing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `14166`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 220_361_000 picoseconds.
|
||||||
|
Weight::from_parts(236_478_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(7))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(6))
|
||||||
|
}
|
||||||
|
/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
|
||||||
|
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
fn remove_vote() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `13918`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 198_787_000 picoseconds.
|
||||||
|
Weight::from_parts(204_983_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
|
||||||
|
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
fn remove_other_vote() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `13004`
|
||||||
|
// Estimated: `30706`
|
||||||
|
// Minimum execution time: 88_469_000 picoseconds.
|
||||||
|
Weight::from_parts(95_942_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 30706))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `ConvictionVoting::VotingFor` (r:2 w:2)
|
||||||
|
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:512 w:512)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
|
||||||
|
/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||||
|
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `r` is `[0, 512]`.
|
||||||
|
fn delegate(r: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `29640 + r * (365 ±0)`
|
||||||
|
// Estimated: `83866 + r * (3411 ±0)`
|
||||||
|
// Minimum execution time: 79_951_000 picoseconds.
|
||||||
|
Weight::from_parts(1_844_983_097, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
// Standard Error: 160_158
|
||||||
|
.saturating_add(Weight::from_parts(43_973_863, 0).saturating_mul(r.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(7))
|
||||||
|
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(6))
|
||||||
|
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
|
||||||
|
.saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into()))
|
||||||
|
}
|
||||||
|
/// Storage: `ConvictionVoting::VotingFor` (r:2 w:2)
|
||||||
|
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Referenda::ReferendumInfoFor` (r:512 w:512)
|
||||||
|
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Scheduler::Agenda` (r:2 w:2)
|
||||||
|
/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `r` is `[0, 512]`.
|
||||||
|
fn undelegate(r: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `29555 + r * (365 ±0)`
|
||||||
|
// Estimated: `83866 + r * (3411 ±0)`
|
||||||
|
// Minimum execution time: 47_976_000 picoseconds.
|
||||||
|
Weight::from_parts(1_877_857_335, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
// Standard Error: 168_477
|
||||||
|
.saturating_add(Weight::from_parts(43_303_902, 0).saturating_mul(r.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
|
||||||
|
.saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into()))
|
||||||
|
}
|
||||||
|
/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
|
||||||
|
/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
|
||||||
|
/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::Locks` (r:1 w:1)
|
||||||
|
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::Freezes` (r:1 w:0)
|
||||||
|
/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
|
||||||
|
fn unlock() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `12218`
|
||||||
|
// Estimated: `30706`
|
||||||
|
// Minimum execution time: 102_868_000 picoseconds.
|
||||||
|
Weight::from_parts(110_438_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 30706))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,525 @@
|
|||||||
|
// Copyright (C) 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_referenda`
|
||||||
|
//!
|
||||||
|
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||||
|
//! DATE: 2023-06-19, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||||
|
//! WORST CASE MAP SIZE: `1000000`
|
||||||
|
//! HOSTNAME: `runner-e8ezs4ez-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||||
|
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 1024
|
||||||
|
|
||||||
|
// Executed Command:
|
||||||
|
// ./target/production/polkadot
|
||||||
|
// benchmark
|
||||||
|
// pallet
|
||||||
|
// --chain=kusama-dev
|
||||||
|
// --steps=50
|
||||||
|
// --repeat=20
|
||||||
|
// --no-storage-info
|
||||||
|
// --no-median-slopes
|
||||||
|
// --no-min-squares
|
||||||
|
// --pallet=pallet_referenda
|
||||||
|
// --extrinsic=*
|
||||||
|
// --execution=wasm
|
||||||
|
// --wasm-execution=compiled
|
||||||
|
// --header=./file_header.txt
|
||||||
|
// --output=./runtime/kusama/src/weights/
|
||||||
|
|
||||||
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||||
|
#![allow(unused_parens)]
|
||||||
|
#![allow(unused_imports)]
|
||||||
|
#![allow(missing_docs)]
|
||||||
|
|
||||||
|
use frame_support::{traits::Get, weights::Weight};
|
||||||
|
use core::marker::PhantomData;
|
||||||
|
|
||||||
|
/// Weight functions for `pallet_referenda`.
|
||||||
|
pub struct WeightInfo<T>(PhantomData<T>);
|
||||||
|
impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
|
||||||
|
/// Storage: FellowshipCollective Members (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda ReferendumCount (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:0 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
fn submit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `327`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 28_969_000 picoseconds.
|
||||||
|
Weight::from_parts(30_902_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn place_decision_deposit_preparing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `404`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 53_500_000 picoseconds.
|
||||||
|
Weight::from_parts(54_447_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda DecidingCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipReferenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda TrackQueue (max_values: None, max_size: Some(812), added: 3287, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn place_decision_deposit_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2042`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 114_321_000 picoseconds.
|
||||||
|
Weight::from_parts(122_607_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda DecidingCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipReferenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda TrackQueue (max_values: None, max_size: Some(812), added: 3287, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn place_decision_deposit_not_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2083`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 113_476_000 picoseconds.
|
||||||
|
Weight::from_parts(120_078_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda DecidingCount (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn place_decision_deposit_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `774`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 194_798_000 picoseconds.
|
||||||
|
Weight::from_parts(208_378_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda DecidingCount (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn place_decision_deposit_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `639`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 69_502_000 picoseconds.
|
||||||
|
Weight::from_parts(71_500_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
fn refund_decision_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `317`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 30_561_000 picoseconds.
|
||||||
|
Weight::from_parts(31_427_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
fn refund_submission_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `167`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 14_535_000 picoseconds.
|
||||||
|
Weight::from_parts(14_999_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn cancel() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `349`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 38_532_000 picoseconds.
|
||||||
|
Weight::from_parts(39_361_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda MetadataOf (r:1 w:0)
|
||||||
|
/// Proof: FellowshipReferenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
|
||||||
|
fn kill() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `450`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 78_956_000 picoseconds.
|
||||||
|
Weight::from_parts(80_594_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda TrackQueue (r:1 w:0)
|
||||||
|
/// Proof: FellowshipReferenda TrackQueue (max_values: None, max_size: Some(812), added: 3287, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda DecidingCount (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
fn one_fewer_deciding_queue_empty() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `140`
|
||||||
|
// Estimated: `4277`
|
||||||
|
// Minimum execution time: 9_450_000 picoseconds.
|
||||||
|
Weight::from_parts(9_881_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4277))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda TrackQueue (max_values: None, max_size: Some(812), added: 3287, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn one_fewer_deciding_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2376`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 98_126_000 picoseconds.
|
||||||
|
Weight::from_parts(102_511_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda TrackQueue (max_values: None, max_size: Some(812), added: 3287, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn one_fewer_deciding_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2362`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 99_398_000 picoseconds.
|
||||||
|
Weight::from_parts(104_045_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:0)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda TrackQueue (max_values: None, max_size: Some(812), added: 3287, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_requeued_insertion() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `1807`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 43_734_000 picoseconds.
|
||||||
|
Weight::from_parts(46_962_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:0)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda TrackQueue (max_values: None, max_size: Some(812), added: 3287, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_requeued_slide() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `1774`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 42_863_000 picoseconds.
|
||||||
|
Weight::from_parts(46_241_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda DecidingCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipReferenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda TrackQueue (max_values: None, max_size: Some(812), added: 3287, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `1790`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 57_511_000 picoseconds.
|
||||||
|
Weight::from_parts(64_027_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda DecidingCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipReferenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda TrackQueue (max_values: None, max_size: Some(812), added: 3287, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_not_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `1831`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 56_726_000 picoseconds.
|
||||||
|
Weight::from_parts(61_962_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_no_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `301`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 24_870_000 picoseconds.
|
||||||
|
Weight::from_parts(25_837_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_preparing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `349`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 25_297_000 picoseconds.
|
||||||
|
Weight::from_parts(26_086_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_timed_out() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `208`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 16_776_000 picoseconds.
|
||||||
|
Weight::from_parts(17_396_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda DecidingCount (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_begin_deciding_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `584`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 37_780_000 picoseconds.
|
||||||
|
Weight::from_parts(38_626_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda DecidingCount (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_begin_deciding_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `719`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 85_265_000 picoseconds.
|
||||||
|
Weight::from_parts(89_986_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_begin_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `770`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 143_283_000 picoseconds.
|
||||||
|
Weight::from_parts(158_540_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_end_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `755`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 143_736_000 picoseconds.
|
||||||
|
Weight::from_parts(162_755_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_continue_not_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `770`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 139_021_000 picoseconds.
|
||||||
|
Weight::from_parts(157_398_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_continue_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `776`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 78_530_000 picoseconds.
|
||||||
|
Weight::from_parts(83_556_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Lookup (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Lookup (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_approved() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `776`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 174_165_000 picoseconds.
|
||||||
|
Weight::from_parts(188_496_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipCollective MemberCount (r:1 w:0)
|
||||||
|
/// Proof: FellowshipCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_rejected() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `772`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 142_964_000 picoseconds.
|
||||||
|
Weight::from_parts(157_257_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:0)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Preimage StatusFor (r:1 w:0)
|
||||||
|
/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda MetadataOf (r:0 w:1)
|
||||||
|
/// Proof: FellowshipReferenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
|
||||||
|
fn set_some_metadata() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `352`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 20_126_000 picoseconds.
|
||||||
|
Weight::from_parts(20_635_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: FellowshipReferenda ReferendumInfoFor (r:1 w:0)
|
||||||
|
/// Proof: FellowshipReferenda ReferendumInfoFor (max_values: None, max_size: Some(900), added: 3375, mode: MaxEncodedLen)
|
||||||
|
/// Storage: FellowshipReferenda MetadataOf (r:1 w:1)
|
||||||
|
/// Proof: FellowshipReferenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
|
||||||
|
fn clear_metadata() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `285`
|
||||||
|
// Estimated: `4365`
|
||||||
|
// Minimum execution time: 17_716_000 picoseconds.
|
||||||
|
Weight::from_parts(18_324_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4365))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,523 @@
|
|||||||
|
// Copyright (C) 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_referenda`
|
||||||
|
//!
|
||||||
|
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||||
|
//! DATE: 2023-06-19, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||||
|
//! WORST CASE MAP SIZE: `1000000`
|
||||||
|
//! HOSTNAME: `runner-e8ezs4ez-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||||
|
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 1024
|
||||||
|
|
||||||
|
// Executed Command:
|
||||||
|
// ./target/production/polkadot
|
||||||
|
// benchmark
|
||||||
|
// pallet
|
||||||
|
// --chain=kusama-dev
|
||||||
|
// --steps=50
|
||||||
|
// --repeat=20
|
||||||
|
// --no-storage-info
|
||||||
|
// --no-median-slopes
|
||||||
|
// --no-min-squares
|
||||||
|
// --pallet=pallet_referenda
|
||||||
|
// --extrinsic=*
|
||||||
|
// --execution=wasm
|
||||||
|
// --wasm-execution=compiled
|
||||||
|
// --header=./file_header.txt
|
||||||
|
// --output=./runtime/kusama/src/weights/
|
||||||
|
|
||||||
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||||
|
#![allow(unused_parens)]
|
||||||
|
#![allow(unused_imports)]
|
||||||
|
#![allow(missing_docs)]
|
||||||
|
|
||||||
|
use frame_support::{traits::Get, weights::Weight};
|
||||||
|
use core::marker::PhantomData;
|
||||||
|
|
||||||
|
/// Weight functions for `pallet_referenda`.
|
||||||
|
pub struct WeightInfo<T>(PhantomData<T>);
|
||||||
|
impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
|
||||||
|
/// Storage: Referenda ReferendumCount (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:0 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
fn submit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `186`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 39_146_000 picoseconds.
|
||||||
|
Weight::from_parts(40_383_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn place_decision_deposit_preparing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `439`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 51_385_000 picoseconds.
|
||||||
|
Weight::from_parts(52_701_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda DecidingCount (r:1 w:0)
|
||||||
|
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn place_decision_deposit_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3196`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 70_018_000 picoseconds.
|
||||||
|
Weight::from_parts(75_868_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda DecidingCount (r:1 w:0)
|
||||||
|
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn place_decision_deposit_not_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3216`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 69_311_000 picoseconds.
|
||||||
|
Weight::from_parts(72_425_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda DecidingCount (r:1 w:1)
|
||||||
|
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn place_decision_deposit_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `439`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 64_385_000 picoseconds.
|
||||||
|
Weight::from_parts(66_178_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda DecidingCount (r:1 w:1)
|
||||||
|
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn place_decision_deposit_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `439`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 62_200_000 picoseconds.
|
||||||
|
Weight::from_parts(63_782_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
fn refund_decision_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `279`
|
||||||
|
// Estimated: `4401`
|
||||||
|
// Minimum execution time: 29_677_000 picoseconds.
|
||||||
|
Weight::from_parts(30_603_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4401))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
fn refund_submission_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `269`
|
||||||
|
// Estimated: `4401`
|
||||||
|
// Minimum execution time: 29_897_000 picoseconds.
|
||||||
|
Weight::from_parts(30_618_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4401))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn cancel() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `347`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 37_697_000 picoseconds.
|
||||||
|
Weight::from_parts(38_953_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda MetadataOf (r:1 w:0)
|
||||||
|
/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
|
||||||
|
fn kill() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `588`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 106_001_000 picoseconds.
|
||||||
|
Weight::from_parts(107_102_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda TrackQueue (r:1 w:0)
|
||||||
|
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda DecidingCount (r:1 w:1)
|
||||||
|
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
fn one_fewer_deciding_queue_empty() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `102`
|
||||||
|
// Estimated: `5477`
|
||||||
|
// Minimum execution time: 8_987_000 picoseconds.
|
||||||
|
Weight::from_parts(9_431_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 5477))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn one_fewer_deciding_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3116`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 55_344_000 picoseconds.
|
||||||
|
Weight::from_parts(58_026_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn one_fewer_deciding_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `3116`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 57_003_000 picoseconds.
|
||||||
|
Weight::from_parts(60_347_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_requeued_insertion() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2939`
|
||||||
|
// Estimated: `5477`
|
||||||
|
// Minimum execution time: 23_001_000 picoseconds.
|
||||||
|
Weight::from_parts(24_812_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 5477))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_requeued_slide() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2939`
|
||||||
|
// Estimated: `5477`
|
||||||
|
// Minimum execution time: 23_299_000 picoseconds.
|
||||||
|
Weight::from_parts(24_465_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 5477))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda DecidingCount (r:1 w:0)
|
||||||
|
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2943`
|
||||||
|
// Estimated: `5477`
|
||||||
|
// Minimum execution time: 28_223_000 picoseconds.
|
||||||
|
Weight::from_parts(29_664_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 5477))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda DecidingCount (r:1 w:0)
|
||||||
|
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda TrackQueue (r:1 w:1)
|
||||||
|
/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_not_queued() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `2963`
|
||||||
|
// Estimated: `5477`
|
||||||
|
// Minimum execution time: 27_474_000 picoseconds.
|
||||||
|
Weight::from_parts(29_072_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 5477))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_no_deposit() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `299`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 24_405_000 picoseconds.
|
||||||
|
Weight::from_parts(25_184_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_preparing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `347`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 24_572_000 picoseconds.
|
||||||
|
Weight::from_parts(25_287_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_timed_out() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `206`
|
||||||
|
// Estimated: `4401`
|
||||||
|
// Minimum execution time: 16_042_000 picoseconds.
|
||||||
|
Weight::from_parts(16_610_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4401))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda DecidingCount (r:1 w:1)
|
||||||
|
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_begin_deciding_failing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `347`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 33_639_000 picoseconds.
|
||||||
|
Weight::from_parts(34_749_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda DecidingCount (r:1 w:1)
|
||||||
|
/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_begin_deciding_passing() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `347`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 36_467_000 picoseconds.
|
||||||
|
Weight::from_parts(37_693_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(4))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_begin_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `400`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 29_857_000 picoseconds.
|
||||||
|
Weight::from_parts(30_840_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_end_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `383`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 31_028_000 picoseconds.
|
||||||
|
Weight::from_parts(32_154_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_continue_not_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `400`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 28_594_000 picoseconds.
|
||||||
|
Weight::from_parts(29_092_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_continue_confirming() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `404`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 27_246_000 picoseconds.
|
||||||
|
Weight::from_parts(28_003_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:2 w:2)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Lookup (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Lookup (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_approved() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `404`
|
||||||
|
// Estimated: `83866`
|
||||||
|
// Minimum execution time: 43_426_000 picoseconds.
|
||||||
|
Weight::from_parts(44_917_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 83866))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(5))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(4))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Balances InactiveIssuance (r:1 w:0)
|
||||||
|
/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Scheduler Agenda (r:1 w:1)
|
||||||
|
/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
|
||||||
|
fn nudge_referendum_rejected() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `400`
|
||||||
|
// Estimated: `42428`
|
||||||
|
// Minimum execution time: 30_285_000 picoseconds.
|
||||||
|
Weight::from_parts(31_575_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 42428))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Preimage StatusFor (r:1 w:0)
|
||||||
|
/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda MetadataOf (r:0 w:1)
|
||||||
|
/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
|
||||||
|
fn set_some_metadata() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `350`
|
||||||
|
// Estimated: `4401`
|
||||||
|
// Minimum execution time: 19_254_000 picoseconds.
|
||||||
|
Weight::from_parts(19_855_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4401))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
|
||||||
|
/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
|
||||||
|
/// Storage: Referenda MetadataOf (r:1 w:1)
|
||||||
|
/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
|
||||||
|
fn clear_metadata() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `283`
|
||||||
|
// Estimated: `4401`
|
||||||
|
// Minimum execution time: 16_957_000 picoseconds.
|
||||||
|
Weight::from_parts(17_556_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 4401))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,150 @@
|
|||||||
|
// Copyright (C) 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: 2023-07-13, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||||
|
//! WORST CASE MAP SIZE: `1000000`
|
||||||
|
//! HOSTNAME: `runner-o7yfgx5n-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||||
|
//! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("westend-dev")`, DB CACHE: 1024
|
||||||
|
|
||||||
|
// Executed Command:
|
||||||
|
// target/production/polkadot
|
||||||
|
// benchmark
|
||||||
|
// pallet
|
||||||
|
// --steps=50
|
||||||
|
// --repeat=20
|
||||||
|
// --extrinsic=*
|
||||||
|
// --wasm-execution=compiled
|
||||||
|
// --heap-pages=4096
|
||||||
|
// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
|
||||||
|
// --pallet=pallet_treasury
|
||||||
|
// --chain=westend-dev
|
||||||
|
// --header=./file_header.txt
|
||||||
|
// --output=./runtime/westend/src/weights/
|
||||||
|
|
||||||
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||||
|
#![allow(unused_parens)]
|
||||||
|
#![allow(unused_imports)]
|
||||||
|
#![allow(missing_docs)]
|
||||||
|
|
||||||
|
use frame_support::{traits::Get, weights::Weight};
|
||||||
|
use core::marker::PhantomData;
|
||||||
|
|
||||||
|
/// Weight functions for `pallet_treasury`.
|
||||||
|
pub struct WeightInfo<T>(PhantomData<T>);
|
||||||
|
impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
|
||||||
|
/// Storage: `Treasury::ProposalCount` (r:1 w:1)
|
||||||
|
/// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Treasury::Approvals` (r:1 w:1)
|
||||||
|
/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Treasury::Proposals` (r:0 w:1)
|
||||||
|
/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
|
||||||
|
fn spend() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `6`
|
||||||
|
// Estimated: `1887`
|
||||||
|
// Minimum execution time: 13_644_000 picoseconds.
|
||||||
|
Weight::from_parts(13_988_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 1887))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
}
|
||||||
|
/// Storage: `Treasury::ProposalCount` (r:1 w:1)
|
||||||
|
/// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Treasury::Proposals` (r:0 w:1)
|
||||||
|
/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
|
||||||
|
fn propose_spend() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `107`
|
||||||
|
// Estimated: `1489`
|
||||||
|
// Minimum execution time: 26_304_000 picoseconds.
|
||||||
|
Weight::from_parts(26_850_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 1489))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Treasury::Proposals` (r:1 w:1)
|
||||||
|
/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `System::Account` (r:1 w:1)
|
||||||
|
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||||
|
fn reject_proposal() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `265`
|
||||||
|
// Estimated: `3593`
|
||||||
|
// Minimum execution time: 40_318_000 picoseconds.
|
||||||
|
Weight::from_parts(41_598_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3593))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Treasury::Proposals` (r:1 w:0)
|
||||||
|
/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Treasury::Approvals` (r:1 w:1)
|
||||||
|
/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `p` is `[0, 99]`.
|
||||||
|
fn approve_proposal(p: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `433 + p * (8 ±0)`
|
||||||
|
// Estimated: `3573`
|
||||||
|
// Minimum execution time: 8_250_000 picoseconds.
|
||||||
|
Weight::from_parts(10_937_873, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3573))
|
||||||
|
// Standard Error: 1_239
|
||||||
|
.saturating_add(Weight::from_parts(82_426, 0).saturating_mul(p.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `Treasury::Approvals` (r:1 w:1)
|
||||||
|
/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
|
||||||
|
fn remove_approval() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `90`
|
||||||
|
// Estimated: `1887`
|
||||||
|
// Minimum execution time: 6_170_000 picoseconds.
|
||||||
|
Weight::from_parts(6_366_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 1887))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(1))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(1))
|
||||||
|
}
|
||||||
|
/// Storage: `Treasury::Deactivated` (r:1 w:1)
|
||||||
|
/// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Balances::InactiveIssuance` (r:1 w:1)
|
||||||
|
/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Treasury::Approvals` (r:1 w:1)
|
||||||
|
/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Treasury::Proposals` (r:100 w:100)
|
||||||
|
/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `System::Account` (r:200 w:200)
|
||||||
|
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `p` is `[0, 100]`.
|
||||||
|
fn on_initialize_proposals(p: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `175 + p * (251 ±0)`
|
||||||
|
// Estimated: `1887 + p * (5206 ±0)`
|
||||||
|
// Minimum execution time: 39_691_000 picoseconds.
|
||||||
|
Weight::from_parts(29_703_313, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 1887))
|
||||||
|
// Standard Error: 18_540
|
||||||
|
.saturating_add(Weight::from_parts(42_601_290, 0).saturating_mul(p.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(p.into())))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(p.into())))
|
||||||
|
.saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into()))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
// Copyright (C) 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_whitelist`
|
||||||
|
//!
|
||||||
|
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||||
|
//! DATE: 2023-07-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||||
|
//! WORST CASE MAP SIZE: `1000000`
|
||||||
|
//! HOSTNAME: `runner-o7yfgx5n-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||||
|
//! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("westend-dev")`, DB CACHE: 1024
|
||||||
|
|
||||||
|
// Executed Command:
|
||||||
|
// target/production/polkadot
|
||||||
|
// benchmark
|
||||||
|
// pallet
|
||||||
|
// --steps=50
|
||||||
|
// --repeat=20
|
||||||
|
// --extrinsic=*
|
||||||
|
// --wasm-execution=compiled
|
||||||
|
// --heap-pages=4096
|
||||||
|
// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
|
||||||
|
// --pallet=pallet_whitelist
|
||||||
|
// --chain=westend-dev
|
||||||
|
// --header=./file_header.txt
|
||||||
|
// --output=./runtime/westend/src/weights/
|
||||||
|
|
||||||
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||||
|
#![allow(unused_parens)]
|
||||||
|
#![allow(unused_imports)]
|
||||||
|
#![allow(missing_docs)]
|
||||||
|
|
||||||
|
use frame_support::{traits::Get, weights::Weight};
|
||||||
|
use core::marker::PhantomData;
|
||||||
|
|
||||||
|
/// Weight functions for `pallet_whitelist`.
|
||||||
|
pub struct WeightInfo<T>(PhantomData<T>);
|
||||||
|
impl<T: frame_system::Config> pallet_whitelist::WeightInfo for WeightInfo<T> {
|
||||||
|
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||||
|
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Preimage::StatusFor` (r:1 w:1)
|
||||||
|
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||||
|
fn whitelist_call() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `122`
|
||||||
|
// Estimated: `3556`
|
||||||
|
// Minimum execution time: 21_188_000 picoseconds.
|
||||||
|
Weight::from_parts(21_804_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3556))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||||
|
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Preimage::StatusFor` (r:1 w:1)
|
||||||
|
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||||
|
fn remove_whitelisted_call() -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `251`
|
||||||
|
// Estimated: `3556`
|
||||||
|
// Minimum execution time: 17_655_000 picoseconds.
|
||||||
|
Weight::from_parts(19_443_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3556))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||||
|
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Preimage::PreimageFor` (r:1 w:1)
|
||||||
|
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`)
|
||||||
|
/// Storage: `Preimage::StatusFor` (r:1 w:1)
|
||||||
|
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `n` is `[1, 4194294]`.
|
||||||
|
fn dispatch_whitelisted_call(n: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `327 + n * (1 ±0)`
|
||||||
|
// Estimated: `3791 + n * (1 ±0)`
|
||||||
|
// Minimum execution time: 30_540_000 picoseconds.
|
||||||
|
Weight::from_parts(30_886_000, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3791))
|
||||||
|
// Standard Error: 9
|
||||||
|
.saturating_add(Weight::from_parts(1_779, 0).saturating_mul(n.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(3))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(3))
|
||||||
|
.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
|
||||||
|
}
|
||||||
|
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
|
||||||
|
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
|
||||||
|
/// Storage: `Preimage::StatusFor` (r:1 w:1)
|
||||||
|
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
|
||||||
|
/// The range of component `n` is `[1, 10000]`.
|
||||||
|
fn dispatch_whitelisted_call_with_preimage(n: u32, ) -> Weight {
|
||||||
|
// Proof Size summary in bytes:
|
||||||
|
// Measured: `251`
|
||||||
|
// Estimated: `3556`
|
||||||
|
// Minimum execution time: 21_082_000 picoseconds.
|
||||||
|
Weight::from_parts(21_922_294, 0)
|
||||||
|
.saturating_add(Weight::from_parts(0, 3556))
|
||||||
|
// Standard Error: 4
|
||||||
|
.saturating_add(Weight::from_parts(1_412, 0).saturating_mul(n.into()))
|
||||||
|
.saturating_add(T::DbWeight::get().reads(2))
|
||||||
|
.saturating_add(T::DbWeight::get().writes(2))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,26 +17,31 @@
|
|||||||
//! XCM configurations for Westend.
|
//! XCM configurations for Westend.
|
||||||
|
|
||||||
use super::{
|
use super::{
|
||||||
parachains_origin, weights, AccountId, AllPalletsWithSystem, Balances, Dmp, ParaId, Runtime,
|
parachains_origin, AccountId, AllPalletsWithSystem, Balances, Dmp, FellowshipAdmin,
|
||||||
RuntimeCall, RuntimeEvent, RuntimeOrigin, TransactionByteFee, WeightToFee, XcmPallet,
|
GeneralAdmin, ParaId, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, StakingAdmin,
|
||||||
|
TransactionByteFee, WeightToFee, XcmPallet,
|
||||||
};
|
};
|
||||||
|
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
parameter_types,
|
match_types, parameter_types,
|
||||||
traits::{Everything, Nothing},
|
traits::{Everything, Nothing},
|
||||||
};
|
};
|
||||||
use frame_system::EnsureRoot;
|
use frame_system::EnsureRoot;
|
||||||
|
use pallet_xcm::XcmPassthrough;
|
||||||
use runtime_common::{
|
use runtime_common::{
|
||||||
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
||||||
ToAuthor,
|
ToAuthor,
|
||||||
};
|
};
|
||||||
use sp_core::ConstU32;
|
use sp_core::ConstU32;
|
||||||
use westend_runtime_constants::currency::CENTS;
|
use westend_runtime_constants::{
|
||||||
|
currency::CENTS, system_parachain::*, xcm::body::FELLOWSHIP_ADMIN_INDEX,
|
||||||
|
};
|
||||||
use xcm::latest::prelude::*;
|
use xcm::latest::prelude::*;
|
||||||
use xcm_builder::{
|
use xcm_builder::{
|
||||||
AccountId32Aliases, AllowExplicitUnpaidExecutionFrom, AllowKnownQueryResponses,
|
AccountId32Aliases, AllowExplicitUnpaidExecutionFrom, AllowKnownQueryResponses,
|
||||||
AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, ChildParachainAsNative,
|
AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, ChildParachainAsNative,
|
||||||
ChildParachainConvertsVia, CurrencyAdapter as XcmCurrencyAdapter, DescribeBodyTerminal,
|
ChildParachainConvertsVia, CurrencyAdapter as XcmCurrencyAdapter, DescribeBodyTerminal,
|
||||||
DescribeFamily, HashedDescription, IsChildSystemParachain, IsConcrete, MintLocation,
|
DescribeFamily, HashedDescription, IsConcrete, MintLocation, OriginToPluralityVoice,
|
||||||
SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,
|
SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,
|
||||||
TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
||||||
};
|
};
|
||||||
@@ -45,7 +50,7 @@ use xcm_executor::XcmExecutor;
|
|||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const TokenLocation: MultiLocation = Here.into_location();
|
pub const TokenLocation: MultiLocation = Here.into_location();
|
||||||
pub const ThisNetwork: NetworkId = Westend;
|
pub const ThisNetwork: NetworkId = Westend;
|
||||||
pub UniversalLocation: InteriorMultiLocation = ThisNetwork::get().into();
|
pub const UniversalLocation: InteriorMultiLocation = X1(GlobalConsensus(ThisNetwork::get()));
|
||||||
pub CheckAccount: AccountId = XcmPallet::check_account();
|
pub CheckAccount: AccountId = XcmPallet::check_account();
|
||||||
pub LocalCheckAccount: (AccountId, MintLocation) = (CheckAccount::get(), MintLocation::Local);
|
pub LocalCheckAccount: (AccountId, MintLocation) = (CheckAccount::get(), MintLocation::Local);
|
||||||
/// The asset ID for the asset that we use to pay for message delivery fees.
|
/// The asset ID for the asset that we use to pay for message delivery fees.
|
||||||
@@ -77,9 +82,17 @@ pub type LocalAssetTransactor = XcmCurrencyAdapter<
|
|||||||
>;
|
>;
|
||||||
|
|
||||||
type LocalOriginConverter = (
|
type LocalOriginConverter = (
|
||||||
|
// If the origin kind is `Sovereign`, then return a `Signed` origin with the account determined
|
||||||
|
// by the `LocationConverter` converter.
|
||||||
SovereignSignedViaLocation<LocationConverter, RuntimeOrigin>,
|
SovereignSignedViaLocation<LocationConverter, RuntimeOrigin>,
|
||||||
|
// If the origin kind is `Native` and the XCM origin is a child parachain, then we can express
|
||||||
|
// it with the special `parachains_origin::Origin` origin variant.
|
||||||
ChildParachainAsNative<parachains_origin::Origin, RuntimeOrigin>,
|
ChildParachainAsNative<parachains_origin::Origin, RuntimeOrigin>,
|
||||||
|
// If the origin kind is `Native` and the XCM origin is the `AccountId32` location, then it can
|
||||||
|
// be expressed using the `Signed` origin variant.
|
||||||
SignedAccountId32AsNative<ThisNetwork, RuntimeOrigin>,
|
SignedAccountId32AsNative<ThisNetwork, RuntimeOrigin>,
|
||||||
|
// Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
|
||||||
|
XcmPassthrough<RuntimeOrigin>,
|
||||||
);
|
);
|
||||||
|
|
||||||
/// The XCM router. When we want to send an XCM message, we use this type. It amalgamates all of our
|
/// The XCM router. When we want to send an XCM message, we use this type. It amalgamates all of our
|
||||||
@@ -94,22 +107,27 @@ pub type XcmRouter = WithUniqueTopic<(
|
|||||||
)>;
|
)>;
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const Westmint: MultiLocation = Parachain(1000).into_location();
|
|
||||||
pub const Collectives: MultiLocation = Parachain(1001).into_location();
|
|
||||||
pub const Wnd: MultiAssetFilter = Wild(AllOf { fun: WildFungible, id: Concrete(TokenLocation::get()) });
|
pub const Wnd: MultiAssetFilter = Wild(AllOf { fun: WildFungible, id: Concrete(TokenLocation::get()) });
|
||||||
pub const WndForWestmint: (MultiAssetFilter, MultiLocation) = (Wnd::get(), Westmint::get());
|
pub const AssetHub: MultiLocation = Parachain(ASSET_HUB_ID).into_location();
|
||||||
|
pub const WndForAssetHub: (MultiAssetFilter, MultiLocation) = (Wnd::get(), AssetHub::get());
|
||||||
|
pub const Collectives: MultiLocation = Parachain(COLLECTIVES_ID).into_location();
|
||||||
pub const WndForCollectives: (MultiAssetFilter, MultiLocation) = (Wnd::get(), Collectives::get());
|
pub const WndForCollectives: (MultiAssetFilter, MultiLocation) = (Wnd::get(), Collectives::get());
|
||||||
pub const MaxInstructions: u32 = 100;
|
pub const MaxInstructions: u32 = 100;
|
||||||
pub const MaxAssetsIntoHolding: u32 = 64;
|
pub const MaxAssetsIntoHolding: u32 = 64;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "runtime-benchmarks")]
|
|
||||||
parameter_types! {
|
|
||||||
pub ReachableDest: Option<MultiLocation> = Some(Parachain(1000).into());
|
|
||||||
}
|
|
||||||
|
|
||||||
pub type TrustedTeleporters =
|
pub type TrustedTeleporters =
|
||||||
(xcm_builder::Case<WndForWestmint>, xcm_builder::Case<WndForCollectives>);
|
(xcm_builder::Case<WndForAssetHub>, xcm_builder::Case<WndForCollectives>);
|
||||||
|
|
||||||
|
match_types! {
|
||||||
|
pub type OnlyParachains: impl Contains<MultiLocation> = {
|
||||||
|
MultiLocation { parents: 0, interior: X1(Parachain(_)) }
|
||||||
|
};
|
||||||
|
pub type CollectivesOrFellows: impl Contains<MultiLocation> = {
|
||||||
|
MultiLocation { parents: 0, interior: X1(Parachain(COLLECTIVES_ID)) } |
|
||||||
|
MultiLocation { parents: 0, interior: X2(Parachain(COLLECTIVES_ID), Plurality { id: BodyId::Technical, .. }) }
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
/// The barriers one of which must be passed for an XCM message to be executed.
|
/// The barriers one of which must be passed for an XCM message to be executed.
|
||||||
pub type Barrier = TrailingSetTopicAsId<(
|
pub type Barrier = TrailingSetTopicAsId<(
|
||||||
@@ -121,10 +139,10 @@ pub type Barrier = TrailingSetTopicAsId<(
|
|||||||
(
|
(
|
||||||
// If the message is one that immediately attemps to pay for execution, then allow it.
|
// If the message is one that immediately attemps to pay for execution, then allow it.
|
||||||
AllowTopLevelPaidExecutionFrom<Everything>,
|
AllowTopLevelPaidExecutionFrom<Everything>,
|
||||||
// Messages coming from system parachains need not pay for execution.
|
|
||||||
AllowExplicitUnpaidExecutionFrom<IsChildSystemParachain<ParaId>>,
|
|
||||||
// Subscriptions for version tracking are OK.
|
// Subscriptions for version tracking are OK.
|
||||||
AllowSubscriptionsFrom<Everything>,
|
AllowSubscriptionsFrom<OnlyParachains>,
|
||||||
|
// Collectives and Fellows plurality get free execution.
|
||||||
|
AllowExplicitUnpaidExecutionFrom<CollectivesOrFellows>,
|
||||||
),
|
),
|
||||||
UniversalLocation,
|
UniversalLocation,
|
||||||
ConstU32<8>,
|
ConstU32<8>,
|
||||||
@@ -141,8 +159,11 @@ impl xcm_executor::Config for XcmConfig {
|
|||||||
type IsTeleporter = TrustedTeleporters;
|
type IsTeleporter = TrustedTeleporters;
|
||||||
type UniversalLocation = UniversalLocation;
|
type UniversalLocation = UniversalLocation;
|
||||||
type Barrier = Barrier;
|
type Barrier = Barrier;
|
||||||
type Weigher =
|
type Weigher = WeightInfoBounds<
|
||||||
WeightInfoBounds<weights::xcm::WestendXcmWeight<RuntimeCall>, RuntimeCall, MaxInstructions>;
|
crate::weights::xcm::WestendXcmWeight<RuntimeCall>,
|
||||||
|
RuntimeCall,
|
||||||
|
MaxInstructions,
|
||||||
|
>;
|
||||||
type Trader =
|
type Trader =
|
||||||
UsingComponents<WeightToFee, TokenLocation, AccountId, Balances, ToAuthor<Runtime>>;
|
UsingComponents<WeightToFee, TokenLocation, AccountId, Balances, ToAuthor<Runtime>>;
|
||||||
type ResponseHandler = XcmPallet;
|
type ResponseHandler = XcmPallet;
|
||||||
@@ -161,16 +182,54 @@ impl xcm_executor::Config for XcmConfig {
|
|||||||
type Aliasers = Nothing;
|
type Aliasers = Nothing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
parameter_types! {
|
||||||
|
// `GeneralAdmin` pluralistic body.
|
||||||
|
pub const GeneralAdminBodyId: BodyId = BodyId::Administration;
|
||||||
|
// StakingAdmin pluralistic body.
|
||||||
|
pub const StakingAdminBodyId: BodyId = BodyId::Defense;
|
||||||
|
// FellowshipAdmin pluralistic body.
|
||||||
|
pub const FellowshipAdminBodyId: BodyId = BodyId::Index(FELLOWSHIP_ADMIN_INDEX);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "runtime-benchmarks")]
|
||||||
|
parameter_types! {
|
||||||
|
pub ReachableDest: Option<MultiLocation> = Some(Parachain(1000).into());
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Type to convert the `GeneralAdmin` origin to a Plurality `MultiLocation` value.
|
||||||
|
pub type GeneralAdminToPlurality =
|
||||||
|
OriginToPluralityVoice<RuntimeOrigin, GeneralAdmin, GeneralAdminBodyId>;
|
||||||
|
|
||||||
/// Type to convert an `Origin` type value into a `MultiLocation` value which represents an interior
|
/// Type to convert an `Origin` type value into a `MultiLocation` value which represents an interior
|
||||||
/// location of this chain.
|
/// location of this chain.
|
||||||
pub type LocalOriginToLocation = (
|
pub type LocalOriginToLocation = (
|
||||||
|
GeneralAdminToPlurality,
|
||||||
// And a usual Signed origin to be used in XCM as a corresponding AccountId32
|
// And a usual Signed origin to be used in XCM as a corresponding AccountId32
|
||||||
SignedToAccountId32<RuntimeOrigin, AccountId, ThisNetwork>,
|
SignedToAccountId32<RuntimeOrigin, AccountId, ThisNetwork>,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/// Type to convert the `StakingAdmin` origin to a Plurality `MultiLocation` value.
|
||||||
|
pub type StakingAdminToPlurality =
|
||||||
|
OriginToPluralityVoice<RuntimeOrigin, StakingAdmin, StakingAdminBodyId>;
|
||||||
|
|
||||||
|
/// Type to convert the `FellowshipAdmin` origin to a Plurality `MultiLocation` value.
|
||||||
|
pub type FellowshipAdminToPlurality =
|
||||||
|
OriginToPluralityVoice<RuntimeOrigin, FellowshipAdmin, FellowshipAdminBodyId>;
|
||||||
|
|
||||||
|
/// Type to convert a pallet `Origin` type value into a `MultiLocation` value which represents an
|
||||||
|
/// interior location of this chain for a destination chain.
|
||||||
|
pub type LocalPalletOriginToLocation = (
|
||||||
|
// GeneralAdmin origin to be used in XCM as a corresponding Plurality `MultiLocation` value.
|
||||||
|
GeneralAdminToPlurality,
|
||||||
|
// StakingAdmin origin to be used in XCM as a corresponding Plurality `MultiLocation` value.
|
||||||
|
StakingAdminToPlurality,
|
||||||
|
// FellowshipAdmin origin to be used in XCM as a corresponding Plurality `MultiLocation` value.
|
||||||
|
FellowshipAdminToPlurality,
|
||||||
|
);
|
||||||
|
|
||||||
impl pallet_xcm::Config for Runtime {
|
impl pallet_xcm::Config for Runtime {
|
||||||
type RuntimeEvent = RuntimeEvent;
|
type RuntimeEvent = RuntimeEvent;
|
||||||
type SendXcmOrigin = xcm_builder::EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
|
type SendXcmOrigin = xcm_builder::EnsureXcmOrigin<RuntimeOrigin, LocalPalletOriginToLocation>;
|
||||||
type XcmRouter = XcmRouter;
|
type XcmRouter = XcmRouter;
|
||||||
// Anyone can execute XCM messages locally...
|
// Anyone can execute XCM messages locally...
|
||||||
type ExecuteXcmOrigin = xcm_builder::EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
|
type ExecuteXcmOrigin = xcm_builder::EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
|
||||||
@@ -179,8 +238,11 @@ impl pallet_xcm::Config for Runtime {
|
|||||||
type XcmExecutor = XcmExecutor<XcmConfig>;
|
type XcmExecutor = XcmExecutor<XcmConfig>;
|
||||||
type XcmTeleportFilter = Everything;
|
type XcmTeleportFilter = Everything;
|
||||||
type XcmReserveTransferFilter = Everything;
|
type XcmReserveTransferFilter = Everything;
|
||||||
type Weigher =
|
type Weigher = WeightInfoBounds<
|
||||||
WeightInfoBounds<weights::xcm::WestendXcmWeight<RuntimeCall>, RuntimeCall, MaxInstructions>;
|
crate::weights::xcm::WestendXcmWeight<RuntimeCall>,
|
||||||
|
RuntimeCall,
|
||||||
|
MaxInstructions,
|
||||||
|
>;
|
||||||
type UniversalLocation = UniversalLocation;
|
type UniversalLocation = UniversalLocation;
|
||||||
type RuntimeOrigin = RuntimeOrigin;
|
type RuntimeOrigin = RuntimeOrigin;
|
||||||
type RuntimeCall = RuntimeCall;
|
type RuntimeCall = RuntimeCall;
|
||||||
|
|||||||
Reference in New Issue
Block a user