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 deploy(args: Any): logger.debug("deploy") cli_shared.check_broadcast_args(args) arguments = args.arguments gas_price = args.gas_price gas_limit = args.gas_limit value = args.value chain = args.chain version = args.version contract = _prepare_contract(args) sender = _prepare_sender(args) tx = contract.deploy(sender, arguments, gas_price, gas_limit, value, chain, version) logger.info("Contract address: %s", contract.address) result = None try: result = _send_or_simulate(tx, args) finally: txdict = tx.to_dump_dict() txdict['address'] = contract.address.bech32() dump_tx_and_result(txdict, result, args)
def automatic_activation(args: Any): cli_shared.check_broadcast_args(args) cli_shared.prepare_nonce_in_args(args) staking_provider.prepare_args_automatic_activation(args) tx = do_prepare_transaction(args) try: cli_shared.send_or_simulate(tx, args) finally: tx.dump_to(args.outfile)
def do_create_delegation_contract(args: Any): cli_shared.check_broadcast_args(args) cli_shared.prepare_nonce_in_args(args) staking_provider.prepare_args_for_create_new_staking_contract(args) tx = do_prepare_transaction(args) try: cli_shared.send_or_simulate(tx, args) finally: tx.dump_to(args.outfile)
def do_unjail(args: Any): cli_shared.check_broadcast_args(args) cli_shared.prepare_nonce_in_args(args) validators.prepare_args_for_unjail(args) tx = do_prepare_transaction(args) try: cli_shared.send_or_simulate(tx, args) finally: tx.dump_to(args.outfile)
def change_reward_address(args: Any): cli_shared.check_broadcast_args(args) cli_shared.prepare_nonce_in_args(args) validators.prepare_args_for_change_reward_address(args) tx = do_prepare_transaction(args) try: _send_or_simulate(tx, args) finally: tx.dump_to(args.outfile)
def upgrade(args: Any): logger.debug("upgrade") cli_shared.check_broadcast_args(args) contract_address = args.contract arguments = args.arguments gas_price = args.gas_price gas_limit = args.gas_limit value = args.value chain = args.chain version = args.version contract = _prepare_contract(args) contract.address = Address(contract_address) sender = _prepare_sender(args) tx = contract.upgrade(sender, arguments, gas_price, gas_limit, value, chain, version) try: result = _send_or_simulate(tx, args) finally: txdict = tx.to_dump_dict() dump_tx_and_result(txdict, result, args)
def call(args: Any): logger.debug("call") cli_shared.check_broadcast_args(args) contract_address = args.contract function = args.function arguments = args.arguments gas_price = args.gas_price gas_limit = args.gas_limit value = args.value chain = args.chain version = args.version contract = SmartContract(contract_address) sender = _prepare_sender(args) tx = contract.execute(sender, function, arguments, gas_price, gas_limit, value, chain, version) try: result = _send_or_simulate(tx, args) finally: txdict = tx.to_dump_dict() dump_tx_and_result(txdict, result, args)
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 deploy(args: Any): logger.debug("deploy") cli_shared.check_broadcast_args(args) arguments = args.arguments gas_price = args.gas_price gas_limit = args.gas_limit value = args.value chain = args.chain version = args.version contract = _prepare_contract(args) sender = _prepare_sender(args) tx = contract.deploy(sender, arguments, gas_price, gas_limit, value, chain, version) logger.info("Contract address: %s", contract.address) try: _send_or_simulate(tx, args) finally: tx.dump_to(args.outfile, extra={"address": contract.address.bech32()})
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)