difftreelog
fix use ChainSpecBuilder
in: master
8 files changed
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -6380,6 +6380,7 @@
"sp-block-builder",
"sp-consensus-aura",
"sp-core",
+ "sp-genesis-builder",
"sp-inherents",
"sp-io",
"sp-offchain",
@@ -10261,6 +10262,7 @@
"sp-block-builder",
"sp-consensus-aura",
"sp-core",
+ "sp-genesis-builder",
"sp-inherents",
"sp-io",
"sp-offchain",
@@ -15134,6 +15136,7 @@
"sp-block-builder",
"sp-consensus-aura",
"sp-core",
+ "sp-genesis-builder",
"sp-inherents",
"sp-io",
"sp-offchain",
Cargo.tomldiffbeforeafterboth--- a/Cargo.toml
+++ b/Cargo.toml
@@ -181,6 +181,7 @@
sp-trie = { default-features = false, version = "32.0.0" }
sp-version = { default-features = false, version = "32.0.0" }
sp-weights = { default-features = false, version = "30.0.0" }
+sp-genesis-builder = { default-features = false, version = "0.10.0" }
staging-parachain-info = { default-features = false, version = "0.10.0" }
staging-xcm = { default-features = false, version = "10.0.0" }
staging-xcm-builder = { default-features = false, version = "10.0.0" }
@@ -217,4 +218,5 @@
log = { version = "0.4.20", default-features = false }
num_enum = { version = "0.7.0", default-features = false }
serde = { default-features = false, features = ['derive'], version = "1.0.188" }
+serde_json = "1"
smallvec = "1.11.1"
node/cli/src/chain_spec.rsdiffbeforeafterboth--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -14,8 +14,6 @@
// You should have received a copy of the GNU General Public License
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-use std::collections::BTreeMap;
-
use default_runtime::WASM_BINARY;
#[cfg(all(not(feature = "unique-runtime"), not(feature = "quartz-runtime")))]
pub use opal_runtime as default_runtime;
@@ -24,7 +22,7 @@
use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup};
use sc_service::ChainType;
use serde::{Deserialize, Serialize};
-use serde_json::map::Map;
+use serde_json::{json, map::Map};
use sp_core::{sr25519, Pair, Public};
use sp_runtime::traits::{IdentifyAccount, Verify};
#[cfg(feature = "unique-runtime")]
@@ -142,184 +140,102 @@
AccountPublic::from(get_from_seed::<TPublic>(seed)).into_account()
}
-#[cfg(not(feature = "unique-runtime"))]
-macro_rules! testnet_genesis {
- (
- $runtime:path,
- $root_key:expr,
- $initial_invulnerables:expr,
- $endowed_accounts:expr,
- $id:expr
- ) => {{
- use $runtime::*;
-
- RuntimeGenesisConfig {
- system: Default::default(),
- balances: BalancesConfig {
- balances: $endowed_accounts
- .iter()
- .cloned()
- // 1e13 UNQ
- .map(|k| (k, 1 << 100))
- .collect(),
- },
- sudo: SudoConfig {
- key: Some($root_key),
- },
-
- vesting: VestingConfig { vesting: vec![] },
- parachain_info: ParachainInfoConfig {
- parachain_id: $id.into(),
- ..Default::default()
- },
- collator_selection: CollatorSelectionConfig {
- invulnerables: $initial_invulnerables
- .iter()
- .cloned()
- .map(|(acc, _)| acc)
- .collect(),
- },
- session: SessionConfig {
- keys: $initial_invulnerables
- .into_iter()
- .map(|(acc, aura)| {
- (
- acc.clone(), // account id
- acc, // validator id
- SessionKeys { aura }, // session keys
- )
- })
- .collect(),
- },
- evm: EVMConfig {
- accounts: BTreeMap::new(),
- ..Default::default()
- },
- ..Default::default()
+pub fn test_config(chain_id: &str, relay_chain: &str) -> DefaultChainSpec {
+ DefaultChainSpec::builder(
+ WASM_BINARY.expect("WASM binary was not build, please build it!"),
+ Extensions {
+ relay_chain: relay_chain.into(),
+ para_id: PARA_ID,
+ },
+ )
+ .with_id(&format!(
+ "{}_{}",
+ default_runtime::VERSION.spec_name,
+ chain_id
+ ))
+ .with_name(&format!(
+ "{}{}",
+ default_runtime::VERSION.spec_name.to_uppercase(),
+ if cfg!(feature = "unique-runtime") {
+ ""
+ } else {
+ " by UNIQUE"
}
- }};
+ ))
+ .with_properties(chain_properties())
+ .with_chain_type(ChainType::Development)
+ .with_genesis_config_patch(genesis_patch())
+ .build()
}
-#[cfg(feature = "unique-runtime")]
-macro_rules! testnet_genesis {
- (
- $runtime:path,
- $root_key:expr,
- $initial_invulnerables:expr,
- $endowed_accounts:expr,
- $id:expr
- ) => {{
- use $runtime::*;
+fn genesis_patch() -> serde_json::Value {
+ use default_runtime::*;
- RuntimeGenesisConfig {
- system: Default::default(),
- balances: BalancesConfig {
- balances: $endowed_accounts
- .iter()
- .cloned()
- // 1e13 UNQ
- .map(|k| (k, 1 << 100))
- .collect(),
- },
- sudo: SudoConfig {
- key: Some($root_key),
- },
- vesting: VestingConfig { vesting: vec![] },
- parachain_info: ParachainInfoConfig {
- parachain_id: $id.into(),
- ..Default::default()
- },
- aura: AuraConfig {
- authorities: $initial_invulnerables
- .into_iter()
- .map(|(_, aura)| aura)
- .collect(),
- },
- evm: EVMConfig {
- accounts: BTreeMap::new(),
- ..Default::default()
- },
- ..Default::default()
- }
- }};
-}
+ let invulnerables = ["Alice", "Bob"];
-pub fn development_config() -> DefaultChainSpec {
- let mut properties = Map::new();
- properties.insert("tokenSymbol".into(), default_runtime::TOKEN_SYMBOL.into());
- properties.insert("tokenDecimals".into(), default_runtime::DECIMALS.into());
- properties.insert(
- "ss58Format".into(),
- default_runtime::SS58Prefix::get().into(),
- );
+ #[allow(unused_mut)]
+ let mut patch = json!({
+ "parachainInfo": {
+ "parachainId": PARA_ID,
+ },
- DefaultChainSpec::from_genesis(
- // Name
- format!(
- "{}{}",
- default_runtime::VERSION.spec_name.to_uppercase(),
- if cfg!(feature = "unique-runtime") {
- ""
- } else {
- " by UNIQUE"
- }
- )
- .as_str(),
- // ID
- format!("{}_dev", default_runtime::VERSION.spec_name).as_str(),
- ChainType::Local,
- move || {
- testnet_genesis!(
- default_runtime,
- // Sudo account
- get_account_id_from_seed::<sr25519::Public>("Alice"),
- [
+ "aura": {
+ "authorities": invulnerables.into_iter()
+ .map(|name| get_from_seed::<AuraId>(name))
+ .collect::<Vec<_>>(),
+ },
+
+ "session": {
+ "keys": invulnerables.into_iter()
+ .map(|name| {
+ let account = get_account_id_from_seed::<sr25519::Public>(name);
+ let aura = get_from_seed::<AuraId>(name);
+
(
- get_account_id_from_seed::<sr25519::Public>("Alice"),
- get_from_seed::<AuraId>("Alice"),
- ),
- (
- get_account_id_from_seed::<sr25519::Public>("Bob"),
- get_from_seed::<AuraId>("Bob"),
- ),
- ],
- // Pre-funded accounts
- vec![
- get_account_id_from_seed::<sr25519::Public>("Alice"),
- get_account_id_from_seed::<sr25519::Public>("Bob"),
- get_account_id_from_seed::<sr25519::Public>("Charlie"),
- get_account_id_from_seed::<sr25519::Public>("Dave"),
- get_account_id_from_seed::<sr25519::Public>("Eve"),
- get_account_id_from_seed::<sr25519::Public>("Ferdie"),
- get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
- get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
- get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
- get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
- get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
- get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
- ],
- PARA_ID
- )
+ /* account id: */ account.clone(),
+ /* validator id: */ account,
+ /* session keys: */ SessionKeys { aura },
+ )
+ })
+ .collect::<Vec<_>>()
+ },
+
+ "sudo": {
+ "key": get_account_id_from_seed::<sr25519::Public>("Alice"),
},
- // Bootnodes
- vec![],
- // Telemetry
- None,
- // Protocol ID
- None,
- None,
- // Properties
- Some(properties),
- // Extensions
- Extensions {
- relay_chain: "rococo-dev".into(),
- para_id: PARA_ID,
+
+ "balances": {
+ "balances": &[
+ get_account_id_from_seed::<sr25519::Public>("Alice"),
+ get_account_id_from_seed::<sr25519::Public>("Bob"),
+ get_account_id_from_seed::<sr25519::Public>("Charlie"),
+ get_account_id_from_seed::<sr25519::Public>("Dave"),
+ get_account_id_from_seed::<sr25519::Public>("Eve"),
+ get_account_id_from_seed::<sr25519::Public>("Ferdie"),
+ get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
+ get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
+ get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
+ get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
+ get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
+ get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
+ ].into_iter()
+ .map(|k| (k, /* ~1.2e+12 UNQ */ 1u128 << 100))
+ .collect::<Vec<_>>(),
},
- WASM_BINARY.expect("WASM binary was not build, please build it!"),
- )
+ });
+
+ #[cfg(feature = "unique-runtime")]
+ {
+ patch
+ .as_object_mut()
+ .expect("the genesis patch is always an object; qed")
+ .remove("session");
+ }
+
+ patch
}
-pub fn local_testnet_config() -> DefaultChainSpec {
+fn chain_properties() -> sc_chain_spec::Properties {
let mut properties = Map::new();
properties.insert("tokenSymbol".into(), default_runtime::TOKEN_SYMBOL.into());
properties.insert("tokenDecimals".into(), default_runtime::DECIMALS.into());
@@ -328,68 +244,5 @@
default_runtime::SS58Prefix::get().into(),
);
- DefaultChainSpec::from_genesis(
- // Name
- format!(
- "{}{}",
- default_runtime::VERSION.impl_name.to_uppercase(),
- if cfg!(feature = "unique-runtime") {
- ""
- } else {
- " by UNIQUE"
- }
- )
- .as_str(),
- // ID
- format!("{}_local", default_runtime::VERSION.spec_name).as_str(),
- ChainType::Local,
- move || {
- testnet_genesis!(
- default_runtime,
- // Sudo account
- get_account_id_from_seed::<sr25519::Public>("Alice"),
- [
- (
- get_account_id_from_seed::<sr25519::Public>("Alice"),
- get_from_seed::<AuraId>("Alice"),
- ),
- (
- get_account_id_from_seed::<sr25519::Public>("Bob"),
- get_from_seed::<AuraId>("Bob"),
- ),
- ],
- // Pre-funded accounts
- vec![
- get_account_id_from_seed::<sr25519::Public>("Alice"),
- get_account_id_from_seed::<sr25519::Public>("Bob"),
- get_account_id_from_seed::<sr25519::Public>("Charlie"),
- get_account_id_from_seed::<sr25519::Public>("Dave"),
- get_account_id_from_seed::<sr25519::Public>("Eve"),
- get_account_id_from_seed::<sr25519::Public>("Ferdie"),
- get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
- get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
- get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
- get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
- get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
- get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
- ],
- PARA_ID
- )
- },
- // Bootnodes
- vec![],
- // Telemetry
- None,
- // Protocol ID
- None,
- None,
- // Properties
- Some(properties),
- // Extensions
- Extensions {
- relay_chain: "westend-local".into(),
- para_id: PARA_ID,
- },
- WASM_BINARY.expect("WASM binary was not build, please build it!"),
- )
+ properties
}
node/cli/src/command.rsdiffbeforeafterboth--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -49,9 +49,7 @@
use crate::{
chain_spec::{self, RuntimeIdentification, ServiceId, ServiceIdentification},
cli::{Cli, RelayChainCli, Subcommand},
- service::{
- new_partial, start_dev_node, start_node, OpalRuntimeExecutor, ParachainHostFunctions,
- },
+ service::{new_partial, start_dev_node, start_node, OpalRuntimeExecutor},
};
macro_rules! no_runtime_err {
@@ -65,8 +63,8 @@
fn load_spec(id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
Ok(match id {
- "dev" => Box::new(chain_spec::development_config()),
- "" | "local" => Box::new(chain_spec::local_testnet_config()),
+ "dev" => Box::new(chain_spec::test_config("dev", "rococo-dev")),
+ "" | "local" => Box::new(chain_spec::test_config("local", "westend-local")),
path => {
let path = std::path::PathBuf::from(path);
#[allow(clippy::redundant_clone)]
@@ -352,6 +350,8 @@
use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
use polkadot_cli::Block;
+ use crate::service::ParachainHostFunctions;
+
type Header = <Block as sp_runtime::traits::Block>::Header;
type Hasher = <Header as sp_runtime::traits::Header>::Hashing;
@@ -403,7 +403,7 @@
use std::{future::Future, pin::Pin};
use polkadot_cli::Block;
- use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch};
+ use sc_executor::NativeExecutionDispatch;
use try_runtime_cli::block_building_info::timestamp_with_aura_info;
let runner = cli.create_runner(cmd)?;
runtime/common/runtime_apis.rsdiffbeforeafterboth--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -43,6 +43,7 @@
ApplyExtrinsicResult, DispatchError, ExtrinsicInclusionMode,
};
use frame_support::{
+ genesis_builder_helper::{build_config, create_default_config},
pallet_prelude::Weight,
traits::OnFinalize,
};
@@ -710,6 +711,16 @@
)
}
}
+
+ impl sp_genesis_builder::GenesisBuilder<Block> for Runtime {
+ fn create_default_config() -> Vec<u8> {
+ create_default_config::<RuntimeGenesisConfig>()
+ }
+
+ fn build_config(config: Vec<u8>) -> sp_genesis_builder::Result {
+ build_config::<RuntimeGenesisConfig>(config)
+ }
+ }
}
}
}
runtime/opal/Cargo.tomldiffbeforeafterboth--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -146,6 +146,7 @@
'sp-storage/std',
'sp-transaction-pool/std',
'sp-version/std',
+ 'sp-genesis-builder/std',
'staging-parachain-info/std',
'staging-xcm-builder/std',
'staging-xcm-executor/std',
@@ -295,6 +296,7 @@
sp-storage = { workspace = true }
sp-transaction-pool = { workspace = true }
sp-version = { workspace = true }
+sp-genesis-builder = { workspace = true }
staging-parachain-info = { workspace = true }
staging-xcm = { workspace = true }
staging-xcm-builder = { workspace = true }
runtime/quartz/Cargo.tomldiffbeforeafterboth--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -145,6 +145,7 @@
'sp-std/std',
'sp-transaction-pool/std',
'sp-version/std',
+ 'sp-genesis-builder/std',
'staging-parachain-info/std',
'staging-xcm-builder/std',
'staging-xcm-executor/std',
@@ -283,6 +284,7 @@
sp-storage = { workspace = true }
sp-transaction-pool = { workspace = true }
sp-version = { workspace = true }
+sp-genesis-builder = { workspace = true }
staging-parachain-info = { workspace = true }
staging-xcm = { workspace = true }
staging-xcm-builder = { workspace = true }
runtime/unique/Cargo.tomldiffbeforeafterboth1################################################################################2# Package34[package]5authors = ['Unique Network <support@uniquenetwork.io>']6build = 'build.rs'7description = 'Unique Runtime'8edition = '2021'9homepage = 'https://unique.network'10license = 'GPLv3'11name = 'unique-runtime'12repository = 'https://github.com/UniqueNetwork/unique-chain'13version.workspace = true1415[package.metadata.docs.rs]16targets = ['x86_64-unknown-linux-gnu']1718[features]19default = ['std', 'unique-runtime']20limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']21pov-estimate = []22runtime-benchmarks = [23 "pallet-preimage/runtime-benchmarks",24 'cumulus-pallet-parachain-system/runtime-benchmarks',25 'parachains-common/runtime-benchmarks',26 'frame-benchmarking',27 'frame-support/runtime-benchmarks',28 'frame-system-benchmarking',29 'frame-system/runtime-benchmarks',30 'pallet-app-promotion/runtime-benchmarks',31 'pallet-balances/runtime-benchmarks',32 'pallet-collator-selection/runtime-benchmarks',33 'pallet-collective/runtime-benchmarks',34 'pallet-collective/runtime-benchmarks',35 'pallet-common/runtime-benchmarks',36 'pallet-configuration/runtime-benchmarks',37 'pallet-democracy/runtime-benchmarks',38 'pallet-democracy/runtime-benchmarks',39 'pallet-ethereum/runtime-benchmarks',40 'pallet-evm-coder-substrate/runtime-benchmarks',41 'pallet-evm-migration/runtime-benchmarks',42 'pallet-foreign-assets/runtime-benchmarks',43 'pallet-fungible/runtime-benchmarks',44 'pallet-identity/runtime-benchmarks',45 'pallet-inflation/runtime-benchmarks',46 'pallet-maintenance/runtime-benchmarks',47 'pallet-membership/runtime-benchmarks',48 'pallet-membership/runtime-benchmarks',49 'pallet-nonfungible/runtime-benchmarks',50 'pallet-ranked-collective/runtime-benchmarks',51 'pallet-referenda/runtime-benchmarks',52 'pallet-refungible/runtime-benchmarks',53 'pallet-scheduler/runtime-benchmarks',54 'pallet-scheduler/runtime-benchmarks',55 'pallet-structure/runtime-benchmarks',56 'pallet-timestamp/runtime-benchmarks',57 'pallet-unique/runtime-benchmarks',58 'pallet-utility/runtime-benchmarks',59 'pallet-xcm/runtime-benchmarks',60 'pallet-message-queue/runtime-benchmarks',61 'polkadot-runtime-common/runtime-benchmarks',62 'sp-runtime/runtime-benchmarks',63 'staging-xcm-builder/runtime-benchmarks',64 'up-data-structs/runtime-benchmarks',65]66std = [67 'cumulus-pallet-aura-ext/std',68 'cumulus-pallet-parachain-system/std',69 'cumulus-pallet-xcm/std',70 'cumulus-pallet-xcmp-queue/std',71 'cumulus-primitives-core/std',72 'cumulus-primitives-utility/std',73 'parachains-common/std',74 'frame-executive/std',75 'frame-support/std',76 'frame-system-rpc-runtime-api/std',77 'frame-system/std',78 'frame-try-runtime/std',79 'pallet-aura/std',80 'pallet-balances/std',81 'pallet-collective/std',82 'pallet-democracy/std',83 'pallet-membership/std',84 'pallet-scheduler/std',85 'parity-scale-codec/std',86 # 'pallet-contracts/std',87 # 'pallet-contracts-primitives/std',88 # 'pallet-contracts-rpc-runtime-api/std',89 # 'pallet-contract-helpers/std',90 "pallet-authorship/std",91 "pallet-identity/std",92 "pallet-preimage/std",93 "pallet-session/std",94 "pallet-state-trie-migration/std",95 "sp-consensus-aura/std",96 'app-promotion-rpc/std',97 'evm-coder/std',98 'fp-rpc/std',99 'fp-self-contained/std',100 'pallet-app-promotion/std',101 'pallet-balances-adapter/std',102 'pallet-base-fee/std',103 'pallet-charge-transaction/std',104 'pallet-collator-selection/std',105 'pallet-collective/std',106 'pallet-common/std',107 'pallet-configuration/std',108 'pallet-democracy/std',109 'pallet-ethereum/std',110 'pallet-evm-coder-substrate/std',111 'pallet-evm-contract-helpers/std',112 'pallet-evm-migration/std',113 'pallet-evm-transaction-payment/std',114 'pallet-evm/std',115 'pallet-fungible/std',116 'pallet-gov-origins/std',117 'pallet-inflation/std',118 'pallet-membership/std',119 'pallet-nonfungible/std',120 'pallet-ranked-collective/std',121 'pallet-referenda/std',122 'pallet-refungible/std',123 'pallet-scheduler/std',124 'pallet-structure/std',125 'pallet-sudo/std',126 'pallet-timestamp/std',127 'pallet-transaction-payment-rpc-runtime-api/std',128 'pallet-transaction-payment/std',129 'pallet-treasury/std',130 'pallet-unique/std',131 'pallet-utility/std',132 'pallet-xcm/std',133 'pallet-message-queue/std',134 'polkadot-runtime-common/std',135 'sp-api/std',136 'sp-block-builder/std',137 'sp-core/std',138 'sp-inherents/std',139 'sp-io/std',140 'sp-offchain/std',141 'sp-runtime/std',142 'sp-session/std',143 'sp-std/std',144 'sp-transaction-pool/std',145 'sp-version/std',146 'sp-genesis-builder/std',147 'staging-parachain-info/std',148 'staging-xcm-builder/std',149 'staging-xcm-executor/std',150 'staging-xcm/std',151 'up-common/std',152 'up-data-structs/std',153 'up-pov-estimate-rpc/std',154 'up-rpc/std',155 'up-sponsorship/std',156157 "orml-traits/std",158 "orml-vesting/std",159 "orml-xcm-support/std",160 "orml-xtokens/std",161 "pallet-foreign-assets/std",162 "pallet-maintenance/std",163]164stubgen = ["evm-coder/stubgen"]165try-runtime = [166 "pallet-authorship/try-runtime",167 "pallet-collator-selection/try-runtime",168 "pallet-identity/try-runtime",169 "pallet-preimage/try-runtime",170 "pallet-session/try-runtime",171 "pallet-state-trie-migration/try-runtime",172 'cumulus-pallet-aura-ext/try-runtime',173 'cumulus-pallet-dmp-queue/try-runtime',174 'cumulus-pallet-parachain-system/try-runtime',175 'cumulus-pallet-xcm/try-runtime',176 'cumulus-pallet-xcmp-queue/try-runtime',177 'fp-self-contained/try-runtime',178 'frame-executive/try-runtime',179 'frame-support/try-runtime',180 'frame-system/try-runtime',181 'frame-try-runtime',182 'orml-vesting/try-runtime',183 'orml-xtokens/try-runtime',184 'pallet-app-promotion/try-runtime',185 'pallet-aura/try-runtime',186 'pallet-balances-adapter/try-runtime',187 'pallet-balances/try-runtime',188 'pallet-charge-transaction/try-runtime',189 'pallet-collective/try-runtime',190 'pallet-collective/try-runtime',191 'pallet-common/try-runtime',192 'pallet-configuration/try-runtime',193 'pallet-democracy/try-runtime',194 'pallet-democracy/try-runtime',195 'pallet-ethereum/try-runtime',196 'pallet-evm-coder-substrate/try-runtime',197 'pallet-evm-contract-helpers/try-runtime',198 'pallet-evm-migration/try-runtime',199 'pallet-evm-transaction-payment/try-runtime',200 'pallet-evm/try-runtime',201 'pallet-foreign-assets/try-runtime',202 'pallet-fungible/try-runtime',203 'pallet-gov-origins/try-runtime',204 'pallet-inflation/try-runtime',205 'pallet-maintenance/try-runtime',206 'pallet-membership/try-runtime',207 'pallet-membership/try-runtime',208 'pallet-nonfungible/try-runtime',209 'pallet-ranked-collective/try-runtime',210 'pallet-referenda/try-runtime',211 'pallet-refungible/try-runtime',212 'pallet-scheduler/try-runtime',213 'pallet-scheduler/try-runtime',214 'pallet-structure/try-runtime',215 'pallet-sudo/try-runtime',216 'pallet-timestamp/try-runtime',217 'pallet-transaction-payment/try-runtime',218 'pallet-treasury/try-runtime',219 'pallet-unique/try-runtime',220 'pallet-utility/try-runtime',221 'pallet-xcm/try-runtime',222 'pallet-message-queue/try-runtime',223 'polkadot-runtime-common/try-runtime',224 'staging-parachain-info/try-runtime',225]226unique-runtime = ['app-promotion', 'foreign-assets', 'governance', 'preimage', 'refungible']227228app-promotion = []229collator-selection = []230fast-inflation = []231foreign-assets = []232gov-test-timings = []233governance = []234preimage = []235refungible = []236session-test-timings = []237238################################################################################239# local dependencies240241[dependencies]242cumulus-pallet-aura-ext = { workspace = true }243cumulus-pallet-dmp-queue = { workspace = true }244cumulus-pallet-parachain-system = { workspace = true }245cumulus-pallet-xcm = { workspace = true }246cumulus-pallet-xcmp-queue = { workspace = true }247cumulus-primitives-core = { workspace = true }248cumulus-primitives-timestamp = { workspace = true }249cumulus-primitives-utility = { workspace = true }250parachains-common = { workspace = true }251frame-executive = { workspace = true }252frame-support = { workspace = true }253frame-system = { workspace = true }254frame-system-rpc-runtime-api = { workspace = true }255orml-traits = { workspace = true }256orml-vesting = { workspace = true }257orml-xcm-support = { workspace = true }258orml-xtokens = { workspace = true }259pallet-aura = { workspace = true }260pallet-authorship = { workspace = true }261pallet-balances = { features = ["insecure_zero_ed"], workspace = true }262pallet-preimage = { workspace = true }263pallet-session = { workspace = true }264pallet-state-trie-migration = { workspace = true }265pallet-sudo = { workspace = true }266pallet-timestamp = { workspace = true }267pallet-transaction-payment = { workspace = true }268pallet-transaction-payment-rpc-runtime-api = { workspace = true }269pallet-treasury = { workspace = true }270pallet-utility = { workspace = true }271pallet-xcm = { workspace = true }272pallet-message-queue = { workspace = true }273parity-scale-codec = { workspace = true }274polkadot-parachain-primitives = { workspace = true }275polkadot-runtime-common = { workspace = true }276smallvec = { workspace = true }277sp-api = { workspace = true }278sp-arithmetic = { workspace = true }279sp-block-builder = { workspace = true }280sp-consensus-aura = { workspace = true }281sp-core = { workspace = true }282sp-inherents = { workspace = true }283sp-io = { workspace = true }284sp-offchain = { workspace = true }285sp-runtime = { workspace = true }286sp-session = { workspace = true }287sp-std = { workspace = true }288sp-storage = { workspace = true }289sp-transaction-pool = { workspace = true }290sp-version = { workspace = true }291sp-genesis-builder = { workspace = true }292staging-parachain-info = { workspace = true }293staging-xcm = { workspace = true }294staging-xcm-builder = { workspace = true }295staging-xcm-executor = { workspace = true }296297app-promotion-rpc = { workspace = true }298derivative = { workspace = true }299log = { workspace = true }300pallet-app-promotion = { workspace = true }301pallet-balances-adapter = { workspace = true }302pallet-collator-selection = { workspace = true }303pallet-collective = { workspace = true }304pallet-common = { workspace = true }305pallet-configuration = { workspace = true }306pallet-democracy = { workspace = true }307pallet-fungible = { workspace = true }308pallet-gov-origins = { workspace = true }309pallet-identity = { workspace = true }310pallet-inflation = { workspace = true }311pallet-membership = { workspace = true }312pallet-nonfungible = { workspace = true }313pallet-ranked-collective = { workspace = true }314pallet-referenda = { workspace = true }315pallet-refungible = { workspace = true }316pallet-scheduler = { workspace = true }317pallet-structure = { workspace = true }318pallet-unique = { workspace = true }319scale-info = { workspace = true }320up-common = { workspace = true }321up-data-structs = { workspace = true }322up-pov-estimate-rpc = { workspace = true }323up-rpc = { workspace = true }324# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }325evm-coder = { workspace = true }326fp-evm = { workspace = true }327fp-rpc = { workspace = true }328fp-self-contained = { workspace = true }329num_enum = { workspace = true }330pallet-base-fee = { workspace = true }331pallet-charge-transaction = { workspace = true }332pallet-ethereum = { workspace = true }333pallet-evm = { workspace = true }334pallet-evm-coder-substrate = { workspace = true }335pallet-evm-contract-helpers = { workspace = true }336pallet-evm-migration = { workspace = true }337pallet-evm-precompile-simple = { workspace = true }338pallet-evm-transaction-payment = { workspace = true }339pallet-foreign-assets = { workspace = true }340pallet-maintenance = { workspace = true }341precompile-utils-macro = { workspace = true }342up-sponsorship = { workspace = true }343344################################################################################345# Optional dependencies346347frame-benchmarking = { workspace = true, optional = true }348frame-system-benchmarking = { workspace = true, optional = true }349frame-try-runtime = { workspace = true, optional = true }350serde = { workspace = true, optional = true }351352################################################################################353# Test dependencies354355pallet-test-utils = { workspace = true }356357################################################################################358# Other Dependencies359360hex-literal = { workspace = true }361impl-trait-for-tuples = { workspace = true }362363[build-dependencies]364substrate-wasm-builder = { workspace = true }