partner_chains_demo_node/
template_chain_spec.rs1use crate::chain_spec::*;
2use partner_chains_demo_runtime::{
3 AuraConfig, BalancesConfig, GovernedMapConfig, GrandpaConfig, NativeTokenManagementConfig,
4 RuntimeGenesisConfig, SessionCommitteeManagementConfig, SessionConfig, SidechainConfig,
5 SudoConfig, SystemConfig, TestHelperPalletConfig,
6};
7use sc_service::ChainType;
8
9pub fn chain_spec() -> Result<ChainSpec, envy::Error> {
14 let runtime_genesis_config = RuntimeGenesisConfig {
15 system: SystemConfig { ..Default::default() },
16 balances: BalancesConfig {
17 balances: vec![],
19 dev_accounts: None,
20 },
21 aura: AuraConfig { authorities: vec![] },
22 grandpa: GrandpaConfig { authorities: vec![], ..Default::default() },
23 sudo: SudoConfig {
24 key: None,
26 },
27 transaction_payment: Default::default(),
28 session: SessionConfig {
29 initial_validators: vec![],
31 },
32 sidechain: SidechainConfig {
33 genesis_utxo: sp_sidechain::read_genesis_utxo_from_env_with_defaults()?,
34 ..Default::default()
35 },
36 pallet_session: Default::default(),
37 session_committee_management: SessionCommitteeManagementConfig {
38 initial_authorities: vec![],
40 main_chain_scripts: sp_session_validator_management::MainChainScripts::read_from_env()?,
41 },
42 native_token_management: NativeTokenManagementConfig {
43 main_chain_scripts: Some(sp_native_token_management::MainChainScripts::read_from_env()?),
44 ..Default::default()
45 },
46 governed_map: GovernedMapConfig {
47 main_chain_scripts: Some(Default::default()),
48 ..Default::default()
49 },
50 test_helper_pallet: TestHelperPalletConfig {
51 participation_data_release_period: 30,
52 ..Default::default()
53 },
54 };
55 let genesis_json = serde_json::to_value(runtime_genesis_config)
56 .expect("Genesis config must be serialized correctly");
57 Ok(ChainSpec::builder(runtime_wasm(), None)
58 .with_name("Partner Chains Template")
59 .with_id("partner_chains_template")
60 .with_chain_type(ChainType::Live)
61 .with_genesis_config(genesis_json)
62 .build())
63}