glutton_westend_runtime/
genesis_config_presets.rs1use crate::*;
19use alloc::vec::Vec;
20use cumulus_primitives_core::ParaId;
21use frame_support::build_struct_json_patch;
22use parachains_common::AuraId;
23use sp_genesis_builder::PresetId;
24use sp_keyring::Sr25519Keyring;
25
26pub const DEFAULT_GLUTTON_PARA_ID: ParaId = ParaId::new(1300);
30
31pub fn glutton_westend_genesis(
32 authorities: Vec<AuraId>,
33 sudo: Option<AccountId>,
34 id: ParaId,
35) -> serde_json::Value {
36 build_struct_json_patch!(RuntimeGenesisConfig {
37 parachain_info: ParachainInfoConfig { parachain_id: id },
38 aura: AuraConfig { authorities },
39 sudo: SudoConfig { key: sudo }
40 })
41}
42
43pub fn get_preset(id: &PresetId) -> Option<Vec<u8>> {
45 let patch = match id.as_ref() {
46 sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET => glutton_westend_genesis(
47 vec![Sr25519Keyring::Alice.public().into(), Sr25519Keyring::Bob.public().into()],
49 Some(Sr25519Keyring::Alice.to_account_id()),
50 DEFAULT_GLUTTON_PARA_ID,
51 ),
52 sp_genesis_builder::DEV_RUNTIME_PRESET => glutton_westend_genesis(
53 vec![Sr25519Keyring::Alice.public().into()],
55 Some(Sr25519Keyring::Alice.to_account_id()),
56 DEFAULT_GLUTTON_PARA_ID,
57 ),
58 _ => return None,
59 };
60
61 Some(
62 serde_json::to_string(&patch)
63 .expect("serialization to json is expected to work. qed.")
64 .into_bytes(),
65 )
66}
67
68pub fn preset_names() -> Vec<PresetId> {
70 vec![
71 PresetId::from(sp_genesis_builder::DEV_RUNTIME_PRESET),
72 PresetId::from(sp_genesis_builder::LOCAL_TESTNET_RUNTIME_PRESET),
73 ]
74}