Updated on 2026-08-14
This commit is contained in:
parent
7c882e6898
commit
337a839644
2 changed files with 15 additions and 2 deletions
|
|
@ -7,6 +7,7 @@ import com.tangem.blockchain.common.AmountType
|
|||
import com.tangem.blockchain.common.BlockchainSdkError
|
||||
import com.tangem.blockchain.common.TransactionSigner
|
||||
import com.tangem.blockchain.extensions.successOr
|
||||
import com.tangem.common.core.TangemSdkError
|
||||
import com.tangem.common.extensions.guard
|
||||
import com.tangem.common.extensions.isZero
|
||||
import com.tangem.common.services.Result
|
||||
|
|
@ -125,7 +126,13 @@ class SaltPayActivationManager(
|
|||
|
||||
suspend fun claim(amountToClaim: BigDecimal, signer: TransactionSigner): Result<Unit> {
|
||||
gnosisRegistrator.transferFrom(amountToClaim, signer).successOr {
|
||||
return Result.Failure(SaltPayActivationError.ClaimTransactionFailed)
|
||||
val userCancelledError = (it.error as? BlockchainSdkError.WrappedTangemError)
|
||||
?.tangemError as? TangemSdkError.UserCancelled
|
||||
|
||||
return when (userCancelledError) {
|
||||
null -> Result.Failure(SaltPayActivationError.ClaimTransactionFailed)
|
||||
else -> Result.Failure(userCancelledError)
|
||||
}
|
||||
}
|
||||
return Result.Success(Unit)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.tangem.Message
|
|||
import com.tangem.blockchain.common.Amount
|
||||
import com.tangem.blockchain.extensions.successOr
|
||||
import com.tangem.common.Filter
|
||||
import com.tangem.common.core.TangemSdkError
|
||||
import com.tangem.common.extensions.guard
|
||||
import com.tangem.common.services.Result
|
||||
import com.tangem.core.analytics.Analytics
|
||||
|
|
@ -200,7 +201,11 @@ private fun handleOnboardingSaltPayAction(anyAction: Action, appState: () -> App
|
|||
}
|
||||
state.saltPayManager.claim(amountToClaim.value!!, signer).successOr {
|
||||
dispatchOnMain(OnboardingSaltPayAction.SetStep(SaltPayActivationStep.Claim))
|
||||
onException(it.error)
|
||||
if (it.error is TangemSdkError.UserCancelled) {
|
||||
handleInProgress = false
|
||||
} else {
|
||||
onException(it.error)
|
||||
}
|
||||
return@launch
|
||||
}
|
||||
|
||||
|
|
@ -279,6 +284,7 @@ suspend fun SaltPayActivationManager.update(
|
|||
|
||||
val registrationResponse = checkRegistration().successOr { return it }
|
||||
val amountToClaim = getAmountToClaimIfNeeded(this, currentAmountToClaim)
|
||||
dispatchOnMain(OnboardingSaltPayAction.SetAmountToClaim(amountToClaim))
|
||||
|
||||
val newStep = try {
|
||||
determineStep(currentStep, amountToClaim, registrationResponse)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue