diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectNetworkUtils.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectNetworkUtils.kt index 3da00c517b..6b2a457e43 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectNetworkUtils.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectNetworkUtils.kt @@ -12,6 +12,9 @@ class WalletConnectNetworkUtils { peer: WCPeerMeta, ): Blockchain? { return when { + peer.url.contains("pancakeswap.finance") -> { + Blockchain.BSC + } chainId != null -> { Blockchain.fromChainId(chainId) } diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt index 0351eb207b..fa96a81962 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt @@ -97,14 +97,16 @@ class DetailsMiddleware { fun handle(action: DetailsAction.ResetToFactory) { when (action) { is DetailsAction.ResetToFactory.Start -> { - store.dispatch(NavigationAction.NavigateTo(AppScreen.ResetToFactory)) - } - is DetailsAction.ResetToFactory.Proceed -> { val card = store.state.detailsState.cardSettingsState?.card ?: return if (card.isTangemTwins()) { store.dispatch(DetailsAction.ReCreateTwinsWallet) return + } else { + store.dispatch(NavigationAction.NavigateTo(AppScreen.ResetToFactory)) } + } + is DetailsAction.ResetToFactory.Proceed -> { + val card = store.state.detailsState.cardSettingsState?.card ?: return scope.launch { val result = tangemSdkManager.resetToFactorySettings(card) when (result) { diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt b/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt index 9a898f708d..cad8f8ab14 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt @@ -220,7 +220,10 @@ class WalletConnectMiddleware { val blockchain = WalletConnectNetworkUtils.parseBlockchain( chainId = chainId, peer = session.peerMeta, - ) ?: Blockchain.Ethereum + ).guard { + store.dispatchOnMain(GlobalAction.ShowDialog(WalletConnectDialog.UnsupportedNetwork)) + return + } handleScanResponse(scanResponse = scanResponse, session = session, blockchain = blockchain) }