From 1c18447f3954cfb14e38fefbd3dc7c3248610ca3 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 3 Jul 2023 10:57:25 +0300 Subject: [PATCH 1/2] Updated on 2026-08-14 --- .../configs/feature_toggles_config.json | 4 ++ .../data/DefaultLearn2earnRepository.kt | 2 + .../data/api/Learn2earnRepository.kt | 3 + .../data/di/Learn2earnDataModule.kt | 17 ++++++ .../DevLearn2earnFeatureToggleManager.kt | 10 ++++ .../toggles/Learn2earnFeatureToggleManager.kt | 11 ++++ .../ProdLearn2earnFeatureToggleManager.kt | 14 +++++ .../domain/DefaultLearn2earnInteractor.kt | 56 +++++++++++-------- 8 files changed, 93 insertions(+), 24 deletions(-) create mode 100644 features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt create mode 100644 features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/Learn2earnFeatureToggleManager.kt create mode 100644 features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/ProdLearn2earnFeatureToggleManager.kt diff --git a/core/featuretoggles/src/main/assets/configs/feature_toggles_config.json b/core/featuretoggles/src/main/assets/configs/feature_toggles_config.json index ab2ed7ee14..9a45d3070f 100644 --- a/core/featuretoggles/src/main/assets/configs/feature_toggles_config.json +++ b/core/featuretoggles/src/main/assets/configs/feature_toggles_config.json @@ -14,5 +14,9 @@ { "name": "REDESIGNED_WALLET_SCREEN_ENABLED", "version": "undefined" + }, + { + "name": "1INCH_LEARN_2_EARN_ENABLED", + "version": "undefined" } ] \ No newline at end of file diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt index c10f0d57bb..971d2b741d 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt @@ -6,6 +6,7 @@ import com.tangem.datasource.api.promotion.models.* import com.tangem.feature.learn2earn.data.api.Learn2earnPreferenceStorage import com.tangem.feature.learn2earn.data.api.Learn2earnRepository import com.tangem.feature.learn2earn.data.models.PromoUserData +import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager import com.tangem.utils.coroutines.AppCoroutineDispatcherProvider import kotlinx.coroutines.withContext import timber.log.Timber @@ -14,6 +15,7 @@ import timber.log.Timber [REDACTED_AUTHOR] */ internal class DefaultLearn2earnRepository( + override val featureToggleManager: Learn2earnFeatureToggleManager, private val preferencesStorage: Learn2earnPreferenceStorage, private val api: PromotionApi, private val dispatchers: AppCoroutineDispatcherProvider, diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt index 06e95628d7..442106b597 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt @@ -2,12 +2,15 @@ package com.tangem.feature.learn2earn.data.api import com.tangem.datasource.api.promotion.models.* import com.tangem.feature.learn2earn.data.models.PromoUserData +import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager /** [REDACTED_AUTHOR] */ interface Learn2earnRepository { + val featureToggleManager: Learn2earnFeatureToggleManager + fun getUserData(): PromoUserData fun updateUserData(userData: PromoUserData) diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt index 98cb9f1b9c..a27766ed01 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt @@ -2,6 +2,7 @@ package com.tangem.feature.learn2earn.data.di import android.content.Context import com.squareup.moshi.Moshi +import com.tangem.core.featuretoggle.manager.FeatureTogglesManager import com.tangem.datasource.api.promotion.PromotionApi import com.tangem.datasource.di.NetworkMoshi import com.tangem.datasource.di.PromotionOneInch @@ -9,6 +10,10 @@ import com.tangem.feature.learn2earn.data.DefaultLearn2earnRepository import com.tangem.feature.learn2earn.data.DefaultPreferenceStorage import com.tangem.feature.learn2earn.data.api.Learn2earnPreferenceStorage import com.tangem.feature.learn2earn.data.api.Learn2earnRepository +import com.tangem.feature.learn2earn.data.toggles.DevLearn2earnFeatureToggleManager +import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager +import com.tangem.feature.learn2earn.data.toggles.ProdLearn2earnFeatureToggleManager +import com.tangem.feature.learn2earn.impl.BuildConfig import com.tangem.utils.coroutines.AppCoroutineDispatcherProvider import dagger.Module import dagger.Provides @@ -21,6 +26,16 @@ import javax.inject.Singleton @InstallIn(SingletonComponent::class) class Learn2earnDataModule { + @Provides + @Singleton + fun provideFeatureToggle(featureToggleManager: FeatureTogglesManager): Learn2earnFeatureToggleManager { + return if (BuildConfig.DEBUG) { + DevLearn2earnFeatureToggleManager() + } else { + ProdLearn2earnFeatureToggleManager(featureToggleManager) + } + } + @Provides @Singleton fun providePreferenceStorage(@ApplicationContext context: Context): Learn2earnPreferenceStorage { @@ -30,12 +45,14 @@ class Learn2earnDataModule { @Provides @Singleton fun provideRepository( + featureToggleManager: Learn2earnFeatureToggleManager, preferenceStorage: Learn2earnPreferenceStorage, @NetworkMoshi moshi: Moshi, @PromotionOneInch promotionApi: PromotionApi, dispatchers: AppCoroutineDispatcherProvider, ): Learn2earnRepository { return DefaultLearn2earnRepository( + featureToggleManager = featureToggleManager, preferencesStorage = preferenceStorage, api = promotionApi, dispatchers = dispatchers, diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt new file mode 100644 index 0000000000..79cfec1eb8 --- /dev/null +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt @@ -0,0 +1,10 @@ +package com.tangem.feature.learn2earn.data.toggles + +/** +[REDACTED_AUTHOR] + */ +class DevLearn2earnFeatureToggleManager : Learn2earnFeatureToggleManager { + + override val isLearn2earnEnabled: Boolean + get() = true +} \ No newline at end of file diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/Learn2earnFeatureToggleManager.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/Learn2earnFeatureToggleManager.kt new file mode 100644 index 0000000000..64f5c4abfc --- /dev/null +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/Learn2earnFeatureToggleManager.kt @@ -0,0 +1,11 @@ +package com.tangem.feature.learn2earn.data.toggles + +/** + * Feature toggles manager implementation of "learn2earn" feature + * +[REDACTED_AUTHOR] + */ +interface Learn2earnFeatureToggleManager { + + val isLearn2earnEnabled: Boolean +} \ No newline at end of file diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/ProdLearn2earnFeatureToggleManager.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/ProdLearn2earnFeatureToggleManager.kt new file mode 100644 index 0000000000..400cae57b8 --- /dev/null +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/ProdLearn2earnFeatureToggleManager.kt @@ -0,0 +1,14 @@ +package com.tangem.feature.learn2earn.data.toggles + +import com.tangem.core.featuretoggle.manager.FeatureTogglesManager + +/** +[REDACTED_AUTHOR] + */ +class ProdLearn2earnFeatureToggleManager( + private val featureTogglesManager: FeatureTogglesManager, +) : Learn2earnFeatureToggleManager { + + override val isLearn2earnEnabled: Boolean + get() = featureTogglesManager.isFeatureEnabled(name = "1INCH_LEARN_2_EARN_ENABLED") +} \ No newline at end of file diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt index 7bfc706242..6031624216 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt @@ -207,6 +207,7 @@ class DefaultLearn2earnInteractor( private fun promotionIsActive(): Boolean { val userData = repository.getUserData() val isActive = when { + !repository.featureToggleManager.isLearn2earnEnabled -> false userData.isAlreadyReceivedAward -> false promotion.isError() -> false else -> { @@ -219,34 +220,41 @@ class DefaultLearn2earnInteractor( } private suspend fun initPromotionInfo() { - promotion = repository.getPromotionInfo() - .fold( - onSuccess = { response -> - val responseError = response.error - if (responseError == null) { - val npeMessage = { "Shouldn't be null" } - Promotion( - info = Promotion.PromotionInfo( - newCard = requireNotNull(response.newCard, npeMessage), - oldCard = requireNotNull(response.oldCard, npeMessage), - awardPaymentToken = requireNotNull(response.awardPaymentToken, npeMessage), - ), - error = null, - ) - } else { + promotion = if (repository.featureToggleManager.isLearn2earnEnabled) { + repository.getPromotionInfo() + .fold( + onSuccess = { response -> + val responseError = response.error + if (responseError == null) { + val npeMessage = { "Shouldn't be null" } + Promotion( + info = Promotion.PromotionInfo( + newCard = requireNotNull(response.newCard, npeMessage), + oldCard = requireNotNull(response.oldCard, npeMessage), + awardPaymentToken = requireNotNull(response.awardPaymentToken, npeMessage), + ), + error = null, + ) + } else { + Promotion( + info = null, + error = responseError.toDomainError(), + ) + } + }, + onFailure = { Promotion( info = null, - error = responseError.toDomainError(), + error = PromotionError.NetworkUnreachable, ) - } - }, - onFailure = { - Promotion( - info = null, - error = PromotionError.NetworkUnreachable, - ) - }, + }, + ) + } else { + Promotion( + info = null, + error = null, ) + } } private fun getCurrencyForAward(): Currency? { From 67261ac8051cce37e417ed135a60ea2731464f76 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 3 Jul 2023 13:35:16 +0300 Subject: [PATCH 2/2] Updated on 2026-08-14 --- .../data/DefaultLearn2earnRepository.kt | 2 -- .../data/api/Learn2earnRepository.kt | 3 --- .../data/di/Learn2earnDataModule.kt | 19 +------------------ ... DefaultLearn2earnFeatureToggleManager.kt} | 2 +- .../DevLearn2earnFeatureToggleManager.kt | 10 ---------- .../domain/DefaultLearn2earnInteractor.kt | 6 ++++-- .../domain/di/Learn2earnDomainModule.kt | 11 +++++++++++ 7 files changed, 17 insertions(+), 36 deletions(-) rename features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/{ProdLearn2earnFeatureToggleManager.kt => DefaultLearn2earnFeatureToggleManager.kt} (87%) delete mode 100644 features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt index 971d2b741d..c10f0d57bb 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt @@ -6,7 +6,6 @@ import com.tangem.datasource.api.promotion.models.* import com.tangem.feature.learn2earn.data.api.Learn2earnPreferenceStorage import com.tangem.feature.learn2earn.data.api.Learn2earnRepository import com.tangem.feature.learn2earn.data.models.PromoUserData -import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager import com.tangem.utils.coroutines.AppCoroutineDispatcherProvider import kotlinx.coroutines.withContext import timber.log.Timber @@ -15,7 +14,6 @@ import timber.log.Timber [REDACTED_AUTHOR] */ internal class DefaultLearn2earnRepository( - override val featureToggleManager: Learn2earnFeatureToggleManager, private val preferencesStorage: Learn2earnPreferenceStorage, private val api: PromotionApi, private val dispatchers: AppCoroutineDispatcherProvider, diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt index 442106b597..06e95628d7 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt @@ -2,15 +2,12 @@ package com.tangem.feature.learn2earn.data.api import com.tangem.datasource.api.promotion.models.* import com.tangem.feature.learn2earn.data.models.PromoUserData -import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager /** [REDACTED_AUTHOR] */ interface Learn2earnRepository { - val featureToggleManager: Learn2earnFeatureToggleManager - fun getUserData(): PromoUserData fun updateUserData(userData: PromoUserData) diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt index a27766ed01..186b3c8458 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt @@ -2,7 +2,6 @@ package com.tangem.feature.learn2earn.data.di import android.content.Context import com.squareup.moshi.Moshi -import com.tangem.core.featuretoggle.manager.FeatureTogglesManager import com.tangem.datasource.api.promotion.PromotionApi import com.tangem.datasource.di.NetworkMoshi import com.tangem.datasource.di.PromotionOneInch @@ -10,10 +9,6 @@ import com.tangem.feature.learn2earn.data.DefaultLearn2earnRepository import com.tangem.feature.learn2earn.data.DefaultPreferenceStorage import com.tangem.feature.learn2earn.data.api.Learn2earnPreferenceStorage import com.tangem.feature.learn2earn.data.api.Learn2earnRepository -import com.tangem.feature.learn2earn.data.toggles.DevLearn2earnFeatureToggleManager -import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager -import com.tangem.feature.learn2earn.data.toggles.ProdLearn2earnFeatureToggleManager -import com.tangem.feature.learn2earn.impl.BuildConfig import com.tangem.utils.coroutines.AppCoroutineDispatcherProvider import dagger.Module import dagger.Provides @@ -24,17 +19,7 @@ import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) -class Learn2earnDataModule { - - @Provides - @Singleton - fun provideFeatureToggle(featureToggleManager: FeatureTogglesManager): Learn2earnFeatureToggleManager { - return if (BuildConfig.DEBUG) { - DevLearn2earnFeatureToggleManager() - } else { - ProdLearn2earnFeatureToggleManager(featureToggleManager) - } - } +internal class Learn2earnDataModule { @Provides @Singleton @@ -45,14 +30,12 @@ class Learn2earnDataModule { @Provides @Singleton fun provideRepository( - featureToggleManager: Learn2earnFeatureToggleManager, preferenceStorage: Learn2earnPreferenceStorage, @NetworkMoshi moshi: Moshi, @PromotionOneInch promotionApi: PromotionApi, dispatchers: AppCoroutineDispatcherProvider, ): Learn2earnRepository { return DefaultLearn2earnRepository( - featureToggleManager = featureToggleManager, preferencesStorage = preferenceStorage, api = promotionApi, dispatchers = dispatchers, diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/ProdLearn2earnFeatureToggleManager.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DefaultLearn2earnFeatureToggleManager.kt similarity index 87% rename from features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/ProdLearn2earnFeatureToggleManager.kt rename to features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DefaultLearn2earnFeatureToggleManager.kt index 400cae57b8..19306c2aed 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/ProdLearn2earnFeatureToggleManager.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DefaultLearn2earnFeatureToggleManager.kt @@ -5,7 +5,7 @@ import com.tangem.core.featuretoggle.manager.FeatureTogglesManager /** [REDACTED_AUTHOR] */ -class ProdLearn2earnFeatureToggleManager( +internal class DefaultLearn2earnFeatureToggleManager( private val featureTogglesManager: FeatureTogglesManager, ) : Learn2earnFeatureToggleManager { diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt deleted file mode 100644 index 79cfec1eb8..0000000000 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.tangem.feature.learn2earn.data.toggles - -/** -[REDACTED_AUTHOR] - */ -class DevLearn2earnFeatureToggleManager : Learn2earnFeatureToggleManager { - - override val isLearn2earnEnabled: Boolean - get() = true -} \ No newline at end of file diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt index 6031624216..90d279f90f 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt @@ -5,6 +5,7 @@ import com.tangem.datasource.api.promotion.models.AbstractPromotionResponse import com.tangem.datasource.api.promotion.models.PromotionInfoResponse import com.tangem.feature.learn2earn.data.api.Learn2earnRepository import com.tangem.feature.learn2earn.data.models.PromoUserData +import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager import com.tangem.feature.learn2earn.domain.api.* import com.tangem.feature.learn2earn.domain.models.Promotion import com.tangem.feature.learn2earn.domain.models.PromotionError @@ -17,6 +18,7 @@ import com.tangem.lib.crypto.models.Currency [REDACTED_AUTHOR] */ class DefaultLearn2earnInteractor( + private val featureToggleManager: Learn2earnFeatureToggleManager, private val repository: Learn2earnRepository, private val userWalletManager: UserWalletManager, private val derivationManager: DerivationManager, @@ -207,7 +209,7 @@ class DefaultLearn2earnInteractor( private fun promotionIsActive(): Boolean { val userData = repository.getUserData() val isActive = when { - !repository.featureToggleManager.isLearn2earnEnabled -> false + !featureToggleManager.isLearn2earnEnabled -> false userData.isAlreadyReceivedAward -> false promotion.isError() -> false else -> { @@ -220,7 +222,7 @@ class DefaultLearn2earnInteractor( } private suspend fun initPromotionInfo() { - promotion = if (repository.featureToggleManager.isLearn2earnEnabled) { + promotion = if (featureToggleManager.isLearn2earnEnabled) { repository.getPromotionInfo() .fold( onSuccess = { response -> diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/di/Learn2earnDomainModule.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/di/Learn2earnDomainModule.kt index 7ae76d3a19..7f48ea304a 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/di/Learn2earnDomainModule.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/di/Learn2earnDomainModule.kt @@ -1,7 +1,10 @@ package com.tangem.feature.learn2earn.domain.di import android.content.Context +import com.tangem.core.featuretoggle.manager.FeatureTogglesManager import com.tangem.feature.learn2earn.data.api.Learn2earnRepository +import com.tangem.feature.learn2earn.data.toggles.DefaultLearn2earnFeatureToggleManager +import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager import com.tangem.feature.learn2earn.domain.DefaultLearn2earnInteractor import com.tangem.feature.learn2earn.domain.api.Learn2earnDependencyProvider import com.tangem.feature.learn2earn.domain.api.Learn2earnInteractor @@ -26,15 +29,23 @@ class Learn2earnDomainModule { return Learn2earnRouter(context) } + @Provides + @Singleton + fun provideFeatureToggle(featureToggleManager: FeatureTogglesManager): Learn2earnFeatureToggleManager { + return DefaultLearn2earnFeatureToggleManager(featureToggleManager) + } + @Provides @Singleton fun provideInteractor( + featureToggleManager: Learn2earnFeatureToggleManager, repository: Learn2earnRepository, dependencyProvider: Learn2earnDependencyProvider, userWalletManager: UserWalletManager, derivationManager: DerivationManager, ): Learn2earnInteractor { return DefaultLearn2earnInteractor( + featureToggleManager = featureToggleManager, repository = repository, userWalletManager = userWalletManager, derivationManager = derivationManager,