diff --git a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt index 6011528fc9..82f3ae1cd8 100644 --- a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt +++ b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt @@ -610,6 +610,7 @@ internal class SwapInteractorImpl @Inject constructor( requestApproveData = RequestApproveStateData( fee = feeState, approveData = transactionData, + fromTokenAmount = swapAmount, ), ), preparedSwapConfigState = quotesLoadedState.preparedSwapConfigState.copy( diff --git a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/models/ui/SwapState.kt b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/models/ui/SwapState.kt index d212c8d259..28809bc066 100644 --- a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/models/ui/SwapState.kt +++ b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/models/ui/SwapState.kt @@ -59,6 +59,7 @@ data class TokenSwapInfo( data class RequestApproveStateData( val fee: TxFeeState, val approveData: String, + val fromTokenAmount: SwapAmount, ) data class SwapStateData( diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt index ad2e46fb60..fbe4d1b64e 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt @@ -490,7 +490,9 @@ internal class SwapViewModel @Inject constructor( }, onSelectItemFee = { feeItem -> dataState = dataState.copy(selectedFee = feeItem.data) - val spendAmount = dataState.swapDataModel?.swapModel?.fromTokenAmount ?: return@UiActions + val spendAmount = dataState.swapDataModel?.swapModel?.fromTokenAmount + ?: dataState.approveDataModel?.fromTokenAmount + spendAmount ?: return@UiActions val fromToken = dataState.fromCurrency ?: return@UiActions viewModelScope.launch(dispatchers.io) { val isFeeEnough = swapInteractor.checkFeeIsEnough(