From f3bbae831ab049515ef9a38ee175c1dc33c5b6b1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 21 May 2025 13:46:33 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../converters/NetworkAmountsConverter.kt | 10 ++++----- .../networks/utils/NetworkStatusFactory.kt | 7 +++--- .../converters/NetworkAmountsConverterTest.kt | 13 ++++++----- .../NetworkStatusDataModelConverterTest.kt | 6 ++--- .../SimpleNetworkStatusConverterTest.kt | 6 ++--- .../fetcher/CommonNetworkStatusFetcherTest.kt | 3 +-- .../utils/NetworkStatusFactoryTest.kt | 6 ++--- .../model/CryptoCurrencyAmountStatus.kt | 13 ----------- .../domain/tokens/model/NetworkStatus.kt | 16 +++++++++++++- .../operations/CurrencyStatusOperations.kt | 5 ++--- .../tangem/domain/tokens/mock/MockNetworks.kt | 22 +++++++++---------- .../domain/tokens/mock/MockTokensStates.kt | 7 ++++-- .../usecase/AssociateAssetUseCase.kt | 3 +-- 13 files changed, 59 insertions(+), 58 deletions(-) delete mode 100644 domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrencyAmountStatus.kt diff --git a/data/networks/src/main/java/com/tangem/data/networks/converters/NetworkAmountsConverter.kt b/data/networks/src/main/java/com/tangem/data/networks/converters/NetworkAmountsConverter.kt index 5c218d5638..0c58f720cb 100644 --- a/data/networks/src/main/java/com/tangem/data/networks/converters/NetworkAmountsConverter.kt +++ b/data/networks/src/main/java/com/tangem/data/networks/converters/NetworkAmountsConverter.kt @@ -1,13 +1,13 @@ package com.tangem.data.networks.converters import com.tangem.domain.models.currency.CryptoCurrency -import com.tangem.domain.tokens.model.CryptoCurrencyAmountStatus +import com.tangem.domain.tokens.model.NetworkStatus import com.tangem.utils.converter.TwoWayConverter import com.tangem.utils.extensions.mapNotNullValues import java.math.BigDecimal private typealias AmountsDataModel = Map -private typealias AmountsDomainModel = Map +private typealias AmountsDomainModel = Map /** * Converter from [AmountsDataModel] to [AmountsDomainModel] and vice versa @@ -19,7 +19,7 @@ internal object NetworkAmountsConverter : TwoWayConverter CryptoCurrencyAmountStatus.Loaded(value = amount) } + .mapValues { (_, amount) -> NetworkStatus.Amount.Loaded(value = amount) } } override fun convertBack(value: AmountsDomainModel): AmountsDataModel { @@ -27,8 +27,8 @@ internal object NetworkAmountsConverter : TwoWayConverter id.value } .mapNotNullValues { (_, amount) -> when (amount) { - is CryptoCurrencyAmountStatus.Loaded -> amount.value - is CryptoCurrencyAmountStatus.NotFound -> null + is NetworkStatus.Amount.Loaded -> amount.value + is NetworkStatus.Amount.NotFound -> null } } } diff --git a/data/networks/src/main/java/com/tangem/data/networks/utils/NetworkStatusFactory.kt b/data/networks/src/main/java/com/tangem/data/networks/utils/NetworkStatusFactory.kt index 0000b0c47a..34769e7db9 100644 --- a/data/networks/src/main/java/com/tangem/data/networks/utils/NetworkStatusFactory.kt +++ b/data/networks/src/main/java/com/tangem/data/networks/utils/NetworkStatusFactory.kt @@ -4,7 +4,6 @@ import com.tangem.domain.models.StatusSource import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.domain.models.network.Network import com.tangem.domain.models.network.TxInfo -import com.tangem.domain.tokens.model.CryptoCurrencyAmountStatus import com.tangem.domain.tokens.model.NetworkAddress import com.tangem.domain.tokens.model.NetworkStatus import com.tangem.domain.walletmanager.model.Address @@ -89,7 +88,7 @@ object NetworkStatusFactory { private fun formatAmounts( amounts: Set, currencies: Set, - ): Map { + ): Map { return currencies.associate { currency -> val amount = when (currency) { is CryptoCurrency.Coin -> { @@ -106,9 +105,9 @@ object NetworkStatusFactory { if (amount == null) { Timber.w("Unable to find amount for cryptocurrency: $currency") - currency.id to CryptoCurrencyAmountStatus.NotFound + currency.id to NetworkStatus.Amount.NotFound } else { - currency.id to CryptoCurrencyAmountStatus.Loaded(amount.value) + currency.id to NetworkStatus.Amount.Loaded(amount.value) } } } diff --git a/data/networks/src/test/java/com/tangem/data/networks/converters/NetworkAmountsConverterTest.kt b/data/networks/src/test/java/com/tangem/data/networks/converters/NetworkAmountsConverterTest.kt index 6b3754a74a..ff39f2da36 100644 --- a/data/networks/src/test/java/com/tangem/data/networks/converters/NetworkAmountsConverterTest.kt +++ b/data/networks/src/test/java/com/tangem/data/networks/converters/NetworkAmountsConverterTest.kt @@ -4,7 +4,8 @@ import com.google.common.truth.Truth import com.tangem.domain.models.currency.CryptoCurrency.ID import com.tangem.domain.models.currency.CryptoCurrency.ID.Body import com.tangem.domain.models.currency.CryptoCurrency.ID.Prefix -import com.tangem.domain.tokens.model.CryptoCurrencyAmountStatus +import com.tangem.domain.tokens.model.NetworkStatus.Amount +import com.tangem.domain.tokens.model.NetworkStatus.Amount.Loaded import org.junit.jupiter.api.Test import java.math.BigDecimal @@ -30,12 +31,12 @@ internal class NetworkAmountsConverterTest { prefix = Prefix.COIN_PREFIX, body = Body.NetworkId(rawId = "BCH"), suffix = ID.Suffix.RawID(rawId = "bitcoin-cash"), - ) to CryptoCurrencyAmountStatus.Loaded(value = BigDecimal.ZERO), + ) to Loaded(value = BigDecimal.ZERO), ID( prefix = Prefix.COIN_PREFIX, body = Body.NetworkIdWithDerivationPath(rawId = "ETH", derivationPathHashCode = 12367123), suffix = ID.Suffix.RawID(rawId = "ethereum"), - ) to CryptoCurrencyAmountStatus.Loaded(value = BigDecimal.ONE), + ) to Loaded(value = BigDecimal.ONE), ) Truth.assertThat(actual).isEqualTo(expected) @@ -49,17 +50,17 @@ internal class NetworkAmountsConverterTest { prefix = Prefix.COIN_PREFIX, body = Body.NetworkId(rawId = "BCH"), suffix = ID.Suffix.RawID(rawId = "bitcoin-cash"), - ) to CryptoCurrencyAmountStatus.Loaded(value = BigDecimal.ZERO), + ) to Loaded(value = BigDecimal.ZERO), ID( prefix = Prefix.COIN_PREFIX, body = Body.NetworkIdWithDerivationPath(rawId = "ETH", derivationPathHashCode = 12367123), suffix = ID.Suffix.RawID(rawId = "ethereum"), - ) to CryptoCurrencyAmountStatus.Loaded(value = BigDecimal.ONE), + ) to Loaded(value = BigDecimal.ONE), ID( prefix = Prefix.COIN_PREFIX, body = Body.NetworkId(rawId = "BTC"), suffix = ID.Suffix.RawID(rawId = "bitcoin"), - ) to CryptoCurrencyAmountStatus.NotFound, + ) to Amount.NotFound, ) // Act diff --git a/data/networks/src/test/java/com/tangem/data/networks/converters/NetworkStatusDataModelConverterTest.kt b/data/networks/src/test/java/com/tangem/data/networks/converters/NetworkStatusDataModelConverterTest.kt index 892d4b5ce7..e4bbd392da 100644 --- a/data/networks/src/test/java/com/tangem/data/networks/converters/NetworkStatusDataModelConverterTest.kt +++ b/data/networks/src/test/java/com/tangem/data/networks/converters/NetworkStatusDataModelConverterTest.kt @@ -8,9 +8,9 @@ import com.tangem.domain.models.currency.CryptoCurrency.ID import com.tangem.domain.models.currency.CryptoCurrency.ID.Body import com.tangem.domain.models.currency.CryptoCurrency.ID.Prefix import com.tangem.domain.models.network.Network -import com.tangem.domain.tokens.model.CryptoCurrencyAmountStatus import com.tangem.domain.tokens.model.NetworkAddress import com.tangem.domain.tokens.model.NetworkStatus +import com.tangem.domain.tokens.model.NetworkStatus.Amount import org.junit.jupiter.api.TestInstance import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.MethodSource @@ -51,12 +51,12 @@ internal class NetworkStatusDataModelConverterTest { prefix = Prefix.COIN_PREFIX, body = Body.NetworkId(rawId = "BCH"), suffix = ID.Suffix.RawID(rawId = "bitcoin-cash"), - ) to CryptoCurrencyAmountStatus.Loaded(value = BigDecimal.ZERO), + ) to Amount.Loaded(value = BigDecimal.ZERO), ID( prefix = Prefix.COIN_PREFIX, body = Body.NetworkId(rawId = "BTC"), suffix = ID.Suffix.RawID(rawId = "bitcoin"), - ) to CryptoCurrencyAmountStatus.NotFound, + ) to Amount.NotFound, ), pendingTransactions = mapOf(), // doesn't matter source = StatusSource.ACTUAL, // doesn't matter diff --git a/data/networks/src/test/java/com/tangem/data/networks/converters/SimpleNetworkStatusConverterTest.kt b/data/networks/src/test/java/com/tangem/data/networks/converters/SimpleNetworkStatusConverterTest.kt index e25fa4aff3..a8b1e5b293 100644 --- a/data/networks/src/test/java/com/tangem/data/networks/converters/SimpleNetworkStatusConverterTest.kt +++ b/data/networks/src/test/java/com/tangem/data/networks/converters/SimpleNetworkStatusConverterTest.kt @@ -9,9 +9,9 @@ import com.tangem.domain.models.currency.CryptoCurrency.ID import com.tangem.domain.models.currency.CryptoCurrency.ID.Body import com.tangem.domain.models.currency.CryptoCurrency.ID.Prefix import com.tangem.domain.models.network.Network -import com.tangem.domain.tokens.model.CryptoCurrencyAmountStatus import com.tangem.domain.tokens.model.NetworkAddress import com.tangem.domain.tokens.model.NetworkStatus +import com.tangem.domain.tokens.model.NetworkStatus.Amount import org.junit.jupiter.api.TestInstance import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.MethodSource @@ -96,12 +96,12 @@ internal class SimpleNetworkStatusConverterTest { prefix = Prefix.COIN_PREFIX, body = Body.NetworkId(rawId = "BCH"), suffix = ID.Suffix.RawID(rawId = "bitcoin-cash"), - ) to CryptoCurrencyAmountStatus.Loaded(value = BigDecimal.ZERO), + ) to Amount.Loaded(value = BigDecimal.ZERO), ID( prefix = Prefix.COIN_PREFIX, body = Body.NetworkIdWithDerivationPath(rawId = "ETH", derivationPathHashCode = 12367123), suffix = ID.Suffix.RawID(rawId = "ethereum"), - ) to CryptoCurrencyAmountStatus.Loaded(value = BigDecimal.ONE), + ) to Amount.Loaded(value = BigDecimal.ONE), ), pendingTransactions = emptyMap(), source = StatusSource.CACHE, diff --git a/data/networks/src/test/java/com/tangem/data/networks/fetcher/CommonNetworkStatusFetcherTest.kt b/data/networks/src/test/java/com/tangem/data/networks/fetcher/CommonNetworkStatusFetcherTest.kt index 73db41b5f7..8c5447bbef 100644 --- a/data/networks/src/test/java/com/tangem/data/networks/fetcher/CommonNetworkStatusFetcherTest.kt +++ b/data/networks/src/test/java/com/tangem/data/networks/fetcher/CommonNetworkStatusFetcherTest.kt @@ -11,7 +11,6 @@ import com.tangem.data.networks.store.NetworksStatusesStoreV2 import com.tangem.data.networks.store.setSourceAsOnlyCache import com.tangem.data.networks.store.storeStatus import com.tangem.domain.models.currency.CryptoCurrency -import com.tangem.domain.tokens.model.CryptoCurrencyAmountStatus import com.tangem.domain.tokens.model.NetworkAddress import com.tangem.domain.tokens.model.NetworkStatus import com.tangem.domain.walletmanager.WalletManagersFacade @@ -144,7 +143,7 @@ internal class CommonNetworkStatusFetcherTest { amounts = mapOf( CryptoCurrency.ID.fromValue( value = "token⟨ETH⟩NEVER-MIND⚓NEVER-MIND", - ) to CryptoCurrencyAmountStatus.NotFound, + ) to NetworkStatus.Amount.NotFound, ), pendingTransactions = mapOf( CryptoCurrency.ID.fromValue(value = "token⟨ETH⟩NEVER-MIND⚓NEVER-MIND") to emptySet(), diff --git a/data/networks/src/test/java/com/tangem/data/networks/utils/NetworkStatusFactoryTest.kt b/data/networks/src/test/java/com/tangem/data/networks/utils/NetworkStatusFactoryTest.kt index d98d2909bf..95ef1aad93 100644 --- a/data/networks/src/test/java/com/tangem/data/networks/utils/NetworkStatusFactoryTest.kt +++ b/data/networks/src/test/java/com/tangem/data/networks/utils/NetworkStatusFactoryTest.kt @@ -8,9 +8,9 @@ import com.tangem.domain.models.StatusSource import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.domain.models.network.Network import com.tangem.domain.models.network.TxInfo -import com.tangem.domain.tokens.model.CryptoCurrencyAmountStatus import com.tangem.domain.tokens.model.NetworkAddress import com.tangem.domain.tokens.model.NetworkStatus +import com.tangem.domain.tokens.model.NetworkStatus.Amount import com.tangem.domain.walletmanager.model.Address import com.tangem.domain.walletmanager.model.UpdateWalletManagerResult import org.junit.Test @@ -214,8 +214,8 @@ internal class NetworkStatusFactoryTest(private val model: Model) { ), ), amounts = mapOf( - currencies.first().id to CryptoCurrencyAmountStatus.Loaded(BigDecimal.ONE), - currencies.last().id to CryptoCurrencyAmountStatus.NotFound, + currencies.first().id to Amount.Loaded(BigDecimal.ONE), + currencies.last().id to Amount.NotFound, ), pendingTransactions = mapOf( currencies.first().id to setOf(txInfo), diff --git a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrencyAmountStatus.kt b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrencyAmountStatus.kt deleted file mode 100644 index bfb7bbc16c..0000000000 --- a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrencyAmountStatus.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.tangem.domain.tokens.model - -import java.math.BigDecimal - -/** - * Represents possible statuses of cryptocurrency amount. - */ -sealed class CryptoCurrencyAmountStatus { - - data class Loaded(val value: BigDecimal) : CryptoCurrencyAmountStatus() - - data object NotFound : CryptoCurrencyAmountStatus() -} \ No newline at end of file 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 b89ca5d060..0f543d0706 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 @@ -58,7 +58,7 @@ data class NetworkStatus(val network: Network, val value: Value) { */ data class Verified( val address: NetworkAddress, - val amounts: Map, + val amounts: Map, val pendingTransactions: Map>, override val source: StatusSource, ) : Value() @@ -77,4 +77,18 @@ data class NetworkStatus(val network: Network, val value: Value) { val errorMessage: String, override val source: StatusSource, ) : Value() + + /** Represents possible statuses of cryptocurrency amount */ + sealed interface Amount { + + /** + * Loaded amount + * + * @property value amount value + */ + data class Loaded(val value: BigDecimal) : Amount + + /** Amount which failed to load */ + data object NotFound : Amount + } } \ No newline at end of file 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 6ea23176b9..ed30e7a13c 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 @@ -3,7 +3,6 @@ package com.tangem.domain.tokens.operations import com.tangem.domain.models.StatusSource import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.domain.staking.model.stakekit.YieldBalance -import com.tangem.domain.tokens.model.CryptoCurrencyAmountStatus import com.tangem.domain.tokens.model.CryptoCurrencyStatus import com.tangem.domain.tokens.model.NetworkStatus import com.tangem.domain.tokens.model.Quote @@ -75,10 +74,10 @@ internal class CurrencyStatusOperations( null -> { return CryptoCurrencyStatus.Loading } - is CryptoCurrencyAmountStatus.NotFound -> { + is NetworkStatus.Amount.NotFound -> { return CryptoCurrencyStatus.NoAmount(priceChange = quote?.priceChange, fiatRate = quote?.fiatRate) } - is CryptoCurrencyAmountStatus.Loaded -> amount.value + is NetworkStatus.Amount.Loaded -> amount.value } val hasCurrentNetworkTransactions = networkStatusValue.pendingTransactions.isNotEmpty() 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 f98757b8a5..b22faf1592 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 @@ -4,9 +4,9 @@ import arrow.core.NonEmptySet import arrow.core.nonEmptySetOf import com.tangem.domain.models.StatusSource import com.tangem.domain.models.network.Network -import com.tangem.domain.tokens.model.CryptoCurrencyAmountStatus import com.tangem.domain.tokens.model.NetworkAddress import com.tangem.domain.tokens.model.NetworkStatus +import com.tangem.domain.tokens.model.NetworkStatus.Amount import java.math.BigDecimal internal object MockNetworks { @@ -85,9 +85,9 @@ internal object MockNetworks { get() = networkStatus1.copy( value = NetworkStatus.Verified( amounts = mapOf( - MockTokens.token1.id to CryptoCurrencyAmountStatus.Loaded(BigDecimal.TEN), - MockTokens.token2.id to CryptoCurrencyAmountStatus.Loaded(BigDecimal.TEN), - MockTokens.token3.id to CryptoCurrencyAmountStatus.Loaded(BigDecimal.TEN), + MockTokens.token1.id to Amount.Loaded(BigDecimal.TEN), + MockTokens.token2.id to Amount.Loaded(BigDecimal.TEN), + MockTokens.token3.id to Amount.Loaded(BigDecimal.TEN), ), pendingTransactions = emptyMap(), address = NetworkAddress.Single( @@ -101,9 +101,9 @@ internal object MockNetworks { get() = networkStatus2.copy( value = NetworkStatus.Verified( amounts = mapOf( - MockTokens.token4.id to CryptoCurrencyAmountStatus.Loaded(BigDecimal.TEN), - MockTokens.token5.id to CryptoCurrencyAmountStatus.Loaded(BigDecimal.TEN), - MockTokens.token6.id to CryptoCurrencyAmountStatus.Loaded(BigDecimal.TEN), + MockTokens.token4.id to Amount.Loaded(BigDecimal.TEN), + MockTokens.token5.id to Amount.Loaded(BigDecimal.TEN), + MockTokens.token6.id to Amount.Loaded(BigDecimal.TEN), ), pendingTransactions = emptyMap(), address = NetworkAddress.Single( @@ -117,10 +117,10 @@ internal object MockNetworks { get() = networkStatus3.copy( value = NetworkStatus.Verified( amounts = mapOf( - MockTokens.token7.id to CryptoCurrencyAmountStatus.Loaded(BigDecimal.TEN), - MockTokens.token8.id to CryptoCurrencyAmountStatus.Loaded(BigDecimal.TEN), - MockTokens.token9.id to CryptoCurrencyAmountStatus.Loaded(BigDecimal.TEN), - MockTokens.token10.id to CryptoCurrencyAmountStatus.Loaded(BigDecimal.TEN), + MockTokens.token7.id to Amount.Loaded(BigDecimal.TEN), + MockTokens.token8.id to Amount.Loaded(BigDecimal.TEN), + MockTokens.token9.id to Amount.Loaded(BigDecimal.TEN), + MockTokens.token10.id to Amount.Loaded(BigDecimal.TEN), ), pendingTransactions = emptyMap(), address = NetworkAddress.Single( 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 1d660b3156..1c423171b6 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 @@ -1,7 +1,10 @@ package com.tangem.domain.tokens.mock import arrow.core.nonEmptyListOf -import com.tangem.domain.tokens.model.* +import com.tangem.domain.tokens.model.CryptoCurrencyStatus +import com.tangem.domain.tokens.model.NetworkAddress +import com.tangem.domain.tokens.model.NetworkStatus +import com.tangem.domain.tokens.model.Quote import java.math.BigDecimal @Suppress("MemberVisibilityCanBePrivate") @@ -138,7 +141,7 @@ internal object MockTokensStates { .first { it.network == status.currency.network } val amount = ( (networkStatus.value as NetworkStatus.Verified).amounts[status.currency.id]!! - as? CryptoCurrencyAmountStatus.Loaded + as? NetworkStatus.Amount.Loaded )?.value ?: BigDecimal.ZERO val quote = MockQuotes.quotes.first { it.rawCurrencyId == status.currency.id.rawCurrencyId } diff --git a/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/AssociateAssetUseCase.kt b/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/AssociateAssetUseCase.kt index 3a36ade206..33f8996f6a 100644 --- a/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/AssociateAssetUseCase.kt +++ b/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/AssociateAssetUseCase.kt @@ -8,7 +8,6 @@ import com.tangem.domain.card.repository.CardSdkConfigRepository import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.domain.networks.single.SingleNetworkStatusProducer import com.tangem.domain.networks.single.SingleNetworkStatusSupplier -import com.tangem.domain.tokens.model.CryptoCurrencyAmountStatus import com.tangem.domain.tokens.model.NetworkStatus import com.tangem.domain.tokens.repository.CurrenciesRepository import com.tangem.domain.transaction.error.AssociateAssetError @@ -67,7 +66,7 @@ class AssociateAssetUseCase( ?.amounts ?.get(currency.id) - return networkCoinAmountStatus is CryptoCurrencyAmountStatus.Loaded && + return networkCoinAmountStatus is NetworkStatus.Amount.Loaded && networkCoinAmountStatus.value.isNullOrZero() } } \ No newline at end of file