Module message_contents Copy item path Source ciphertext Nested message and enum types in Ciphertext. composite Nested message and enum types in Composite. contact_bundle Nested message and enum types in ContactBundle. ecies_message Nested message and enum types in EciesMessage. encrypted_private_key_bundle Nested message and enum types in EncryptedPrivateKeyBundle. invitation_v1 Nested message and enum types in InvitationV1. message Nested message and enum types in Message. private_key Nested message and enum types in PrivateKey. private_key_bundle Nested message and enum types in PrivateKeyBundle. private_preferences_action Nested message and enum types in PrivatePreferencesAction. private_preferences_payload Nested message and enum types in PrivatePreferencesPayload. public_key Nested message and enum types in PublicKey. sealed_invitation Nested message and enum types in SealedInvitation. signature Nested message and enum types in Signature. signed_ecies_ciphertext Nested message and enum types in SignedEciesCiphertext. signed_private_key Nested message and enum types in SignedPrivateKey. unsigned_public_key Nested message and enum types in UnsignedPublicKey. Ciphertext Ciphertext represents encrypted payload.
It is definited as a union to support cryptographic algorithm agility.
The payload is accompanied by the cryptographic parameters
required by the chosen encryption scheme. Composite Composite is used to implement xmtp.org/composite content type ConsentProofPayload Payload for user’s consent proof to be set in the invitation
Signifying the conversation should be preapproved for the user on receipt ContactBundle Versioned ContactBundle ContactBundleV1 LEGACY: User key bundle V1 using PublicKeys.
The PublicKeys MUST be signed. ContactBundleV2 User key bundle V2 using SignedPublicKeys. ContentTypeId ContentTypeId is used to identify the type of content stored in a Message. ConversationReference A light pointer for a conversation that contains no decryption keys DecodedMessage DecodedMessage represents the decrypted message contents.
DecodedMessage instances are not stored on the network, but
may be serialized and stored by clients EciesMessage EciesMessage is a wrapper for ECIES encrypted payloads EncodedContent EncodedContent bundles the content with metadata identifying its type
and parameters required for correct decoding and presentation of the content. EncryptedPrivateKeyBundle Versioned encrypted PrivateKeyBundle EncryptedPrivateKeyBundleV1 PrivateKeyBundle encrypted with key material generated by
signing a randomly generated “pre-key” with the user’s wallet,
i.e. EIP-191 signature of a “storage signature” message with
the pre-key embedded in it.
(see xmtp-js::PrivateKeyBundle.toEncryptedBytes for details) FrameAction The outer payload that will be sent as the messageBytes in the
trusted_data part of the Frames message FrameActionBody The message that will be signed by the Client and returned inside the
action_body field of the FrameAction message InvitationV1 Unsealed invitation V1 Message Versioned Message MessageHeaderV1 Message header is encoded separately as the bytes are also used
as associated data for authenticated encryption MessageHeaderV2 Message header carries information that is not encrypted, and is therefore
observable by the network. It is however authenticated as associated data
of the AEAD encryption used to protect the message,
thus providing tamper evidence. MessageV1 Message is the top level protocol element MessageV2 Message combines the encoded header with the encrypted payload. PrivateKey LEGACY: PrivateKey generalized to support different key types PrivateKeyBundle Versioned PrivateKeyBundle PrivateKeyBundleV1 LEGACY: PrivateKeyBundleV1 wraps the identityKey and the preKeys PrivateKeyBundleV2 PrivateKeyBundle wraps the identityKey and the preKeys,
enforces usage of signed keys. PrivatePreferencesAction PrivatePreferencesAction is a message used to update the client’s preference
store. PrivatePreferencesPayload The payload that goes over the wire PublicKey PublicKey represents a generalized public key,
defined as a union to support cryptographic algorithm agility. PublicKeyBundle PublicKeyBundle packages the cryptographic keys associated with a wallet,
both senders and recipients are identified by their key bundles. SealedInvitation Versioned Sealed Invitation SealedInvitationHeaderV1 Sealed Invitation V1 Header
Header carries information that is unencrypted, thus readable by the network
it is however authenticated as associated data with the AEAD scheme used
to encrypt the invitation body, thus providing tamper evidence. SealedInvitationV1 Sealed Invitation V1
Invitation encrypted with key material derived from the sender’s and
recipient’s public key bundles using simplified X3DH where
the sender’s ephemeral key is replaced with sender’s pre-key. Signature Signature represents a generalized public key signature,
defined as a union to support cryptographic algorithm agility. SignedContent SignedContent attaches a signature to EncodedContent. SignedEciesCiphertext SignedEciesCiphertext represents an ECIES encrypted payload and a signature SignedPayload SignedPayload is a wrapper for a signature and a payload SignedPrivateKey PrivateKey generalized to support different key types SignedPublicKey SignedPublicKey SignedPublicKeyBundle PublicKeyBundle packages the cryptographic keys associated with a wallet. UnsignedPublicKey UnsignedPublicKey represents a generalized public key,
defined as a union to support cryptographic algorithm agility. Compression Recognized compression algorithms
protolint:disable ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH ConsentProofPayloadVersion Version of consent proof payload