difftreelog
fix add usage
in: master
1 file changed
js-packages/scripts/proposefasttrack.tsdiffbeforeafterboth1import {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();