Example #1
0
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)
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)
Example #6
0
 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)
Example #7
0
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)
Example #8
0
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)
Example #9
0
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)
Example #10
0
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)
Example #11
0
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)
Example #12
0
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)
Example #13
0
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
Example #14
0
def dump(args: Any):
    data = config.read_file()
    utils.dump_out_json(data, sys.stdout)
Example #15
0
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)
Example #16
0
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)
Example #17
0
def dump(args: Any):
    data = config.get_active()
    utils.dump_out_json(data, sys.stdout)