# Copyright 2019 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. type: object title: Persistent Data Unit description: A persistent data unit (event) for room version 3. example: $ref: "../examples/pdu_v3.json" allOf: - $ref: "unsigned_pdu_base.yaml" - type: object properties: auth_events: type: array items: type: string description: Event ID. description: |- Event IDs and reference hashes for the authorization events that would allow this event to be in the room. example: ["$abase64encodedhash", "$anotherevent"] prev_events: type: array items: type: string description: Event ID. description: |- Event IDs and reference hashes for the most recent events in the room that the homeserver was aware of when it made this event. example: ["$abase64encodedhash", "$anotherevent"] hashes: type: object title: Event Hash description: |- Content hashes of the PDU, following the algorithm specified in `Signing Events`_. example: { "sha256": "thishashcoversallfieldsincasethisisredacted" } properties: sha256: type: string description: The hash. example: thishashcoversallfieldsincasthisisredacted required: ['sha256'] signatures: type: object description: |- Signatures for the PDU, following the algorithm specified in `Signing Events`_. example: { "example.com": { "ed25519:key_version:": "these86bytesofbase64signaturecoveressentialfieldsincludinghashessocancheckredactedpdus" } } additionalProperties: type: object title: Server Signatures additionalProperties: type: string required: - auth_events - prev_events - hashes - signatures