diff --git a/javascript/packages/orchestrator/src/chainSpec.ts b/javascript/packages/orchestrator/src/chainSpec.ts index 9332f7f4a..b05f0aac6 100644 --- a/javascript/packages/orchestrator/src/chainSpec.ts +++ b/javascript/packages/orchestrator/src/chainSpec.ts @@ -432,6 +432,11 @@ export async function addParachainToGenesis( else if (runtimeConfig.parachainsParas) { paras = runtimeConfig.parachainsParas.paras; } + // The config may not contain paras. Since chainspec allows to contain the RuntimeGenesisConfig patch we can inject it. + else { + runtimeConfig.paras = { paras: [] }; + paras = runtimeConfig.paras.paras; + } if (paras) { const new_para = [ parseInt(para_id), @@ -622,11 +627,13 @@ function findAndReplaceConfig(obj1: any, obj2: any) { } export function getRuntimeConfig(chainSpec: any) { - const runtimeConfig = + // runtime_genesis_config is no longer in ChainSpec after rococo runtime rework (refer to: https://github.com/paritytech/polkadot-sdk/pull/1256) + // ChainSpec may contain a RuntimeGenesisConfigPatch + return ( + chainSpec.genesis.runtimeGenesisConfigPatch || chainSpec.genesis.runtime?.runtime_genesis_config || - chainSpec.genesis.runtime; - - return runtimeConfig; + chainSpec.genesis.runtime + ); } export function readAndParseChainSpec(specPath: string) {