git.delta.rocks / unique-network / refs/commits / 2332519c8f48

difftreelog

source

js-packages/scripts/src/proposefasttrack.ts1.4 KiBsourcehistory
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();