diff --git a/Sources/XXClient/Callbacks/BroadcastListener.swift b/Sources/XXClient/Callbacks/BroadcastListener.swift deleted file mode 100644 index 2b610491b1264ca5785222436458bffe8efe9c4a..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Callbacks/BroadcastListener.swift +++ /dev/null @@ -1,44 +0,0 @@ -import Bindings -import XCTestDynamicOverlay - -public struct BroadcastListener { - public init(handle: @escaping (Result<BroadcastMessage, NSError>) -> Void) { - self.handle = handle - } - - public var handle: (Result<BroadcastMessage, NSError>) -> Void -} - -extension BroadcastListener { - public static let unimplemented = BroadcastListener( - handle: XCTUnimplemented("\(Self.self)") - ) -} - -extension BroadcastListener { - func makeBindingsBroadcastListener() -> BindingsBroadcastListenerProtocol { - class CallbackObject: NSObject, BindingsBroadcastListenerProtocol { - init(_ callback: BroadcastListener) { - self.callback = callback - } - - let callback: BroadcastListener - - func callback(_ p0: Data?, p1: Error?) { - if let error = p1 { - callback.handle(.failure(error as NSError)) - } else if let data = p0 { - do { - callback.handle(.success(try BroadcastMessage.decode(data))) - } catch { - callback.handle(.failure(error as NSError)) - } - } else { - fatalError("BindingsBroadcastListener received `nil` data and `nil` error") - } - } - } - - return CallbackObject(self) - } -} diff --git a/Sources/XXClient/Channel/Channel.swift b/Sources/XXClient/Channel/Channel.swift deleted file mode 100644 index 532a04edc33bc471bac5a7697aa021b2f6725eb1..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Channel/Channel.swift +++ /dev/null @@ -1,37 +0,0 @@ -import Bindings - -public struct Channel { - public var broadcast: ChannelBroadcast - public var broadcastAsymmetric: ChannelBroadcastAsymmetric - public var get: ChannelGet - public var listen: ChannelListen - public var maxAsymmetricPayloadSize: ChannelMaxAsymmetricPayloadSize - public var maxPayloadSize: ChannelMaxPayloadSize - public var stop: ChannelStop -} - -extension Channel { - public static func live(_ bindingsChannel: BindingsChannel) -> Channel { - Channel( - broadcast: .live(bindingsChannel), - broadcastAsymmetric: .live(bindingsChannel), - get: .live(bindingsChannel), - listen: .live(bindingsChannel), - maxAsymmetricPayloadSize: .live(bindingsChannel), - maxPayloadSize: .live(bindingsChannel), - stop: .live(bindingsChannel) - ) - } -} - -extension Channel { - public static let unimplemented = Channel( - broadcast: .unimplemented, - broadcastAsymmetric: .unimplemented, - get: .unimplemented, - listen: .unimplemented, - maxAsymmetricPayloadSize: .unimplemented, - maxPayloadSize: .unimplemented, - stop: .unimplemented - ) -} diff --git a/Sources/XXClient/Channel/Functions/ChannelBroadcast.swift b/Sources/XXClient/Channel/Functions/ChannelBroadcast.swift deleted file mode 100644 index 9c7e895e541b9a3e713f27b1d5205b033d1b7ee3..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Channel/Functions/ChannelBroadcast.swift +++ /dev/null @@ -1,25 +0,0 @@ -import Bindings -import XCTestDynamicOverlay - -public struct ChannelBroadcast { - public var run: (Data) throws -> BroadcastReport - - public func callAsFunction(_ payload: Data) throws -> BroadcastReport { - try run(payload) - } -} - -extension ChannelBroadcast { - public static func live(_ bindingsChannel: BindingsChannel) -> ChannelBroadcast { - ChannelBroadcast { payload in - let reportData = try bindingsChannel.broadcast(payload) - return try BroadcastReport.decode(reportData) - } - } -} - -extension ChannelBroadcast { - public static let unimplemented = ChannelBroadcast( - run: XCTUnimplemented("\(Self.self)") - ) -} diff --git a/Sources/XXClient/Channel/Functions/ChannelBroadcastAsymmetric.swift b/Sources/XXClient/Channel/Functions/ChannelBroadcastAsymmetric.swift deleted file mode 100644 index b3b82e0186b552683e1f2c95d0866d7810d26847..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Channel/Functions/ChannelBroadcastAsymmetric.swift +++ /dev/null @@ -1,28 +0,0 @@ -import Bindings -import XCTestDynamicOverlay - -public struct ChannelBroadcastAsymmetric { - public var run: (Data, Data) throws -> BroadcastReport - - public func callAsFunction( - payload: Data, - privateKey: Data - ) throws -> BroadcastReport { - try run(payload, privateKey) - } -} - -extension ChannelBroadcastAsymmetric { - public static func live(_ bindingsChannel: BindingsChannel) -> ChannelBroadcastAsymmetric { - ChannelBroadcastAsymmetric { payload, privateKey in - let reportData = try bindingsChannel.broadcastAsymmetric(payload, pk: privateKey) - return try BroadcastReport.decode(reportData) - } - } -} - -extension ChannelBroadcastAsymmetric { - public static let unimplemented = ChannelBroadcastAsymmetric( - run: XCTUnimplemented("\(Self.self)") - ) -} diff --git a/Sources/XXClient/Channel/Functions/ChannelGet.swift b/Sources/XXClient/Channel/Functions/ChannelGet.swift deleted file mode 100644 index 7c27a3dca1b537f9a6bc0ef322d89b65c46ad412..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Channel/Functions/ChannelGet.swift +++ /dev/null @@ -1,24 +0,0 @@ -import Bindings -import XCTestDynamicOverlay - -public struct ChannelGet { - public var run: () throws -> ChannelDef - - public func callAsFunction() throws -> ChannelDef { - try run() - } -} - -extension ChannelGet { - public static func live(_ bindingsChannel: BindingsChannel) -> ChannelGet { - ChannelGet { - try ChannelDef.decode(bindingsChannel.get()) - } - } -} - -extension ChannelGet { - public static let unimplemented = ChannelGet( - run: XCTUnimplemented("\(Self.self)") - ) -} diff --git a/Sources/XXClient/Channel/Functions/ChannelListen.swift b/Sources/XXClient/Channel/Functions/ChannelListen.swift deleted file mode 100644 index 65fc1089f9076c57ab2fae004ce0fdab79cd80d8..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Channel/Functions/ChannelListen.swift +++ /dev/null @@ -1,30 +0,0 @@ -import Bindings -import XCTestDynamicOverlay - -public struct ChannelListen { - public var run: (Int, BroadcastListener) throws -> Void - - public func callAsFunction( - method: Int, - callback: BroadcastListener - ) throws { - try run(method, callback) - } -} - -extension ChannelListen { - public static func live(_ bindingsChannel: BindingsChannel) -> ChannelListen { - ChannelListen { method, callback in - try bindingsChannel.listen( - callback.makeBindingsBroadcastListener(), - method: method - ) - } - } -} - -extension ChannelListen { - public static let unimplemented = ChannelListen( - run: XCTUnimplemented("\(Self.self)") - ) -} diff --git a/Sources/XXClient/Channel/Functions/ChannelMaxAsymmetricPayloadSize.swift b/Sources/XXClient/Channel/Functions/ChannelMaxAsymmetricPayloadSize.swift deleted file mode 100644 index 44be5313ee1cb745598913e50b644a9987d13746..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Channel/Functions/ChannelMaxAsymmetricPayloadSize.swift +++ /dev/null @@ -1,22 +0,0 @@ -import Bindings -import XCTestDynamicOverlay - -public struct ChannelMaxAsymmetricPayloadSize { - public var run: () -> Int - - public func callAsFunction() -> Int { - run() - } -} - -extension ChannelMaxAsymmetricPayloadSize { - public static func live(_ bindingsChannel: BindingsChannel) -> ChannelMaxAsymmetricPayloadSize { - ChannelMaxAsymmetricPayloadSize(run: bindingsChannel.maxAsymmetricPayloadSize) - } -} - -extension ChannelMaxAsymmetricPayloadSize { - public static let unimplemented = ChannelMaxAsymmetricPayloadSize( - run: XCTUnimplemented("\(Self.self)", placeholder: 0) - ) -} diff --git a/Sources/XXClient/Channel/Functions/ChannelMaxPayloadSize.swift b/Sources/XXClient/Channel/Functions/ChannelMaxPayloadSize.swift deleted file mode 100644 index 6877f07090b32d7018e79c9b2eb007daf06df9c9..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Channel/Functions/ChannelMaxPayloadSize.swift +++ /dev/null @@ -1,22 +0,0 @@ -import Bindings -import XCTestDynamicOverlay - -public struct ChannelMaxPayloadSize { - public var run: () -> Int - - public func callAsFunction() -> Int { - run() - } -} - -extension ChannelMaxPayloadSize { - public static func live(_ bindingsChannel: BindingsChannel) -> ChannelMaxPayloadSize { - ChannelMaxPayloadSize(run: bindingsChannel.maxPayloadSize) - } -} - -extension ChannelMaxPayloadSize { - public static let unimplemented = ChannelMaxPayloadSize( - run: XCTUnimplemented("\(Self.self)", placeholder: 0) - ) -} diff --git a/Sources/XXClient/Channel/Functions/ChannelStop.swift b/Sources/XXClient/Channel/Functions/ChannelStop.swift deleted file mode 100644 index faddcb18be457355ec685e30fb3cb5ac937c1bed..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Channel/Functions/ChannelStop.swift +++ /dev/null @@ -1,22 +0,0 @@ -import Bindings -import XCTestDynamicOverlay - -public struct ChannelStop { - public var run: () -> Void - - public func callAsFunction() { - run() - } -} - -extension ChannelStop { - public static func live(_ bindingsChannel: BindingsChannel) -> ChannelStop { - ChannelStop(run: bindingsChannel.stop) - } -} - -extension ChannelStop { - public static let unimplemented = ChannelStop( - run: XCTUnimplemented("\(Self.self)") - ) -} diff --git a/Sources/XXClient/Functions/NewBroadcastChannel.swift b/Sources/XXClient/Functions/NewBroadcastChannel.swift deleted file mode 100644 index 0204cf1f4f3da40b39f100e9857946846a6a7be6..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Functions/NewBroadcastChannel.swift +++ /dev/null @@ -1,37 +0,0 @@ -import Bindings -import XCTestDynamicOverlay - -public struct NewBroadcastChannel { - public var run: (Int, ChannelDef) throws -> Channel - - public func callAsFunction( - cMixId: Int, - channelDef: ChannelDef - ) throws -> Channel { - try run(cMixId, channelDef) - } -} - -extension NewBroadcastChannel { - public static let live = NewBroadcastChannel { cMixId, channelDef in - var error: NSError? - let bindingsChannel = BindingsNewBroadcastChannel( - cMixId, - try channelDef.encode(), - &error - ) - if let error = error { - throw error - } - guard let bindingsChannel = bindingsChannel else { - fatalError("BindingsNewBroadcastChannel returned `nil` without providing error") - } - return .live(bindingsChannel) - } -} - -extension NewBroadcastChannel { - public static let unimplemented = NewBroadcastChannel( - run: XCTUnimplemented("\(Self.self)") - ) -} diff --git a/Sources/XXClient/Models/BroadcastMessage.swift b/Sources/XXClient/Models/BroadcastMessage.swift deleted file mode 100644 index 3d4520bf94ed98026b276229407689a4823e8516..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Models/BroadcastMessage.swift +++ /dev/null @@ -1,37 +0,0 @@ -import Foundation - -public struct BroadcastMessage: Equatable { - public init( - roundId: Int, - ephId: [Int], - roundURL: String, - payload: Data - ) { - self.roundId = roundId - self.ephId = ephId - self.roundURL = roundURL - self.payload = payload - } - - public var roundId: Int - public var ephId: [Int] - public var roundURL: String - public var payload: Data -} - -extension BroadcastMessage: Codable { - enum CodingKeys: String, CodingKey { - case roundId = "RoundID" - case ephId = "EphID" - case roundURL = "RoundURL" - case payload = "Payload" - } - - public static func decode(_ data: Data) throws -> Self { - try JSONDecoder().decode(Self.self, from: data) - } - - public func encode() throws -> Data { - try JSONEncoder().encode(self) - } -} diff --git a/Sources/XXClient/Models/BroadcastReport.swift b/Sources/XXClient/Models/BroadcastReport.swift deleted file mode 100644 index 98df89091b78ee9a447e9e29e9604adbe2547588..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Models/BroadcastReport.swift +++ /dev/null @@ -1,33 +0,0 @@ -import Foundation - -public struct BroadcastReport: Equatable { - public init( - rounds: [Int], - ephId: [Int], - roundURL: String - ) { - self.rounds = rounds - self.ephId = ephId - self.roundURL = roundURL - } - - public var rounds: [Int] - public var ephId: [Int] - public var roundURL: String -} - -extension BroadcastReport: Codable { - enum CodingKeys: String, CodingKey { - case rounds = "Rounds" - case ephId = "EphID" - case roundURL = "RoundURL" - } - - public static func decode(_ data: Data) throws -> Self { - try JSONDecoder().decode(Self.self, from: data) - } - - public func encode() throws -> Data { - try JSONEncoder().encode(self) - } -} diff --git a/Sources/XXClient/Models/ChannelDef.swift b/Sources/XXClient/Models/ChannelDef.swift deleted file mode 100644 index 3a5a501a512285c37c1692961c5c01a1b784a404..0000000000000000000000000000000000000000 --- a/Sources/XXClient/Models/ChannelDef.swift +++ /dev/null @@ -1,37 +0,0 @@ -import Foundation - -public struct ChannelDef: Equatable { - public init( - name: String, - description: String, - salt: Data, - pubKey: Data - ) { - self.name = name - self.description = description - self.salt = salt - self.pubKey = pubKey - } - - public var name: String - public var description: String - public var salt: Data - public var pubKey: Data -} - -extension ChannelDef: Codable { - enum CodingKeys: String, CodingKey { - case name = "Name" - case description = "Description" - case salt = "Salt" - case pubKey = "PubKey" - } - - public static func decode(_ data: Data) throws -> Self { - try JSONDecoder().decode(Self.self, from: data) - } - - public func encode() throws -> Data { - try JSONEncoder().encode(self) - } -} diff --git a/Tests/XXClientTests/Models/BroadcastMessageTests.swift b/Tests/XXClientTests/Models/BroadcastMessageTests.swift deleted file mode 100644 index c0b0fa8abaa7507db8cd4e3f80071a15202c2d24..0000000000000000000000000000000000000000 --- a/Tests/XXClientTests/Models/BroadcastMessageTests.swift +++ /dev/null @@ -1,34 +0,0 @@ -import CustomDump -import XCTest -@testable import XXClient - -final class BroadcastMessageTests: XCTestCase { - func testCoding() throws { - let roundId: Int = 42 - let ephId: [Int] = [0, 0, 0, 0, 0, 0, 24, 61] - let roundURL = "https://dashboard.xx.network/rounds/25?xxmessenger=true" - let payloadB64 = "SGVsbG8sIGJyb2FkY2FzdCBmcmllbmRzIQ==" - let jsonString = """ - { - "RoundID": \(roundId), - "EphID": [\(ephId.map { "\($0)" }.joined(separator: ", "))], - "RoundURL": "\(roundURL)", - "Payload": "\(payloadB64)" - } - """ - let jsonData = jsonString.data(using: .utf8)! - let model = try BroadcastMessage.decode(jsonData) - - XCTAssertNoDifference(model, BroadcastMessage( - roundId: roundId, - ephId: ephId, - roundURL: roundURL, - payload: Data(base64Encoded: payloadB64)! - )) - - let encodedModel = try model.encode() - let decodedModel = try BroadcastMessage.decode(encodedModel) - - XCTAssertNoDifference(decodedModel, model) - } -} diff --git a/Tests/XXClientTests/Models/BroadcastReportTests.swift b/Tests/XXClientTests/Models/BroadcastReportTests.swift deleted file mode 100644 index 3439b1dce41275324206b241b041d84a9db90e61..0000000000000000000000000000000000000000 --- a/Tests/XXClientTests/Models/BroadcastReportTests.swift +++ /dev/null @@ -1,31 +0,0 @@ -import CustomDump -import XCTest -@testable import XXClient - -final class BroadcastReportTests: XCTestCase { - func testCoding() throws { - let rounds: [Int] = [25, 26, 29] - let ephId: [Int] = [0, 0, 0, 0, 0, 0, 24, 61] - let roundURL = "https://dashboard.xx.network/rounds/25?xxmessenger=true" - let jsonString = """ - { - "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))], - "EphID": [\(ephId.map { "\($0)" }.joined(separator: ", "))], - "RoundURL": "\(roundURL)" - } - """ - let jsonData = jsonString.data(using: .utf8)! - let model = try BroadcastReport.decode(jsonData) - - XCTAssertNoDifference(model, BroadcastReport( - rounds: rounds, - ephId: ephId, - roundURL: roundURL - )) - - let encodedModel = try model.encode() - let decodedModel = try BroadcastReport.decode(encodedModel) - - XCTAssertNoDifference(decodedModel, model) - } -} diff --git a/Tests/XXClientTests/Models/ChannelDefTests.swift b/Tests/XXClientTests/Models/ChannelDefTests.swift deleted file mode 100644 index 18b9dff21d6ebc0b087e2ff50426ecf287f6c083..0000000000000000000000000000000000000000 --- a/Tests/XXClientTests/Models/ChannelDefTests.swift +++ /dev/null @@ -1,34 +0,0 @@ -import CustomDump -import XCTest -@testable import XXClient - -final class ChannelDefTests: XCTestCase { - func testCoding() throws { - let name = "My broadcast channel" - let description = "A broadcast channel for me to test things" - let saltB64 = "gpUqW7N22sffMXsvPLE7BA==" - let pubKeyB64 = "LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1DZ0NJUUN2YkZVckJKRFpqT3Y0Y0MvUHZZdXNvQkFtUTFkb3Znb044aHRuUjA2T3F3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0=" - let jsonString = """ - { - "Name": "\(name)", - "Description": "\(description)", - "Salt": "\(saltB64)", - "PubKey": "\(pubKeyB64)" - } - """ - let jsonData = jsonString.data(using: .utf8)! - let model = try ChannelDef.decode(jsonData) - - XCTAssertNoDifference(model, ChannelDef( - name: name, - description: description, - salt: Data(base64Encoded: saltB64)!, - pubKey: Data(base64Encoded: pubKeyB64)! - )) - - let encodedModel = try model.encode() - let decodedModel = try ChannelDef.decode(encodedModel) - - XCTAssertNoDifference(decodedModel, model) - } -}