1local2m = import 'baedeker-library/mixin/spec.libsonnet',3;45function(relay_spec)67local relay = {8 name: 'relay',9 bin: 'bin/polkadot',10 validatorIdAssignment: 'staking',11 spec: {Genesis:{12 chain: relay_spec,13 modify:: m.genericRelay($, hrmp = std.join([], [14 [[$.parachains[a].paraId, $.parachains[b].paraId, 8, 512], [$.parachains[b].paraId, $.parachains[a].paraId, 8, 512]],15 for [a, b] in [16 ['quartz', 'karura'],17 ['quartz', 'moonriver'],18 ['quartz', 'statemine'],19 ['quartz', 'shiden'],20 ]21 ])),22 }},23 nodes: {24 [name]: {25 bin: $.bin,26 wantedKeys: 'relay',27 },28 for name in ['alice', 'bob', 'charlie', 'dave', 'eve', 'ferdie']29 },30};3132local quartz = {33 name: 'quartz',34 bin: 'bin/unique',35 paraId: 1001,36 spec: {Genesis:{37 modify:: m.genericPara($),38 }},39 nodes: {40 [name]: {41 bin: $.bin,42 wantedKeys: 'para',43 },44 for name in ['alice', 'bob']45 },46};4748local karura = {49 name: 'karura',50 bin: 'bin/acala',51 paraId: 1002,52 spec: {Genesis:{53 chain: 'karura-dev',54 modify:: bdk.mixer([55 m.genericPara($),56 function(prev) prev {id+: '-local'},57 ]),58 }},59 nodes: {60 [name]: {61 bin: $.bin,62 wantedKeys: 'para',63 legacyRpc: true,64 },65 for name in ['alice', 'bob']66 },67};6869local moonriver = {70 name: 'moonriver',71 bin: 'bin/moonbeam',72 signatureSchema: 'Ethereum',73 paraId: 1003,74 spec: {Genesis:{75 chain: 'moonriver-local',76 specFilePrefix: 'moonriver-local-',77 modify:: m.genericPara($),78 }},79 nodes: {80 [name]: {81 bin: $.bin,82 wantedKeys: 'para-nimbus',83 legacyRpc: true,84 },85 for name in ['alith', 'baltathar']86 },87};8889local statemine = {90 name: 'statemine',91 bin: 'bin/cumulus',92 paraId: 1004,93 spec: {Genesis:{94 chain: 'statemine-local',95 modify:: m.genericPara($),96 }},97 nodes: {98 [name]: {99 bin: $.bin,100 wantedKeys: 'para',101 },102 for name in ['alice', 'bob']103 },104};105106local shiden = {107 name: 'shiden',108 bin: 'bin/astar',109 paraId: 1005,110 spec: {Genesis:{111 chain: 'shiden-dev',112 modify:: m.genericPara($),113 }},114 nodes: {115 [name]: {116 bin: $.bin,117 wantedKeys: 'para',118 },119 for name in ['alice', 'bob']120 },121};122123relay + {124 parachains: {125 [para.name]: para,126 for para in [quartz, karura, moonriver, statemine, shiden]127 },128}