|
|
|
# Copyright 2019-2023 The Matrix.org Foundation C.I.C.
|
|
|
|
#
|
|
|
|
# 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 11 and beyond.
|
|
|
|
example:
|
|
|
|
$ref: "../examples/pdu_v11.json"
|
|
|
|
allOf:
|
|
|
|
# v11 is the v4 event, but without redacts. Copy the auth_events/prev_events
|
|
|
|
# from pdu_v4.yaml and hashes and signatures from pdu_v3.yaml.
|
|
|
|
- $ref: "unsigned_pdu_base.yaml"
|
|
|
|
- type: object
|
|
|
|
properties:
|
|
|
|
auth_events:
|
|
|
|
type: array
|
|
|
|
items:
|
|
|
|
type: string
|
|
|
|
description: Event ID.
|
|
|
|
description: |-
|
|
|
|
Event IDs for the authorization events that would
|
|
|
|
allow this event to be in the room.
|
|
|
|
|
|
|
|
Must contain less than or equal to 10 events. Note that if the relevant
|
|
|
|
auth event selection rules are used, this restriction should never be
|
|
|
|
encountered.
|
|
|
|
example: ["$URLsafe-base64EncodedHash", "$Another_Event"]
|
|
|
|
prev_events:
|
|
|
|
type: array
|
|
|
|
items:
|
|
|
|
type: string
|
|
|
|
description: Event ID.
|
|
|
|
description: |-
|
|
|
|
Event IDs for the most recent events in the room
|
|
|
|
that the homeserver was aware of when it made this event.
|
|
|
|
|
|
|
|
Must contain less than or equal to 20 events.
|
|
|
|
example: ["$URLsafe-base64EncodedHash", "$Another_Event"]
|
|
|
|
hashes:
|
|
|
|
$ref: "event_hash.yaml"
|
|
|
|
signatures:
|
|
|
|
type: object
|
|
|
|
description: |-
|
|
|
|
Signatures for the PDU, following the algorithm specified in [Signing Events](/server-server-api/#signing-events).
|
|
|
|
example: {
|
|
|
|
"example.com": {
|
|
|
|
"ed25519:key_version:": "86BytesOfSignatureOfTheRedactedEvent"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
additionalProperties:
|
|
|
|
type: object
|
|
|
|
title: Server Signatures
|
|
|
|
additionalProperties:
|
|
|
|
type: string
|
|
|
|
required:
|
|
|
|
- auth_events
|
|
|
|
- prev_events
|
|
|
|
- hashes
|
|
|
|
- signatures
|