Updated on 2026-08-14

This commit is contained in:
Tangem 2024-10-09 14:53:35 +04:00
parent bb58d027c6
commit 0a4235ee0a
25 changed files with 160 additions and 39 deletions

View file

@ -26,6 +26,8 @@ dependencies {
implementation(projects.core.datasource)
implementation(projects.core.utils)
implementation(projects.libs.blockchainSdk)
implementation(projects.domain.card)
implementation(projects.domain.models)
}

View file

@ -1,7 +1,8 @@
package com.tangem.data.card
import com.tangem.TangemSdk
import com.tangem.blockchain.common.CommonSigner
import com.tangem.blockchain.common.TransactionSigner
import com.tangem.blockchainsdk.signer.TransactionSignerFactory
import com.tangem.common.UserCodeType
import com.tangem.common.core.CardIdDisplayFormat
import com.tangem.common.core.UserCodeRequestPolicy
@ -16,7 +17,10 @@ import com.tangem.domain.models.scan.ProductType
*
[REDACTED_AUTHOR]
*/
internal class DefaultCardSdkConfigRepository(private val cardSdkProvider: CardSdkProvider) : CardSdkConfigRepository {
internal class DefaultCardSdkConfigRepository(
private val cardSdkProvider: CardSdkProvider,
private val transactionSignerFactory: TransactionSignerFactory,
) : CardSdkConfigRepository {
@Deprecated("Use CardSdkConfigRepository's methods instead of this property")
override val sdk: TangemSdk
@ -53,11 +57,9 @@ internal class DefaultCardSdkConfigRepository(private val cardSdkProvider: CardS
}
}
override fun getCommonSigner(cardId: String?) = CommonSigner(
tangemSdk = sdk,
cardId = cardId,
initialMessage = null,
)
override fun getCommonSigner(cardId: String?): TransactionSigner {
return transactionSignerFactory.createTransactionSigner(cardId = cardId, sdk = sdk)
}
override fun isLinkedTerminal() = sdk.config.linkedTerminal

View file

@ -1,5 +1,6 @@
package com.tangem.data.card.di
import com.tangem.blockchainsdk.signer.TransactionSignerFactory
import com.tangem.data.card.DefaultCardRepository
import com.tangem.data.card.DefaultCardSdkConfigRepository
import com.tangem.data.card.sdk.CardSdkProvider
@ -18,8 +19,14 @@ internal object CardDataModule {
@Provides
@Singleton
fun provideCardSdkConfigRepository(cardSdkProvider: CardSdkProvider): CardSdkConfigRepository {
return DefaultCardSdkConfigRepository(cardSdkProvider = cardSdkProvider)
fun provideCardSdkConfigRepository(
cardSdkProvider: CardSdkProvider,
transactionSignerFactory: TransactionSignerFactory,
): CardSdkConfigRepository {
return DefaultCardSdkConfigRepository(
cardSdkProvider = cardSdkProvider,
transactionSignerFactory = transactionSignerFactory,
)
}
@Provides

View file

@ -146,7 +146,7 @@ internal class DefaultTransactionRepository(
override suspend fun sendTransaction(
txData: TransactionData,
signer: CommonSigner,
signer: TransactionSigner,
userWalletId: UserWalletId,
network: Network,
) = withContext(coroutineDispatcherProvider.io) {
@ -161,7 +161,7 @@ internal class DefaultTransactionRepository(
override suspend fun sendMultipleTransactions(
txsData: List<TransactionData>,
signer: CommonSigner,
signer: TransactionSigner,
userWalletId: UserWalletId,
network: Network,
) = withContext(coroutineDispatcherProvider.io) {