diff --git a/Sources/ElixxirDAppsSDK/E2E.swift b/Sources/ElixxirDAppsSDK/E2E.swift index 118861456987df2a00aa602905c6413709141a94..b11f08e2cd28af177ff5eb990bf29e09af6184cd 100644 --- a/Sources/ElixxirDAppsSDK/E2E.swift +++ b/Sources/ElixxirDAppsSDK/E2E.swift @@ -13,6 +13,7 @@ public struct E2E { public var addService: E2EAddService public var removeService: E2ERemoveService public var hasAuthenticatedChannel: E2EHasAuthenticatedChannel + public var requestAuthenticatedChannel: E2ERequestAuthenticatedChannel public var callAllReceivedRequests: E2ECallAllReceivedRequests public var send: E2ESend @@ -34,6 +35,7 @@ extension E2E { addService: .live(bindingsE2E), removeService: .live(bindingsE2E), hasAuthenticatedChannel: .live(bindingsE2E), + requestAuthenticatedChannel: .live(bindingsE2E), callAllReceivedRequests: .live(bindingsE2E), send: .live(bindingsE2E) ) @@ -54,6 +56,7 @@ extension E2E { addService: .unimplemented, removeService: .unimplemented, hasAuthenticatedChannel: .unimplemented, + requestAuthenticatedChannel: .unimplemented, callAllReceivedRequests: .unimplemented, send: .unimplemented ) diff --git a/Sources/ElixxirDAppsSDK/E2ERequestAuthenticatedChannel.swift b/Sources/ElixxirDAppsSDK/E2ERequestAuthenticatedChannel.swift new file mode 100644 index 0000000000000000000000000000000000000000..abba09c78fd2581e7fe4ddf39bad0836714baeb8 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/E2ERequestAuthenticatedChannel.swift @@ -0,0 +1,33 @@ +import Bindings +import XCTestDynamicOverlay + +public struct E2ERequestAuthenticatedChannel { + public var run: (Data, String) throws -> Int64 + + public func callAsFunction( + partnerContact: Data, + myFactsString: String + ) throws -> Int64 { + try run(partnerContact, myFactsString) + } +} + +extension E2ERequestAuthenticatedChannel { + public static func live(_ bindingsE2E: BindingsE2e) -> E2ERequestAuthenticatedChannel { + E2ERequestAuthenticatedChannel { partnerContact, myFactsString in + var roundId: Int64 = 0 + try bindingsE2E.request( + partnerContact, + myFactsString: myFactsString, + ret0_: &roundId + ) + return roundId + } + } +} + +extension E2ERequestAuthenticatedChannel { + public static let unimplemented = E2ERequestAuthenticatedChannel( + run: XCTUnimplemented("\(Self.self)") + ) +}