def execute_contract(self, contract: SmartContract, caller, function, arguments, gas_price, gas_limit, value, chain, version): logger.debug("execute_contract: %s", contract.address.bech32()) tx = contract.execute(caller, function, arguments, gas_price, gas_limit, value, chain, version) proxy = self._get_proxy() tx_hash = tx.send(proxy) return tx_hash
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)