From 4df89bb5213ae03dd15720b8a0d6ebe8a9f16c7a Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 1 Apr 2024 15:39:08 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/datasource/api/express/TangemExpressApi.kt | 2 ++ .../java/com/tangem/feature/swap/DefaultSwapRepository.kt | 4 ++++ .../java/com/tangem/feature/swap/domain/api/SwapRepository.kt | 2 ++ .../java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt | 2 ++ 4 files changed, 10 insertions(+) diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt index 61c2a6c25a..b7055574a3 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt @@ -50,6 +50,8 @@ interface TangemExpressApi { @Query("rateType") rateType: String, @Query("toAddress") toAddress: String, @Query("requestId") requestId: String, + @Query("refundAddress") refundAddress: String?, // for cex only + @Query("refundExtraId") refundExtraId: String?, // for cex only ): ApiResponse @GET("exchange-status") diff --git a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt index 5ce1371a15..c67891b454 100644 --- a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt +++ b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt @@ -256,6 +256,8 @@ internal class DefaultSwapRepository @Inject constructor( providerId: String, rateType: RateType, toAddress: String, + refundAddress: String?, // for cex only + refundExtraId: String?, // for cex only ): Either { return withContext(coroutineDispatcher.io) { try { @@ -272,6 +274,8 @@ internal class DefaultSwapRepository @Inject constructor( rateType = rateType.name.lowercase(), toAddress = toAddress, requestId = requestId, + refundAddress = refundAddress, + refundExtraId = refundExtraId, ).getOrThrow() if (dataSignatureVerifier.verifySignature(response.signature, response.txDetailsJson)) { val txDetails = parseTxDetails(response.txDetailsJson) diff --git a/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt b/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt index 8fcb79ae26..0a04d8950f 100644 --- a/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt +++ b/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt @@ -65,6 +65,8 @@ interface SwapRepository { providerId: String, rateType: RateType, toAddress: String, + refundAddress: String? = null, // for cex only + refundExtraId: String? = null, // for cex only ): Either fun getNativeTokenForNetwork(networkId: String): CryptoCurrency 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 6df1eadf9d..08b31e9a2e 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 @@ -589,6 +589,8 @@ internal class SwapInteractorImpl @Inject constructor( providerId = swapProvider.providerId, rateType = RateType.FLOAT, toAddress = currencyToGet.value.networkAddress?.defaultAddress?.value ?: "", + refundAddress = currencyToSend.value.networkAddress?.defaultAddress?.value, + refundExtraId = null, // currently always null ).getOrElse { return SwapTransactionState.ExpressError(it) } val exchangeDataCex =