difftreelog
fix add councilproposal usage
in: master
1 file changed
js-packages/scripts/councilproposal.tsdiffbeforeafterboth1import {ApiPromise, WsProvider} from '@polkadot/api';2import {blake2AsHex} from '@polkadot/util-crypto';34async function main() {5 const networkUrl = process.argv[2];6 const democracyProposalContent = process.argv[3];78 const wsProvider = new WsProvider(networkUrl);9 const api = await ApiPromise.create({provider: wsProvider});1011 const councilMembers = (await api.query.council.members()).toJSON() as any[];12 const councilProposalThreshold = Math.floor(councilMembers.length / 2) + 1;1314 const democracyProposalHash = blake2AsHex(democracyProposalContent, 256);15 const democracyProposalPreimage = api.tx.preimage.notePreimage(democracyProposalContent).method.toHex();1617 const democracyProposal = api.tx.democracy.externalProposeDefault({18 Legacy: democracyProposalHash,19 });2021 const councilProposal = api.tx.council.propose(22 councilProposalThreshold,23 democracyProposal,24 democracyProposal.method.encodedLength,25 ).method.toHex();2627 const proposeBatch = api.tx.utility.batchAll([28 democracyProposalPreimage,29 councilProposal,30 ]);3132 const encodedCall = proposeBatch.method.toHex();3334 console.log('-----------------');35 console.log('Council Proposal: ', `https://polkadot.js.org/apps/?rpc=${networkUrl}#/extrinsics/decode/${encodedCall}`);36 console.log('-----------------');3738 await api.disconnect();39}4041await main();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 councilDemocracyProposal <CHAIN_URL> <ENCODED_PROPOSAL>');7 process.exit(1);8 }910 const networkUrl = process.argv[2];11 const democracyProposalContent = process.argv[3];1213 const wsProvider = new WsProvider(networkUrl);14 const api = await ApiPromise.create({provider: wsProvider});1516 const councilMembers = (await api.query.council.members()).toJSON() as any[];17 const councilProposalThreshold = Math.floor(councilMembers.length / 2) + 1;1819 const democracyProposalHash = blake2AsHex(democracyProposalContent, 256);20 const democracyProposalPreimage = api.tx.preimage.notePreimage(democracyProposalContent).method.toHex();2122 const democracyProposal = api.tx.democracy.externalProposeDefault({23 Legacy: democracyProposalHash,24 });2526 const councilProposal = api.tx.council.propose(27 councilProposalThreshold,28 democracyProposal,29 democracyProposal.method.encodedLength,30 ).method.toHex();3132 const proposeBatch = api.tx.utility.batchAll([33 democracyProposalPreimage,34 councilProposal,35 ]);3637 const encodedCall = proposeBatch.method.toHex();3839 console.log('-----------------');40 console.log('Council Proposal: ', `https://polkadot.js.org/apps/?rpc=${networkUrl}#/extrinsics/decode/${encodedCall}`);41 console.log('-----------------');4243 await api.disconnect();44}4546await main();