diff --git a/app/src/main/java/com/tangem/data/network/Server.java b/app/src/main/java/com/tangem/data/network/Server.java
index 7faeceac91..b3888337bf 100644
--- a/app/src/main/java/com/tangem/data/network/Server.java
+++ b/app/src/main/java/com/tangem/data/network/Server.java
@@ -1,7 +1,5 @@
package com.tangem.data.network;
-import static com.tangem.data.network.Server.ApiTangem.URL_TANGEM;
-
public class Server {
/**
diff --git a/app/src/main/java/com/tangem/data/network/ServerApiHelper.java b/app/src/main/java/com/tangem/data/network/ServerApiHelper.java
index 875333f871..ee6ca12f04 100644
--- a/app/src/main/java/com/tangem/data/network/ServerApiHelper.java
+++ b/app/src/main/java/com/tangem/data/network/ServerApiHelper.java
@@ -113,9 +113,11 @@ public class ServerApiHelper {
* Infura
*
* eth_getBalance
+ * eth_getTransactionCount
* eth_gasPrice
*/
public static final String INFURA_ETH_GET_BALANCE = "eth_getBalance";
+ public static final String INFURA_ETH_GET_TRANSACTION_COUNT = "eth_getTransactionCount";
public static final String INFURA_ETH_GAS_PRICE = "eth_gasPrice";
private InfuraBodyListener infuraBodyListener;
@@ -138,6 +140,7 @@ public class ServerApiHelper {
InfuraBody infuraBody;
switch (method) {
case INFURA_ETH_GET_BALANCE:
+ case INFURA_ETH_GET_TRANSACTION_COUNT:
infuraBody = new InfuraBody(method, new String[]{wallet, "latest"}, id);
break;
@@ -246,11 +249,12 @@ public class ServerApiHelper {
for (RateInfoResponse rateInfoMode : rateInfoModelList) {
if (rateInfoMode.getId().equals(cryptoId)) {
rateInfoDataListener.onRateInfoDataData(rateInfoMode);
- Log.i("rateInfoData", rateInfoMode.getId());
- Log.i("rateInfoData", rateInfoMode.getPriceUsd());
+ Log.i(TAG, "rateInfoData " + cryptoId + " onResponse " + "200");
}
}
- }
+ } else
+ Log.e(TAG, "rateInfoData " + cryptoId + " onResponse " + "Empty");
+
},
// handle error
Throwable::printStackTrace);
@@ -411,7 +415,7 @@ public class ServerApiHelper {
call.enqueue(new Callback() {
@Override
public void onResponse(@NonNull Call call, @NonNull Response response) {
- Log.i(TAG, "LastVersion onResponse " + response.code());
+ Log.i(TAG, "lastVersion onResponse " + response.code());
if (response.code() == 200) {
String stringResponse;
try {
@@ -425,7 +429,7 @@ public class ServerApiHelper {
@Override
public void onFailure(@NonNull Call call, @NonNull Throwable t) {
- Log.e(TAG, "LastVersion onFailure " + t.getMessage());
+ Log.e(TAG, "lastVersion onFailure " + t.getMessage());
}
});
diff --git a/app/src/main/java/com/tangem/data/network/task/loaded_wallet/ETHRequestTask.java b/app/src/main/java/com/tangem/data/network/task/loaded_wallet/ETHRequestTask.java
index 9d384730d3..1ebcb0ce34 100644
--- a/app/src/main/java/com/tangem/data/network/task/loaded_wallet/ETHRequestTask.java
+++ b/app/src/main/java/com/tangem/data/network/task/loaded_wallet/ETHRequestTask.java
@@ -77,7 +77,7 @@ public class ETHRequestTask extends InfuraTask {
nonce = nonce.substring(2);
BigInteger count = new BigInteger(nonce, 16);
- loadedWallet.getCard().SetConfirmTXCount(count);
+ loadedWallet.getCard().setConfirmTXCount(count);
} catch (JSONException e) {
e.printStackTrace();
}
@@ -107,7 +107,7 @@ public class ETHRequestTask extends InfuraTask {
BigInteger nonce = loadedWallet.getCard().GetConfirmTXCount();
nonce.add(BigInteger.valueOf(1));
- loadedWallet.getCard().SetConfirmTXCount(nonce);
+ loadedWallet.getCard().setConfirmTXCount(nonce);
Log.e("TX_RESULT", hashTX);
} catch (Exception e) {
diff --git a/app/src/main/java/com/tangem/data/network/task/send_transaction/ETHRequestTask.java b/app/src/main/java/com/tangem/data/network/task/send_transaction/ETHRequestTask.java
index 76789405a9..b1b983f96c 100644
--- a/app/src/main/java/com/tangem/data/network/task/send_transaction/ETHRequestTask.java
+++ b/app/src/main/java/com/tangem/data/network/task/send_transaction/ETHRequestTask.java
@@ -56,7 +56,7 @@ public class ETHRequestTask extends InfuraTask {
LastSignStorage.setLastMessage(sendTransactionActivity.getCard().getWallet(), "");
BigInteger nonce = sendTransactionActivity.getCard().GetConfirmTXCount();
nonce.add(BigInteger.valueOf(1));
- sendTransactionActivity.getCard().SetConfirmTXCount(nonce);
+ sendTransactionActivity.getCard().setConfirmTXCount(nonce);
Log.e("TX_RESULT", hashTX);
sendTransactionActivity.finishWithSuccess();
} catch (Exception e) {
diff --git a/app/src/main/java/com/tangem/domain/wallet/TangemCard.java b/app/src/main/java/com/tangem/domain/wallet/TangemCard.java
index 20049ecdd8..87a6308132 100644
--- a/app/src/main/java/com/tangem/domain/wallet/TangemCard.java
+++ b/app/src/main/java/com/tangem/domain/wallet/TangemCard.java
@@ -56,7 +56,7 @@ public class TangemCard {
return countConfirmTX;
}
- public void SetConfirmTXCount(BigInteger count) {
+ public void setConfirmTXCount(BigInteger count) {
countConfirmTX = count;
}
diff --git a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt
index f39a8395b2..02948b4f80 100644
--- a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt
+++ b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt
@@ -240,11 +240,31 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
// Log.i(TAG, "setRateInfoData $rate")
}
- // request eth get balance listener
+ // request eth get balance, eth get transaction count listener
serverApiHelper!!.setInfura { method, infuraResponse ->
if (method == ServerApiHelper.INFURA_ETH_GET_BALANCE) {
+ var balanceCap = infuraResponse.result
+ balanceCap = balanceCap.substring(2)
+ val l = BigInteger(balanceCap, 16)
+ val d = l.divide(BigInteger("1000000000000000000", 10))
+ val balance = d.toLong()
-// Log.i("eth_get_balance", gasPrice)
+ card!!.setBalanceConfirmed(balance)
+ card!!.balanceUnconfirmed = 0L
+ if (card!!.blockchain != Blockchain.Token)
+ card!!.decimalBalance = l.toString(10)
+ card!!.decimalBalanceAlter = l.toString(10)
+
+// Log.i("eth_get_balance", balanceCap)
+ }
+
+ if (method == ServerApiHelper.INFURA_ETH_GET_TRANSACTION_COUNT) {
+ var nonce = infuraResponse.result
+ nonce = nonce.substring(2)
+ val count = BigInteger(nonce, 16)
+ card!!.setConfirmTXCount(count)
+
+// Log.i("eth_getTransactionCount", nonce)
}
}
}
@@ -661,37 +681,48 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
// Ethereum
else if (card!!.blockchain == Blockchain.Ethereum || card!!.blockchain == Blockchain.EthereumTestNet) {
-// requestInfura(ServerApiHelper.INFURA_ETH_GET_BALANCE)
+ requestInfura(ServerApiHelper.INFURA_ETH_GET_BALANCE)
+ requestInfura(ServerApiHelper.INFURA_ETH_GET_TRANSACTION_COUNT)
- val updateETH = ETHRequestTask(this@LoadedWallet, card!!.blockchain)
- val reqETH = InfuraRequest.GetBalance(card!!.wallet)
- reqETH.id = 67
- reqETH.setBlockchain(card!!.blockchain)
+// val updateETH = ETHRequestTask(this@LoadedWallet, card!!.blockchain)
- val reqNonce = InfuraRequest.GetOutTransactionCount(card!!.wallet)
- reqNonce.id = 67
- reqNonce.setBlockchain(card!!.blockchain)
+// val reqETH = InfuraRequest.GetBalance(card!!.wallet)
+// reqETH.id = 67
+// reqETH.setBlockchain(card!!.blockchain)
- updateETH.execute(reqETH, reqNonce)
+// val reqNonce = InfuraRequest.GetOutTransactionCount(card!!.wallet)
+// reqNonce.id = 67
+// reqNonce.setBlockchain(card!!.blockchain)
+
+// updateETH.execute(reqETH, reqNonce)
+// updateETH.execute(reqNonce)
requestRateInfo("ethereum")
}
// Token
else if (card!!.blockchain == Blockchain.Token) {
+
val updateETH = ETHRequestTask(this@LoadedWallet, card!!.blockchain)
+
val reqETH = InfuraRequest.GetTokenBalance(card!!.wallet, engine!!.getContractAddress(card), engine.getTokenDecimals(card))
reqETH.id = 67
reqETH.setBlockchain(card!!.blockchain)
- val reqBalance = InfuraRequest.GetBalance(card!!.wallet)
- reqBalance.id = 67
- reqBalance.setBlockchain(card!!.blockchain)
+ requestInfura(ServerApiHelper.INFURA_ETH_GET_BALANCE)
- val reqNonce = InfuraRequest.GetOutTransactionCount(card!!.wallet)
- reqNonce.id = 67
- reqNonce.setBlockchain(card!!.blockchain)
- updateETH.execute(reqETH, reqNonce, reqBalance)
+ requestInfura(ServerApiHelper.INFURA_ETH_GET_TRANSACTION_COUNT)
+
+// val reqBalance = InfuraRequest.GetBalance(card!!.wallet)
+// reqBalance.id = 67
+// reqBalance.setBlockchain(card!!.blockchain)
+
+// val reqNonce = InfuraRequest.GetOutTransactionCount(card!!.wallet)
+// reqNonce.id = 67
+// reqNonce.setBlockchain(card!!.blockchain)
+
+// updateETH.execute(reqETH, reqNonce, reqBalance)
+ updateETH.execute(reqETH)
requestRateInfo("ethereum")
}