Inheritance
Object
PlatformInterface
XmtpPluginPlatform
Implementers
Properties
hashCode
→ int
The hash code for this object.
no setter inherited
runtimeType
→ Type
A representation of the runtime type of the object.
no setter inherited
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 >