Updated on 2026-08-14

This commit is contained in:
Tangem 2026-07-01 17:01:46 +04:00
parent 79f79d1c34
commit 82b7c5afc6
16 changed files with 347 additions and 288 deletions

View file

@ -10,15 +10,17 @@ android {
} }
dependencies { dependencies {
/** Domain */
implementation(projects.domain.models)
implementation(projects.domain.express.models)
implementation(projects.domain.tokens.models)
/** Core */ // region Other libraries
implementation(projects.core.datasource) api(deps.jodatime)
// endregion
/** Other */ // region Core modules
implementation(deps.jodatime) api(projects.core.datasource)
implementation(deps.moshi) // endregion
// region Domain models
api(projects.domain.express.models)
api(projects.domain.models)
// endregion
} }

View file

@ -9,55 +9,62 @@ android {
} }
dependencies { dependencies {
/** Project - Domain */ // region Kotlin
api(projects.domain.core) api(deps.kotlin.coroutines)
implementation(projects.domain.common) // endregion
implementation(projects.domain.card)
implementation(projects.domain.express)
implementation(projects.domain.models)
implementation(projects.domain.legacy)
implementation(projects.domain.walletManager)
implementation(projects.domain.staking)
implementation(projects.domain.visa)
implementation(projects.libs.blockchainSdk)
implementation(projects.domain.tokens.models)
implementation(projects.domain.txhistory.models)
implementation(projects.domain.transaction.models)
implementation(projects.domain.wallets.models)
implementation(projects.domain.appCurrency.models)
implementation(projects.domain.onramp.models)
implementation(projects.domain.settings)
implementation(projects.features.swap.domain.api)
implementation(projects.features.swap.domain.models)
implementation(projects.domain.stories.models)
implementation(projects.domain.stories)
implementation(projects.domain.networks)
implementation(projects.domain.quotes)
implementation(projects.domain.yieldSupply.models)
/** Project - Api */ // region Other libraries
implementation(projects.features.staking.api) api(deps.arrow.core)
implementation(projects.features.markets.api) api(tangemDeps.blockchain) {
implementation(projects.features.swap.api)
implementation(projects.features.virtualAccounts.details.api) //VIRTUAL_ACCOUNTS_ENABLED
/** Project - Other */
implementation(projects.core.configToggles)
implementation(projects.core.utils)
implementation(projects.libs.crypto)
implementation(projects.common)
/** Android - Other */
implementation(deps.androidx.paging.runtime)
/** Utils */
implementation(deps.jodatime)
implementation(tangemDeps.blockchain) {
exclude(module = "joda-time") exclude(module = "joda-time")
} }
// endregion
/** Tests */ // region Core modules
api(projects.core.utils)
// endregion
// region Domain
api(projects.domain.common)
api(projects.domain.core)
api(projects.domain.express)
api(projects.domain.legacy)
api(projects.domain.networks)
api(projects.domain.quotes)
api(projects.domain.staking)
api(projects.domain.stories)
api(projects.domain.visa)
api(projects.domain.walletManager)
implementation(projects.domain.card)
// endregion
// region Domain models
api(projects.domain.models)
api(projects.domain.tokens.models)
api(projects.domain.transaction.models)
api(projects.domain.yieldSupply.models)
implementation(projects.domain.express.models)
implementation(projects.domain.stories.models)
// endregion
// region Features
api(projects.features.virtualAccounts.details.api) // VIRTUAL_ACCOUNTS_ENABLED
// endregion
// region Libs
implementation(projects.libs.crypto)
// endregion
// region Common
implementation(projects.common)
// endregion
// region Runtime
runtimeOnly(projects.domain.settings)
// endregion
// region Tests
testImplementation(projects.common.test) testImplementation(projects.common.test)
testImplementation(projects.test.core) testImplementation(projects.test.core)
// endregion
} }

View file

@ -8,47 +8,58 @@ android {
namespace = "com.tangem.domain.transaction" namespace = "com.tangem.domain.transaction"
} }
tasks.withType<Test>().configureEach {
useJUnitPlatform()
}
dependencies { dependencies {
// region Kotlin
api(deps.arrow.core)
implementation(deps.kotlin.coroutines) implementation(deps.kotlin.coroutines)
implementation(deps.arrow.core) // endregion
implementation(projects.core.utils) // region Tangem SDK
implementation(projects.core.ui) api(tangemDeps.blockchain)
implementation(projects.core.datasource) api(tangemDeps.card.core)
/** Tangem SDKs */
implementation(tangemDeps.card.core)
implementation(tangemDeps.card.android) { implementation(tangemDeps.card.android) {
exclude(module = "joda-time") exclude(module = "joda-time")
} }
implementation(tangemDeps.blockchain) // endregion
// region Core modules
api(projects.core.utils)
implementation(projects.core.ui)
// endregion
// region Libs
implementation(projects.libs.blockchainSdk) implementation(projects.libs.blockchainSdk)
implementation(projects.libs.crypto) implementation(projects.libs.crypto)
// endregion
implementation(projects.domain.account.status) // region Domain
implementation(projects.domain.common) api(projects.domain.account)
implementation(projects.domain.dynamicAddresses) api(projects.domain.account.status)
implementation(projects.domain.dynamicAddresses.models) api(projects.domain.card)
implementation(projects.domain.models) api(projects.domain.common)
implementation(projects.domain.legacy) api(projects.domain.demo)
implementation(projects.domain.walletManager) api(projects.domain.dynamicAddresses)
implementation(projects.domain.wallets.models)
implementation(projects.domain.tokens)
implementation(projects.domain.tokens.models)
implementation(projects.domain.transaction.models)
implementation(projects.domain.demo)
implementation(projects.domain.card)
implementation(projects.domain.notifications)
api(projects.domain.networks) api(projects.domain.networks)
api(projects.domain.notifications)
api(projects.domain.tokens)
api(projects.domain.walletManager)
implementation(projects.domain.core)
implementation(projects.domain.dynamicAddresses.models)
implementation(projects.domain.legacy)
// endregion
testRuntimeOnly(deps.test.junit5.engine) // region Domain models
api(projects.domain.demo.models)
api(projects.domain.models)
api(projects.domain.transaction.models)
api(projects.domain.wallets.models)
// endregion
// region Tests
testRuntimeOnly(deps.test.junit5.vintage.engine) testRuntimeOnly(deps.test.junit5.vintage.engine)
testImplementation(deps.test.junit)
testImplementation(projects.common.test) testImplementation(projects.common.test)
testImplementation(projects.test.core) testImplementation(projects.test.core)
testImplementation(projects.test.mock) // endregion
} }

View file

@ -1,8 +1,6 @@
plugins { plugins {
alias(deps.plugins.android.library) alias(deps.plugins.android.library)
alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.android)
alias(deps.plugins.kotlin.kapt)
alias(deps.plugins.hilt.android)
id("configuration") id("configuration")
} }
@ -11,24 +9,23 @@ android {
} }
dependencies { dependencies {
/** Project - Domain */
implementation(projects.domain.core)
api(projects.domain.express.models)
implementation(projects.domain.models)
implementation(projects.domain.tokens.models)
implementation(projects.domain.txhistory.models)
implementation(projects.domain.wallets.models)
implementation(projects.domain.visa.models)
/** Project - Other */ // region Kotlin
implementation(projects.core.utils) api(deps.kotlin.coroutines)
// endregion
/** Android - Other */ // region Other libraries
api(deps.arrow.core)
implementation(deps.androidx.paging.runtime) implementation(deps.androidx.paging.runtime)
// endregion
// region Core modules
api(projects.core.pagination) api(projects.core.pagination)
// endregion
/** DI */ // region Domain models
implementation(deps.hilt.android) api(projects.domain.express.models)
kapt(deps.hilt.kapt) api(projects.domain.models)
api(projects.domain.txhistory.models)
// endregion
} }

View file

@ -1,7 +1,6 @@
plugins { plugins {
alias(deps.plugins.android.library) alias(deps.plugins.android.library)
alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.android)
alias(deps.plugins.ksp)
id("configuration") id("configuration")
} }
@ -10,24 +9,36 @@ android {
} }
dependencies { dependencies {
/** Project - Domain */
// region Kotlin
implementation(deps.kotlin.coroutines)
// endregion
// region Other libraries
implementation(deps.arrow.core)
// endregion
// region Core modules
api(projects.core.security)
// endregion
// region Domain
api(projects.domain.common)
api(projects.domain.visa)
// endregion
// region Domain models
api(projects.domain.models) api(projects.domain.models)
api(projects.domain.virtualAccount.models) api(projects.domain.virtualAccount.models)
implementation(projects.domain.common) // endregion
implementation(projects.domain.visa)
/** Project - Core */ // region Tests
implementation(projects.core.security) testImplementation(deps.test.coroutine)
/** Coroutines */
implementation(deps.kotlin.coroutines)
/** Tests */
testImplementation(deps.test.junit5) testImplementation(deps.test.junit5)
testImplementation(deps.test.mockk) testImplementation(deps.test.mockk)
testImplementation(deps.test.coroutine)
testImplementation(deps.test.truth) testImplementation(deps.test.truth)
testImplementation(projects.test.core)
testImplementation(projects.common.test) testImplementation(projects.common.test)
testImplementation(projects.domain.card) testImplementation(projects.domain.card)
testImplementation(projects.domain.visa.models)
// endregion
} }

View file

@ -1,7 +1,6 @@
plugins { plugins {
alias(deps.plugins.android.library) alias(deps.plugins.android.library)
alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.android)
alias(deps.plugins.ksp)
id("configuration") id("configuration")
} }

View file

@ -1,44 +1,52 @@
plugins { plugins {
alias(deps.plugins.android.library) alias(deps.plugins.android.library)
alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.android)
alias(deps.plugins.ksp)
id("configuration") id("configuration")
} }
android { android {
namespace = "com.tangem.domain.visa" namespace = "com.tangem.domain.visa"
} }
dependencies {
/** Project - Core */
api(projects.core.pagination)
implementation(projects.core.analytics.models)
implementation(projects.core.error)
implementation(projects.core.security)
implementation(projects.core.utils)
/** Project - Domain */ dependencies {
// region Kotlin
api(deps.kotlin.coroutines)
// endregion
// region Other libraries
api(deps.arrow.core)
api(deps.jodatime)
implementation(deps.androidx.paging.runtime)
runtimeOnly(deps.spongecastle.core)
// endregion
// region Core modules
api(projects.core.analytics.models)
api(projects.core.error)
api(projects.core.pagination)
api(projects.core.utils)
// endregion
// region Domain
api(projects.domain.core)
// endregion
// region Domain models
api(projects.domain.appCurrency.models)
api(projects.domain.models) api(projects.domain.models)
api(projects.domain.visa.models) api(projects.domain.visa.models)
implementation(projects.domain.appCurrency.models) // endregion
implementation(projects.domain.core)
implementation(projects.domain.tokens.models)
implementation(projects.domain.wallets.models)
implementation(projects.core.datasource)
/** Security */ // region Runtime
implementation(deps.spongecastle.core) runtimeOnly(deps.room.runtime)
// endregion
/** Libs - Other */ // region Tests
implementation(deps.jodatime) testImplementation(deps.test.coroutine)
implementation(deps.androidx.paging.runtime)
implementation(deps.moshi)
implementation(deps.moshi.kotlin)
ksp(deps.moshi.kotlin.codegen)
/** Tests */
testImplementation(deps.test.junit5) testImplementation(deps.test.junit5)
testImplementation(deps.test.mockk) testImplementation(deps.test.mockk)
testImplementation(deps.test.coroutine)
testImplementation(deps.test.truth) testImplementation(deps.test.truth)
testImplementation(projects.test.core) testImplementation(projects.test.core)
// endregion
} }

View file

@ -6,16 +6,26 @@ plugins {
} }
dependencies { dependencies {
implementation(deps.moshi.kotlin)
// region Kotlin
api(deps.kotlin.serialization)
// endregion
// region Other libraries
api(deps.jodatime)
api(deps.moshi)
ksp(deps.moshi.kotlin.codegen) ksp(deps.moshi.kotlin.codegen)
implementation(deps.moshi.adapters) // endregion
implementation(deps.kotlin.serialization)
implementation(deps.jodatime)
implementation(projects.core.error)
/** Domain models */ // region Core modules
api(projects.core.error)
// endregion
// region Tangem SDK (derived public keys types for VA activation)
api(tangemDeps.card.core)
// endregion
// region Domain models
implementation(projects.domain.models) implementation(projects.domain.models)
// endregion
/** Tangem libraries (derived public keys types for VA activation) */
implementation(tangemDeps.card.core)
} }

View file

@ -9,23 +9,32 @@ android {
} }
dependencies { dependencies {
/* Project - Domain */
implementation(projects.domain.blockaid.models) // region Kotlin
api(deps.kotlin.coroutines)
// endregion
// region Other libraries
api(deps.arrow.core)
api(tangemDeps.blockchain)
api(tangemDeps.card.core)
// endregion
// region Core modules
api(projects.core.analytics)
api(projects.core.analytics.models)
implementation(projects.core.utils)
// endregion
// region Domain
implementation(projects.domain.core) implementation(projects.domain.core)
implementation(projects.domain.models)
implementation(projects.domain.tokens.models)
implementation(projects.domain.wallets.models)
implementation(projects.domain.walletConnect.models)
implementation(projects.domain.transaction) implementation(projects.domain.transaction)
implementation(projects.domain.transaction.models) // endregion
/* Project - Core */ // region Domain models
implementation(projects.core.analytics) api(projects.domain.blockaid.models)
api(projects.domain.models)
/* Other */ api(projects.domain.transaction.models)
implementation(deps.moshi.adapters) api(projects.domain.walletConnect.models)
// endregion
/* Tangem libraries */
implementation(tangemDeps.blockchain)
implementation(tangemDeps.card.core)
} }

View file

@ -6,17 +6,19 @@ plugins {
} }
dependencies { dependencies {
/* Domain */ // region Kotlin
implementation(projects.domain.models) api(deps.kotlin.serialization)
implementation(projects.domain.wallets.models) // endregion
implementation(projects.domain.tokens.models)
implementation(projects.domain.blockaid.models)
implementation(projects.domain.transaction.models)
/* Other */ // region Other libraries
implementation(deps.moshi) api(deps.moshi)
ksp(deps.moshi.kotlin.codegen) ksp(deps.moshi.kotlin.codegen)
// endregion
/* Utils */ // region Domain models
implementation(deps.kotlin.serialization) api(projects.domain.blockaid.models)
api(projects.domain.models)
api(projects.domain.tokens.models)
api(projects.domain.transaction.models)
// endregion
} }

View file

@ -1,7 +1,6 @@
plugins { plugins {
alias(deps.plugins.android.library) alias(deps.plugins.android.library)
alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.android)
alias(deps.plugins.ksp)
id("configuration") id("configuration")
} }
@ -10,34 +9,32 @@ android {
} }
dependencies { dependencies {
/** Domain models */
api(projects.domain.walletManager.models)
/** Project - Domain */ // region Kotlin
implementation(projects.core.utils) api(deps.kotlin.coroutines)
implementation(projects.core.error) // endregion
// region Other libraries
api(deps.arrow.core)
api(tangemDeps.blockchain)
// endregion
// region Core modules
api(projects.core.utils)
// endregion
// region Domain models
api(projects.domain.models) api(projects.domain.models)
implementation(projects.domain.core) api(projects.domain.transaction.models)
implementation(projects.domain.demo.models) api(projects.domain.txhistory.models)
implementation(projects.domain.wallets.models) api(projects.domain.walletManager.models)
implementation(projects.domain.tokens.models) // endregion
implementation(projects.domain.appCurrency.models)
implementation(projects.domain.transaction.models)
implementation(projects.domain.txhistory.models)
/** Tangem libs */ // region Libs
implementation(tangemDeps.card.core) api(projects.libs.blockchainSdk)
// endregion
/** Libs - Other */ // region Tests
implementation(projects.libs.blockchainSdk)
implementation(tangemDeps.blockchain)
implementation(deps.moshi)
implementation(deps.moshi.kotlin)
ksp(deps.moshi.kotlin.codegen)
/** Testing libraries */
testImplementation(deps.test.junit5)
testImplementation(deps.test.mockk) testImplementation(deps.test.mockk)
testImplementation(deps.test.truth) // endregion
testImplementation(projects.common.test)
} }

View file

@ -6,12 +6,13 @@ plugins {
} }
dependencies { dependencies {
implementation(projects.domain.models)
implementation(deps.moshi.kotlin) // region Other libraries
api(deps.moshi)
ksp(deps.moshi.kotlin.codegen) ksp(deps.moshi.kotlin.codegen)
implementation(deps.moshi.adapters) // endregion
implementation(deps.kotlin.serialization)
implementation(deps.jodatime) // region Domain models
implementation(projects.core.error) api(projects.domain.models)
// endregion
} }

View file

@ -1,8 +1,6 @@
plugins { plugins {
alias(deps.plugins.android.library) alias(deps.plugins.android.library)
alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.android)
alias(deps.plugins.kotlin.kapt)
alias(deps.plugins.hilt.android)
id("configuration") id("configuration")
} }
@ -12,54 +10,56 @@ android {
dependencies { dependencies {
// region Core modules // region Kotlin
implementation(projects.core.res) api(deps.kotlin.coroutines)
implementation(projects.core.utils)
implementation(projects.core.analytics)
// endregion // endregion
// region Domain modules // region Other libraries
api(projects.domain.core) api(deps.arrow.core)
api(projects.domain.common) api(tangemDeps.blockchain) // android-library
implementation(projects.domain.legacy) api(tangemDeps.card.core)
implementation(projects.domain.walletManager) api(tangemDeps.hot.core)
implementation(projects.libs.blockchainSdk) implementation(deps.hilt.android)
implementation(projects.libs.tangemSdkApi)
implementation(projects.domain.account)
implementation(projects.domain.models)
implementation(projects.domain.tokens)
implementation(projects.domain.card)
implementation(projects.domain.tokens.models)
implementation(projects.domain.wallets.models)
implementation(projects.domain.notifications.models)
implementation(projects.domain.demo.models)
implementation(projects.domain.hotWallet)
implementation(projects.domain.qrScanning)
// endregion // endregion
// region Domain modules // region Firebase
implementation(projects.domain.qrScanning.models)
// endregion
implementation(projects.common)
// region Tangem libraries
implementation(tangemDeps.blockchain) // android-library
implementation(tangemDeps.card.core)
implementation(tangemDeps.hot.core)
// endregion
/** Other libraries */
implementation(platform(deps.firebase.bom)) implementation(platform(deps.firebase.bom))
implementation(deps.firebase.analytics) implementation(deps.firebase.analytics)
// endregion
// region DI // region Core modules
implementation(deps.hilt.android) api(projects.core.analytics)
kapt(deps.hilt.kapt) api(projects.core.analytics.models)
// end api(projects.core.utils)
// endregion
// region Domain
api(projects.domain.account)
api(projects.domain.card)
api(projects.domain.common)
api(projects.domain.hotWallet)
api(projects.domain.walletManager)
api(projects.domain.core)
implementation(projects.domain.legacy)
// endregion
// region Domain models
api(projects.domain.models)
api(projects.domain.wallets.models)
implementation(projects.domain.demo.models)
implementation(projects.domain.notifications.models)
// endregion
// region Libs
implementation(projects.libs.blockchainSdk)
// endregion
// region Common
implementation(projects.common)
// endregion
// region Tests // region Tests
testImplementation(projects.test.core)
testImplementation(projects.common.test) testImplementation(projects.common.test)
// end testImplementation(projects.test.core)
// endregion
} }

View file

@ -1,25 +1,12 @@
plugins { plugins {
alias(deps.plugins.kotlin.jvm) alias(deps.plugins.kotlin.jvm)
alias(deps.plugins.kotlin.serialization) alias(deps.plugins.kotlin.serialization)
alias(deps.plugins.ksp)
id("configuration") id("configuration")
} }
dependencies { dependencies {
// region Tangem libraries
implementation(tangemDeps.card.core)
implementation(tangemDeps.hot.core)
// endregion
// region Domain modules // region Domain models
implementation(projects.domain.models) api(projects.domain.models)
// endregion
implementation(projects.core.utils)
// region Other libraries
implementation(deps.kotlin.serialization)
implementation(deps.moshi.kotlin)
ksp(deps.moshi.kotlin.codegen)
// endregion // endregion
} }

View file

@ -8,35 +8,51 @@ android {
namespace = "com.tangem.domain.yield.supply" namespace = "com.tangem.domain.yield.supply"
} }
dependencies { dependencies {
/** Core */
// region Kotlin
api(deps.kotlin.coroutines)
// endregion
// region Other libraries
api(deps.arrow.core)
api(tangemDeps.blockchain)
// endregion
// region Core modules
api(projects.core.utils)
implementation(projects.core.ui) implementation(projects.core.ui)
implementation(projects.core.utils) // endregion
// region Libs
implementation(projects.libs.blockchainSdk) implementation(projects.libs.blockchainSdk)
implementation(projects.libs.crypto) implementation(projects.libs.crypto)
// endregion
/** Domain */ // region Domain
api(projects.domain.account)
api(projects.domain.blockaid)
api(projects.domain.networks)
api(projects.domain.quotes)
api(projects.domain.transaction)
implementation(projects.domain.account.status) implementation(projects.domain.account.status)
implementation(projects.domain.models) // endregion
implementation(projects.domain.yieldSupply.models)
implementation(projects.domain.transaction.models) // region Domain models
implementation(projects.domain.transaction) api(projects.domain.appCurrency.models)
implementation(projects.domain.legacy) api(projects.domain.models)
api(projects.domain.transaction.models)
api(projects.domain.yieldSupply.models)
implementation(projects.domain.blockaid.models) implementation(projects.domain.blockaid.models)
implementation(projects.domain.blockaid) // endregion
implementation(projects.domain.quotes)
implementation(projects.domain.tokens)
implementation(projects.domain.appCurrency.models)
/** Tandem SDK */ // region Tests
implementation(tangemDeps.blockchain) testRuntimeOnly(projects.domain.tokens)
testImplementation(deps.kotlin.datetime)
/** Other */
implementation(deps.arrow.core)
/** tests */
testImplementation(projects.test.core)
testImplementation(deps.test.junit5)
testImplementation(deps.test.coroutine) testImplementation(deps.test.coroutine)
testImplementation(deps.test.truth) testImplementation(deps.test.junit5)
testImplementation(deps.test.mockk) testImplementation(deps.test.mockk)
testImplementation(deps.test.truth)
testImplementation(projects.domain.legacy)
testImplementation(projects.test.core)
// endregion
} }

View file

@ -5,12 +5,14 @@ plugins {
} }
dependencies { dependencies {
// region Domain modules
api(projects.domain.models) // region Kotlin
api(deps.kotlin.datetime)
api(deps.kotlin.serialization)
// endregion // endregion
// region Other libraries // region Domain models
implementation(deps.kotlin.serialization) api(projects.domain.models)
api(deps.kotlin.datetime) // endregion
} }