Updated on 2026-08-14

This commit is contained in:
Tangem 2026-07-02 18:18:34 +04:00
parent 2494a5c4e6
commit 26bba893ff
16 changed files with 619 additions and 442 deletions

View file

@ -10,31 +10,33 @@ android {
} }
dependencies { dependencies {
/* Core */
implementation(projects.core.decompose)
implementation(projects.core.configToggles)
implementation(projects.core.utils)
/* Domain */ // region Kotlin
implementation(projects.domain.qrScanning.models)
implementation(projects.domain.models)
implementation(projects.domain.tokens.models)
implementation(projects.domain.wallets.models)
implementation(projects.domain.staking)
implementation(projects.domain.markets.models)
implementation(projects.domain.onramp.models)
implementation(projects.domain.appCurrency.models)
implementation(projects.domain.nft.models)
implementation(projects.domain.feedback.models)
implementation(projects.domain.visa.models)
/* Libs - Other */
api(deps.kotlin.serialization) api(deps.kotlin.serialization)
implementation(deps.androidx.core.ktx) // endregion
/* Tests */ // region Core
testImplementation(deps.test.junit5) api(projects.core.analytics.models)
api(projects.core.decompose)
api(projects.core.utils)
// endregion
// region Domain
api(projects.domain.appCurrency.models)
api(projects.domain.feedback.models)
api(projects.domain.markets.models)
api(projects.domain.models)
api(projects.domain.nft.models)
api(projects.domain.onramp.models)
api(projects.domain.staking)
api(projects.domain.tokens.models)
implementation(projects.domain.visa.models)
// endregion
// region Tests
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)
// endregion
} }

View file

@ -9,30 +9,36 @@ android {
} }
dependencies { dependencies {
implementation(projects.core.datasource)
implementation(projects.core.utils)
implementation(projects.data.common) // region Other libraries
implementation(projects.data.staking)
implementation(projects.domain.legacy)
implementation(projects.domain.models)
implementation(projects.domain.card)
implementation(projects.domain.staking.models)
implementation(projects.domain.tokens.models)
implementation(projects.domain.txhistory.models)
implementation(projects.domain.wallets)
implementation(projects.domain.wallets.models)
implementation(projects.libs.blockchainSdk)
implementation(deps.androidx.datastore)
implementation(deps.jodatime) implementation(deps.jodatime)
implementation(deps.test.coroutine) // endregion
implementation(tangemDeps.blockchain) // region Tangem SDK
implementation(tangemDeps.card.core) api(tangemDeps.blockchain)
api(tangemDeps.card.core)
// endregion
implementation(deps.test.junit5) // region Core
implementation(deps.test.truth) api(projects.core.datasource)
implementation(projects.core.utils)
// endregion
// region Data
implementation(projects.data.common)
// endregion
// region Domain
api(projects.domain.card)
api(projects.domain.models)
implementation(projects.domain.wallets)
// endregion
// region Domain models
api(projects.domain.staking.models)
// endregion
// region Libs
api(projects.libs.blockchainSdk)
// endregion
} }

View file

@ -9,19 +9,30 @@ android {
} }
dependencies { dependencies {
/** Project - Core */ // region Kotlin
implementation(projects.core.ui) api(deps.kotlin.coroutines)
implementation(projects.core.utils) api(deps.kotlin.immutable.collections)
// endregion
/** Compose */ // region Compose
implementation(tangemDeps.vico.core) api(deps.compose.foundation)
implementation(tangemDeps.vico.compose)
implementation(tangemDeps.vico.compose.m3)
implementation(deps.lifecycle.compose)
implementation(deps.compose.foundation)
implementation(deps.compose.material3) implementation(deps.compose.material3)
implementation(deps.compose.ui.tooling) implementation(deps.compose.ui.tooling)
implementation(deps.compose.ui.utils) implementation(deps.compose.ui.utils)
implementation(deps.kotlin.immutable.collections) // endregion
// region Other libraries
implementation(deps.androidx.annotation)
implementation(deps.jodatime)
// endregion
// region Vico
implementation(tangemDeps.vico.core)
implementation(tangemDeps.vico.compose)
// endregion
// region Project - Core
implementation(projects.core.ui)
implementation(projects.core.utils)
// 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,41 +9,59 @@ android {
} }
dependencies { dependencies {
/** Project - Core */
implementation(projects.core.ui)
implementation(projects.core.utils)
implementation(projects.core.navigation)
implementation(projects.core.analytics)
/** Project - Common */ // region Kotlin
implementation(projects.common.uiCharts) api(deps.kotlin.coroutines)
implementation(projects.common.ui) api(deps.kotlin.immutable.collections)
implementation(projects.common.routing) // endregion
/** Project - Domain */ // region Compose
implementation(projects.domain.models) api(deps.compose.foundation)
implementation(projects.domain.tokens)
implementation(projects.domain.tokens.models)
implementation(projects.domain.staking)
implementation(projects.domain.staking.models)
implementation(projects.domain.onramp.models)
implementation(projects.domain.offramp)
implementation(projects.domain.demo)
implementation(projects.domain.card)
implementation(projects.domain.feedback)
implementation(deps.lifecycle.compose)
implementation(deps.compose.foundation)
implementation(deps.compose.material3)
implementation(deps.compose.ui.tooling) implementation(deps.compose.ui.tooling)
implementation(deps.compose.material3)
implementation(deps.compose.ui.utils) implementation(deps.compose.ui.utils)
implementation(deps.kotlin.immutable.collections) // endregion
/** DI */ // region Other libraries
implementation(deps.androidx.annotation)
implementation(deps.arrow.core)
implementation(deps.haze)
implementation(deps.hilt.android) implementation(deps.hilt.android)
kapt(deps.hilt.kapt) // endregion
/** Test */ // region Project - Core
testImplementation(projects.test.core) 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)
// endregion
// region Project - Common
api(projects.common.routing)
api(projects.common.uiCharts)
implementation(projects.common.ui)
// endregion
// region Project - Domain
api(projects.domain.appCurrency.models)
api(projects.domain.card)
api(projects.domain.demo)
api(projects.domain.feedback)
api(projects.domain.models)
api(projects.domain.offramp)
api(projects.domain.tokens)
implementation(projects.domain.onramp.models)
implementation(projects.domain.staking)
implementation(projects.domain.tokens.models)
// endregion
// region Test
testImplementation(deps.test.coroutine)
testImplementation(deps.test.junit5)
testImplementation(deps.test.mockk)
testImplementation(deps.test.truth)
testImplementation(projects.common.test) testImplementation(projects.common.test)
// endregion
} }

View file

@ -8,47 +8,70 @@ android {
namespace = "com.tangem.common.ui" namespace = "com.tangem.common.ui"
} }
dependencies { dependencies {
api(projects.common)
/** Compose */ // region Kotlin
implementation(deps.compose.material3) api(deps.kotlin.immutable.collections)
implementation(deps.compose.foundation) implementation(deps.kotlin.coroutines)
implementation(deps.compose.ui) // endregion
implementation(deps.compose.ui.tooling)
implementation(deps.compose.navigation) // region Compose
implementation(deps.compose.navigation.hilt) api(deps.compose.foundation)
api(deps.compose.material3)
implementation(deps.compose.coil) implementation(deps.compose.coil)
implementation(deps.compose.constraintLayout) implementation(deps.compose.constraintLayout)
implementation(deps.compose.ui)
implementation(deps.compose.ui.tooling)
// endregion
/** Deps */ // region Other libraries
implementation(deps.kotlin.immutable.collections) api(deps.arrow.core)
implementation(deps.hilt.android)
implementation(deps.androidx.annotation)
implementation(deps.androidx.core.ktx)
implementation(deps.haze)
// endregion
/** Project - Common */ // region Tangem SDK
implementation(projects.core.ui) api(tangemDeps.blockchain) {
implementation(projects.core.utils)
implementation(projects.core.res)
implementation(projects.libs.crypto)
implementation(projects.libs.blockchainSdk)
/** Project - Domain */
implementation(projects.domain.appCurrency.models)
implementation(projects.domain.models)
implementation(projects.domain.legacy)
implementation(projects.domain.card)
implementation(projects.domain.staking.models)
implementation(projects.domain.staking)
implementation(projects.domain.account)
implementation(projects.domain.tokens.models)
implementation(projects.domain.transaction.models)
implementation(projects.domain.wallets.models)
implementation(projects.domain.onramp.models)
implementation(projects.domain.common)
implementation(tangemDeps.card.core)
implementation(tangemDeps.blockchain) {
exclude(module = "joda-time") exclude(module = "joda-time")
} }
// endregion
/** Tests */ // region Project - Core
api(projects.core.analytics)
api(projects.core.ui)
api(projects.core.utils)
implementation(projects.core.analytics.models)
implementation(projects.core.res)
// endregion
// region Project - Common
// :common is intentionally re-exported (api): common:ui is a ubiquitous UI dependency and many
// feature modules rely on TangemBlogUrlBuilder / common types through it. Demoting to implementation
// cascades across the feature graph, so keep it api despite DAGP's advice (suppressed below).
api(projects.common)
// endregion
// region Project - Domain
api(projects.domain.account)
api(projects.domain.appCurrency.models)
api(projects.domain.common)
api(projects.domain.core)
api(projects.domain.models)
api(projects.domain.onramp.models)
api(projects.domain.staking)
api(projects.domain.tokens.models)
api(projects.domain.transaction.models)
implementation(projects.domain.card)
implementation(projects.domain.staking.models)
// endregion
// region Project - Libs
implementation(projects.libs.blockchainSdk)
implementation(projects.libs.crypto)
// endregion
// region Tests
testImplementation(projects.test.core) testImplementation(projects.test.core)
// endregion
} }

View file

@ -11,56 +11,68 @@ android {
namespace = "com.tangem.data.swap" namespace = "com.tangem.data.swap"
} }
dependencies { dependencies {
/** Core */
implementation(projects.core.datasource)
implementation(projects.core.utils)
/** Data */ // region Kotlin
implementation(projects.data.common) implementation(deps.kotlin.coroutines)
implementation(projects.data.express) // endregion
/** Domain */ // region Other libraries
implementation(projects.domain.express.models) api(deps.moshi)
implementation(projects.domain.express) implementation(deps.androidx.datastore)
implementation(projects.domain.swap.models) implementation(deps.arrow.core)
implementation(projects.domain.swap) implementation(deps.jodatime)
implementation(projects.domain.wallets.models) ksp(deps.moshi.kotlin.codegen)
implementation(projects.domain.wallets) // endregion
implementation(projects.domain.tokens.models)
implementation(projects.domain.tokens)
implementation(projects.domain.legacy)
implementation(projects.domain.models)
implementation(projects.domain.quotes)
implementation(projects.domain.networks)
implementation(projects.domain.staking.models)
implementation(projects.domain.staking)
implementation(projects.domain.account)
/** Tangem SDK */ // region Tangem SDK
implementation(tangemDeps.blockchain) { implementation(tangemDeps.blockchain) {
exclude(module = "joda-time") exclude(module = "joda-time")
} }
// endregion
/** Core */ // region DI
implementation(projects.core.configToggles)
/** Libs */
implementation(projects.libs.blockchainSdk)
implementation(projects.libs.crypto)
/** Other */
implementation(deps.androidx.datastore)
implementation(deps.jodatime)
implementation(deps.kotlin.coroutines)
implementation(deps.moshi)
implementation(deps.moshi.kotlin)
/** DI */
implementation(deps.hilt.android) implementation(deps.hilt.android)
kapt(deps.hilt.kapt) kapt(deps.hilt.kapt)
// endregion
/** Test */ // region Core
testImplementation(tangemDeps.card.core) api(projects.core.configToggles)
api(projects.core.datasource)
api(projects.core.utils)
// endregion
// region Data
api(projects.data.common)
implementation(projects.data.express)
// endregion
// region Domain
api(projects.domain.account)
api(projects.domain.express)
api(projects.domain.models)
api(projects.domain.quotes)
api(projects.domain.swap)
implementation(projects.domain.core)
implementation(projects.domain.tokens)
runtimeOnly(projects.domain.staking)
runtimeOnly(projects.domain.wallets)
// endregion
// region Domain models
api(projects.domain.swap.models)
implementation(projects.domain.express.models)
// endregion
// region Libs
implementation(projects.libs.blockchainSdk)
implementation(projects.libs.crypto)
// endregion
// region Test
testImplementation(deps.test.coroutine)
testImplementation(deps.test.junit5)
testImplementation(deps.test.mockk)
testImplementation(deps.test.truth)
testImplementation(projects.common.test) testImplementation(projects.common.test)
testImplementation(projects.test.core) // endregion
} }

View file

@ -4,58 +4,29 @@ 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.kotlin.kapt)
alias(deps.plugins.ksp)
id("configuration") id("configuration")
} }
android { android {
namespace = "com.tangem.data.tokens" namespace = "com.tangem.data.tokens"
} }
dependencies { dependencies {
// region Project - Data // region Kotlin
implementation(projects.data.common) implementation(deps.kotlin.coroutines)
implementation(projects.data.networks)
// endregion // endregion
// region Project - Domain // region Other libraries
implementation(projects.domain.account)
implementation(projects.domain.card)
implementation(projects.domain.common)
implementation(projects.domain.core)
implementation(projects.domain.demo)
implementation(projects.domain.express)
implementation(projects.domain.legacy)
implementation(projects.domain.models)
implementation(projects.domain.staking)
implementation(projects.domain.staking.models)
implementation(projects.domain.tokens)
implementation(projects.domain.tokens.models)
implementation(projects.domain.txhistory.models)
implementation(projects.domain.walletManager)
implementation(projects.domain.transaction)
implementation(projects.domain.wallets.models)
// endregion
// region Project - Utils
implementation(projects.core.datasource)
implementation(projects.core.utils)
implementation(projects.libs.blockchainSdk)
implementation(projects.common)
// endregion
// region Project - Features API
implementation(projects.features.send.api)
// endregion
// region Tangem SDKs
implementation(tangemDeps.blockchain)
implementation(tangemDeps.card.core)
// endregion
// region AndroidX
implementation(deps.androidx.datastore) implementation(deps.androidx.datastore)
implementation(deps.androidx.paging.runtime) implementation(deps.arrow.atomic)
implementation(deps.arrow.core)
implementation(deps.moshi)
kaptForObfuscatingVariants(deps.retrofit.response.type.keeper)
// endregion
// region Tangem SDK
implementation(tangemDeps.blockchain)
// endregion // endregion
// region DI // region DI
@ -63,13 +34,39 @@ dependencies {
kapt(deps.hilt.kapt) kapt(deps.hilt.kapt)
// endregion // endregion
// region Other // region Core modules
implementation(deps.jodatime) api(projects.core.datasource)
implementation(deps.kotlin.coroutines) api(projects.core.utils)
implementation(deps.moshi.kotlin) // endregion
implementation(deps.retrofit) // For HttpException
ksp(deps.moshi.kotlin.codegen) // region Data
kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) api(projects.data.common)
runtimeOnly(projects.data.networks)
// endregion
// region Domain
api(projects.domain.common)
api(projects.domain.tokens)
api(projects.domain.transaction)
api(projects.domain.walletManager)
implementation(projects.domain.core)
implementation(projects.domain.models)
runtimeOnly(projects.domain.account)
runtimeOnly(projects.domain.card)
runtimeOnly(projects.domain.staking)
// endregion
// region Domain models
implementation(projects.domain.tokens.models)
implementation(projects.domain.walletManager.models)
// endregion
// region Common
implementation(projects.common)
// endregion
// region Libs
api(projects.libs.blockchainSdk)
// endregion // endregion
// region Tests // region Tests

View file

@ -11,42 +11,55 @@ android {
} }
dependencies { dependencies {
/** Tangem SDKs */ // region Kotlin
implementation(tangemDeps.blockchain) implementation(deps.kotlin.coroutines)
implementation(tangemDeps.card.core) // endregion
/** Core */ // region Other libraries
implementation(projects.core.configToggles) implementation(deps.androidx.core.ktx)
implementation(projects.core.datasource) // endregion
implementation(projects.core.utils)
/** Common */ // region Tangem SDKs
implementation(projects.data.common) api(tangemDeps.blockchain)
// endregion
/** Domain */ // region DI
implementation(projects.libs.blockchainSdk)
implementation(projects.libs.crypto)
implementation(projects.domain.legacy)
implementation(projects.domain.walletManager)
implementation(projects.domain.wallets.models)
implementation(projects.domain.tokens.models)
implementation(projects.domain.transaction.models)
implementation(projects.domain.transaction)
implementation(projects.domain.demo)
/** Api */
implementation(projects.features.send.api)
/** DI */
implementation(deps.hilt.android) implementation(deps.hilt.android)
kapt(deps.hilt.kapt) kapt(deps.hilt.kapt)
// endregion
/** Other */ // region Core
api(projects.core.configToggles)
api(projects.core.datasource)
api(projects.core.utils)
// endregion
/** tests */ // region Common
testImplementation(projects.common.test) api(projects.data.common)
testImplementation(deps.test.junit5) // endregion
// region Domain
api(projects.domain.models)
api(projects.domain.transaction)
api(projects.domain.walletManager)
implementation(projects.domain.demo)
// endregion
// region Domain models
api(projects.domain.wallets.models)
implementation(projects.domain.demo.models)
implementation(projects.domain.transaction.models)
// endregion
// region Libs
api(projects.libs.blockchainSdk)
implementation(projects.libs.crypto)
// endregion
// region tests
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)
// endregion
} }

View file

@ -9,47 +9,66 @@ android {
namespace = "com.tangem.data.txhistory" namespace = "com.tangem.data.txhistory"
} }
tasks.withType<Test>().configureEach {
useJUnitPlatform()
}
dependencies { dependencies {
implementation(projects.data.common)
implementation(projects.core.utils) // region Kotlin
implementation(projects.core.datasource) api(deps.kotlin.coroutines)
implementation(projects.core.pagination) // endregion
implementation(projects.core.analytics)
implementation(projects.domain.legacy) // region Other libraries
implementation(projects.domain.common) implementation(deps.androidx.annotation)
implementation(projects.domain.walletManager)
implementation(projects.domain.models)
implementation(projects.domain.tokens.models)
implementation(projects.domain.txhistory)
implementation(projects.domain.txhistory.models)
implementation(projects.domain.express.models)
implementation(projects.domain.wallets.models)
implementation(projects.domain.wallets)
implementation(projects.domain.onramp)
implementation(projects.domain.onramp.models)
implementation(projects.domain.account)
implementation(projects.domain.account.status)
implementation(projects.libs.blockchainSdk)
implementation(deps.kotlin.coroutines)
implementation(deps.androidx.paging.runtime) implementation(deps.androidx.paging.runtime)
implementation(deps.arrow.core)
implementation(deps.jodatime) implementation(deps.jodatime)
implementation(tangemDeps.blockchain) implementation(deps.room.runtime)
// endregion
// region Tangem SDK
implementation(tangemDeps.blockchain)
// endregion
// region DI
implementation(deps.hilt.core) implementation(deps.hilt.core)
kapt(deps.hilt.kapt) kapt(deps.hilt.kapt)
// endregion
// region Core modules
api(projects.core.analytics)
api(projects.core.datasource)
api(projects.core.utils)
implementation(projects.core.pagination)
// endregion
// region Data
api(projects.data.common)
// endregion
// region Domain
api(projects.domain.account)
api(projects.domain.common)
api(projects.domain.express)
api(projects.domain.models)
api(projects.domain.onramp)
api(projects.domain.txhistory)
api(projects.domain.walletManager)
api(projects.domain.wallets)
implementation(projects.domain.account.status)
// endregion
// region Domain models
implementation(projects.domain.express.models)
implementation(projects.domain.onramp.models)
implementation(projects.domain.tokens.models)
implementation(projects.domain.txhistory.models)
// endregion
// region Libs
api(projects.libs.blockchainSdk)
// endregion
// region Test // region Test
testImplementation(projects.common.test) testImplementation(projects.common.test)
testImplementation(projects.test.core) testImplementation(projects.test.core)
testImplementation(projects.test.mock) testImplementation(projects.test.mock)
testRuntimeOnly(deps.test.junit5.engine)
// endregion // endregion
} }

View file

@ -1,13 +1,9 @@
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.data.virtualaccount" namespace = "com.tangem.data.virtualaccount"
} }
dependencies {
}

View file

@ -23,63 +23,82 @@ android {
} }
dependencies { dependencies {
/** Project - Data */ // region Kotlin
implementation(projects.core.analytics)
implementation(projects.core.datasource)
implementation(projects.core.error)
implementation(projects.core.error.ext)
implementation(projects.core.security)
implementation(projects.data.common)
implementation(projects.data.wallets)
/** Project - Domain */
implementation(projects.domain.visa)
implementation(projects.domain.virtualAccount)
implementation(projects.domain.card)
implementation(projects.domain.wallets)
implementation(projects.domain.legacy)
implementation(projects.domain.models)
implementation(projects.domain.wallets.models)
implementation(projects.domain.appCurrency.models)
implementation(projects.domain.tokens.models)
implementation(projects.domain.tokens)
implementation(projects.domain.networks)
implementation(projects.domain.walletManager)
implementation(projects.domain.quotes)
implementation(projects.domain.common)
implementation(projects.features.swap.domain)
implementation(projects.features.virtualAccounts.details.api)
/** Project - Utils */
implementation(projects.core.utils)
implementation(projects.domain.legacy)
implementation(projects.libs.blockchainSdk)
/** Project - Libs */
implementation(projects.libs.visa)
/** Libs - Other */
implementation(deps.androidx.datastore)
implementation(deps.kotlin.coroutines) implementation(deps.kotlin.coroutines)
// endregion
// region Other libraries
api(deps.moshi)
implementation(deps.androidx.datastore)
implementation(deps.androidx.paging.runtime)
implementation(deps.arrow.core) implementation(deps.arrow.core)
implementation(deps.arrow.fx) implementation(deps.arrow.fx)
implementation(deps.jodatime) implementation(deps.jodatime)
implementation(deps.androidx.paging.runtime) implementation(deps.okio)
implementation(deps.moshi.kotlin)
ksp(deps.moshi.kotlin.codegen) ksp(deps.moshi.kotlin.codegen)
kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) kaptForObfuscatingVariants(deps.retrofit.response.type.keeper)
// endregion
/** Libs - Tangem */ // region Libs - Tangem
api(tangemDeps.hot.core)
implementation(tangemDeps.blockchain) implementation(tangemDeps.blockchain)
implementation(tangemDeps.card.core) implementation(tangemDeps.card.core)
implementation(tangemDeps.hot.core) // endregion
implementation(projects.libs.tangemSdkApi)
/** DI */ // region DI
implementation(deps.hilt.android) implementation(deps.hilt.android)
kapt(deps.hilt.kapt) kapt(deps.hilt.kapt)
// endregion
/** Test */ // region Project - Core
api(projects.core.analytics)
api(projects.core.datasource)
api(projects.core.security)
api(projects.core.utils)
implementation(projects.core.analytics.models)
implementation(projects.core.error)
implementation(projects.core.error.ext)
implementation(projects.core.pagination)
// endregion
// region Project - Data
api(projects.data.common)
implementation(projects.data.wallets)
// endregion
// region Project - Domain
api(projects.domain.common)
api(projects.domain.core)
api(projects.domain.networks)
api(projects.domain.quotes)
api(projects.domain.virtualAccount)
api(projects.domain.visa)
api(projects.domain.wallets)
implementation(projects.domain.card)
implementation(projects.domain.legacy)
implementation(projects.domain.models)
implementation(projects.domain.tokens.models)
implementation(projects.domain.walletManager)
runtimeOnly(projects.domain.tokens)
// endregion
// region Project - Domain models
api(projects.domain.visa.models)
implementation(projects.domain.appCurrency.models)
// endregion
// region Project - Features
api(projects.features.swap.domain)
api(projects.features.virtualAccounts.details.api)
// endregion
// region Project - Libs
api(projects.libs.blockchainSdk)
api(projects.libs.tangemSdkApi)
implementation(projects.libs.visa)
// endregion
// region Test
testImplementation(projects.test.core) testImplementation(projects.test.core)
// endregion
} }

View file

@ -1,7 +1,8 @@
plugins { plugins {
alias(deps.plugins.android.library)
alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.android)
alias(deps.plugins.kotlin.kapt) alias(deps.plugins.kotlin.kapt)
alias(deps.plugins.android.library) alias(deps.plugins.ksp)
id("configuration") id("configuration")
} }
@ -11,59 +12,80 @@ android {
dependencies { dependencies {
/* Project - Domain */ // region Kotlin
implementation(projects.domain.account) api(deps.kotlin.coroutines)
implementation(projects.domain.account.status) // endregion
implementation(projects.domain.walletConnect)
implementation(projects.domain.walletConnect.models)
implementation(projects.domain.transaction)
implementation(projects.domain.transaction.models)
implementation(projects.domain.wallets)
implementation(projects.domain.wallets.models)
implementation(projects.domain.tokens)
implementation(projects.domain.tokens.models)
implementation(projects.domain.models)
implementation(projects.domain.legacy)
implementation(projects.domain.walletManager)
implementation(projects.libs.blockchainSdk)
implementation(projects.data.common)
/* Project - Data */ // region Other libraries
implementation(projects.core.datasource) api(deps.arrow.core)
api(deps.moshi)
ksp(deps.moshi.kotlin.codegen)
implementation(deps.jodatime)
implementation(deps.okio)
// endregion
/* Project - Core */ // region Reown - WalletConnect
implementation(projects.core.utils) api(deps.reownWeb3) {
implementation(projects.core.analytics) exclude(group = "app.cash.sqldelight", module = "android-driver")
api(projects.core.configToggles) }
/* DI */
implementation(deps.hilt.core)
kapt(deps.hilt.kapt)
/* Tangem libraries */
implementation(tangemDeps.blockchain)
implementation(tangemDeps.card.core)
/* Reown - WalletConnect */
implementation(deps.reownCore) { implementation(deps.reownCore) {
exclude(group = "app.cash.sqldelight", module = "android-driver") exclude(group = "app.cash.sqldelight", module = "android-driver")
} }
implementation(deps.reownWeb3) { // endregion
exclude(group = "app.cash.sqldelight", module = "android-driver")
}
/* Other */ // region Tangem libraries
implementation(deps.kotlin.coroutines) api(tangemDeps.blockchain)
implementation(deps.arrow.core) implementation(tangemDeps.card.core)
implementation(deps.jodatime) // endregion
implementation(projects.domain.blockaid)
// region DI
implementation(deps.hilt.core)
kapt(deps.hilt.kapt)
// endregion
// region Project - Core
api(projects.core.analytics)
api(projects.core.configToggles)
api(projects.core.datasource)
api(projects.core.utils)
implementation(projects.core.analytics.models)
// endregion
// region Project - Data
implementation(projects.data.common)
// endregion
// region Project - Domain
api(projects.domain.account)
api(projects.domain.account.status)
api(projects.domain.blockaid)
api(projects.domain.common)
api(projects.domain.transaction)
api(projects.domain.walletConnect)
api(projects.domain.walletConnect.models)
api(projects.domain.walletManager)
api(projects.domain.wallets)
implementation(projects.domain.core)
implementation(projects.domain.models)
runtimeOnly(projects.domain.tokens)
// endregion
// region Project - Domain models
implementation(projects.domain.blockaid.models) implementation(projects.domain.blockaid.models)
implementation(projects.libs.crypto) implementation(projects.domain.tokens.models)
implementation(projects.domain.transaction.models)
// endregion
/* Tests */ // region Project - Libs
api(projects.libs.blockchainSdk)
implementation(projects.libs.crypto)
// endregion
// region Tests
testImplementation(projects.common.test) testImplementation(projects.common.test)
testImplementation(deps.test.coroutine) testImplementation(deps.test.coroutine)
testImplementation(deps.test.junit5) testImplementation(deps.test.junit5)
testImplementation(deps.test.mockk) testImplementation(deps.test.mockk)
testImplementation(deps.test.turbine) testImplementation(deps.test.turbine)
// endregion
} }

View file

@ -11,40 +11,53 @@ android {
} }
dependencies { dependencies {
/** Tangem libraries */
implementation(tangemDeps.blockchain)
implementation(tangemDeps.card.core)
/** Core */ // region Kotlin
implementation(projects.core.datasource) implementation(deps.kotlin.coroutines)
implementation(projects.core.utils) // endregion
implementation(projects.core.error)
implementation(projects.core.error.ext)
/** Domain */ // region Other libraries
implementation(projects.domain.wallets) implementation(deps.arrow.core)
implementation(projects.domain.walletManager) implementation(deps.moshi)
implementation(projects.domain.demo) // endregion
implementation(projects.domain.card)
implementation(projects.domain.transaction)
api(projects.domain.models)
/** Domain models */ // region Tangem libraries
implementation(projects.domain.wallets.models) api(tangemDeps.blockchain)
implementation(projects.domain.tokens.models) api(tangemDeps.card.core)
implementation(projects.domain.txhistory.models) // endregion
implementation(projects.domain.transaction.models)
/** DI */ // region DI
implementation(deps.hilt.android) implementation(deps.hilt.android)
kapt(deps.hilt.kapt) kapt(deps.hilt.kapt)
// endregion
/** Other deps */ // region Core
implementation(projects.libs.blockchainSdk) api(projects.core.datasource)
implementation(deps.androidx.datastore) api(projects.core.utils)
implementation(deps.arrow.core) // endregion
/** Testing libraries */ // region Domain
api(projects.domain.common)
api(projects.domain.models)
api(projects.domain.transaction)
implementation(projects.domain.card)
implementation(projects.domain.walletManager)
implementation(projects.domain.wallets)
// endregion
// region Domain models
implementation(projects.domain.demo.models)
implementation(projects.domain.transaction.models)
implementation(projects.domain.txhistory.models)
implementation(projects.domain.walletManager.models)
// endregion
// region Libs
api(projects.libs.blockchainSdk)
// endregion
// region Testing libraries
testImplementation(projects.common.test) testImplementation(projects.common.test)
testImplementation(projects.test.core) testImplementation(projects.test.core)
// endregion
} }

View file

@ -3,6 +3,7 @@ plugins {
alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.android)
alias(deps.plugins.kotlin.kapt) alias(deps.plugins.kotlin.kapt)
alias(deps.plugins.hilt.android) alias(deps.plugins.hilt.android)
alias(deps.plugins.ksp)
id("configuration") id("configuration")
} }
@ -10,42 +11,58 @@ android {
namespace = "com.tangem.data.wallet" namespace = "com.tangem.data.wallet"
} }
dependencies { dependencies {
implementation(projects.data.common)
/** Tangem libraries */ // region Kotlin
implementation(tangemDeps.blockchain) api(deps.kotlin.coroutines)
implementation(tangemDeps.card.core) // endregion
implementation(tangemDeps.hot.core)
implementation(projects.libs.tangemSdkApi)
implementation(projects.libs.blockchainSdk)
/** Core */ // region Other deps
implementation(projects.core.datasource) api(deps.moshi)
implementation(projects.core.utils) ksp(deps.moshi.kotlin.codegen)
/** Domain */
implementation(projects.domain.account)
implementation(projects.domain.card)
implementation(projects.domain.dynamicAddresses)
implementation(projects.domain.models)
implementation(projects.domain.tokens.models)
implementation(projects.domain.wallets)
implementation(projects.domain.wallets.models)
implementation(projects.domain.settings)
/** DI */
implementation(deps.hilt.android)
kapt(deps.hilt.kapt)
/** Other deps */
implementation(deps.androidx.datastore) implementation(deps.androidx.datastore)
implementation(deps.arrow.core) implementation(deps.arrow.core)
implementation(deps.kotlin.coroutines) // endregion
implementation(deps.moshi)
implementation(deps.moshi.kotlin) // region Tangem libraries
implementation(deps.retrofit) api(tangemDeps.blockchain)
api(tangemDeps.card.core)
api(tangemDeps.hot.core)
// endregion
// region DI
implementation(deps.hilt.android)
kapt(deps.hilt.kapt)
// endregion
// region Core
api(projects.core.datasource)
api(projects.core.utils)
// endregion
// region Data
api(projects.data.common)
// endregion
// region Domain
api(projects.domain.common)
api(projects.domain.dynamicAddresses)
api(projects.domain.models)
api(projects.domain.settings)
api(projects.domain.wallets)
implementation(projects.domain.card)
implementation(projects.domain.wallets.models)
runtimeOnly(projects.domain.account)
// endregion
// region Libs
api(projects.libs.tangemSdkApi)
implementation(projects.libs.blockchainSdk)
// endregion
/** tests */ /** tests */
testImplementation(projects.test.core) testImplementation(deps.test.coroutine)
testImplementation(deps.test.junit5)
testImplementation(deps.test.mockk)
testImplementation(deps.test.truth)
testImplementation(projects.common.test) testImplementation(projects.common.test)
} }

View file

@ -80,7 +80,7 @@ internal class DefaultWalletsPromoRepository(
} }
@JsonClass(generateAdapter = true) @JsonClass(generateAdapter = true)
private data class ReferralWalletsBindingData( internal data class ReferralWalletsBindingData(
@Json(name = "refcode") val refcode: String, @Json(name = "refcode") val refcode: String,
@Json(name = "campaign") val campaign: String?, @Json(name = "campaign") val campaign: String?,
@Json(name = "done") val isDone: Boolean, @Json(name = "done") val isDone: Boolean,

View file

@ -11,40 +11,51 @@ android {
} }
dependencies { dependencies {
/** Tangem SDKs */ // region Kotlin
implementation(tangemDeps.blockchain) implementation(deps.kotlin.coroutines)
implementation(deps.kotlin.datetime)
// endregion
// region AndroidX libraries // region AndroidX libraries
implementation(deps.androidx.datastore) implementation(deps.androidx.datastore)
// endregion // endregion
/** Core */ // region Tangem SDKs
implementation(projects.core.datasource) implementation(tangemDeps.blockchain)
implementation(projects.core.utils) // endregion
implementation(projects.core.analytics)
/** Domain */ // region DI
implementation(projects.domain.transaction)
implementation(projects.domain.yieldSupply)
implementation(projects.domain.yieldSupply.models)
implementation(projects.domain.walletManager)
implementation(projects.domain.legacy)
implementation(projects.domain.txhistory.models)
implementation(projects.libs.blockchainSdk)
/** DI */
implementation(deps.hilt.android) implementation(deps.hilt.android)
kapt(deps.hilt.kapt) kapt(deps.hilt.kapt)
// endregion
/** Other */ // region Core
implementation(deps.kotlin.datetime) api(projects.core.analytics)
api(projects.core.datasource)
api(projects.core.utils)
implementation(projects.core.analytics.models)
// endregion
/** tests */ // region Domain
testImplementation(projects.common.test) api(projects.domain.transaction)
testImplementation(deps.test.junit5) api(projects.domain.walletManager)
api(projects.domain.yieldSupply)
implementation(projects.domain.legacy)
implementation(projects.domain.models)
// endregion
// region Domain models
implementation(projects.domain.yieldSupply.models)
// endregion
// region Libs
implementation(projects.libs.blockchainSdk)
// endregion
// region tests
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)
// endregion
} }