diff --git a/Sources/ElixxirDAppsSDK/E2E.swift b/Sources/ElixxirDAppsSDK/E2E.swift
index b2c003fc06eeeaffdd9a3ac66ec5b16701cd40e0..0b8205500dd5c6ec306f40a54da8ab507a795497 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 0000000000000000000000000000000000000000..c40a0618c729182e14b50592600e787db665084d
--- /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)")
+  )
+}
+