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

difftreelog

Merge pull request #1049 from UniqueNetwork/feat/improve-fast-track-script

Yaroslav Bolyukin2024-02-13parents: #fe4617c #9d9db30.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  if(process.argv.length != 4) {6    console.log('Usage: yarn proposeFastTrack <CHAIN_URL> <PROPOSAL_HASH | existing-external-proposal>');7    process.exit(1);8  }910  const networkUrl = process.argv[2];11  const proposal = process.argv[3];1213  const wsProvider = new WsProvider(networkUrl);14  const api = await ApiPromise.create({provider: wsProvider});1516  let proposalHash;1718  if(proposal == 'existing-external-proposal') {19    const externalDemocracyProposal = (await api.query.democracy.nextExternal() as any).unwrap()[0];20    if(externalDemocracyProposal.isInline) {21      proposalHash = blake2AsHex(externalDemocracyProposal.asInline, 256);22    } else if(externalDemocracyProposal.isLegacy) {23      proposalHash = externalDemocracyProposal.asLegacy.toJSON().hash;24    } else {25      proposalHash = externalDemocracyProposal.asLookup.toJSON().hash;26    }27  } else {28    proposalHash = proposal;29  }3031  const voringPeriod = 7200;32  const delay = 10;3334  const democracyFastTrack = api.tx.democracy.fastTrack(proposalHash, voringPeriod, delay);3536  const techCommThreshold = ((await api.query.technicalCommittee.members()).toJSON() as any[]).length;37  const techCommProposal = api.tx.technicalCommittee.propose(38    techCommThreshold,39    democracyFastTrack.method.toHex(),40    democracyFastTrack.encodedLength,41  );4243  const encodedCall = techCommProposal.method.toHex();4445  console.log('-----------------');46  console.log('Fast Track Proposal: ', `https://polkadot.js.org/apps/?rpc=${networkUrl}#/extrinsics/decode/${encodedCall}`);47  console.log('-----------------');4849  await api.disconnect();50}5152await main();