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
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?)
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
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 consentState: FfiConsentState?)
Link copied to clipboard
data class FfiListMessagesOptions(var sentBeforeNs: Long?, var sentAfterNs: Long?, var limit: Long?, var deliveryStatus: FfiDeliveryStatus?, var direction: FfiDirection?)
Link copied to clipboard
interface FfiLogger
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
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)
Link copied to clipboard
data class FfiPublishRequest(var envelopes: List<FfiEnvelope>)
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

Functions

Link copied to clipboard
suspend fun createClient(logger: FfiLogger, host: String, isSecure: Boolean, 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
fun diffieHellmanK256(privateKeyBytes: ByteArray, publicKeyBytes: ByteArray): ByteArray
Link copied to clipboard
fun generateInboxId(accountAddress: String, nonce: ULong): String
Link copied to clipboard
suspend fun getInboxIdForAddress(logger: FfiLogger, host: String, isSecure: Boolean, 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