From 75b901ad30fd3b3d03fa3f5c5cbcab97328e24d0 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Mon, 29 Aug 2022 21:21:19 +0100
Subject: [PATCH] Update E2ESendReport model

---
 Sources/XXClient/Models/E2ESendReport.swift        |  6 +++++-
 .../XXClientTests/Models/E2ESendReportTests.swift  | 14 +++++++++-----
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/Sources/XXClient/Models/E2ESendReport.swift b/Sources/XXClient/Models/E2ESendReport.swift
index 87ab2e49..f334ab71 100644
--- a/Sources/XXClient/Models/E2ESendReport.swift
+++ b/Sources/XXClient/Models/E2ESendReport.swift
@@ -4,16 +4,19 @@ public struct E2ESendReport: Equatable {
   public init(
     roundList: [Int]?,
     messageId: Data?,
-    timestamp: Int?
+    timestamp: Int?,
+    keyResidue: Data?
   ) {
     self.roundList = roundList
     self.messageId = messageId
     self.timestamp = timestamp
+    self.keyResidue = keyResidue
   }
 
   public var roundList: [Int]?
   public var messageId: Data?
   public var timestamp: Int?
+  public var keyResidue: Data?
 }
 
 extension E2ESendReport: Codable {
@@ -21,6 +24,7 @@ extension E2ESendReport: Codable {
     case roundList = "Rounds"
     case messageId = "MessageID"
     case timestamp = "Timestamp"
+    case keyResidue = "KeyResidue"
   }
 
   public static func decode(_ data: Data) throws -> Self {
diff --git a/Tests/XXClientTests/Models/E2ESendReportTests.swift b/Tests/XXClientTests/Models/E2ESendReportTests.swift
index cbde1a38..d931009e 100644
--- a/Tests/XXClientTests/Models/E2ESendReportTests.swift
+++ b/Tests/XXClientTests/Models/E2ESendReportTests.swift
@@ -5,13 +5,15 @@ import XCTest
 final class E2ESendReportTests: XCTestCase {
   func testCoding() throws {
     let rounds = [1, 5, 9]
-    let messageIdB64 = "51Yy47uZbP0o2Y9B/kkreDLTB6opUol3M3mYiY2dcdQ="
-    let timestamp: Int = 1_653_582_683_183_384_000
+    let messageIdB64 = "iM34yCIr4Je8ZIzL9iAAG1UWAeDiHybxMTioMAaezvs="
+    let timestamp: Int = 1_661_532_254_302_612_000
+    let keyResidueB64 = "9q2/A69EAuFM1hFAT7Bzy5uGOQ4T6bPFF72h5PlgCWE="
     let jsonString = """
     {
       "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))],
       "MessageID": "\(messageIdB64)",
-      "Timestamp": \(timestamp)
+      "Timestamp": \(timestamp),
+      "KeyResidue": "\(keyResidueB64)"
     }
     """
     let jsonData = jsonString.data(using: .utf8)!
@@ -20,7 +22,8 @@ final class E2ESendReportTests: XCTestCase {
     XCTAssertNoDifference(model, E2ESendReport(
       roundList: rounds,
       messageId: Data(base64Encoded: messageIdB64)!,
-      timestamp: timestamp
+      timestamp: timestamp,
+      keyResidue: Data(base64Encoded: keyResidueB64)
     ))
 
     let encodedModel = try model.encode()
@@ -37,7 +40,8 @@ final class E2ESendReportTests: XCTestCase {
     XCTAssertNoDifference(model, E2ESendReport(
       roundList: nil,
       messageId: nil,
-      timestamp: nil
+      timestamp: nil,
+      keyResidue: nil
     ))
   }
 }
-- 
GitLab