diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml
index 4313234fb9..198db71cec 100644
--- a/core/res/src/main/res/values-de/strings.xml
+++ b/core/res/src/main/res/values-de/strings.xml
@@ -774,6 +774,7 @@
Belohnungen
Stake gesperrt
Mehr staken
+ Gestakeder Betrag
Du setzt %1$s ein und ethältst Deine Belohnung %2$s
Zum Entsperren antippen
Tippe zum Entsperren oder Abstimmen
diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml
index 8cdaeffe4a..d64d288ba7 100644
--- a/core/res/src/main/res/values-ja/strings.xml
+++ b/core/res/src/main/res/values-ja/strings.xml
@@ -764,6 +764,7 @@
報酬
ステーキングはロックされています
もっとステーキングする
+ ステーキング中の金額
%1$sをステーキングし、報酬%2$sを受け取ります
タップしてロック解除
タップしてロック解除もしくは投票
diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml
index c600ccc00e..eb0c4ce63d 100644
--- a/core/res/src/main/res/values-ru/strings.xml
+++ b/core/res/src/main/res/values-ru/strings.xml
@@ -714,6 +714,7 @@
Имя
Сумма для стейкинга должна быть не менее %s
Согласно правилам сети, сумма стейкинга будет округлена до %1$sTRX.
+ Сумма для вывода из стейкинга будет округлена до %1$s TRX ввиду особенностей сети.
Забрать средства
Комиссия за стейкинг аккаунт
Стейкинг аккаунт — это специальный счет, на котором хранятся застейканные токены SOL. Он создается при делегировании ваших токенов валидатору для участия в подтверждении транзакций и получении наград. За создание стейкинг аккаунта взимается небольшая комиссия, которая возвращается после завершения стейкинга.
@@ -756,6 +757,7 @@
Стейкинг дает возможность вам получать %1$s. Награда будет зачисляться каждую неделю.
Стейкайте безопасно и начинайте получать еженедельные награды.
Получите награду за стейкинг
+ Оставшийся застейканный баланс будет слишком мал для вывода. Вам потребуется застейкать больше средств, чтобы достичь минимальной суммы для вывода.
Стейкинг временно недоступен из-за проблем в сети. Пожалуйста, попробуйте позже.
Стейкинг в сети %1$s с новым валидатором автоматически переведет ваши текущие застейканные средства на него.
Реинвестируйте свои заработанные награды в вашу застейканную сумму, увеличивая потенциальный доход
@@ -798,7 +800,7 @@
Отзыв
Разблокировать
Разблокировка
- Сумма для стейкинга должна быть не менее %s
+ Сумма для вывода из стейкинга должна быть не менее %s
Сумма превышает застейканный баланс
Вывод из стейкинга
Завершение стейкинга
diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml
index 3a507e68ab..10d590ce52 100644
--- a/core/res/src/main/res/values/strings.xml
+++ b/core/res/src/main/res/values/strings.xml
@@ -741,6 +741,8 @@
Staking allows you to earn %1$s. Your staking rewards arrive every week.
Stake securely and start earning weekly rewards
Earn staking rewards
+ Your remaining staked balance will be too low to unstake. You’ll need to stake more to meet the minimum unstake amount.
+ Low staked balance
Staking is currently unavailable due to network conditions. Please try again later.
Staking in the %1$s network with a new validator will automatically transfer all previously staked funds to this validator
Reinvests your earned rewards in your staked amount, increasing potential earnings.
@@ -861,6 +863,7 @@
from: %s
to: %s
validator: %s
+ The minimum transaction amount is %1$s.
Try again
You\'ve scanned the same card. To create a twin wallet you need to scan the card with number %d
You\'ve scanned wrong twin card. Please try another one
diff --git a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/SdkTransactionTypeConverter.kt b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/SdkTransactionTypeConverter.kt
index 4b2fb14d78..bdfee927b3 100644
--- a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/SdkTransactionTypeConverter.kt
+++ b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/SdkTransactionTypeConverter.kt
@@ -21,19 +21,19 @@ internal class SdkTransactionTypeConverter(
TxHistoryItem.TransactionType.Transfer
}
is TransactionType.TronStakingTransactionType.FreezeBalanceV2Contract -> {
- TxHistoryItem.TransactionType.StakingTransactionType.Stake
+ TxHistoryItem.TransactionType.Staking.Stake
}
is TransactionType.TronStakingTransactionType.UnfreezeBalanceV2Contract -> {
- TxHistoryItem.TransactionType.StakingTransactionType.Unstake
+ TxHistoryItem.TransactionType.Staking.Unstake
}
is TransactionType.TronStakingTransactionType.VoteWitnessContract -> {
- TxHistoryItem.TransactionType.StakingTransactionType.Vote(value.validatorAddress)
+ TxHistoryItem.TransactionType.Staking.Vote(value.validatorAddress)
}
is TransactionType.TronStakingTransactionType.WithdrawBalanceContract -> {
- TxHistoryItem.TransactionType.StakingTransactionType.ClaimRewards
+ TxHistoryItem.TransactionType.Staking.ClaimRewards
}
is TransactionType.TronStakingTransactionType.WithdrawExpireUnfreezeContract -> {
- TxHistoryItem.TransactionType.StakingTransactionType.Withdraw
+ TxHistoryItem.TransactionType.Staking.Withdraw
}
}
}
@@ -46,19 +46,19 @@ internal class SdkTransactionTypeConverter(
"buyVoucher",
"buyVoucherPOL",
"delegate",
- -> TxHistoryItem.TransactionType.StakingTransactionType.Stake
+ -> TxHistoryItem.TransactionType.Staking.Stake
"sellVoucher_new",
"sellVoucher_newPOL",
"undelegate",
- -> TxHistoryItem.TransactionType.StakingTransactionType.Unstake
+ -> TxHistoryItem.TransactionType.Staking.Unstake
"unstakeClaimTokens_new",
"unstakeClaimTokens_newPOL",
"claim",
- -> TxHistoryItem.TransactionType.StakingTransactionType.Withdraw
+ -> TxHistoryItem.TransactionType.Staking.Withdraw
"withdrawRewards",
"withdrawRewardsPOL",
- -> TxHistoryItem.TransactionType.StakingTransactionType.ClaimRewards
- "redelegate" -> TxHistoryItem.TransactionType.StakingTransactionType.Restake
+ -> TxHistoryItem.TransactionType.Staking.ClaimRewards
+ "redelegate" -> TxHistoryItem.TransactionType.Staking.Restake
null -> TxHistoryItem.TransactionType.UnknownOperation
else -> TxHistoryItem.TransactionType.Operation(name = methodName.replaceFirstChar { it.titlecase() })
}
diff --git a/domain/txhistory/models/src/main/kotlin/com/tangem/domain/txhistory/models/TxHistoryItem.kt b/domain/txhistory/models/src/main/kotlin/com/tangem/domain/txhistory/models/TxHistoryItem.kt
index f331f6a2a1..61f2278715 100644
--- a/domain/txhistory/models/src/main/kotlin/com/tangem/domain/txhistory/models/TxHistoryItem.kt
+++ b/domain/txhistory/models/src/main/kotlin/com/tangem/domain/txhistory/models/TxHistoryItem.kt
@@ -40,13 +40,13 @@ data class TxHistoryItem(
data object UnknownOperation : TransactionType
data class Operation(val name: String) : TransactionType
- sealed interface StakingTransactionType : TransactionType {
- data class Vote(val validatorAddress: String) : StakingTransactionType
- data object ClaimRewards : StakingTransactionType
- data object Stake : StakingTransactionType
- data object Unstake : StakingTransactionType
- data object Withdraw : StakingTransactionType
- data object Restake : StakingTransactionType
+ sealed interface Staking : TransactionType {
+ data class Vote(val validatorAddress: String) : Staking
+ data object ClaimRewards : Staking
+ data object Stake : Staking
+ data object Unstake : Staking
+ data object Withdraw : Staking
+ data object Restake : Staking
}
}
diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingNotification.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingNotification.kt
index 5b02449fa4..d9fd203280 100644
--- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingNotification.kt
+++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingNotification.kt
@@ -39,7 +39,7 @@ internal object StakingNotification {
) : NotificationUM.Warning(
title = title,
subtitle = subtitle,
- iconResId = R.drawable.ic_alert_circle_24,
+ iconResId = R.drawable.img_attention_20,
buttonsState = buttonsState,
onCloseClick = onCloseClick,
) {
@@ -47,6 +47,11 @@ internal object StakingNotification {
val title: TextReference,
val description: TextReference,
) : StakingNotification.Warning(title = title, subtitle = description)
+
+ data object LowStakedBalance : StakingNotification.Warning(
+ title = resourceReference(R.string.staking_notification_low_staked_balance_title),
+ subtitle = resourceReference(R.string.staking_notification_low_staked_balance_text),
+ )
}
sealed class Info(
diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountRequirementStateTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountRequirementStateTransformer.kt
index 199707ada1..2543480a3f 100644
--- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountRequirementStateTransformer.kt
+++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountRequirementStateTransformer.kt
@@ -1,5 +1,6 @@
package com.tangem.features.staking.impl.presentation.state.transformers.amount
+import androidx.annotation.StringRes
import androidx.compose.ui.text.input.ImeAction
import com.tangem.common.extensions.isZero
import com.tangem.common.ui.amountScreen.models.AmountState
@@ -26,25 +27,18 @@ internal class AmountRequirementStateTransformer(
private val actionType: StakingActionCommonType,
) : Transformer {
override fun transform(prevState: AmountState): AmountState {
- val amountRequirements = yield.args.enter.args[Yield.Args.ArgType.AMOUNT]
-
- return if (prevState is AmountState.Data && amountRequirements != null) {
+ return if (prevState is AmountState.Data) {
updateWithError(
prevState,
actionType,
- amountRequirements,
)
} else {
prevState
}
}
- private fun updateWithError(
- amountState: AmountState.Data,
- actionType: StakingActionCommonType,
- amountRequirements: AddressArgument,
- ): AmountState {
- val isRequirementError = isRequirementError(amountState, amountRequirements)
+ private fun updateWithError(amountState: AmountState.Data, actionType: StakingActionCommonType): AmountState {
+ val requirementError = getRequirementError(amountState)
val isIntegerOnlyError = isIntegerOnlyError(amountState, actionType)
val cryptoAmount = amountState.amountTextField.cryptoAmount
@@ -53,14 +47,7 @@ internal class AmountRequirementStateTransformer(
val errorText = when {
amountState.amountTextField.isError -> amountState.amountTextField.error
- isRequirementError -> resourceReference(
- R.string.staking_amount_requirement_error,
- wrappedList(
- amountRequirements.minimum.format {
- crypto(cryptoCurrencyStatus.currency)
- },
- ),
- )
+ requirementError != null -> requirementError
isIntegerOnlyError -> when (actionType) {
StakingActionCommonType.Enter -> resourceReference(
R.string.staking_amount_tron_integer_error,
@@ -70,11 +57,11 @@ internal class AmountRequirementStateTransformer(
R.string.staking_amount_tron_integer_error_unstaking,
wrappedList(value),
)
- else -> TODO()
+ else -> TextReference.EMPTY
}
else -> TextReference.EMPTY
}
- val isError = amountState.amountTextField.isError || isRequirementError
+ val isError = amountState.amountTextField.isError || requirementError != null
return if (!errorText.isNullOrEmpty()) {
amountState.copy(
isPrimaryButtonEnabled = !isError,
@@ -92,17 +79,25 @@ internal class AmountRequirementStateTransformer(
}
}
- private fun isRequirementError(prevState: AmountState.Data, amountRequirements: AddressArgument): Boolean {
- val amountDecimal = prevState.amountTextField.cryptoAmount.value ?: return false
+ private fun getRequirementError(prevState: AmountState.Data): TextReference? {
+ val amountDecimal = prevState.amountTextField.cryptoAmount.value ?: return null
val isAlreadyErrorState = prevState.amountTextField.isError
- val isAmountRequired = amountRequirements.required
val isAmountZero = amountDecimal.isZero()
- val isExceedsRequirements =
- amountRequirements.maximum?.compareTo(amountDecimal) == -1 ||
- amountRequirements.minimum?.compareTo(amountDecimal) == 1
- return !isAmountZero && isAmountRequired && isExceedsRequirements && !isAlreadyErrorState
+ if (isAlreadyErrorState || isAmountZero) return null
+
+ return when (actionType) {
+ StakingActionCommonType.Enter -> {
+ val enterRequirements = yield.args.enter.args[Yield.Args.ArgType.AMOUNT]
+ enterRequirements?.getError(amountDecimal, R.string.staking_amount_requirement_error)
+ }
+ StakingActionCommonType.Exit -> {
+ val exitRequirements = yield.args.exit?.args?.get(Yield.Args.ArgType.AMOUNT)
+ exitRequirements?.getError(amountDecimal, R.string.staking_unstake_amount_requirement_error)
+ }
+ else -> null
+ }
}
private fun isIntegerOnlyError(amountState: AmountState.Data, actionType: StakingActionCommonType): Boolean {
@@ -116,6 +111,20 @@ internal class AmountRequirementStateTransformer(
return isEnterOrExit && isTron && !isIntegerOnly
}
+ private fun AddressArgument.getError(amount: BigDecimal, @StringRes errorTextRes: Int): TextReference? {
+ val isExceedsRequirements = maximum?.compareTo(amount) == -1 ||
+ minimum?.compareTo(amount) == 1
+
+ return resourceReference(
+ errorTextRes,
+ wrappedList(
+ minimum.format {
+ crypto(cryptoCurrencyStatus.currency)
+ },
+ ),
+ ).takeIf { required && isExceedsRequirements }
+ }
+
data class Data(
val amountState: AmountState,
val actionType: StakingActionCommonType,
diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/AddStakingNotificationsTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/AddStakingNotificationsTransformer.kt
index 2f086ac68c..530e3cc24b 100644
--- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/AddStakingNotificationsTransformer.kt
+++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/AddStakingNotificationsTransformer.kt
@@ -107,6 +107,7 @@ internal class AddStakingNotificationsTransformer(
notifications = this,
prevState = prevState,
sendingAmount = sendingAmount,
+ actionAmount = amountValue,
feeValue = feeValue,
)
}.toImmutableList()
diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/StakingInfoNotificationsFactory.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/StakingInfoNotificationsFactory.kt
index f610a6b17b..36f7acec1c 100644
--- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/StakingInfoNotificationsFactory.kt
+++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/StakingInfoNotificationsFactory.kt
@@ -17,6 +17,7 @@ import com.tangem.features.staking.impl.presentation.state.StakingUiState
import com.tangem.lib.crypto.BlockchainUtils.isCosmos
import com.tangem.lib.crypto.BlockchainUtils.isTron
import com.tangem.utils.Provider
+import com.tangem.utils.extensions.isZero
import com.tangem.utils.extensions.orZero
import java.math.BigDecimal
@@ -26,12 +27,22 @@ internal class StakingInfoNotificationsFactory(
private val isSubtractAvailable: Boolean,
) {
+ /**
+ * @param notifications current notification to display
+ * @param prevState current screen state to update
+ * @param sendingAmount amount being transferred from user account
+ * @param actionAmount any amount being transferred or used action
+ * @param feeValue fee amount payed from user account
+ */
fun addInfoNotifications(
notifications: MutableList,
prevState: StakingUiState,
sendingAmount: BigDecimal,
+ actionAmount: BigDecimal,
feeValue: BigDecimal,
) = with(notifications) {
+ addStakingLowBalanceNotification(prevState, actionAmount)
+
when (prevState.actionType) {
StakingActionCommonType.Enter -> addEnterInfoNotifications(sendingAmount, feeValue)
StakingActionCommonType.Exit -> addExitInfoNotifications()
@@ -149,4 +160,21 @@ internal class StakingInfoNotificationsFactory(
add(StakingNotification.Info.StakeEntireBalance)
}
}
+
+ private fun MutableList.addStakingLowBalanceNotification(
+ prevState: StakingUiState,
+ actionAmount: BigDecimal,
+ ) {
+ if (prevState.actionType != StakingActionCommonType.Exit) return
+
+ val maxAmount = prevState.balanceState?.cryptoAmount ?: return
+ val exitRequirements = yield.args.exit?.args?.get(Yield.Args.ArgType.AMOUNT) ?: return
+
+ val amountLeft = maxAmount - actionAmount
+ val isNotEnoughLeft = !amountLeft.isZero() && amountLeft < exitRequirements.minimum
+
+ if (exitRequirements.required && isNotEnoughLeft) {
+ add(StakingNotification.Warning.LowStakedBalance)
+ }
+ }
}
\ No newline at end of file
diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/txhistory/TokenDetailsTxHistoryTransactionStateConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/txhistory/TokenDetailsTxHistoryTransactionStateConverter.kt
index 4091224cdc..360126d91d 100644
--- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/txhistory/TokenDetailsTxHistoryTransactionStateConverter.kt
+++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/txhistory/TokenDetailsTxHistoryTransactionStateConverter.kt
@@ -50,14 +50,14 @@ internal class TokenDetailsTxHistoryTransactionStateConverter(
} else {
when (type) {
is TransactionType.Approve -> R.drawable.ic_doc_24
- is TransactionType.StakingTransactionType.Stake,
- is TransactionType.StakingTransactionType.Vote,
- is TransactionType.StakingTransactionType.Restake,
+ is TransactionType.Staking.Stake,
+ is TransactionType.Staking.Vote,
+ is TransactionType.Staking.Restake,
-> R.drawable.ic_transaction_history_staking_24
- is TransactionType.StakingTransactionType.ClaimRewards,
+ is TransactionType.Staking.ClaimRewards,
-> R.drawable.ic_transaction_history_claim_rewards_24
- is TransactionType.StakingTransactionType.Unstake,
- is TransactionType.StakingTransactionType.Withdraw,
+ is TransactionType.Staking.Unstake,
+ is TransactionType.Staking.Withdraw,
-> R.drawable.ic_transaction_history_unstaking_24
is TransactionType.Operation,
is TransactionType.Swap,
@@ -73,12 +73,12 @@ internal class TokenDetailsTxHistoryTransactionStateConverter(
is TransactionType.Swap -> resourceReference(R.string.common_swap)
is TransactionType.Transfer -> resourceReference(R.string.common_transfer)
is TransactionType.UnknownOperation -> resourceReference(R.string.transaction_history_operation)
- is TransactionType.StakingTransactionType.Stake -> resourceReference(R.string.common_stake)
- is TransactionType.StakingTransactionType.Unstake -> resourceReference(R.string.common_unstake)
- is TransactionType.StakingTransactionType.Vote -> resourceReference(R.string.staking_vote)
- is TransactionType.StakingTransactionType.ClaimRewards -> resourceReference(R.string.common_claim_rewards)
- is TransactionType.StakingTransactionType.Withdraw -> resourceReference(R.string.staking_withdraw)
- is TransactionType.StakingTransactionType.Restake -> resourceReference(R.string.staking_restake)
+ is TransactionType.Staking.Stake -> resourceReference(R.string.common_stake)
+ is TransactionType.Staking.Unstake -> resourceReference(R.string.common_unstake)
+ is TransactionType.Staking.Vote -> resourceReference(R.string.staking_vote)
+ is TransactionType.Staking.ClaimRewards -> resourceReference(R.string.common_claim_rewards)
+ is TransactionType.Staking.Withdraw -> resourceReference(R.string.staking_withdraw)
+ is TransactionType.Staking.Restake -> resourceReference(R.string.staking_restake)
}
private fun TxHistoryItem.extractSubtitle(): TextReference =
@@ -121,9 +121,9 @@ internal class TokenDetailsTxHistoryTransactionStateConverter(
}
private fun TxHistoryItem.getAmount(): String {
- if (type is TransactionType.StakingTransactionType.Vote ||
- type == TransactionType.StakingTransactionType.ClaimRewards ||
- type == TransactionType.StakingTransactionType.Withdraw
+ if (type is TransactionType.Staking.Vote ||
+ type == TransactionType.Staking.ClaimRewards ||
+ type == TransactionType.Staking.Withdraw
) {
return ""
}
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TxHistoryItemStateConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TxHistoryItemStateConverter.kt
index 10e1cb4f76..a85ca99eab 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TxHistoryItemStateConverter.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TxHistoryItemStateConverter.kt
@@ -49,14 +49,14 @@ internal class TxHistoryItemStateConverter(
} else {
when (type) {
is TransactionType.Approve -> R.drawable.ic_doc_24
- is TransactionType.StakingTransactionType.Stake,
- is TransactionType.StakingTransactionType.Vote,
- is TransactionType.StakingTransactionType.Restake,
+ is TransactionType.Staking.Stake,
+ is TransactionType.Staking.Vote,
+ is TransactionType.Staking.Restake,
-> R.drawable.ic_transaction_history_staking_24
- is TransactionType.StakingTransactionType.ClaimRewards,
+ is TransactionType.Staking.ClaimRewards,
-> R.drawable.ic_transaction_history_claim_rewards_24
- is TransactionType.StakingTransactionType.Unstake,
- is TransactionType.StakingTransactionType.Withdraw,
+ is TransactionType.Staking.Unstake,
+ is TransactionType.Staking.Withdraw,
-> R.drawable.ic_transaction_history_unstaking_24
is TransactionType.Operation,
is TransactionType.Swap,
@@ -71,12 +71,12 @@ internal class TxHistoryItemStateConverter(
is TransactionType.Operation -> stringReference(type.name)
is TransactionType.Swap -> resourceReference(R.string.common_swap)
is TransactionType.Transfer -> resourceReference(R.string.common_transfer)
- is TransactionType.StakingTransactionType.Stake -> resourceReference(R.string.common_stake)
- is TransactionType.StakingTransactionType.Unstake -> resourceReference(R.string.common_unstake)
- is TransactionType.StakingTransactionType.Vote -> resourceReference(R.string.staking_vote)
- is TransactionType.StakingTransactionType.ClaimRewards -> resourceReference(R.string.common_claim_rewards)
- is TransactionType.StakingTransactionType.Withdraw -> resourceReference(R.string.staking_withdraw)
- is TransactionType.StakingTransactionType.Restake -> resourceReference(R.string.staking_restake)
+ is TransactionType.Staking.Stake -> resourceReference(R.string.common_stake)
+ is TransactionType.Staking.Unstake -> resourceReference(R.string.common_unstake)
+ is TransactionType.Staking.Vote -> resourceReference(R.string.staking_vote)
+ is TransactionType.Staking.ClaimRewards -> resourceReference(R.string.common_claim_rewards)
+ is TransactionType.Staking.Withdraw -> resourceReference(R.string.staking_withdraw)
+ is TransactionType.Staking.Restake -> resourceReference(R.string.staking_restake)
is TransactionType.UnknownOperation -> resourceReference(R.string.transaction_history_operation)
}
@@ -121,9 +121,9 @@ internal class TxHistoryItemStateConverter(
}
private fun TxHistoryItem.getAmount(): String {
- if (type is TransactionType.StakingTransactionType.Vote ||
- type == TransactionType.StakingTransactionType.ClaimRewards ||
- type == TransactionType.StakingTransactionType.Withdraw
+ if (type is TransactionType.Staking.Vote ||
+ type == TransactionType.Staking.ClaimRewards ||
+ type == TransactionType.Staking.Withdraw
) {
return ""
}