diff --git a/Sources/ElixxirDAppsSDK/E2E.swift b/Sources/ElixxirDAppsSDK/E2E.swift
index 1a0617aec0f53c6dcc224458a1b317a8d2d86449..d98b72c0162b8f5b67de5f8ca96e2d0ccfb04442 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 payloadSize: E2EPayloadSize
+  public var partitionSize: E2EPartitionSize
 
   // TODO:
 }
@@ -13,7 +14,8 @@ extension E2E {
     E2E(
       getId: .live(bindingsE2E: bindingsE2E),
       getReceptionId: .live(bindingsE2E: bindingsE2E),
-      payloadSize: .live(bindingsE2E: bindingsE2E)
+      payloadSize: .live(bindingsE2E: bindingsE2E),
+      partitionSize: .live(bindingsE2E: bindingsE2E)
     )
   }
 }
@@ -22,6 +24,7 @@ extension E2E {
   public static let unimplemented = E2E(
     getId: .unimplemented,
     getReceptionId: .unimplemented,
-    payloadSize: .unimplemented
+    payloadSize: .unimplemented,
+    partitionSize: .unimplemented
   )
 }
diff --git a/Sources/ElixxirDAppsSDK/E2EPartitionSize.swift b/Sources/ElixxirDAppsSDK/E2EPartitionSize.swift
new file mode 100644
index 0000000000000000000000000000000000000000..a3d8d722e05155badca9e4356c73450ed729cd97
--- /dev/null
+++ b/Sources/ElixxirDAppsSDK/E2EPartitionSize.swift
@@ -0,0 +1,30 @@
+import Bindings
+import XCTestDynamicOverlay
+
+public struct E2EPartitionSize {
+  public var first: () -> Int
+  public var second: () -> Int
+  public var atIndex: (Int) -> Int
+
+  subscript(payloadIndex payloadIndex: Int) -> Int {
+    atIndex(payloadIndex)
+  }
+}
+
+extension E2EPartitionSize {
+  public static func live(bindingsE2E: BindingsE2e) -> E2EPartitionSize {
+    E2EPartitionSize(
+      first: bindingsE2E.firstPartitionSize,
+      second: bindingsE2E.secondPartitionSize,
+      atIndex: bindingsE2E.partitionSize(_:)
+    )
+  }
+}
+
+extension E2EPartitionSize {
+  public static let unimplemented = E2EPartitionSize(
+    first: XCTUnimplemented("\(Self.self).first"),
+    second: XCTUnimplemented("\(Self.self).second"),
+    atIndex: XCTUnimplemented("\(Self.self).atIndex")
+  )
+}