git.delta.rocks / unique-network / refs/commits / 3e6399dacf51

difftreelog

migration(app-promo): added unstakes field to chainql script

PraetorP2023-06-12parent: #e56969b.patch.diff
in: master

1 file changed

modifiedtests/src/migrations/942057-appPromotion/stakersParser.jsonnetdiffbeforeafterboth
before · tests/src/migrations/942057-appPromotion/stakersParser.jsonnet
1function(chainUrl)23  local4    state = cql.chain(chainUrl).latest,5    locked_balances = state.Balances.Locks._preloadKeys,6    accountsRaw = state.System.Account._preloadKeys,7    stakers = state.AppPromotion.Staked._preloadKeys,8    unstakes = state.AppPromotion.PendingUnstake._preloadKeys,9    locks = [10      { [k]: std.filter(function(l) l.id == '0x6170707374616b65', locked_balances[k]) }11      for k in std.objectFields(locked_balances)12    ],13    non_empty_locks = std.prune(locks)14  ;1516  std.map(function(a) {17    address: std.objectFields(a)[0],18    balance: a[std.objectFields(a)[0]][0].amount,19    account: accountsRaw[std.objectFields(a)[0]].data,20    locks: locked_balances[std.objectFields(a)[0]],21    stakes: if std.objectHas(stakers, std.objectFields(a)[0]) then stakers[std.objectFields(a)[0]] else null,22    unstakes: if std.objectHas(unstakes, std.objectFields(a)[0]) then unstakes[std.objectFields(a)[0]] else null,23  }, non_empty_locks)
after · tests/src/migrations/942057-appPromotion/stakersParser.jsonnet
1function(chainUrl)23  local4    state = cql.chain(chainUrl).latest,5    locked_balances = state.Balances.Locks._preloadKeys,6    accountsRaw = state.System.Account._preloadKeys,7    stakers = state.AppPromotion.Staked._preloadKeys,8    unstakes = state.AppPromotion.PendingUnstake._preloadKeys,9    locks = [10      { [k]: std.filter(function(l) l.id == '0x6170707374616b65', locked_balances[k]) }11      for k in std.objectFields(locked_balances)12    ],13    unstakersData = [14      { [pair[0]]: { block: block, value: pair[1] } }1516      for block in std.objectFields(unstakes)17      for pair in unstakes[block]18    ],19    non_empty_locks = std.prune(locks)20  ;2122  std.map(function(a) {23    address: std.objectFields(a)[0],24    balance: a[std.objectFields(a)[0]][0].amount,25    account: accountsRaw[std.objectFields(a)[0]].data,26    locks: locked_balances[std.objectFields(a)[0]],27    stakes: if std.objectHas(stakers, std.objectFields(a)[0]) then stakers[std.objectFields(a)[0]] else null,28    unstakes: std.filterMap(function(b) std.objectHas(b, std.objectFields(a)[0]), function(c) std.objectValues(c)[0], unstakersData),29  }, non_empty_locks)