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 15 16 17 18 19 20 21 22 ])),23 }},24 nodes: {25 [name]: {26 bin: $.bin,27 wantedKeys: 'relay',28 extraArgs: [29 "-lxcm=trace"30 ],31 },32 for name in ['alice', 'bob', 'charlie', 'dave', 'eve', 'ferdie', 'gregory', 'holly']33 },34};3536local unique = {37 name: 'unique',38 bin: 'bin/unique',39 paraId: 1001,40 spec: {Genesis:{41 modify:: m.genericPara($),42 }},43 nodes: {44 [name]: {45 bin: $.bin,46 wantedKeys: 'para',47 extraArgs: [48 "-lxcm=trace"49 ],50 },51 for name in ['alice', 'bob']52 },53};5455local acala = {56 name: 'acala',57 bin: 'bin/acala',58 paraId: 1002,59 spec: {Genesis:{60 chain: 'acala-dev',61 modify:: bdk.mixer([62 m.genericPara($),63 function(prev) prev {id+: '-local'},64 ]),65 }},66 nodes: {67 [name]: {68 bin: $.bin,69 wantedKeys: 'para',70 extraArgs: [71 "-lxcm=trace"72 ],73 },74 for name in ['alice', 'bob']75 },76};7778local moonbeam = {79 name: 'moonbeam',80 bin: 'bin/moonbeam',81 signatureSchema: 'Ethereum',82 paraId: 1003,83 spec: {Genesis:{84 chain: 'moonbeam-local',85 specFilePrefix: 'moonbeam-local-',86 modify:: m.genericPara($),87 }},88 nodes: {89 [name]: {90 bin: $.bin,91 wantedKeys: 'para-nimbus',92 extraArgs: [93 "-lxcm=trace"94 ],95 },96 for name in ['alith', 'baltathar']97 },98};99100local statemint = {101 name: 'statemint',102 bin: 'bin/cumulus',103 paraId: 1004,104 spec: {Genesis:{105 chain: 'statemint-local',106 modify:: m.genericPara($),107 }},108 nodes: {109 [name]: {110 bin: $.bin,111 wantedKeys: 'para-ed',112 extraArgs: [113 "-lxcm=trace"114 ],115 },116 for name in ['alice', 'bob']117 },118};119120local astar = {121 name: 'astar',122 bin: 'bin/astar',123 paraId: 1005,124 spec: {Genesis:{125 chain: 'astar-dev',126 modify:: m.genericPara($),127 }},128 nodes: {129 [name]: {130 bin: $.bin,131 wantedKeys: 'para',132 extraArgs: [133 "-lxcm=trace"134 ],135 },136 for name in ['alice', 'bob']137 },138};139140local polkadex = {141 name: 'polkadex',142 bin: 'bin/polkadex',143 paraId: 1006,144 spec: {Genesis:{145 chain: 'mainnet',146 modify:: m.genericPara($),147 }},148 nodes: {149 [name]: {150 bin: $.bin,151 wantedKeys: 'para',152 extraArgs: [153 "-lxcm=trace"154 ],155 },156 for name in ['alice', 'bob']157 },158};159160local hydraDx = {161 name: 'hydraDx',162 bin: 'bin/hydradx',163 paraId: 1007,164 spec: {Genesis:{165 chain: 'local',166 modify:: m.genericPara($),167 }},168 nodes: {169 [name]: {170 bin: $.bin,171 wantedKeys: 'para',172 legacyRpc: true,173 extraArgs: [174 "-lxcm=trace"175 ],176 },177 for name in ['alice', 'bob']178 },179};180181182relay + {183 parachains: {184 [para.name]: para,185 for para in [unique, acala, moonbeam, statemint, astar, polkadex, hydraDx]186 },187}