1local2m = import 'baedeker-library/mixin/spec.libsonnet',3rm = import 'baedeker-library/mixin/raw-spec.libsonnet',4;56function(relay_spec, forked_spec, fork_source)78local relay = {9 name: 'relay',10 bin: 'bin/polkadot',11 validatorIdAssignment: 'staking',12 spec: {Genesis:{13 chain: relay_spec,14 modify:: m.genericRelay($),15 }},16 nodes: {17 [name]: {18 bin: $.bin,19 wantedKeys: 'relay',20 },21 for name in ['alice', 'bob', 'charlie', 'dave', 'eve']22 },23};2425local unique = {26 name: 'unique',27 bin: 'bin/unique',28 paraId: 1001,29 spec: {Raw:{30 local modifyRaw = bdk.mixer([31 rm.resetNetworking($),32 rm.decodeSpec(),33 rm.polkaLaunchPara($),34 rm.reencodeSpec(),35 ]),36 raw_spec: modifyRaw({37 name: "Unused",38 id: "%s_local" % forked_spec,39 bootNodes: error "override me",40 chainType: error "override me",41 telemetryEndpoints: error "override me",42 codeSubstitutes: error "override me",43 para_id: error "override me",44 relay_chain: "unused",45 genesis: {46 raw: {47 top: cql.chain(fork_source).latest._preloadKeys._raw,48 childrenDefault: {},49 },50 },51 }),52 }},53 nodes: {54 [name]: {55 bin: $.bin,56 wantedKeys: 'para',57 },58 for name in ['alice', 'bob']59 },60};6162relay + {63 parachains: {64 [para.name]: para,65 for para in [unique]66 },67}