diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/reducers/FeeReducer.kt b/app/src/main/java/com/tangem/tap/features/send/redux/reducers/FeeReducer.kt index fd653557c7..155ef90584 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/reducers/FeeReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/reducers/FeeReducer.kt @@ -3,7 +3,6 @@ package com.tangem.tap.features.send.redux.reducers import com.tangem.blockchain.common.Amount import com.tangem.blockchain.common.AmountType import com.tangem.blockchain.common.Blockchain -import com.tangem.tap.common.extensions.fullNameWithoutTestnet import com.tangem.tap.features.send.redux.FeeAction import com.tangem.tap.features.send.redux.FeeActionUi import com.tangem.tap.features.send.redux.SendScreenAction @@ -106,12 +105,17 @@ class FeeReducer : SendInternalReducer { private fun getFeePrecision(sendState: SendState): FeePrecision { val blockchain = sendState.walletManager?.wallet?.blockchain - return if ( - (blockchain?.fullNameWithoutTestnet == Blockchain.Arbitrum.fullName || - blockchain?.fullNameWithoutTestnet == Blockchain.Tron.fullName || - blockchain?.fullNameWithoutTestnet == Blockchain.Gnosis.fullName) && - sendState.amountState.typeOfAmount is AmountType.Token - ) { + val amountType = sendState.amountState.typeOfAmount + + val canBeLower = when (blockchain) { + Blockchain.Tron, Blockchain.TronTestnet -> amountType is AmountType.Token + Blockchain.Fantom, Blockchain.FantomTestnet -> amountType is AmountType.Token + Blockchain.Arbitrum, Blockchain.ArbitrumTestnet -> true + Blockchain.Stellar, Blockchain.StellarTestnet -> true + else -> false + } + + return if (canBeLower) { FeePrecision.CAN_BE_LOWER } else { FeePrecision.PRECISE diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/reducers/ReceiptReducer.kt b/app/src/main/java/com/tangem/tap/features/send/redux/reducers/ReceiptReducer.kt index c15813fdaa..84f4ef8ce0 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/reducers/ReceiptReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/reducers/ReceiptReducer.kt @@ -6,7 +6,17 @@ import com.tangem.tap.common.extensions.scaleToFiat import com.tangem.tap.common.extensions.stripZeroPlainString import com.tangem.tap.features.send.redux.ReceiptAction.RefreshReceipt import com.tangem.tap.features.send.redux.SendScreenAction -import com.tangem.tap.features.send.redux.states.* +import com.tangem.tap.features.send.redux.states.AmountState +import com.tangem.tap.features.send.redux.states.FeeState +import com.tangem.tap.features.send.redux.states.MainCurrencyType +import com.tangem.tap.features.send.redux.states.ReceiptCrypto +import com.tangem.tap.features.send.redux.states.ReceiptFiat +import com.tangem.tap.features.send.redux.states.ReceiptLayoutType +import com.tangem.tap.features.send.redux.states.ReceiptState +import com.tangem.tap.features.send.redux.states.ReceiptSymbols +import com.tangem.tap.features.send.redux.states.ReceiptTokenCrypto +import com.tangem.tap.features.send.redux.states.ReceiptTokenFiat +import com.tangem.tap.features.send.redux.states.SendState import com.tangem.tap.features.wallet.redux.WalletState.Companion.UNKNOWN_AMOUNT_SIGN import com.tangem.tap.store import java.math.BigDecimal @@ -91,7 +101,7 @@ class ReceiptReducer : SendInternalReducer { if (feeState.feeIsIncluded) { return ReceiptCrypto( amountCrypto = amountState.amountToSendCrypto.minus(feeCrypto).stripZeroPlainString(), - feeCrypto = feeCrypto.stripZeroPlainString(), + feeCrypto = feeCrypto.stripZeroPlainString().addPrecisionSign(), totalCrypto = amountState.amountToSendCrypto.stripZeroPlainString(), feeFiat = feeFiat, willSentFiat = convertToFiatPrecision(amountState.amountToSendCrypto), @@ -101,7 +111,7 @@ class ReceiptReducer : SendInternalReducer { val totalCrypto = amountState.amountToSendCrypto.plus(feeCrypto) return ReceiptCrypto( amountCrypto = amountState.amountToSendCrypto.stripZeroPlainString(), - feeCrypto = feeCrypto.stripZeroPlainString(), + feeCrypto = feeCrypto.stripZeroPlainString().addPrecisionSign(), totalCrypto = totalCrypto.stripZeroPlainString(), feeFiat = feeFiat, willSentFiat = convertToFiatPrecision(totalCrypto), @@ -125,8 +135,7 @@ class ReceiptReducer : SendInternalReducer { val totalFiat = amountFiat.plus(feeFiat) ReceiptTokenFiat( amountFiat = amountFiat.scaleToFiat(true).stripZeroPlainString(), - feeFiat = feeFiat.scaleToFiat(true) - .stripZeroPlainString().addPrecisionSign(), + feeFiat = feeFiat.scaleToFiat(true).stripZeroPlainString().addPrecisionSign(), totalFiat = totalFiat.scaleToFiat(true).stripZeroPlainString(), willSentToken = tokensToSend.stripZeroPlainString(), willSentFeeCoin = feeCoin.stripZeroPlainString(), diff --git a/dependencies.gradle b/dependencies.gradle index e1c383532f..0fdf41d259 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ ext.versions = [ kotlin : '1.6.10', build_gradle : '7.1.3', tangem_card_sdk : 'develop-159', - tangem_blockchain_sdk: 'develop-105', + tangem_blockchain_sdk: 'AND-2102-develop-105-hotfix_xlm-109', // tangem_blockchain_sdk: '0.0.1', ]