Skip to content

Commit 6efd6dc

Browse files
authored
Add 'bootnodes' to CreateChainSpecConfig, to enable using them in chain-spec building
1 parent 92c9725 commit 6efd6dc

File tree

4 files changed

+9
-0
lines changed

4 files changed

+9
-0
lines changed

demo/node/src/chain_spec.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ pub fn pc_create_chain_spec(config: &CreateChainSpecConfig<SessionKeys>) -> serd
6464
.with_id("partner_chains_demo")
6565
.with_chain_type(ChainType::Live)
6666
.with_genesis_config(genesis_json)
67+
.with_boot_nodes(config.bootnodes.iter().map(|bn| bn.parse().unwrap()).collect())
6768
.build();
6869
let raw = false;
6970
let chain_spec_str = chain_spec.as_json(raw).expect("Chain spec serialization can not fail");

demo/node/src/tests/chain_spec.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use std::str::FromStr;
88
#[test]
99
fn pc_create_chain_spec_test() {
1010
let config = CreateChainSpecConfig {
11+
bootnodes: vec![],
1112
genesis_utxo: UtxoId::new([1u8; 32], 7),
1213
initial_permissioned_candidates_raw: vec![],
1314
initial_permissioned_candidates_parsed: vec![ParsedPermissionedCandidatesKeys {

toolkit/partner-chains-cli/src/create_chain_spec/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ impl<T: PartnerChainRuntime> CreateChainSpecCmd<T> {
9999
#[derive(Debug)]
100100
/// Configuration that contains all Partner Chain specific data required to create the chain spec
101101
pub struct CreateChainSpecConfig<Keys> {
102+
pub bootnodes: Vec<String>,
102103
pub genesis_utxo: UtxoId,
103104
pub initial_permissioned_candidates_raw: Vec<PermissionedCandidateKeys>,
104105
pub initial_permissioned_candidates_parsed: Vec<ParsedPermissionedCandidatesKeys<Keys>>,
@@ -122,6 +123,7 @@ impl<Keys: MaybeFromCandidateKeys> CreateChainSpecConfig<Keys> {
122123
.map(TryFrom::try_from)
123124
.collect::<Result<Vec<ParsedPermissionedCandidatesKeys<Keys>>, anyhow::Error>>()?;
124125
Ok(Self {
126+
bootnodes: load_config_field(c, &config_fields::BOOTNODES)?,
125127
genesis_utxo: load_config_field(c, &config_fields::GENESIS_UTXO)?,
126128
initial_permissioned_candidates_raw,
127129
initial_permissioned_candidates_parsed,
@@ -247,6 +249,7 @@ impl<Keys: MaybeFromCandidateKeys> CreateChainSpecConfig<Keys> {
247249
impl<T> Default for CreateChainSpecConfig<T> {
248250
fn default() -> Self {
249251
Self {
252+
bootnodes: Default::default(),
250253
genesis_utxo: Default::default(),
251254
initial_permissioned_candidates_raw: Default::default(),
252255
initial_permissioned_candidates_parsed: Default::default(),

toolkit/partner-chains-cli/src/create_chain_spec/tests.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ impl PartnerChainRuntime for MockRuntime {
1313
config: &super::CreateChainSpecConfig<TestSessionKeys>,
1414
) -> serde_json::Value {
1515
serde_json::json!({
16+
"bootnodes": config.bootnodes,
1617
"session":config.pallet_partner_chains_session_config::<MockRuntime>(),
1718
"sessionCommitteeManagement": config.pallet_session_validator_management_config::<MockRuntime>(),
1819
"sidechain": config.pallet_sidechain_config::<MockRuntime>(SlotsPerEpoch(13)),
@@ -95,6 +96,7 @@ If you are a validator, you can obtain the chain configuration file from the gov
9596

9697
fn test_config_content() -> serde_json::Value {
9798
serde_json::json!({
99+
"bootnodes": ["test_bootnode"],
98100
"chain_parameters": chain_parameters_json(),
99101
"initial_permissioned_candidates": [
100102
{
@@ -131,6 +133,7 @@ fn test_config_content_without_initial_permissioned_candidates() -> serde_json::
131133

132134
fn test_config_content_with_empty_initial_permissioned_candidates() -> serde_json::Value {
133135
serde_json::json!({
136+
"bootnodes": [],
134137
"chain_parameters": chain_parameters_json(),
135138
"initial_permissioned_candidates": [],
136139
"cardano_addresses": cardano_addresses_json(),
@@ -215,6 +218,7 @@ fn show_initial_permissioned_candidates() -> MockIO {
215218
fn generated_chain_spec() -> serde_json::Value {
216219
serde_json::json!(
217220
{
221+
"bootnodes": ["test_bootnode"],
218222
"session": {
219223
"initialValidators": [
220224
[

0 commit comments

Comments
 (0)