diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/ForwardedRoomKeyContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/ForwardedRoomKeyContent.kt index cf8652352c..ea5fb26d83 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/ForwardedRoomKeyContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/ForwardedRoomKeyContent.kt @@ -20,28 +20,53 @@ import com.squareup.moshi.JsonClass /** * Class representing the forward room key request body content + * Ref: https://matrix.org/docs/spec/client_server/latest#m-forwarded-room-key */ @JsonClass(generateAdapter = true) data class ForwardedRoomKeyContent( - + /** + * Required. The encryption algorithm the key in this event is to be used with. + */ @Json(name = "algorithm") val algorithm: String? = null, + /** + * Required. The room where the key is used. + */ @Json(name = "room_id") val roomId: String? = null, + /** + * Required. The Curve25519 key of the device which initiated the session originally. + */ @Json(name = "sender_key") val senderKey: String? = null, + /** + * Required. The ID of the session that the key is for. + */ @Json(name = "session_id") val sessionId: String? = null, + /** + * Required. The key to be exchanged. + */ @Json(name = "session_key") val sessionKey: String? = null, + /** + * Required. Chain of Curve25519 keys. It starts out empty, but each time the key is forwarded to another device, + * the previous sender in the chain is added to the end of the list. For example, if the key is forwarded + * from A to B to C, this field is empty between A and B, and contains A's Curve25519 key between B and C. + */ @Json(name = "forwarding_curve25519_key_chain") val forwardingCurve25519KeyChain: List? = null, + /** + * Required. The Ed25519 key of the device which initiated the session originally. It is 'claimed' because the + * receiving device has no way to tell that the original room_key actually came from a device which owns the + * private part of this key unless they have done device verification. + */ @Json(name = "sender_claimed_ed25519_key") val senderClaimedEd25519Key: String? = null )