Updated on 2026-08-14

This commit is contained in:
Tangem 2026-07-01 12:41:30 +04:00
parent fdbd09cccb
commit 39a107b039
18 changed files with 367 additions and 254 deletions

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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)
}

View file

@ -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)
}