Updated on 2026-08-14
This commit is contained in:
commit
76929656e2
9 changed files with 44 additions and 43 deletions
|
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public class BtcData extends CoinData {
|
|||
super();
|
||||
}
|
||||
|
||||
private Long balanceConfirmed, balanceUnconfirmed;
|
||||
protected Long balanceConfirmed, balanceUnconfirmed;
|
||||
|
||||
private boolean useBlockcypher = false;
|
||||
|
||||
|
|
|
|||
16
app/src/main/java/com/tangem/wallet/ducatus/DucatusData.java
Normal file
16
app/src/main/java/com/tangem/wallet/ducatus/DucatusData.java
Normal file
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
this.ctx = context;
|
||||
if (context.getCoinData() == null) {
|
||||
coinData = new BtcData();
|
||||
coinData = new DucatusData();
|
||||
context.setCoinData(coinData);
|
||||
} else if (context.getCoinData() instanceof BtcData) {
|
||||
coinData = (BtcData) context.getCoinData();
|
||||
} else if (context.getCoinData() instanceof DucatusData) {
|
||||
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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -210,6 +210,7 @@
|
|||
<string name="confirm_transaction_error_cannot_calculate_fee">Cannot calculate fee! Wrong data received from the node</string>
|
||||
<string name="confirm_transaction_error_incoming_transaction_unconfirmed">Please wait for confirmation of incoming transaction</string>
|
||||
<string name="confirm_transaction_error_not_enough_eth_for_fee">Not enough ETH funds for fee</string>
|
||||
<string name="confirm_transaction_error_not_enough_xlm_for_fee">Not enough XLM funds for fee</string>
|
||||
<string name="confirm_transaction_error_not_enough_rbtc_for_fee">Not enough RBTC funds for fee</string>
|
||||
<string name="confirm_transaction_error_not_enough_xlm_for_create">Target account is not created! Send 1+ XLM to create it</string>
|
||||
<string name="confirm_transaction_error_pin_2_is_required">PIN2 is required to sign the payment</string>
|
||||
|
|
|
|||
BIN
tangem-sdk-old/src/main/res/drawable/ic_logo_rif.png
Normal file
BIN
tangem-sdk-old/src/main/res/drawable/ic_logo_rif.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
Loading…
Add table
Add a link
Reference in a new issue