git.delta.rocks / unique-network / refs/commits / 092e9b8f020d

difftreelog

feat propose-upgrade governance script (#1019)

Daniel Shiposha2023-10-17parent: #8af05a8.patch.diff
in: master
* feat: governance scripts

* fix: move propose-upgrade script to tests

2 files changed

modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -130,7 +130,8 @@
     "polkadot-types-from-defs": "ts-node --esm ./node_modules/.bin/polkadot-types-from-defs --endpoint src/interfaces/metadata.json --input src/interfaces/ --package .",
     "polkadot-types-from-chain": "ts-node --esm ./node_modules/.bin/polkadot-types-from-chain --endpoint src/interfaces/metadata.json --output src/interfaces/ --package .",
     "polkadot-types": "echo \"export default {}\" > src/interfaces/lookup.ts && yarn polkadot-types-fetch-metadata && yarn polkadot-types-from-defs && yarn polkadot-types-from-defs && yarn polkadot-types-from-chain",
-    "generateEnv": "ts-node --esm ./src/generateEnv.ts"
+    "generateEnv": "ts-node --esm ./src/generateEnv.ts",
+    "propose-upgrade": "ts-node --esm ./src/proposeupgrade.ts"
   },
   "author": "",
   "license": "SEE LICENSE IN ../LICENSE",
@@ -159,4 +160,4 @@
   },
   "type": "module",
   "packageManager": "yarn@3.6.1"
-}
\ No newline at end of file
+}
addedtests/src/proposeupgrade.tsdiffbeforeafterboth
after · tests/src/proposeupgrade.ts
1import {ApiPromise, WsProvider} from '@polkadot/api';2import {blake2AsHex} from '@polkadot/util-crypto';3import {readFileSync} from 'fs';45async function main() {6  const networkUrl = process.argv[2];7  const wasmFile = process.argv[3];89  const wsProvider = new WsProvider(networkUrl);10  const api = await ApiPromise.create({provider: wsProvider});1112  const wasmFileBytes = readFileSync(wasmFile);13  const wasmFileHash = blake2AsHex(wasmFileBytes, 256);1415  const authorizeUpgrade = api.tx.parachainSystem.authorizeUpgrade(wasmFileHash, true);1617  const councilMembers = (await api.query.council.members()).toJSON() as any[];18  const councilProposalThreshold = Math.floor(councilMembers.length / 2) + 1;1920  const democracyProposal = api.tx.democracy.externalProposeDefault({21    Inline: authorizeUpgrade.method.toHex(),22  });2324  const councilProposal = api.tx.council.propose(25    councilProposalThreshold,26    democracyProposal,27    democracyProposal.method.encodedLength,28  );2930  const encodedCall = councilProposal.method.toHex();3132  console.log('-----------------');33  console.log('Upgrade Proposal: ', `https://polkadot.js.org/apps/?rpc=${networkUrl}#/extrinsics/decode/${encodedCall}`);34  console.log('-----------------');3536  await api.disconnect();37}3839await main();