From 85163ce5fc72d8ea35dcc00a87ae3e2190cfd9e4 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Mon, 25 Jul 2022 16:56:44 +0100
Subject: [PATCH] Add E2EGetHistoricalDHPublicKey functor

---
 Sources/ElixxirDAppsSDK/E2E.swift             |  3 +++
 .../E2EGetHistoricalDHPublicKey.swift         | 23 +++++++++++++++++++
 2 files changed, 26 insertions(+)
 create mode 100644 Sources/ElixxirDAppsSDK/E2EGetHistoricalDHPublicKey.swift

diff --git a/Sources/ElixxirDAppsSDK/E2E.swift b/Sources/ElixxirDAppsSDK/E2E.swift
index b2c003fc..0b820550 100644
--- a/Sources/ElixxirDAppsSDK/E2E.swift
+++ b/Sources/ElixxirDAppsSDK/E2E.swift
@@ -4,6 +4,7 @@ public struct E2E {
   public var getId: E2EGetId
   public var getReceptionId: E2EGetReceptionId
   public var getHistoricalDHPrivateKey: E2EGetHistoricalDHPrivateKey
+  public var getHistoricalDHPublicKey: E2EGetHistoricalDHPublicKey
   public var getContact: E2EGetContact
   public var payloadSize: E2EPayloadSize
   public var partitionSize: E2EPartitionSize
@@ -20,6 +21,7 @@ extension E2E {
       getId: .live(bindingsE2E),
       getReceptionId: .live(bindingsE2E),
       getHistoricalDHPrivateKey: .live(bindingsE2E),
+      getHistoricalDHPublicKey: .live(bindingsE2E),
       getContact: .live(bindingsE2E),
       payloadSize: .live(bindingsE2E),
       partitionSize: .live(bindingsE2E),
@@ -35,6 +37,7 @@ extension E2E {
     getId: .unimplemented,
     getReceptionId: .unimplemented,
     getHistoricalDHPrivateKey: .unimplemented,
+    getHistoricalDHPublicKey: .unimplemented,
     getContact: .unimplemented,
     payloadSize: .unimplemented,
     partitionSize: .unimplemented,
diff --git a/Sources/ElixxirDAppsSDK/E2EGetHistoricalDHPublicKey.swift b/Sources/ElixxirDAppsSDK/E2EGetHistoricalDHPublicKey.swift
new file mode 100644
index 00000000..c40a0618
--- /dev/null
+++ b/Sources/ElixxirDAppsSDK/E2EGetHistoricalDHPublicKey.swift
@@ -0,0 +1,23 @@
+import Bindings
+import XCTestDynamicOverlay
+
+public struct E2EGetHistoricalDHPublicKey {
+  public var run: () throws -> Data
+
+  public func callAsFunction() throws -> Data {
+    try run()
+  }
+}
+
+extension E2EGetHistoricalDHPublicKey {
+  public static func live(_ bindingsE2E: BindingsE2e) -> E2EGetHistoricalDHPublicKey {
+    E2EGetHistoricalDHPublicKey(run: bindingsE2E.getHistoricalDHPubkey)
+  }
+}
+
+extension E2EGetHistoricalDHPublicKey {
+  public static let unimplemented = E2EGetHistoricalDHPublicKey(
+    run: XCTUnimplemented("\(Self.self)")
+  )
+}
+
-- 
GitLab