diff --git a/java/build.gradle b/java/build.gradle index 962873402..fc0082bd1 100644 --- a/java/build.gradle +++ b/java/build.gradle @@ -61,11 +61,11 @@ dependencies { implementation 'com.google.protobuf:protobuf-java-util:3.19.1' implementation group: 'net.java.dev.jna', name: 'jna', version: '5.8.0' - implementation 'io.grpc:protoc-gen-grpc-java:1.42.1' implementation 'io.grpc:grpc-netty-shaded:1.42.1' implementation 'io.grpc:grpc-protobuf:1.42.1' - implementation 'io.grpc:grpc-stub:1.42.1' - implementation 'ky.korins:blake3_3:2.9.0' + implementation 'io.grpc:grpc-stub:1.42.1' // This has to match the version of protoc-gen-grpc-java used in `sdk/devops/generate_proto_files.py` + // https://mvnrepository.com/artifact/io.github.rctcwyvrn/blake3 + implementation 'io.github.rctcwyvrn:blake3:1.3' implementation 'io.leonard:base58:0.0.2' compileOnly 'org.apache.tomcat:annotations-api:6.0.53' // necessary for Java 9+ diff --git a/java/src/main/java/trinsic/security/OberonSecurityProvider.java b/java/src/main/java/trinsic/security/OberonSecurityProvider.java index 35d78492c..81f20231a 100644 --- a/java/src/main/java/trinsic/security/OberonSecurityProvider.java +++ b/java/src/main/java/trinsic/security/OberonSecurityProvider.java @@ -3,7 +3,7 @@ import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.Message; -import ky.korins.blake3.Blake3; +import io.github.rctcwyvrn.blake3.Blake3; import trinsic.okapi.DidException; import trinsic.okapi.Oberon; import trinsic.okapi.security.v1.Security; @@ -21,7 +21,9 @@ public String GetAuthHeader(Account.AccountProfile accountProfile, Message messa // compute the hash of the request and return the result var bytes = message.toByteArray(); - var messageHash = Blake3.newHasher().update(bytes).done(64); + var hasher = Blake3.newInstance(); + hasher.update(bytes); + var messageHash = hasher.digest(64); var nonce = CommonOuterClass.Nonce.newBuilder() .setTimestamp(Instant.now().toEpochMilli()) diff --git a/java/src/main/java/trinsic/services/ServiceBase.java b/java/src/main/java/trinsic/services/ServiceBase.java index 2a5595db2..af0ce09cc 100644 --- a/java/src/main/java/trinsic/services/ServiceBase.java +++ b/java/src/main/java/trinsic/services/ServiceBase.java @@ -2,6 +2,7 @@ import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.Message; +import io.grpc.Channel; import io.grpc.ManagedChannel; import io.grpc.Metadata; import trinsic.TrinsicUtilities; @@ -15,7 +16,7 @@ public abstract class ServiceBase { private Account.AccountProfile profile = null; private CommonOuterClass.ServerConfig configuration = null; private ManagedChannel channel = null; - private ISecurityProvider securityProvider = new OberonSecurityProvider(); + private final ISecurityProvider securityProvider = new OberonSecurityProvider(); protected ServiceBase(Account.AccountProfile accountProfile, CommonOuterClass.ServerConfig serverConfig) { this.profile = accountProfile; @@ -50,7 +51,7 @@ public CommonOuterClass.ServerConfig getConfiguration() { return this.configuration; } - public ManagedChannel getChannel() { + public Channel getChannel() { return this.channel; } diff --git a/java/src/main/java/trinsic/services/account/v1/AccountServiceGrpc.java b/java/src/main/java/trinsic/services/account/v1/AccountServiceGrpc.java index 17ab095fa..44c7fc901 100644 --- a/java/src/main/java/trinsic/services/account/v1/AccountServiceGrpc.java +++ b/java/src/main/java/trinsic/services/account/v1/AccountServiceGrpc.java @@ -5,14 +5,14 @@ /** */ @javax.annotation.Generated( - value = "by gRPC proto compiler (version 1.41.0)", + value = "by gRPC proto compiler (version 1.42.1)", comments = "Source: services/account/v1/account.proto") @io.grpc.stub.annotations.GrpcGenerated public final class AccountServiceGrpc { private AccountServiceGrpc() {} - public static final String SERVICE_NAME = "services.account.v1.trinsic.services.AccountService"; + public static final String SERVICE_NAME = "services.account.v1.AccountService"; // Static method descriptors that strictly reflect the proto. private static volatile io.grpc.MethodDescriptor accountService.buildMetadata(null)); @@ -59,6 +59,6 @@ private void createAndShutdownChannel(String myAddress) throws MalformedURLExcep @Test public void testTrinsicServiceDemo() throws IOException, DidException { - new VaccineDemo().run(); + VaccineDemo.run(); } } \ No newline at end of file diff --git a/java/src/test/java/VaccineDemo.java b/java/src/test/java/VaccineDemo.java index 13dfcba7f..3dbbaf90e 100644 --- a/java/src/test/java/VaccineDemo.java +++ b/java/src/test/java/VaccineDemo.java @@ -25,6 +25,7 @@ public static void main(String[] args) throws IOException, DidException { public static void run() throws IOException, DidException { // createService() { var serverConfig = TrinsicUtilities.getTestServerConfig(); + System.out.println("Connecting to:\n" + serverConfig); var accountService = new AccountService(null, serverConfig); // } @@ -82,6 +83,10 @@ public static void run() throws IOException, DidException { System.out.println("Verification result: " + isValid); Assertions.assertTrue(isValid); // } + + accountService.shutdown(); + credentialsService.shutdown(); + walletService.shutdown(); } // pathData() { diff --git a/python/trinsic/proto/services/account/v1/__init__.py b/python/trinsic/proto/services/account/v1/__init__.py index b9690215d..acae6654b 100644 --- a/python/trinsic/proto/services/account/v1/__init__.py +++ b/python/trinsic/proto/services/account/v1/__init__.py @@ -138,8 +138,6 @@ async def sign_in( request.details = details request.invitation_code = invitation_code - b = bytes(request) - return await self._unary_unary( "/services.account.v1.AccountService/SignIn", request, SignInResponse )