diff --git a/crates/configuration/src/shared/node.rs b/crates/configuration/src/shared/node.rs index 9b11d2709222ae90287996521859e0a9be78d4ad..2240a062396e5137979e2d1e8ab16d97426c3815 100644 --- a/crates/configuration/src/shared/node.rs +++ b/crates/configuration/src/shared/node.rs @@ -67,7 +67,7 @@ pub struct NodeConfig { #[serde(alias = "invulnerable", default = "default_as_true")] pub(crate) is_invulnerable: bool, #[serde(alias = "bootnode")] - pub(crate) is_bootnode: bool, + pub(crate) is_bootnode: Option<bool>, #[serde(alias = "balance")] #[serde(default)] initial_balance: U128, @@ -191,7 +191,7 @@ impl NodeConfig { /// Whether the node is a bootnode. pub fn is_bootnode(&self) -> bool { - self.is_bootnode + self.is_bootnode.is_some() } /// Node initial balance present in genesis. @@ -268,7 +268,7 @@ impl Default for NodeConfigBuilder<Initial> { args: vec![], is_validator: true, is_invulnerable: true, - is_bootnode: false, + is_bootnode: Some(false), initial_balance: 2_000_000_000_000.into(), env: vec![], bootnodes_addresses: vec![], @@ -434,7 +434,7 @@ impl NodeConfigBuilder<Buildable> { pub fn bootnode(self, choice: bool) -> Self { Self::transition( NodeConfig { - is_bootnode: choice, + is_bootnode: Some(choice), ..self.config }, self.validation_context, diff --git a/crates/examples/examples/0001-simple.toml b/crates/examples/examples/0001-simple.toml index 46168b41a35618134b857d912d0bb00968f2a2fd..f6c7192c4c9a77d82f3071beebedbea21b25c701 100644 --- a/crates/examples/examples/0001-simple.toml +++ b/crates/examples/examples/0001-simple.toml @@ -10,12 +10,10 @@ chain = "rococo-local" [[relaychain.nodes]] name = "alice" args = [ "--alice", "-lruntime=debug,parachain=trace" ] - is_bootnode = true [[relaychain.nodes]] name = "bob" args = [ "--bob", "-lruntime=debug,parachain=trace" ] - is_bootnode = true [[parachains]] id = 100 diff --git a/crates/orchestrator/src/lib.rs b/crates/orchestrator/src/lib.rs index a01c8b207984a7ffb18ac4a459a2cb1611387143..661ca67c8690720f2f2221774b00ead083ec2480 100644 --- a/crates/orchestrator/src/lib.rs +++ b/crates/orchestrator/src/lib.rs @@ -190,7 +190,7 @@ where let mut bootnodes = vec![]; let mut relaynodes = vec![]; network_spec.relaychain.nodes.iter().for_each(|node| { - if node.is_bootnode { + if node.is_bootnode.is_some() { bootnodes.push(node) } else { relaynodes.push(node) diff --git a/crates/orchestrator/src/network_spec/node.rs b/crates/orchestrator/src/network_spec/node.rs index 15d9580b250590478cb61b354d45f35cdab3452f..52127ef5f93e208018d83a42625cbf644ec1cdce 100644 --- a/crates/orchestrator/src/network_spec/node.rs +++ b/crates/orchestrator/src/network_spec/node.rs @@ -43,7 +43,7 @@ pub struct NodeSpec { pub(crate) is_invulnerable: bool, /// Whether the node is a bootnode. - pub(crate) is_bootnode: bool, + pub(crate) is_bootnode: Option<bool>, /// Node initial balance present in genesis. pub(crate) initial_balance: u128, @@ -124,7 +124,7 @@ impl NodeSpec { args, is_validator: node_config.is_validator(), is_invulnerable: node_config.is_invulnerable(), - is_bootnode: node_config.is_bootnode(), + is_bootnode: Some(node_config.is_bootnode()), initial_balance: node_config.initial_balance(), env: node_config.env().into_iter().cloned().collect(), bootnodes_addresses: node_config @@ -200,7 +200,7 @@ impl NodeSpec { args, is_validator: options.is_validator, is_invulnerable: false, - is_bootnode: false, + is_bootnode: Some(false), initial_balance: 0, env: options.env, bootnodes_addresses: vec![],