def __init__( self, payer, receiver, amount, buy_ram_kbytes=0, expiration_sec=30, skip_signature=0, dont_broadcast=0, forceUnique=0, max_cpu_usage=0, max_net_usage=0, ref_block=None, is_verbose=1 ): self.payer = interface.account_arg(payer) self.receiver = interface.account_arg(receiver) self.amount = str(amount) args = [self.payer, self.receiver, self.amount] if buy_ram_kbytes: args.extend(["--kbytes"]) if skip_signature: args.append("--skip-sign") if dont_broadcast: args.append("--dont-broadcast") if forceUnique: args.append("--force-unique") if max_cpu_usage: args.extend(["--max-cpu-usage-ms", str(max_cpu_usage)]) if max_net_usage: args.extend(["--max-net-usage", str(max_net_usage)]) if not ref_block is None: args.extend(["--ref-block", ref_block]) cleos._Cleos.__init__( self, args, "system", "buyram", is_verbose)
def __init__( self, account, contract_dir, wasm_file=None, abi_file=None, permission=None, expiration_sec=None, skip_sign=0, dont_broadcast=0, force_unique=0, max_cpu_usage=0, max_net_usage=0, ref_block=None, delay_sec=0, is_verbose=True, json=False): files = cleos.contract_is_built(contract_dir, wasm_file, abi_file) if not files: raise errors.Error(""" Cannot determine the contract directory. The clue is {}. """.format(contract_dir)) return contract_path_absolute = files[0] wasm_file = files[1] abi_file = files[2] account_name = interface.account_arg(account) args = [account_name, contract_path_absolute] if json: args.append("--json") if not permission is None: p = interface.permission_arg(permission) for perm in p: args.extend(["--permission", perm]) if expiration_sec: args.extend(["--expiration", str(expiration_sec)]) if skip_sign: args.append("--skip-sign") if dont_broadcast: args.append("--dont-broadcast") if force_unique: args.append("--force-unique") if max_cpu_usage: args.extend(["--max-cpu-usage-ms", str(max_cpu_usage)]) if max_net_usage: args.extend(["--max-net-usage", str(max_net_usage)]) if not ref_block is None: args.extend(["--ref-block", ref_block]) if delay_sec: args.extend(["--delay-sec", str(delay_sec)]) if wasm_file: args.append(wasm_file) if abi_file: args.append(abi_file) cleos.Cleos.__init__(self, args, "set", "contract", is_verbose) self.contract_path_absolute = files[0] self.account_name = interface.account_arg(account) self.printself()
def __init__( self, account, code, type, requirement, permission=None, expiration_sec=None, skip_sign=0, dont_broadcast=0, return_packed=0, force_unique=0, max_cpu_usage=0, max_net_usage=0, ref_block=None, delay_sec=0, is_verbose=True, json=False ): account_name = interface.account_arg(account) args = [account_name] code_name = interface.account_arg(code) args.append(code_name) args.append(type) if requirement: requirement_name = interface.account_arg(requirement) args.append(requirement_name) else: args.append("NULL") if json: args.append("--json") if not permission is None: p = interface.permission_arg(permission) for perm in p: args.extend(["--permission", perm]) if expiration_sec: args.extend(["--expiration", str(expiration_sec)]) if skip_sign: args.append("--skip-sign") if dont_broadcast: args.append("--dont-broadcast") if force_unique: args.append("--force-unique") if max_cpu_usage: args.extend(["--max-cpu-usage-ms", str(max_cpu_usage)]) if max_net_usage: args.extend(["--max-net-usage", str(max_net_usage)]) if not ref_block is None: args.extend(["--ref-block", ref_block]) if delay_sec: args.extend(["--delay-sec", str(delay_sec)]) self = cleos.Cleos(args, "set", "action permission", is_verbose) self.console = None self.data = None if json and not dont_broadcast: self.console = self.json["processed"]["action_traces"][0]["console"] self.data = self.json["processed"]["action_traces"][0]["act"]["data"] self.printself()
def __init__(self, payer, receiver, stake_net_quantity, stake_cpu_quantity, permission=None, transfer=False, expiration_sec=None, skip_sign=0, dont_broadcast=0, force_unique=0, max_cpu_usage=0, max_net_usage=0, ref_block=None, delay_sec=0, is_verbose=1): self.payer = interface.account_arg(payer) self.receiver = interface.account_arg(receiver) self.stake_net_quantity = stake_net_quantity self.stake_cpu_quantity = stake_cpu_quantity args = [ self.payer, self.receiver, "{} EOS".format(self.stake_net_quantity), "{} EOS".format(self.stake_cpu_quantity), "--expiration", str(expiration_sec), "--json" ] if not permission is None: p = interface.permission_arg(permission) for perm in p: args.extend(["--permission", perm]) if transfer: args.append("--transfer") if skip_sign: args.append("--skip-sign") if dont_broadcast: args.append("--dont-broadcast") if force_unique: args.append("--force-unique") if max_cpu_usage: args.extend(["--max-cpu-usage-ms", str(max_cpu_usage)]) if max_net_usage: args.extend(["--max-net-usage", str(max_net_usage)]) if not ref_block is None: args.extend(["--ref-block", ref_block]) if delay_sec: args.extend(["--delay-sec", delay_sec]) cleos.Cleos.__init__(self, args, "system", "delegatebw", is_verbose)
def __init__( self, creator, name, owner_key, active_key=None, permission=None, expiration_sec=None, skip_signature=0, dont_broadcast=0, forceUnique=0, max_cpu_usage=0, max_net_usage=0, ref_block=None, is_verbose=True ): if name is None: name = account_name() interface.Account.__init__(self, name) self.owner_key = None # private keys self.active_key = None if active_key is None: active_key = owner_key owner_key_public = interface.key_arg( owner_key, is_owner_key=True, is_private_key=False) active_key_public = interface.key_arg( active_key, is_owner_key=False, is_private_key=False) args = [ interface.account_arg(creator), self.name, owner_key_public, active_key_public ] args.append("--json") if not permission is None: p = interface.permission_arg(permission) for perm in p: args.extend(["--permission", perm]) if expiration_sec: args.extend(["--expiration", str(expiration_sec)]) if skip_signature: args.append("--skip-sign") if dont_broadcast: args.append("--dont-broadcast") if forceUnique: args.append("--force-unique") if max_cpu_usage: args.extend(["--max-cpu-usage-ms", str(max_cpu_usage)]) if max_net_usage: args.extend(["--max-net-usage", str(max_net_usage)]) if not ref_block is None: args.extend(["--ref-block", ref_block]) _Cleos.__init__( self, args, "create", "account", is_verbose) self.json = GetAccount(self.name, is_verbose=False, is_info=False).json self.printself()
def __init__(self, account, is_info=True, is_verbose=True): interface.Account.__init__(self, interface.account_arg(account)) _Cleos.__init__( self, [self.name] if is_info else [self.name, "--json"], "get", "account", is_verbose) self.owner_key = None self.active_key = None try: if not is_info: permissions = self.json["permissions"] for permission in permissions: if permission["required_auth"]["keys"]: key = permission["required_auth"]["keys"][0]["key"] if permission["perm_name"] == "owner": self.owner_key = key if permission["perm_name"] == "active": self.active_key = key else: owner = re.search('owner\s+1\:\s+1\s(.*)\n', self.out_msg) active = re.search('active\s+1\:\s+1\s(.*)\n', self.out_msg) if owner and active: self.owner_key = owner.group(1) self.active_key = active.group(1) except: pass self.printself()
def __init__(self, account): self.account = account Error.__init__( self, "Account ``{}`` does not exist in the blockchain." .format(interface.account_arg(account)), True)
def __init__(self, account, action, data, permission=None, expiration_sec=None, skip_sign=0, dont_broadcast=0, force_unique=0, max_cpu_usage=0, max_net_usage=0, ref_block=None, delay_sec=0, is_verbose=True, json=False): self.account_name = interface.account_arg(account) args = [self.account_name, action, data] if json: args.append("--json") if not permission is None: p = interface.permission_arg(permission) for perm in p: args.extend(["--permission", perm]) if expiration_sec: args.extend(["--expiration", str(expiration_sec)]) if skip_sign: args.append("--skip-sign") if dont_broadcast: args.append("--dont-broadcast") if force_unique: args.append("--force-unique") if max_cpu_usage: args.extend(["--max-cpu-usage-ms", str(max_cpu_usage)]) if max_net_usage: args.extend(["--max-net-usage", str(max_net_usage)]) if not ref_block is None: args.extend(["--ref-block", ref_block]) if delay_sec: args.extend(["--delay-sec", str(delay_sec)]) Cleos.__init__(self, args, "push", "action", is_verbose) self.console = "" self.act = "" if not dont_broadcast: for act in self.json["processed"]["action_traces"]: self.console += gather_console_output(act) for trace in self.json["processed"]["action_traces"]: if trace["act"]["data"]: if self.act: self.act += "\n" self.act += "{} <= {}::{} {}".format( trace["act"]["account"], trace["act"]["account"], trace["act"]["name"], trace["act"]["data"]) self.printself()
def __init__(self, account, action, data, permission=None, expiration_sec=None, skip_sign=0, dont_broadcast=0, force_unique=0, max_cpu_usage=0, max_net_usage=0, ref_block=None, delay_sec=0, is_verbose=True, json=False): self.account_name = interface.account_arg(account) args = [self.account_name, action, data] if json: args.append("--json") if not permission is None: p = interface.permission_arg(permission) for perm in p: args.extend(["--permission", perm]) if expiration_sec: args.extend(["--expiration", str(expiration_sec)]) if skip_sign: args.append("--skip-sign") if dont_broadcast: args.append("--dont-broadcast") if force_unique: args.append("--force-unique") if max_cpu_usage: args.extend(["--max-cpu-usage-ms", str(max_cpu_usage)]) if max_net_usage: args.extend(["--max-net-usage", str(max_net_usage)]) if not ref_block is None: args.extend(["--ref-block", ref_block]) if delay_sec: args.extend(["--delay-sec", str(delay_sec)]) self.console = None self.data = None Cleos.__init__(self, args, "push", "action", is_verbose) if not dont_broadcast: self.console = self.json["processed"]["action_traces"][0][ "console"] self.data = self.json["processed"]["action_traces"][0]["act"][ "data"] self.printself()
def __init__(self, account, table, scope, binary=False, limit=10, lower="", upper="", index="", key_type="", encode_type="", reverse=False, show_payer=False, is_verbose=True): args = [interface.account_arg(account)] if not scope: scope = account else: try: scope_name = scope.name except: scope_name = scope args.append(scope_name) args.append(table) if binary: args.append("--binary") if limit: args.extend(["--limit", str(limit)]) if lower: args.extend(["--lower", lower]) if upper: args.extend(["--upper", upper]) if index: args.extend(["--index", str(index)]) if key_type: args.extend(["--key-type", key_type]) if encode_type: args.extend(["--encode-type", encode_type]) if reverse: args.append("--reverse") if show_payer: args.append("--show-payer") cleos.Cleos.__init__(self, args, "get", "table", is_verbose) self.printself()
def __init__(self, account, code="", abi="", wasm=False, is_verbose=True): account_name = interface.account_arg(account) args = [account_name] if code: args.extend(["--code", code]) if abi: args.extend(["--abi", abi]) if wasm: args.extend(["--wasm"]) cleos.Cleos.__init__(self, args, "get", "code", is_verbose) msg = str(self.out_msg) self.json["code_hash"] = msg[msg.find(":") + 2:len(msg) - 1] self.code_hash = self.json["code_hash"] self.printself()
def __init__(self, account, table, scope, binary=False, limit=10, key="", lower="", upper="", is_verbose=True): args = [interface.account_arg(account)] if not scope: scope = self.name else: try: scope_name = scope.name except: scope_name = scope args.append(scope_name) args.append(table) if binary: args.append("--binary") if limit: args.extend(["--limit", str(limit)]) if key: args.extend([ "--key", interface.key_arg(key, is_owner_key=False, is_private_key=False) ]) if lower: args.extend(["--lower", lower]) if upper: args.extend(["--upper", upper]) _Cleos.__init__(self, args, "get", "table", is_verbose) self.printself()
def __init__(self, account, is_info=True, is_verbose=True): interface.Account.__init__(self, interface.account_arg(account)) _Cleos.__init__(self, [self.name] if is_info else [self.name, "--json"], "get", "account", is_verbose) self.owner_key = None self.active_key = None if not is_info: if self.json["permissions"][1]["required_auth"]["keys"]: self.owner_key = self.json["permissions"][1] \ ["required_auth"]["keys"][0]["key"] self.active_key = self.json["permissions"][0] \ ["required_auth"]["keys"][0]["key"] else: owner = re.search('owner\s+1\:\s+1\s(.*)\n', self.out_msg) active = re.search('active\s+1\:\s+1\s(.*)\n', self.out_msg) if owner and active: self.owner_key = owner.group(1) self.active_key = active.group(1) self.printself()
def __init__(self, account, pos=-1, offset=1, json=False, full=False, pretty=False, console=False, is_verbose=True): args = [interface.account_arg(account), str(pos), str(offset)] if json: args.append("--json") if full: args.append("--full") if pretty: args.append("--pretty") if console: args.append("--console") cleos.Cleos.__init__(self, args, "get", "actions", is_verbose) self.printself()
def __init__( self, creator, name, owner_key, active_key, stake_net, stake_cpu, permission=None, buy_ram_kbytes=0, buy_ram="", transfer=False, expiration_sec=30, skip_signature=0, dont_broadcast=0, forceUnique=0, max_cpu_usage=0, max_net_usage=0, ref_block=None, is_verbose = 1 ): stake_net = "{} EOS".format(stake_net) stake_cpu = "{} EOS".format(stake_cpu) if name is None: name = account_name() interface.Account.__init__(self, name) self.owner_key = None # private keys self.active_key = None if active_key is None: active_key = owner_key args = [ interface.account_arg(creator), self.name, interface.key_arg(owner_key, is_owner_key=True, is_private_key=False), interface.key_arg(active_key, is_owner_key=False, is_private_key=False) ] args.append("--json") args.extend([ "--stake-net", stake_net, "--stake-cpu", stake_cpu]) if buy_ram_kbytes: args.extend(["--buy-ram-kbytes", str(buy_ram_kbytes)]) if buy_ram: args.extend(["--buy-ram", str(buy_ram)]) if transfer: args.extend(["--transfer"]) if not permission is None: p = interface.permission_arg(permission) for perm in p: args.extend(["--permission", perm]) if skip_signature: args.append("--skip-sign") if dont_broadcast: args.append("--dont-broadcast") if forceUnique: args.append("--force-unique") if max_cpu_usage: args.extend(["--max-cpu-usage-ms", str(max_cpu_usage)]) if max_net_usage: args.extend(["--max-net-usage", str(max_net_usage)]) if not ref_block is None: args.extend(["--ref-block", ref_block]) cleos._Cleos.__init__( self, args, "system", "newaccount", is_verbose) self.json = cleos.GetAccount( self.name, is_verbose=0, is_info=False).json if self.is_verbose: print(self.__str__())
def __init__( self, account, permission_name, authority, parent_permission_name, permission=None, expiration_sec=None, skip_sign=0, dont_broadcast=0, return_packed=0, force_unique=0, max_cpu_usage=0, max_net_usage=0, ref_block=None, delay_sec=0, is_verbose=True, json=False ): account_name = interface.account_arg(account) args = [account_name] if isinstance(permission_name, interface.Permission): permission_name = permission_name.value args.append(permission_name) if authority: authority = manager.data_json(authority) if isinstance(authority, interface.Account): args.append(authority.active()) else: authority = re.sub(re.compile(r'\s+'), '', authority) args.append(authority) else: args.append("NULL") if isinstance(parent_permission_name, interface.Permission): parent_permission_name = parent_permission_name.value args.append(parent_permission_name) if json: args.append("--json") if not permission is None: p = interface.permission_arg(permission) for perm in p: args.extend(["--permission", perm]) if expiration_sec: args.extend(["--expiration", str(expiration_sec)]) if skip_sign: args.append("--skip-sign") if dont_broadcast: args.append("--dont-broadcast") if force_unique: args.append("--force-unique") if max_cpu_usage: args.extend(["--max-cpu-usage-ms", str(max_cpu_usage)]) if max_net_usage: args.extend(["--max-net-usage", str(max_net_usage)]) if not ref_block is None: args.extend(["--ref-block", ref_block]) if delay_sec: args.extend(["--delay-sec", str(delay_sec)]) cleos.Cleos.__init__( self, args, "set", "account permission", is_verbose) self.account_name = account_name self.console = None self.data = None if json and not dont_broadcast: self.console = self.json["processed"]["action_traces"][0]["console"] self.data = self.json["processed"]["action_traces"][0]["act"]["data"] self.printself()