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(), "", "");