From 831771f7eb56da899ce7366c39b75aca6486fd8a Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Mon, 25 Jul 2022 17:47:25 +0100 Subject: [PATCH] Add E2EVerifyOwnership functor --- Sources/ElixxirDAppsSDK/E2E.swift | 3 ++ .../ElixxirDAppsSDK/E2EVerifyOwnership.swift | 35 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 Sources/ElixxirDAppsSDK/E2EVerifyOwnership.swift diff --git a/Sources/ElixxirDAppsSDK/E2E.swift b/Sources/ElixxirDAppsSDK/E2E.swift index 864ac097..6b83d568 100644 --- a/Sources/ElixxirDAppsSDK/E2E.swift +++ b/Sources/ElixxirDAppsSDK/E2E.swift @@ -18,6 +18,7 @@ public struct E2E { public var callAllReceivedRequests: E2ECallAllReceivedRequests public var getReceivedRequest: E2EGetReceivedRequest public var deleteRequest: E2EDeleteRequest + public var verifyOwnership: E2EVerifyOwnership public var send: E2ESend // TODO: @@ -43,6 +44,7 @@ extension E2E { callAllReceivedRequests: .live(bindingsE2E), getReceivedRequest: .live(bindingsE2E), deleteRequest: .live(bindingsE2E), + verifyOwnership: .live(bindingsE2E), send: .live(bindingsE2E) ) } @@ -67,6 +69,7 @@ extension E2E { callAllReceivedRequests: .unimplemented, getReceivedRequest: .unimplemented, deleteRequest: .unimplemented, + verifyOwnership: .unimplemented, send: .unimplemented ) } diff --git a/Sources/ElixxirDAppsSDK/E2EVerifyOwnership.swift b/Sources/ElixxirDAppsSDK/E2EVerifyOwnership.swift new file mode 100644 index 00000000..e6011bca --- /dev/null +++ b/Sources/ElixxirDAppsSDK/E2EVerifyOwnership.swift @@ -0,0 +1,35 @@ +import Bindings +import XCTestDynamicOverlay + +public struct E2EVerifyOwnership { + public var run: (Data, Data, Int) throws -> Bool + + public func callAsFunction( + receivedContact: Data, + verifiedContact: Data, + e2eId: Int + ) throws -> Bool { + try run(receivedContact, verifiedContact, e2eId) + } +} + +extension E2EVerifyOwnership { + public static func live(_ bindingsE2E: BindingsE2e) -> E2EVerifyOwnership { + E2EVerifyOwnership { receivedContact, verifiedContact, e2eId in + var result: ObjCBool = false + try bindingsE2E.verifyOwnership( + receivedContact, + verifiedContact: verifiedContact, + e2eId: e2eId, + ret0_: &result + ) + return result.boolValue + } + } +} + +extension E2EVerifyOwnership { + public static let unimplemented = E2EVerifyOwnership( + run: XCTUnimplemented("\(Self.self)") + ) +} -- GitLab