From d59c30757c953706542bc53071af6d36e0ab7683 Mon Sep 17 00:00:00 2001 From: catbref Date: Tue, 29 Dec 2020 12:17:55 +0000 Subject: [PATCH] Fix conversion of double in ElectrumX JSON to long --- src/main/java/org/qortal/crosschain/ElectrumX.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/qortal/crosschain/ElectrumX.java b/src/main/java/org/qortal/crosschain/ElectrumX.java index 55a9a612..b34aa199 100644 --- a/src/main/java/org/qortal/crosschain/ElectrumX.java +++ b/src/main/java/org/qortal/crosschain/ElectrumX.java @@ -1,6 +1,7 @@ package org.qortal.crosschain; import java.io.IOException; +import java.math.BigDecimal; import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; @@ -358,7 +359,7 @@ public class ElectrumX extends BitcoinyBlockchainProvider { JSONObject outputJson = (JSONObject) outputObj; String scriptPubKey = (String) ((JSONObject) outputJson.get("scriptPubKey")).get("hex"); - long value = (long) (((Double) outputJson.get("value")) * 1e8); + long value = BigDecimal.valueOf((Double) outputJson.get("value")).setScale(8).unscaledValue().longValue(); // address too, if present List addresses = null;