XmtpElixirSdk.Types (xmtp_elixir_sdk v0.1.2)

Copy Markdown

Core SDK value objects and enum helpers.

Summary

Types

consent_entity_type()

@type consent_entity_type() :: :group_id | :inbox_id

consent_record()

@type consent_record() ::
  %{entity: String.t(), state: consent_state()}
  | %{group_id: String.t(), state: consent_state()}

consent_state()

@type consent_state() :: :unknown | :allowed | :denied

conversation_type()

@type conversation_type() :: :dm | :group | :sync | :oneshot

delivery_status()

@type delivery_status() :: :unpublished | :published | :failed

env()

@type env() ::
  :local
  | :dev
  | :production
  | :testnet_staging
  | :testnet_dev
  | :testnet
  | :mainnet

group_permissions_preset()

@type group_permissions_preset() :: :all_members | :admin_only | :custom

identifier_kind()

@type identifier_kind() :: :ethereum | :passkey

message_kind()

@type message_kind() :: :application | :membership_change

metadata_field()

@type metadata_field() ::
  :group_name
  | :description
  | :image_url
  | :pinned_frame_url
  | :app_data
  | :message_disappearing

permission_level()

@type permission_level() :: :member | :admin | :super_admin

permission_policy()

@type permission_policy() ::
  :allow | :deny | :admin_only | :super_admin_only | :does_not_exist | :other

preference_kind()

@type preference_kind() :: :consent | :hmac_key

sort_direction()

@type sort_direction() :: :ascending | :descending

Functions

api_url(env)

@spec api_url(env()) :: String.t()

default_permission_policies()

@spec default_permission_policies() :: XmtpElixirSdk.Types.PermissionPolicySet.t()

default_permissions()

@spec default_permissions() :: XmtpElixirSdk.Types.Permissions.t()

empty_debug_info()

@spec empty_debug_info() :: XmtpElixirSdk.Types.ConversationDebugInfo.t()

env_url(atom)

@spec env_url(env()) :: String.t()

history_sync_url(atom)

@spec history_sync_url(env()) :: String.t()

metadata_field_from_name(name)

@spec metadata_field_from_name(String.t()) ::
  {:ok, metadata_field()} | {:error, XmtpElixirSdk.Error.t()}

metadata_field_name(field)

@spec metadata_field_name(metadata_field()) :: String.t()

permission_policies_for_preset(atom, custom)

secure_env?(arg1)

@spec secure_env?(env()) :: boolean()