From 15082abb65c8cffea995c27885fc6fa6b0aad89a Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 18 Mar 2020 14:19:05 +0300 Subject: [PATCH 1/3] 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 From 337d58c8d3ea51c26e95ae68decdbbc5214b589f Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 18 Mar 2020 15:10:22 +0300 Subject: [PATCH 2/3] Updated on 2026-08-14 --- app/src/main/java/com/tangem/wallet/bch/BtcCashEngine.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/tangem/wallet/bch/BtcCashEngine.java b/app/src/main/java/com/tangem/wallet/bch/BtcCashEngine.java index 2be3abdcac..4c126fbc3f 100644 --- a/app/src/main/java/com/tangem/wallet/bch/BtcCashEngine.java +++ b/app/src/main/java/com/tangem/wallet/bch/BtcCashEngine.java @@ -141,7 +141,7 @@ public class BtcCashEngine extends CoinEngine { @Override public Uri getWalletExplorerUri() { - return Uri.parse("https://api.blockchair.com/bitcoin-cash/dashboards/address/" + ctx.getCoinData().getWallet()); + return Uri.parse("https://blockchair.com/bitcoin-cash/address/" + ctx.getCoinData().getWallet()); } @Override From c995e6cfe792a2aca62b7d212b8d39da3dfa71d6 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 18 Mar 2020 18:36:56 +0300 Subject: [PATCH 3/3] Updated on 2026-08-14 --- app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java | 2 +- .../java/com/tangem/ui/SignTransactionFragment.kt | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) 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 975155be4e..ff06160ba2 100644 --- a/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java +++ b/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java @@ -356,7 +356,7 @@ public class XrpEngine extends CoinEngine { 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"); + throw new IllegalArgumentException("Target account is not created. Send " + reserveDescription + " or more to create"); } XrpPayment payment = new XrpPayment(); diff --git a/app/src/tangemAccess/java/com/tangem/ui/SignTransactionFragment.kt b/app/src/tangemAccess/java/com/tangem/ui/SignTransactionFragment.kt index 2117c6a9a6..8429ec1e2e 100644 --- a/app/src/tangemAccess/java/com/tangem/ui/SignTransactionFragment.kt +++ b/app/src/tangemAccess/java/com/tangem/ui/SignTransactionFragment.kt @@ -34,6 +34,7 @@ import com.tangem.wallet.TangemContext import kotlinx.android.synthetic.main.layout_progress_horizontal.* import kotlinx.android.synthetic.main.layout_touch_card.* import kotlinx.android.synthetic.tangemAccess.fragment_sign_transaction.* +import java.lang.IllegalArgumentException class SignTransactionFragment : BaseFragment(), NavigationResultListener, @@ -148,6 +149,10 @@ class SignTransactionFragment : BaseFragment(), NavigationResultListener, } catch (e: Exception) { e.printStackTrace() } + } catch(e: IllegalArgumentException) { + val data = Bundle() + data.putString(Constant.EXTRA_MESSAGE, e.message) + navigateBackWithResult(Activity.RESULT_CANCELED, data, R.id.loadedWalletFragment) } catch (e: Exception) { e.printStackTrace() }