Updated on 2026-08-14
This commit is contained in:
parent
c1c3b52715
commit
b280cd9e5e
20 changed files with 491 additions and 44 deletions
|
|
@ -7,11 +7,6 @@ import com.tangem.data.walletconnect.DefaultWalletConnectRepository
|
|||
import com.tangem.data.walletconnect.initialize.DefaultWcInitializeUseCase
|
||||
import com.tangem.data.walletconnect.network.ethereum.WcEthNetwork
|
||||
import com.tangem.data.walletconnect.network.solana.WcSolanaNetwork
|
||||
import com.tangem.data.walletconnect.pair.AssociateNetworksDelegate
|
||||
import com.tangem.data.walletconnect.pair.CaipNamespaceDelegate
|
||||
import com.tangem.data.walletconnect.pair.DefaultWcPairService
|
||||
import com.tangem.data.walletconnect.pair.DefaultWcPairUseCase
|
||||
import com.tangem.data.walletconnect.pair.WcPairSdkDelegate
|
||||
import com.tangem.data.walletconnect.pair.*
|
||||
import com.tangem.data.walletconnect.request.DefaultWcRequestService
|
||||
import com.tangem.data.walletconnect.request.DefaultWcRequestUseCaseFactory
|
||||
|
|
@ -31,6 +26,7 @@ import com.tangem.domain.walletconnect.WcRequestUseCaseFactory
|
|||
import com.tangem.domain.walletconnect.model.legacy.WalletConnectSessionsRepository
|
||||
import com.tangem.domain.walletconnect.repository.WalletConnectRepository
|
||||
import com.tangem.domain.walletconnect.repository.WcSessionsManager
|
||||
import com.tangem.domain.walletconnect.usecase.disconnect.WcDisconnectUseCase
|
||||
import com.tangem.domain.walletconnect.usecase.initialize.WcInitializeUseCase
|
||||
import com.tangem.domain.walletconnect.usecase.pair.WcPairUseCase
|
||||
import com.tangem.domain.walletmanager.WalletManagersFacade
|
||||
|
|
@ -197,6 +193,12 @@ internal object WalletConnectDataModule {
|
|||
return DefaultWcRequestUseCaseFactory(diHelperBox.handlers)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun providesWcDisconnectUseCase(sessionsManager: WcSessionsManager): WcDisconnectUseCase {
|
||||
return WcDisconnectUseCase(sessionsManager)
|
||||
}
|
||||
|
||||
internal class DiHelperBox(
|
||||
val converters: Set<WcNamespaceConverter>,
|
||||
val handlers: Set<WcRequestToUseCaseConverter>,
|
||||
|
|
|
|||
|
|
@ -34,9 +34,14 @@ internal class CaipNamespaceDelegate constructor(
|
|||
requiredNamespaces[namespaceKey]?.methods?.let { addAll(it) }
|
||||
optionalNamespaces[namespaceKey]?.methods?.let { addAll(it) }
|
||||
}
|
||||
val events = buildSet {
|
||||
requiredNamespaces[namespaceKey]?.events?.let { addAll(it) }
|
||||
optionalNamespaces[namespaceKey]?.events?.let { addAll(it) }
|
||||
}
|
||||
session.chains.add(account.chainId.raw)
|
||||
session.accounts.add(account.raw)
|
||||
session.methods.addAll(methods)
|
||||
session.events.addAll(events)
|
||||
}
|
||||
return result.mapValues { (namespaceKey, session) ->
|
||||
Wallet.Model.Namespace.Session(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue