Updated on 2026-08-14

This commit is contained in:
Tangem 2025-10-17 16:01:41 +05:00
parent 6afae8e619
commit 63125dc0f3
7 changed files with 54 additions and 23 deletions

View file

@ -45,7 +45,7 @@ internal class TokenDetailsNotificationsAnalyticsSender(
is TokenDetailsNotification.KaspaIncompleteTransactionWarning -> TokenDetailsAnalyticsEvent.Notice.Reveal(
currency = cryptoCurrency,
)
is TokenDetailsNotification.YieldSupplyNotTransferedToAave -> YieldSupplyAnalytics.NoticeNotEnoughMinAmount(
is TokenDetailsNotification.YieldSupplyNotTransferedToAave -> YieldSupplyAnalytics.NoticeAmountNotDeposited(
token = cryptoCurrency.symbol,
blockchain = cryptoCurrency.network.name,
)

View file

@ -33,6 +33,17 @@ sealed class YieldSupplyAnalytics(
),
)
data class StopEarningScreen(
val token: String,
val blockchain: String,
) : YieldSupplyAnalytics(
event = "Stop Earning Screen",
params = mapOf(
TOKEN_PARAM to token,
BLOCKCHAIN to blockchain,
),
)
data class ButtonStartEarning(
val token: String,
val blockchain: String,
@ -55,6 +66,17 @@ sealed class YieldSupplyAnalytics(
),
)
data class ButtonGiveApprove(
val token: String,
val blockchain: String,
) : YieldSupplyAnalytics(
event = " Button - Give Approve",
params = mapOf(
TOKEN_PARAM to token,
BLOCKCHAIN to blockchain,
),
)
data object ButtonFeePolicy : YieldSupplyAnalytics(
event = "Button - Fee Policy",
)
@ -150,22 +172,11 @@ sealed class YieldSupplyAnalytics(
event = "APY Chart",
)
data class NoticeCommissionTooHigh(
data class NoticeAmountNotDeposited(
val token: String,
val blockchain: String,
) : YieldSupplyAnalytics(
event = "Notice - Commission Is Too High",
params = mapOf(
TOKEN_PARAM to token,
BLOCKCHAIN to blockchain,
),
)
data class NoticeNotEnoughMinAmount(
val token: String,
val blockchain: String,
) : YieldSupplyAnalytics(
event = "Notice - Not Enough Min Amount",
event = "Notice - Amount Not Deposited",
params = mapOf(
TOKEN_PARAM to token,
BLOCKCHAIN to blockchain,

View file

@ -119,6 +119,11 @@ internal class YieldSupplyApproveModel @Inject constructor(
val yieldSupplyFeeUM = uiState.value.yieldSupplyFeeUM as? YieldSupplyFeeUM.Content ?: return
uiState.update(YieldSupplyTransactionInProgressTransformer)
analyticsEventHandler.send(YieldSupplyAnalytics.ButtonGiveApprove(
token = cryptoCurrency.symbol,
blockchain = cryptoCurrency.network.name,
))
modelScope.launch(dispatchers.default) {
sendTransactionUseCase(
txData = yieldSupplyFeeUM.transactionDataList.first(),

View file

@ -97,6 +97,13 @@ internal class YieldSupplyStopEarningModel @Inject constructor(
)
init {
val currency = params.cryptoCurrencyStatusFlow.value.currency
analytics.send(
YieldSupplyAnalytics.StopEarningScreen(
token = currency.symbol,
blockchain = currency.network.name,
),
)
modelScope.launch {
appCurrency = getSelectedAppCurrencyUseCase.invokeSync().getOrElse { AppCurrency.Default }
subscribeOnCurrencyStatusUpdates()
@ -133,6 +140,10 @@ internal class YieldSupplyStopEarningModel @Inject constructor(
ifLeft = { error ->
Timber.e(error.toString())
uiState.update(YieldSupplyTransactionReadyTransformer)
analytics.send(YieldSupplyAnalytics.EarnErrors(
action = YieldSupplyAnalytics.Action.Stop,
errorDescription = error.getAnalyticsDescription(),
))
yieldSupplyAlertFactory.getSendTransactionErrorState(
error = error,
popBack = params.callback::onBackClick,