Skip to content

Commit

Permalink
remove wait clients connected, refactor push protocol method
Browse files Browse the repository at this point in the history
  • Loading branch information
llbartekll committed Sep 27, 2022
1 parent 3938dfc commit 81c4fd7
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 51 deletions.
21 changes: 2 additions & 19 deletions Example/IntegrationTests/Pairing/PairingTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,8 @@ final class PairingTests: XCTestCase {
private var publishers = [AnyCancellable]()

override func setUp() {
(appPairingClient, appPushClient) = makeClients(prefix: "👻 App")
(walletPairingClient, walletPushClient) = makeClients(prefix: "🤑 Wallet")

let expectation = expectation(description: "Wait Clients Connected")
expectation.expectedFulfillmentCount = 2

appPairingClient.socketConnectionStatusPublisher.sink { status in
if status == .connected {
expectation.fulfill()
}
}.store(in: &publishers)

walletPairingClient.socketConnectionStatusPublisher.sink { status in
if status == .connected {
expectation.fulfill()
}
}.store(in: &publishers)

wait(for: [expectation], timeout: 5)
(appPairingClient, appPushClient) = makeClients(prefix: "🤖 App")
(walletPairingClient, walletPushClient) = makeClients(prefix: "🐶 Wallet")
}

func makeClients(prefix: String) -> (PairingClient, PushClient) {
Expand Down
5 changes: 3 additions & 2 deletions Sources/WalletConnectPairing/PairingRequester.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ public class PushProposer {
}

func request(topic: String, params: AnyCodable) async throws {
let request = RPCRequest(method: PushProtocolMethod.propose.method, params: params)
try await networkingInteractor.requestNetworkAck(request, topic: topic, tag: PushProtocolMethod.propose.requestTag)
let protocolMethod = PushProposeProtocolMethod()
let request = RPCRequest(method: protocolMethod.method, params: params)
try await networkingInteractor.requestNetworkAck(request, topic: topic, protocolMethod: protocolMethod)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public class PairingRequestsSubscriber {
.sink { [unowned self] topic, request in
Task(priority: .high) {
// TODO - spec tag
try await networkingInteractor.respondError(topic: topic, requestId: request.id!, tag: 123456, reason: PairError.methodUnsupported)
try await networkingInteractor.respondError(topic: topic, requestId: request.id!, protocolMethod: protocolMethod, reason: PairError.methodUnsupported)
}

}.store(in: &publishers)
Expand Down
8 changes: 5 additions & 3 deletions Sources/WalletConnectPairing/Push/PushClient.swift
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,16 @@ public class PushClient {
private extension PushClient {

func setupPairingSubscriptions() {
pairingRegisterer.register(method: PushProtocolMethod.propose)
let protocolMethod = PushProposeProtocolMethod()

networkInteractor.responseErrorSubscription(on: PushProtocolMethod.propose)
pairingRegisterer.register(method: protocolMethod)

networkInteractor.responseErrorSubscription(on: protocolMethod)
.sink { [unowned self] (payload: ResponseSubscriptionErrorPayload<PushRequestParams>) in
logger.error(payload.error.localizedDescription)
}.store(in: &publishers)

networkInteractor.requestSubscription(on: PushProtocolMethod.propose)
networkInteractor.requestSubscription(on: protocolMethod)
.sink { [unowned self] (payload: RequestSubscriptionPayload<PushRequestParams>) in
requestPublisherSubject.send((payload.topic, payload.request))
}.store(in: &publishers)
Expand Down
12 changes: 12 additions & 0 deletions Sources/WalletConnectPairing/Push/PushProposeProtocolMethod.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import Foundation
import WalletConnectNetworking

struct PushProposeProtocolMethod: ProtocolMethod {
let method: String = "wc_pushPropose"

let requestConfig: RelayConfig = RelayConfig(tag: 111, prompt: true, ttl: 300)

let responseConfig: RelayConfig = RelayConfig(tag: 112, prompt: true, ttl: 300)
}

struct PushRequestParams: Codable {}
26 changes: 0 additions & 26 deletions Sources/WalletConnectPairing/Push/PushProtocolMethod.swift

This file was deleted.

0 comments on commit 81c4fd7

Please sign in to comment.