difftreelog
feat improve fast track script
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 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();