diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/note/redux/OnboardingNoteState.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/note/redux/OnboardingNoteState.kt index c111b83470..27310efe16 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/note/redux/OnboardingNoteState.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/note/redux/OnboardingNoteState.kt @@ -1,8 +1,10 @@ package com.tangem.tap.features.onboarding.products.note.redux +import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.WalletManager import com.tangem.tap.domain.TapError import com.tangem.tap.features.onboarding.OnboardingWalletBalance +import com.tangem.tap.network.moonpay.MoonpayStatus import com.tangem.tap.store import org.rekotlin.StateType import kotlin.properties.ReadOnlyProperty @@ -26,10 +28,16 @@ data class OnboardingNoteState( get() = steps.indexOf(currentStep) val isBuyAllowed: Boolean by ReadOnlyProperty { thisRef, property -> - store.state.globalState.moonpayStatus?.isBuyAllowed ?: false + store.state.globalState.moonpayStatus?.canBuy(walletBalance) ?: false } } +fun MoonpayStatus.canBuy(walletBalance: OnboardingWalletBalance): Boolean { + if (walletBalance.currency.blockchain == Blockchain.Unknown) return false + + return isBuyAllowed && availableToBuy.contains(walletBalance.currency.currencySymbol) +} + enum class OnboardingNoteStep { None, CreateWallet, TopUpWallet, Done } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt index 84ab30a9d8..6f7d27ec14 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt @@ -5,6 +5,7 @@ import com.tangem.tap.domain.TapError import com.tangem.tap.domain.twins.TwinCardNumber import com.tangem.tap.domain.twins.TwinCardsManager import com.tangem.tap.features.onboarding.OnboardingWalletBalance +import com.tangem.tap.features.onboarding.products.note.redux.canBuy import com.tangem.tap.store import org.rekotlin.StateType import kotlin.properties.ReadOnlyProperty @@ -56,7 +57,7 @@ data class TwinCardsState( get() = currentStep == TwinCardsStep.CreateSecondWallet || currentStep == TwinCardsStep.CreateThirdWallet val isBuyAllowed: Boolean by ReadOnlyProperty { thisRef, property -> - store.state.globalState.moonpayStatus?.isBuyAllowed ?: false + store.state.globalState.moonpayStatus?.canBuy(walletBalance) ?: false } }