Updated on 2026-08-14

This commit is contained in:
Tangem 2026-02-25 18:27:23 +03:00
parent 40da3bbe0f
commit d349739524
20 changed files with 248 additions and 151 deletions

View file

@ -86,7 +86,7 @@ internal class DefaultRampManager(
cryptoCurrency: CryptoCurrency,
): ScenarioUnavailabilityReason {
val availabilityState = runSuspendCatching {
getExchangeableState(userWalletId, cryptoCurrency)
getExchangeableState()
}.getOrNull() ?: ExpressAvailabilityState.Error
return availabilityState.toReason(cryptoCurrency.name)
}
@ -142,21 +142,9 @@ internal class DefaultRampManager(
}
}
private suspend fun getExchangeableState(
userWalletId: UserWalletId,
cryptoCurrency: CryptoCurrency,
): ExpressAvailabilityState {
val asset = expressServiceFetcher.getInitializationStatus(userWalletId).firstOrNull()
?: return ExpressAvailabilityState.Loading
return when (asset) {
is Lce.Error -> ExpressAvailabilityState.Error
is Lce.Loading -> ExpressAvailabilityState.Loading
is Lce.Content -> {
val foundAsset = asset.getOrNull()?.find { cryptoCurrency.findAssetPredicate(assetId = it.id) }
foundAsset?.isExchangeAvailable?.toSwapAvailabilityState()
?: ExpressAvailabilityState.AssetNotFound
}
}
private fun getExchangeableState(): ExpressAvailabilityState {
// In task [REDACTED_TASK_KEY], removed all checks to make all tokens available
return ExpressAvailabilityState.Available
}
private suspend fun getOnrampAvailableState(
@ -190,14 +178,6 @@ internal class DefaultRampManager(
}
}
private fun Boolean.toSwapAvailabilityState(): ExpressAvailabilityState {
return if (this) {
ExpressAvailabilityState.Available
} else {
ExpressAvailabilityState.NotExchangeable
}
}
private fun Boolean.toOnrampAvailabilityState(): ExpressAvailabilityState {
return if (this) {
ExpressAvailabilityState.Available