@Test public void testTransactionReceiptIsStatusOK() { TransactionReceipt transactionReceipt = new TransactionReceipt(); transactionReceipt.setStatus("0x1"); assertThat(transactionReceipt.isStatusOK(), equalTo(true)); TransactionReceipt transactionReceiptNoStatus = new TransactionReceipt(); assertThat(transactionReceiptNoStatus.isStatusOK(), equalTo(true)); TransactionReceipt transactionReceiptZeroStatus = new TransactionReceipt(); transactionReceiptZeroStatus.setStatus("0x0"); assertThat(transactionReceiptZeroStatus.isStatusOK(), equalTo(false)); }
/** * Given the duration required to execute a transaction. * * @param data to send in transaction * @param weiValue in Wei to send in transaction * @return {@link Optional} containing our transaction receipt * @throws IOException if the call to the node fails * @throws TransactionException if the transaction was not mined while waiting */ TransactionReceipt executeTransaction( String data, BigInteger weiValue, String funcName) throws TransactionException, IOException { TransactionReceipt receipt = send(contractAddress, data, weiValue, gasProvider.getGasPrice(funcName), gasProvider.getGasLimit(funcName)); if (!receipt.isStatusOK()) { throw new TransactionException( String.format( "Transaction has failed with status: %s. " + "Gas used: %d. (not-enough gas?)", receipt.getStatus(), receipt.getGasUsed())); } return receipt; }