diff --git a/common/ui/src/main/java/com/tangem/common/ui/notifications/NotificationUM.kt b/common/ui/src/main/java/com/tangem/common/ui/notifications/NotificationUM.kt index 7a8229120e..8c2f75bb85 100644 --- a/common/ui/src/main/java/com/tangem/common/ui/notifications/NotificationUM.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/notifications/NotificationUM.kt @@ -381,7 +381,11 @@ sealed class NotificationUM(val config: NotificationConfig) { title = TextReference.Res(R.string.send_notification_invalid_amount_title), subtitle = TextReference.Res( id = R.string.send_notification_invalid_amount_rent_fee, - formatArgs = wrappedList(rentInfo.exemptionAmount), + formatArgs = wrappedList( + rentInfo.exemptionAmount.format { + crypto(rentInfo.cryptoCurrency) + }, + ), ), ) diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrencyChecksRepository.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrencyChecksRepository.kt index 3583ff7332..485f1afd18 100644 --- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrencyChecksRepository.kt +++ b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrencyChecksRepository.kt @@ -1,11 +1,7 @@ package com.tangem.data.tokens.repository import com.tangem.blockchain.blockchains.polkadot.ExistentialDepositProvider -import com.tangem.blockchain.common.FeeResourceAmountProvider -import com.tangem.blockchain.common.MinimumSendAmountProvider -import com.tangem.blockchain.common.ReserveAmountProvider -import com.tangem.blockchain.common.Token -import com.tangem.blockchain.common.UtxoAmountLimitProvider +import com.tangem.blockchain.common.* import com.tangem.blockchainsdk.utils.toBlockchain import com.tangem.data.tokens.converters.UtxoConverter import com.tangem.domain.models.currency.CryptoCurrency @@ -144,7 +140,11 @@ internal class DefaultCurrencyChecksRepository( return when { balanceValue.amount.isZero() && stakingTotalBalance.isZero() -> null balanceValue.amount < rentData.exemptionAmount && stakingTotalBalance.isZero() -> { - CryptoCurrencyWarning.Rent(rentData.rent, rentData.exemptionAmount) + CryptoCurrencyWarning.Rent( + rent = rentData.rent, + exemptionAmount = rentData.exemptionAmount, + cryptoCurrency = currencyStatus.currency, + ) } else -> null } @@ -159,7 +159,11 @@ internal class DefaultCurrencyChecksRepository( return when { balanceAfterTransaction.isZero() -> null balanceAfterTransaction < rentData.exemptionAmount -> { - CryptoCurrencyWarning.Rent(rentData.rent, rentData.exemptionAmount) + CryptoCurrencyWarning.Rent( + rent = rentData.rent, + exemptionAmount = rentData.exemptionAmount, + cryptoCurrency = currencyStatus.currency, + ) } else -> null } diff --git a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/warnings/CryptoCurrencyWarning.kt b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/warnings/CryptoCurrencyWarning.kt index a00521acac..cb4b78542e 100644 --- a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/warnings/CryptoCurrencyWarning.kt +++ b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/warnings/CryptoCurrencyWarning.kt @@ -39,8 +39,13 @@ sealed class CryptoCurrencyWarning { * @param rent Amount that will be charged in overtime if the blockchain does not have an amount greater than * the [exemptionAmount] * @param exemptionAmount Amount that should be on the blockchain balance not to pay rent + * @param cryptoCurrency Currency in which the rent is charged */ - data class Rent(val rent: BigDecimal, val exemptionAmount: BigDecimal) : CryptoCurrencyWarning() + data class Rent( + val rent: BigDecimal, + val exemptionAmount: BigDecimal, + val cryptoCurrency: CryptoCurrency, + ) : CryptoCurrencyWarning() data class SwapPromo( val promoId: PromoId, diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt index b124a9b02e..b1ae6761a1 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt @@ -7,6 +7,8 @@ import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.networkIconResId import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.wrappedList +import com.tangem.core.ui.format.bigdecimal.crypto +import com.tangem.core.ui.format.bigdecimal.format import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.domain.models.wallet.UserWallet import com.tangem.domain.tokens.model.warnings.CryptoCurrencyWarning @@ -136,7 +138,12 @@ internal sealed class TokenDetailsNotification(val config: NotificationConfig) { title = TextReference.Res(R.string.warning_rent_fee_title), subtitle = TextReference.Res( id = R.string.warning_solana_rent_fee_message, - formatArgs = wrappedList(rentInfo.rent, rentInfo.exemptionAmount), + formatArgs = wrappedList( + rentInfo.rent, + rentInfo.exemptionAmount.format { + crypto(rentInfo.cryptoCurrency) + }, + ), ), onCloseClick = onCloseClick, )