diff --git a/.gitignore b/.gitignore index 1df9bf5..d9bd82b 100644 --- a/.gitignore +++ b/.gitignore @@ -77,4 +77,6 @@ lint/outputs/ lint/tmp/ # lint/reports/ -gradle.properties \ No newline at end of file +gradle.properties + +.DS_STORE \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 3cfa5c7..24f0dcf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,7 +1,14 @@ apply plugin: 'com.android.application' +apply plugin: 'com.jfrog.artifactory' android { compileSdkVersion 28 + + compileOptions { + sourceCompatibility 1.8 + targetCompatibility 1.8 + } + defaultConfig { applicationId "one.block.testeosiojavarpcprovider" minSdkVersion 21 @@ -38,11 +45,11 @@ dependencies { implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'com.google.android.material:material:1.0.0-beta01' - implementation project(':eosiojavarpcprovider') - implementation 'one.block:eosiojava:0.1.2' - testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.1.0-alpha4' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4' androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.12.1' + + implementation project(':eosiojavarpcprovider') + implementation 'one.block:eosiojava:0.2.0-amqp9' } diff --git a/app/src/androidTest/java/one/block/testeosiojavarpcprovider/EosioRpcProviderInstrumentedTest.java b/app/src/androidTest/java/one/block/testeosiojavarpcprovider/EosioRpcProviderInstrumentedTest.java index a4b4a42..a419596 100644 --- a/app/src/androidTest/java/one/block/testeosiojavarpcprovider/EosioRpcProviderInstrumentedTest.java +++ b/app/src/androidTest/java/one/block/testeosiojavarpcprovider/EosioRpcProviderInstrumentedTest.java @@ -29,12 +29,12 @@ import one.block.eosiojava.models.rpcProvider.request.GetBlockRequest; import one.block.eosiojava.models.rpcProvider.request.GetRawAbiRequest; import one.block.eosiojava.models.rpcProvider.request.GetRequiredKeysRequest; -import one.block.eosiojava.models.rpcProvider.request.PushTransactionRequest; +import one.block.eosiojava.models.rpcProvider.request.SendTransactionRequest; import one.block.eosiojava.models.rpcProvider.response.GetBlockResponse; import one.block.eosiojava.models.rpcProvider.response.GetInfoResponse; import one.block.eosiojava.models.rpcProvider.response.GetRawAbiResponse; import one.block.eosiojava.models.rpcProvider.response.GetRequiredKeysResponse; -import one.block.eosiojava.models.rpcProvider.response.PushTransactionResponse; +import one.block.eosiojava.models.rpcProvider.response.SendTransactionResponse; import one.block.eosiojava.models.rpcProvider.response.RPCResponseError; import one.block.eosiojava.models.rpcProvider.response.RpcError; import one.block.eosiojavarpcprovider.error.EosioJavaRpcProviderCallError; @@ -184,10 +184,10 @@ public void getRequiredKeysTest() { } @Test - public void pushTransactionTest() { + public void sendTransactionTest() { MockWebServer server = new MockWebServer(); - server.enqueue(new MockResponse().setResponseCode(200).setBody(PUSH_TRANSACTION_RESPONSE)); + server.enqueue(new MockResponse().setResponseCode(200).setBody(SEND_TRANSACTION_RESPONSE)); try { server.start(); @@ -198,16 +198,16 @@ public void pushTransactionTest() { List signatures = new ArrayList<>(); signatures.add("SIG_K1_JzFA9ffefWfrTBvpwMwZi81kR6tvHF4mfsRekVXrBjLWWikg9g1FrS9WupYuoGaRew5mJhr4d39tHUjHiNCkxamtEfxi68"); - PushTransactionRequest request = new PushTransactionRequest(signatures, + SendTransactionRequest request = new SendTransactionRequest(signatures, 0, "", "C62A4F5C1CEF3D6D71BD000000000290AFC2D800EA3055000000405DA7ADBA0072CBDD956F52ACD910C3C958136D72F8560D1846BC7CF3157F5FBFB72D3001DE4597F4A1FDBECDA6D59C96A43009FC5E5D7B8F639B1269C77CEC718460DCC19CB30100A6823403EA3055000000572D3CCDCD0143864D5AF0FE294D44D19C612036CBE8C098414C4A12A5A7BB0BFE7DB155624800A6823403EA3055000000572D3CCDCD0100AEAA4AC15CFD4500000000A8ED32323B00AEAA4AC15CFD4500000060D234CD3DA06806000000000004454F53000000001A746865206772617373686F70706572206C69657320686561767900"); - PushTransactionResponse response = rpcProvider.pushTransaction(request); + SendTransactionResponse response = rpcProvider.sendTransaction(request); assertNotNull(response); assertEquals("ae735820e26a7b771e1b522186294d7cbba035d0c31ca88237559d6c0a3bf00a", response.getTransactionId()); } catch (Exception ex) { - fail("Should not get exception when calling pushTransaction(): " + ex.getLocalizedMessage() + fail("Should not get exception when calling sendTransaction(): " + ex.getLocalizedMessage() + "\n" + getStackTraceString(ex)); } finally { try { @@ -223,7 +223,7 @@ public void pushTransactionTest() { public void pushTransactionErrorTest() { MockWebServer server = new MockWebServer(); - server.enqueue(new MockResponse().setResponseCode(500).setBody(PUSH_TRANSACTION_ERROR_RESPONSE)); + server.enqueue(new MockResponse().setResponseCode(500).setBody(SEND_TRANSACTION_ERROR_RESPONSE)); try { server.start(); @@ -234,14 +234,14 @@ public void pushTransactionErrorTest() { List signatures = new ArrayList<>(); signatures.add("SIG_K1_JzFA9ffefWfrTBvpwMwZi81kR6tvHF4mfsRekVXrBjLWWikg9g1FrS9WupYuoGaRew5mJhr4d39tHUjHiNCkxamtEfxi68"); - PushTransactionRequest request = new PushTransactionRequest(signatures, + SendTransactionRequest request = new SendTransactionRequest(signatures, 0, "", "C62A4F5C1CEF3D6D71BD000000000290AFC2D800EA3055000000405DA7ADBA0072CBDD956F52ACD910C3C958136D72F8560D1846BC7CF3157F5FBFB72D3001DE4597F4A1FDBECDA6D59C96A43009FC5E5D7B8F639B1269C77CEC718460DCC19CB30100A6823403EA3055000000572D3CCDCD0143864D5AF0FE294D44D19C612036CBE8C098414C4A12A5A7BB0BFE7DB155624800A6823403EA3055000000572D3CCDCD0100AEAA4AC15CFD4500000000A8ED32323B00AEAA4AC15CFD4500000060D234CD3DA06806000000000004454F53000000001A746865206772617373686F70706572206C69657320686561767900"); - PushTransactionResponse response = rpcProvider.pushTransaction(request); + SendTransactionResponse response = rpcProvider.sendTransaction(request); fail("Push transaction should not succeed."); } catch (Exception ex) { - assertEquals("Error pushing transaction.", ex.getLocalizedMessage()); + assertEquals("Error sending transaction.", ex.getLocalizedMessage()); assertNotNull(ex.getCause()); assertEquals("Bad status code: 500 (Server Error), returned from server. Additional error information: See further error information in RPCProviderError.", ex.getCause().getMessage()); RPCResponseError rpcResponseError = ((EosioJavaRpcProviderCallError)ex.getCause()).getRpcResponseError(); diff --git a/app/src/androidTest/java/one/block/testeosiojavarpcprovider/RpcTestContants.java b/app/src/androidTest/java/one/block/testeosiojavarpcprovider/RpcTestContants.java index 53396e0..1fa976e 100644 --- a/app/src/androidTest/java/one/block/testeosiojavarpcprovider/RpcTestContants.java +++ b/app/src/androidTest/java/one/block/testeosiojavarpcprovider/RpcTestContants.java @@ -50,7 +50,7 @@ public class RpcTestContants { + " ]\n" + "}"; - public static final String PUSH_TRANSACTION_RESPONSE = "{\n" + public static final String SEND_TRANSACTION_RESPONSE = "{\n" + " \"transaction_id\": \"ae735820e26a7b771e1b522186294d7cbba035d0c31ca88237559d6c0a3bf00a\",\n" + " \"processed\": {\n" + " \"id\": \"ae735820e26a7b771e1b522186294d7cbba035d0c31ca88237559d6c0a3bf00a\",\n" @@ -245,7 +245,7 @@ public class RpcTestContants { + " }\n" + "}"; - public static final String PUSH_TRANSACTION_ERROR_RESPONSE = "{\n" + public static final String SEND_TRANSACTION_ERROR_RESPONSE = "{\n" + " \"code\": 500,\n" + " \"message\": \"Internal Service Error\",\n" + " \"error\": {\n" @@ -347,8 +347,8 @@ public class RpcTestContants { "]"; public static final String PUSH_TRANSACTIONS_RESPONSE = "[" + - PUSH_TRANSACTION_RESPONSE + "," + - PUSH_TRANSACTION_RESPONSE + + SEND_TRANSACTION_RESPONSE + "," + + SEND_TRANSACTION_RESPONSE + "]"; public static final String GET_BLOCK_HEADER_STATE_REQUEST = "{\n" + diff --git a/eosiojavarpcprovider/build.gradle b/eosiojavarpcprovider/build.gradle index 4294042..fdda18a 100644 --- a/eosiojavarpcprovider/build.gradle +++ b/eosiojavarpcprovider/build.gradle @@ -6,6 +6,11 @@ apply plugin: 'maven-publish' android { compileSdkVersion 28 + compileOptions { + sourceCompatibility 1.8 + targetCompatibility 1.8 + } + defaultConfig { minSdkVersion 21 targetSdkVersion 28 @@ -29,7 +34,7 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - api 'one.block:eosiojava:0.1.2' + implementation 'one.block:eosiojava:0.2.0-amqp9' implementation 'org.jetbrains:annotations:17.0.0' api 'com.squareup.retrofit2:retrofit:2.5.0' @@ -46,7 +51,7 @@ dependencies { def libraryGroupId = 'one.block' def libraryArtifactId = 'eosiojavarpcprovider' -def libraryVersion = '0.1.1' +def libraryVersion = '0.2.0-amqp' task androidJavadocs(type: Javadoc) { source = android.sourceSets.main.java.srcDirs diff --git a/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/error/EosioJavaRpcErrorConstants.java b/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/error/EosioJavaRpcErrorConstants.java index 263dfcd..1ddb135 100644 --- a/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/error/EosioJavaRpcErrorConstants.java +++ b/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/error/EosioJavaRpcErrorConstants.java @@ -7,7 +7,7 @@ import one.block.eosiojava.models.rpcProvider.request.GetBlockRequest; import one.block.eosiojava.models.rpcProvider.request.GetRawAbiRequest; import one.block.eosiojava.models.rpcProvider.request.GetRequiredKeysRequest; -import one.block.eosiojava.models.rpcProvider.request.PushTransactionRequest; +import one.block.eosiojava.models.rpcProvider.request.SendTransactionRequest; import one.block.eosiojava.models.rpcProvider.response.RPCResponseError; import one.block.eosiojavarpcprovider.implementations.EosioJavaRpcProviderImpl; @@ -44,9 +44,9 @@ public class EosioJavaRpcErrorConstants { public static final String RPC_PROVIDER_ERROR_GETTING_REQUIRED_KEYS = "Error retrieving required keys."; /** - * Error message gets thrown if {@link EosioJavaRpcProviderImpl#pushTransaction(PushTransactionRequest)} returns error. + * Error message gets thrown if {@link EosioJavaRpcProviderImpl#sendTransaction(SendTransactionRequest)} returns error. */ - public static final String RPC_PROVIDER_ERROR_PUSHING_TRANSACTION = "Error pushing transaction."; + public static final String RPC_PROVIDER_ERROR_SENDING_TRANSACTION = "Error sending transaction."; /** * Error message gets thrown if {@link EosioJavaRpcProviderImpl#pushTransactions(RequestBody)} returns error. diff --git a/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/implementations/EosioJavaRpcProviderImpl.java b/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/implementations/EosioJavaRpcProviderImpl.java index 06c98b7..5a698c2 100644 --- a/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/implementations/EosioJavaRpcProviderImpl.java +++ b/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/implementations/EosioJavaRpcProviderImpl.java @@ -15,20 +15,19 @@ import one.block.eosiojava.error.rpcProvider.GetInfoRpcError; import one.block.eosiojava.error.rpcProvider.GetRawAbiRpcError; import one.block.eosiojava.error.rpcProvider.GetRequiredKeysRpcError; -import one.block.eosiojava.error.rpcProvider.PushTransactionRpcError; import one.block.eosiojava.error.rpcProvider.RpcProviderError; +import one.block.eosiojava.error.rpcProvider.SendTransactionRpcError; import one.block.eosiojava.interfaces.IRPCProvider; import one.block.eosiojava.models.rpcProvider.request.GetBlockRequest; import one.block.eosiojava.models.rpcProvider.request.GetRawAbiRequest; import one.block.eosiojava.models.rpcProvider.request.GetRequiredKeysRequest; -import one.block.eosiojava.models.rpcProvider.request.PushTransactionRequest; +import one.block.eosiojava.models.rpcProvider.request.SendTransactionRequest; import one.block.eosiojava.models.rpcProvider.response.GetBlockResponse; import one.block.eosiojava.models.rpcProvider.response.GetInfoResponse; import one.block.eosiojava.models.rpcProvider.response.GetRawAbiResponse; import one.block.eosiojava.models.rpcProvider.response.GetRequiredKeysResponse; -import one.block.eosiojava.models.rpcProvider.response.PushTransactionResponse; import one.block.eosiojava.models.rpcProvider.response.RPCResponseError; -import one.block.eosiojavarpcprovider.BuildConfig; +import one.block.eosiojava.models.rpcProvider.response.SendTransactionResponse; import one.block.eosiojavarpcprovider.error.EosioJavaRpcErrorConstants; import one.block.eosiojavarpcprovider.error.EosioJavaRpcProviderCallError; import one.block.eosiojavarpcprovider.error.EosioJavaRpcProviderInitializerError; @@ -201,19 +200,18 @@ private O processCall(Call call) throws Exception { } /** - * Push a given transaction to the blockchain and process the response. - * @param pushTransactionRequest the transaction to push with signatures. - * @return PushTransactionResponse on successful return. - * @throws PushTransactionRpcError Thrown if any errors occur calling or processing the request. + * Send a given transaction to the blockchain and process the response. + * @param sendTransactionRequest the transaction to send with signatures. + * @return SendTransactionResponse on successful return. + * @throws SendTransactionRpcError Thrown if any errors occur calling or processing the request. */ - @Override - public @NotNull PushTransactionResponse pushTransaction( - PushTransactionRequest pushTransactionRequest) throws PushTransactionRpcError { + public @NotNull SendTransactionResponse sendTransaction( + SendTransactionRequest sendTransactionRequest) throws SendTransactionRpcError { try { - Call syncCall = this.rpcProviderApi.pushTransaction(pushTransactionRequest); + Call syncCall = this.rpcProviderApi.sendTransaction(sendTransactionRequest); return processCall(syncCall); } catch (Exception ex) { - throw new PushTransactionRpcError(EosioJavaRpcErrorConstants.RPC_PROVIDER_ERROR_PUSHING_TRANSACTION, + throw new SendTransactionRpcError(EosioJavaRpcErrorConstants.RPC_PROVIDER_ERROR_SENDING_TRANSACTION, ex); } } diff --git a/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/implementations/IEosioJavaRpcProviderApi.java b/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/implementations/IEosioJavaRpcProviderApi.java index 7429af2..1170d12 100644 --- a/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/implementations/IEosioJavaRpcProviderApi.java +++ b/eosiojavarpcprovider/src/main/java/one/block/eosiojavarpcprovider/implementations/IEosioJavaRpcProviderApi.java @@ -8,12 +8,12 @@ import one.block.eosiojava.models.rpcProvider.request.GetBlockRequest; import one.block.eosiojava.models.rpcProvider.request.GetRawAbiRequest; import one.block.eosiojava.models.rpcProvider.request.GetRequiredKeysRequest; -import one.block.eosiojava.models.rpcProvider.request.PushTransactionRequest; +import one.block.eosiojava.models.rpcProvider.request.SendTransactionRequest; import one.block.eosiojava.models.rpcProvider.response.GetBlockResponse; import one.block.eosiojava.models.rpcProvider.response.GetInfoResponse; import one.block.eosiojava.models.rpcProvider.response.GetRawAbiResponse; import one.block.eosiojava.models.rpcProvider.response.GetRequiredKeysResponse; -import one.block.eosiojava.models.rpcProvider.response.PushTransactionResponse; +import one.block.eosiojava.models.rpcProvider.response.SendTransactionResponse; import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.POST; @@ -65,14 +65,14 @@ public interface IEosioJavaRpcProviderApi { Call getRequiredKeys(@Body GetRequiredKeysRequest getRequiredKeysRequest); /** - * Retrofit POST call to "chain/push_transaction" to an EOSIO blockchain. - * This method gets called from {@link EosioJavaRpcProviderImpl#pushTransaction(PushTransactionRequest)} to Push transaction RPC call to broadcast a transaction to backend + * Retrofit POST call to "chain/send_transaction" to an EOSIO blockchain. + * This method gets called from {@link EosioJavaRpcProviderImpl#sendTransaction(SendTransactionRequest)} to Send transaction RPC call to broadcast a transaction to backend * - * @param pushTransactionRequest the transaction to push with signatures. - * @return Executable {@link Call} to return {@link PushTransactionResponse} has the push transaction response + * @param sendTransactionRequest the transaction to push with signatures. + * @return Executable {@link Call} to return {@link SendTransactionResponse} has the send transaction response */ - @POST("v1/chain/push_transaction") - Call pushTransaction(@Body PushTransactionRequest pushTransactionRequest); + @POST("v1/chain/send_transaction") + Call sendTransaction(@Body SendTransactionRequest sendTransactionRequest); //endregion