From b99dd44c2bf80a9a6745957701c33ae5df76de41 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 1 Apr 2024 18:33:18 +0800 Subject: [PATCH] Updated on 2026-08-14 --- .../data/DefaultWalletConnectRepository.kt | 17 +++++++++++++++++ .../domain/models/WalletConnectError.kt | 3 +++ 2 files changed, 20 insertions(+) diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/DefaultWalletConnectRepository.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/DefaultWalletConnectRepository.kt index 46577399e9..a4c78ad4b9 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/DefaultWalletConnectRepository.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/data/DefaultWalletConnectRepository.kt @@ -96,6 +96,18 @@ internal class DefaultWalletConnectRepository( Timber.d("sessionProposal: $sessionProposal") this@DefaultWalletConnectRepository.sessionProposal = sessionProposal + if (sessionProposal.name in unsupportedDApps) { + Timber.w("Unsupported DApp") + scope.launch { + _events.emit( + WalletConnectEvents.SessionApprovalError( + WalletConnectError.UnsupportedDApp, + ), + ) + } + return + } + val missingNetworks = findMissingNetworks( namespaces = sessionProposal.requiredNamespaces, userNamespaces = this@DefaultWalletConnectRepository.userNamespaces ?: emptyMap(), @@ -476,4 +488,9 @@ internal class DefaultWalletConnectRepository( val userChains = userNamespaces.flatMap { it.value.map { account -> account.chainId } } return wcProvidedChains.intersect(userChains.toSet()) } + + private companion object { + + val unsupportedDApps = listOf("dYdX", "dYdX v4", "Apex Pro") + } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/WalletConnectError.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/WalletConnectError.kt index efb5215bd7..7d6504d923 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/WalletConnectError.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/WalletConnectError.kt @@ -1,6 +1,9 @@ package com.tangem.tap.domain.walletconnect2.domain.models sealed class WalletConnectError(val error: String) : Exception() { + + data object UnsupportedDApp : WalletConnectError("UnsupportedDApp") + data class ApprovalErrorMissingNetworks( val missingChains: List, ) : WalletConnectError("ApprovalErrorMissingNetworks")