From 4fc8c5fbdf3bea8a32d82fe3f9e82b3a41217d06 Mon Sep 17 00:00:00 2001 From: kubel Date: Tue, 5 Mar 2024 12:19:22 +0100 Subject: [PATCH] Add events to authenticated session --- .../use_case/calls/ApproveSessionAuthenticateUseCase.kt | 5 +++-- .../responses/OnSessionAuthenticateResponseUseCase.kt | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/protocol/sign/src/main/kotlin/com/walletconnect/sign/engine/use_case/calls/ApproveSessionAuthenticateUseCase.kt b/protocol/sign/src/main/kotlin/com/walletconnect/sign/engine/use_case/calls/ApproveSessionAuthenticateUseCase.kt index 931147588..2052e8cd3 100644 --- a/protocol/sign/src/main/kotlin/com/walletconnect/sign/engine/use_case/calls/ApproveSessionAuthenticateUseCase.kt +++ b/protocol/sign/src/main/kotlin/com/walletconnect/sign/engine/use_case/calls/ApproveSessionAuthenticateUseCase.kt @@ -99,10 +99,11 @@ internal class ApproveSessionAuthenticateUseCase( chains.forEach { chainId -> addresses.forEach { address -> accounts.add("$chainId:$address") } } val namespace = Issuer(cacaos.first().payload.iss).namespace val methods = cacaos.first().payload.methods + val events = listOf("chainChanged", "accountsChanged") if (methods.isNotEmpty()) { logger.log("Creating authenticated session") - val requiredNamespace: Map = mapOf(namespace to Namespace.Proposal(events = listOf(), methods = methods, chains = chains)) - val sessionNamespaces: Map = mapOf(namespace to Namespace.Session(accounts = accounts, events = listOf(), methods = methods, chains = chains)) + val requiredNamespace: Map = mapOf(namespace to Namespace.Proposal(events = events, methods = methods, chains = chains)) + val sessionNamespaces: Map = mapOf(namespace to Namespace.Session(accounts = accounts, events = events, methods = methods, chains = chains)) val authenticatedSession = SessionVO.createAuthenticatedSession( sessionTopic = sessionTopic, peerPublicKey = receiverPublicKey, diff --git a/protocol/sign/src/main/kotlin/com/walletconnect/sign/engine/use_case/responses/OnSessionAuthenticateResponseUseCase.kt b/protocol/sign/src/main/kotlin/com/walletconnect/sign/engine/use_case/responses/OnSessionAuthenticateResponseUseCase.kt index 9dd496c65..c0618af36 100644 --- a/protocol/sign/src/main/kotlin/com/walletconnect/sign/engine/use_case/responses/OnSessionAuthenticateResponseUseCase.kt +++ b/protocol/sign/src/main/kotlin/com/walletconnect/sign/engine/use_case/responses/OnSessionAuthenticateResponseUseCase.kt @@ -107,11 +107,12 @@ internal class OnSessionAuthenticateResponseUseCase( } val namespace = Issuer(cacaos.first().payload.iss).namespace val methods = cacaos.first().payload.methods + val events = listOf("chainChanged", "accountsChanged") var authenticatedSession: SessionVO? = null if (methods.isNotEmpty()) { logger.log("Creating authenticated session") - val sessionNamespaces: Map = mapOf(namespace to Namespace.Session(accounts = accounts, events = listOf(), methods = methods, chains = chains)) - val requiredNamespace: Map = mapOf(namespace to Namespace.Proposal(events = listOf(), methods = methods, chains = chains)) + val sessionNamespaces: Map = mapOf(namespace to Namespace.Session(accounts = accounts, events = events, methods = methods, chains = chains)) + val requiredNamespace: Map = mapOf(namespace to Namespace.Proposal(events = listOf(), methods = events, chains = chains)) authenticatedSession = SessionVO.createAuthenticatedSession( sessionTopic = sessionTopic, peerPublicKey = PublicKey(approveParams.responder.publicKey),