bridge_hub_rococo_emulated_chain/
genesis.rs1use sp_core::storage::Storage;
18use sp_keyring::Sr25519Keyring as Keyring;
19
20use emulated_integration_tests_common::{
22 accounts, build_genesis_storage, collators, SAFE_XCM_VERSION,
23};
24use parachains_common::Balance;
25use xcm::latest::{prelude::*, WESTEND_GENESIS_HASH};
26
27pub const ASSETHUB_PARA_ID: u32 = 1000;
28pub const PARA_ID: u32 = 1013;
29pub const ED: Balance = testnet_parachains_constants::rococo::currency::EXISTENTIAL_DEPOSIT;
30
31pub fn genesis() -> Storage {
32 let genesis_config = bridge_hub_rococo_runtime::RuntimeGenesisConfig {
33 system: bridge_hub_rococo_runtime::SystemConfig::default(),
34 balances: bridge_hub_rococo_runtime::BalancesConfig {
35 balances: accounts::init_balances().iter().cloned().map(|k| (k, ED * 4096)).collect(),
36 ..Default::default()
37 },
38 parachain_info: bridge_hub_rococo_runtime::ParachainInfoConfig {
39 parachain_id: PARA_ID.into(),
40 ..Default::default()
41 },
42 collator_selection: bridge_hub_rococo_runtime::CollatorSelectionConfig {
43 invulnerables: collators::invulnerables().iter().cloned().map(|(acc, _)| acc).collect(),
44 candidacy_bond: ED * 16,
45 ..Default::default()
46 },
47 session: bridge_hub_rococo_runtime::SessionConfig {
48 keys: collators::invulnerables()
49 .into_iter()
50 .map(|(acc, aura)| {
51 (
52 acc.clone(), acc, bridge_hub_rococo_runtime::SessionKeys { aura }, )
56 })
57 .collect(),
58 ..Default::default()
59 },
60 polkadot_xcm: bridge_hub_rococo_runtime::PolkadotXcmConfig {
61 safe_xcm_version: Some(SAFE_XCM_VERSION),
62 ..Default::default()
63 },
64 bridge_westend_grandpa: bridge_hub_rococo_runtime::BridgeWestendGrandpaConfig {
65 owner: Some(Keyring::Bob.to_account_id()),
66 ..Default::default()
67 },
68 bridge_westend_messages: bridge_hub_rococo_runtime::BridgeWestendMessagesConfig {
69 owner: Some(Keyring::Bob.to_account_id()),
70 ..Default::default()
71 },
72 xcm_over_bridge_hub_westend: bridge_hub_rococo_runtime::XcmOverBridgeHubWestendConfig {
73 opened_bridges: vec![
74 (
76 Location::new(1, [Parachain(1000)]),
77 Junctions::from([ByGenesis(WESTEND_GENESIS_HASH).into(), Parachain(1000)]),
78 Some(bp_messages::LegacyLaneId([0, 0, 0, 2])),
79 ),
80 ],
81 ..Default::default()
82 },
83 ethereum_system: bridge_hub_rococo_runtime::EthereumSystemConfig {
84 para_id: PARA_ID.into(),
85 asset_hub_para_id: ASSETHUB_PARA_ID.into(),
86 ..Default::default()
87 },
88 ..Default::default()
89 };
90
91 build_genesis_storage(
92 &genesis_config,
93 bridge_hub_rococo_runtime::WASM_BINARY
94 .expect("WASM binary was not built, please build it!"),
95 )
96}