From 15082abb65c8cffea995c27885fc6fa6b0aad89a Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 18 Mar 2020 14:19:05 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../main/java/com/tangem/wallet/xrp/XrpEngine.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java b/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java index f6941d71fc..975155be4e 100644 --- a/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java +++ b/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java @@ -342,21 +342,23 @@ public class XrpEngine extends CoinEngine { public SignTask.TransactionToSign constructTransaction(Amount amountValue, Amount feeValue, boolean IncFee, String targetAddress) throws Exception { checkBlockchainDataExists(); - Amount reserve = convertToAmount(coinData.getReserveInInternalUnits()); - if (!coinData.isTargetAccountCreated() && amountValue.compareTo(reserve) < 0) { - throw new Exception("Target account is not created. Amount should be " + reserve.toDescriptionString(getDecimals()) + " or more"); - } - String amount, fee; if (IncFee) { amount = convertToInternalAmount(amountValue).subtract(convertToInternalAmount(feeValue)).setScale(0).toPlainString(); } else { - amount = Long.toString(convertToInternalAmount(amountValue).longValueExact()); + amount = Long.toString(convertToInternalAmount(amountValue).longValue()); } fee = Long.toString(convertToInternalAmount(feeValue).longValueExact()); + if (!coinData.isTargetAccountCreated() && + Long.valueOf(amount).compareTo(coinData.getReserveInInternalUnits().longValue()) < 0 + ) { + String reserveDescription = convertToAmount(coinData.getReserveInInternalUnits()).toDescriptionString(getDecimals()); + throw new Exception("Target account is not created. Amount should be " + reserveDescription + " or more"); + } + XrpPayment payment = new XrpPayment(); // Put `as` AccountID field Account, `Object` o