Updated on 2026-08-14

This commit is contained in:
Tangem 2024-05-06 16:37:44 +02:00
parent 56dddbad43
commit ce9cfb001d
11 changed files with 20 additions and 39 deletions

View file

@ -58,9 +58,9 @@
<string name="card_settings_security_mode">Тип безопасности</string>
<string name="card_settings_title">Настройки карты</string>
<string name="cardano_coin_will_be_send_with_token_description">Ввиду особенностей сети Cardano при транзакции токена %1$s помимо комиссии сети будет списано %2$s</string>
<string name="cardano_insufficient_balance_to_send_token_description">Для совершения транзакции %1$s, вам необходимо внести немного %2$s (%3$s), чтобы покрыть комиссию сети и минимальное значение ADA для отправки.</string>
<string name="cardano_insufficient_balance_to_send_token_description">Чтобы совершить транзакцию %1$s, вы должны внести некоторую сумму ADA для покрытия сетевой комиссии и минимального значения ADA. (рекомендуется баланс в размере 5 ADA)</string>
<string name="cardano_insufficient_balance_to_send_token_title">Недостаточно ADA для отправки токена</string>
<string name="cardano_max_amount_has_token_description">Вывод всего баланса ADA невозможен при наличии средств на токенах сети Cardano. Сначала выведите средства на ваших токенах.</string>
<string name="cardano_max_amount_has_token_description">Сеть Cardano не позволяет вам оставлять на своем балансе сумму ниже минимального значения %1$s, если у вас есть токены. Пожалуйста, убедитесь, что у вас осталось немного ADA.</string>
<string name="common_accept">Принять</string>
<string name="common_access_denied">Доступ запрещен</string>
<string name="common_apply">Применить</string>
@ -557,7 +557,8 @@
<string name="token_button_unavailability_reason_empty_balance_sell">У вас нет средств для продажи. Пополните счет, чтобы иметь возможность продать с него средства.</string>
<string name="token_button_unavailability_reason_empty_balance_send">У вас нет средств для отправки. Пополните счет, чтобы иметь возможность отправить с него средства.</string>
<string name="token_button_unavailability_reason_not_exchangeable">В данный момент обмен монеты %s недоступен. Следите за нашими обновлениями.</string>
<string name="token_button_unavailability_reason_pending_transaction_sell">Продажа средств станет доступной после завершения транзакции %s</string>
<string name="token_button_unavailability_reason_pending_transaction_sell">Продажа средств станет доступной после завершения транзакции(-ий) в сети %s</string>
<string name="token_button_unavailability_reason_pending_transaction_send">Отправка средств станет доступной после завершения транзакции(-ий) в сети %s</string>
<string name="token_button_unavailability_reason_sell_unavailable">В данный момент продажа %s недоступна. Следите за нашими обновлениями.</string>
<string name="token_details_choose_address">Выберите адрес</string>
<string name="token_details_generate_xpub">Сгенерировать XPUB</string>
@ -697,8 +698,6 @@
<string name="warning_rent_fee_title">Необходима плата за аренду сети</string>
<string name="warning_send_blocked_funds_for_fee_message">%1$s - это монета в сети %2$s. Для совершения транзакции %3$s, вам необходимо внести немного %4$s (%5$s), чтобы покрыть комиссию сети.</string>
<string name="warning_send_blocked_funds_for_fee_title">Недостаточно %1$s для оплаты комиссии сети</string>
<string name="warning_send_blocked_pending_transactions_in_blockchain_message">Отправка средств станет доступной после завершения транзакции(-ий) в сети %s</string>
<string name="warning_send_blocked_pending_transactions_message">Отправка средств станет доступной после завершения транзакции %s</string>
<string name="warning_send_blocked_pending_transactions_title">Транзакция в обработке</string>
<string name="warning_solana_fee_message">Сеть Солана испытывает высокую нагрузку. Если Ваша транзакция не прошла в течение 2 минут, повторите её отправку.</string>
<string name="warning_solana_fee_title">Оповещение сети Солана</string>

View file

@ -56,10 +56,10 @@
<string name="card_settings_reset_card_to_factory">Reset to Factory Settings</string>
<string name="card_settings_security_mode">Security Mode</string>
<string name="card_settings_title">Card Settings</string>
<string name="cardano_coin_will_be_send_with_token_description">Due to the peculiarities of the Cardano network, when transacting the %1$s token, in addition to the network commission, %2$s will be charged</string>
<string name="cardano_insufficient_balance_to_send_token_description">To make a %1$s transaction, you must deposit some %2$s (%3$s) to cover the network fee and minimum ADA value</string>
<string name="cardano_coin_will_be_send_with_token_description">Due to the peculiarities of the Cardano network, when transacting the %1$s token, in addition to the network commission, %2$s will be charged</string>
<string name="cardano_insufficient_balance_to_send_token_description">To make a %1$s transaction, you must deposit some ADA to cover the network fee and minimum ADA value. (5 ADA balance recommended)</string>
<string name="cardano_insufficient_balance_to_send_token_title">Insufficient ADA to token transfer</string>
<string name="cardano_max_amount_has_token_description">Withdrawal of the entire ADA balance is not possible if funds are available in Cardano network tokens. First, withdraw funds on your tokens.</string>
<string name="cardano_max_amount_has_token_description">The Cardano network does not allow you to leave an amount on your balance below the minimum value %1$s if you have tokens. Please ensure that you have some ADA remaining.</string>
<string name="common_accept">Accept</string>
<string name="common_access_denied">Access denied</string>
<string name="common_apply">Apply</string>
@ -557,7 +557,8 @@
<string name="token_button_unavailability_reason_empty_balance_sell">You do not have funds to sell. Top up your account to be able to sell funds from it.</string>
<string name="token_button_unavailability_reason_empty_balance_send">You do not have funds to send. Top up your account to be able to send funds from it.</string>
<string name="token_button_unavailability_reason_not_exchangeable">Swapping %s is not available at the moment. Please check our updates.</string>
<string name="token_button_unavailability_reason_pending_transaction_sell">Selling funds will be available once the %s transaction is complete</string>
<string name="token_button_unavailability_reason_pending_transaction_sell">Selling funds will be available once the pending transaction(s) in network %s is complete</string>
<string name="token_button_unavailability_reason_pending_transaction_send">Sending funds will be available once the pending transaction(s) in network %s is complete</string>
<string name="token_button_unavailability_reason_sell_unavailable">Selling %s is not available at the moment. Please check our updates.</string>
<string name="token_details_choose_address">Choose address</string>
<string name="token_details_generate_xpub">Generate XPUB</string>
@ -695,8 +696,6 @@
<string name="warning_rent_fee_title">Network rent fee required</string>
<string name="warning_send_blocked_funds_for_fee_message">%1$s is an asset in the %2$s network. To make a %3$s transaction, you must deposit some %4$s (%5$s) to cover the network fee.</string>
<string name="warning_send_blocked_funds_for_fee_title">Insufficient %1$s to cover network fee</string>
<string name="warning_send_blocked_pending_transactions_in_blockchain_message">Sending funds will be available once the pending transaction(s) in network %s is complete</string>
<string name="warning_send_blocked_pending_transactions_message">Sending funds will be available once the %s transaction is complete</string>
<string name="warning_send_blocked_pending_transactions_title">Transaction pending</string>
<string name="warning_solana_fee_message">The Solana network is congested. If your transaction is not processed within 2 minutes, please repeat the transaction.</string>
<string name="warning_solana_fee_title">Solana Network Alert</string>

View file

@ -31,7 +31,7 @@ sealed class CryptoCurrencyWarning {
val amountCurrency: CryptoCurrency,
) : CryptoCurrencyWarning()
object TopUpWithoutReserve : CryptoCurrencyWarning()
data object TopUpWithoutReserve : CryptoCurrencyWarning()
/**
* Represents wallet blockchain rent
@ -41,8 +41,6 @@ sealed class CryptoCurrencyWarning {
*/
data class Rent(val rent: BigDecimal, val exemptionAmount: BigDecimal) : CryptoCurrencyWarning()
data class HasPendingTransactions(val blockchainSymbol: String) : CryptoCurrencyWarning()
data class SwapPromo(
val startDateTime: DateTime,
val endDateTime: DateTime,

View file

@ -232,7 +232,7 @@ class GetCryptoCurrencyActionsUseCase(
) -> {
ScenarioUnavailabilityReason.PendingTransaction(
withdrawalScenario = ScenarioUnavailabilityReason.WithdrawalScenario.SEND,
cryptoCurrencySymbol = coinStatus?.currency?.symbol.orEmpty(),
networkName = coinStatus?.currency?.network?.name.orEmpty(),
)
}
else -> {

View file

@ -167,9 +167,6 @@ class GetCurrencyWarningsUseCase(
when {
tokenStatus != null && coinStatus != null -> {
buildList {
if (currenciesRepository.hasPendingTransactions(tokenStatus, coinStatus)) {
add(CryptoCurrencyWarning.HasPendingTransactions(coinStatus.currency.symbol))
}
getFeeWarning(
userWalletId = userWalletId,
coinStatus = coinStatus,

View file

@ -6,7 +6,7 @@ sealed class ScenarioUnavailabilityReason {
// send&sell-specific
data class PendingTransaction(
val withdrawalScenario: WithdrawalScenario,
val cryptoCurrencySymbol: String,
val networkName: String,
) : ScenarioUnavailabilityReason()
data class EmptyBalance(val withdrawalScenario: WithdrawalScenario) : ScenarioUnavailabilityReason()

View file

@ -37,7 +37,6 @@ internal class TokenDetailsNotificationsAnalyticsSender(
)
is TokenDetailsNotification.NetworksUnreachable,
is TokenDetailsNotification.ExistentialDeposit,
is TokenDetailsNotification.HasPendingTransactions,
is TokenDetailsNotification.NetworksNoAccount,
is TokenDetailsNotification.TopUpWithoutReserve,
is TokenDetailsNotification.RentInfo,

View file

@ -66,7 +66,7 @@ internal sealed class TokenDetailsNotification(val config: NotificationConfig) {
),
)
object NetworksUnreachable : Warning(
data object NetworksUnreachable : Warning(
title = resourceReference(R.string.warning_network_unreachable_title),
subtitle = resourceReference(R.string.warning_network_unreachable_message),
)
@ -163,16 +163,8 @@ internal sealed class TokenDetailsNotification(val config: NotificationConfig) {
),
)
object TopUpWithoutReserve : Informational(
data object TopUpWithoutReserve : Informational(
title = resourceReference(id = R.string.warning_no_account_title),
subtitle = resourceReference(id = R.string.no_account_send_to_create),
)
class HasPendingTransactions(val coinSymbol: String) : Informational(
title = resourceReference(R.string.warning_send_blocked_pending_transactions_title),
subtitle = resourceReference(
id = R.string.warning_send_blocked_pending_transactions_message,
formatArgs = wrappedList(coinSymbol),
),
)
}

View file

@ -74,9 +74,6 @@ internal class TokenDetailsNotificationConverter(
symbol = warning.amountCurrency.symbol,
)
is CryptoCurrencyWarning.TopUpWithoutReserve -> TopUpWithoutReserve
is CryptoCurrencyWarning.HasPendingTransactions -> HasPendingTransactions(
coinSymbol = warning.blockchainSymbol,
)
is CryptoCurrencyWarning.SwapPromo -> SwapPromo(
startDateTime = warning.startDateTime,
endDateTime = warning.endDateTime,

View file

@ -337,12 +337,12 @@ internal class TokenDetailsStateFactory(
is ScenarioUnavailabilityReason.PendingTransaction -> {
when (unavailabilityReason.withdrawalScenario) {
ScenarioUnavailabilityReason.WithdrawalScenario.SEND -> resourceReference(
id = R.string.warning_send_blocked_pending_transactions_message,
formatArgs = wrappedList(unavailabilityReason.cryptoCurrencySymbol),
id = R.string.token_button_unavailability_reason_pending_transaction_send,
formatArgs = wrappedList(unavailabilityReason.networkName),
)
ScenarioUnavailabilityReason.WithdrawalScenario.SELL -> resourceReference(
id = R.string.token_button_unavailability_reason_pending_transaction_sell,
formatArgs = wrappedList(unavailabilityReason.cryptoCurrencySymbol),
formatArgs = wrappedList(unavailabilityReason.networkName),
)
}
}

View file

@ -449,12 +449,12 @@ internal class WalletCurrencyActionsClickIntentsImplementor @Inject constructor(
is ScenarioUnavailabilityReason.PendingTransaction -> {
when (unavailabilityReason.withdrawalScenario) {
ScenarioUnavailabilityReason.WithdrawalScenario.SEND -> resourceReference(
id = R.string.warning_send_blocked_pending_transactions_message,
formatArgs = wrappedList(unavailabilityReason.cryptoCurrencySymbol),
id = R.string.token_button_unavailability_reason_pending_transaction_send,
formatArgs = wrappedList(unavailabilityReason.networkName),
)
ScenarioUnavailabilityReason.WithdrawalScenario.SELL -> resourceReference(
id = R.string.token_button_unavailability_reason_pending_transaction_sell,
formatArgs = wrappedList(unavailabilityReason.cryptoCurrencySymbol),
formatArgs = wrappedList(unavailabilityReason.networkName),
)
}
}