Updated on 2026-08-14

This commit is contained in:
Tangem 2026-06-30 19:47:48 +04:00
parent a8c70f3925
commit e2af488b32
20 changed files with 232 additions and 150 deletions

View file

@ -393,6 +393,7 @@ dependencies {
kapt(deps.hilt.compilerx)
/** Other libraries */
implementation(deps.arrow.fx)
implementation(deps.kotlin.immutable.collections)
implementation(deps.material)
implementation(deps.googlePlay.review)

View file

@ -14,52 +14,61 @@ android {
}
dependencies {
/** Core modules */
implementation(projects.core.datasource)
implementation(projects.core.utils)
implementation(projects.core.analytics)
/** Common modules */
implementation(projects.data.common)
/** Domain modules */
implementation(projects.domain.account)
implementation(projects.domain.onramp)
implementation(projects.domain.legacy)
implementation(projects.domain.card)
implementation(projects.domain.walletManager)
implementation(projects.domain.appTheme.models)
implementation(projects.domain.models)
implementation(projects.domain.express.models)
implementation(projects.domain.txhistory)
// region DI
implementation(deps.hilt.android)
kapt(deps.hilt.kapt)
// region Kotlin
implementation(deps.kotlin.coroutines)
implementation(deps.kotlin.serialization)
// endregion
// region Others dependencies
// region Other libraries
api(deps.moshi)
implementation(deps.androidx.datastore)
implementation(deps.arrow.core)
implementation(deps.jodatime)
implementation(deps.kotlin.coroutines)
implementation(deps.kotlin.immutable.collections)
implementation(deps.moshi)
implementation(deps.moshi.kotlin)
ksp(deps.moshi.kotlin.codegen)
kaptForObfuscatingVariants(deps.retrofit.response.type.keeper)
implementation(deps.kotlin.serialization)
// endregion
implementation(projects.libs.blockchainSdk)
implementation(projects.libs.crypto)
implementation(tangemDeps.card.core)
implementation(tangemDeps.blockchain) {
// region Tangem SDK
api(tangemDeps.blockchain) {
exclude(module = "joda-time")
}
implementation(tangemDeps.card.core)
// endregion
// region DI
implementation(deps.hilt.android)
kapt(deps.hilt.kapt)
// endregion
// region Core modules
api(projects.core.analytics)
api(projects.core.datasource)
api(projects.core.utils)
implementation(projects.core.analytics.models)
// endregion
// region Data modules
api(projects.data.common)
// endregion
// region Domain modules
api(projects.domain.common)
api(projects.domain.models)
api(projects.domain.onramp)
api(projects.domain.txhistory)
api(projects.domain.walletManager)
implementation(projects.domain.card)
runtimeOnly(projects.domain.account)
// endregion
// region Domain models
implementation(projects.domain.express.models)
implementation(projects.domain.onramp.models)
implementation(projects.domain.tokens.models)
// endregion
// region Libs
api(projects.libs.blockchainSdk)
// endregion
}

View file

@ -5,17 +5,29 @@ plugins {
}
dependencies {
api(projects.domain.common)
// 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.utils)
// endregion
// region Domain
runtimeOnly(projects.domain.common)
api(projects.domain.core)
// endregion
// region Domain models
api(projects.domain.models)
api(projects.domain.wallets.models)
api(projects.domain.yieldSupply.models)
// endregion
implementation(deps.arrow.core)
implementation(deps.kotlin.coroutines)
implementation(deps.kotlin.serialization)
// region Test libraries
// region Tests
testImplementation(projects.test.core)
testImplementation(projects.test.mock)
// endregion

View file

@ -11,21 +11,35 @@ android {
dependencies {
api(projects.domain.core)
// region Kotlin
api(deps.kotlin.coroutines)
api(deps.kotlin.serialization)
// endregion
// region Other libraries
api(deps.arrow.core)
api(deps.jodatime)
// endregion
// region Core modules
implementation(projects.core.utils)
// endregion
// region Domain
api(projects.domain.common)
api(projects.domain.tokens)
api(projects.domain.transaction)
// endregion
// region Domain models
api(projects.domain.models)
// endregion
implementation(projects.domain.common)
implementation(projects.domain.transaction)
implementation(projects.domain.tokens)
implementation(deps.arrow.core)
implementation(deps.kotlin.coroutines)
implementation(deps.kotlin.serialization)
implementation(deps.jodatime)
// region Test libraries
testImplementation(projects.test.core)
testImplementation(projects.test.mock)
// region Tests
testImplementation(deps.test.coroutine)
testImplementation(deps.test.junit5)
testImplementation(deps.test.mockk)
testImplementation(deps.test.truth)
testImplementation(projects.common.test)
// endregion
}

View file

@ -1,19 +1,18 @@
plugins {
alias(deps.plugins.kotlin.jvm)
alias(deps.plugins.kotlin.kapt)
alias(deps.plugins.ksp)
id("configuration")
}
dependencies {
/** Project - Domain */
implementation(projects.core.utils)
implementation(projects.domain.core)
implementation(projects.domain.models)
implementation(projects.domain.wallets.models)
implementation(deps.moshi.kotlin)
implementation(deps.arrow.core)
implementation(deps.arrow.fx)
// region Other libraries
api(deps.arrow.core)
api(deps.moshi)
ksp(deps.moshi.kotlin.codegen)
// endregion
// region Domain models
api(projects.domain.models)
// endregion
}

View file

@ -5,8 +5,15 @@ plugins {
dependencies {
/** Project - Domain */
implementation(projects.core.utils)
implementation(projects.domain.core)
implementation(projects.domain.appCurrency.models)
// region Kotlin
api(deps.kotlin.coroutines)
// endregion
// region Other libraries
api(deps.arrow.core)
// endregion
// region Domain models
api(projects.domain.appCurrency.models)
// endregion
}

View file

@ -5,5 +5,5 @@ plugins {
}
dependencies {
implementation(deps.kotlin.serialization)
api(deps.kotlin.serialization)
}

View file

@ -5,8 +5,15 @@ plugins {
dependencies {
/** Project - Domain */
implementation(projects.core.utils)
implementation(projects.domain.core)
implementation(projects.domain.appTheme.models)
// region Kotlin
api(deps.kotlin.coroutines)
// endregion
// region Other libraries
api(deps.arrow.core)
// endregion
// region Domain models
api(projects.domain.appTheme.models)
// endregion
}

View file

@ -7,7 +7,3 @@ plugins {
android {
namespace = "com.tangem.domain.appsflyer"
}
dependencies {
implementation(deps.kotlin.coroutines)
}

View file

@ -8,24 +8,29 @@ android {
namespace = "com.tangem.domain.assetsdiscovery"
}
tasks.withType<Test>().configureEach {
useJUnitPlatform()
}
dependencies {
api(projects.domain.core)
implementation(projects.domain.models)
implementation(projects.domain.account.status)
implementation(projects.core.utils)
implementation(projects.libs.blockchainSdk)
implementation(tangemDeps.blockchain)
// region Kotlin
api(deps.kotlin.coroutines)
// endregion
implementation(deps.kotlin.coroutines)
implementation(deps.arrow.core)
// region Other libraries
api(deps.arrow.core)
api(tangemDeps.blockchain)
// endregion
// region Core modules
api(projects.core.analytics)
api(projects.core.utils)
implementation(projects.core.analytics.models)
// endregion
// region Domain
api(projects.domain.account.status)
api(projects.domain.models)
// endregion
// region Tests
testRuntimeOnly(deps.test.junit5.engine)
testImplementation(projects.common.test)
testImplementation(projects.test.core)
// endregion

View file

@ -4,8 +4,16 @@ plugins {
}
dependencies {
implementation(projects.domain.core)
implementation(deps.kotlin.coroutines)
implementation(projects.domain.settings)
implementation(projects.domain.balanceHiding.models)
// region Kotlin
api(deps.kotlin.coroutines)
// endregion
// region Other libraries
api(deps.arrow.core)
// endregion
// region Domain models
api(projects.domain.balanceHiding.models)
// endregion
}

View file

@ -10,15 +10,17 @@ android {
dependencies {
/** Project - Domain */
implementation(projects.domain.models)
implementation(projects.domain.core)
implementation(projects.domain.blockaid.models)
/** Tangem SDK */
implementation(tangemDeps.blockchain)
// region Other libraries
api(deps.arrow.core)
api(tangemDeps.blockchain)
// endregion
// region Domain
api(projects.domain.models)
// endregion
/** Other */
implementation(deps.moshi.adapters)
// region Domain models
api(projects.domain.blockaid.models)
// endregion
}

View file

@ -1,10 +1,4 @@
plugins {
alias(deps.plugins.kotlin.jvm)
alias(deps.plugins.ksp)
id("configuration")
}
dependencies {
/* Other */
implementation(deps.moshi)
ksp(deps.moshi.kotlin.codegen)
}

View file

@ -8,30 +8,43 @@ android {
namespace = "com.tangem.domain.card"
}
dependencies {
implementation(projects.core.analytics.models)
implementation(projects.core.error)
implementation(projects.core.error.ext)
implementation(projects.domain.demo)
implementation(projects.domain.core)
implementation(projects.domain.legacy)
implementation(projects.domain.walletManager) // TODO refactor to use from data module
implementation(projects.libs.blockchainSdk)
// TODO: Remove after new card scan result was implemented
implementation(projects.domain.models)
implementation(projects.domain.tokens.models)
implementation(projects.domain.wallets.models)
implementation(projects.domain.visa.models)
implementation(projects.core.utils)
// region Kotlin
api(deps.kotlin.coroutines)
// endregion
implementation(projects.libs.tangemSdkApi)
implementation(tangemDeps.card.core)
implementation(tangemDeps.blockchain) {
// region Other libraries
api(deps.arrow.core)
api(tangemDeps.blockchain) {
exclude(module = "joda-time")
}
api(tangemDeps.card.core)
// endregion
/** Testing libraries */
testImplementation(projects.common.test)
// region Core modules
api(projects.core.analytics.models)
api(projects.core.utils)
// core:error provides UniversalError — a supertype of VisaActivationError (used via
// domain:visa:models) the compiler needs on the classpath, though never referenced directly.
implementation(projects.core.error)
// endregion
// region Domain
implementation(projects.domain.core)
implementation(projects.domain.demo.models)
// endregion
// region Domain models
api(projects.domain.models)
api(projects.domain.visa.models)
// endregion
// region Libs
api(projects.libs.blockchainSdk)
api(projects.libs.tangemSdkApi)
// endregion
// region Tests
testImplementation(projects.test.core)
// endregion
}

View file

@ -6,15 +6,11 @@ plugins {
dependencies {
api(deps.arrow.core)
api(deps.arrow.fx)
api(deps.kotlin.coroutines)
implementation(deps.kotlin.serialization)
api(projects.core.analytics.models)
api(projects.domain.models)
testImplementation(deps.test.coroutine)
testImplementation(deps.test.junit)
testImplementation(deps.test.mockk)
testImplementation(deps.test.truth)
}

View file

@ -6,10 +6,9 @@ plugins {
dependencies {
api(deps.arrow.core)
api(deps.arrow.fx)
api(deps.arrow.atomic)
api(deps.kotlin.coroutines)
implementation(deps.kotlin.serialization)
api(deps.kotlin.serialization)
testImplementation(deps.test.coroutine)
testImplementation(deps.test.junit5)

View file

@ -11,6 +11,6 @@ android {
dependencies {
api(projects.domain.demo.models)
implementation(tangemDeps.blockchain)
api(tangemDeps.blockchain)
implementation(tangemDeps.card.core)
}

View file

@ -9,6 +9,5 @@ android {
}
dependencies {
implementation(tangemDeps.blockchain)
implementation(tangemDeps.card.core)
api(tangemDeps.blockchain)
}

View file

@ -8,19 +8,36 @@ android {
namespace = "com.tangem.domain.dynamicaddresses"
}
dependencies {
api(projects.domain.core)
api(projects.domain.dynamicAddresses.models)
implementation(projects.domain.models)
implementation(projects.domain.walletManager)
implementation(projects.domain.wallets)
implementation(projects.libs.blockchainSdk)
// region Kotlin
api(deps.kotlin.coroutines)
// endregion
implementation(tangemDeps.blockchain) {
// region Other libraries
api(deps.arrow.core)
api(tangemDeps.blockchain) {
exclude(module = "joda-time")
}
implementation(tangemDeps.card.core)
api(tangemDeps.card.core)
// endregion
testImplementation(projects.common.test)
testImplementation(projects.test.core)
// region Domain
api(projects.domain.models)
api(projects.domain.walletManager)
api(projects.domain.wallets)
// endregion
// region Domain models
api(projects.domain.dynamicAddresses.models)
// endregion
// region Libs
implementation(projects.libs.blockchainSdk)
// endregion
// region Tests
testImplementation(deps.test.junit5)
testImplementation(deps.test.mockk)
testImplementation(deps.test.truth)
// endregion
}

View file

@ -111,6 +111,7 @@ surveysparrow = "1.2.9"
# region Tools
detektComposeRules = "1.4.0"
detekt = "1.23.8"
dependencyAnalysis = "3.16.0"
# endregion Tools
# region Testing
@ -142,6 +143,7 @@ firebase-perf = { id = "com.google.firebase.firebase-perf", version.ref = "fireb
google-services = { id = "com.google.gms.google-services", version.ref = "googleServices" }
hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
dependency-analysis = { id = "com.autonomousapps.dependency-analysis", version.ref = "dependencyAnalysis" }
room = { id = "androidx.room", version.ref = "room" }
kotlin-compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
@ -166,6 +168,7 @@ androidx-constraintLayout = { module = "androidx.constraintlayout:constraintlayo
androidx-core = { module = "androidx.core:core", version.ref = "androidxCore" }
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidxKtx" }
androidx-core-splashScreen = { module = "androidx.core:core-splashscreen", version.ref = "androidxSplashScreen" }
androidx-fragment = { module = "androidx.fragment:fragment", version.ref = "androidxFragment" }
androidx-fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "androidxFragment" }
androidx-fragment-compose = { module = "androidx.fragment:fragment-compose", version.ref = "androidxFragment" }
androidx-paging-runtime = { module = "androidx.paging:paging-runtime", version.ref = "androidx-paging" }
@ -297,6 +300,7 @@ kotlin-serialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-j
kotlin-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinSerialization" }
kotlin-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinDatetime" }
arrow-core = { module = "io.arrow-kt:arrow-core", version.ref = "arrow" }
arrow-atomic = { module = "io.arrow-kt:arrow-atomic", version.ref = "arrow" }
arrow-fx = { module = "io.arrow-kt:arrow-fx-coroutines", version.ref = "arrow" }
reownCore = { module = "com.reown:android-core", version.ref = "reownCore" }
reownWeb3 = { module = "com.reown:walletkit", version.ref = "reownWeb3" }