git.delta.rocks / unique-network / refs/commits / d1e86e8165d5

difftreelog

ci fix collatorSelection requirement

Yaroslav Bolyukin2023-06-05parent: #fc74051.patch.diff
in: master

1 file changed

modified.docker/forkless-config/fork.jsonnetdiffbeforeafterboth
before · .docker/forkless-config/fork.jsonnet
12function(rawSpec, forkFrom)3local sourceChain = cql.chain(forkFrom).latest;45local raw = local sourceRaw = sourceChain._raw._preloadKeys; {6  [key]: cql.toHex(sourceRaw[key])7  for key in std.objectFields(sourceRaw)8  if sourceRaw[key] != null9};1011local typeNames = (import './typeNames.jsonnet')(sourceChain);1213local14auraKeys = [15	sourceChain.AuraExt._key.Authorities,16	sourceChain.Aura._key.Authorities,17	sourceChain.CollatorSelection._key.Candidates,18	sourceChain.CollatorSelection._key.Invulnerables,19],2021// Keys, which should be migrated from passed spec, rather than from forked chain22wantedKeys = [23	sourceChain.ParachainInfo._key.ParachainId,24	sourceChain.Sudo._key.Key,25	sourceChain.System.BlockHash._key['0'],26	// Always [69, 69, 69, ..., 69, 69, 69]27	sourceChain.System._key.ParentHash,28] + auraKeys,2930// Keys to remove from original chain31unwantedPrefixes = [32	sourceChain.Aura._key.CurrentSlot,33	// Ensure there will be no panics caused by unexpected kept state34	sourceChain.ParachainSystem._key.ValidationData,35	sourceChain.ParachainSystem._key.RelayStateProof,36	sourceChain.ParachainSystem._key.HostConfiguration,37	sourceChain.ParachainSystem._key.LastRelayChainBlockNumber,38	sourceChain.ParachainSystem._key.LastDmqMqcHead,39	// Part of head40	sourceChain.System._key.BlockHash,41	sourceChain.System._key.Number,42	sourceChain.System._key.Digest,43] + auraKeys,4445cleanupRaw(raw) = {46	[key]: raw[key]47	for key in std.objectFields(raw)48	if std.all(std.map(function(prefix) !std.startsWith(key, prefix), unwantedPrefixes))49};505152local originalRaw = rawSpec.genesis.raw.top;53local outSpec = rawSpec {54	genesis+: {55		raw+: {56			top: cleanupRaw(raw) {57				[key]: originalRaw[key]58				for key in wantedKeys59				if std.objectHas(originalRaw, key)60			},61		},62	},63};6465local66	aliceAccount = sourceChain.System._encodeKey.Account(['0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d']),67	totalIssuance = sourceChain.Balances._encodeKey.TotalIssuance([]),68 	unique = cql.calc(["10", "18", "**"]),69 	Munique = cql.calc([unique, "10", "6", "**", "*"]),70;7172outSpec {73	genesis+: {74		raw+: {75			top+: {76				[totalIssuance]: sourceChain._encode(typeNames.u128, cql.calc([77					Munique,78					if std.objectHas(super, totalIssuance) then sourceChain._decode(typeNames.u128, super[totalIssuance]) else '0',79					if std.objectHas(super, aliceAccount) then sourceChain._decode(typeNames.AccountInfo, super[aliceAccount]).data.free else '0',80					'-', '+',81				])),82				[aliceAccount]: sourceChain._encode(typeNames.AccountInfo, {83					nonce: 0,84					consumers: 3,85					providers: 1,86					sufficients: 0,87					data: {88						free: Munique,89						reserved: "0",90						misc_frozen: "0",91						fee_frozen: "0",92					},93				},)94			},95		},96	},97}