Updated on 2026-08-14
This commit is contained in:
parent
34a17e2c65
commit
b1ced989ae
8 changed files with 26 additions and 20 deletions
|
|
@ -2,6 +2,7 @@ package com.tangem.features.staking.impl.analytics
|
|||
|
||||
import com.tangem.core.analytics.models.AnalyticsEvent
|
||||
import com.tangem.core.analytics.models.AnalyticsParam
|
||||
import com.tangem.domain.staking.model.stakekit.StakingError
|
||||
import com.tangem.domain.staking.model.stakekit.action.StakingActionType
|
||||
|
||||
internal sealed class StakingAnalyticsEvents(
|
||||
|
|
@ -147,14 +148,18 @@ internal sealed class StakingAnalyticsEvents(
|
|||
|
||||
data object ButtonExplore : StakingAnalyticsEvents(event = "Button - Explore")
|
||||
|
||||
data class StakingError(
|
||||
data class StakekitError(
|
||||
val token: String,
|
||||
val errorType: String,
|
||||
val stakeKitError: StakingError,
|
||||
) : StakingAnalyticsEvents(
|
||||
event = "Errors",
|
||||
params = mapOf(
|
||||
AnalyticsParam.TOKEN_PARAM to token,
|
||||
"ErrorType" to errorType,
|
||||
AnalyticsParam.ERROR_TYPE to if (stakeKitError is StakingError.UnknownError) {
|
||||
stakeKitError.message ?: "Unknown"
|
||||
} else {
|
||||
stakeKitError.javaClass.simpleName
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ internal class StakingFeeTransactionLoader @AssistedInject constructor(
|
|||
}
|
||||
|
||||
if (result.isNullOrEmpty()) {
|
||||
onStakingFeeError(StakingError.UnknownError)
|
||||
onStakingFeeError(StakingError.UnknownError())
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ internal class StakingTransactionSender @AssistedInject constructor(
|
|||
)
|
||||
|
||||
if (fullTransactionsData.isNullOrEmpty()) {
|
||||
onConstructError(StakingError.UnknownError)
|
||||
onConstructError(StakingError.UnknownError())
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -199,9 +199,9 @@ internal class StakingTransactionSender @AssistedInject constructor(
|
|||
),
|
||||
).getOrElse {
|
||||
analyticsEventHandler.send(
|
||||
StakingAnalyticsEvents.StakingError(
|
||||
token = state.cryptoCurrencyName,
|
||||
errorType = it.javaClass.simpleName,
|
||||
StakingAnalyticsEvents.StakekitError(
|
||||
token = state.cryptoCurrencySymbol,
|
||||
stakeKitError = it,
|
||||
),
|
||||
)
|
||||
onConstructError(it)
|
||||
|
|
@ -257,9 +257,9 @@ internal class StakingTransactionSender @AssistedInject constructor(
|
|||
)
|
||||
.onLeft { error ->
|
||||
analyticsEventHandler.send(
|
||||
StakingAnalyticsEvents.StakingError(
|
||||
token = stateController.value.cryptoCurrencyName,
|
||||
errorType = error.javaClass.simpleName,
|
||||
StakingAnalyticsEvents.StakekitError(
|
||||
token = stateController.value.cryptoCurrencySymbol,
|
||||
stakeKitError = error,
|
||||
),
|
||||
)
|
||||
saveUnsubmittedHashUseCase.invoke(
|
||||
|
|
|
|||
|
|
@ -299,9 +299,9 @@ internal class StakingViewModel @Inject constructor(
|
|||
},
|
||||
onStakingFeeError = { error ->
|
||||
analyticsEventHandler.send(
|
||||
StakingAnalyticsEvents.StakingError(
|
||||
StakingAnalyticsEvents.StakekitError(
|
||||
value.cryptoCurrencySymbol,
|
||||
error.javaClass.simpleName,
|
||||
error,
|
||||
),
|
||||
)
|
||||
stateController.update(AddStakingErrorTransformer())
|
||||
|
|
@ -338,9 +338,9 @@ internal class StakingViewModel @Inject constructor(
|
|||
onConstructError = { error ->
|
||||
Timber.e(error.toString())
|
||||
analyticsEventHandler.send(
|
||||
StakingAnalyticsEvents.StakingError(
|
||||
StakingAnalyticsEvents.StakekitError(
|
||||
token = value.cryptoCurrencySymbol,
|
||||
errorType = error.javaClass.simpleName,
|
||||
stakeKitError = error,
|
||||
),
|
||||
)
|
||||
stakingEventFactory.createStakingErrorAlert(error)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue