diff --git a/javascript/packages/orchestrator/src/configGenerator.ts b/javascript/packages/orchestrator/src/configGenerator.ts index ccb948744..5a2c5f5dc 100644 --- a/javascript/packages/orchestrator/src/configGenerator.ts +++ b/javascript/packages/orchestrator/src/configGenerator.ts @@ -414,9 +414,9 @@ export async function generateNetworkSpec( } } else { parachainSetup.chainSpecCommand = parachain.chain_spec_command - ? config.relaychain.chain_spec_command + ? parachain.chain_spec_command : `${collatorBinary} build-spec ${ - parachain.chain ? "--chain " + parachain.chain : "" + parachain.chain ? "--chain {{chainName}}" : "" } --disable-default-bootnode`; } diff --git a/javascript/packages/orchestrator/src/paras.ts b/javascript/packages/orchestrator/src/paras.ts index 4bb692de2..b17d05184 100644 --- a/javascript/packages/orchestrator/src/paras.ts +++ b/javascript/packages/orchestrator/src/paras.ts @@ -91,7 +91,7 @@ export async function generateParachainFiles( chainSpecCommand: parachain.chainSpecCommand!, defaultImage: parachain.collators[0].image, }, - chainName, + parachain.chain, chainSpecFullPathPlain, ); } @@ -157,11 +157,9 @@ export async function generateParachainFiles( // Generate the raw chain-spec logic // Make sure we include the plain chain-spec - const chainSpecRawCommand = parachain - .chainSpecCommand!.split(" ") - .includes("--chain") - ? parachain.chainSpecCommand - : `${parachain.chainSpecCommand} --chain {{chainName}}`; + const chainSpecRawCommand = getChainSpecCmdRaw( + parachain.chainSpecCommand!, + ); await getChainSpecRaw( namespace, @@ -333,3 +331,16 @@ export async function generateParachainFiles( return; } + +function getChainSpecCmdRaw(chainSpecCommand: string) { + // Default to the provided cmd, will work for custom generator. + let returnCmd = chainSpecCommand; + const parts = chainSpecCommand! + .split(" ") + .filter((part: string) => part.length); + if (parts.includes("build-spec") && !parts.includes("--chain")) { + returnCmd = `${chainSpecCommand} --chain {{chainName}}`; + } + + return returnCmd; +}