From 0396e442f3e5cf74e0618bb913221477e1e68f6a Mon Sep 17 00:00:00 2001 From: Artur Guseinov Date: Fri, 19 Aug 2022 14:34:44 +0300 Subject: [PATCH] Rebase with develop --- Example/IntegrationTests/Auth/AuthTests.swift | 4 ++-- .../Auth/Services/Wallet/WalletRequestSubscriber.swift | 8 ++++---- Sources/Auth/Services/Wallet/WalletRespondService.swift | 4 ++-- Tests/AuthTests/AuthRequstSubscriberTests.swift | 7 ++++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Example/IntegrationTests/Auth/AuthTests.swift b/Example/IntegrationTests/Auth/AuthTests.swift index 05cb74088..1cab04dc3 100644 --- a/Example/IntegrationTests/Auth/AuthTests.swift +++ b/Example/IntegrationTests/Auth/AuthTests.swift @@ -70,7 +70,7 @@ final class AuthTests: XCTestCase { Task(priority: .high) { let signature = try! MessageSigner(signer: Signer()).sign(message: message, privateKey: prvKey) let cacaoSignature = CacaoSignature(t: "eip191", s: signature) - try! await wallet.respond(.success(RespondParams(id: id, signature: cacaoSignature))) + try! await wallet.respond(requestId: id, result: .success(cacaoSignature)) } } .store(in: &publishers) @@ -79,6 +79,6 @@ final class AuthTests: XCTestCase { responseExpectation.fulfill() } .store(in: &publishers) - wait(for: [responseExpectation], timeout: 2) + wait(for: [responseExpectation], timeout: .infinity) } } diff --git a/Sources/Auth/Services/Wallet/WalletRequestSubscriber.swift b/Sources/Auth/Services/Wallet/WalletRequestSubscriber.swift index f6511a400..c9a402273 100644 --- a/Sources/Auth/Services/Wallet/WalletRequestSubscriber.swift +++ b/Sources/Auth/Services/Wallet/WalletRequestSubscriber.swift @@ -7,7 +7,7 @@ import WalletConnectKMS class WalletRequestSubscriber { private let networkingInteractor: NetworkInteracting private let logger: ConsoleLogging - private let kms: KeyManagementService + private let kms: KeyManagementServiceProtocol private let address: String? private var publishers = [AnyCancellable]() private let messageFormatter: SIWEMessageFormatting @@ -15,7 +15,7 @@ class WalletRequestSubscriber { init(networkingInteractor: NetworkInteracting, logger: ConsoleLogging, - kms: KeyManagementService, + kms: KeyManagementServiceProtocol, messageFormatter: SIWEMessageFormatting, address: String?) { self.networkingInteractor = networkingInteractor @@ -27,12 +27,12 @@ class WalletRequestSubscriber { } private func subscribeForRequest() { + guard let address = address else { return } + networkingInteractor.requestPublisher.sink { [unowned self] payload in logger.debug("WalletRequestSubscriber: Received request") - guard let address = address else { return } - guard let requestId = payload.request.id, payload.request.method == "wc_authRequest" else { return } diff --git a/Sources/Auth/Services/Wallet/WalletRespondService.swift b/Sources/Auth/Services/Wallet/WalletRespondService.swift index 079fd82f8..c5aec4e7a 100644 --- a/Sources/Auth/Services/Wallet/WalletRespondService.swift +++ b/Sources/Auth/Services/Wallet/WalletRespondService.swift @@ -66,10 +66,10 @@ actor WalletRespondService { } private func generateAgreementKeys(requestParams: AuthRequestParams) throws -> (topic: String, keys: AgreementKeys) { - let peerPubKey = requestParams.requester.publicKey + let peerPubKey = try AgreementPublicKey(hex: requestParams.requester.publicKey) let topic = peerPubKey.rawRepresentation.sha256().toHexString() let selfPubKey = try kms.createX25519KeyPair() - let keys = try kms.performKeyAgreement(selfPublicKey: selfPubKey, peerPublicKey: peerPubKey) + let keys = try kms.performKeyAgreement(selfPublicKey: selfPubKey, peerPublicKey: peerPubKey.hexRepresentation) return (topic, keys) } } diff --git a/Tests/AuthTests/AuthRequstSubscriberTests.swift b/Tests/AuthTests/AuthRequstSubscriberTests.swift index 14a73bef5..fc7c6ebbb 100644 --- a/Tests/AuthTests/AuthRequstSubscriberTests.swift +++ b/Tests/AuthTests/AuthRequstSubscriberTests.swift @@ -15,9 +15,10 @@ class AuthRequstSubscriberTests: XCTestCase { override func setUp() { networkingInteractor = NetworkingInteractorMock() messageFormatter = SIWEMessageFormatterMock() -// sut = WalletRequestSubscriber(networkingInteractor: networkingInteractor, -// logger: ConsoleLoggerMock(), -// messageFormatter: messageFormatter, address: "") + sut = WalletRequestSubscriber(networkingInteractor: networkingInteractor, + logger: ConsoleLoggerMock(), + kms: KeyManagementServiceMock(), + messageFormatter: messageFormatter, address: "") } func testSubscribeRequest() {