Package-level declarations

Types

Link copied to clipboard
interface Disposable
Link copied to clipboard
data class FfiBackupMetadata(var backupVersion: UShort, var elements: List<FfiBackupElementSelection>, var exportedAtNs: Long, var startNs: Long?, var endNs: Long?)
Link copied to clipboard
data class FfiBackupOptions(var startNs: Long?, var endNs: Long?, var elements: List<FfiBackupElementSelection>)
Link copied to clipboard
data class FfiConsent(var entityType: FfiConsentEntityType, var state: FfiConsentState, var entity: String)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class FfiConversationMember(var inboxId: String, var accountIdentifiers: List<FfiIdentifier>, var installationIds: List<ByteArray>, var permissionLevel: FfiPermissionLevel, var consentState: FfiConsentState)
Link copied to clipboard
Link copied to clipboard
data class FfiCreateDmOptions(var messageDisappearingSettings: FfiMessageDisappearingSettings?)
Link copied to clipboard
data class FfiCreateGroupOptions(var permissions: FfiGroupPermissionsOptions?, var groupName: String?, var groupImageUrlSquare: String?, var groupDescription: String?, var customPermissionPolicySet: FfiPermissionPolicySet?, var messageDisappearingSettings: FfiMessageDisappearingSettings?)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class FfiHmacKey(var key: ByteArray, var epoch: Long)
Link copied to clipboard
data class FfiIdentifier(var identifier: String, var identifierKind: FfiIdentifierKind)
Link copied to clipboard
Link copied to clipboard
interface FfiInboxOwner
Link copied to clipboard
data class FfiInboxState(var inboxId: String, var recoveryIdentity: FfiIdentifier, var installations: List<FfiInstallation>, var accountIdentities: List<FfiIdentifier>)
Link copied to clipboard
data class FfiInstallation(var id: ByteArray, var clientTimestampNs: ULong?)
Link copied to clipboard
data class FfiListConversationsOptions(var createdAfterNs: Long?, var createdBeforeNs: Long?, var limit: Long?, var consentStates: List<FfiConsentState>?, var includeDuplicateDms: Boolean)
Link copied to clipboard
data class FfiListMessagesOptions(var sentBeforeNs: Long?, var sentAfterNs: Long?, var limit: Long?, var deliveryStatus: FfiDeliveryStatus?, var direction: FfiDirection?, var contentTypes: List<FfiContentType>?)
Link copied to clipboard
data class FfiMessage(var id: ByteArray, var sentAtNs: Long, var conversationId: ByteArray, var senderInboxId: String, var content: ByteArray, var kind: FfiConversationMessageKind, var deliveryStatus: FfiDeliveryStatus)
Link copied to clipboard
Link copied to clipboard
data class FfiMessageDisappearingSettings(var fromNs: Long, var inNs: Long)

Settings for disappearing messages in a conversation.

Link copied to clipboard
data class FfiMessageWithReactions(var message: FfiMessage, var reactions: List<FfiMessage>)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class FfiPasskeySignature(var publicKey: ByteArray, var signature: ByteArray, var authenticatorData: ByteArray, var clientDataJson: ByteArray)
Link copied to clipboard
data class FfiPermissionPolicySet(var addMemberPolicy: FfiPermissionPolicy, var removeMemberPolicy: FfiPermissionPolicy, var addAdminPolicy: FfiPermissionPolicy, var removeAdminPolicy: FfiPermissionPolicy, var updateGroupNamePolicy: FfiPermissionPolicy, var updateGroupDescriptionPolicy: FfiPermissionPolicy, var updateGroupImageUrlSquarePolicy: FfiPermissionPolicy, var updateMessageDisappearingPolicy: FfiPermissionPolicy)
Link copied to clipboard
Link copied to clipboard
sealed class FfiPreferenceUpdate
Link copied to clipboard
data class FfiReaction(var reference: String, var referenceInboxId: String, var action: FfiReactionAction, var content: String, var schema: FfiReactionSchema)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class FfiRemoteAttachmentInfo(var secret: ByteArray, var contentDigest: String, var nonce: ByteArray, var scheme: String, var url: String, var salt: ByteArray, var contentLength: UInt?, var filename: String?)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class FfiUpdateGroupMembershipResult(var addedMembers: Map<String, ULong>, var removedMembers: List<String>, var failedInstallations: List<ByteArray>)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
suspend fun connectToBackend(host: String, isSecure: Boolean): XmtpApiClient
Link copied to clipboard
suspend fun createClient(api: XmtpApiClient, db: String?, encryptionKey: ByteArray?, inboxId: String, accountIdentifier: FfiIdentifier, nonce: ULong, legacySignedPrivateKeyProto: ByteArray?, historySyncUrl: String?): FfiXmtpClient

It returns a new client of the specified inbox_id. Note that the inbox_id must be either brand new or already associated with the account_identifier. i.e. inbox_id cannot be associated with another account address.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun generateInboxId(accountIdentifier: FfiIdentifier, nonce: ULong): String
Link copied to clipboard
suspend fun getInboxIdForIdentifier(api: XmtpApiClient, accountIdentifier: FfiIdentifier): String?
Link copied to clipboard