def get_account_transactions(args: Any): proxy_url = args.proxy address = args.address proxy = ElrondProxy(proxy_url) response = proxy.get_account_transactions(Address(address)) utils.dump_out_json(response, args.outfile)
def get_transaction(args: Any): args = utils.as_object(args) proxy = ElrondProxy(args.proxy) response = proxy.get_transaction(args.hash, args.sender) utils.dump_out_json(response)
def create_transaction(args: Any): args = utils.as_object(args) cli_shared.check_broadcast_args(args) cli_shared.prepare_nonce_in_args(args) if args.data_file: args.data = utils.read_file(args.data_file) tx = do_prepare_transaction(args) if hasattr(args, "relay") and args.relay: args.outfile.write(tx.serialize_as_inner()) return send_wait_result = args.wait_result and args.send and not args.simulate send_only = args.send and not (args.wait_result or args.simulate) simulate = args.simulate and not (send_only or send_wait_result) try: if send_wait_result: proxy = ElrondProxy(args.proxy) response = tx.send_wait_result(proxy, args.timeout) utils.dump_out_json(response) elif send_only: tx.send(ElrondProxy(args.proxy)) elif simulate: response = tx.simulate(ElrondProxy(args.proxy)) utils.dump_out_json(response) finally: tx.dump_to(args.outfile)
def get_transaction(args: Any): args = utils.as_object(args) omit_fields = cli_shared.parse_omit_fields_arg(args) proxy = ElrondProxy(args.proxy) transaction = proxy.get_transaction(args.hash, args.sender) utils.omit_fields(transaction, omit_fields) utils.dump_out_json(transaction)
def query(args: Any): logger.debug("query") contract_address = args.contract function = args.function arguments = args.arguments contract = SmartContract(contract_address) result = contract.query(ElrondProxy(args.proxy), function, arguments) utils.dump_out_json(result)
def flow(): tx_hash, address = environment.deploy_contract(contract, owner, arguments, gas_price, gas_limit, value) logger.info("Tx hash: %s", tx_hash) logger.info("Contract address: %s", address) utils.dump_out_json({ "tx": tx_hash, "contract": address.bech32() }, args.outfile)
def get_account(args: Any): proxy_url = args.proxy address = args.address proxy = ElrondProxy(proxy_url) account = proxy.get_account(Address(address)) omit_fields = cli_shared.parse_omit_fields_arg(args) if args.balance: print(account.get("balance", 0)) elif args.nonce: print(account.get("nonce", 0)) else: utils.omit_fields(account, omit_fields) utils.dump_out_json(account)
def parse_blocks(args: Any): gateway = ElrondProxy(constants.GATEWAY_URL) outfile = args.outfile nonces = args.blocks blocks = [] for nonce in nonces: try: hyperblock = gateway.get_hyperblock(nonce) post_process_hyperblock(hyperblock) except errors.ProxyRequestError: hyperblock = {"nonce": nonce} blocks.append(hyperblock) utils.dump_out_json(blocks, outfile)
def dump_tx_and_result(tx: Any, result: Any, args: Any): dump = dict() dump['emitted_tx'] = tx try: returnCode = '' returnMessage = '' dump['result'] = result['result'] for scrHash, scr in dump['result']['scResults'].items(): if scr['receiver'] == tx['tx']['sender']: retCode = scr['data'][1:] retCode = bytes.fromhex(retCode).decode('ascii') returnCode = retCode returnMessage = scr['returnMessage'] dump['result']['returnCode'] = returnCode dump['result']['returnMessage'] = returnMessage except TypeError: pass utils.dump_out_json(dump, outfile=args.outfile)
def register(args: Any): args = utils.as_object(args) cli_shared.check_broadcast_args(args) cli_shared.prepare_nonce_in_args(args) args.receiver = dns_address_for_name(args.name).bech32() args.data = dns_register_data(args.name) tx = do_prepare_transaction(args) if hasattr(args, "relay") and args.relay: args.outfile.write(tx.serialize_as_inner()) return try: if args.send: tx.send(ElrondProxy(args.proxy)) elif args.simulate: response = tx.simulate(ElrondProxy(args.proxy)) utils.dump_out_json(response) finally: tx.dump_to(args.outfile)
def create_transaction(args: Any): args = utils.as_object(args) cli_shared.check_broadcast_args(args) cli_shared.prepare_nonce_in_args(args) if args.data_file: args.data = utils.read_file(args.data_file) tx = do_prepare_transaction(args) if hasattr(args, "relay") and args.relay: args.outfile.write(tx.serialize_as_inner()) return try: if args.send: tx.send(ElrondProxy(args.proxy)) elif args.simulate: response = tx.simulate(ElrondProxy(args.proxy)) utils.dump_out_json(response) finally: tx.dump_to(args.outfile)
def send_or_simulate(tx: Transaction, args: Any): if args.send: tx.send(ElrondProxy(args.proxy)) elif args.simulate: response = tx.simulate(ElrondProxy(args.proxy)) utils.dump_out_json(response)
def blockatlas_get_txs_by_address(args: Any) -> Any: client = BlockAtlas(args.url, args.coin) transactions = client.get_txs_by_address(args.address) utils.dump_out_json(transactions, args.outfile) return transactions
def dump(args: Any): data = config.read_file() utils.dump_out_json(data, sys.stdout)
def get_height(args: Any): gateway = ElrondProxy(constants.GATEWAY_URL) outfile = args.outfile height = gateway.get_last_block_nonce(constants.METASHARD_ID) utils.dump_out_json({"height": height}, outfile)
def get_hyperblock(args: Any) -> Any: proxy_url = args.proxy proxy = ElrondProxy(proxy_url) response = proxy.get_hyperblock(args.key) utils.dump_out_json(response)
def dump(args: Any): data = config.get_active() utils.dump_out_json(data, sys.stdout)