Updated on 2026-08-14
This commit is contained in:
parent
930ffd3261
commit
e644ff7c96
19 changed files with 87 additions and 57 deletions
|
|
@ -20,7 +20,7 @@ import com.tangem.domain.qrscanning.usecases.ListenToQrScanningUseCase
|
|||
import com.tangem.domain.qrscanning.usecases.ParseQrCodeUseCase
|
||||
import com.tangem.domain.tokens.GetCryptoCurrencyUseCase
|
||||
import com.tangem.domain.tokens.GetNetworkAddressesUseCase
|
||||
import com.tangem.domain.transaction.usecase.IsUtxoConsolidationAvailableUseCase
|
||||
import com.tangem.domain.transaction.usecase.IsSelfSendAvailableUseCase
|
||||
import com.tangem.domain.transaction.usecase.ValidateWalletAddressUseCase
|
||||
import com.tangem.domain.transaction.usecase.ValidateWalletMemoUseCase
|
||||
import com.tangem.domain.txhistory.usecase.GetFixedTxHistoryItemsUseCase
|
||||
|
|
@ -62,7 +62,7 @@ internal class SendDestinationModel @Inject constructor(
|
|||
private val getCryptoCurrencyUseCase: GetCryptoCurrencyUseCase,
|
||||
private val getNetworkAddressesUseCase: GetNetworkAddressesUseCase,
|
||||
private val getFixedTxHistoryItemsUseCase: GetFixedTxHistoryItemsUseCase,
|
||||
private val isUtxoConsolidationAvailableUseCase: IsUtxoConsolidationAvailableUseCase,
|
||||
private val isSelfSendAvailableUseCase: IsSelfSendAvailableUseCase,
|
||||
private val listenToQrScanningUseCase: ListenToQrScanningUseCase,
|
||||
private val parseQrCodeUseCase: ParseQrCodeUseCase,
|
||||
private val analyticsEventHandler: AnalyticsEventHandler,
|
||||
|
|
@ -197,7 +197,7 @@ internal class SendDestinationModel @Inject constructor(
|
|||
waitForDelay(RECENT_LOAD_DELAY) { it }
|
||||
}.conflate(),
|
||||
) { destinationWalletList, txHistoryList ->
|
||||
val isUtxoConsolidationAvailable = isUtxoConsolidationAvailableUseCase.invokeSync(
|
||||
val isSelfSendAvailable = isSelfSendAvailableUseCase.invokeSync(
|
||||
userWalletId = userWalletId,
|
||||
network = cryptoCurrency.network,
|
||||
)
|
||||
|
|
@ -206,7 +206,7 @@ internal class SendDestinationModel @Inject constructor(
|
|||
SendDestinationRecentListTransformer(
|
||||
cryptoCurrency = cryptoCurrency,
|
||||
senderAddress = senderAddresses.value.firstOrNull()?.address,
|
||||
isUtxoConsolidationAvailable = isUtxoConsolidationAvailable,
|
||||
isSelfSendAvailable = isSelfSendAvailable,
|
||||
destinationWalletList = destinationWalletList,
|
||||
txHistoryList = txHistoryList,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import kotlinx.collections.immutable.toPersistentList
|
|||
|
||||
internal class SendRecipientWalletListConverter(
|
||||
private val senderAddress: String?,
|
||||
private val isUtxoConsolidationAvailable: Boolean,
|
||||
private val isSelfSendAvailable: Boolean,
|
||||
) :
|
||||
Converter<List<DestinationWalletUM?>, PersistentList<DestinationRecipientListUM>> {
|
||||
override fun convert(value: List<DestinationWalletUM?>): PersistentList<DestinationRecipientListUM> {
|
||||
|
|
@ -31,7 +31,7 @@ internal class SendRecipientWalletListConverter(
|
|||
val isNotSameAddress = it.address != senderAddress
|
||||
val isNotBlankAddress = it.address.isNotBlank()
|
||||
|
||||
isNotBlankAddress && isCoin && (isNotSameAddress || isUtxoConsolidationAvailable)
|
||||
isNotBlankAddress && isCoin && (isNotSameAddress || isSelfSendAvailable)
|
||||
}
|
||||
.groupBy { item -> item.name }
|
||||
.values.map { wallets ->
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import com.tangem.utils.transformer.Transformer
|
|||
internal class SendDestinationRecentListTransformer(
|
||||
private val senderAddress: String?,
|
||||
private val cryptoCurrency: CryptoCurrency,
|
||||
private val isUtxoConsolidationAvailable: Boolean,
|
||||
private val isSelfSendAvailable: Boolean,
|
||||
private val destinationWalletList: List<DestinationWalletUM>,
|
||||
private val txHistoryList: List<TxInfo>,
|
||||
) : Transformer<DestinationUM> {
|
||||
|
|
@ -21,7 +21,7 @@ internal class SendDestinationRecentListTransformer(
|
|||
return state.copy(
|
||||
wallets = SendRecipientWalletListConverter(
|
||||
senderAddress = senderAddress,
|
||||
isUtxoConsolidationAvailable = isUtxoConsolidationAvailable,
|
||||
isSelfSendAvailable = isSelfSendAvailable,
|
||||
).convert(destinationWalletList),
|
||||
recent = SendRecipientHistoryListConverter(
|
||||
cryptoCurrency = cryptoCurrency,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue