From c265fd1969421cf6f96d0ac000853f8ff4d59191 Mon Sep 17 00:00:00 2001 From: Craig Raw Date: Wed, 4 Jun 2025 17:18:31 +0200 Subject: [PATCH] fix cormorant server.version rpc issue --- .../sparrowwallet/sparrow/net/SimpleElectrumServerRpc.java | 2 +- .../net/cormorant/electrum/ElectrumServerService.java | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/sparrowwallet/sparrow/net/SimpleElectrumServerRpc.java b/src/main/java/com/sparrowwallet/sparrow/net/SimpleElectrumServerRpc.java index d660009c..91179334 100644 --- a/src/main/java/com/sparrowwallet/sparrow/net/SimpleElectrumServerRpc.java +++ b/src/main/java/com/sparrowwallet/sparrow/net/SimpleElectrumServerRpc.java @@ -39,7 +39,7 @@ public class SimpleElectrumServerRpc implements ElectrumServerRpc { @Override public List getServerVersion(Transport transport, String clientName, String[] supportedVersions) { - if(Config.get().isLegacyServer()) { + if(Config.get().getServerType() == ServerType.ELECTRUM_SERVER && Config.get().isLegacyServer()) { return getLegacyServerVersion(transport, clientName); } diff --git a/src/main/java/com/sparrowwallet/sparrow/net/cormorant/electrum/ElectrumServerService.java b/src/main/java/com/sparrowwallet/sparrow/net/cormorant/electrum/ElectrumServerService.java index 9a3e71cf..65e3529d 100644 --- a/src/main/java/com/sparrowwallet/sparrow/net/cormorant/electrum/ElectrumServerService.java +++ b/src/main/java/com/sparrowwallet/sparrow/net/cormorant/electrum/ElectrumServerService.java @@ -35,10 +35,11 @@ public class ElectrumServerService { } @JsonRpcMethod("server.version") - public List getServerVersion(@JsonRpcParam("client_name") String clientName, @JsonRpcParam("protocol_version") String protocolVersion) throws UnsupportedVersionException { - Version clientVersion = new Version(protocolVersion); + public List getServerVersion(@JsonRpcParam("client_name") String clientName, @JsonRpcParam("protocol_version") String[] protocolVersion) throws UnsupportedVersionException { + String version = protocolVersion.length > 1 ? protocolVersion[1] : protocolVersion[0]; + Version clientVersion = new Version(version); if(clientVersion.compareTo(VERSION) < 0) { - throw new UnsupportedVersionException(protocolVersion); + throw new UnsupportedVersionException(version); } return List.of(Cormorant.SERVER_NAME + " " + SparrowWallet.APP_VERSION, VERSION.get());