From 5478a7b992fbf5c74129fc3c2bcb002cd45f25e0 Mon Sep 17 00:00:00 2001 From: Igor Artamonov Date: Thu, 8 Aug 2019 23:08:56 -0400 Subject: [PATCH] problem: exceptions when params are not passed to native call solution: accept as empty params --- src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt b/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt index 9cd34ad0..842ffabb 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt @@ -6,6 +6,7 @@ import io.emeraldpay.api.proto.BlockchainOuterClass import io.emeraldpay.dshackle.upstream.* import io.emeraldpay.grpc.Chain import io.infinitape.etherjar.rpc.RpcException +import org.apache.commons.lang3.StringUtils import org.slf4j.LoggerFactory import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Service @@ -110,6 +111,9 @@ class NativeCall( } private fun extractParams(jsonParams: String): List { + if (StringUtils.isEmpty(jsonParams)) { + return emptyList() + } val req = objectMapper.readValue(jsonParams, List::class.java) return req as List }