diff --git a/app/src/main/java/com/tangem/tap/TangemApplication.kt b/app/src/main/java/com/tangem/tap/TangemApplication.kt index c4e6516129..d61bb4e130 100644 --- a/app/src/main/java/com/tangem/tap/TangemApplication.kt +++ b/app/src/main/java/com/tangem/tap/TangemApplication.kt @@ -297,9 +297,6 @@ abstract class TangemApplication : Application(), ImageLoaderFactory, Configurat appScope.launch { launch(Dispatchers.IO) { loadNativeLibraries() - walletConnect2Repository.init( - projectId = environmentConfigStorage.getConfigSync().walletConnectProjectId, - ) updateLogFiles() } } @@ -323,6 +320,9 @@ abstract class TangemApplication : Application(), ImageLoaderFactory, Configurat ) appStateHolder.mainStore = store + walletConnect2Repository.init( + projectId = environmentConfigStorage.getConfigSync().walletConnectProjectId, + ) } private fun createReduxStore(): Store { 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 12c73bd711..32a138b4eb 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 @@ -45,10 +45,9 @@ internal class DefaultLegacyWalletConnectRepositoryFacade constructor( if (isNewWc) stub.currentSessions else legacy.currentSessions } - override suspend fun init(projectId: String) { + override fun init(projectId: String) { if (isNewWc) { - stub.init(projectId) - wcInitializeUseCase.init() // TODO(wc) Nikolai: Delete after RoutingComponent finished. + wcInitializeUseCase.init(projectId) } else { legacy.init(projectId) } @@ -96,7 +95,7 @@ internal class LegacyWalletConnectRepositoryStub : LegacyWalletConnectRepository override val activeSessions: Flow> = emptyFlow() override val currentSessions: List = listOf() - override suspend fun init(projectId: String) = Unit + override fun init(projectId: String) = Unit override fun setUserNamespaces(userNamespaces: Map>) = Unit @@ -141,7 +140,7 @@ internal class DefaultLegacyWalletConnectRepository( /** * @param projectId Project ID at https://cloud.walletconnect.com/ */ - override suspend fun init(projectId: String) { + override fun init(projectId: String) { val relayUrl = "relay.walletconnect.com" val serverUrl = "wss://$relayUrl?projectId=$projectId" val connectionType = ConnectionType.AUTOMATIC 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 10092dc183..59d5954e00 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 @@ -13,7 +13,7 @@ interface LegacyWalletConnectRepository { val currentSessions: List - suspend fun init(projectId: String) + fun init(projectId: String) fun setUserNamespaces(userNamespaces: Map>) diff --git a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/di/WalletConnectDataModule.kt b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/di/WalletConnectDataModule.kt index 16f2cde7ad..8d43fc1ebe 100644 --- a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/di/WalletConnectDataModule.kt +++ b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/di/WalletConnectDataModule.kt @@ -16,7 +16,6 @@ import com.tangem.data.walletconnect.respond.WcRespondService import com.tangem.data.walletconnect.sessions.DefaultWcSessionsManager import com.tangem.data.walletconnect.utils.WcNamespaceConverter import com.tangem.datasource.di.SdkMoshi -import com.tangem.datasource.local.config.environment.EnvironmentConfigStorage import com.tangem.datasource.local.userwallet.UserWalletsStore import com.tangem.datasource.local.walletconnect.WalletConnectStore import com.tangem.domain.tokens.repository.CurrenciesRepository @@ -61,15 +60,11 @@ internal object WalletConnectDataModule { sessionsManager: DefaultWcSessionsManager, networkService: DefaultWcRequestService, pairSdkDelegate: WcPairSdkDelegate, - environmentConfigStorage: EnvironmentConfigStorage, - dispatchers: CoroutineDispatcherProvider, ): WcInitializeUseCase = DefaultWcInitializeUseCase( application = application, sessionsManager = sessionsManager, networkService = networkService, pairSdkDelegate = pairSdkDelegate, - environmentConfigStorage = environmentConfigStorage, - dispatchers = dispatchers, ) @Provides diff --git a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/initialize/DefaultWcInitializeUseCase.kt b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/initialize/DefaultWcInitializeUseCase.kt index 64ea5578f6..91db31c6c8 100644 --- a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/initialize/DefaultWcInitializeUseCase.kt +++ b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/initialize/DefaultWcInitializeUseCase.kt @@ -10,10 +10,7 @@ import com.tangem.data.walletconnect.pair.WcPairSdkDelegate import com.tangem.data.walletconnect.request.DefaultWcRequestService import com.tangem.data.walletconnect.sessions.DefaultWcSessionsManager import com.tangem.data.walletconnect.utils.WcSdkObserver -import com.tangem.datasource.local.config.environment.EnvironmentConfigStorage import com.tangem.domain.walletconnect.usecase.initialize.WcInitializeUseCase -import com.tangem.utils.coroutines.CoroutineDispatcherProvider -import kotlinx.coroutines.withContext import timber.log.Timber internal class DefaultWcInitializeUseCase( @@ -21,8 +18,6 @@ internal class DefaultWcInitializeUseCase( private val sessionsManager: DefaultWcSessionsManager, private val networkService: DefaultWcRequestService, private val pairSdkDelegate: WcPairSdkDelegate, - private val environmentConfigStorage: EnvironmentConfigStorage, - private val dispatchers: CoroutineDispatcherProvider, ) : WcInitializeUseCase { private val wcSdkObservers = mutableSetOf( @@ -31,8 +26,7 @@ internal class DefaultWcInitializeUseCase( pairSdkDelegate, ) - override suspend fun init() = withContext(dispatchers.io) { - val projectId = environmentConfigStorage.getConfigSync().walletConnectProjectId + override fun init(projectId: String) { val relayUrl = "relay.walletconnect.com" val serverUrl = "wss://$relayUrl?projectId=$projectId" val connectionType = ConnectionType.AUTOMATIC diff --git a/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/usecase/initialize/WcInitializeUseCase.kt b/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/usecase/initialize/WcInitializeUseCase.kt index 0e00484903..71f465a43f 100644 --- a/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/usecase/initialize/WcInitializeUseCase.kt +++ b/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/usecase/initialize/WcInitializeUseCase.kt @@ -1,5 +1,5 @@ package com.tangem.domain.walletconnect.usecase.initialize interface WcInitializeUseCase { - suspend fun init() + fun init(projectId: String) } \ No newline at end of file