From 4c55f7ae66eeaa36fbc0fd8ee104f808e62acbd5 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 10 Jul 2023 15:05:50 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../tangem/tap/common/analytics/events/AnalyticsParam.kt | 1 + .../tangem/tap/common/analytics/events/WalletConnect.kt | 8 +++++++- .../tap/domain/walletconnect/WalletConnectManager.kt | 2 +- .../walletconnect2/data/WalletConnectRepositoryImpl.kt | 8 +++++++- .../walletconnect2/domain/WalletConnectInteractor.kt | 3 +++ 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/common/analytics/events/AnalyticsParam.kt b/app/src/main/java/com/tangem/tap/common/analytics/events/AnalyticsParam.kt index 7a788fd5c6..47623e1f10 100644 --- a/app/src/main/java/com/tangem/tap/common/analytics/events/AnalyticsParam.kt +++ b/app/src/main/java/com/tangem/tap/common/analytics/events/AnalyticsParam.kt @@ -156,5 +156,6 @@ sealed class AnalyticsParam { const val ERROR_CODE = "Error Code" const val ERROR_KEY = "Error Key" const val CREATION_TYPE = "Creation type" + const val DAPP_NAME = "DApp Name" } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/common/analytics/events/WalletConnect.kt b/app/src/main/java/com/tangem/tap/common/analytics/events/WalletConnect.kt index 9ce10213ac..34047928e4 100644 --- a/app/src/main/java/com/tangem/tap/common/analytics/events/WalletConnect.kt +++ b/app/src/main/java/com/tangem/tap/common/analytics/events/WalletConnect.kt @@ -12,7 +12,13 @@ sealed class WalletConnect( ) : AnalyticsEvent("Wallet Connect", event, params, error) { class ScreenOpened : WalletConnect(event = "WC Screen Opened") - class NewSessionEstablished : WalletConnect("New Session Established") + class NewSessionEstablished(dAppName: String) : WalletConnect( + event = "New Session Established", + params = mapOf( + AnalyticsParam.DAPP_NAME to dAppName, + ), + ) + class SessionDisconnected : WalletConnect("Session Disconnected") class RequestSigned : WalletConnect("Request Signed") diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt index 7b80ce1039..4ba9c2f058 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt @@ -394,7 +394,7 @@ class WalletConnectManager { ), ) } - Analytics.send(WalletConnect.NewSessionEstablished()) + Analytics.send(WalletConnect.NewSessionEstablished("")) } } } diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/WalletConnectRepositoryImpl.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/WalletConnectRepositoryImpl.kt index 12c5510122..dcd79b0985 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/WalletConnectRepositoryImpl.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/WalletConnectRepositoryImpl.kt @@ -2,6 +2,8 @@ package com.tangem.tap.domain.walletconnect2.data import android.app.Application import arrow.core.flatten +import com.tangem.core.analytics.Analytics +import com.tangem.tap.common.analytics.events.WalletConnect import com.tangem.tap.domain.walletconnect2.domain.WalletConnectRepository import com.tangem.tap.domain.walletconnect2.domain.WcJrpcRequestsDeserializer import com.tangem.tap.domain.walletconnect2.domain.models.* @@ -237,6 +239,7 @@ class WalletConnectRepositoryImpl @Inject constructor( params = sessionApproval, onSuccess = { Timber.d("Approved successfully: $it") + Analytics.send(WalletConnect.NewSessionEstablished(sessionProposal.name)) }, onError = { Timber.d("Error while approving: $it") @@ -261,7 +264,9 @@ class WalletConnectRepositoryImpl @Inject constructor( ), ), onSuccess = {}, - onError = {}, + onError = { + Analytics.send(WalletConnect.TransactionError(it.throwable)) + }, ) } @@ -299,6 +304,7 @@ class WalletConnectRepositoryImpl @Inject constructor( Web3Wallet.disconnectSession( params = Wallet.Params.SessionDisconnect(topic), onSuccess = { + Analytics.send(WalletConnect.SessionDisconnected()) updateSessions() Timber.d("Disconnected successfully: $it") }, diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/WalletConnectInteractor.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/WalletConnectInteractor.kt index 7d929df9fc..5bd6d8f0a1 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/WalletConnectInteractor.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/WalletConnectInteractor.kt @@ -1,5 +1,7 @@ package com.tangem.tap.domain.walletconnect2.domain +import com.tangem.core.analytics.Analytics +import com.tangem.tap.common.analytics.events.WalletConnect import com.tangem.tap.common.extensions.filterNotNull import com.tangem.tap.domain.walletconnect.WalletConnectSdkHelper import com.tangem.tap.domain.walletconnect2.domain.models.* @@ -216,6 +218,7 @@ class WalletConnectInteractor( id = request.requestId, ) } else { + Analytics.send(WalletConnect.RequestSigned()) walletConnectRepository.sendRequest( topic = request.topic, id = request.requestId,