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