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.tomldiffbeforeafterboth1[workspace]2default-members = ['client/*', 'node/*', 'runtime/opal']3members = [4 'client/*',5 'crates/*',6 'node/*',7 'pallets/*',8 'primitives/*',9 'runtime/opal',10 'runtime/quartz',11 'runtime/tests',12 'runtime/unique',13]14package.version = "1.3.0"15resolver = "2"1617[profile.release]18# Runtime requires unwinding19panic = "unwind"2021[profile.production]22codegen-units = 123inherits = "release"24lto = true25opt-level = 32627[profile.integration-tests]28debug-assertions = true29inherits = "release"3031[workspace.dependencies]32# Unique33app-promotion-rpc = { path = "primitives/app_promotion_rpc", default-features = false }34evm-coder = { version = "0.4.3", default-features = false, features = ['bondrewd'] }35pallet-app-promotion = { path = "pallets/app-promotion", default-features = false }36pallet-balances-adapter = { default-features = false, path = "pallets/balances-adapter" }37pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v1.9.0" }38pallet-collator-selection = { default-features = false, path = "pallets/collator-selection" }39pallet-common = { default-features = false, path = "pallets/common" }40pallet-configuration = { default-features = false, path = "pallets/configuration" }41pallet-evm-coder-substrate = { default-features = false, path = "pallets/evm-coder-substrate" }42pallet-evm-contract-helpers = { path = "pallets/evm-contract-helpers", default-features = false }43pallet-evm-migration = { path = "pallets/evm-migration", default-features = false }44pallet-evm-transaction-payment = { path = "pallets/evm-transaction-payment", default-features = false }45pallet-foreign-assets = { default-features = false, path = "pallets/foreign-assets" }46pallet-fungible = { default-features = false, path = "pallets/fungible" }47pallet-gov-origins = { default-features = false, path = "pallets/gov-origins" }48pallet-identity = { default-features = false, path = "pallets/identity" }49pallet-inflation = { path = "pallets/inflation", default-features = false }50pallet-maintenance = { default-features = false, path = "pallets/maintenance" }51pallet-nonfungible = { default-features = false, path = "pallets/nonfungible" }52pallet-refungible = { default-features = false, path = "pallets/refungible" }53pallet-structure = { default-features = false, path = "pallets/structure" }54pallet-test-utils = { default-features = false, path = "test-pallets/utils" }55pallet-unique = { path = "pallets/unique", default-features = false }56precompile-utils-macro = { path = "runtime/common/ethereum/precompiles/utils/macro" }57struct-versioning = { path = "crates/struct-versioning" }58uc-rpc = { path = "client/rpc" }59unique-rpc = { path = "node/rpc" }60up-common = { path = "primitives/common", default-features = false }61up-data-structs = { path = "primitives/data-structs", default-features = false }62up-pov-estimate-rpc = { path = "primitives/pov-estimate-rpc", default-features = false }63up-rpc = { path = "primitives/rpc", default-features = false }64up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v1.9.0" }6566# Unique: Runtimes67opal-runtime = { path = "runtime/opal" }68quartz-runtime = { path = "runtime/quartz" }69unique-runtime = { path = "runtime/unique" }7071# Frontier (Unique patches over the Parity version)72fc-api = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }73fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }74fc-db = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }75fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }76fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }77fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }78fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }79fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }80fp-self-contained = { default-features = false, features = [81 "serde",82], git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }83fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }84pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }85pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }86pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }87pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }8889# Parity90codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.6.5" }91cumulus-client-cli = "0.10.0"92cumulus-client-collator = "0.10.0"93cumulus-client-consensus-aura = "0.10.0"94cumulus-client-consensus-common = "0.10.0"95cumulus-client-consensus-proposer = "0.10.0"96cumulus-client-network = "0.10.0"97cumulus-client-service = "0.10.0"98cumulus-client-parachain-inherent = "0.4.0"99cumulus-pallet-aura-ext = { default-features = false, version = "0.10.0" }100cumulus-pallet-dmp-queue = { default-features = false, version = "0.10.0" }101cumulus-pallet-parachain-system = { default-features = false, version = "0.10.0" }102cumulus-pallet-xcm = { default-features = false, version = "0.10.0" }103cumulus-pallet-xcmp-queue = { default-features = false, version = "0.10.0" }104cumulus-primitives-aura = { default-features = false, version = "0.10.0" }105cumulus-primitives-core = { default-features = false, version = "0.10.0" }106cumulus-primitives-parachain-inherent = { default-features = false, version = "0.10.0" }107cumulus-primitives-timestamp = { default-features = false, version = "0.10.0" }108cumulus-primitives-utility = { default-features = false, version = "0.10.0" }109cumulus-relay-chain-inprocess-interface = "0.10.0"110cumulus-relay-chain-interface = "0.10.0"111cumulus-relay-chain-minimal-node = "0.10.0"112parachains-common = { default-features = false, version = "10.0.0"}113frame-executive = { default-features = false, version = "31.0.0" }114frame-support = { default-features = false, version = "31.0.0" }115frame-system = { default-features = false, version = "31.0.0" }116frame-system-rpc-runtime-api = { default-features = false, version = "29.0.0" }117pallet-aura = { default-features = false, version = "30.0.0" }118pallet-authorship = { default-features = false, version = "31.0.0" }119pallet-balances = { default-features = false, version = "31.0.0" }120pallet-collective = { default-features = false, version = "31.0.0" }121pallet-democracy = { default-features = false, version = "31.0.0" }122pallet-membership = { default-features = false, version = "31.0.0" }123pallet-preimage = { default-features = false, version = "31.0.0" }124pallet-ranked-collective = { default-features = false, version = "31.0.0" }125pallet-referenda = { default-features = false, version = "31.0.0" }126pallet-scheduler = { default-features = false, version = "32.0.0" }127pallet-session = { default-features = false, version = "31.0.0" }128pallet-state-trie-migration = { default-features = false, version = "32.0.0" }129pallet-sudo = { default-features = false, version = "31.0.0" }130pallet-timestamp = { default-features = false, version = "30.0.0" }131pallet-transaction-payment = { default-features = false, version = "31.0.0" }132pallet-transaction-payment-rpc = "33.0.0"133pallet-transaction-payment-rpc-runtime-api = { default-features = false, version = "31.0.0" }134pallet-treasury = { default-features = false, version = "30.0.0" }135pallet-utility = { default-features = false, version = "31.0.0" }136pallet-xcm = { default-features = false, version = "10.0.1" }137pallet-message-queue = { default-features = false, version = "34.0.0" }138parity-scale-codec = { version = "3.6.5", features = ["derive"], default-features = false }139polkadot-cli = "10.0.0"140polkadot-parachain-primitives = { default-features = false, version = "9.0.0" }141polkadot-primitives = "10.0.0"142polkadot-runtime-common = { default-features = false, version = "10.0.0" }143polkadot-service = "10.0.0"144sc-basic-authorship = "0.37.0"145sc-chain-spec = "30.0.0"146sc-cli = "0.39.0"147sc-client-api = "31.0.0"148sc-consensus = "0.36.0"149sc-consensus-manual-seal = "0.38.0"150sc-executor = "0.35.0"151sc-network = "0.37.0"152sc-network-sync = "0.36.0"153sc-rpc = "32.0.0"154sc-rpc-api = "0.36.0"155sc-service = "0.38.0"156sc-sysinfo = "30.0.0"157sc-telemetry = "17.0.0"158sc-tracing = "31.0.0"159sc-transaction-pool = "31.0.0"160scale-info = { version = "2.9.0", default-features = false, features = ["derive"] }161sp-api = { default-features = false, version = "29.0.0" }162sp-arithmetic = { default-features = false, version = "25.0.0" }163sp-block-builder = { default-features = false, version = "29.0.0" }164sp-blockchain = "31.0.0"165sp-consensus-aura = { default-features = false, version = "0.35.0" }166sp-core = { default-features = false, version = "31.0.0" }167sp-externalities = "0.27.0"168sp-inherents = { default-features = false, version = "29.0.0" }169sp-io = { default-features = false, version = "33.0.0" }170sp-keystore = "0.37.0"171sp-offchain = { default-features = false, version = "29.0.0" }172sp-runtime = { default-features = false, version = "34.0.0" }173sp-session = { default-features = false, version = "30.0.0" }174sp-staking = { default-features = false, version = "29.0.0" }175sp-state-machine = "0.38.0"176sp-std = { default-features = false, version = "14.0.0" }177sp-storage = { default-features = false, version = "20.0.0" }178sp-timestamp = "29.0.0"179sp-tracing = "16.0.0"180sp-transaction-pool = { default-features = false, version = "29.0.0" }181sp-trie = { default-features = false, version = "32.0.0" }182sp-version = { default-features = false, version = "32.0.0" }183sp-weights = { default-features = false, version = "30.0.0" }184staging-parachain-info = { default-features = false, version = "0.10.0" }185staging-xcm = { default-features = false, version = "10.0.0" }186staging-xcm-builder = { default-features = false, version = "10.0.0" }187staging-xcm-executor = { default-features = false, version = "10.0.0" }188substrate-frame-rpc-system = "31.0.0"189substrate-prometheus-endpoint = "0.17.0"190191# Parity: Build utils192substrate-build-script-utils = "11.0.0"193substrate-wasm-builder = "20.0.0"194195# Parity: Benchmarking196frame-benchmarking = { default-features = false, version = "31.0.0" }197frame-benchmarking-cli = "35.0.0"198frame-system-benchmarking = { default-features = false, version = "31.0.0" }199200# Parity: Try Runtime201frame-try-runtime = { default-features = false, version = "0.37.0" }202try-runtime-cli = "0.41.0"203204# ORML205orml-traits = { version = "0.9.1", default-features = false }206orml-vesting = { version = "0.9.1", default-features = false }207orml-xcm-support = { version = "0.9.1", default-features = false }208orml-xtokens = { version = "0.9.1", default-features = false }209210# Other211derivative = { version = "2.2.0", features = ["use_core"] }212ethereum = { version = "0.15.0", default-features = false, features = ["with-codec"] }213evm-core = { version = "0.41.0", default-features = false }214hex-literal = "0.4.1"215impl-trait-for-tuples = "0.2.2"216jsonrpsee = { version = "0.22.5", features = ["macros", "server"] }217log = { version = "0.4.20", default-features = false }218num_enum = { version = "0.7.0", default-features = false }219serde = { default-features = false, features = ['derive'], version = "1.0.188" }220smallvec = "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.tomldiffbeforeafterboth--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -143,6 +143,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',
@@ -287,6 +288,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 }