From e1150432df99b6b97150c211436dcfef45ae15b9 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 2 Apr 2020 14:17:04 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../java/com/tangem/wallet/eth/EthEngine.java | 11 ++++--- .../tangem/wallet/matic/MaticTokenEngine.java | 25 ++++++--------- .../java/com/tangem/wallet/rsk/RskEngine.java | 10 +++--- .../com/tangem/wallet/rsk/RskTokenEngine.java | 24 ++++++-------- .../com/tangem/wallet/token/TokenEngine.java | 31 +++++++------------ 5 files changed, 44 insertions(+), 57 deletions(-) diff --git a/app/src/main/java/com/tangem/wallet/eth/EthEngine.java b/app/src/main/java/com/tangem/wallet/eth/EthEngine.java index 8c24e30480..4c31f74772 100644 --- a/app/src/main/java/com/tangem/wallet/eth/EthEngine.java +++ b/app/src/main/java/com/tangem/wallet/eth/EthEngine.java @@ -481,7 +481,6 @@ public class EthEngine extends CoinEngine { BigInteger l = new BigInteger(balanceCap, 16); coinData.setBalanceReceived(true); coinData.setBalanceInInternalUnits(new CoinEngine.InternalAmount(l, "wei")); - // Log.i("$TAG eth_get_balance", balanceCap) } break; @@ -491,8 +490,9 @@ public class EthEngine extends CoinEngine { nonce = nonce.substring(2); BigInteger count = new BigInteger(nonce, 16); coinData.setConfirmedTXCount(count); - - + if (serverApiInfura.isRequestsSequenceCompleted()) { //getting balances after checking for pending to avoid showing old balance as verified + serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); + } // Log.i("$TAG eth_getTransCount", nonce) } break; @@ -502,7 +502,9 @@ public class EthEngine extends CoinEngine { pending = pending.substring(2); BigInteger count = new BigInteger(pending, 16); coinData.setUnconfirmedTXCount(count); - + if (serverApiInfura.isRequestsSequenceCompleted()) { //getting balances after checking for pending to avoid showing old balance as verified + serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); + } // Log.i("$TAG eth_getPendingTxCount", pending) } break; @@ -582,7 +584,6 @@ public class EthEngine extends CoinEngine { }; serverApiBlockcypher.setResponseListener(blockcypherListener); - serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_TRANSACTION_COUNT, 67, coinData.getWallet(), "", ""); serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_PENDING_COUNT, 67, coinData.getWallet(), "", ""); diff --git a/app/src/main/java/com/tangem/wallet/matic/MaticTokenEngine.java b/app/src/main/java/com/tangem/wallet/matic/MaticTokenEngine.java index 6568157b56..713f4b503c 100644 --- a/app/src/main/java/com/tangem/wallet/matic/MaticTokenEngine.java +++ b/app/src/main/java/com/tangem/wallet/matic/MaticTokenEngine.java @@ -109,7 +109,6 @@ public class MaticTokenEngine extends TokenEngine { BigInteger l = new BigInteger(balanceCap, 16); coinData.setBalanceReceived(true); coinData.setBalanceAlterInInternalUnits(new CoinEngine.InternalAmount(l, "wei")); - // Log.i("$TAG eth_get_balance", balanceCap) } break; @@ -119,8 +118,10 @@ public class MaticTokenEngine extends TokenEngine { nonce = nonce.substring(2); BigInteger count = new BigInteger(nonce, 16); coinData.setConfirmedTXCount(count); - - + if (serverApiMatic.isRequestsSequenceCompleted()) { //getting balances after checking for pending to avoid showing old balance as verified + serverApiMatic.requestData(ServerApiMatic.MATIC_ETH_CALL, 67, coinData.getWallet(), getContractAddress(ctx.getCard()), ""); + serverApiMatic.requestData(ServerApiMatic.MATIC_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); + } // Log.i("$TAG eth_getTransCount", nonce) } break; @@ -130,7 +131,10 @@ public class MaticTokenEngine extends TokenEngine { pending = pending.substring(2); BigInteger count = new BigInteger(pending, 16); coinData.setUnconfirmedTXCount(count); - + if (serverApiMatic.isRequestsSequenceCompleted()) { //getting balances after checking for pending to avoid showing old balance as verified + serverApiMatic.requestData(ServerApiMatic.MATIC_ETH_CALL, 67, coinData.getWallet(), getContractAddress(ctx.getCard()), ""); + serverApiMatic.requestData(ServerApiMatic.MATIC_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); + } // Log.i("$TAG eth_getPendingTxCount", pending) } break; @@ -143,16 +147,6 @@ public class MaticTokenEngine extends TokenEngine { BigInteger l = new BigInteger(balanceCap, 16); coinData.setBalanceInInternalUnits(new CoinEngine.InternalAmount(l, ctx.getCard().tokenSymbol)); // Log.i("$TAG eth_call", balanceCap) - - - if (blockchainRequestsCallbacks.allowAdvance()) { - serverApiMatic.requestData(ServerApiMatic.MATIC_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); - serverApiMatic.requestData(ServerApiMatic.MATIC_ETH_GET_TRANSACTION_COUNT, 67, coinData.getWallet(), "", ""); - serverApiMatic.requestData(ServerApiMatic.MATIC_ETH_GET_PENDING_COUNT, 67, coinData.getWallet(), "", ""); - } else { - ctx.setError("Terminated by user"); - } - } catch (Exception e) { e.printStackTrace(); } @@ -181,7 +175,8 @@ public class MaticTokenEngine extends TokenEngine { serverApiMatic.setResponseListener(responseListener); if (validateAddress(getContractAddress(ctx.getCard()))) { - serverApiMatic.requestData(ServerApiMatic.MATIC_ETH_CALL, 67, coinData.getWallet(), getContractAddress(ctx.getCard()), ""); + serverApiMatic.requestData(ServerApiMatic.MATIC_ETH_GET_TRANSACTION_COUNT, 67, coinData.getWallet(), "", ""); + serverApiMatic.requestData(ServerApiMatic.MATIC_ETH_GET_PENDING_COUNT, 67, coinData.getWallet(), "", ""); } else { ctx.setError("Smart contract address not defined"); blockchainRequestsCallbacks.onComplete(false); diff --git a/app/src/main/java/com/tangem/wallet/rsk/RskEngine.java b/app/src/main/java/com/tangem/wallet/rsk/RskEngine.java index d968f05e93..27614e94ea 100644 --- a/app/src/main/java/com/tangem/wallet/rsk/RskEngine.java +++ b/app/src/main/java/com/tangem/wallet/rsk/RskEngine.java @@ -85,8 +85,9 @@ public class RskEngine extends EthEngine { nonce = nonce.substring(2); BigInteger count = new BigInteger(nonce, 16); coinData.setConfirmedTXCount(count); - - + if (serverApiRootstock.isRequestsSequenceCompleted()) { + serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); + } // Log.i("$TAG eth_getTransCount", nonce) } break; @@ -96,7 +97,9 @@ public class RskEngine extends EthEngine { pending = pending.substring(2); BigInteger count = new BigInteger(pending, 16); coinData.setUnconfirmedTXCount(count); - + if (serverApiRootstock.isRequestsSequenceCompleted()) { + serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); + } // Log.i("$TAG eth_getPendingTxCount", pending) } break; @@ -122,7 +125,6 @@ public class RskEngine extends EthEngine { }; serverApiRootstock.setResponseListener(responseListener); - serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_TRANSACTION_COUNT, 67, coinData.getWallet(), "", ""); serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_PENDING_COUNT, 67, coinData.getWallet(), "", ""); } diff --git a/app/src/main/java/com/tangem/wallet/rsk/RskTokenEngine.java b/app/src/main/java/com/tangem/wallet/rsk/RskTokenEngine.java index 0f54555f16..e7ed9eed23 100644 --- a/app/src/main/java/com/tangem/wallet/rsk/RskTokenEngine.java +++ b/app/src/main/java/com/tangem/wallet/rsk/RskTokenEngine.java @@ -82,7 +82,6 @@ public class RskTokenEngine extends TokenEngine { BigInteger l = new BigInteger(balanceCap, 16); coinData.setBalanceReceived(true); coinData.setBalanceAlterInInternalUnits(new CoinEngine.InternalAmount(l, "wei")); - // Log.i("$TAG eth_get_balance", balanceCap) } break; @@ -92,8 +91,10 @@ public class RskTokenEngine extends TokenEngine { nonce = nonce.substring(2); BigInteger count = new BigInteger(nonce, 16); coinData.setConfirmedTXCount(count); - - + if (serverApiRootstock.isRequestsSequenceCompleted()) { //getting balances after checking for pending to avoid showing old balance as verified + serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_CALL, 67, coinData.getWallet(), getContractAddress(ctx.getCard()), ""); + serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); + } // Log.i("$TAG eth_getTransCount", nonce) } break; @@ -103,7 +104,10 @@ public class RskTokenEngine extends TokenEngine { pending = pending.substring(2); BigInteger count = new BigInteger(pending, 16); coinData.setUnconfirmedTXCount(count); - + if (serverApiRootstock.isRequestsSequenceCompleted()) { //getting balances after checking for pending to avoid showing old balance as verified + serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_CALL, 67, coinData.getWallet(), getContractAddress(ctx.getCard()), ""); + serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); + } // Log.i("$TAG eth_getPendingTxCount", pending) } break; @@ -115,15 +119,6 @@ public class RskTokenEngine extends TokenEngine { BigInteger l = new BigInteger(balanceCap, 16); coinData.setBalanceInInternalUnits(new CoinEngine.InternalAmount(l, ctx.getCard().tokenSymbol)); // Log.i("$TAG eth_call", balanceCap) - - if (blockchainRequestsCallbacks.allowAdvance()) { - serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); - serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_TRANSACTION_COUNT, 67, coinData.getWallet(), "", ""); - serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_PENDING_COUNT, 67, coinData.getWallet(), "", ""); - } else { - ctx.setError("Terminated by user"); - } - } catch (Exception e) { e.printStackTrace(); } @@ -152,7 +147,8 @@ public class RskTokenEngine extends TokenEngine { serverApiRootstock.setResponseListener(responseListener); if (validateAddress(getContractAddress(ctx.getCard()))) { - serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_CALL, 67, coinData.getWallet(), getContractAddress(ctx.getCard()), ""); + serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_TRANSACTION_COUNT, 67, coinData.getWallet(), "", ""); + serverApiRootstock.requestData(ServerApiRootstock.ROOTSTOCK_ETH_GET_PENDING_COUNT, 67, coinData.getWallet(), "", ""); } else { ctx.setError("Smart contract address not defined"); blockchainRequestsCallbacks.onComplete(false); diff --git a/app/src/main/java/com/tangem/wallet/token/TokenEngine.java b/app/src/main/java/com/tangem/wallet/token/TokenEngine.java index d36abf0480..7668f0fcae 100644 --- a/app/src/main/java/com/tangem/wallet/token/TokenEngine.java +++ b/app/src/main/java/com/tangem/wallet/token/TokenEngine.java @@ -655,7 +655,6 @@ public class TokenEngine extends CoinEngine { BigInteger l = new BigInteger(balanceCap, 16); coinData.setBalanceReceived(true); coinData.setBalanceAlterInInternalUnits(new CoinEngine.InternalAmount(l, "wei")); - // Log.i("$TAG eth_get_balance", balanceCap) } break; @@ -665,8 +664,10 @@ public class TokenEngine extends CoinEngine { nonce = nonce.substring(2); BigInteger count = new BigInteger(nonce, 16); coinData.setConfirmedTXCount(count); - - + if (serverApiInfura.isRequestsSequenceCompleted()) { //getting balances after checking for pending to avoid showing old balance as verified + serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_CALL, 67, coinData.getWallet(), getContractAddress(ctx.getCard()), ""); + serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); + } // Log.i("$TAG eth_getTransCount", nonce) } break; @@ -676,29 +677,21 @@ public class TokenEngine extends CoinEngine { pending = pending.substring(2); BigInteger count = new BigInteger(pending, 16); coinData.setUnconfirmedTXCount(count); - + if (serverApiInfura.isRequestsSequenceCompleted()) { //getting balances after checking for pending to avoid showing old balance as verified + serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_CALL, 67, coinData.getWallet(), getContractAddress(ctx.getCard()), ""); + serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); + } // Log.i("$TAG eth_getPendingTxCount", pending) } break; // 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 (blockchainRequestsCallbacks.allowAdvance()) { - serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_BALANCE, 67, coinData.getWallet(), "", ""); - serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_TRANSACTION_COUNT, 67, coinData.getWallet(), "", ""); - serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_PENDING_COUNT, 67, coinData.getWallet(), "", ""); - } else { - ctx.setError("Terminated by user"); - } - } catch (Exception e) { e.printStackTrace(); } @@ -706,7 +699,7 @@ public class TokenEngine extends CoinEngine { break; } - if (serverApiInfura.isRequestsSequenceCompleted()&& serverApiBlockcypher.isRequestsSequenceCompleted()) { + if (serverApiInfura.isRequestsSequenceCompleted() && serverApiBlockcypher.isRequestsSequenceCompleted()) { blockchainRequestsCallbacks.onComplete(!ctx.hasError()); } else { blockchainRequestsCallbacks.onProgress(); @@ -771,13 +764,13 @@ public class TokenEngine extends CoinEngine { serverApiBlockcypher.setResponseListener(blockcypherListener); if (validateAddress(getContractAddress(ctx.getCard()))) { - serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_CALL, 67, coinData.getWallet(), getContractAddress(ctx.getCard()), ""); + serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_TRANSACTION_COUNT, 67, coinData.getWallet(), "", ""); + serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_PENDING_COUNT, 67, coinData.getWallet(), "", ""); + serverApiBlockcypher.requestData(ctx.getBlockchain().getID(), ServerApiBlockcypher.BLOCKCYPHER_ADDRESS, ctx.getCoinData().getWallet(), ""); } else { ctx.setError("Smart contract address not defined"); blockchainRequestsCallbacks.onComplete(false); } - - serverApiBlockcypher.requestData(ctx.getBlockchain().getID(), ServerApiBlockcypher.BLOCKCYPHER_ADDRESS, ctx.getCoinData().getWallet(), ""); } @Override