diff --git a/src/main/java/org/web3j/tx/Contract.java b/src/main/java/org/web3j/tx/Contract.java index 238275e85..7cafea8e7 100644 --- a/src/main/java/org/web3j/tx/Contract.java +++ b/src/main/java/org/web3j/tx/Contract.java @@ -73,8 +73,8 @@ public void setTransactionReceipt(TransactionReceipt transactionReceipt) { * * @return the TransactionReceipt generated at contract deployment */ - public Optional getTransactionReceipt() { - return Optional.ofNullable(transactionReceipt); + public TransactionReceipt getTransactionReceipt() { + return transactionReceipt; } /** diff --git a/src/main/java/org/web3j/tx/TransactionManager.java b/src/main/java/org/web3j/tx/TransactionManager.java index 51f5e6c52..a54684428 100644 --- a/src/main/java/org/web3j/tx/TransactionManager.java +++ b/src/main/java/org/web3j/tx/TransactionManager.java @@ -1,7 +1,6 @@ package org.web3j.tx; import java.math.BigInteger; -import java.util.Optional; import java.util.concurrent.ExecutionException; import org.web3j.protocol.Web3j; @@ -52,7 +51,7 @@ public abstract EthSendTransaction sendTransaction( public abstract String getFromAddress(); - private TransactionReceipt processResponse(EthSendTransaction transactionResponse) + protected TransactionReceipt processResponse(EthSendTransaction transactionResponse) throws InterruptedException, ExecutionException, TransactionTimeoutException { if (transactionResponse.hasError()) { throw new RuntimeException("Error processing transaction request: " + @@ -75,14 +74,14 @@ private TransactionReceipt getTransactionReceipt( String transactionHash, int sleepDuration, int attempts) throws InterruptedException, ExecutionException, TransactionTimeoutException { - Optional receiptOptional = + TransactionReceipt receiptOptional = sendTransactionReceiptRequest(transactionHash); for (int i = 0; i < attempts; i++) { - if (!receiptOptional.isPresent()) { + if (receiptOptional == null) { Thread.sleep(sleepDuration); receiptOptional = sendTransactionReceiptRequest(transactionHash); } else { - return receiptOptional.get(); + return receiptOptional; } } @@ -91,7 +90,7 @@ private TransactionReceipt getTransactionReceipt( " seconds for transaction: " + transactionHash)); } - private Optional sendTransactionReceiptRequest( + private TransactionReceipt sendTransactionReceiptRequest( String transactionHash) throws InterruptedException, ExecutionException { EthGetTransactionReceipt transactionReceipt = web3j.ethGetTransactionReceipt(transactionHash).sendAsync().get(); diff --git a/src/test/java/org/web3j/tx/ContractTest.java b/src/test/java/org/web3j/tx/ContractTest.java index 7d9dbb3ee..77c09b568 100644 --- a/src/test/java/org/web3j/tx/ContractTest.java +++ b/src/test/java/org/web3j/tx/ContractTest.java @@ -42,6 +42,8 @@ import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.any; @@ -70,7 +72,7 @@ public void testGetContractAddress() { @Test public void testGetContractTransactionReceipt() { - assertFalse(contract.getTransactionReceipt().isPresent()); + assertNull(contract.getTransactionReceipt()); } @Test @@ -90,8 +92,8 @@ public void testDeploy() throws Exception { ManagedTransaction.GAS_PRICE, Contract.GAS_LIMIT, "0xcafed00d", encodedConstructor, BigInteger.ZERO).get(); assertThat(deployedContract.getContractAddress(), is(ADDRESS)); - assertTrue(deployedContract.getTransactionReceipt().isPresent()); - assertThat(deployedContract.getTransactionReceipt().get(), equalTo(transactionReceipt)); + assertNotNull(deployedContract.getTransactionReceipt()); + assertThat(deployedContract.getTransactionReceipt(), equalTo(transactionReceipt)); } @Test(expected = RuntimeException.class)