Updated on 2026-08-14
This commit is contained in:
parent
5299629221
commit
2fb5b86505
107 changed files with 228 additions and 227 deletions
|
|
@ -5,7 +5,7 @@ import androidx.appcompat.app.AppCompatActivity
|
||||||
import com.arkivanov.decompose.defaultComponentContext
|
import com.arkivanov.decompose.defaultComponentContext
|
||||||
import com.tangem.core.decompose.context.AppComponentContext
|
import com.tangem.core.decompose.context.AppComponentContext
|
||||||
import com.tangem.core.decompose.context.DefaultAppComponentContext
|
import com.tangem.core.decompose.context.DefaultAppComponentContext
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.di.GlobalUiMessageSender
|
import com.tangem.core.decompose.di.GlobalUiMessageSender
|
||||||
import com.tangem.core.decompose.di.RootAppComponentContext
|
import com.tangem.core.decompose.di.RootAppComponentContext
|
||||||
import com.tangem.core.decompose.ui.UiMessageSender
|
import com.tangem.core.decompose.ui.UiMessageSender
|
||||||
|
|
@ -27,7 +27,7 @@ internal object RootAppComponentContextModule {
|
||||||
fun provideRootAppComponentContext(
|
fun provideRootAppComponentContext(
|
||||||
@ActivityContext context: Context,
|
@ActivityContext context: Context,
|
||||||
dispatchers: CoroutineDispatcherProvider,
|
dispatchers: CoroutineDispatcherProvider,
|
||||||
componentBuilder: DecomposeComponent.Builder,
|
componentBuilder: ModelComponent.Builder,
|
||||||
@GlobalUiMessageSender messageSender: UiMessageSender,
|
@GlobalUiMessageSender messageSender: UiMessageSender,
|
||||||
): AppComponentContext {
|
): AppComponentContext {
|
||||||
return DefaultAppComponentContext(
|
return DefaultAppComponentContext(
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.tap.features.details.ui.appcurrency.model
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.routing.AppRouter
|
import com.tangem.common.routing.AppRouter
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.domain.appcurrency.GetAvailableCurrenciesUseCase
|
import com.tangem.domain.appcurrency.GetAvailableCurrenciesUseCase
|
||||||
import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase
|
import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase
|
||||||
|
|
@ -19,7 +19,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class AppCurrencySelectorModel @Inject constructor(
|
internal class AppCurrencySelectorModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val getSelectedAppCurrencyUseCase: GetSelectedAppCurrencyUseCase,
|
private val getSelectedAppCurrencyUseCase: GetSelectedAppCurrencyUseCase,
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,13 @@ package com.tangem.tap.features.details.ui.appsettings.analytics
|
||||||
|
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.analytics.models.AnalyticsEvent
|
import com.tangem.core.analytics.models.AnalyticsEvent
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.tap.common.analytics.events.Settings
|
import com.tangem.tap.common.analytics.events.Settings
|
||||||
import com.tangem.tap.features.details.ui.appsettings.AppSettingsItemsFactory
|
import com.tangem.tap.features.details.ui.appsettings.AppSettingsItemsFactory
|
||||||
import com.tangem.tap.features.details.ui.appsettings.AppSettingsScreenState
|
import com.tangem.tap.features.details.ui.appsettings.AppSettingsScreenState
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class AppSettingsItemsAnalyticsSender @Inject constructor(
|
internal class AppSettingsItemsAnalyticsSender @Inject constructor(
|
||||||
private val analyticsHandler: AnalyticsEventHandler,
|
private val analyticsHandler: AnalyticsEventHandler,
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.tap.features.details.ui.appsettings.model
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
import com.tangem.domain.appcurrency.repository.AppCurrencyRepository
|
import com.tangem.domain.appcurrency.repository.AppCurrencyRepository
|
||||||
|
|
@ -40,7 +40,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class AppSettingsModel @Inject constructor(
|
internal class AppSettingsModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val appCurrencyRepository: AppCurrencyRepository,
|
private val appCurrencyRepository: AppCurrencyRepository,
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.doOnSuccess
|
import com.tangem.common.doOnSuccess
|
||||||
import com.tangem.common.routing.AppRouter
|
import com.tangem.common.routing.AppRouter
|
||||||
import com.tangem.core.analytics.Analytics
|
import com.tangem.core.analytics.Analytics
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.domain.common.util.cardTypesResolver
|
import com.tangem.domain.common.util.cardTypesResolver
|
||||||
import com.tangem.sdk.api.TangemSdkManager
|
import com.tangem.sdk.api.TangemSdkManager
|
||||||
|
|
@ -22,7 +22,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class AccessCodeRecoveryModel @Inject constructor(
|
internal class AccessCodeRecoveryModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val tangemSdkManager: TangemSdkManager,
|
private val tangemSdkManager: TangemSdkManager,
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import com.tangem.common.doOnSuccess
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.common.routing.AppRouter
|
import com.tangem.common.routing.AppRouter
|
||||||
import com.tangem.core.analytics.Analytics
|
import com.tangem.core.analytics.Analytics
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.domain.card.ScanCardProcessor
|
import com.tangem.domain.card.ScanCardProcessor
|
||||||
|
|
@ -45,7 +45,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class CardSettingsModel @Inject constructor(
|
internal class CardSettingsModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import arrow.core.getOrElse
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.common.routing.utils.popTo
|
import com.tangem.common.routing.utils.popTo
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.domain.card.DeleteSavedAccessCodesUseCase
|
import com.tangem.domain.card.DeleteSavedAccessCodesUseCase
|
||||||
|
|
@ -37,7 +37,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class ResetCardModel @Inject constructor(
|
internal class ResetCardModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import com.tangem.common.CompletionResult
|
||||||
import com.tangem.common.core.TangemSdkError
|
import com.tangem.common.core.TangemSdkError
|
||||||
import com.tangem.common.routing.AppRouter
|
import com.tangem.common.routing.AppRouter
|
||||||
import com.tangem.core.analytics.Analytics
|
import com.tangem.core.analytics.Analytics
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.domain.common.util.cardTypesResolver
|
import com.tangem.domain.common.util.cardTypesResolver
|
||||||
import com.tangem.sdk.api.TangemSdkManager
|
import com.tangem.sdk.api.TangemSdkManager
|
||||||
|
|
@ -25,7 +25,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class SecurityModeModel @Inject constructor(
|
internal class SecurityModeModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val tangemSdkManager: TangemSdkManager,
|
private val tangemSdkManager: TangemSdkManager,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.tap.features.details.ui.walletconnect
|
||||||
|
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.ui.clipboard.ClipboardManager
|
import com.tangem.core.ui.clipboard.ClipboardManager
|
||||||
import com.tangem.domain.qrscanning.models.SourceType
|
import com.tangem.domain.qrscanning.models.SourceType
|
||||||
|
|
@ -18,7 +18,7 @@ import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class WalletConnectModel @Inject constructor(
|
internal class WalletConnectModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val listenToQrScanningUseCase: ListenToQrScanningUseCase,
|
private val listenToQrScanningUseCase: ListenToQrScanningUseCase,
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import com.tangem.core.analytics.Analytics
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.analytics.models.AnalyticsParam
|
import com.tangem.core.analytics.models.AnalyticsParam
|
||||||
import com.tangem.core.analytics.models.Basic
|
import com.tangem.core.analytics.models.Basic
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.navigation.url.UrlOpener
|
import com.tangem.core.navigation.url.UrlOpener
|
||||||
import com.tangem.domain.card.ScanCardProcessor
|
import com.tangem.domain.card.ScanCardProcessor
|
||||||
|
|
@ -40,7 +40,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class HomeModel @Inject constructor(
|
internal class HomeModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val scanCardProcessor: ScanCardProcessor,
|
private val scanCardProcessor: ScanCardProcessor,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.tap.features.welcome.di
|
package com.tangem.tap.features.welcome.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.tap.features.welcome.model.WelcomeModel
|
import com.tangem.tap.features.welcome.model.WelcomeModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface ModelModule {
|
internal interface ModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.core.decompose.context
|
||||||
|
|
||||||
import com.arkivanov.decompose.ComponentContext
|
import com.arkivanov.decompose.ComponentContext
|
||||||
import com.arkivanov.essenty.instancekeeper.getOrCreate
|
import com.arkivanov.essenty.instancekeeper.getOrCreate
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.navigation.AppNavigationProvider
|
import com.tangem.core.decompose.navigation.AppNavigationProvider
|
||||||
import com.tangem.core.decompose.navigation.DefaultAppNavigationProvider
|
import com.tangem.core.decompose.navigation.DefaultAppNavigationProvider
|
||||||
import com.tangem.core.decompose.navigation.DefaultRouter
|
import com.tangem.core.decompose.navigation.DefaultRouter
|
||||||
|
|
@ -15,7 +15,7 @@ import kotlinx.coroutines.CoroutineScope
|
||||||
class DefaultAppComponentContext(
|
class DefaultAppComponentContext(
|
||||||
componentContext: ComponentContext,
|
componentContext: ComponentContext,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
override val hiltComponentBuilder: DecomposeComponent.Builder,
|
override val hiltComponentBuilder: ModelComponent.Builder,
|
||||||
override val messageSender: UiMessageSender,
|
override val messageSender: UiMessageSender,
|
||||||
private val replaceRouter: Router? = null,
|
private val replaceRouter: Router? = null,
|
||||||
) : AppComponentContext, ComponentContext by componentContext {
|
) : AppComponentContext, ComponentContext by componentContext {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
package com.tangem.core.decompose.di
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Annotation for marking a dependency as a component scoped.
|
|
||||||
*
|
|
||||||
* This means that the lifecycle of the dependency is limited to the lifecycle of the component it is attached to.
|
|
||||||
*/
|
|
||||||
@Retention(AnnotationRetention.SOURCE)
|
|
||||||
annotation class ComponentScoped
|
|
||||||
|
|
@ -8,5 +8,5 @@ interface HiltComponentBuilderOwner {
|
||||||
/**
|
/**
|
||||||
* Provides access to the Hilt component builder instance.
|
* Provides access to the Hilt component builder instance.
|
||||||
*/
|
*/
|
||||||
val hiltComponentBuilder: DecomposeComponent.Builder
|
val hiltComponentBuilder: ModelComponent.Builder
|
||||||
}
|
}
|
||||||
|
|
@ -10,11 +10,11 @@ import dagger.hilt.components.SingletonComponent
|
||||||
/**
|
/**
|
||||||
* Interface for the Decompose component.
|
* Interface for the Decompose component.
|
||||||
*
|
*
|
||||||
* It is annotated as [ComponentScoped], meaning it has a lifecycle that is scoped to the component.
|
* It is annotated as [ModelScoped], meaning it has a lifecycle that is scoped to the component.
|
||||||
*/
|
*/
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
@DefineComponent(parent = SingletonComponent::class)
|
@DefineComponent(parent = SingletonComponent::class)
|
||||||
interface DecomposeComponent {
|
interface ModelComponent {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builder interface for the component.
|
* Builder interface for the component.
|
||||||
|
|
@ -51,6 +51,6 @@ interface DecomposeComponent {
|
||||||
*
|
*
|
||||||
* @return The built Decompose component.
|
* @return The built Decompose component.
|
||||||
*/
|
*/
|
||||||
fun build(): DecomposeComponent
|
fun build(): ModelComponent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.tangem.core.decompose.di
|
||||||
|
|
||||||
|
import javax.inject.Scope
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Annotation for marking a dependency as a model scoped.
|
||||||
|
*
|
||||||
|
* This means that the lifecycle of the dependency is limited to the lifecycle of the component's model
|
||||||
|
*/
|
||||||
|
@Scope
|
||||||
|
@Retention(AnnotationRetention.RUNTIME)
|
||||||
|
annotation class ModelScoped
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.core.decompose.model
|
||||||
import com.arkivanov.essenty.instancekeeper.getOrCreate
|
import com.arkivanov.essenty.instancekeeper.getOrCreate
|
||||||
import com.arkivanov.essenty.instancekeeper.getOrCreateSimple
|
import com.arkivanov.essenty.instancekeeper.getOrCreateSimple
|
||||||
import com.tangem.core.decompose.context.AppComponentContext
|
import com.tangem.core.decompose.context.AppComponentContext
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import dagger.hilt.EntryPoint
|
import dagger.hilt.EntryPoint
|
||||||
import dagger.hilt.EntryPoints
|
import dagger.hilt.EntryPoints
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
|
|
@ -15,7 +15,7 @@ import javax.inject.Provider
|
||||||
* It provides a map of model providers.
|
* It provides a map of model providers.
|
||||||
*/
|
*/
|
||||||
@EntryPoint
|
@EntryPoint
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
interface ModelsEntryPoint {
|
interface ModelsEntryPoint {
|
||||||
|
|
||||||
fun models(): Map<Class<*>, Provider<Model>>
|
fun models(): Map<Class<*>, Provider<Model>>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.core.decompose.model
|
||||||
/**
|
/**
|
||||||
* Lazy container for [Model] params.
|
* Lazy container for [Model] params.
|
||||||
*
|
*
|
||||||
* This contrainer can be accessed by DI because it's provided via [com.tangem.core.decompose.di.DecomposeComponent].
|
* This contrainer can be accessed by DI because it's provided via [com.tangem.core.decompose.di.ModelComponent].
|
||||||
* */
|
* */
|
||||||
interface ParamsContainer {
|
interface ParamsContainer {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.details.di
|
package com.tangem.features.details.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.details.model.DetailsModel
|
import com.tangem.features.details.model.DetailsModel
|
||||||
import com.tangem.features.details.model.UserWalletListModel
|
import com.tangem.features.details.model.UserWalletListModel
|
||||||
|
|
@ -11,7 +11,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface ModelModule {
|
internal interface ModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.features.details.model
|
||||||
|
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.tangem.core.analytics.AppInstanceIdProvider
|
import com.tangem.core.analytics.AppInstanceIdProvider
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
|
|
@ -32,7 +32,7 @@ import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
internal class DetailsModel @Inject constructor(
|
internal class DetailsModel @Inject constructor(
|
||||||
socialsBuilder: SocialsBuilder,
|
socialsBuilder: SocialsBuilder,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.details.model
|
package com.tangem.features.details.model
|
||||||
|
|
||||||
import com.tangem.common.ui.userwallet.state.UserWalletItemUM
|
import com.tangem.common.ui.userwallet.state.UserWalletItemUM
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
import com.tangem.core.ui.extensions.resourceReference
|
import com.tangem.core.ui.extensions.resourceReference
|
||||||
|
|
@ -19,7 +19,7 @@ import kotlinx.coroutines.flow.launchIn
|
||||||
import kotlinx.coroutines.flow.update
|
import kotlinx.coroutines.flow.update
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class UserWalletListModel @Inject constructor(
|
internal class UserWalletListModel @Inject constructor(
|
||||||
userWalletsFetcher: UserWalletsFetcher,
|
userWalletsFetcher: UserWalletsFetcher,
|
||||||
shouldSaveUserWalletsUseCase: ShouldSaveUserWalletsUseCase,
|
shouldSaveUserWalletsUseCase: ShouldSaveUserWalletsUseCase,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.details.utils
|
package com.tangem.features.details.utils
|
||||||
|
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
import com.tangem.core.ui.components.block.model.BlockUM
|
import com.tangem.core.ui.components.block.model.BlockUM
|
||||||
import com.tangem.core.ui.extensions.resourceReference
|
import com.tangem.core.ui.extensions.resourceReference
|
||||||
|
|
@ -14,7 +14,7 @@ import kotlinx.collections.immutable.persistentListOf
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class ItemsBuilder @Inject constructor(private val router: Router) {
|
internal class ItemsBuilder @Inject constructor(private val router: Router) {
|
||||||
|
|
||||||
fun buildAll(
|
fun buildAll(
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.details.utils
|
package com.tangem.features.details.utils
|
||||||
|
|
||||||
import androidx.compose.ui.text.intl.Locale
|
import androidx.compose.ui.text.intl.Locale
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.navigation.url.UrlOpener
|
import com.tangem.core.navigation.url.UrlOpener
|
||||||
import com.tangem.features.details.entity.DetailsFooterUM
|
import com.tangem.features.details.entity.DetailsFooterUM
|
||||||
import com.tangem.features.details.impl.R
|
import com.tangem.features.details.impl.R
|
||||||
|
|
@ -9,7 +9,7 @@ import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class SocialsBuilder @Inject constructor(
|
internal class SocialsBuilder @Inject constructor(
|
||||||
private val urlOpener: UrlOpener,
|
private val urlOpener: UrlOpener,
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import arrow.core.raise.fold
|
||||||
import arrow.core.raise.recover
|
import arrow.core.raise.recover
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.core.analytics.models.AnalyticsParam
|
import com.tangem.core.analytics.models.AnalyticsParam
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
import com.tangem.core.decompose.navigation.popTo
|
import com.tangem.core.decompose.navigation.popTo
|
||||||
import com.tangem.core.decompose.ui.UiMessageSender
|
import com.tangem.core.decompose.ui.UiMessageSender
|
||||||
|
|
@ -33,7 +33,7 @@ import kotlinx.coroutines.suspendCancellableCoroutine
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlin.coroutines.resume
|
import kotlin.coroutines.resume
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
internal class UserWalletSaver @Inject constructor(
|
internal class UserWalletSaver @Inject constructor(
|
||||||
private val scanCardProcessor: ScanCardProcessor,
|
private val scanCardProcessor: ScanCardProcessor,
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import arrow.core.Either
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.common.ui.userwallet.converter.UserWalletItemUMConverter
|
import com.tangem.common.ui.userwallet.converter.UserWalletItemUMConverter
|
||||||
import com.tangem.common.ui.userwallet.state.UserWalletItemUM
|
import com.tangem.common.ui.userwallet.state.UserWalletItemUM
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
import com.tangem.core.decompose.ui.UiMessageSender
|
import com.tangem.core.decompose.ui.UiMessageSender
|
||||||
import com.tangem.core.ui.extensions.resourceReference
|
import com.tangem.core.ui.extensions.resourceReference
|
||||||
|
|
@ -31,7 +31,7 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.flow.*
|
import kotlinx.coroutines.flow.*
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class UserWalletsFetcher @Inject constructor(
|
internal class UserWalletsFetcher @Inject constructor(
|
||||||
getWalletsUseCase: GetWalletsUseCase,
|
getWalletsUseCase: GetWalletsUseCase,
|
||||||
private val getWalletTotalBalanceUseCase: GetWalletTotalBalanceUseCase,
|
private val getWalletTotalBalanceUseCase: GetWalletTotalBalanceUseCase,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.disclaimer.impl.di
|
package com.tangem.features.disclaimer.impl.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.disclaimer.impl.model.DisclaimerModel
|
import com.tangem.features.disclaimer.impl.model.DisclaimerModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface ModelModule {
|
internal interface ModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.disclaimer.impl.model
|
package com.tangem.features.disclaimer.impl.model
|
||||||
|
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
|
|
@ -17,7 +17,7 @@ import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
internal class DisclaimerModel @Inject constructor(
|
internal class DisclaimerModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.managetokens.di
|
package com.tangem.features.managetokens.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.managetokens.model.CustomTokenFormModel
|
import com.tangem.features.managetokens.model.CustomTokenFormModel
|
||||||
import com.tangem.features.managetokens.model.CustomTokenSelectorModel
|
import com.tangem.features.managetokens.model.CustomTokenSelectorModel
|
||||||
|
|
@ -13,7 +13,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface ModelModule {
|
internal interface ModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.features.managetokens.model
|
||||||
|
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.ui.UiMessageSender
|
import com.tangem.core.decompose.ui.UiMessageSender
|
||||||
|
|
@ -37,7 +37,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
// TODO: Divide to sub-components: [REDACTED_JIRA]
|
// TODO: Divide to sub-components: [REDACTED_JIRA]
|
||||||
@Suppress("LongParameterList", "LargeClass")
|
@Suppress("LongParameterList", "LargeClass")
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class CustomTokenFormModel @Inject constructor(
|
internal class CustomTokenFormModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val customCurrencyValidator: CustomCurrencyValidator,
|
private val customCurrencyValidator: CustomCurrencyValidator,
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.features.managetokens.model
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.arkivanov.decompose.router.slot.SlotNavigation
|
import com.arkivanov.decompose.router.slot.SlotNavigation
|
||||||
import com.arkivanov.decompose.router.slot.activate
|
import com.arkivanov.decompose.router.slot.activate
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.ui.UiMessageSender
|
import com.tangem.core.decompose.ui.UiMessageSender
|
||||||
|
|
@ -33,7 +33,7 @@ import kotlinx.coroutines.flow.update
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class CustomTokenSelectorModel @Inject constructor(
|
internal class CustomTokenSelectorModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val getSupportedNetworksUseCase: GetSupportedNetworksUseCase,
|
private val getSupportedNetworksUseCase: GetSupportedNetworksUseCase,
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import arrow.core.getOrElse
|
||||||
import com.arkivanov.decompose.router.slot.SlotNavigation
|
import com.arkivanov.decompose.router.slot.SlotNavigation
|
||||||
import com.arkivanov.decompose.router.slot.activate
|
import com.arkivanov.decompose.router.slot.activate
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
|
|
@ -42,7 +42,7 @@ import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class ManageTokensModel @Inject constructor(
|
internal class ManageTokensModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val router: Router,
|
private val router: Router,
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.features.managetokens.model
|
||||||
import arrow.core.flatten
|
import arrow.core.flatten
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.ui.UiMessageSender
|
import com.tangem.core.decompose.ui.UiMessageSender
|
||||||
|
|
@ -37,7 +37,7 @@ import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnboardingManageTokensModel @Inject constructor(
|
internal class OnboardingManageTokensModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val manageTokensListManager: ManageTokensListManager,
|
private val manageTokensListManager: ManageTokensListManager,
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.features.managetokens.utils
|
||||||
import androidx.compose.foundation.text.KeyboardOptions
|
import androidx.compose.foundation.text.KeyboardOptions
|
||||||
import androidx.compose.ui.text.input.KeyboardCapitalization
|
import androidx.compose.ui.text.input.KeyboardCapitalization
|
||||||
import androidx.compose.ui.text.input.KeyboardType
|
import androidx.compose.ui.text.input.KeyboardType
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.ui.extensions.resourceReference
|
import com.tangem.core.ui.extensions.resourceReference
|
||||||
import com.tangem.core.ui.extensions.stringReference
|
import com.tangem.core.ui.extensions.stringReference
|
||||||
|
|
@ -15,7 +15,7 @@ import com.tangem.features.managetokens.impl.R
|
||||||
import kotlinx.collections.immutable.persistentMapOf
|
import kotlinx.collections.immutable.persistentMapOf
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class CustomCurrencyFormBuilder @Inject constructor(
|
internal class CustomCurrencyFormBuilder @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.managetokens.utils
|
package com.tangem.features.managetokens.utils
|
||||||
|
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.domain.managetokens.CheckIsCurrencyNotAddedUseCase
|
import com.tangem.domain.managetokens.CheckIsCurrencyNotAddedUseCase
|
||||||
import com.tangem.domain.managetokens.CreateCurrencyUseCase
|
import com.tangem.domain.managetokens.CreateCurrencyUseCase
|
||||||
import com.tangem.domain.managetokens.FindTokenUseCase
|
import com.tangem.domain.managetokens.FindTokenUseCase
|
||||||
|
|
@ -20,7 +20,7 @@ import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class CustomCurrencyValidator @Inject constructor(
|
internal class CustomCurrencyValidator @Inject constructor(
|
||||||
private val validateTokenFormUseCase: ValidateTokenFormUseCase,
|
private val validateTokenFormUseCase: ValidateTokenFormUseCase,
|
||||||
private val createCustomCurrencyUseCase: CreateCurrencyUseCase,
|
private val createCustomCurrencyUseCase: CreateCurrencyUseCase,
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import androidx.compose.ui.util.fastForEachIndexed
|
||||||
import androidx.compose.ui.util.fastMap
|
import androidx.compose.ui.util.fastMap
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.ui.UiMessageSender
|
import com.tangem.core.decompose.ui.UiMessageSender
|
||||||
import com.tangem.core.ui.clipboard.ClipboardManager
|
import com.tangem.core.ui.clipboard.ClipboardManager
|
||||||
import com.tangem.core.ui.extensions.resourceReference
|
import com.tangem.core.ui.extensions.resourceReference
|
||||||
|
|
@ -40,7 +40,7 @@ import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class ManageTokensListManager @Inject constructor(
|
internal class ManageTokensListManager @Inject constructor(
|
||||||
private val getManagedTokensUseCase: GetManagedTokensUseCase,
|
private val getManagedTokensUseCase: GetManagedTokensUseCase,
|
||||||
private val checkHasLinkedTokensUseCase: CheckHasLinkedTokensUseCase,
|
private val checkHasLinkedTokensUseCase: CheckHasLinkedTokensUseCase,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.markets.details.impl.di
|
package com.tangem.features.markets.details.impl.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.markets.details.impl.model.MarketsTokenDetailsModel
|
import com.tangem.features.markets.details.impl.model.MarketsTokenDetailsModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface ModelModule {
|
internal interface ModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import com.tangem.common.ui.charts.state.MarketChartData
|
||||||
import com.tangem.common.ui.charts.state.MarketChartDataProducer
|
import com.tangem.common.ui.charts.state.MarketChartDataProducer
|
||||||
import com.tangem.common.ui.charts.state.sorted
|
import com.tangem.common.ui.charts.state.sorted
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.navigation.url.UrlOpener
|
import com.tangem.core.navigation.url.UrlOpener
|
||||||
|
|
@ -53,7 +53,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LargeClass", "LongParameterList")
|
@Suppress("LargeClass", "LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class MarketsTokenDetailsModel @Inject constructor(
|
internal class MarketsTokenDetailsModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.markets.portfolio.impl.di
|
package com.tangem.features.markets.portfolio.impl.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.markets.portfolio.impl.model.MarketsPortfolioModel
|
import com.tangem.features.markets.portfolio.impl.model.MarketsPortfolioModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface ModelModule {
|
internal interface ModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.features.markets.portfolio.impl.model
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.ui.UiMessageSender
|
import com.tangem.core.decompose.ui.UiMessageSender
|
||||||
|
|
@ -38,7 +38,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class MarketsPortfolioModel @Inject constructor(
|
internal class MarketsPortfolioModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
getSelectedAppCurrencyUseCase: GetSelectedAppCurrencyUseCase,
|
getSelectedAppCurrencyUseCase: GetSelectedAppCurrencyUseCase,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ package com.tangem.features.markets.portfolio.impl.model
|
||||||
|
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.core.analytics.models.AnalyticsParam
|
import com.tangem.core.analytics.models.AnalyticsParam
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
import com.tangem.core.decompose.ui.UiMessageSender
|
import com.tangem.core.decompose.ui.UiMessageSender
|
||||||
import com.tangem.core.ui.clipboard.ClipboardManager
|
import com.tangem.core.ui.clipboard.ClipboardManager
|
||||||
|
|
@ -31,7 +30,6 @@ import dagger.assisted.AssistedInject
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@ComponentScoped
|
|
||||||
internal class TokenActionsHandler @AssistedInject constructor(
|
internal class TokenActionsHandler @AssistedInject constructor(
|
||||||
private val router: Router,
|
private val router: Router,
|
||||||
private val clipboardManager: ClipboardManager,
|
private val clipboardManager: ClipboardManager,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.markets.token.block.impl.di
|
package com.tangem.features.markets.token.block.impl.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.markets.token.block.impl.model.TokenMarketBlockModel
|
import com.tangem.features.markets.token.block.impl.model.TokenMarketBlockModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface ModelModule {
|
internal interface ModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.common.ui.charts.state.MarketChartData
|
import com.tangem.common.ui.charts.state.MarketChartData
|
||||||
import com.tangem.common.ui.charts.state.converter.PriceAndTimePointValuesConverter
|
import com.tangem.common.ui.charts.state.converter.PriceAndTimePointValuesConverter
|
||||||
import com.tangem.common.ui.charts.state.sorted
|
import com.tangem.common.ui.charts.state.sorted
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
|
|
@ -31,7 +31,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class TokenMarketBlockModel @Inject constructor(
|
internal class TokenMarketBlockModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.markets.tokenlist.impl.di
|
package com.tangem.features.markets.tokenlist.impl.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.markets.tokenlist.impl.model.MarketsListModel
|
import com.tangem.features.markets.tokenlist.impl.model.MarketsListModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface ModelModule {
|
internal interface ModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.features.markets.tokenlist.impl.model
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase
|
import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase
|
||||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||||
|
|
@ -29,7 +29,7 @@ private const val UPDATE_QUOTES_TIMER_MILLIS = 60000L
|
||||||
private const val SEARCH_QUERY_DEBOUNCE_MILLIS = 800L
|
private const val SEARCH_QUERY_DEBOUNCE_MILLIS = 800L
|
||||||
|
|
||||||
@OptIn(FlowPreview::class, ExperimentalCoroutinesApi::class)
|
@OptIn(FlowPreview::class, ExperimentalCoroutinesApi::class)
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
@Stable
|
@Stable
|
||||||
internal class MarketsListModel @Inject constructor(
|
internal class MarketsListModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onboarding.v2.entry.impl.di
|
package com.tangem.features.onboarding.v2.entry.impl.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onboarding.v2.entry.OnboardingEntryComponent
|
import com.tangem.features.onboarding.v2.entry.OnboardingEntryComponent
|
||||||
import com.tangem.features.onboarding.v2.entry.impl.DefaultOnboardingEntryComponent
|
import com.tangem.features.onboarding.v2.entry.impl.DefaultOnboardingEntryComponent
|
||||||
|
|
@ -25,7 +25,7 @@ internal interface ComponentModule {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface ModelModule {
|
internal interface ModelModule {
|
||||||
@Binds
|
@Binds
|
||||||
@IntoMap
|
@IntoMap
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.features.onboarding.v2.entry.impl.model
|
||||||
import com.arkivanov.decompose.router.stack.StackNavigation
|
import com.arkivanov.decompose.router.stack.StackNavigation
|
||||||
import com.arkivanov.decompose.router.stack.navigate
|
import com.arkivanov.decompose.router.stack.navigate
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
|
|
@ -25,7 +25,7 @@ import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnboardingEntryModel @Inject constructor(
|
internal class OnboardingEntryModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.features.onboarding.v2.multiwallet.impl.child.accesscode.mode
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import androidx.compose.ui.text.input.TextFieldValue
|
import androidx.compose.ui.text.input.TextFieldValue
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.features.onboarding.v2.multiwallet.impl.analytics.OnboardingEvent
|
import com.tangem.features.onboarding.v2.multiwallet.impl.analytics.OnboardingEvent
|
||||||
|
|
@ -22,7 +22,7 @@ import javax.inject.Inject
|
||||||
private const val MINIMUM_ACCESS_CODE_LENGTH = 4
|
private const val MINIMUM_ACCESS_CODE_LENGTH = 4
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class MultiWalletAccessCodeModel @Inject constructor(
|
internal class MultiWalletAccessCodeModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import com.tangem.common.core.TangemSdkError
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.analytics.models.AnalyticsParam
|
import com.tangem.core.analytics.models.AnalyticsParam
|
||||||
import com.tangem.core.analytics.models.event.OnboardingAnalyticsEvent
|
import com.tangem.core.analytics.models.event.OnboardingAnalyticsEvent
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.ui.UiMessageSender
|
import com.tangem.core.decompose.ui.UiMessageSender
|
||||||
|
|
@ -38,7 +38,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
class MultiWalletBackupModel @Inject constructor(
|
class MultiWalletBackupModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.features.onboarding.v2.multiwallet.impl.child.chooseoption.mo
|
||||||
|
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.domain.card.repository.CardRepository
|
import com.tangem.domain.card.repository.CardRepository
|
||||||
|
|
@ -21,7 +21,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class Wallet1ChooseOptionModel @Inject constructor(
|
internal class Wallet1ChooseOptionModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.CompletionResult
|
import com.tangem.common.CompletionResult
|
||||||
import com.tangem.common.core.TangemSdkError
|
import com.tangem.common.core.TangemSdkError
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.ui.extensions.resourceReference
|
import com.tangem.core.ui.extensions.resourceReference
|
||||||
|
|
@ -34,7 +34,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class MultiWalletCreateWalletModel @Inject constructor(
|
internal class MultiWalletCreateWalletModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.features.onboarding.v2.multiwallet.impl.child.finalize.model
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.CompletionResult
|
import com.tangem.common.CompletionResult
|
||||||
import com.tangem.common.core.TangemSdkError
|
import com.tangem.common.core.TangemSdkError
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.domain.card.repository.CardRepository
|
import com.tangem.domain.card.repository.CardRepository
|
||||||
|
|
@ -39,7 +39,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class MultiWalletFinalizeModel @Inject constructor(
|
internal class MultiWalletFinalizeModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.features.onboarding.v2.multiwallet.impl.child.scanprimary.mod
|
||||||
|
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.CompletionResult
|
import com.tangem.common.CompletionResult
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.domain.common.util.cardTypesResolver
|
import com.tangem.domain.common.util.cardTypesResolver
|
||||||
|
|
@ -15,7 +15,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class Wallet1ScanPrimaryModel @Inject constructor(
|
internal class Wallet1ScanPrimaryModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.CompletionResult
|
import com.tangem.common.CompletionResult
|
||||||
import com.tangem.common.core.TangemSdkError
|
import com.tangem.common.core.TangemSdkError
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.navigation.url.UrlOpener
|
import com.tangem.core.navigation.url.UrlOpener
|
||||||
|
|
@ -35,7 +35,7 @@ import javax.inject.Inject
|
||||||
// =============================================
|
// =============================================
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class MultiWalletSeedPhraseModel @Inject constructor(
|
internal class MultiWalletSeedPhraseModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onboarding.v2.multiwallet.impl.di
|
package com.tangem.features.onboarding.v2.multiwallet.impl.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onboarding.v2.multiwallet.api.OnboardingMultiWalletComponent
|
import com.tangem.features.onboarding.v2.multiwallet.api.OnboardingMultiWalletComponent
|
||||||
import com.tangem.features.onboarding.v2.multiwallet.impl.DefaultOnboardingMultiWalletComponent
|
import com.tangem.features.onboarding.v2.multiwallet.impl.DefaultOnboardingMultiWalletComponent
|
||||||
|
|
@ -30,7 +30,7 @@ internal interface ComponentModule {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface ModelModule {
|
internal interface ModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.onboarding.v2.multiwallet.impl.model
|
package com.tangem.features.onboarding.v2.multiwallet.impl.model
|
||||||
|
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
|
|
@ -22,7 +22,7 @@ import kotlinx.coroutines.flow.*
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnboardingMultiWalletModel @Inject constructor(
|
internal class OnboardingMultiWalletModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import androidx.compose.runtime.Stable
|
||||||
import androidx.compose.ui.text.input.TextFieldValue
|
import androidx.compose.ui.text.input.TextFieldValue
|
||||||
import com.tangem.common.CompletionResult
|
import com.tangem.common.CompletionResult
|
||||||
import com.tangem.common.extensions.toHexString
|
import com.tangem.common.extensions.toHexString
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.domain.visa.model.VisaCardActivationStatus
|
import com.tangem.domain.visa.model.VisaCardActivationStatus
|
||||||
|
|
@ -26,7 +26,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnboardingVisaAccessCodeModel @Inject constructor(
|
internal class OnboardingVisaAccessCodeModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
visaActivationRepositoryFactory: VisaActivationRepository.Factory,
|
visaActivationRepositoryFactory: VisaActivationRepository.Factory,
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.features.onboarding.v2.visa.impl.child.approve.model
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.CompletionResult
|
import com.tangem.common.CompletionResult
|
||||||
import com.tangem.common.extensions.toHexString
|
import com.tangem.common.extensions.toHexString
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.domain.visa.model.VisaCardId
|
import com.tangem.domain.visa.model.VisaCardId
|
||||||
|
|
@ -21,7 +21,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnboardingVisaApproveModel @Inject constructor(
|
internal class OnboardingVisaApproveModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
visaActivationRepositoryFactory: VisaActivationRepository.Factory,
|
visaActivationRepositoryFactory: VisaActivationRepository.Factory,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.model
|
package com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
import com.tangem.features.onboarding.v2.impl.R
|
import com.tangem.features.onboarding.v2.impl.R
|
||||||
|
|
@ -18,7 +18,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnboardingVisaChooseWalletModel @Inject constructor(
|
internal class OnboardingVisaChooseWalletModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
) : Model() {
|
) : Model() {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.features.onboarding.v2.visa.impl.child.inprogress.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.extensions.toHexString
|
import com.tangem.common.extensions.toHexString
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.datasource.local.visa.VisaAuthTokenStorage
|
import com.tangem.datasource.local.visa.VisaAuthTokenStorage
|
||||||
|
|
@ -27,7 +27,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnboardingVisaInProgressModel @Inject constructor(
|
internal class OnboardingVisaInProgressModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
visaActivationRepositoryFactory: VisaActivationRepository.Factory,
|
visaActivationRepositoryFactory: VisaActivationRepository.Factory,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.extensions.toHexString
|
import com.tangem.common.extensions.toHexString
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.navigation.share.ShareManager
|
import com.tangem.core.navigation.share.ShareManager
|
||||||
|
|
@ -22,7 +22,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnboardingVisaOtherWalletModel @Inject constructor(
|
internal class OnboardingVisaOtherWalletModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
visaActivationRepositoryFactory: VisaActivationRepository.Factory,
|
visaActivationRepositoryFactory: VisaActivationRepository.Factory,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.features.onboarding.v2.visa.impl.child.pincode.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.extensions.toHexString
|
import com.tangem.common.extensions.toHexString
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.datasource.local.visa.VisaAuthTokenStorage
|
import com.tangem.datasource.local.visa.VisaAuthTokenStorage
|
||||||
|
|
@ -26,7 +26,7 @@ import kotlinx.coroutines.withContext
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
internal class OnboardingVisaPinCodeModel @Inject constructor(
|
internal class OnboardingVisaPinCodeModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.features.onboarding.v2.visa.impl.child.welcome.model
|
||||||
|
|
||||||
import com.tangem.common.CompletionResult
|
import com.tangem.common.CompletionResult
|
||||||
import com.tangem.common.extensions.toHexString
|
import com.tangem.common.extensions.toHexString
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.domain.visa.model.VisaCardId
|
import com.tangem.domain.visa.model.VisaCardId
|
||||||
|
|
@ -22,7 +22,7 @@ import kotlinx.coroutines.flow.update
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnboardingVisaWelcomeModel @Inject constructor(
|
internal class OnboardingVisaWelcomeModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onboarding.v2.visa.impl.di
|
package com.tangem.features.onboarding.v2.visa.impl.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onboarding.v2.visa.api.OnboardingVisaComponent
|
import com.tangem.features.onboarding.v2.visa.api.OnboardingVisaComponent
|
||||||
import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent
|
import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent
|
||||||
|
|
@ -30,7 +30,7 @@ internal interface ComponentModule {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface ModelModule {
|
internal interface ModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import com.arkivanov.decompose.router.stack.StackNavigation
|
||||||
import com.arkivanov.decompose.router.stack.pop
|
import com.arkivanov.decompose.router.stack.pop
|
||||||
import com.arkivanov.decompose.router.stack.push
|
import com.arkivanov.decompose.router.stack.push
|
||||||
import com.arkivanov.decompose.router.stack.pushNew
|
import com.arkivanov.decompose.router.stack.pushNew
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.domain.common.visa.VisaUtilities
|
import com.tangem.domain.common.visa.VisaUtilities
|
||||||
|
|
@ -31,7 +31,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnboardingVisaModel @Inject constructor(
|
internal class OnboardingVisaModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.confirmresidency.di
|
package com.tangem.features.onramp.confirmresidency.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.confirmresidency.model.ConfirmResidencyModel
|
import com.tangem.features.onramp.confirmresidency.model.ConfirmResidencyModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface OnrampConfirmResidencyModelModule {
|
internal interface OnrampConfirmResidencyModelModule {
|
||||||
@Binds
|
@Binds
|
||||||
@IntoMap
|
@IntoMap
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.tangem.features.onramp.confirmresidency.model
|
||||||
import com.arkivanov.decompose.router.slot.SlotNavigation
|
import com.arkivanov.decompose.router.slot.SlotNavigation
|
||||||
import com.arkivanov.decompose.router.slot.activate
|
import com.arkivanov.decompose.router.slot.activate
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.navigation.Router
|
import com.tangem.core.decompose.navigation.Router
|
||||||
|
|
@ -20,7 +20,7 @@ import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class ConfirmResidencyModel @Inject constructor(
|
internal class ConfirmResidencyModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val analyticsEventHandler: AnalyticsEventHandler,
|
private val analyticsEventHandler: AnalyticsEventHandler,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.hottokens.di
|
package com.tangem.features.onramp.hottokens.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.hottokens.model.HotCryptoModel
|
import com.tangem.features.onramp.hottokens.model.HotCryptoModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface HotCryptoModelModule {
|
internal interface HotCryptoModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import arrow.core.getOrElse
|
||||||
import com.arkivanov.decompose.router.slot.SlotNavigation
|
import com.arkivanov.decompose.router.slot.SlotNavigation
|
||||||
import com.arkivanov.decompose.router.slot.activate
|
import com.arkivanov.decompose.router.slot.activate
|
||||||
import com.arkivanov.decompose.router.slot.dismiss
|
import com.arkivanov.decompose.router.slot.dismiss
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.ui.components.token.state.TokenItemState
|
import com.tangem.core.ui.components.token.state.TokenItemState
|
||||||
|
|
@ -40,7 +40,7 @@ import javax.inject.Inject
|
||||||
*
|
*
|
||||||
[REDACTED_AUTHOR]
|
[REDACTED_AUTHOR]
|
||||||
*/
|
*/
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class HotCryptoModel @Inject constructor(
|
internal class HotCryptoModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
getHotCryptoUseCase: GetHotCryptoUseCase,
|
getHotCryptoUseCase: GetHotCryptoUseCase,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.hottokens.portfolio.di
|
package com.tangem.features.onramp.hottokens.portfolio.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.hottokens.portfolio.model.OnrampAddToPortfolioModel
|
import com.tangem.features.onramp.hottokens.portfolio.model.OnrampAddToPortfolioModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface OnrampAddToPortfolioModelModule {
|
internal interface OnrampAddToPortfolioModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.onramp.hottokens.portfolio.model
|
package com.tangem.features.onramp.hottokens.portfolio.model
|
||||||
|
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.domain.card.DerivePublicKeysUseCase
|
import com.tangem.domain.card.DerivePublicKeysUseCase
|
||||||
|
|
@ -29,7 +29,7 @@ import javax.inject.Inject
|
||||||
*
|
*
|
||||||
[REDACTED_AUTHOR]
|
[REDACTED_AUTHOR]
|
||||||
*/
|
*/
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnrampAddToPortfolioModel @Inject constructor(
|
internal class OnrampAddToPortfolioModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.main.di
|
package com.tangem.features.onramp.main.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.main.model.OnrampMainComponentModel
|
import com.tangem.features.onramp.main.model.OnrampMainComponentModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface OnrampMainComponentModelModule {
|
internal interface OnrampMainComponentModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.providers.di
|
package com.tangem.features.onramp.providers.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.providers.model.SelectProviderModel
|
import com.tangem.features.onramp.providers.model.SelectProviderModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface SelectProviderModelModule {
|
internal interface SelectProviderModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import com.arkivanov.decompose.router.slot.SlotNavigation
|
||||||
import com.arkivanov.decompose.router.slot.activate
|
import com.arkivanov.decompose.router.slot.activate
|
||||||
import com.arkivanov.decompose.router.slot.dismiss
|
import com.arkivanov.decompose.router.slot.dismiss
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.ui.extensions.resourceReference
|
import com.tangem.core.ui.extensions.resourceReference
|
||||||
|
|
@ -40,7 +40,7 @@ import java.math.BigDecimal
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class SelectProviderModel @Inject constructor(
|
internal class SelectProviderModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val analyticsEventHandler: AnalyticsEventHandler,
|
private val analyticsEventHandler: AnalyticsEventHandler,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.redirect.di
|
package com.tangem.features.onramp.redirect.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.redirect.model.OnrampRedirectModel
|
import com.tangem.features.onramp.redirect.model.OnrampRedirectModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface OnrampRedirectModelModule {
|
internal interface OnrampRedirectModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.selectcountry.di
|
package com.tangem.features.onramp.selectcountry.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.selectcountry.model.OnrampSelectCountryModel
|
import com.tangem.features.onramp.selectcountry.model.OnrampSelectCountryModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface OnrampSelectCountryModelModule {
|
internal interface OnrampSelectCountryModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.onramp.selectcountry.model
|
package com.tangem.features.onramp.selectcountry.model
|
||||||
|
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.ui.components.fields.entity.SearchBarUM
|
import com.tangem.core.ui.components.fields.entity.SearchBarUM
|
||||||
|
|
@ -35,7 +35,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnrampSelectCountryModel @Inject constructor(
|
internal class OnrampSelectCountryModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val analyticsEventHandler: AnalyticsEventHandler,
|
private val analyticsEventHandler: AnalyticsEventHandler,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.selectcurrency.di
|
package com.tangem.features.onramp.selectcurrency.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.selectcurrency.model.OnrampSelectCurrencyModel
|
import com.tangem.features.onramp.selectcurrency.model.OnrampSelectCurrencyModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface OnrampSelectCurrencyModelModule {
|
internal interface OnrampSelectCurrencyModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.onramp.selectcurrency.model
|
package com.tangem.features.onramp.selectcurrency.model
|
||||||
|
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.ui.components.fields.entity.SearchBarUM
|
import com.tangem.core.ui.components.fields.entity.SearchBarUM
|
||||||
|
|
@ -35,7 +35,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnrampSelectCurrencyModel @Inject constructor(
|
internal class OnrampSelectCurrencyModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val analyticsEventHandler: AnalyticsEventHandler,
|
private val analyticsEventHandler: AnalyticsEventHandler,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.selecttoken.di
|
package com.tangem.features.onramp.selecttoken.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.selecttoken.model.OnrampOperationModel
|
import com.tangem.features.onramp.selecttoken.model.OnrampOperationModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface OnrampOperationModelModule {
|
internal interface OnrampOperationModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import com.tangem.common.ui.alerts.models.AlertDemoModeUM
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.analytics.models.AnalyticsParam
|
import com.tangem.core.analytics.models.AnalyticsParam
|
||||||
import com.tangem.core.analytics.models.event.MainScreenAnalyticsEvent
|
import com.tangem.core.analytics.models.event.MainScreenAnalyticsEvent
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.decompose.ui.UiMessageSender
|
import com.tangem.core.decompose.ui.UiMessageSender
|
||||||
|
|
@ -33,7 +33,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnrampOperationModel @Inject constructor(
|
internal class OnrampOperationModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
getWalletsUseCase: GetWalletsUseCase,
|
getWalletsUseCase: GetWalletsUseCase,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.settings.di
|
package com.tangem.features.onramp.settings.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.settings.model.OnrampSettingsModel
|
import com.tangem.features.onramp.settings.model.OnrampSettingsModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface OnrampSettingsModelModule {
|
internal interface OnrampSettingsModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import arrow.core.Either
|
||||||
import com.arkivanov.decompose.router.slot.SlotNavigation
|
import com.arkivanov.decompose.router.slot.SlotNavigation
|
||||||
import com.arkivanov.decompose.router.slot.activate
|
import com.arkivanov.decompose.router.slot.activate
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.domain.onramp.GetOnrampCountryUseCase
|
import com.tangem.domain.onramp.GetOnrampCountryUseCase
|
||||||
|
|
@ -21,7 +21,7 @@ import kotlinx.collections.immutable.toImmutableList
|
||||||
import kotlinx.coroutines.flow.*
|
import kotlinx.coroutines.flow.*
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class OnrampSettingsModel @Inject constructor(
|
internal class OnrampSettingsModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val analyticsEventHandler: AnalyticsEventHandler,
|
private val analyticsEventHandler: AnalyticsEventHandler,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.success.di
|
package com.tangem.features.onramp.success.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.success.model.OnrampSuccessComponentModel
|
import com.tangem.features.onramp.success.model.OnrampSuccessComponentModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface OnrampSuccessComponentModelModule {
|
internal interface OnrampSuccessComponentModelModule {
|
||||||
@Binds
|
@Binds
|
||||||
@IntoMap
|
@IntoMap
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.swap.availablepairs.di
|
package com.tangem.features.onramp.swap.availablepairs.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.swap.availablepairs.model.AvailableSwapPairsModel
|
import com.tangem.features.onramp.swap.availablepairs.model.AvailableSwapPairsModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface AvailableSwapPairsModelModule {
|
internal interface AvailableSwapPairsModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.swap.di
|
package com.tangem.features.onramp.swap.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.swap.model.SwapSelectTokensModel
|
import com.tangem.features.onramp.swap.model.SwapSelectTokensModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface SwapSelectTokensModelModule {
|
internal interface SwapSelectTokensModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.features.onramp.tokenlist.di
|
package com.tangem.features.onramp.tokenlist.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.onramp.tokenlist.model.OnrampTokenListModel
|
import com.tangem.features.onramp.tokenlist.model.OnrampTokenListModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface OnrampTokenListModelModule {
|
internal interface OnrampTokenListModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.common.routing.AppRouter
|
import com.tangem.common.routing.AppRouter
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.analytics.models.AnalyticsParam
|
import com.tangem.core.analytics.models.AnalyticsParam
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.domain.settings.NeverRequestPermissionUseCase
|
import com.tangem.domain.settings.NeverRequestPermissionUseCase
|
||||||
import com.tangem.domain.settings.NeverToInitiallyAskPermissionUseCase
|
import com.tangem.domain.settings.NeverToInitiallyAskPermissionUseCase
|
||||||
|
|
@ -16,7 +16,7 @@ import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
class PushNotificationsModel @Inject constructor(
|
class PushNotificationsModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val neverRequestPermissionUseCase: NeverRequestPermissionUseCase,
|
private val neverRequestPermissionUseCase: NeverRequestPermissionUseCase,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.feature.qrscanning.model
|
||||||
|
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.tangem.common.routing.AppRouter
|
import com.tangem.common.routing.AppRouter
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.navigation.settings.SettingsManager
|
import com.tangem.core.navigation.settings.SettingsManager
|
||||||
|
|
@ -23,7 +23,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class QrScanningModel @Inject constructor(
|
internal class QrScanningModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.feature.referral.domain.di
|
package com.tangem.feature.referral.domain.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.domain.card.DerivePublicKeysUseCase
|
import com.tangem.domain.card.DerivePublicKeysUseCase
|
||||||
import com.tangem.domain.tokens.AddCryptoCurrenciesUseCase
|
import com.tangem.domain.tokens.AddCryptoCurrenciesUseCase
|
||||||
import com.tangem.domain.wallets.usecase.GetUserWalletUseCase
|
import com.tangem.domain.wallets.usecase.GetUserWalletUseCase
|
||||||
|
|
@ -14,11 +14,11 @@ import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
class ReferralDomainModule {
|
class ReferralDomainModule {
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
fun provideReferralInteractor(
|
fun provideReferralInteractor(
|
||||||
referralRepository: ReferralRepository,
|
referralRepository: ReferralRepository,
|
||||||
userWalletManager: UserWalletManager,
|
userWalletManager: UserWalletManager,
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import com.tangem.common.routing.AppRouter
|
import com.tangem.common.routing.AppRouter
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.navigation.share.ShareManager
|
import com.tangem.core.navigation.share.ShareManager
|
||||||
|
|
@ -30,7 +30,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
@Suppress("LongParameterList")
|
@Suppress("LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class ReferralModel @Inject constructor(
|
internal class ReferralModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.send.impl.di
|
package com.tangem.features.send.impl.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.send.api.SendComponent
|
import com.tangem.features.send.api.SendComponent
|
||||||
import com.tangem.features.send.impl.DefaultSendComponent
|
import com.tangem.features.send.impl.DefaultSendComponent
|
||||||
|
|
@ -29,10 +29,10 @@ internal interface SendModule {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface SendModelModule {
|
internal interface SendModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
fun bindRouter(router: DefaultSendRouter): InnerSendRouter
|
fun bindRouter(router: DefaultSendRouter): InnerSendRouter
|
||||||
}
|
}
|
||||||
|
|
@ -2,14 +2,14 @@ package com.tangem.features.send.impl.navigation
|
||||||
|
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.common.routing.AppRouter
|
import com.tangem.common.routing.AppRouter
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.navigation.url.UrlOpener
|
import com.tangem.core.navigation.url.UrlOpener
|
||||||
import com.tangem.domain.qrscanning.models.SourceType
|
import com.tangem.domain.qrscanning.models.SourceType
|
||||||
import com.tangem.domain.tokens.model.CryptoCurrency
|
import com.tangem.domain.tokens.model.CryptoCurrency
|
||||||
import com.tangem.domain.wallets.models.UserWalletId
|
import com.tangem.domain.wallets.models.UserWalletId
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class DefaultSendRouter @Inject constructor(
|
internal class DefaultSendRouter @Inject constructor(
|
||||||
private val router: AppRouter,
|
private val router: AppRouter,
|
||||||
private val urlOpener: UrlOpener,
|
private val urlOpener: UrlOpener,
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ import com.tangem.common.ui.amountScreen.models.AmountState
|
||||||
import com.tangem.common.ui.amountScreen.models.EnterAmountBoundary
|
import com.tangem.common.ui.amountScreen.models.EnterAmountBoundary
|
||||||
import com.tangem.common.ui.notifications.NotificationUM
|
import com.tangem.common.ui.notifications.NotificationUM
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.navigation.share.ShareManager
|
import com.tangem.core.navigation.share.ShareManager
|
||||||
|
|
@ -75,7 +75,7 @@ import kotlin.properties.Delegates
|
||||||
|
|
||||||
@Suppress("LongParameterList", "TooManyFunctions", "LargeClass")
|
@Suppress("LongParameterList", "TooManyFunctions", "LargeClass")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class SendModel @Inject constructor(
|
internal class SendModel @Inject constructor(
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
private val getUserWalletUseCase: GetUserWalletUseCase,
|
private val getUserWalletUseCase: GetUserWalletUseCase,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.staking.impl.di
|
package com.tangem.features.staking.impl.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.features.staking.api.StakingComponent
|
import com.tangem.features.staking.api.StakingComponent
|
||||||
import com.tangem.features.staking.impl.DefaultStakingComponent
|
import com.tangem.features.staking.impl.DefaultStakingComponent
|
||||||
|
|
@ -29,10 +29,10 @@ internal interface StakingModule {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface StakingComponentModule {
|
internal interface StakingComponentModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
fun bindRouter(impl: DefaultStakingRouter): InnerStakingRouter
|
fun bindRouter(impl: DefaultStakingRouter): InnerStakingRouter
|
||||||
}
|
}
|
||||||
|
|
@ -2,13 +2,13 @@ package com.tangem.features.staking.impl.navigation
|
||||||
|
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
import com.tangem.common.routing.AppRouter
|
import com.tangem.common.routing.AppRouter
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.navigation.url.UrlOpener
|
import com.tangem.core.navigation.url.UrlOpener
|
||||||
import com.tangem.domain.tokens.model.CryptoCurrency
|
import com.tangem.domain.tokens.model.CryptoCurrency
|
||||||
import com.tangem.domain.wallets.models.UserWalletId
|
import com.tangem.domain.wallets.models.UserWalletId
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class DefaultStakingRouter @Inject constructor(
|
internal class DefaultStakingRouter @Inject constructor(
|
||||||
private val urlOpener: UrlOpener,
|
private val urlOpener: UrlOpener,
|
||||||
private val router: AppRouter,
|
private val router: AppRouter,
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import com.tangem.common.ui.bottomsheet.permission.state.GiveTxPermissionBottomS
|
||||||
import com.tangem.common.ui.notifications.NotificationUM
|
import com.tangem.common.ui.notifications.NotificationUM
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.analytics.api.ParamsInterceptorHolder
|
import com.tangem.core.analytics.api.ParamsInterceptorHolder
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.navigation.share.ShareManager
|
import com.tangem.core.navigation.share.ShareManager
|
||||||
|
|
@ -89,7 +89,7 @@ import kotlin.properties.Delegates
|
||||||
|
|
||||||
@Suppress("LargeClass", "TooManyFunctions", "LongParameterList")
|
@Suppress("LargeClass", "TooManyFunctions", "LongParameterList")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class StakingModel @Inject constructor(
|
internal class StakingModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
private val stateController: StakingStateController,
|
private val stateController: StakingStateController,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.feature.stories.impl.di
|
package com.tangem.feature.stories.impl.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.feature.stories.impl.model.StoriesModel
|
import com.tangem.feature.stories.impl.model.StoriesModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface StoriesModelModule {
|
internal interface StoriesModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.feature.swap.di
|
package com.tangem.feature.swap.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.feature.swap.model.SwapModel
|
import com.tangem.feature.swap.model.SwapModel
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
|
|
@ -10,7 +10,7 @@ import dagger.multibindings.ClassKey
|
||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface SwapModelModule {
|
internal interface SwapModelModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import com.tangem.common.ui.bottomsheet.permission.state.GiveTxPermissionState.I
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.analytics.models.AnalyticsParam
|
import com.tangem.core.analytics.models.AnalyticsParam
|
||||||
import com.tangem.core.analytics.models.Basic
|
import com.tangem.core.analytics.models.Basic
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.navigation.url.UrlOpener
|
import com.tangem.core.navigation.url.UrlOpener
|
||||||
|
|
@ -76,7 +76,7 @@ typealias SuccessLoadedSwapData = Map<SwapProvider, SwapState.QuotesLoadedState>
|
||||||
|
|
||||||
@Suppress("LongParameterList", "LargeClass")
|
@Suppress("LongParameterList", "LargeClass")
|
||||||
@Stable
|
@Stable
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
internal class SwapModel @Inject constructor(
|
internal class SwapModel @Inject constructor(
|
||||||
paramsContainer: ParamsContainer,
|
paramsContainer: ParamsContainer,
|
||||||
override val dispatchers: CoroutineDispatcherProvider,
|
override val dispatchers: CoroutineDispatcherProvider,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.feature.tokendetails.di
|
package com.tangem.feature.tokendetails.di
|
||||||
|
|
||||||
import com.tangem.core.decompose.di.ComponentScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
import com.tangem.core.decompose.di.DecomposeComponent
|
import com.tangem.core.decompose.di.ModelComponent
|
||||||
import com.tangem.core.decompose.model.Model
|
import com.tangem.core.decompose.model.Model
|
||||||
import com.tangem.feature.tokendetails.DefaultTokenDetailsComponent
|
import com.tangem.feature.tokendetails.DefaultTokenDetailsComponent
|
||||||
import com.tangem.feature.tokendetails.presentation.router.DefaultTokenDetailsRouter
|
import com.tangem.feature.tokendetails.presentation.router.DefaultTokenDetailsRouter
|
||||||
|
|
@ -29,10 +29,10 @@ internal interface TokenDetailsModule {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(DecomposeComponent::class)
|
@InstallIn(ModelComponent::class)
|
||||||
internal interface StakingComponentModule {
|
internal interface StakingComponentModule {
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
@ComponentScoped
|
@ModelScoped
|
||||||
fun bindRouter(impl: DefaultTokenDetailsRouter): InnerTokenDetailsRouter
|
fun bindRouter(impl: DefaultTokenDetailsRouter): InnerTokenDetailsRouter
|
||||||
}
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue