From 1bb12cd0ebdc7cd4e5917e7c6e9f380823e0fb51 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 6 Apr 2020 18:18:54 +0300 Subject: [PATCH 1/7] Updated on 2026-08-14 --- .../main/java/com/tangem/data/Blockchain.java | 39 +++++------------- .../tangem/ui/fragment/VerifyCardFragment.kt | 2 +- .../src/main/res/drawable/ic_logo_rif.png | Bin 0 -> 1701 bytes 3 files changed, 11 insertions(+), 30 deletions(-) create mode 100644 tangem-sdk-old/src/main/res/drawable/ic_logo_rif.png diff --git a/app/src/main/java/com/tangem/data/Blockchain.java b/app/src/main/java/com/tangem/data/Blockchain.java index c9747e62f8..ed1ab10387 100644 --- a/app/src/main/java/com/tangem/data/Blockchain.java +++ b/app/src/main/java/com/tangem/data/Blockchain.java @@ -20,7 +20,7 @@ public enum Blockchain { Rootstock("RSK", "RBTC", 1.0, R.drawable.tangem2, "RSK"), RootstockToken("RskToken", "RBTC", 1.0, R.drawable.tangem2, "RSK"), Cardano("CARDANO", "ADA", 1000000.0, R.drawable.tangem2, "Cardano"), - Ripple ("XRP", "XRP", 1000000.0, R.drawable.ic_logo_xrp, "XRP"), + Ripple("XRP", "XRP", 1000000.0, R.drawable.ic_logo_xrp, "XRP"), Binance("BINANCE", "BNB", 100000000.0, R.drawable.ic_logo_binance, "Binance"), BinanceTestNet("BINANCE/test", "BNB", 100000000.0, R.drawable.ic_logo_binance, "Binance Testnet"), Matic("MATIC", "MTX", 1.0, R.drawable.tangem2, "Matic"), @@ -89,37 +89,18 @@ public enum Blockchain { return mImageResource; } - public int getImageResource(android.content.Context context, String name) { - if (name==null || name.isEmpty()) - return getImageResource(); - - name = name.toLowerCase(); - - int resourceId = context.getResources().getIdentifier(name + "_token", "drawable", context.getPackageName()); - - if (resourceId <= 0) - return R.drawable.ic_logo_ethereum; - return resourceId; - } - - public static int getLogoImageResource(String blockchainID, String symbolName) { - switch (blockchainID) { - case "BTC": - return R.drawable.ic_logo_bitcoin; - - case "Token": + public int getLogoImageResource(String symbolName) { + switch (this) { + case Token: if (symbolName.equals("SEED")) return R.drawable.ic_logo_seed; - else - return R.drawable.ic_logo_ethereum; - - case "ETH": - return R.drawable.ic_logo_ethereum; - - case "XLM": - return R.drawable.ic_logo_stellar; + break; + case RootstockToken: + if (symbolName.equals("RIF")) + return R.drawable.ic_logo_rif; } - return R.drawable.tangem2; + + return getImageResource(); } } diff --git a/app/src/main/java/com/tangem/ui/fragment/VerifyCardFragment.kt b/app/src/main/java/com/tangem/ui/fragment/VerifyCardFragment.kt index 1272905501..7e26ac59ae 100644 --- a/app/src/main/java/com/tangem/ui/fragment/VerifyCardFragment.kt +++ b/app/src/main/java/com/tangem/ui/fragment/VerifyCardFragment.kt @@ -281,7 +281,7 @@ class VerifyCardFragment : BaseFragment(), NavigationResultListener, NfcAdapter. tvInputs.text = engine!!.unspentInputsDescription - ivBlockchain.setImageResource(Blockchain.getLogoImageResource(ctx.card!!.blockchainID, ctx.card!!.tokenSymbol)) + ivBlockchain.setImageResource(ctx.blockchain.getLogoImageResource(ctx.card!!.tokenSymbol)) var s = "" for (signingM in ctx.card!!.allowedSigningMethod) { diff --git a/tangem-sdk-old/src/main/res/drawable/ic_logo_rif.png b/tangem-sdk-old/src/main/res/drawable/ic_logo_rif.png new file mode 100644 index 0000000000000000000000000000000000000000..3569ef0433d98728575aac56e62c79aa03b6b259 GIT binary patch literal 1701 zcma)6c~H`M6i1^KE04BAYjt&Vw`N)=8CMOp$SupN8)qL_8;(5N<+5*|RcfLm_XlY6GIP0XkD^sZL-Bl=?U*x-@4q{e6Q@Qwo#?y$UmuLgd1VZwnbXOmCc z?HR}0Rj}sk-?O~!Eg@iI+7}$NIXF3mG8b=#!&Y^()jTv~LCa0x{|N2xMU}2JEH({} zpR_OZMAO6}QcWVXuVt4ENtJ_x1dAM}*zpq^L>V6wz!4Zx!c* zmTT~kX}^}ScgVE(+|59_$+^PuRATOFy||2?Gr`jN%|{7ULYSAe@f(8swoxk7Lyaox z$B?Ofg#{hy_!&oM1&UZ(TTXwZbf&BG)nLvL@B?O1%k{`3w*G1(lR_!g)w|yo>vBHO zU|zp?%b7^tzO%!ABkjuSIx z+KqP4Y3Ta;_ia65@{}cKthxmjEgbV#Y51U_deJ&a7Ppa+YTB*Laf3B4+jc+N9|!_(_10&v|xKhkk%RBvtL z@?WT*fFE8$6b=7i7%ns9z2^e$$8nrc)I&p&QuG9C&X3Rle}kSJnW3yzFaV{rR{MW* zC~ft)W?`wmD}g_ZSYp&G<6XhdLq6c&Q-cKdEIkBYMt4JB{5HE|a{FjE%mmON2z1Ra z8D6j{HHG3VzNWod-&6||Mex~E^W9*4+rh#E*yZr3GvO9t_C?bJW08)KBrf0Ci+8o_ z#kEzH#Upu#&f^i4?#ZqkQM#^5Nkf$_nSJA-8Y0?ETBb&Blay;83suEgJ2b6x5PT00 zUie+1n*?V_Nc`x{feRHHsQ4wS$OA#9HY!T{CXrBzsCs`Rg1o|0SOwazoBB zXL-}H_vu)6c>_wn&CY7^HZZevZ@N2Pa&*?35U}huY5j3EF-sm%AbD-%PAv2a{d;HL zs#Qh!dil?|OsA5yE;tPlYX)es#85w|$oilyfm~>&nvLqAj3zd5#Cw% zTA_+vy>I&E4MOw&^XK+KW98c^wPy0|lr+(INR7&yi*Dhlbd*qV-F5UOBxW$d`-1@~Gx3>Reb%tgJvMXJ^HPF6uZuZy|i`0L{#6g>0 zSZp|{J2wy6Fay4Iw_c5L+QNURNJ*jK8|fB8WxP{TZ&jS$5GGVzhxYfNO3l(xl!pp8 v2b$xJD8>|fU8x(-fPE*v Date: Mon, 6 Apr 2020 18:31:39 +0300 Subject: [PATCH 2/7] Updated on 2026-08-14 --- app/src/main/java/com/tangem/wallet/xlm/XlmAssetEngine.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/tangem/wallet/xlm/XlmAssetEngine.java b/app/src/main/java/com/tangem/wallet/xlm/XlmAssetEngine.java index eee75cd22c..c003f24b18 100644 --- a/app/src/main/java/com/tangem/wallet/xlm/XlmAssetEngine.java +++ b/app/src/main/java/com/tangem/wallet/xlm/XlmAssetEngine.java @@ -109,8 +109,8 @@ public class XlmAssetEngine extends CoinEngine { @Override public boolean isBalanceNotZero() { if (coinData == null) return false; - return (coinData.getXlmBalance() != null && coinData.getXlmBalance().notZero() && - coinData.getAssetBalance() != null && coinData.getAssetBalance().notZero()); + return (coinData.getXlmBalance() != null && coinData.getXlmBalance().notZero()) || + (coinData.getAssetBalance() != null && coinData.getAssetBalance().notZero()); } @Override From bd1b816eefdfb82852d220c9b36a5a5c7481f97d Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 6 Apr 2020 20:33:32 +0300 Subject: [PATCH 3/7] Updated on 2026-08-14 --- .../main/java/com/tangem/wallet/flowDemo/FlowDemoEngine.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/tangem/wallet/flowDemo/FlowDemoEngine.kt b/app/src/main/java/com/tangem/wallet/flowDemo/FlowDemoEngine.kt index 87e22d2162..b148c70fe9 100644 --- a/app/src/main/java/com/tangem/wallet/flowDemo/FlowDemoEngine.kt +++ b/app/src/main/java/com/tangem/wallet/flowDemo/FlowDemoEngine.kt @@ -7,14 +7,11 @@ import com.tangem.tangem_card.reader.CardProtocol.TangemException import com.tangem.tangem_card.tasks.SignTask import com.tangem.tangem_card.util.Util import com.tangem.wallet.* -import com.tangem.wallet.binance.client.domain.Account import com.tangem.wallet.flowDemo.proto.Observation import com.tangem.wallet.flowDemo.proto.ObserveServiceGrpc import io.grpc.ManagedChannelBuilder -import io.reactivex.Observable import io.reactivex.Single import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.functions.Function import io.reactivex.observers.DisposableSingleObserver import io.reactivex.schedulers.Schedulers import java.util.concurrent.TimeUnit @@ -247,4 +244,8 @@ class FlowDemoEngine : CoinEngine { override fun createCoinData(): CoinData { return FlowDemoData() } + + override fun isNftToken(): Boolean { + return true + } } \ No newline at end of file From 0f7b93342b84325f5a5115f75cc01775338c0e46 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 7 Apr 2020 14:45:52 +0300 Subject: [PATCH 4/7] Updated on 2026-08-14 --- app/src/main/java/com/tangem/wallet/xlm/XlmAssetEngine.java | 4 +++- app/src/main/res/values/strings.xml | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/tangem/wallet/xlm/XlmAssetEngine.java b/app/src/main/java/com/tangem/wallet/xlm/XlmAssetEngine.java index c003f24b18..06cfd560ef 100644 --- a/app/src/main/java/com/tangem/wallet/xlm/XlmAssetEngine.java +++ b/app/src/main/java/com/tangem/wallet/xlm/XlmAssetEngine.java @@ -128,6 +128,8 @@ public class XlmAssetEngine extends CoinEngine { ctx.setMessage(R.string.general_wallet_empty); } else if (awaitingConfirmation()) { ctx.setMessage(R.string.loaded_wallet_message_wait); + } else if (coinData.getXlmBalance() == null || coinData.getXlmBalance().isZero()) { + ctx.setMessage(ctx.getString(R.string.confirm_transaction_error_not_enough_xlm_for_fee)); } else { return true; } @@ -259,7 +261,7 @@ public class XlmAssetEngine extends CoinEngine { balanceValidator.setScore(100); balanceValidator.setFirstLine(R.string.balance_validator_first_line_verified_balance); balanceValidator.setSecondLine(R.string.balance_validator_second_line_confirmed_in_blockchain); - if (coinData.getXlmBalance().isZero()) { + if (!isBalanceNotZero()) { balanceValidator.setFirstLine(R.string.balance_validator_first_line_empty_wallet); balanceValidator.setSecondLine(R.string.empty_string); } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 67cf1e495e..ce8a2776e1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -210,6 +210,7 @@ Cannot calculate fee! Wrong data received from the node Please wait for confirmation of incoming transaction Not enough ETH funds for fee + Not enough XLM funds for fee Not enough RBTC funds for fee Target account is not created! Send 1+ XLM to create it PIN2 is required to sign the payment From 0375fc4e69441aecef685365eeb0ce569c6fda69 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 8 Apr 2020 12:24:54 +0300 Subject: [PATCH 5/7] Updated on 2026-08-14 --- .../main/java/com/tangem/wallet/btc/BtcData.java | 2 +- .../com/tangem/wallet/ducatus/DucatusData.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/tangem/wallet/ducatus/DucatusData.java diff --git a/app/src/main/java/com/tangem/wallet/btc/BtcData.java b/app/src/main/java/com/tangem/wallet/btc/BtcData.java index 0d0eca1d85..28648010df 100644 --- a/app/src/main/java/com/tangem/wallet/btc/BtcData.java +++ b/app/src/main/java/com/tangem/wallet/btc/BtcData.java @@ -15,7 +15,7 @@ public class BtcData extends CoinData { super(); } - private Long balanceConfirmed, balanceUnconfirmed; + protected Long balanceConfirmed, balanceUnconfirmed; private boolean useBlockcypher = false; diff --git a/app/src/main/java/com/tangem/wallet/ducatus/DucatusData.java b/app/src/main/java/com/tangem/wallet/ducatus/DucatusData.java new file mode 100644 index 0000000000..ecb8e69561 --- /dev/null +++ b/app/src/main/java/com/tangem/wallet/ducatus/DucatusData.java @@ -0,0 +1,16 @@ +package com.tangem.wallet.ducatus; + +import com.tangem.wallet.CoinEngine; +import com.tangem.wallet.btc.BtcData; + +import java.math.BigDecimal; + +public class DucatusData extends BtcData { + public CoinEngine.InternalAmount getBalanceInInternalUnits() { + if (balanceConfirmed != null) { + return new CoinEngine.InternalAmount(BigDecimal.valueOf(balanceConfirmed), "Satoshi"); + } else { + return null; + } + } +} From 0bacaa9c50022716ddfd9d3dc2abac41885a6019 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 8 Apr 2020 15:12:59 +0300 Subject: [PATCH 6/7] Updated on 2026-08-14 --- .../java/com/tangem/wallet/ducatus/DucatusEngine.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java b/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java index 4a363c1dfb..da4fd8d5e1 100644 --- a/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java +++ b/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java @@ -46,15 +46,15 @@ import io.reactivex.observers.DisposableSingleObserver; public class DucatusEngine extends BtcEngine { private static final String TAG = DucatusEngine.class.getSimpleName(); - public BtcData coinData = null; + public DucatusData coinData = null; public DucatusEngine(TangemContext context) throws Exception { super(context); if (context.getCoinData() == null) { - coinData = new BtcData(); + coinData = new DucatusData(); context.setCoinData(coinData); } else if (context.getCoinData() instanceof BtcData) { - coinData = (BtcData) context.getCoinData(); + coinData = (DucatusData) context.getCoinData(); } else { throw new Exception("Invalid type of Blockchain data for DucatusEngine"); } @@ -380,7 +380,7 @@ public class DucatusEngine extends BtcEngine { @Override public CoinData createCoinData() { - return new BtcData(); + return new DucatusData(); } @Override From c262a567fb971729799389d8f8628a0227339f7f Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 8 Apr 2020 16:10:33 +0300 Subject: [PATCH 7/7] Updated on 2026-08-14 --- .../main/java/com/tangem/wallet/ducatus/DucatusEngine.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java b/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java index da4fd8d5e1..d6fb31aad1 100644 --- a/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java +++ b/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java @@ -49,11 +49,11 @@ public class DucatusEngine extends BtcEngine { public DucatusData coinData = null; public DucatusEngine(TangemContext context) throws Exception { - super(context); + this.ctx = context; if (context.getCoinData() == null) { coinData = new DucatusData(); context.setCoinData(coinData); - } else if (context.getCoinData() instanceof BtcData) { + } else if (context.getCoinData() instanceof DucatusData) { coinData = (DucatusData) context.getCoinData(); } else { throw new Exception("Invalid type of Blockchain data for DucatusEngine");