diff --git a/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java b/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java
index 7898475ada..f571505f4b 100644
--- a/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java
+++ b/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java
@@ -19,6 +19,7 @@ import com.tangem.domain.wallet.token.TokenEngine;
import com.tangem.tangemcard.data.TangemCard;
import com.tangem.tangemcard.tasks.SignTask;
import com.tangem.util.CryptoUtil;
+import com.tangem.wallet.R;
import org.bitcoinj.core.ECKey;
@@ -109,6 +110,22 @@ public class RskTokenEngine extends TokenEngine {
@Override
public Uri getShareWalletUri() { return Uri.parse(ctx.getCoinData().getWallet()); }
+ @Override
+ public boolean isExtractPossible() {
+ if (!hasBalanceInfo()) {
+ ctx.setMessage(R.string.cannot_obtain_data_from_blockchain);
+ } else if (!isBalanceNotZero()) {
+ ctx.setMessage(R.string.wallet_empty);
+ } else if (awaitingConfirmation()) {
+ ctx.setMessage(R.string.please_wait_while_previous);
+ } else if (!isBalanceAlterNotZero()) {
+ ctx.setMessage(ctx.getString(R.string.not_enough_rbtc_for_fee));
+ } else {
+ return true;
+ }
+ return false;
+ }
+
@Override
public boolean checkNewTransactionAmount(Amount amount) {
if (!hasBalanceInfo()) return false;
diff --git a/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java b/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java
index dbba036f60..dd6e5fb76f 100644
--- a/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java
+++ b/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java
@@ -169,7 +169,7 @@ public class TokenEngine extends CoinEngine {
return true;
}
- private boolean isBalanceAlterNotZero() {
+ protected boolean isBalanceAlterNotZero() {
if (coinData == null) return false;
if (coinData.getBalanceAlterInInternalUnits() == null) return false;
return coinData.getBalanceAlterInInternalUnits().notZero();
diff --git a/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt b/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt
index faeffdc9a7..a0adf06876 100644
--- a/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt
+++ b/app/src/main/java/com/tangem/presentation/activity/PreparePaymentActivity.kt
@@ -60,7 +60,8 @@ class PreparePaymentActivity : AppCompatActivity(), NfcAdapter.ReaderCallback {
tvBalance.text = html
//TODO - to engine
- if (ctx.blockchain == Blockchain.Token && engine.balance.currency!=Blockchain.Ethereum.currency) {
+ if ((ctx.blockchain == Blockchain.Token && engine.balance.currency!=Blockchain.Ethereum.currency) ||
+ ((ctx.blockchain == Blockchain.RootstockToken && engine.balance.currency!=Blockchain.Rootstock.currency))){
rgIncFee!!.visibility = View.INVISIBLE
} else {
rgIncFee!!.visibility = View.VISIBLE
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 78c21d84cb..0249a2a10d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -190,6 +190,7 @@
The wallet is empty
Please wait for confirmation of incoming transaction
Not enough ETH funds for fee
+ Not enough RBTC funds for fee
PIN2 is required to sign the payment
Not enough funds