From 49d6521bc5c0a9e9821d849b8ff3ea64dd2b7068 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 1 Feb 2019 13:24:39 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../tangem/domain/wallet/rsk/RskTokenEngine.java | 15 +++++++++------ .../tangem/domain/wallet/token/TokenEngine.java | 15 +++++++++------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java b/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java index c31d02069d..af34eef559 100644 --- a/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java +++ b/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java @@ -105,12 +105,15 @@ public class RskTokenEngine extends TokenEngine { // case ServerApiRootstock.ROOTSTOCK_ETH_CALL: { try { - String balanceCap = rootstockResponse.getResult(); - balanceCap = balanceCap.substring(2); - BigInteger l = new BigInteger(balanceCap, 16); - coinData.setBalanceInInternalUnits(new CoinEngine.InternalAmount(l, ctx.getCard().tokenSymbol)); - -// Log.i("$TAG eth_call", balanceCap) + if (validateAddress(getContractAddress(ctx.getCard()))) { + String balanceCap = rootstockResponse.getResult(); + balanceCap = balanceCap.substring(2); + BigInteger l = new BigInteger(balanceCap, 16); + coinData.setBalanceInInternalUnits(new CoinEngine.InternalAmount(l, ctx.getCard().tokenSymbol)); +// Log.i("$TAG eth_call", balanceCap) + } else { + ctx.setError("Smart contract address not defined"); + } if (blockchainRequestsCallbacks.allowAdvance()) { serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); diff --git a/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java b/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java index 8f8f1f856a..cf1fe4ba00 100644 --- a/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java +++ b/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java @@ -679,12 +679,15 @@ public class TokenEngine extends CoinEngine { // case ServerApiInfura.INFURA_ETH_CALL: { try { - String balanceCap = infuraResponse.getResult(); - balanceCap = balanceCap.substring(2); - BigInteger l = new BigInteger(balanceCap, 16); - coinData.setBalanceInInternalUnits(new CoinEngine.InternalAmount(l, ctx.getCard().tokenSymbol)); - -// Log.i("$TAG eth_call", balanceCap) + if (validateAddress(getContractAddress(ctx.getCard()))) { + String balanceCap = infuraResponse.getResult(); + balanceCap = balanceCap.substring(2); + BigInteger l = new BigInteger(balanceCap, 16); + coinData.setBalanceInInternalUnits(new CoinEngine.InternalAmount(l, ctx.getCard().tokenSymbol)); +// Log.i("$TAG eth_call", balanceCap) + } else { + ctx.setError("Smart contract address not defined"); + } if (blockchainRequestsCallbacks.allowAdvance()) { serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_BALANCE, 67, coinData.getWallet(), "", "");