Updated on 2026-08-14

This commit is contained in:
Tangem 2023-01-20 18:52:52 +08:00
parent e6fcb9e2fe
commit 40c37826bf
198 changed files with 791 additions and 704 deletions

View file

@ -13,9 +13,9 @@ import com.tangem.operations.wallet.CreateWalletTask
class CreateWalletsTask(curves: List<EllipticCurve>? = null) : CardSessionRunnable<Card> {
private val curves = curves ?: listOf(
EllipticCurve.Secp256k1,
EllipticCurve.Ed25519,
EllipticCurve.Secp256r1,
EllipticCurve.Secp256k1,
EllipticCurve.Ed25519,
EllipticCurve.Secp256r1,
)
private var index = 0
@ -26,10 +26,10 @@ class CreateWalletsTask(curves: List<EllipticCurve>? = null) : CardSessionRunnab
}
private fun createWallet(
curve: EllipticCurve, session: CardSession,
curve: EllipticCurve,
session: CardSession,
callback: (result: CompletionResult<Card>) -> Unit
) {
CreateWalletTask(curve).run(session) { result ->
when (result) {
is CompletionResult.Success -> {

View file

@ -34,4 +34,4 @@ class SignHashTask(
}
}
}
}
}

View file

@ -210,7 +210,8 @@ private class CreateWalletTangemWallet : ProductCommandProcessor<CreateProductWa
callback(
CompletionResult.Success(
CreateProductWalletTaskResponse(
card = session.environment.card!!, primaryCard = primaryCard,
card = session.environment.card!!,
primaryCard = primaryCard,
),
),
)

View file

@ -23,7 +23,7 @@ class CreateWalletsTask(
private val createdWalletsResponses = mutableListOf<CreateWalletResponse>()
override fun run(session: CardSession, callback: (result: CompletionResult<CreateWalletsResponse>) -> Unit) {
if (curves.isEmpty()){
if (curves.isEmpty()) {
callback(CompletionResult.Failure(TangemSdkError.WalletIsNotCreated()))
return
}

View file

@ -18,7 +18,6 @@ class ResetToFactorySettingsTask : CardSessionRunnable<Card> {
session: CardSession,
callback: (result: CompletionResult<Card>) -> Unit,
) {
val wallet = session.environment.card?.wallets?.lastOrNull().guard {
resetBackup(session, callback)
return
@ -38,7 +37,6 @@ class ResetToFactorySettingsTask : CardSessionRunnable<Card> {
session: CardSession,
callback: (result: CompletionResult<Card>) -> Unit,
) {
val backupStatus = session.environment.card?.backupStatus
if (backupStatus == null || backupStatus == Card.BackupStatus.NoBackup) {
callback(CompletionResult.Success(session.environment.card!!))

View file

@ -101,24 +101,6 @@ class ScanProductTask(
}
}
private class ScanNoteProcessor : ProductCommandProcessor<ScanResponse> {
override fun proceed(
card: CardDTO,
session: CardSession,
callback: (result: CompletionResult<ScanResponse>) -> Unit,
) {
callback(
CompletionResult.Success(
ScanResponse(
card = card,
productType = ProductType.Note,
walletData = session.environment.walletData,
),
),
)
}
}
private class ScanWalletProcessor(
private val userTokensRepository: UserTokensRepository?,
private val additionalBlockchainsToDerive: Collection<Blockchain>? = null,
@ -130,12 +112,10 @@ private class ScanWalletProcessor(
session: CardSession,
callback: (result: CompletionResult<ScanResponse>) -> Unit,
) {
if (card.firmwareVersion.doubleValue >= 4.39) {
if (card.settings.maxWalletsCount == 1) {
readFile(card, session, callback)
return
}
@Suppress("MagicNumber")
if (card.firmwareVersion.doubleValue >= 4.39 && card.settings.maxWalletsCount == 1) {
readFile(card, session, callback)
return
}
createMissingWalletsIfNeeded(card, session, callback)
@ -198,7 +178,6 @@ private class ScanWalletProcessor(
}
}
}
}
}
@ -244,8 +223,8 @@ private class ScanWalletProcessor(
val activationInProgress = preferencesStorage.usedCardsPrefStorage.isActivationInProgress(card.cardId)
@Suppress("ComplexCondition")
if (card.backupStatus == CardDTO.BackupStatus.NoBackup && card.wallets.isNotEmpty()
&& (activationInProgress || card.isSaltPay)
if (card.backupStatus == CardDTO.BackupStatus.NoBackup && card.wallets.isNotEmpty() &&
(activationInProgress || card.isSaltPay)
) {
StartPrimaryCardLinkingTask().run(session) { linkingResult ->
when (linkingResult) {