Updated on 2026-08-14
This commit is contained in:
parent
2a36a23f07
commit
f6f96ed8b5
4 changed files with 10 additions and 15 deletions
|
|
@ -29,11 +29,7 @@ sealed interface SwapState {
|
|||
val warnings: List<Warning> = emptyList(),
|
||||
) : SwapState
|
||||
|
||||
data class EmptyAmountState(
|
||||
val fromTokenWalletBalance: String,
|
||||
val toTokenWalletBalance: String,
|
||||
val zeroAmountEquivalent: String,
|
||||
) : SwapState
|
||||
data class EmptyAmountState(val zeroAmountEquivalent: String) : SwapState
|
||||
|
||||
data class SwapError(
|
||||
val fromTokenInfo: TokenSwapInfo,
|
||||
|
|
|
|||
|
|
@ -237,9 +237,7 @@ internal class SwapInteractorImpl @Inject constructor(
|
|||
return providers.map { provider ->
|
||||
val amountDecimal = toBigDecimalOrNull(amountToSwap)
|
||||
if (amountDecimal == null || amountDecimal.signum() == 0) {
|
||||
return providers.associateWith {
|
||||
createEmptyAmountState(fromToken, toToken)
|
||||
}
|
||||
return providers.associateWith { createEmptyAmountState() }
|
||||
}
|
||||
val amount = SwapAmount(amountDecimal, getTokenDecimals(fromToken.currency))
|
||||
val isBalanceWithoutFeeEnough = isBalanceEnough(fromToken, amount, null)
|
||||
|
|
@ -698,13 +696,9 @@ internal class SwapInteractorImpl @Inject constructor(
|
|||
)
|
||||
}
|
||||
|
||||
private fun createEmptyAmountState(fromToken: CryptoCurrencyStatus, toToken: CryptoCurrencyStatus): SwapState {
|
||||
private fun createEmptyAmountState(): SwapState {
|
||||
val appCurrency = userWalletManager.getUserAppCurrency()
|
||||
val fromTokenBalance = getTokenBalance(fromToken)
|
||||
val toTokenBalance = getTokenBalance(toToken)
|
||||
return SwapState.EmptyAmountState(
|
||||
fromTokenWalletBalance = amountFormatter.formatSwapAmountToUI(fromTokenBalance, ""),
|
||||
toTokenWalletBalance = amountFormatter.formatSwapAmountToUI(toTokenBalance, ""),
|
||||
zeroAmountEquivalent = BigDecimal.ZERO.toFiatString(
|
||||
rateValue = BigDecimal.ONE,
|
||||
fiatCurrencyName = appCurrency.symbol,
|
||||
|
|
|
|||
|
|
@ -558,6 +558,8 @@ internal class StateBuilder(
|
|||
fun createQuotesEmptyAmountState(
|
||||
uiStateHolder: SwapStateHolder,
|
||||
emptyAmountState: SwapState.EmptyAmountState,
|
||||
fromTokenStatus: CryptoCurrencyStatus,
|
||||
toTokenStatus: CryptoCurrencyStatus?,
|
||||
isReverseSwapPossible: Boolean,
|
||||
): SwapStateHolder {
|
||||
if (uiStateHolder.sendCardData !is SwapCardState.SwapCardData) return uiStateHolder
|
||||
|
|
@ -574,7 +576,7 @@ internal class StateBuilder(
|
|||
tokenCurrency = uiStateHolder.sendCardData.tokenCurrency,
|
||||
canSelectAnotherToken = uiStateHolder.sendCardData.canSelectAnotherToken,
|
||||
networkIconRes = uiStateHolder.sendCardData.networkIconRes,
|
||||
balance = emptyAmountState.fromTokenWalletBalance,
|
||||
balance = fromTokenStatus.getFormattedAmount(isNeedSymbol = false),
|
||||
isBalanceHidden = isBalanceHiddenProvider(),
|
||||
),
|
||||
receiveCardData = SwapCardState.SwapCardData(
|
||||
|
|
@ -588,7 +590,7 @@ internal class StateBuilder(
|
|||
tokenCurrency = uiStateHolder.receiveCardData.tokenCurrency,
|
||||
canSelectAnotherToken = uiStateHolder.receiveCardData.canSelectAnotherToken,
|
||||
networkIconRes = uiStateHolder.receiveCardData.networkIconRes,
|
||||
balance = emptyAmountState.toTokenWalletBalance,
|
||||
balance = toTokenStatus?.getFormattedAmount(isNeedSymbol = false) ?: UNKNOWN_AMOUNT_SIGN,
|
||||
isBalanceHidden = isBalanceHiddenProvider(),
|
||||
),
|
||||
warnings = emptyList(),
|
||||
|
|
|
|||
|
|
@ -341,9 +341,12 @@ internal class SwapViewModel @Inject constructor(
|
|||
}
|
||||
}
|
||||
is SwapState.EmptyAmountState -> {
|
||||
val toTokenStatus = dataState.toCryptoCurrency
|
||||
uiState = stateBuilder.createQuotesEmptyAmountState(
|
||||
uiStateHolder = uiState,
|
||||
emptyAmountState = state,
|
||||
fromTokenStatus = fromToken,
|
||||
toTokenStatus = toTokenStatus,
|
||||
isReverseSwapPossible = isReverseSwapPossible(),
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue