From 39a107b039aa6e914a4a1a3ddce54193bdce3f48 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 1 Jul 2026 12:41:30 +0400 Subject: [PATCH] Updated on 2026-08-14 --- domain/earn/build.gradle.kts | 26 +++- domain/express/build.gradle.kts | 17 ++- domain/express/models/build.gradle.kts | 21 +++- domain/feedback/build.gradle.kts | 27 +++-- domain/feedback/models/build.gradle.kts | 18 +-- domain/hot-wallet/build.gradle.kts | 21 ++-- domain/legacy/build.gradle.kts | 53 ++++----- domain/manage-tokens/build.gradle.kts | 45 ++++--- domain/manage-tokens/models/build.gradle.kts | 11 +- domain/markets/build.gradle.kts | 50 ++++---- domain/markets/models/build.gradle.kts | 16 ++- domain/models/build.gradle.kts | 37 ++++-- domain/networks/build.gradle.kts | 8 +- domain/news/build.gradle.kts | 19 ++- domain/nft/build.gradle.kts | 37 +++--- domain/nft/models/build.gradle.kts | 13 +- features/onramp/impl/build.gradle.kts | 83 ++++++------- features/swap/impl/build.gradle.kts | 119 +++++++++---------- 18 files changed, 367 insertions(+), 254 deletions(-) diff --git a/domain/earn/build.gradle.kts b/domain/earn/build.gradle.kts index 380db663f4..779f704e4e 100644 --- a/domain/earn/build.gradle.kts +++ b/domain/earn/build.gradle.kts @@ -5,10 +5,26 @@ plugins { } dependencies { - api(projects.domain.core) - api(projects.domain.models) + + // region Kotlin + api(deps.kotlin.coroutines) + api(deps.kotlin.serialization) + // endregion + + // region Other libraries + api(deps.arrow.core) + // endregion + + // region Core modules api(projects.core.pagination) - implementation(projects.domain.account) - implementation(projects.domain.common) - implementation(deps.kotlin.serialization) + // endregion + + // region Domain + api(projects.domain.account) + api(projects.domain.common) + // endregion + + // region Domain models + api(projects.domain.models) + // endregion } \ No newline at end of file diff --git a/domain/express/build.gradle.kts b/domain/express/build.gradle.kts index 3b501122fc..0ae3d2be6c 100644 --- a/domain/express/build.gradle.kts +++ b/domain/express/build.gradle.kts @@ -5,6 +5,21 @@ plugins { } dependencies { - api(projects.domain.express.models) + + // region Kotlin + api(deps.kotlin.coroutines) + // endregion + + // region Other libraries + api(deps.arrow.core) + // endregion + + // region Domain + api(projects.domain.core) api(projects.domain.models) + // endregion + + // region Domain models + api(projects.domain.express.models) + // endregion } \ No newline at end of file diff --git a/domain/express/models/build.gradle.kts b/domain/express/models/build.gradle.kts index 0ebcc0b441..8a1a471228 100644 --- a/domain/express/models/build.gradle.kts +++ b/domain/express/models/build.gradle.kts @@ -1,13 +1,24 @@ plugins { alias(deps.plugins.kotlin.jvm) alias(deps.plugins.kotlin.serialization) + alias(deps.plugins.ksp) id("configuration") } dependencies { - implementation(deps.moshi.adapters) - implementation(deps.kotlin.serialization) - implementation(projects.domain.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.onramp.models) + + // region Kotlin + api(deps.kotlin.serialization) + // endregion + + // region Other libraries + api(deps.moshi) + ksp(deps.moshi.kotlin.codegen) + // endregion + + // region Domain models + api(projects.domain.models) + api(projects.domain.onramp.models) + api(projects.domain.tokens.models) + // endregion } \ No newline at end of file diff --git a/domain/feedback/build.gradle.kts b/domain/feedback/build.gradle.kts index 4cf70f58e3..26c183f4a4 100644 --- a/domain/feedback/build.gradle.kts +++ b/domain/feedback/build.gradle.kts @@ -9,15 +9,28 @@ android { } dependencies { - implementation(deps.arrow.core) + + // region Other libraries + api(deps.arrow.core) implementation(deps.jodatime) + // endregion + // region Core modules implementation(projects.core.res) - implementation(projects.domain.models) - implementation(projects.domain.wallets.models) - implementation(projects.domain.visa.models) - implementation(projects.domain.feedback.models) + // endregion - /** Testing libraries */ - testImplementation(projects.test.core) + // region Domain + api(projects.domain.models) + implementation(projects.domain.visa.models) + // endregion + + // region Domain models + api(projects.domain.feedback.models) + // endregion + + // region Tests + testImplementation(deps.test.coroutine) + testImplementation(deps.test.junit5) + testImplementation(deps.test.mockk) + // endregion } \ No newline at end of file diff --git a/domain/feedback/models/build.gradle.kts b/domain/feedback/models/build.gradle.kts index f408b63354..1e57357989 100644 --- a/domain/feedback/models/build.gradle.kts +++ b/domain/feedback/models/build.gradle.kts @@ -1,15 +1,17 @@ plugins { alias(deps.plugins.kotlin.jvm) - alias(deps.plugins.ksp) alias(deps.plugins.kotlin.serialization) id("configuration") } + dependencies { - /* Other */ - implementation(deps.moshi) - ksp(deps.moshi.kotlin.codegen) - implementation(deps.kotlin.serialization) - implementation(projects.domain.models) - implementation(projects.domain.wallets.models) - implementation(projects.domain.visa.models) + + // region Kotlin + api(deps.kotlin.serialization) + // endregion + + // region Domain models + api(projects.domain.models) + api(projects.domain.visa.models) + // endregion } \ No newline at end of file diff --git a/domain/hot-wallet/build.gradle.kts b/domain/hot-wallet/build.gradle.kts index daa4f7dc33..07b76b7f71 100644 --- a/domain/hot-wallet/build.gradle.kts +++ b/domain/hot-wallet/build.gradle.kts @@ -9,16 +9,23 @@ android { } dependencies { - implementation(projects.domain.core) - implementation(projects.domain.models) - implementation(projects.domain.wallets.models) - implementation(deps.kotlin.coroutines) - implementation(deps.arrow.core) + // region Kotlin + api(deps.kotlin.coroutines) + // endregion - testImplementation(deps.test.junit5) + // region Other libraries + api(deps.arrow.core) + // endregion + // region Domain models + api(projects.domain.models) + // endregion + + // region Tests testImplementation(deps.test.coroutine) - testImplementation(deps.test.truth) + testImplementation(deps.test.junit5) testImplementation(deps.test.mockk) + testImplementation(deps.test.truth) + // endregion } \ No newline at end of file diff --git a/domain/legacy/build.gradle.kts b/domain/legacy/build.gradle.kts index c6dfe01af4..60641bdfda 100644 --- a/domain/legacy/build.gradle.kts +++ b/domain/legacy/build.gradle.kts @@ -1,48 +1,41 @@ plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) - alias(deps.plugins.ksp) id("configuration") } android { namespace = "com.tangem.domain.features" } + dependencies { - implementation(projects.core.datasource) - implementation(projects.core.utils) - implementation(projects.core.error) - implementation(projects.common) - implementation(projects.libs.auth) - implementation(projects.libs.blockchainSdk) - implementation(projects.domain.core) - implementation(projects.domain.demo) - implementation(projects.domain.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.transaction.models) - implementation(projects.domain.txhistory.models) - implementation(projects.domain.wallets.models) - /** Tangem libraries */ - implementation(tangemDeps.blockchain) { - exclude(module = "joda-time") - } - implementation(tangemDeps.card.core) - implementation(tangemDeps.card.android) { + + // region Kotlin + api(deps.kotlin.coroutines) + // endregion + + // region Other libraries + api(deps.arrow.core) + api(tangemDeps.blockchain) { exclude(module = "joda-time") } + // endregion - /** Other libraries */ - implementation(deps.arrow.core) - implementation(deps.jodatime) - implementation(deps.kotlin.coroutines) - implementation(deps.moshi) - implementation(deps.moshi.kotlin) - ksp(deps.moshi.kotlin.codegen) + // region Domain + api(projects.domain.core) + // endregion - /** Testing libraries */ + // region Domain models + api(projects.domain.models) + api(projects.domain.tokens.models) + api(projects.domain.transaction.models) + // endregion + + // region Tests + testImplementation(deps.moshi) testImplementation(deps.test.junit5) testImplementation(deps.test.mockk) testImplementation(deps.test.truth) - testImplementation(projects.common.test) - + testImplementation(projects.libs.blockchainSdk) + // endregion } \ No newline at end of file diff --git a/domain/manage-tokens/build.gradle.kts b/domain/manage-tokens/build.gradle.kts index c693b54006..8ba87f0725 100644 --- a/domain/manage-tokens/build.gradle.kts +++ b/domain/manage-tokens/build.gradle.kts @@ -10,28 +10,37 @@ android { dependencies { - /* Domain */ - api(projects.domain.core) - api(projects.domain.manageTokens.models) - api(projects.domain.networks) - api(projects.domain.quotes) - api(projects.domain.walletManager) - implementation(projects.domain.wallets.models) - implementation(projects.domain.tokens.models) - implementation(projects.domain.staking) - implementation(projects.domain.tokens) - implementation(projects.domain.card) - implementation(projects.domain.wallets) - implementation(projects.domain.legacy) + // region Kotlin + implementation(deps.kotlin.coroutines) + runtimeOnly(deps.kotlin.coroutines.android) + // endregion - implementation(tangemDeps.blockchain) + // region Other libraries + api(deps.arrow.core) + // endregion - /* Core */ + // region Core modules api(projects.core.pagination) - testImplementation(projects.core.pagination) + api(projects.core.utils) + // endregion - /* Tests */ - testImplementation(deps.test.junit5) + // region Domain + api(projects.domain.models) + // endregion + + // region Domain models + api(projects.domain.manageTokens.models) + // endregion + + // region Runtime + // room/coroutines-android reach the runtime classpath through transitive consumers that no longer + // arrive via a compile dependency — declare them runtimeOnly so the runtime graph stays complete. + runtimeOnly(deps.room.runtime) + // endregion + + // region Tests testImplementation(deps.test.coroutine) + testImplementation(deps.test.junit5) testImplementation(deps.test.truth) + // endregion } \ No newline at end of file diff --git a/domain/manage-tokens/models/build.gradle.kts b/domain/manage-tokens/models/build.gradle.kts index d30b3f0186..3454e337b0 100644 --- a/domain/manage-tokens/models/build.gradle.kts +++ b/domain/manage-tokens/models/build.gradle.kts @@ -6,10 +6,11 @@ plugins { dependencies { - /* Domain */ - implementation(projects.domain.models) - implementation(projects.domain.tokens.models) + // region Kotlin + api(deps.kotlin.serialization) + // endregion - /** Other */ - implementation(deps.kotlin.serialization) + // region Domain models + api(projects.domain.models) + // endregion } \ No newline at end of file diff --git a/domain/markets/build.gradle.kts b/domain/markets/build.gradle.kts index d5cb8318eb..414b73411e 100644 --- a/domain/markets/build.gradle.kts +++ b/domain/markets/build.gradle.kts @@ -11,34 +11,34 @@ android { dependencies { - /* Domain */ + + // region Kotlin + api(deps.kotlin.coroutines) + // endregion + + // region Other libraries + api(deps.arrow.core) + implementation(tangemDeps.blockchain) + // endregion + + // region Core modules + api(projects.core.pagination) + implementation(projects.core.utils) + // endregion + + // region Domain + api(projects.domain.common) + api(projects.domain.quotes) + implementation(projects.domain.card) + // endregion + + // region Domain models api(projects.domain.appCurrency.models) - api(projects.domain.card) - api(projects.domain.core) - api(projects.domain.legacy) api(projects.domain.markets.models) api(projects.domain.models) - api(projects.domain.networks) - api(projects.domain.staking) - api(projects.domain.quotes) - api(projects.domain.walletManager) - api(projects.domain.wallets) - api(projects.domain.wallets.models) - api(projects.domain.stories) + // endregion - implementation(projects.domain.tokens.models) - implementation(projects.domain.tokens) - implementation(projects.domain.settings) - - api(projects.core.pagination) - - /* Libs */ + // region Libs api(projects.libs.blockchainSdk) - - /* SDK */ - implementation(tangemDeps.blockchain) - - /* Utils */ - implementation(deps.kotlin.serialization) - implementation(projects.core.utils) + // endregion } \ No newline at end of file diff --git a/domain/markets/models/build.gradle.kts b/domain/markets/models/build.gradle.kts index c8bb16e1e6..ba46438442 100644 --- a/domain/markets/models/build.gradle.kts +++ b/domain/markets/models/build.gradle.kts @@ -5,10 +5,16 @@ plugins { } dependencies { - api(projects.domain.models) - api(projects.domain.tokens.models) - implementation(projects.domain.core) - implementation(deps.kotlin.serialization) - implementation(deps.jodatime) + // region Kotlin + api(deps.kotlin.serialization) + // endregion + + // region Other libraries + api(deps.jodatime) + // endregion + + // region Domain models + api(projects.domain.models) + // endregion } \ No newline at end of file diff --git a/domain/models/build.gradle.kts b/domain/models/build.gradle.kts index ebd2cfdb73..73b3b8a48c 100644 --- a/domain/models/build.gradle.kts +++ b/domain/models/build.gradle.kts @@ -5,18 +5,37 @@ plugins { id("configuration") } dependencies { - api(projects.domain.core) - api(projects.core.utils) - implementation(tangemDeps.card.core) - implementation(tangemDeps.hot.core) + // region Kotlin + api(deps.kotlin.datetime) + api(deps.kotlin.serialization) + // endregion + + // region Other libraries + api(deps.arrow.core) + api(deps.jodatime) + api(deps.moshi) implementation(deps.moshi.kotlin) - implementation(deps.moshi.adapters) - implementation(deps.kotlin.datetime) - implementation(deps.jodatime) - implementation(deps.kotlin.serialization) ksp(deps.moshi.kotlin.codegen) - implementation(deps.arrow.core) + // endregion + // region Tangem SDK + api(tangemDeps.card.core) + api(tangemDeps.hot.core) + // endregion + + // region Core modules + // core:utils is intentionally re-exported (api): domain:models is a ubiquitous dependency and many + // consumers rely on TangemLogger / utils through it. Demoting to implementation cascades across the + // whole repo, so keep it api despite DAGP's incorrect-configuration advice (suppressed below). + api(projects.core.utils) + // endregion + + // region Domain + api(projects.domain.core) + // endregion + + // region Tests testImplementation(projects.test.core) + // endregion } \ No newline at end of file diff --git a/domain/networks/build.gradle.kts b/domain/networks/build.gradle.kts index 46f153a39a..dd47583453 100644 --- a/domain/networks/build.gradle.kts +++ b/domain/networks/build.gradle.kts @@ -4,7 +4,13 @@ plugins { } dependencies { + + // region Kotlin + api(deps.kotlin.coroutines) + // endregion + + // region Domain api(projects.domain.core) api(projects.domain.models) - api(projects.domain.wallets.models) + // endregion } \ No newline at end of file diff --git a/domain/news/build.gradle.kts b/domain/news/build.gradle.kts index 4af5590248..cf50c36aab 100644 --- a/domain/news/build.gradle.kts +++ b/domain/news/build.gradle.kts @@ -5,8 +5,21 @@ plugins { } dependencies { - api(projects.domain.core) - api(projects.domain.models) + + // region Kotlin + api(deps.kotlin.coroutines) + api(deps.kotlin.serialization) + // endregion + + // region Other libraries + api(deps.arrow.core) + // endregion + + // region Core modules api(projects.core.pagination) - implementation(deps.kotlin.serialization) + // endregion + + // region Domain + api(projects.domain.models) + // endregion } \ No newline at end of file diff --git a/domain/nft/build.gradle.kts b/domain/nft/build.gradle.kts index 4e39ec51eb..673d491280 100644 --- a/domain/nft/build.gradle.kts +++ b/domain/nft/build.gradle.kts @@ -10,26 +10,31 @@ android { } dependencies { - // region Project – Core - implementation(projects.core.analytics.models) - implementation(projects.core.utils) + + // region Kotlin + api(deps.kotlin.coroutines) // endregion - // region Project – Domain + // region Other libraries + api(deps.arrow.core) + // endregion + + // region Core modules + api(projects.core.analytics.models) + api(projects.core.utils) + // endregion + + // region Domain + api(projects.domain.account) + api(projects.domain.networks) + api(projects.domain.quotes) + api(projects.domain.tokens) + api(projects.domain.wallets) implementation(projects.domain.core) - implementation(projects.domain.account) - implementation(projects.domain.models) - implementation(projects.domain.networks) - implementation(projects.domain.nft.models) - implementation(projects.domain.quotes) - implementation(projects.domain.tokens) - implementation(projects.domain.tokens.models) - implementation(projects.domain.wallets) - implementation(projects.domain.wallets.models) // endregion - // region Others - implementation(deps.arrow.core) - implementation(deps.kotlin.coroutines) + // region Domain models + api(projects.domain.models) + api(projects.domain.nft.models) // endregion } \ No newline at end of file diff --git a/domain/nft/models/build.gradle.kts b/domain/nft/models/build.gradle.kts index ce4aec98eb..3454e337b0 100644 --- a/domain/nft/models/build.gradle.kts +++ b/domain/nft/models/build.gradle.kts @@ -5,13 +5,12 @@ plugins { } dependencies { - implementation(deps.arrow.core) - implementation(deps.kotlin.coroutines) - implementation(projects.domain.core) - implementation(projects.domain.models) - implementation(projects.domain.tokens.models) + // region Kotlin + api(deps.kotlin.serialization) + // endregion - /* Utils */ - implementation(deps.kotlin.serialization) + // region Domain models + api(projects.domain.models) + // endregion } \ No newline at end of file diff --git a/features/onramp/impl/build.gradle.kts b/features/onramp/impl/build.gradle.kts index 87252298e9..69de92479e 100644 --- a/features/onramp/impl/build.gradle.kts +++ b/features/onramp/impl/build.gradle.kts @@ -14,49 +14,48 @@ android { dependencies { /** Project - API */ - implementation(projects.features.commonFeatures.api) - implementation(projects.features.onramp.api) - implementation(projects.features.swap.api) - implementation(projects.features.swap.domain) - implementation(projects.features.swap.domain.api) - implementation(projects.features.swap.domain.models) - implementation(projects.features.feed.api) + api(projects.features.commonFeatures.api) + api(projects.features.onramp.api) /** Project - Core */ - implementation(projects.core.analytics) - implementation(projects.core.configToggles) - implementation(projects.core.decompose) - implementation(projects.core.navigation) - implementation(projects.core.ui) - implementation(projects.core.utils) + api(projects.core.analytics) + api(projects.core.decompose) + api(projects.core.navigation) + api(projects.core.ui) + api(projects.core.utils) + implementation(projects.core.analytics.models) /** Project - Common */ - implementation(projects.common.routing) - implementation(projects.common.ui) - implementation(projects.common.uiMarkets) - implementation(projects.common.uiCharts) + api(projects.common.routing) + api(projects.common.ui) + implementation(projects.common) /** Project - Domain */ - implementation(projects.domain.appCurrency) + api(projects.domain.account) + api(projects.domain.account.status) + api(projects.domain.appCurrency) + api(projects.domain.appTheme) + api(projects.domain.balanceHiding) + api(projects.domain.demo) + api(projects.domain.legacy) + api(projects.domain.models) + api(projects.domain.offramp) + api(projects.domain.onramp) + api(projects.domain.onramp.models) + api(projects.domain.settings) + api(projects.domain.tokens) + api(projects.domain.wallets) implementation(projects.domain.appCurrency.models) - implementation(projects.domain.balanceHiding) - implementation(projects.domain.balanceHiding.models) - implementation(projects.domain.card) - implementation(projects.domain.demo) - implementation(projects.domain.models) - implementation(projects.domain.offramp) - implementation(projects.domain.onramp) - implementation(projects.domain.tokens) - implementation(projects.domain.tokens.models) - implementation(projects.domain.wallets) - implementation(projects.domain.wallets.models) - implementation(projects.domain.settings) - implementation(projects.domain.transaction.models) - implementation(projects.domain.account.status) - implementation(projects.domain.appTheme) implementation(projects.domain.appTheme.models) - implementation(projects.data.common) - implementation(projects.domain.markets) + implementation(projects.domain.balanceHiding.models) + implementation(projects.domain.core) + implementation(projects.domain.tokens.models) + implementation(projects.domain.transaction.models) + implementation(projects.domain.wallets.models) + runtimeOnly(projects.domain.card) + + /** Data */ + api(projects.data.common) /** DI */ implementation(deps.hilt.android) @@ -67,19 +66,23 @@ dependencies { implementation(deps.lifecycle.compose) /** Compose */ + api(deps.compose.coil) + api(deps.compose.foundation) implementation(deps.compose.ui) implementation(deps.compose.ui.tooling) - implementation(deps.compose.accompanist.systemUiController) - implementation(deps.compose.foundation) implementation(deps.compose.material3) - implementation(deps.compose.shimmer) - implementation(deps.compose.coil) /** Tangem libraries */ implementation(tangemDeps.blockchain) implementation(projects.libs.blockchainSdk) /** Other */ + api(deps.kotlin.coroutines) + api(deps.kotlin.immutable.collections) + api(deps.kotlin.serialization.core) + implementation(deps.androidx.annotation) + implementation(deps.androidx.appCompat) + implementation(deps.arrow.core) + implementation(deps.jodatime) implementation(deps.decompose.ext.compose) - implementation(deps.kotlin.immutable.collections) } \ No newline at end of file diff --git a/features/swap/impl/build.gradle.kts b/features/swap/impl/build.gradle.kts index f955ca80e0..a40a8c20cc 100644 --- a/features/swap/impl/build.gradle.kts +++ b/features/swap/impl/build.gradle.kts @@ -12,107 +12,102 @@ android { } dependencies { /** Api */ - implementation(projects.features.commonFeatures.api) + api(projects.features.approval.api) + api(projects.features.commonFeatures.api) + api(projects.features.send.api) + api(projects.features.swap.api) + api(projects.features.swap.domain) + implementation(projects.features.send.impl) /** Core modules */ - implementation(projects.core.analytics) - implementation(projects.core.analytics.models) - implementation(projects.core.configToggles) - implementation(projects.core.datasource) - implementation(projects.core.navigation) - implementation(projects.core.utils) - implementation(projects.core.ui) - implementation(projects.common.routing) - implementation(projects.common.ui) - implementation(projects.core.decompose) // For Route supertype + api(projects.core.analytics) + api(projects.core.analytics.models) + api(projects.core.configToggles) + api(projects.core.datasource) + api(projects.core.decompose) + api(projects.core.navigation) + api(projects.core.ui) + api(projects.core.utils) implementation(projects.core.error) - implementation(projects.common.uiMarkets) - implementation(projects.common.uiCharts) + api(projects.common.routing) + api(projects.common.ui) /** Data modules */ implementation(projects.data.common) /** Domain modules **/ - implementation(projects.domain.models) + api(projects.domain.account.status) + api(projects.domain.appCurrency) + api(projects.domain.appCurrency.models) + api(projects.domain.balanceHiding) + api(projects.domain.card) + api(projects.domain.express.models) + api(projects.domain.feedback) + api(projects.domain.legacy) + api(projects.domain.models) + api(projects.domain.settings) + api(projects.domain.stories) + api(projects.domain.swap) + api(projects.domain.swap.models) + api(projects.domain.tokens) + api(projects.domain.transaction) + api(projects.domain.transaction.models) + api(projects.domain.txhistory) + api(projects.domain.visa) + api(projects.domain.wallets) implementation(projects.domain.account) - implementation(projects.domain.appCurrency) - implementation(projects.domain.appCurrency.models) - implementation(projects.domain.balanceHiding) implementation(projects.domain.balanceHiding.models) - implementation(projects.domain.tokens) - implementation(projects.domain.tokens.models) - implementation(projects.domain.transaction) - implementation(projects.domain.transaction.models) - implementation(projects.domain.wallets) - implementation(projects.domain.wallets.models) - implementation(projects.domain.settings) - implementation(projects.domain.staking) - implementation(projects.domain.feedback) + implementation(projects.domain.core) implementation(projects.domain.feedback.models) - implementation(projects.domain.stories) + implementation(projects.domain.markets.models) implementation(projects.domain.stories.models) - implementation(projects.domain.txhistory) implementation(projects.domain.txhistory.models) - implementation(projects.domain.express.models) - implementation(projects.domain.account) - implementation(projects.domain.account.status) - implementation(projects.domain.card) - implementation(projects.domain.visa) - implementation(projects.domain.markets) - implementation(projects.domain.swap) - implementation(projects.domain.swap.models) - - /** Feature modules */ - implementation(projects.features.swap.domain) - implementation(projects.features.swap.domain.api) - implementation(projects.features.swap.domain.models) - implementation(projects.features.wallet.api) - implementation(projects.features.swap.api) - implementation(projects.features.send.api) - implementation(projects.features.send.impl) - implementation(projects.features.feed.api) + implementation(projects.domain.visa.models) + runtimeOnly(projects.domain.staking) /** AndroidX */ implementation(deps.androidx.activity.compose) + implementation(deps.androidx.annotation) implementation(deps.androidx.appCompat) - implementation(deps.androidx.fragment.ktx) - implementation(deps.lifecycle.viewModel.ktx) - implementation(deps.androidx.browser) + implementation(deps.lifecycle.compose) + implementation(deps.lifecycle.runtime.ktx) /** Compose */ - implementation(deps.arrow.core) - implementation(deps.compose.foundation) + api(deps.compose.coil) + api(deps.compose.foundation) + api(deps.decompose.ext.compose) implementation(deps.compose.material3) implementation(deps.compose.ui.tooling) - implementation(deps.compose.coil) implementation(deps.compose.constraintLayout) - /** Api */ - implementation(projects.features.swap.api) - implementation(projects.features.tokendetails.api) - implementation(projects.features.approval.api) - /** Libs */ + implementation(projects.libs.blockchainSdk) implementation(projects.libs.crypto) + /** Common */ + implementation(projects.common) + /** Other libraries */ - implementation(deps.compose.shimmer) - implementation(deps.compose.accompanist.systemUiController) + api(deps.arrow.core) + api(deps.kotlin.coroutines) + api(deps.kotlin.immutable.collections) + implementation(deps.jodatime) implementation(deps.kotlin.serialization) - implementation(deps.kotlin.immutable.collections) - implementation(deps.decompose.ext.compose) implementation(deps.firebase.perf) { exclude(group = "com.google.firebase", module = "protolite-well-known-types") exclude(group = "com.google.protobuf", module = "protobuf-javalite") } /** Tangem libs */ - implementation(tangemDeps.blockchain) + api(tangemDeps.blockchain) /** DI */ implementation(deps.hilt.android) kapt(deps.hilt.kapt) /** Test */ + testImplementation(projects.domain.core) + testImplementation(projects.domain.legacy) + testImplementation(projects.libs.blockchainSdk) testImplementation(projects.test.core) } \ No newline at end of file