diff --git a/dshackle-cli/grpc b/dshackle-cli/grpc index d21e88f5..4ed721cb 160000 --- a/dshackle-cli/grpc +++ b/dshackle-cli/grpc @@ -1 +1 @@ -Subproject commit d21e88f56f5a31fb5619cf9cf36c8649fa998535 +Subproject commit 4ed721cb908a782e4d99c49979087f29b7e5d54a diff --git a/emerald-java-client b/emerald-java-client index 521524b6..39765fd0 160000 --- a/emerald-java-client +++ b/emerald-java-client @@ -1 +1 @@ -Subproject commit 521524b657a9a55dd8fa86950f14aeeac1a0eff8 +Subproject commit 39765fd040f6cb417ad7e4fe7c05b508a2e6ee1a diff --git a/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt b/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt index d492db9c..024030a8 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt @@ -112,7 +112,7 @@ open class NativeCall( .setId(it.id) if (it.isError()) { it.error?.let { error -> - result.setErrorMessage(error.message) + result.setErrorMessage(error.message).setErrorCode(error.id) } } else { result.payload = ByteString.copyFrom(it.result) @@ -145,6 +145,7 @@ open class NativeCall( return BlockchainOuterClass.NativeCallReplyItem.newBuilder() .setSucceed(false) .setErrorMessage(it?.message ?: "Internal error") + .setErrorCode(500) .setId(id) .build() .toMono() diff --git a/src/test/groovy/io/emeraldpay/dshackle/rpc/NativeCallSpec.groovy b/src/test/groovy/io/emeraldpay/dshackle/rpc/NativeCallSpec.groovy index 1d27097a..8a7c9e1d 100644 --- a/src/test/groovy/io/emeraldpay/dshackle/rpc/NativeCallSpec.groovy +++ b/src/test/groovy/io/emeraldpay/dshackle/rpc/NativeCallSpec.groovy @@ -167,6 +167,7 @@ class NativeCallSpec extends Specification { .setSucceed(false) .setErrorMessage("Failed to call 5: test test") .setId(5) + .setErrorCode(500) .build()) .expectComplete() .verify(Duration.ofSeconds(1)) @@ -182,6 +183,7 @@ class NativeCallSpec extends Specification { .expectNext(BlockchainOuterClass.NativeCallReplyItem.newBuilder() .setSucceed(false) .setErrorMessage("test test") + .setErrorCode(500) .build()) .expectComplete() .verify(Duration.ofSeconds(1))