Updated on 2026-08-14

This commit is contained in:
Tangem 2025-09-01 18:00:10 +03:00
parent d83a31a9b0
commit 042df9828f
16 changed files with 47 additions and 1 deletions

View file

@ -0,0 +1,6 @@
package com.tangem.domain.express.models
enum class ExpressOperationType(val value: String) {
SWAP("swap"),
SEND_WITH_SWAP("swap-and-send"),
}

View file

@ -1,5 +1,6 @@
package com.tangem.domain.swap
import com.tangem.domain.express.models.ExpressOperationType
import com.tangem.domain.express.models.ExpressProvider
import com.tangem.domain.express.models.ExpressProviderType
import com.tangem.domain.express.models.ExpressRateType
@ -74,6 +75,7 @@ interface SwapRepositoryV2 {
* @param toAddress destination address
* @param expressProvider selected swap provider
* @param rateType selected provider rate type
* @param expressOperationType operation type swap or send with swap
*/
suspend fun getSwapData(
userWallet: UserWallet,
@ -83,6 +85,7 @@ interface SwapRepositoryV2 {
toAddress: String,
expressProvider: ExpressProvider,
rateType: ExpressRateType,
expressOperationType: ExpressOperationType,
): SwapDataModel
/**

View file

@ -2,6 +2,7 @@ package com.tangem.domain.swap.usecase
import arrow.core.Either
import com.tangem.domain.express.models.ExpressError
import com.tangem.domain.express.models.ExpressOperationType
import com.tangem.domain.express.models.ExpressProvider
import com.tangem.domain.express.models.ExpressRateType
import com.tangem.domain.models.currency.CryptoCurrency
@ -25,6 +26,7 @@ class GetSwapDataUseCase(
toAddress: String,
expressProvider: ExpressProvider,
rateType: ExpressRateType,
expressOperationType: ExpressOperationType,
): Either<ExpressError, SwapDataModel> = Either.catch {
swapRepositoryV2.getSwapData(
userWallet = userWallet,
@ -34,6 +36,7 @@ class GetSwapDataUseCase(
toAddress = toAddress,
expressProvider = expressProvider,
rateType = rateType,
expressOperationType = expressOperationType,
)
}.mapLeft { throwable ->
swapErrorResolver.resolve(throwable)