mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-24 04:15:45 +00:00
c5f211d0de
Co-authored-by: ordian <write@reusable.software> Co-authored-by: Vladimir Istyufeev <vladimir@parity.io>
98 lines
2.9 KiB
Rust
98 lines
2.9 KiB
Rust
// Copyright (C) Parity Technologies (UK) Ltd.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
// Substrate
|
|
use beefy_primitives::ecdsa_crypto::AuthorityId as BeefyId;
|
|
use grandpa::AuthorityId as GrandpaId;
|
|
use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId;
|
|
use sp_consensus_babe::AuthorityId as BabeId;
|
|
use sp_core::{sr25519, storage::Storage};
|
|
|
|
// Polkadot
|
|
use polkadot_primitives::{AssignmentId, ValidatorId};
|
|
|
|
// Cumulus
|
|
use emulated_integration_tests_common::{
|
|
accounts, build_genesis_storage, get_account_id_from_seed, get_from_seed, get_host_config,
|
|
validators,
|
|
};
|
|
use parachains_common::Balance;
|
|
use rococo_runtime_constants::currency::UNITS as ROC;
|
|
|
|
pub const ED: Balance = rococo_runtime_constants::currency::EXISTENTIAL_DEPOSIT;
|
|
const ENDOWMENT: u128 = 1_000_000 * ROC;
|
|
|
|
fn session_keys(
|
|
babe: BabeId,
|
|
grandpa: GrandpaId,
|
|
para_validator: ValidatorId,
|
|
para_assignment: AssignmentId,
|
|
authority_discovery: AuthorityDiscoveryId,
|
|
beefy: BeefyId,
|
|
) -> rococo_runtime::SessionKeys {
|
|
rococo_runtime::SessionKeys {
|
|
babe,
|
|
grandpa,
|
|
para_validator,
|
|
para_assignment,
|
|
authority_discovery,
|
|
beefy,
|
|
}
|
|
}
|
|
|
|
pub fn genesis() -> Storage {
|
|
let genesis_config = rococo_runtime::RuntimeGenesisConfig {
|
|
system: rococo_runtime::SystemConfig::default(),
|
|
balances: rococo_runtime::BalancesConfig {
|
|
balances: accounts::init_balances().iter().map(|k| (k.clone(), ENDOWMENT)).collect(),
|
|
},
|
|
session: rococo_runtime::SessionConfig {
|
|
keys: validators::initial_authorities()
|
|
.iter()
|
|
.map(|x| {
|
|
(
|
|
x.0.clone(),
|
|
x.0.clone(),
|
|
session_keys(
|
|
x.2.clone(),
|
|
x.3.clone(),
|
|
x.4.clone(),
|
|
x.5.clone(),
|
|
x.6.clone(),
|
|
get_from_seed::<BeefyId>("Alice"),
|
|
),
|
|
)
|
|
})
|
|
.collect::<Vec<_>>(),
|
|
},
|
|
babe: rococo_runtime::BabeConfig {
|
|
authorities: Default::default(),
|
|
epoch_config: Some(rococo_runtime::BABE_GENESIS_EPOCH_CONFIG),
|
|
..Default::default()
|
|
},
|
|
sudo: rococo_runtime::SudoConfig {
|
|
key: Some(get_account_id_from_seed::<sr25519::Public>("Alice")),
|
|
},
|
|
configuration: rococo_runtime::ConfigurationConfig { config: get_host_config() },
|
|
registrar: rococo_runtime::RegistrarConfig {
|
|
next_free_para_id: polkadot_primitives::LOWEST_PUBLIC_ID,
|
|
..Default::default()
|
|
},
|
|
..Default::default()
|
|
};
|
|
|
|
build_genesis_storage(&genesis_config, rococo_runtime::WASM_BINARY.unwrap())
|
|
}
|