partner_chains_demo_node/
chain_spec.rs

1use partner_chains_demo_runtime::{
2	AccountId, CrossChainPublic, Signature, WASM_BINARY, opaque::SessionKeys,
3};
4use sp_core::{Pair, Public};
5use sp_runtime::traits::{IdentifyAccount, Verify};
6
7// The URL for the telemetry server.
8// const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/";
9
10pub type ChainSpec = sc_service::GenericChainSpec;
11
12#[derive(Clone, Debug, PartialEq)]
13pub struct AuthorityKeys {
14	pub session: SessionKeys,
15	pub cross_chain: CrossChainPublic,
16}
17
18/// Generate a crypto pair from seed.
19pub fn get_from_seed<TPublic: Public>(seed: &str) -> <TPublic::Pair as Pair>::Public {
20	TPublic::Pair::from_string(seed, None)
21		.expect("static values are valid; qed")
22		.public()
23}
24
25type AccountPublic = <Signature as Verify>::Signer;
26
27pub fn get_account_id_from_seed<TPublic: Public>(seed: &str) -> AccountId
28where
29	AccountPublic: From<<TPublic::Pair as Pair>::Public>,
30{
31	AccountPublic::from(get_from_seed::<TPublic>(seed)).into_account()
32}
33
34pub fn runtime_wasm() -> &'static [u8] {
35	WASM_BINARY.expect("Runtime wasm not available")
36}