Skip to main content

ServerConfiguration

Struct ServerConfiguration 

Source
pub struct ServerConfiguration {
    pub identifier: String,
    pub server_version: String,
    pub min_libxmtp_version: String,
    pub auth: AuthConfiguration,
    pub retention: RetentionConfiguration,
    pub limits: LimitsConfiguration,
    pub mls: MlsConfiguration,
    pub handles: HandlesConfiguration,
    pub attachments: Option<AttachmentsConfiguration>,
    pub smart_contract_wallet_chains: Vec<String>,
    pub application_components: Vec<ApplicationComponentDefinition>,
}
Expand description

One immutable snapshot of what a deployment published.

Default is the compiled fallback used before any fetch succeeds, and for any field the deployment left at zero.

Fields§

§identifier: String

Stable operator-chosen name. Empty only before a first fetch succeeds.

§server_version: String§min_libxmtp_version: String

Empty when the operator published no minimum.

§auth: AuthConfiguration§retention: RetentionConfiguration§limits: LimitsConfiguration§mls: MlsConfiguration§handles: HandlesConfiguration§attachments: Option<AttachmentsConfiguration>

Absent when attachment storage is not offered or its message is unusable.

§smart_contract_wallet_chains: Vec<String>

CAIP-2 chain ids this deployment verifies smart contract wallet signatures on. Empty rejects every app-supplied signature.

§application_components: Vec<ApplicationComponentDefinition>

Group metadata fields a client registers in the conversations it creates, in published order.

Implementations§

Source§

impl ServerConfiguration

Source

pub fn validate(&self) -> Result<(), ServerConfigurationError>

The identifier must be well formed, any minimum version must parse, every chain must be CAIP-2, every numeric value must survive the trip to an SDK integer intact, and the application catalogue must pass validate_application_components.

Source

pub fn minimum_version( &self, ) -> Result<Option<Version>, ServerConfigurationError>

The published minimum, parsed. None admits every client version.

Source

pub fn accepts_chain(&self, chain: &str) -> bool

Whether this deployment accepts a smart contract wallet signature on chain. An empty list accepts none.

Trait Implementations§

Source§

impl Clone for ServerConfiguration

Source§

fn clone(&self) -> ServerConfiguration

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ServerConfiguration

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ServerConfiguration

Source§

fn default() -> ServerConfiguration

Returns the “default value” for a type. Read more
Source§

impl PartialEq for ServerConfiguration

Source§

fn eq(&self, other: &ServerConfiguration) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ServerConfiguration

Source§

impl StructuralPartialEq for ServerConfiguration

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.