diff --git a/app/src/main/java/com/tangem/wallet/ethID/EthIdData.java b/app/src/main/java/com/tangem/wallet/ethID/EthIdData.java index d77b1afdf3..c632f85a76 100644 --- a/app/src/main/java/com/tangem/wallet/ethID/EthIdData.java +++ b/app/src/main/java/com/tangem/wallet/ethID/EthIdData.java @@ -9,7 +9,7 @@ public class EthIdData extends CoinData { private boolean hasApprovalTx = false; private Long approvalAddressNonce; private byte[] CKDpub = null; - private String approvalAddress = "0x74bd17417f07ee8cf89a476fc3cc6ef7b7b140a7"; //default approval address for issuance + private String approvalAddress = null; //default approval address for issuance public boolean isHasApprovalTx() { return hasApprovalTx; diff --git a/app/src/main/java/com/tangem/wallet/ethID/EthIdEngine.java b/app/src/main/java/com/tangem/wallet/ethID/EthIdEngine.java index 060eaa2c5d..c62a51522d 100644 --- a/app/src/main/java/com/tangem/wallet/ethID/EthIdEngine.java +++ b/app/src/main/java/com/tangem/wallet/ethID/EthIdEngine.java @@ -56,12 +56,24 @@ public class EthIdEngine extends CoinEngine { } else { throw new Exception("Invalid type of Blockchain data for " + this.getClass().getSimpleName()); } + defineApprovalAddress(); } public EthIdEngine() { super(); } + private void defineApprovalAddress() { + TangemCard.IDCardData idCardData = ctx.getCard().getIDCardData(); + String approvalAddress; + if (idCardData != null && idCardData.trustedAddress != null) { + approvalAddress = ctx.getCard().getIDCardData().trustedAddress; + } else { + approvalAddress = calculateAddress(approvalPubKey); + } + coinData.setApprovalAddress(approvalAddress); + } + private static int getDecimals() { return 18; } @@ -484,12 +496,6 @@ public class EthIdEngine extends CoinEngine { try { String wallet = calculateAddress(calculateCKDpub(ctx.getCard().getIdHash())); ctx.getCoinData().setWallet(wallet); - - TangemCard.IDCardData idCardData = ctx.getCard().getIDCardData(); - if (idCardData != null && idCardData.trustedAddress != null) { - String approvalAddress = ctx.getCard().getIDCardData().trustedAddress; - coinData.setApprovalAddress(approvalAddress); - } } catch (Exception e) { ctx.getCoinData().setWallet("ERROR"); throw new CardProtocol.TangemException("Can't define wallet address");