Skip to main content

Module message_contents

Module message_contents 

Source

Modules§

content_types
encrypted_group_info_blob
Nested message and enum types in EncryptedGroupInfoBlob.
external_commit_policy_entry
Nested message and enum types in ExternalCommitPolicyEntry.
external_invite_payload
Nested message and enum types in ExternalInvitePayload.
group_membership_entry
Nested message and enum types in GroupMembershipEntry.
group_updated
Nested message and enum types in GroupUpdated.
membership_policy
Nested message and enum types in MembershipPolicy.
metadata_policy
Nested message and enum types in MetadataPolicy.
oneshot_message
Nested message and enum types in OneshotMessage.
permissions_update_policy
Nested message and enum types in PermissionsUpdatePolicy.
plaintext_envelope
Nested message and enum types in PlaintextEnvelope.
welcome_pointer
Nested message and enum types in WelcomePointer.

Structs§

CommitLogEntry
ComponentMetadata
Metadata describing a component: its data type and permission policies.
ComponentPermissions
Per-component permission policy with separate rules for insert, update, and delete operations.
ContentTypeId
ContentTypeId is used to identify the type of content stored in a Message.
DmMembers
Ordering does not matter here
EncodedContent
EncodedContent bundles the content with metadata identifying its type and parameters required for correct decoding and presentation of the content.
EncryptedGroupInfoBlob
Versioned envelope wrapping a single GroupInfo TLS-serialized bytes under an AEAD scheme (ChaCha20Poly1305 in v1) with a fresh nonce per re-encryption. Stored on the external service and replaced by joiners (with a fresh nonce) after each successful join.
EncryptedGroupInfoBlobV1
v1 shape of the encrypted-GroupInfo envelope.
ExternalCommitPolicyEntry
Versioned envelope. New variants are added as new oneof variants; readers that don’t recognize a variant treat the policy as default (all fields zero) per the standard unknown-variant tolerance rules.
ExternalCommitPolicyV1
v1 external-commit-policy payload. Field-coupling invariants enforced by libxmtp when applying an AppDataUpdate(EXTERNAL_COMMIT_POLICY) proposal:
ExternalInvitePayload
Versioned envelope for the shareable invite blob. The application embeds the serialized bytes in whatever transport it prefers (hex, base64, raw QR, NFC, etc.) and stores the corresponding EncryptedGroupInfoBlob on an external service keyed by the v1 payload’s external_group_id.
ExternalInvitePayloadV1
v1 shape of the shareable invite blob for QR-code or link-based joining of an XMTP group via an MLS external commit.
GroupMembership
Contains a mapping of inbox_id -> sequence_id for all members of a group. Designed to be stored in the group context extension of the MLS group
GroupMembershipChanges
The group membership change proto
GroupMembershipEntry
Per-member membership state stored inside the GROUP_MEMBERSHIP component as a TlsMap<InboxId, bytes>. Keys are 32-byte inbox ids, values are the encoded bytes of this message.
GroupMetadataV1
Parent message for group metadata
GroupMutableMetadataV1
Message for group mutable metadata
GroupMutablePermissionsV1
Message for group mutable metadata
GroupUpdated
A summary of the changes in a commit. Includes added/removed inboxes and changes to metadata
Inbox
Wrapper around an Inbox Id
Inboxes
Wrapper around a list of repeated Inbox Ids
MembershipChange
A group member and affected installation IDs
MembershipPolicy
A policy that governs adding/removing members or installations
MetadataPolicy
A policy that governs updating metadata
OneshotMessage
PermissionsUpdatePolicy
A policy that governs updating permissions
PlaintextCommitLogEntry
PlaintextCommitLogEntry indicates whether a commit was successful or not, when applied on top of the indicated last_epoch_authenticator.
PlaintextEnvelope
A PlaintextEnvelope is the outermost payload that gets encrypted by MLS
PolicySet
The set of policies that govern the group
ProposalSupport
Extension data for proposal support in group context. When present in the group context extensions, indicates the group uses proposal-by-reference flow.
ReaddRequest
A request sent by an installation to recover from a fork. Other members may remove and readd that installation from the group. XIP: https://community.xmtp.org/t/xip-68-draft-automated-fork-recovery/951
WelcomePointeeEncryptionAeadTypesExtension
Extension message that indicates the types of encryption supported by a client
WelcomePointer
A WelcomePointer is used to point to the welcome message for several installations at once to save overhead
WelcomeWrapperEncryption
The KeyPackageExtension that stores the PubKey and the WelcomeWrapperEncryption

Enums§

CommitResult
ComponentType
The data structure type of a component’s value
Compression
Recognized compression algorithms protolint:disable ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
ConversationType
Defines the type of conversation
WelcomePointeeEncryptionAeadType
WelcomePointerWrapperAlgorithm
MUST match the WelcomeWrapperAlgorithm enum values without 25519 so that the i32 transformations are compatible
WelcomeWrapperAlgorithm
Describes the algorithm used to encrypt the Welcome Wrapper