Updated on 2026-08-14
This commit is contained in:
parent
19fb8f2bcd
commit
ecdb72e55c
58 changed files with 1082 additions and 346 deletions
|
|
@ -16,14 +16,14 @@ import com.tangem.crypto.hdWallet.bip32.ExtendedPublicKey
|
|||
import com.tangem.domain.models.scan.CardDTO
|
||||
import com.tangem.domain.models.scan.ScanResponse
|
||||
import com.tangem.domain.visa.model.VisaActivationInput
|
||||
import com.tangem.domain.visa.model.VisaAuthChallenge
|
||||
import com.tangem.domain.visa.model.VisaDataForApprove
|
||||
import com.tangem.domain.visa.model.VisaSignedDataByCustomerWallet
|
||||
import com.tangem.domain.wallets.models.UserWalletId
|
||||
import com.tangem.operations.derivation.DerivationTaskResponse
|
||||
import com.tangem.operations.preflightread.PreflightReadFilter
|
||||
import com.tangem.operations.sign.SignHashResponse
|
||||
import com.tangem.operations.wallet.CreateWalletResponse
|
||||
import com.tangem.sdk.api.visa.VisaCardActivationResponse
|
||||
import com.tangem.sdk.api.visa.VisaCardActivationTaskMode
|
||||
|
||||
@Suppress("TooManyFunctions")
|
||||
interface TangemSdkManager {
|
||||
|
|
@ -150,12 +150,13 @@ interface TangemSdkManager {
|
|||
// region Visa-specific
|
||||
|
||||
suspend fun activateVisaCard(
|
||||
accessCode: String,
|
||||
challengeToSign: VisaAuthChallenge.Card?,
|
||||
mode: VisaCardActivationTaskMode,
|
||||
activationInput: VisaActivationInput,
|
||||
): CompletionResult<VisaCardActivationResponse>
|
||||
|
||||
suspend fun visaCustomerWalletApprove(visaDataForApprove: VisaDataForApprove): CompletionResult<SignHashResponse>
|
||||
suspend fun visaCustomerWalletApprove(
|
||||
visaDataForApprove: VisaDataForApprove,
|
||||
): CompletionResult<VisaSignedDataByCustomerWallet>
|
||||
|
||||
// endregion
|
||||
}
|
||||
|
|
@ -1,11 +1,9 @@
|
|||
package com.tangem.sdk.api.visa
|
||||
|
||||
import com.tangem.domain.models.scan.CardDTO
|
||||
import com.tangem.domain.visa.model.SignedActivationOrder
|
||||
import com.tangem.domain.visa.model.VisaRootOTP
|
||||
import com.tangem.domain.visa.model.VisaSignedActivationDataByCardWallet
|
||||
|
||||
data class VisaCardActivationResponse(
|
||||
val signedActivationOrder: SignedActivationOrder,
|
||||
val rootOTP: VisaRootOTP,
|
||||
val signedActivationData: VisaSignedActivationDataByCardWallet,
|
||||
val newCardDTO: CardDTO,
|
||||
)
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.tangem.sdk.api.visa
|
||||
|
||||
import com.tangem.domain.visa.model.VisaAuthChallenge
|
||||
import com.tangem.domain.visa.model.VisaDataToSignByCardWallet
|
||||
|
||||
sealed class VisaCardActivationTaskMode {
|
||||
/**
|
||||
* Full activation process with getting remote activation status.
|
||||
*/
|
||||
data class Full(
|
||||
val accessCode: String,
|
||||
val authorizationChallenge: VisaAuthChallenge.Card,
|
||||
) : VisaCardActivationTaskMode()
|
||||
|
||||
/**
|
||||
* Activation process with only sign data by card wallet.
|
||||
* This is used when activation process was interrupted and we need to finish it.
|
||||
*/
|
||||
data class SignOnly(val dataToSignByCardWallet: VisaDataToSignByCardWallet) : VisaCardActivationTaskMode()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue