diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultNetworksRepository.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultNetworksRepository.kt
index fa7d68bd98..4606659408 100644
--- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultNetworksRepository.kt
+++ b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultNetworksRepository.kt
@@ -186,6 +186,7 @@ internal class DefaultNetworksRepository(
is UpdateWalletManagerResult.NoAccount,
-> Unit
is UpdateWalletManagerResult.Unreachable,
+ is UpdateWalletManagerResult.UnreachableWithoutAddresses,
is UpdateWalletManagerResult.MissedDerivation,
-> {
Timber.w(
diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/NetworkStatusFactory.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/NetworkStatusFactory.kt
index dbbf3fb10a..9170ad03aa 100644
--- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/NetworkStatusFactory.kt
+++ b/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/NetworkStatusFactory.kt
@@ -19,7 +19,10 @@ internal class NetworkStatusFactory {
network = network,
value = when (result) {
is UpdateWalletManagerResult.MissedDerivation -> NetworkStatus.MissedDerivation
- is UpdateWalletManagerResult.Unreachable -> NetworkStatus.Unreachable
+ is UpdateWalletManagerResult.UnreachableWithoutAddresses -> NetworkStatus.UnreachableWithoutAddresses
+ is UpdateWalletManagerResult.Unreachable -> NetworkStatus.Unreachable(
+ address = getNetworkAddress(result.selectedAddress, result.addresses),
+ )
is UpdateWalletManagerResult.NoAccount -> NetworkStatus.NoAccount(
address = getNetworkAddress(result.selectedAddress, result.addresses),
amountToCreateAccount = result.amountToCreateAccount,
diff --git a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt
index d1a57e7726..7a72566f75 100644
--- a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt
+++ b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt
@@ -128,7 +128,7 @@ class DefaultWalletManagersFacade(
val walletManager = getOrCreateWalletManager(userWalletId, blockchain, derivationPath)
if (walletManager == null || blockchain == Blockchain.Unknown) {
Timber.w("Unable to get a wallet manager for blockchain: $blockchain")
- return UpdateWalletManagerResult.Unreachable
+ return UpdateWalletManagerResult.UnreachableWithoutAddresses
}
return getLastWalletManagerResult(walletManager)
@@ -248,7 +248,7 @@ class DefaultWalletManagersFacade(
)
if (walletManager == null || blockchain == Blockchain.Unknown) {
Timber.w("Unable to get a wallet manager for blockchain: $blockchain")
- return UpdateWalletManagerResult.Unreachable
+ return UpdateWalletManagerResult.UnreachableWithoutAddresses
}
updateWalletManagerTokensIfNeeded(walletManager, extraTokens)
@@ -281,7 +281,7 @@ class DefaultWalletManagersFacade(
} catch (e: Throwable) {
Timber.w(e, "Unable to update a wallet manager for: ${walletManager.wallet.blockchain}")
- UpdateWalletManagerResult.Unreachable
+ resultFactory.getUnreachableResult(walletManager)
}
}
@@ -293,7 +293,7 @@ class DefaultWalletManagersFacade(
} catch (e: Throwable) {
Timber.w(e, "Unable to update a wallet manager for: ${walletManager.wallet.blockchain}")
- UpdateWalletManagerResult.Unreachable
+ resultFactory.getUnreachableResult(walletManager)
}
}
diff --git a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/model/UpdateWalletManagerResult.kt b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/model/UpdateWalletManagerResult.kt
index dd1891105e..b13e23c8ec 100644
--- a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/model/UpdateWalletManagerResult.kt
+++ b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/model/UpdateWalletManagerResult.kt
@@ -6,7 +6,12 @@ sealed class UpdateWalletManagerResult {
object MissedDerivation : UpdateWalletManagerResult()
- object Unreachable : UpdateWalletManagerResult()
+ object UnreachableWithoutAddresses : UpdateWalletManagerResult()
+
+ data class Unreachable(
+ val selectedAddress: String,
+ val addresses: Set
,
+ ) : UpdateWalletManagerResult()
data class Verified(
val selectedAddress: String,
diff --git a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/UpdateWalletManagerResultFactory.kt b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/UpdateWalletManagerResultFactory.kt
index e865fcc408..7ebefa793c 100644
--- a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/UpdateWalletManagerResultFactory.kt
+++ b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/UpdateWalletManagerResultFactory.kt
@@ -46,7 +46,10 @@ internal class UpdateWalletManagerResultFactory {
return if (amountToCreateAccount == null) {
Timber.w("Unable to get required amount to create account for: $blockchain")
- UpdateWalletManagerResult.Unreachable
+ UpdateWalletManagerResult.Unreachable(
+ selectedAddress = wallet.address,
+ addresses = getAvailableAddresses(wallet.addresses),
+ )
} else {
UpdateWalletManagerResult.NoAccount(
selectedAddress = wallet.address,
@@ -57,6 +60,15 @@ internal class UpdateWalletManagerResultFactory {
}
}
+ fun getUnreachableResult(walletManager: WalletManager): UpdateWalletManagerResult {
+ val wallet = walletManager.wallet
+
+ return UpdateWalletManagerResult.Unreachable(
+ selectedAddress = wallet.address,
+ addresses = getAvailableAddresses(wallet.addresses),
+ )
+ }
+
private fun getTokensAmounts(amounts: Set): Set {
return amounts.mapNotNullTo(hashSetOf(), ::createCurrencyAmount)
}
diff --git a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrencyStatus.kt b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrencyStatus.kt
index 23700e3d7b..670c5339a8 100644
--- a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrencyStatus.kt
+++ b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrencyStatus.kt
@@ -50,10 +50,19 @@ data class CryptoCurrencyStatus(
/** Represents the Loading state of a cryptocurrency, typically while fetching its details. */
object Loading : Status(isError = false)
- /** Represents a state where the cryptocurrency is not reachable. */
+ object UnreachableWithoutAddresses : Status(isError = true)
+
+ /**
+ * Represents a state where the cryptocurrency is not reachable.
+ *
+ * @property priceChange The change in price of the cryptocurrency.
+ * @property fiatRate The exchange rate used for converting the cryptocurrency amount to fiat.
+ * @property networkAddress The network address
+ */
data class Unreachable(
override val priceChange: BigDecimal?,
override val fiatRate: BigDecimal?,
+ override val networkAddress: NetworkAddress,
) : Status(isError = true)
/** Represents a state where the cryptocurrency's network amount not found. */
diff --git a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/NetworkStatus.kt b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/NetworkStatus.kt
index fc2b955456..230f59d531 100644
--- a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/NetworkStatus.kt
+++ b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/NetworkStatus.kt
@@ -21,10 +21,14 @@ data class NetworkStatus(
*/
sealed class Status
+ object UnreachableWithoutAddresses : Status()
+
/**
* Represents the state where the network is unreachable.
+ *
+ * @property address Network addresses.
*/
- object Unreachable : Status()
+ data class Unreachable(val address: NetworkAddress) : Status()
/**
* Represents the state where a derivation has been missed.
diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrencyStatusOperations.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrencyStatusOperations.kt
index 131c775492..7c4e946f3a 100644
--- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrencyStatusOperations.kt
+++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrencyStatusOperations.kt
@@ -16,7 +16,8 @@ internal class CurrencyStatusOperations(
return when (val status = networkStatus?.value) {
null -> CryptoCurrencyStatus.Loading
is NetworkStatus.MissedDerivation -> createMissedDerivationStatus()
- is NetworkStatus.Unreachable -> createUnreachableStatus()
+ is NetworkStatus.UnreachableWithoutAddresses -> CryptoCurrencyStatus.UnreachableWithoutAddresses
+ is NetworkStatus.Unreachable -> createUnreachableStatus(status)
is NetworkStatus.NoAccount -> createNoAccountStatus(status)
is NetworkStatus.Verified -> createStatus(status)
}
@@ -25,8 +26,13 @@ internal class CurrencyStatusOperations(
private fun createMissedDerivationStatus(): CryptoCurrencyStatus.MissedDerivation =
CryptoCurrencyStatus.MissedDerivation(priceChange = quote?.priceChange, fiatRate = quote?.fiatRate)
- private fun createUnreachableStatus(): CryptoCurrencyStatus.Unreachable =
- CryptoCurrencyStatus.Unreachable(priceChange = quote?.priceChange, fiatRate = quote?.fiatRate)
+ private fun createUnreachableStatus(status: NetworkStatus.Unreachable): CryptoCurrencyStatus.Unreachable {
+ return CryptoCurrencyStatus.Unreachable(
+ priceChange = quote?.priceChange,
+ fiatRate = quote?.fiatRate,
+ networkAddress = status.address,
+ )
+ }
private fun createNoAccountStatus(status: NetworkStatus.NoAccount): CryptoCurrencyStatus.NoAccount =
CryptoCurrencyStatus.NoAccount(
diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/TokenListFiatBalanceOperations.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/TokenListFiatBalanceOperations.kt
index 78db26e8a0..4009263f5e 100644
--- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/TokenListFiatBalanceOperations.kt
+++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/TokenListFiatBalanceOperations.kt
@@ -22,6 +22,7 @@ internal class TokenListFiatBalanceOperations(
}
is CryptoCurrencyStatus.MissedDerivation,
is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
is CryptoCurrencyStatus.NoAmount,
is CryptoCurrencyStatus.NoQuote,
-> {
diff --git a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockNetworks.kt b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockNetworks.kt
index 522878e215..3641133165 100644
--- a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockNetworks.kt
+++ b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockNetworks.kt
@@ -45,7 +45,7 @@ internal object MockNetworks {
val networkStatus1 = NetworkStatus(
network = network1,
- value = NetworkStatus.Unreachable,
+ value = NetworkStatus.UnreachableWithoutAddresses,
)
val networkStatus2 = NetworkStatus(
diff --git a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockTokensStates.kt b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockTokensStates.kt
index bb9071f999..7490827a6c 100644
--- a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockTokensStates.kt
+++ b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockTokensStates.kt
@@ -15,6 +15,9 @@ internal object MockTokensStates {
value = CryptoCurrencyStatus.Unreachable(
priceChange = MockQuotes.quote1.priceChange,
fiatRate = MockQuotes.quote1.fiatRate,
+ networkAddress = NetworkAddress.Single(
+ defaultAddress = NetworkAddress.Address(value = "mock", NetworkAddress.Address.Type.Primary),
+ ),
),
)
@@ -23,6 +26,9 @@ internal object MockTokensStates {
value = CryptoCurrencyStatus.Unreachable(
priceChange = MockQuotes.quote2.priceChange,
fiatRate = MockQuotes.quote2.fiatRate,
+ networkAddress = NetworkAddress.Single(
+ defaultAddress = NetworkAddress.Address(value = "mock", NetworkAddress.Address.Type.Primary),
+ ),
),
)
@@ -31,6 +37,9 @@ internal object MockTokensStates {
value = CryptoCurrencyStatus.Unreachable(
priceChange = MockQuotes.quote3.priceChange,
fiatRate = MockQuotes.quote3.fiatRate,
+ networkAddress = NetworkAddress.Single(
+ defaultAddress = NetworkAddress.Address(value = "mock", NetworkAddress.Address.Type.Primary),
+ ),
),
)
diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsLoadedBalanceConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsLoadedBalanceConverter.kt
index 142947657c..06b073e5cd 100644
--- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsLoadedBalanceConverter.kt
+++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsLoadedBalanceConverter.kt
@@ -78,6 +78,7 @@ internal class TokenDetailsLoadedBalanceConverter(
is CryptoCurrencyStatus.Loading -> TokenDetailsBalanceBlockState.Loading(currentState.actionButtons)
is CryptoCurrencyStatus.MissedDerivation,
is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
is CryptoCurrencyStatus.NoAmount,
-> TokenDetailsBalanceBlockState.Error(currentState.actionButtons)
}
@@ -101,6 +102,7 @@ internal class TokenDetailsLoadedBalanceConverter(
is CryptoCurrencyStatus.Custom,
is CryptoCurrencyStatus.MissedDerivation,
is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
is CryptoCurrencyStatus.NoAmount,
-> status.toContentConfig(currencySymbol)
}
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/factory/WalletSingleCurrencyLoadedBalanceConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/factory/WalletSingleCurrencyLoadedBalanceConverter.kt
index 75ce18f490..91a922a474 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/factory/WalletSingleCurrencyLoadedBalanceConverter.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/factory/WalletSingleCurrencyLoadedBalanceConverter.kt
@@ -73,6 +73,7 @@ internal class WalletSingleCurrencyLoadedBalanceConverter(
is CryptoCurrencyStatus.Custom,
is CryptoCurrencyStatus.MissedDerivation,
is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
is CryptoCurrencyStatus.NoQuote,
-> MarketPriceBlockState.Error(currencySymbol)
}
@@ -116,6 +117,7 @@ internal class WalletSingleCurrencyLoadedBalanceConverter(
is CryptoCurrencyStatus.MissedDerivation,
is CryptoCurrencyStatus.Custom,
is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
-> {
WalletCardState.Error(
id = selectedWallet.id,
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/SingleWalletCardStateConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/SingleWalletCardStateConverter.kt
index e54cf09dfa..9d443c6db9 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/SingleWalletCardStateConverter.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/SingleWalletCardStateConverter.kt
@@ -21,6 +21,7 @@ internal class SingleWalletCardStateConverter(
is CryptoCurrencyStatus.Custom,
is CryptoCurrencyStatus.MissedDerivation,
is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
-> value.toErrorState()
is CryptoCurrencyStatus.NoQuote,
is CryptoCurrencyStatus.Loaded,
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/SingleWalletMarketPriceConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/SingleWalletMarketPriceConverter.kt
index 1f1237f976..cbd1666996 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/SingleWalletMarketPriceConverter.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/SingleWalletMarketPriceConverter.kt
@@ -25,6 +25,7 @@ internal class SingleWalletMarketPriceConverter(
is CryptoCurrencyStatus.MissedDerivation,
is CryptoCurrencyStatus.NoQuote,
is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
-> MarketPriceBlockState.Error(value.currencySymbol)
}
}
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/TokenItemStateConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/TokenItemStateConverter.kt
index e3b9517efb..fad1edda6b 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/TokenItemStateConverter.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/TokenItemStateConverter.kt
@@ -28,6 +28,7 @@ internal class TokenItemStateConverter(
-> value.mapToTokenItemState()
is CryptoCurrencyStatus.MissedDerivation -> value.mapToNoAddressTokenItemState()
is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
is CryptoCurrencyStatus.NoAmount,
-> value.mapToUnreachableTokenItemState()
}
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/VisaWalletCardStateConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/VisaWalletCardStateConverter.kt
index 56766efc40..87e613c872 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/VisaWalletCardStateConverter.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state2/transformers/converter/VisaWalletCardStateConverter.kt
@@ -22,6 +22,7 @@ internal class VisaWalletCardStateConverter(
is CryptoCurrencyStatus.Custom,
is CryptoCurrencyStatus.MissedDerivation,
is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
-> value.toErrorState()
is CryptoCurrencyStatus.NoQuote,
is CryptoCurrencyStatus.Loaded,
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/subscribers/PrimaryCurrencySubscriber.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/subscribers/PrimaryCurrencySubscriber.kt
index 5a44bc2911..46f32dceff 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/subscribers/PrimaryCurrencySubscriber.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/subscribers/PrimaryCurrencySubscriber.kt
@@ -72,7 +72,9 @@ internal class PrimaryCurrencySubscriber(
is CryptoCurrencyStatus.NoAmount,
-> createCardBalanceState(fiatAmount)
is CryptoCurrencyStatus.NoQuote -> AnalyticsParam.CardBalanceState.NoRate
- is CryptoCurrencyStatus.Unreachable -> AnalyticsParam.CardBalanceState.BlockchainError
+ is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
+ -> AnalyticsParam.CardBalanceState.BlockchainError
is CryptoCurrencyStatus.MissedDerivation,
is CryptoCurrencyStatus.Loading,
is CryptoCurrencyStatus.Custom,
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/utils/CryptoCurrencyStatusToTokenItemConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/utils/CryptoCurrencyStatusToTokenItemConverter.kt
index e9ef5cc769..10be1a3537 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/utils/CryptoCurrencyStatusToTokenItemConverter.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/utils/CryptoCurrencyStatusToTokenItemConverter.kt
@@ -28,6 +28,7 @@ internal class CryptoCurrencyStatusToTokenItemConverter(
-> value.mapToTokenItemState()
is CryptoCurrencyStatus.MissedDerivation -> value.mapToNoAddressTokenItemState()
is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
is CryptoCurrencyStatus.NoAmount,
-> value.mapToUnreachableTokenItemState()
}
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt
index 4a1d7b966e..1d8fd54f88 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt
@@ -1222,7 +1222,9 @@ internal class WalletViewModel @Inject constructor(
}
}
is CryptoCurrencyStatus.NoQuote -> AnalyticsParam.CardBalanceState.NoRate
- is CryptoCurrencyStatus.Unreachable -> AnalyticsParam.CardBalanceState.BlockchainError
+ is CryptoCurrencyStatus.Unreachable,
+ is CryptoCurrencyStatus.UnreachableWithoutAddresses,
+ -> AnalyticsParam.CardBalanceState.BlockchainError
is CryptoCurrencyStatus.MissedDerivation,
is CryptoCurrencyStatus.Loading,
is CryptoCurrencyStatus.Custom,