From 393a4fce3eb68e7885cfdab4cf06ad44ad26f17d Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 28 Nov 2024 00:08:00 +0200 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/tap/common/analytics/events/WalletConnect.kt | 3 ++- .../data/DefaultLegacyWalletConnectRepository.kt | 3 ++- .../walletconnect2/domain/LegacyWalletConnectRepository.kt | 2 +- .../domain/walletconnect2/domain/WalletConnectInteractor.kt | 5 +++++ 4 files changed, 10 insertions(+), 3 deletions(-) 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 6ea8b5b88f..d2870bbb6a 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,11 +12,12 @@ internal sealed class WalletConnect( ) : AnalyticsEvent("Wallet Connect", event, params, error) { class ScreenOpened : WalletConnect(event = "WC Screen Opened") - class NewSessionEstablished(dAppName: String, dAppUrl: String) : WalletConnect( + class NewSessionEstablished(dAppName: String, dAppUrl: String, blockchainNames: List) : WalletConnect( event = "New Session Established", params = mapOf( AnalyticsParam.DAPP_NAME to dAppName, AnalyticsParam.DAPP_URL to dAppUrl, + AnalyticsParam.BLOCKCHAIN to blockchainNames.joinToString(","), ), ) diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/DefaultLegacyWalletConnectRepository.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/DefaultLegacyWalletConnectRepository.kt index 9e980da2ba..bcf6ba147c 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/DefaultLegacyWalletConnectRepository.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/DefaultLegacyWalletConnectRepository.kt @@ -267,7 +267,7 @@ internal class DefaultLegacyWalletConnectRepository( ) } - override fun approve(userNamespaces: Map>) { + override fun approve(userNamespaces: Map>, blockchainNames: List) { val sessionProposal: Wallet.Model.SessionProposal = requireNotNull(this.sessionProposal) val userChains = userNamespaces.flatMap { namespace -> @@ -311,6 +311,7 @@ internal class DefaultLegacyWalletConnectRepository( WalletConnect.NewSessionEstablished( dAppName = sessionProposal.name, dAppUrl = sessionProposal.url, + blockchainNames = blockchainNames, ), ) }, diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/LegacyWalletConnectRepository.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/LegacyWalletConnectRepository.kt index 616643a960..d755da5aea 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/LegacyWalletConnectRepository.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/LegacyWalletConnectRepository.kt @@ -21,7 +21,7 @@ interface LegacyWalletConnectRepository { fun disconnect(topic: String) - fun approve(userNamespaces: Map>) + fun approve(userNamespaces: Map>, blockchainNames: List) fun reject() 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 9d3e956799..e53938eaf6 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,6 @@ package com.tangem.tap.domain.walletconnect2.domain +import arrow.core.flatten import com.tangem.blockchain.common.Blockchain import com.tangem.blockchainsdk.utils.toNetworkId import com.tangem.domain.tokens.model.CryptoCurrency @@ -236,8 +237,12 @@ class WalletConnectInteractor( blockchainHelper.getNamespaceFromFullChainIdOrNull(account.chainId) ?.let { NetworkNamespace(it) } }.filterNotNull() + + val blockchainNames = blockchainHelper.chainIdsToBlockchains(userNamespaces.values.flatten().map { it.chainId }) + .map { it.fullName } walletConnectRepository.approve( userNamespaces = userNamespaces, + blockchainNames = blockchainNames, ) }