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 ['unique', 'acala'],17 ['unique', 'moonbeam'],18 ['unique', 'statemint'],19 ['unique', 'astar'],20 ['unique', 'polkadex'],21 ]22 ])),23 }},24 nodes: {25 [name]: {26 bin: $.bin,27 wantedKeys: 'relay',28 },29 for name in ['alice', 'bob', 'charlie', 'dave', 'eve', 'ferdie', 'gregory']30 },31};3233local unique = {34 name: 'unique',35 bin: 'bin/unique',36 paraId: 1001,37 spec: {Genesis:{38 modify:: m.genericPara($),39 }},40 nodes: {41 [name]: {42 bin: $.bin,43 wantedKeys: 'para',44 },45 for name in ['alice', 'bob']46 },47};4849local acala = {50 name: 'acala',51 bin: 'bin/acala',52 paraId: 1002,53 spec: {Genesis:{54 chain: 'acala-dev',55 modify:: bdk.mixer([56 m.genericPara($),57 function(prev) prev {id+: '-local'},58 ]),59 }},60 nodes: {61 [name]: {62 bin: $.bin,63 wantedKeys: 'para',64 legacyRpc: true,65 },66 for name in ['alice', 'bob']67 },68};6970local moonbeam = {71 name: 'moonbeam',72 bin: 'bin/moonbeam',73 signatureSchema: 'Ethereum',74 paraId: 1003,75 spec: {Genesis:{76 chain: 'moonbeam-local',77 specFilePrefix: 'moonbeam-local-',78 modify:: m.genericPara($),79 }},80 nodes: {81 [name]: {82 bin: $.bin,83 wantedKeys: 'para-nimbus',84 legacyRpc: true,85 },86 for name in ['alith', 'baltathar']87 },88};8990local statemint = {91 name: 'statemint',92 bin: 'bin/cumulus',93 paraId: 1004,94 spec: {Genesis:{95 chain: 'statemint-local',96 modify:: m.genericPara($),97 }},98 nodes: {99 [name]: {100 bin: $.bin,101 wantedKeys: 'para-ed',102 },103 for name in ['alice', 'bob']104 },105};106107local astar = {108 name: 'astar',109 bin: 'bin/astar',110 paraId: 1005,111 spec: {Genesis:{112 chain: 'astar-dev',113 modify:: m.genericPara($),114 }},115 nodes: {116 [name]: {117 bin: $.bin,118 wantedKeys: 'para',119 legacyRpc: true,120 },121 for name in ['alice', 'bob']122 },123};124125local polkadex = {126 name: 'polkadex',127 bin: 'bin/polkadex',128 paraId: 1006,129 spec: {Genesis:{130 chain: 'mainnet',131 modify:: m.genericPara($),132 }},133 nodes: {134 [name]: {135 bin: $.bin,136 wantedKeys: 'para',137 },138 for name in ['alice', 'bob']139 },140};141142relay + {143 parachains: {144 [para.name]: para,145 for para in [unique, acala, moonbeam, statemint, astar, polkadex]146 },147}