Package-level declarations

Types

Link copied to clipboard
interface Disposable
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 accountAddresses: List<String>, var installationIds: List<ByteArray>, var permissionLevel: FfiPermissionLevel, var consentState: FfiConsentState)
Link copied to clipboard
Link copied to clipboard
data class FfiCreateGroupOptions(var permissions: FfiGroupPermissionsOptions?, var groupName: String?, var groupImageUrlSquare: String?, var groupDescription: String?, var groupPinnedFrameUrl: String?, var customPermissionPolicySet: FfiPermissionPolicySet?, var messageExpirationFromMs: Long?, var messageExpirationMs: Long?)
Link copied to clipboard
data class FfiCursor(var digest: ByteArray, var senderTimeNs: ULong)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class FfiEnvelope(var contentTopic: String, var timestampNs: ULong, var message: ByteArray)
Link copied to clipboard
Link copied to clipboard
data class FfiHmacKey(var key: ByteArray, var epoch: Long)
Link copied to clipboard
interface FfiInboxOwner
Link copied to clipboard
data class FfiInboxState(var inboxId: String, var recoveryAddress: String, var installations: List<FfiInstallation>, var accountAddresses: List<String>)
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 convoId: ByteArray, var senderInboxId: String, var content: ByteArray, var kind: FfiConversationMessageKind, var deliveryStatus: FfiDeliveryStatus)
Link copied to clipboard
Link copied to clipboard
data class FfiMessageWithReactions(var message: FfiMessage, var reactions: List<FfiMessage>)
Link copied to clipboard
Link copied to clipboard
data class FfiPagingInfo(var limit: UInt, var cursor: FfiCursor?, var direction: FfiSortDirection)
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 updateGroupPinnedFrameUrlPolicy: FfiPermissionPolicy, var updateMessageExpirationMsPolicy: FfiPermissionPolicy)
Link copied to clipboard
Link copied to clipboard
sealed class FfiPreferenceUpdate
Link copied to clipboard
data class FfiPublishRequest(var envelopes: List<FfiEnvelope>)
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
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class FfiV2BatchQueryRequest(var requests: List<FfiV2QueryRequest>)
Link copied to clipboard
data class FfiV2BatchQueryResponse(var responses: List<FfiV2QueryResponse>)
Link copied to clipboard
data class FfiV2QueryRequest(var contentTopics: List<String>, var startTimeNs: ULong, var endTimeNs: ULong, var pagingInfo: FfiPagingInfo?)
Link copied to clipboard
data class FfiV2QueryResponse(var envelopes: List<FfiEnvelope>, var pagingInfo: FfiPagingInfo?)
Link copied to clipboard
data class FfiV2SubscribeRequest(var contentTopics: List<String>)
Link copied to clipboard

Subscription to a stream of V2 Messages

Link copied to clipboard
Link copied to clipboard

Subscription to a stream of V2 Messages

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, accountAddress: String, 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_address. i.e. inbox_id cannot be associated with another account address.

Link copied to clipboard
suspend fun createV2Client(host: String, isSecure: Boolean): FfiV2ApiClient
Link copied to clipboard
Link copied to clipboard
fun diffieHellmanK256(privateKeyBytes: ByteArray, publicKeyBytes: ByteArray): ByteArray
Link copied to clipboard
Link copied to clipboard
fun generateInboxId(accountAddress: String, nonce: ULong): String
Link copied to clipboard
suspend fun getInboxIdForAddress(api: XmtpApiClient, accountAddress: String): String?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun recoverAddress(signatureBytes: ByteArray, predigestMessage: String): String
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun userPreferencesDecrypt(publicKey: ByteArray, privateKey: ByteArray, message: ByteArray): ByteArray
Link copied to clipboard
fun userPreferencesEncrypt(publicKey: ByteArray, privateKey: ByteArray, message: ByteArray): ByteArray
Link copied to clipboard
fun verifyK256Sha256(signedBy: ByteArray, message: ByteArray, signature: ByteArray, recoveryId: UByte): Boolean