diff --git a/polkadot/parachain/test-parachains/adder/collator/src/cli.rs b/polkadot/parachain/test-parachains/adder/collator/src/cli.rs index 7b59d2acf7..ae6e9ef900 100644 --- a/polkadot/parachain/test-parachains/adder/collator/src/cli.rs +++ b/polkadot/parachain/test-parachains/adder/collator/src/cli.rs @@ -45,6 +45,10 @@ pub struct RunCmd { #[allow(missing_docs)] #[structopt(flatten)] pub base: sc_cli::RunCmd, + + /// Id of the parachain this collator collates for. + #[structopt(long)] + pub parachain_id: Option, } #[allow(missing_docs)] @@ -96,7 +100,10 @@ impl SubstrateCli for Cli { Box::new(polkadot_service::chain_spec::rococo_local_testnet_config()?) } "rococo" => Box::new(polkadot_service::chain_spec::rococo_config()?), - _ => Err("adder collator only supports rococo")?, + path => { + let path = std::path::PathBuf::from(path); + Box::new(polkadot_service::RococoChainSpec::from_json_file(path)?) + } }) } diff --git a/polkadot/parachain/test-parachains/adder/collator/src/main.rs b/polkadot/parachain/test-parachains/adder/collator/src/main.rs index 3145bf72c1..03b63989cc 100644 --- a/polkadot/parachain/test-parachains/adder/collator/src/main.rs +++ b/polkadot/parachain/test-parachains/adder/collator/src/main.rs @@ -23,7 +23,8 @@ use sc_cli::{Result, Role, SubstrateCli}; use sp_core::hexdisplay::HexDisplay; use test_parachain_adder_collator::Collator; -const PARA_ID: ParaId = ParaId::new(100); +/// The parachain ID to collate for in case it wasn't set explicitly through CLI. +const DEFAULT_PARA_ID: ParaId = ParaId::new(100); mod cli; use cli::Cli; @@ -69,21 +70,23 @@ fn main() -> Result<()> { let validation_code_hex = format!("0x{:?}", HexDisplay::from(&collator.validation_code())); - log::info!("Running adder collator for parachain id: {}", PARA_ID); + let para_id = cli.run.parachain_id.map(ParaId::from).unwrap_or(DEFAULT_PARA_ID); + + log::info!("Running adder collator for parachain id: {}", para_id); log::info!("Genesis state: {}", genesis_head_hex); log::info!("Validation code: {}", validation_code_hex); let config = CollationGenerationConfig { key: collator.collator_key(), collator: collator.create_collation_function(), - para_id: PARA_ID, + para_id, }; overseer_handler .send_msg(CollationGenerationMessage::Initialize(config)) .await; overseer_handler - .send_msg(CollatorProtocolMessage::CollateOn(PARA_ID)) + .send_msg(CollatorProtocolMessage::CollateOn(para_id)) .await; Ok(full_node.task_manager)