|
| 1 | +local |
| 2 | +m = import 'baedeker-library/mixin/spec.libsonnet', |
| 3 | +rm = import 'baedeker-library/mixin/raw-spec.libsonnet', |
| 4 | +; |
| 5 | + |
| 6 | +function(relay_spec, forked_spec, dump_spec) |
| 7 | + |
| 8 | +local relay = { |
| 9 | + name: 'relay', |
| 10 | + bin: 'bin/polkadot', |
| 11 | + validatorIdAssignment: 'staking', |
| 12 | + spec: {Genesis:{ |
| 13 | + chain: relay_spec, |
| 14 | + modify:: bdk.mixer([ |
| 15 | + m.genericRelay($), |
| 16 | + m.simplifyGenesisName(), |
| 17 | + { |
| 18 | + _genesis+: { |
| 19 | + configuration+: { |
| 20 | + config+: { |
| 21 | + async_backing_params+: { |
| 22 | + allowed_ancestry_len: 3, |
| 23 | + max_candidate_depth: 4, |
| 24 | + }, |
| 25 | + validation_upgrade_cooldown: 200, |
| 26 | + validation_upgrade_delay: 100, |
| 27 | + minimum_validation_upgrade_delay: 15, |
| 28 | + minimum_backing_votes: 2, |
| 29 | + needed_approvals: 2, |
| 30 | + scheduler_params+: { |
| 31 | + lookahead: 1, |
| 32 | + }, |
| 33 | + }, |
| 34 | + }, |
| 35 | + }, |
| 36 | + }, |
| 37 | + m.unsimplifyGenesisName(), |
| 38 | + ]), |
| 39 | + }}, |
| 40 | + nodes: { |
| 41 | + [name]: { |
| 42 | + bin: $.bin, |
| 43 | + wantedKeys: 'relay', |
| 44 | + expectedDataPath: '/parity', |
| 45 | + }, |
| 46 | + for name in ['alice', 'bob', 'charlie', 'dave', 'eve', 'ferdie'] |
| 47 | + }, |
| 48 | +}; |
| 49 | + |
| 50 | +local unique = { |
| 51 | + name: 'unique', |
| 52 | + bin: 'bin/unique', |
| 53 | + paraId: 1001, |
| 54 | + spec: {Genesis:{ |
| 55 | + modify:: bdk.mixer([ |
| 56 | + m.genericPara($), |
| 57 | + m.simplifyGenesisName(), |
| 58 | + { |
| 59 | + _code: cql.toHex(importbin 'runtime.compact.compressed.wasm'), |
| 60 | + }, |
| 61 | + m.unsimplifyGenesisName(), |
| 62 | + ]), |
| 63 | + }, |
| 64 | + Raw:{ |
| 65 | + local modifyRaw = bdk.mixer([ |
| 66 | + rm.resetNetworking($), |
| 67 | + rm.decodeSpec(), |
| 68 | + rm.polkaLaunchPara($), |
| 69 | + rm.reencodeSpec(), |
| 70 | + ]), |
| 71 | + raw_spec: modifyRaw({ |
| 72 | + name: "Unused", |
| 73 | + id: "%s_local" % forked_spec, |
| 74 | + bootNodes: error "override me", |
| 75 | + chainType: error "override me", |
| 76 | + telemetryEndpoints: error "override me", |
| 77 | + codeSubstitutes: error "override me", |
| 78 | + para_id: error "override me", |
| 79 | + relay_chain: "unused", |
| 80 | + genesis: { |
| 81 | + raw: { |
| 82 | + top: import "dump.json", |
| 83 | + childrenDefault: {}, |
| 84 | + }, |
| 85 | + }, |
| 86 | + }), |
| 87 | + }}, |
| 88 | + nodes: { |
| 89 | + [name]: { |
| 90 | + bin: $.bin, |
| 91 | + wantedKeys: 'para', |
| 92 | + extraArgs: [ |
| 93 | + '--increase-future-pool', |
| 94 | + '--pool-type=fork-aware', |
| 95 | + ], |
| 96 | + }, |
| 97 | + for name in ['alice', 'bob', 'charlie'] |
| 98 | + }, |
| 99 | +}; |
| 100 | + |
| 101 | +relay + { |
| 102 | + parachains: { |
| 103 | + [para.name]: para, |
| 104 | + for para in [unique] |
| 105 | + }, |
| 106 | +} |
0 commit comments