diff --git a/CHANGELOG.md b/CHANGELOG.md index e6a9ac84..edacdca7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [5.0.0] - 2023-05-25 + +### Changed +- Exposed `AttestedClient` and related APIs +- Updated dependencies +- Updated MobileCoin to version 5.0.0 + +### Upgrading +No code changes are *required* to upgrade from 4.1.1 to 5.0.0 + ## [4.1.1] - 2023-04-26 ### Added @@ -16,7 +26,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Moved Util.getSharedSecret to OnetimeKeys and made public ### Upgrading - No code changes are *required* to upgrade from 4.1.0 to 4.1.1 ## [4.1.0] - 2023-04-06 @@ -36,7 +45,6 @@ No code changes are *required* to upgrade from 4.1.0 to 4.1.1 - Dependency updates ### Upgrading - No code changes are *required* to upgrade from 4.0.0.1 to 4.1.0 ## [4.0.0.1] - 2023-02-10 @@ -75,7 +83,6 @@ No code changes are *required* to upgrade from 4.0.0.1 to 4.1.0 - Fixed connection reset errors in HTTP clients ### Upgrading - No code changes are *required* to upgrade from 1.2.2.4 to 4.0.0 ## [1.2.2.4] - 2022-08-24 @@ -89,7 +96,6 @@ No code changes are *required* to upgrade from 1.2.2.4 to 4.0.0 - Query size calculation in `DefaultFogQueryScalingStrategy` ### Upgrading - No code changes are *required* to upgrade from 1.2.2.3 to 1.2.2.4 ## [1.2.2.3] - 2022-08-22 @@ -99,7 +105,6 @@ No code changes are *required* to upgrade from 1.2.2.3 to 1.2.2.4 - Added `getTransactionStatusQuick` to `MobileCoinClient` ### Upgrading - No code changes are *required* to upgrade from 1.2.2.2 to 1.2.2.3 ## [1.2.2.2] - 2022-08-11 @@ -108,7 +113,6 @@ No code changes are *required* to upgrade from 1.2.2.2 to 1.2.2.3 - `GRPCFogKeyImageService` properly converts `StatusRuntimeException` to `NetworkException` ### Upgrading - No code changes are *required* to upgrade from 1.2.2.1 to 1.2.2.2 ## [1.2.2.1] - 2022-07-21 @@ -119,7 +123,6 @@ No code changes are *required* to upgrade from 1.2.2.1 to 1.2.2.2 - Changed visibility of `OwnedTxOut.getAmount()` to public ### Upgrading - No code changes are *required* to upgrade from 1.2.2 to 1.2.2.1 ## [1.2.2] - 2022-07-21 @@ -138,7 +141,6 @@ some issues caused by `OwnedTxOut`s being updated after being fetched from the p - Fixed a dependency issue introduced by some project structure changes ### Upgrading - No code changes are *required* to upgrade from 1.2.1 to 1.2.2 - To easily handle various types of transaction failure differently, code such as the following @@ -154,7 +156,6 @@ value of `MobileCoinTransactionClient.submitTransaction` - Updated bindings to version 1.2.1 ### Upgrading - No code changes are *required* to upgrade from 1.2.0 to 1.2.1 - Calls to `new Amount(value, TokenId.MOB)` may be replaced with `Amount.ofMOB(value)`. diff --git a/android-sdk/publish.gradle b/android-sdk/publish.gradle index c1dc0219..f528df45 100644 --- a/android-sdk/publish.gradle +++ b/android-sdk/publish.gradle @@ -1,6 +1,6 @@ apply plugin: 'maven-publish' -version '4.1.1' +version '5.0.0' group 'com.mobilecoin' Properties properties = new Properties() diff --git a/android-sdk/src/androidTest/java/com/mobilecoin/lib/AccountSnapshotTest.java b/android-sdk/src/androidTest/java/com/mobilecoin/lib/AccountSnapshotTest.java index 7d0471ad..031c8f50 100644 --- a/android-sdk/src/androidTest/java/com/mobilecoin/lib/AccountSnapshotTest.java +++ b/android-sdk/src/androidTest/java/com/mobilecoin/lib/AccountSnapshotTest.java @@ -7,6 +7,8 @@ import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertNull; +import com.mobilecoin.lib.log.Logger; + import org.junit.Test; import java.math.BigInteger; diff --git a/android-sdk/src/androidTest/java/com/mobilecoin/lib/TestFogConfig.java b/android-sdk/src/androidTest/java/com/mobilecoin/lib/TestFogConfig.java index d9a8d8b6..633cb965 100644 --- a/android-sdk/src/androidTest/java/com/mobilecoin/lib/TestFogConfig.java +++ b/android-sdk/src/androidTest/java/com/mobilecoin/lib/TestFogConfig.java @@ -244,7 +244,7 @@ private static Set getTestTrustRoots() { @NonNull private static Set getDevTrustRoots() { - String trustRootBase64String = "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"; + String trustRootBase64String = "MIIFjDCCA3SgAwIBAgINAgO8UKMnU/CRgCLt8TANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMjAwODEzMDAwMDQyWhcNMjcwOTMwMDAwMDQyWjBGMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzETMBEGA1UEAxMKR1RTIENBIDFQNTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALOC8CSMvy2Hr7LZp676yrpE1ls+/rL3smUW3N4Q6E8tEFhaKIaHoe5qs6DZdU9/oVIBi1WoSlsGSMg2EiWrifnyI1+dYGX5XNq+OuhcbX2c0IQYhTDNTpvsPNiz4ZbU88ULZduPsHTL9h7zePGslcXdc8MxiIGvdKpv/QzjBZXwxRBPZWP6oK/GGD3Fod+XedcFibMwsHSuPZIQa4wVd90LBFf7gQPd6iI01eVWsvDEjUGxwwLbYuyA0P921IbkBBq2tgwrYnF92a/Z8V76wB7KoBlcVfCA0SoMB4aQnzXjKCtb7yPIox2kozru/oPcgkwlsE3FUa2em9NbhMIaWukCAwEAAaOCAXYwggFyMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU1fyeDd8eyt0Il5duK8VfxSv17LgwHwYDVR0jBBgwFoAU5K8rJnEaK0gnhS9SZizv8IkTcT4waAYIKwYBBQUHAQEEXDBaMCYGCCsGAQUFBzABhhpodHRwOi8vb2NzcC5wa2kuZ29vZy9ndHNyMTAwBggrBgEFBQcwAoYkaHR0cDovL3BraS5nb29nL3JlcG8vY2VydHMvZ3RzcjEuZGVyMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwucGtpLmdvb2cvZ3RzcjEvZ3RzcjEuY3JsME0GA1UdIARGMEQwOAYKKwYBBAHWeQIFAzAqMCgGCCsGAQUFBwIBFhxodHRwczovL3BraS5nb29nL3JlcG9zaXRvcnkvMAgGBmeBDAECATANBgkqhkiG9w0BAQsFAAOCAgEAbGMn7iPf5VJoTYFmkYXffWXlWzcxCCayB12avrHKAbmtv5139lEd15jFC0mhe6HX02jlRA+LujbdQoJ30o3d9T/768gHmJPuWtC1Pd5LHC2MTex+jHv+TkD98LSzWQIQUVzjwCv9twZIUX4JXj8P3Kf+l+d5xQ5EiXjFaVkpoJo6SDYpppSTVS24R7XplrWfB82mqz4yisCGg8XBQcifLzWODcAHeuGsyWW1y4qn3XHYYWU5hKwyPvd6NvFWn1epQW1akKfbOup1gAxjC2l0bwdMFfM3KKUZpG719iDNY7J+xCsJdYna0Twuck82GqGeRNDNm6YjCD+XoaeeWqX3CZStXXZdKFbRGmZRUQd73j2wyO8weiQtvrizhvZL9/C1T//Oxvn2PyonCA8JPiNax+NCLXo25D2YlmA5mOrR22Mq63gJsU4hs463zj6S8ZVcpDnQwCvIUxX10i+CzQZ0Z5mQdzcKly3FHB700FvpFePqAgnIE9cTcGW/+4ibWiW+dwnhp2pOEXW5Hk3xABtqZnmOw27YbaIiom0F+yzy8VDloNHYnzV9/HCrWSoC8b6w0/H4zRK5aiWQW+OFIOb12stAHBk0IANhd7p/SA9JCynr52Fkx2PRR+sc4e6URu85c8zuTyuN3PtYp7NlIJmVuftVb9eWbpQ99HqSjmMd320="; byte[] trustRootBytes = Base64.decode(trustRootBase64String, Base64.DEFAULT); return Util.makeCertificatesFromData(trustRootBytes); } diff --git a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCAttestedService.java b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCAttestedService.java index 05c3214d..4e7628c1 100644 --- a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCAttestedService.java +++ b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCAttestedService.java @@ -28,7 +28,7 @@ public GRPCAttestedService(@NonNull ManagedChannel managedChannel, @NonNull @Override - AttestedApiGrpc.AttestedApiBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { + protected AttestedApiGrpc.AttestedApiBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { return AttestedApiGrpc.newBlockingStub(managedChannel); } diff --git a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCBlockchainService.java b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCBlockchainService.java index 36d478ef..c6370dc3 100644 --- a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCBlockchainService.java +++ b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCBlockchainService.java @@ -29,7 +29,7 @@ public GRPCBlockchainService(@NonNull ManagedChannel managedChannel, @NonNull @Override - BlockchainAPIGrpc.BlockchainAPIBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { + protected BlockchainAPIGrpc.BlockchainAPIBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { return BlockchainAPIGrpc.newBlockingStub(managedChannel); } diff --git a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCConsensusClientService.java b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCConsensusClientService.java index a33fe9fe..d07aac62 100644 --- a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCConsensusClientService.java +++ b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCConsensusClientService.java @@ -29,7 +29,7 @@ public GRPCConsensusClientService(@NonNull ManagedChannel managedChannel, @NonNull @Override - ConsensusClientAPIGrpc.ConsensusClientAPIBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { + protected ConsensusClientAPIGrpc.ConsensusClientAPIBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { return ConsensusClientAPIGrpc.newBlockingStub(managedChannel); } diff --git a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogBlockService.java b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogBlockService.java index b75fd919..e3f9ffe0 100644 --- a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogBlockService.java +++ b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogBlockService.java @@ -28,7 +28,7 @@ public GRPCFogBlockService(@NonNull ManagedChannel managedChannel, @NonNull @Override - FogBlockAPIGrpc.FogBlockAPIBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { + protected FogBlockAPIGrpc.FogBlockAPIBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { return FogBlockAPIGrpc.newBlockingStub(managedChannel); } diff --git a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogKeyImageService.java b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogKeyImageService.java index 97b083bf..f1d458ee 100644 --- a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogKeyImageService.java +++ b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogKeyImageService.java @@ -28,7 +28,7 @@ public GRPCFogKeyImageService(@NonNull ManagedChannel managedChannel, @NonNull @Override - FogKeyImageAPIGrpc.FogKeyImageAPIBlockingStub newBlockingStub( + protected FogKeyImageAPIGrpc.FogKeyImageAPIBlockingStub newBlockingStub( @NonNull ManagedChannel managedChannel ) { return FogKeyImageAPIGrpc.newBlockingStub(managedChannel); diff --git a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogMerkleProofService.java b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogMerkleProofService.java index 65a7ab6d..a5d1818f 100644 --- a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogMerkleProofService.java +++ b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogMerkleProofService.java @@ -28,7 +28,7 @@ public GRPCFogMerkleProofService(@NonNull ManagedChannel managedChannel, @NonNull @Override - FogMerkleProofAPIGrpc.FogMerkleProofAPIBlockingStub newBlockingStub( + protected FogMerkleProofAPIGrpc.FogMerkleProofAPIBlockingStub newBlockingStub( @NonNull ManagedChannel managedChannel ) { return FogMerkleProofAPIGrpc.newBlockingStub(managedChannel); diff --git a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogReportService.java b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogReportService.java index 0b1ca77e..f21805a0 100644 --- a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogReportService.java +++ b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogReportService.java @@ -28,7 +28,7 @@ public GRPCFogReportService(@NonNull ManagedChannel managedChannel, @NonNull @Override - ReportAPIGrpc.ReportAPIBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { + protected ReportAPIGrpc.ReportAPIBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { return ReportAPIGrpc.newBlockingStub(managedChannel); } diff --git a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogUntrustedService.java b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogUntrustedService.java index 9e85b6eb..bd5f1c55 100644 --- a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogUntrustedService.java +++ b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogUntrustedService.java @@ -29,7 +29,7 @@ public GRPCFogUntrustedService(@NonNull ManagedChannel managedChannel, @NonNull @Override - FogUntrustedTxOutApiGrpc.FogUntrustedTxOutApiBlockingStub newBlockingStub( + protected FogUntrustedTxOutApiGrpc.FogUntrustedTxOutApiBlockingStub newBlockingStub( @NonNull ManagedChannel managedChannel ) { return FogUntrustedTxOutApiGrpc.newBlockingStub(getManagedChannel()); diff --git a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogViewService.java b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogViewService.java index 078facc5..0033e878 100644 --- a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogViewService.java +++ b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCFogViewService.java @@ -27,7 +27,7 @@ public GRPCFogViewService(@NonNull ManagedChannel managedChannel, @NonNull @Override - FogViewAPIGrpc.FogViewAPIBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { + protected FogViewAPIGrpc.FogViewAPIBlockingStub newBlockingStub(@NonNull ManagedChannel managedChannel) { return FogViewAPIGrpc.newBlockingStub(getManagedChannel()); } diff --git a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCService.java b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCService.java index d63b5dd2..e9c0a7b9 100644 --- a/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCService.java +++ b/android-sdk/src/grpc/java/com/mobilecoin/lib/network/services/grpc/GRPCService.java @@ -11,13 +11,13 @@ import io.grpc.ManagedChannel; import io.grpc.stub.AbstractStub; -abstract class GRPCService > implements ApiService { +public abstract class GRPCService > implements ApiService { private static final int MEGABYTE = 1024 * 1024; private static final int MAX_INBOUND_MESSAGE_SIZE = 50 * MEGABYTE; private final T apiBlockingStub; private final ManagedChannel managedChannel; - GRPCService(@NonNull ManagedChannel managedChannel, + protected GRPCService(@NonNull ManagedChannel managedChannel, @NonNull CookieInterceptor cookieInterceptor, @NonNull AuthInterceptor authInterceptor, @NonNull ExecutorService executorService) { @@ -31,10 +31,10 @@ abstract class GRPCService > implements ApiService { } @NonNull - abstract T newBlockingStub(@NonNull ManagedChannel managedChannel); + protected abstract T newBlockingStub(@NonNull ManagedChannel managedChannel); @NonNull - T getApiBlockingStub() { + protected T getApiBlockingStub() { return apiBlockingStub; } diff --git a/android-sdk/src/main/java/com/mobilecoin/lib/AnyClient.java b/android-sdk/src/main/java/com/mobilecoin/lib/AnyClient.java index 66810a99..c01379f6 100644 --- a/android-sdk/src/main/java/com/mobilecoin/lib/AnyClient.java +++ b/android-sdk/src/main/java/com/mobilecoin/lib/AnyClient.java @@ -41,7 +41,7 @@ protected AnyClient(@NonNull LoadBalancer loadBalancer, } @NonNull - final ServiceAPIManager getAPIManager() { + protected final ServiceAPIManager getAPIManager() { return this.serviceAPIManager; } @@ -74,7 +74,7 @@ private MobileCoinUri getNextServiceUri() { } @NonNull - final ClientConfig.Service getServiceConfig() { + public final ClientConfig.Service getServiceConfig() { return serviceConfig; } diff --git a/android-sdk/src/main/java/com/mobilecoin/lib/AttestedClient.java b/android-sdk/src/main/java/com/mobilecoin/lib/AttestedClient.java index acfd64a6..062a9fe2 100644 --- a/android-sdk/src/main/java/com/mobilecoin/lib/AttestedClient.java +++ b/android-sdk/src/main/java/com/mobilecoin/lib/AttestedClient.java @@ -23,7 +23,7 @@ * Base class for attested communication with View/Ledger/Consensus servers */ -abstract class AttestedClient extends AnyClient { +public abstract class AttestedClient extends AnyClient { private final static String TAG = AttestedClient.class.getName(); // How long to wait for the managed connection to gracefully shutdown in milliseconds @@ -41,13 +41,13 @@ protected AttestedClient(@NonNull LoadBalancer loadBalancer, /** * Attest service connection or throw an exception if error occurs. */ - protected abstract void attest(@NonNull Transport transport) + public abstract void attest(@NonNull Transport transport) throws AttestationException, NetworkException; /** * Reset service connection */ - protected synchronized void deattest() { + public synchronized void deattest() { Logger.i(TAG, "De-attesting the managed channel"); attestReset(); } @@ -58,7 +58,7 @@ protected synchronized void deattest() { * * @return whether or no the client is attested */ - protected synchronized boolean isAttested() { + public synchronized boolean isAttested() { Logger.d(TAG, "Is channel attested?", null, (rustObj != 0) ? "Yes" : "No"); return (rustObj != 0); } @@ -69,7 +69,7 @@ protected synchronized boolean isAttested() { * @return encrypted {@link Attest.Message} */ @NonNull - protected synchronized Attest.Message encryptMessage( + public synchronized Attest.Message encryptMessage( @Nullable AbstractMessageLite message, @Nullable AbstractMessageLite aadMessage ) throws AttestationException { @@ -93,7 +93,7 @@ protected synchronized Attest.Message encryptMessage( @Override @NonNull - synchronized Transport getNetworkTransport() throws NetworkException, AttestationException { + public synchronized Transport getNetworkTransport() throws NetworkException, AttestationException { Transport transport = super.getNetworkTransport(); if(!isAttested()) { attest(transport); @@ -102,7 +102,7 @@ synchronized Transport getNetworkTransport() throws NetworkException, Attestatio } @NonNull - protected synchronized Attest.Message encryptMessage(@NonNull AbstractMessageLite message) + public synchronized Attest.Message encryptMessage(@NonNull AbstractMessageLite message) throws AttestationException { return encryptMessage(message, null); } @@ -113,7 +113,7 @@ protected synchronized Attest.Message encryptMessage(@NonNull AbstractMessageLit * @return decrypted {@link Attest.Message} */ @NonNull - protected synchronized Attest.Message decryptMessage(@NonNull Attest.Message message) + public synchronized Attest.Message decryptMessage(@NonNull Attest.Message message) throws AttestationException { Logger.i(TAG, "Decrypt response message"); try { @@ -138,7 +138,7 @@ protected synchronized Attest.Message decryptMessage(@NonNull Attest.Message mes * @param serviceUri must include the port as well */ @NonNull - protected byte[] attestStart(@NonNull MobileCoinUri serviceUri) throws AttestationException { + public byte[] attestStart(@NonNull MobileCoinUri serviceUri) throws AttestationException { Logger.i(TAG, "FFI: attest_start call"); try { ResponderId responderId; @@ -163,7 +163,7 @@ protected byte[] attestStart(@NonNull MobileCoinUri serviceUri) throws Attestati * * @param authResponse an auth response obtained from the attested service */ - protected void attestFinish(@NonNull byte[] authResponse, + public void attestFinish(@NonNull byte[] authResponse, @NonNull Verifier attestVerifier ) throws AttestationException { Logger.i(TAG, "FFI: attest_finish call"); @@ -187,7 +187,7 @@ protected void attestFinish(@NonNull byte[] authResponse, * It is needed to dispose of the invalid pending state, if the attestation was unsuccessful * (i.e. attestation server is unreachable) */ - protected synchronized void attestReset() { + public synchronized void attestReset() { Logger.i(TAG, "Reset attested state"); resetNetworkTransport(); if (rustObj != 0) { diff --git a/android-sdk/src/main/java/com/mobilecoin/lib/AttestedConsensusClient.java b/android-sdk/src/main/java/com/mobilecoin/lib/AttestedConsensusClient.java index ce164617..aa895d5d 100644 --- a/android-sdk/src/main/java/com/mobilecoin/lib/AttestedConsensusClient.java +++ b/android-sdk/src/main/java/com/mobilecoin/lib/AttestedConsensusClient.java @@ -58,7 +58,7 @@ class AttestedConsensusClient extends AttestedClient { * @param transport a channel that requires attestation */ @Override - protected synchronized void attest(@NonNull Transport transport) + public synchronized void attest(@NonNull Transport transport) throws AttestationException, NetworkException { try { Logger.i(TAG, "Attest consensus connection"); diff --git a/android-sdk/src/main/java/com/mobilecoin/lib/AttestedLedgerClient.java b/android-sdk/src/main/java/com/mobilecoin/lib/AttestedLedgerClient.java index 6796277e..0350ac94 100644 --- a/android-sdk/src/main/java/com/mobilecoin/lib/AttestedLedgerClient.java +++ b/android-sdk/src/main/java/com/mobilecoin/lib/AttestedLedgerClient.java @@ -68,7 +68,7 @@ class AttestedLedgerClient extends AttestedClient { * @param transport a channel that requires attestation */ @Override - protected synchronized void attest(@NonNull Transport transport) + public synchronized void attest(@NonNull Transport transport) throws AttestationException, NetworkException { try { Logger.i(TAG, "Attest ledger connection"); diff --git a/android-sdk/src/main/java/com/mobilecoin/lib/AttestedViewClient.java b/android-sdk/src/main/java/com/mobilecoin/lib/AttestedViewClient.java index a48f149c..a2b4e6bf 100644 --- a/android-sdk/src/main/java/com/mobilecoin/lib/AttestedViewClient.java +++ b/android-sdk/src/main/java/com/mobilecoin/lib/AttestedViewClient.java @@ -61,7 +61,7 @@ class AttestedViewClient extends AttestedClient { * @param transport a channel that requires attestation */ @Override - protected synchronized void attest(@NonNull Transport transport) + public synchronized void attest(@NonNull Transport transport) throws AttestationException, NetworkException { try { Logger.i(TAG, "Attest view connection"); diff --git a/android-sdk/src/main/java/com/mobilecoin/lib/LoadBalancer.java b/android-sdk/src/main/java/com/mobilecoin/lib/LoadBalancer.java index a67219f4..b295fe84 100644 --- a/android-sdk/src/main/java/com/mobilecoin/lib/LoadBalancer.java +++ b/android-sdk/src/main/java/com/mobilecoin/lib/LoadBalancer.java @@ -3,7 +3,7 @@ import com.mobilecoin.lib.network.uri.MobileCoinUri; /** Balances server load for MobileCoin services. */ -interface LoadBalancer { +public interface LoadBalancer { /** Returns a new service {@link MobileCoinUri} upon each invocation. */ MobileCoinUri getNextServiceUri(); diff --git a/android-sdk/src/main/java/com/mobilecoin/lib/RandomLoadBalancer.java b/android-sdk/src/main/java/com/mobilecoin/lib/RandomLoadBalancer.java index 386d2b9e..f980b122 100644 --- a/android-sdk/src/main/java/com/mobilecoin/lib/RandomLoadBalancer.java +++ b/android-sdk/src/main/java/com/mobilecoin/lib/RandomLoadBalancer.java @@ -11,7 +11,7 @@ import java.util.Random; /** Chooses a random service {@link Uri} for each client. */ -final class RandomLoadBalancer implements LoadBalancer { +public final class RandomLoadBalancer implements LoadBalancer { private static final Random random = new Random(); @@ -19,14 +19,14 @@ final class RandomLoadBalancer implements LoadBalancer { private int lastUsedUriIndex; - static RandomLoadBalancer create(@NonNull MobileCoinUri serviceUri) { + public static RandomLoadBalancer create(@NonNull MobileCoinUri serviceUri) { List mobileCoinUris = Collections .unmodifiableList(Collections.singletonList(serviceUri)); return new RandomLoadBalancer(mobileCoinUris); } - static RandomLoadBalancer create(@NonNull List serviceUris) { + public static RandomLoadBalancer create(@NonNull List serviceUris) { if (serviceUris.isEmpty()) { throw new IllegalArgumentException("Service uris is empty."); } diff --git a/android-sdk/versions.gradle b/android-sdk/versions.gradle index d8c4cde8..edf9190b 100644 --- a/android-sdk/versions.gradle +++ b/android-sdk/versions.gradle @@ -22,13 +22,13 @@ versions.android = android_versions // Network def network_versions = [:] -network_versions.grpc = '1.54.0' +network_versions.grpc = '1.55.1' network_versions.protobuf = '3.22.0' versions.network = network_versions // JNI def jni_versions = [:] -jni_versions.mobilecoin = '4.1.1' +jni_versions.mobilecoin = '5.0.0' versions.jni = jni_versions // Testing