Skip to main content

Crate xmtp_mls

Crate xmtp_mls 

Source

Re-exports§

pub use client::VisibilityConfirmationOptions;
pub use client::Client;
pub use client::Network;
pub use xmtp_common as common;
pub use xmtp_db as db;
pub use xmtp_mls_common as mls_common;

Modules§

builder
client
context
groups
identity
identity_updates
messages
mls_store
Higher level queries against the local database These queries return their mls-typed equivalents after converting from the data in DB/Api
server_configuration
Resolving, storing, and refreshing what the backend publishes about itself.
subscriptions
utils
worker

Structs§

AggregateStats
ApiStats
EndpointStats
GetConfigurationRequest
GetConfigurationResponse
GetInboxIdsRequest
GetInboxIdsResponse
Same order as the request. An identifier resolves to the inbox with its latest non-revoked association, or to no inbox. Revocation can reveal an older active association. Lookup uses normalized (identifier, kind), but response entries echo original inputs, including duplicates.
IdentityStats
PublishRequest
Atomic: every envelope is stored or none is. No envelope count limit; the request is at most 25 MiB, each envelope at most 1 MiB, and there are at most 1000 distinct topics. At most one identity update per inbox per request. A repeat of an envelope already stored on its topic (same MessageHash) is not an error: the stored meta is returned as success.
PublishResponse
Same order as the request, including duplicates. An oversized response can fail with a size error after commit. Retry exact envelope bytes; failure to receive a response does not establish rollback.
QueryNewestRequest
QueryNewestResponse
One result per topic that has an envelope. A topic with no envelope is absent from results. An oversized response fails with a transport size error or RESOURCE_EXHAUSTED from an application check; omission never means the byte budget was exhausted.
QueryRequest
QueryResponse
Up to limit matches across the queried topics, ascending within each topic. The order across topics carries no meaning. Client rule: for each topic that returned rows, set its cursor to that topic’s highest returned sequence_id; leave every other cursor unchanged; if has_more, query again. Each stored envelope appears once. An oversized encoded response fails with a transport size error or RESOURCE_EXHAUSTED from an application check; results are not silently omitted to fit.
RecipientState
RegisterRequest
ServerEnvelope
A stored envelope with its server-assigned metadata.
UnregisterRequest
UnregisterResponse
UpdateSubscriptionsRequest
VerifySmartContractWalletSignaturesRequest
VerifySmartContractWalletSignaturesResponse

Traits§

ApiBuilder
Build an API from its parts for the XMTP Backend
BoxableXmtpApi
InboxOwner
NetConnectConfig
describe how to create a single network connection. Implement this trait if your type connects to a single network channel/connection (like gRPc or HTTP)
XmtpApi
XmtpBackendClient
The backend unary RPCs. Callers own retries and chunking.
XmtpMlsBidiStreams
The XIP-83 bidirectional subscription: one long-lived stream carrying group and welcome messages, mutated in place (no reconnect on membership change) and kept alive with WebSocket-style ping/pong. Native-only — gRPC-Web transports cannot speak full-duplex, so browsers stay on XmtpMlsStreams with a client-side watchdog.
XmtpMlsStreams
Represents the backend API required for an MLS Delivery Service to be compatible with XMTP streaming

Functions§

version

Type Aliases§

ArcedXmtpApi
A type-erased version of the Xntp Api in a Arc
BoxedGroupS
BoxedIncomingS
Owned transport events. Durable receipt remains the caller’s responsibility.
BoxedSubscribeS
BoxedWelcomeS
BoxedXmtpApi
A type-erased version of the Xmtp Api in a Box
MlsContext
WrappedXmtpApiClient
XmtpApiClient