Skip to content

Instantly share code, notes, and snippets.

@redjade
Last active June 19, 2018 17:03
Show Gist options
  • Save redjade/70a780fdb4d0fd1901a1e749dcd56090 to your computer and use it in GitHub Desktop.
Save redjade/70a780fdb4d0fd1901a1e749dcd56090 to your computer and use it in GitHub Desktop.
msig_requested_permissions for system contract upgrade
Usage: ./cleos multisig propose [OPTIONS] proposal_name requested_permissions trx_permissions contract action data [proposer] [proposal_expiration]

Positionals:
  proposal_name TEXT          proposal name (string) (required)
  requested_permissions TEXT  The JSON string or filename defining requested permissions (required)
  trx_permissions TEXT        The JSON string or filename defining transaction permissions (required)
  contract TEXT               contract to wich deferred transaction should be delivered (required)
  action TEXT                 action of deferred transaction (required)
  data TEXT                   The JSON string or filename defining the action to propose (required)
  proposer TEXT               Account proposing the transaction
  proposal_expiration         Proposal expiration interval in hours

Options:
  -h,--help                   Print this help message and exit
  -x,--expiration             set the time in seconds before a transaction expires, defaults to 30s
  -f,--force-unique           force the transaction to be unique. this will consume extra bandwidth and remove any protections against accidently issuing the same transaction multiple times
  -s,--skip-sign              Specify if unlocked wallet keys should be used to sign transaction
  -j,--json                   print result as json
  -d,--dont-broadcast         don't broadcast transaction to the network (just print to stdout)
  -r,--ref-block TEXT         set the reference block num or block id used for TAPOS (Transaction as Proof-of-Stake)
  -p,--permission TEXT ...    An account and permission level to authorize, as in 'account@permission'
  --max-cpu-usage-ms UINT     set an upper limit on the milliseconds of cpu usage budget, for the execution of the transaction (defaults to 0 which means no limit)
  --max-net-usage UINT        set an upper limit on the net usage budget, in bytes, for the transaction (defaults to 0 which means no limit)
import json
import sys
#TODO get top 21 from cleos
# cleos system listproducers -l 21 | awk ....
bplist = ['eoseouldotio', 'eoscannonchn', 'eoscanadacom']
if len(bplist) < 21:
print("less than 21")
sys.exit(1)
perm = []
for bp in bplist:
rp = {}
rp['actor'] = bp
rp['permission'] = 'active'
perm.append(bp)
requested_permissions_json = json.dumps(perm)
print("'" + requested_permissions_json + "'")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment