git.delta.rocks / unique-network / refs/commits / 951758d6f537

difftreelog

feat add propose-fast-track (#1022)

Daniel Shiposha2023-10-24parent: #c7ac6d0.patch.diff
in: master
* feat: add propose-fast-track

* fix: propose-upgrade

* fix: fasttrack preimage

3 files changed

modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -131,7 +131,8 @@
     "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",
-    "propose-upgrade": "ts-node --esm ./src/proposeupgrade.ts"
+    "propose-upgrade": "ts-node --esm ./src/proposeupgrade.ts",
+    "propose-fast-track": "ts-node --esm ./src/proposefasttrack.ts"
   },
   "author": "",
   "license": "SEE LICENSE IN ../LICENSE",
addedtests/src/proposefasttrack.tsdiffbeforeafterboth

no content

modifiedtests/src/proposeupgrade.tsdiffbeforeafterboth
--- a/tests/src/proposeupgrade.ts
+++ b/tests/src/proposeupgrade.ts
@@ -18,20 +18,30 @@
   const councilMembers = (await api.query.council.members()).toJSON() as any[];
   const councilProposalThreshold = Math.floor(councilMembers.length / 2) + 1;
 
+  const democracyProposalContent = api.tx.utility.batchAll([
+    authorizeUpgrade.method.toHex(),
+    enableMaintenance.method.toHex(),
+  ]).method.toHex();
+
+  const democracyProposalHash = blake2AsHex(democracyProposalContent, 256);
+  const democracyProposalPreimage = api.tx.preimage.notePreimage(democracyProposalContent).method.toHex();
+
   const democracyProposal = api.tx.democracy.externalProposeDefault({
-    Inline: api.tx.utility.batchAll([
-      authorizeUpgrade.method.toHex(),
-      enableMaintenance.method.toHex(),
-    ]).method.toHex(),
+    Legacy: democracyProposalHash,
   });
 
   const councilProposal = api.tx.council.propose(
     councilProposalThreshold,
     democracyProposal,
     democracyProposal.method.encodedLength,
-  );
+  ).method.toHex();
 
-  const encodedCall = councilProposal.method.toHex();
+  const proposeUpgradeBatch = api.tx.utility.batchAll([
+    democracyProposalPreimage,
+    councilProposal,
+  ]);
+
+  const encodedCall = proposeUpgradeBatch.method.toHex();
 
   console.log('-----------------');
   console.log('Upgrade Proposal: ', `https://polkadot.js.org/apps/?rpc=${networkUrl}#/extrinsics/decode/${encodedCall}`);