git.delta.rocks / unique-network / refs/commits / 0744c08ebf22

difftreelog

feat improve fast track script

Daniel Shiposha2023-12-19parent: #667f02f.patch.diff
in: master

1 file changed

modifiedjs-packages/scripts/proposefasttrack.tsdiffbeforeafterboth
before · js-packages/scripts/proposefasttrack.ts
1import {ApiPromise, WsProvider} from '@polkadot/api';2import {blake2AsHex} from '@polkadot/util-crypto';34async function main() {5  const networkUrl = process.argv[2];67  const wsProvider = new WsProvider(networkUrl);8  const api = await ApiPromise.create({provider: wsProvider});910  const externalDemocracyProposal = (await api.query.democracy.nextExternal() as any).unwrap()[0];1112  let proposalHash;13  if(externalDemocracyProposal.isInline) {14    proposalHash = blake2AsHex(externalDemocracyProposal.asInline, 256);15  } else if(externalDemocracyProposal.isLegacy) {16    proposalHash = externalDemocracyProposal.asLegacy.toJSON().hash;17  } else {18    proposalHash = externalDemocracyProposal.asLookup.toJSON().hash;19  }2021  const voringPeriod = 7200;22  const delay = 10;2324  const democracyFastTrack = api.tx.democracy.fastTrack(proposalHash, voringPeriod, delay);2526  const techCommThreshold = ((await api.query.technicalCommittee.members()).toJSON() as any[]).length;27  const techCommProposal = api.tx.technicalCommittee.propose(28    techCommThreshold,29    democracyFastTrack.method.toHex(),30    democracyFastTrack.encodedLength,31  );3233  const encodedCall = techCommProposal.method.toHex();3435  console.log('-----------------');36  console.log('Fast Track Proposal: ', `https://polkadot.js.org/apps/?rpc=${networkUrl}#/extrinsics/decode/${encodedCall}`);37  console.log('-----------------');3839  await api.disconnect();40}4142await main();
after · js-packages/scripts/proposefasttrack.ts
1import {ApiPromise, WsProvider} from '@polkadot/api';2import {blake2AsHex} from '@polkadot/util-crypto';34async function main() {5  const networkUrl = process.argv[2];6  const proposal = process.argv[3];78  const wsProvider = new WsProvider(networkUrl);9  const api = await ApiPromise.create({provider: wsProvider});1011  let proposalHash;1213  if(proposal == 'existing-proposal') {14    const externalDemocracyProposal = (await api.query.democracy.nextExternal() as any).unwrap()[0];15    if(externalDemocracyProposal.isInline) {16      proposalHash = blake2AsHex(externalDemocracyProposal.asInline, 256);17    } else if(externalDemocracyProposal.isLegacy) {18      proposalHash = externalDemocracyProposal.asLegacy.toJSON().hash;19    } else {20      proposalHash = externalDemocracyProposal.asLookup.toJSON().hash;21    }22  } else {23    proposalHash = proposal;24  }2526  const voringPeriod = 7200;27  const delay = 10;2829  const democracyFastTrack = api.tx.democracy.fastTrack(proposalHash, voringPeriod, delay);3031  const techCommThreshold = ((await api.query.technicalCommittee.members()).toJSON() as any[]).length;32  const techCommProposal = api.tx.technicalCommittee.propose(33    techCommThreshold,34    democracyFastTrack.method.toHex(),35    democracyFastTrack.encodedLength,36  );3738  const encodedCall = techCommProposal.method.toHex();3940  console.log('-----------------');41  console.log('Fast Track Proposal: ', `https://polkadot.js.org/apps/?rpc=${networkUrl}#/extrinsics/decode/${encodedCall}`);42  console.log('-----------------');4344  await api.disconnect();45}4647await main();