diff --git a/Sources/XXClient/Models/E2ESendReport.swift b/Sources/XXClient/Models/E2ESendReport.swift index 87ab2e49371b96a3e96fa03d2bb9ee41860104a1..f334ab71c0c9c9c5dd1179b661c75e74407f4b10 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 cbde1a38314e4f6f20977efe7b09054906564ed6..d931009e3dddc4be16542db57f7c14866480daf7 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 )) } }