diff --git a/Sources/WalletConnectPairing/PairingRequestsSubscriber.swift b/Sources/WalletConnectPairing/PairingRequestsSubscriber.swift index f108087920..994f53773f 100644 --- a/Sources/WalletConnectPairing/PairingRequestsSubscriber.swift +++ b/Sources/WalletConnectPairing/PairingRequestsSubscriber.swift @@ -22,8 +22,17 @@ public class PairingRequestsSubscriber { } func subscribeForRequest(_ protocolMethod: ProtocolMethod) -> AnyPublisher, Never> { + registeredProtocolMethods.insert(protocolMethod.method) - return networkingInteractor.requestSubscription(on: protocolMethod).eraseToAnyPublisher() + + let publisherSubject = PassthroughSubject, Never>() + + networkingInteractor.requestSubscription(on: protocolMethod) + .sink { (payload: RequestSubscriptionPayload) in + publisherSubject.send(payload) + }.store(in: &publishers) + + return publisherSubject.eraseToAnyPublisher() } func handleUnregisteredRequests() {