diff --git a/Sources/ElixxirDAppsSDK/E2E.swift b/Sources/ElixxirDAppsSDK/E2E.swift index f6353308e61f3d17daec875f1116c3ebd606279b..24e443ae8f293a66e1650c702e0ff6416ee6d3c3 100644 --- a/Sources/ElixxirDAppsSDK/E2E.swift +++ b/Sources/ElixxirDAppsSDK/E2E.swift @@ -12,6 +12,7 @@ public struct E2E { public var addPartnerCallback: E2EAddPartnerCallback public var addService: E2EAddService public var removeService: E2ERemoveService + public var send: E2ESend // TODO: } @@ -29,7 +30,8 @@ extension E2E { partitionSize: .live(bindingsE2E), addPartnerCallback: .live(bindingsE2E), addService: .live(bindingsE2E), - removeService: .live(bindingsE2E) + removeService: .live(bindingsE2E), + send: .live(bindingsE2E) ) } } @@ -46,6 +48,7 @@ extension E2E { partitionSize: .unimplemented, addPartnerCallback: .unimplemented, addService: .unimplemented, - removeService: .unimplemented + removeService: .unimplemented, + send: .unimplemented ) } diff --git a/Sources/ElixxirDAppsSDK/E2ESend.swift b/Sources/ElixxirDAppsSDK/E2ESend.swift new file mode 100644 index 0000000000000000000000000000000000000000..16f6d1bc6e923e9eccb725e9e0f97d597c27b13a --- /dev/null +++ b/Sources/ElixxirDAppsSDK/E2ESend.swift @@ -0,0 +1,27 @@ +import Bindings +import XCTestDynamicOverlay + +public struct E2ESend { + public var run: (Int, Data, Data, Data) throws -> Data + + public func callAsFunction( + messageType: Int, + recipientId: Data, + payload: Data, + e2eParams: Data + ) throws -> Data { + try run(messageType, recipientId, payload, e2eParams) + } +} + +extension E2ESend { + public static func live(_ bindingsE2E: BindingsE2e) -> E2ESend { + E2ESend(run: bindingsE2E.sendE2E(_:recipientId:payload:e2eParams:)) + } +} + +extension E2ESend { + public static let unimplemented = E2ESend( + run: XCTUnimplemented("\(Self.self)") + ) +}