From 216cc45dc499b1a0815f606988269452079b7a0e Mon Sep 17 00:00:00 2001 From: Javier Viola <pepoviola@gmail.com> Date: Wed, 8 Nov 2023 06:48:23 -0300 Subject: [PATCH] fix(orchestrator): customize invulnerables (#131) Call `add_collator_selection` to customize `invulnerables` for both session and aura keys. cc @pgherveou --- .../orchestrator/src/generators/chain_spec.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/crates/orchestrator/src/generators/chain_spec.rs b/crates/orchestrator/src/generators/chain_spec.rs index fd81f4d..11a50c8 100644 --- a/crates/orchestrator/src/generators/chain_spec.rs +++ b/crates/orchestrator/src/generators/chain_spec.rs @@ -342,15 +342,18 @@ impl ChainSpec { ); } else { add_aura_authorities(&pointer, &mut chain_spec_json, &validators, KeyType::Aura); - let invulnerables: Vec<&NodeSpec> = para - .collators - .iter() - .filter(|node| node.is_invulnerable) - .collect(); - add_collator_selection(&pointer, &mut chain_spec_json, &invulnerables); // await addParaCustom(chainSpecFullPathPlain, node); }; + // Add nodes to collator + let invulnerables: Vec<&NodeSpec> = para + .collators + .iter() + .filter(|node| node.is_invulnerable) + .collect(); + + add_collator_selection(&pointer, &mut chain_spec_json, &invulnerables); + // override `parachainInfo/parachainId` override_parachain_info(&pointer, &mut chain_spec_json, para.id); @@ -821,11 +824,13 @@ fn add_collator_selection( .clone() }) .collect(); + // collatorSelection.invulnerables - if let Some(invulnerables) = val.pointer_mut("collatorSelection/invulnerables") { + if let Some(invulnerables) = val.pointer_mut("/collatorSelection/invulnerables") { *invulnerables = json!(keys); } else { // TODO: add a nice warning here. + println!("warn!! can't customize the invulnerables key"); } } else { unreachable!("pointer to runtime config should be valid!") -- GitLab