Updated on 2026-08-14

This commit is contained in:
Tangem 2025-09-24 17:18:44 +03:00
commit c618132eac
7 changed files with 46 additions and 7 deletions

View file

@ -331,7 +331,11 @@ internal class StakingModel @Inject constructor(
updateNotifications(stakingError = stakingFeeError)
},
onFeeError = { error ->
analyticsEventHandler.send(StakingAnalyticsEvent.TransactionError)
analyticsEventHandler.send(
StakingAnalyticsEvent.TransactionError(
errorCode = "GetFeeError",
),
)
stateController.update(AddStakingErrorTransformer)
updateNotifications(error)
},
@ -372,7 +376,11 @@ internal class StakingModel @Inject constructor(
stateController.update(SetConfirmationStateCompletedTransformer(txUrl, cryptoCurrencyStatus))
},
onSendError = { error ->
analyticsEventHandler.send(StakingAnalyticsEvent.TransactionError)
analyticsEventHandler.send(
StakingAnalyticsEvent.TransactionError(
errorCode = error.getAnalyticsDescription(),
),
)
stakingEventFactory.createSendTransactionErrorAlert(error)
stateController.update(SetConfirmationStateResetAssentTransformer(cryptoCurrencyStatus))
},
@ -659,7 +667,11 @@ internal class StakingModel @Inject constructor(
).fold(
ifLeft = { error ->
Timber.e(error.toString())
analyticsEventHandler.send(StakingAnalyticsEvent.TransactionError)
analyticsEventHandler.send(
StakingAnalyticsEvent.TransactionError(
errorCode = "CreateApprovalTxError",
),
)
stateController.update(
SetConfirmationStateAssentApprovalTransformer(
appCurrencyProvider = Provider { appCurrency },
@ -684,7 +696,11 @@ internal class StakingModel @Inject constructor(
).fold(
ifLeft = { error ->
Timber.e(error.toString())
analyticsEventHandler.send(StakingAnalyticsEvent.TransactionError)
analyticsEventHandler.send(
StakingAnalyticsEvent.TransactionError(
errorCode = error.getAnalyticsDescription(),
),
)
stateController.update(
SetConfirmationStateAssentApprovalTransformer(
appCurrencyProvider = Provider { appCurrency },

View file

@ -67,7 +67,7 @@ internal class StakingTransactionSender @AssistedInject constructor(
onConstructSuccess: (List<StakingTransaction>) -> Unit,
onConstructError: (StakingError) -> Unit,
onSendSuccess: (String) -> Unit,
onSendError: (SendTransactionError?) -> Unit,
onSendError: (SendTransactionError) -> Unit,
onFeeIncreased: (Fee, Boolean) -> Unit,
) {
val state = stateController.value
@ -218,7 +218,7 @@ internal class StakingTransactionSender @AssistedInject constructor(
private suspend fun sendStakingTransaction(
fullTransactionsData: List<FullTransactionData>,
onSendSuccess: (txUrl: String) -> Unit,
onSendError: (SendTransactionError?) -> Unit,
onSendError: (SendTransactionError) -> Unit,
) {
if (fullTransactionsData.isEmpty()) return