XmtpPluginPlatform class abstract

Inheritance
  • Object
  • PlatformInterface
  • XmtpPluginPlatform
Implementers

Constructors

XmtpPluginPlatform()
Constructs a XmtpPluginPlatform.

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

acceptConversation(String topic) Future<bool>
addAccount(Uint8List newAccountPrivateKey, {bool allowReassignInboxId = false}) Future<void>
addGroupAdmin(String topic, String inboxId) Future<bool>
addGroupMembers(String topic, List<String> inboxIds) Future<bool>
addGroupSuperAdmin(String topic, String inboxId) Future<bool>
archiveMetadata(String path, Uint8List key) Future<Map<String, dynamic>>
canMessage(String address) Future<bool>
canMessageByInboxId(String inboxId) Future<bool>
changeRecoveryIdentifier(Uint8List signerPrivateKey, String newRecoveryIdentifier) Future<void>
conversationTopicFromAddress(String peerAddress) Future<String?>
createArchive(String path, Uint8List key, {List<String> elements = const [], int? startNs, int? endNs, bool excludeDisappearing = false}) Future<void>
denyConversation(String topic) Future<bool>
findOrCreateDMWithInboxId(String inboxId) Future<Map<String, dynamic>>
generatePrivateKey() Future<Uint8List>
getAllHmacKeys() Future<List<Map<String, dynamic>>>
Aggregate HMAC keys for every conversation the client knows about (including stitched duplicate DMs). Each entry: {topic: String, hmacKey: Uint8List, thirtyDayPeriodsSinceEpoch: int}. libxmtp returns 3 keys per conversation (prior / current / next epoch). Feed these to the notif server's subscribeWithMetadata so it can filter listener traffic without breaking E2E.
getClientAddress() Future<String?>
getClientInboxId() Future<String?>
getConversationConsentState(String topic) Future<String>
getGroupMemberRole(String topic, String inboxId) Future<Map<String, dynamic>>
getInboxConsentState(String inboxId) Future<String>
getInstallationId() Future<String>
getMessagesAfterDate(String peerAddress, DateTime fromDate) Future<List<Map<String, dynamic>>>
getMessagesAfterDateByTopic(String topic, DateTime fromDate) Future<List<Map<String, dynamic>>>
getPlatformVersion() Future<String?>
importArchive(String path, Uint8List key) Future<void>
inboxIdFromAddress(String address) Future<String>
inboxState({bool refreshFromNetwork = false}) Future<Map<String, dynamic>>
inboxStatesForInboxIds(List<String> inboxIds, {bool refreshFromNetwork = true}) Future<List<Map<String, dynamic>>>
initializeClient(Uint8List privateKey, Uint8List dbKey, {String environment = 'production', String? dbDirectory}) Future<String?>
listConversations() Future<List<Map<String, dynamic>>>
listDms({String? consentState}) Future<List<Map<String, dynamic>>>
listGroupAdmins(String topic) Future<List<Map>>
listGroupMembers(String topic) Future<List<Map>>
listGroups({String? consentState}) Future<List<Map<String, dynamic>>>
listGroupSuperAdmins(String topic) Future<List<Map>>
loadRemoteAttachment(Map<String, dynamic> params) Future<Map<String, dynamic>>
newGroup(List<String> inboxIds, Map<String, String> options) Future<Map<String, dynamic>>
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
processPushMessage(String topic, Uint8List encryptedBytes) Future<List<Map<String, dynamic>>>
Decrypt an FCM/APNs push payload for an existing conversation (looked up by topic). Returns a list of decoded messages — usually 1, occasionally more if the envelope contained multiple. Each entry mirrors getMessagesAfterDate shape.
processWelcome(Uint8List encryptedBytes) Future<List<Map<String, dynamic>>>
Decrypt an FCM/APNs push payload that arrived on the welcome topic (/xmtp/mls/1/w-${installationId}/proto). Returns the newly-created conversation(s) — usually 1, occasionally more from DM stitching. Each entry mirrors listConversations shape.
removeAccount(Uint8List recoveryPrivateKey, String identifierToRemove) Future<void>
removeGroupAdmin(String topic, String inboxId) Future<bool>
removeGroupMembers(String topic, List<String> inboxIds) Future<bool>
removeGroupSuperAdmin(String topic, String inboxId) Future<bool>
revokeAllOtherInstallations(Uint8List signerPrivateKey) Future<void>
revokeInstallations(Uint8List signerPrivateKey, List<String> installationIds) Future<void>
sendGroupMessage(String topic, dynamic message, String authorityId, String typeId, int versionMajor) Future<String?>
sendMessage(String recipientAddress, dynamic message, String authorityId, String typeId, int versionMajor) Future<String?>
sendMessageByInboxId(String recipientInboxId, dynamic message, String authorityId, String typeId, int versionMajor) Future<Map<String, dynamic>?>
Returns a map with messageId and the live DM topic (the conversation that was actually sent to — send is find-or-create, so this is always the canonical DM topic). topic may be null on platforms that don't surface it.
sendSyncRequest() Future<bool>
setConversationConsentState(String topic, String state) Future<bool>
setInboxConsentState(String inboxId, String state) Future<bool>
staticDeleteLocalDatabase(String address, String inboxId, {String environment = 'production', String? dbDirectory}) Future<void>
staticGetInboxIdForAddress(String address, {String environment = 'production'}) Future<String?>
staticInboxStatesForInboxIds(List<String> inboxIds) Future<List<Map<String, dynamic>>>
staticRevokeInstallations(Uint8List signerPrivateKey, String inboxId, List<String> installationIds) Future<void>
subscribeToAllMessages() Stream<Map<String, dynamic>>
syncAll({List<String> consentStates = const ['allowed']}) Future<Map<String, int>>
syncConsentPreferences() Future<bool>
syncConversation(String topic) Future<void>
toString() String
A string representation of this object.
inherited
updateGroup(String topic, Map<String, String> updates) Future<bool>

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

instance XmtpPluginPlatform
The default instance of XmtpPluginPlatform to use.
getter/setter pair