diff --git a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt index d45f8fb128..feae6d0a15 100644 --- a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt +++ b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt @@ -79,7 +79,6 @@ internal class DefaultWcPairUseCase @AssistedInject constructor( } // finish flow if rejected above if (sessionForApprove == null) { - analytics.send(WcAnalyticEvents.SessionDisconnected(proposalState.dAppSession.dAppMetaData)) sdkDelegate.rejectSession(sdkSessionProposal.proposerPublicKey) return@flow } diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcConnectionsModel.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcConnectionsModel.kt index d027a899cb..f39cba49ce 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcConnectionsModel.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcConnectionsModel.kt @@ -18,6 +18,7 @@ import com.tangem.core.ui.message.DialogMessage import com.tangem.core.ui.message.EventMessageAction import com.tangem.core.ui.message.SnackbarMessage import com.tangem.core.ui.res.TangemTheme +import com.tangem.domain.qrscanning.models.QrResultSource import com.tangem.domain.qrscanning.models.SourceType import com.tangem.domain.qrscanning.usecases.ListenToQrScanningUseCase import com.tangem.domain.walletconnect.WcAnalyticEvents @@ -65,14 +66,20 @@ internal class WcConnectionsModel @Inject constructor( } private fun listenQrUpdates() { - listenToQrScanningUseCase(SourceType.WALLET_CONNECT) + listenToQrScanningUseCase.listen(SourceType.WALLET_CONNECT) .getOrElse { emptyFlow() } - .onEach { wcUrl -> + .onEach { result -> + val source = when (result.resultSource) { + QrResultSource.CLIPBOARD -> WcPairRequest.Source.CLIPBOARD + QrResultSource.CAMERA, + QrResultSource.GALLERY, + -> WcPairRequest.Source.QR + } wcPairService.pair( WcPairRequest( userWalletId = params.userWalletId, - uri = wcUrl, - source = WcPairRequest.Source.QR, + uri = result.qrCode, + source = source, ), ) }