Skip to content

Commit

Permalink
Merge pull request #495 from WalletConnect/#488-get-pairings
Browse files Browse the repository at this point in the history
#488 get pairings
  • Loading branch information
llbartekll authored Sep 9, 2022
2 parents 8a68a97 + b6078fb commit 0c9ea84
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 2 deletions.
9 changes: 8 additions & 1 deletion Sources/Auth/AuthClient.swift
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ public class AuthClient {
private let pairingStorage: WCPairingStorage
private let pendingRequestsProvider: PendingRequestsProvider
private let pingService: PairingPingService
private let pairingsProvider: PairingsProvider
private var account: Account?

init(appPairService: AppPairService,
Expand All @@ -75,7 +76,8 @@ public class AuthClient {
logger: ConsoleLogging,
pairingStorage: WCPairingStorage,
socketConnectionStatusPublisher: AnyPublisher<SocketConnectionStatus, Never>,
pingService: PairingPingService
pingService: PairingPingService,
pairingsProvider: PairingsProvider
) {
self.appPairService = appPairService
self.appRequestService = appRequestService
Expand All @@ -91,6 +93,7 @@ public class AuthClient {
self.socketConnectionStatusPublisher = socketConnectionStatusPublisher
self.deletePairingService = deletePairingService
self.pingService = pingService
self.pairingsProvider = pairingsProvider
setUpPublishers()
}

Expand Down Expand Up @@ -153,6 +156,10 @@ public class AuthClient {
try await pingService.ping(topic: topic)
}

public func getPairings() -> [Pairing] {
pairingsProvider.getPairings()
}

/// Query pending authentication requests
/// - Returns: Pending authentication requests
public func getPendingRequests() throws -> [AuthRequest] {
Expand Down
4 changes: 3 additions & 1 deletion Sources/Auth/AuthClientFactory.swift
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public struct AuthClientFactory {
let cleanupService = CleanupService(pairingStore: pairingStore, kms: kms)
let deletePairingService = DeletePairingService(networkingInteractor: networkingInteractor, kms: kms, pairingStorage: pairingStore, logger: logger)
let pingService = PairingPingService(pairingStorage: pairingStore, networkingInteractor: networkingInteractor, logger: logger)
let pairingsProvider = PairingsProvider(pairingStorage: pairingStore)

return AuthClient(appPairService: appPairService,
appRequestService: appRequestService,
Expand All @@ -47,6 +48,7 @@ public struct AuthClientFactory {
logger: logger,
pairingStorage: pairingStore,
socketConnectionStatusPublisher: relayClient.socketConnectionStatusPublisher,
pingService: pingService)
pingService: pingService,
pairingsProvider: pairingsProvider)
}
}
15 changes: 15 additions & 0 deletions Sources/Auth/Services/Common/PairingsProvider.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import Foundation
import WalletConnectPairing

public class PairingsProvider {
private let pairingStorage: WCPairingStorage

public init(pairingStorage: WCPairingStorage) {
self.pairingStorage = pairingStorage
}

func getPairings() -> [Pairing] {
pairingStorage.getAll()
.map {Pairing(topic: $0.topic, peer: $0.peerMetadata, expiryDate: $0.expiryDate)}
}
}
4 changes: 4 additions & 0 deletions Sources/Auth/Types/Aliases/Pairing.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import Foundation
import WalletConnectPairing

public typealias Pairing = WalletConnectPairing.Pairing
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,10 @@ public struct Pairing {
public let topic: String
public let peer: AppMetadata?
public let expiryDate: Date

public init(topic: String, peer: AppMetadata?, expiryDate: Date) {
self.topic = topic
self.peer = peer
self.expiryDate = expiryDate
}
}
4 changes: 4 additions & 0 deletions Sources/WalletConnectSign/Types/Aliases/Pairing.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import Foundation
import WalletConnectPairing

public typealias Pairing = WalletConnectPairing.Pairing

0 comments on commit 0c9ea84

Please sign in to comment.