Removes all messages for a participant
Address of the conversation participant
Removes all cached messages
Gets a specific message by ID
Transaction ID of the message
Gets the last synced round for a participant
Address of the conversation participant
The last synced round, or undefined if never synced
Gets all participants with cached messages
Checks if a message exists in the cache
Transaction ID of the message
Retrieves all cached messages for a participant
Address of the conversation participant
Array of messages sorted by timestamp
Retrieves messages after a specific round
Address of the conversation participant
Minimum confirmed round (exclusive)
Array of messages with confirmedRound > afterRound
Sets the last synced round for a participant
Address of the conversation participant
The round number
Stores a message in the cache
Address of the conversation participant
Message to store
Stores multiple messages in the cache
Address of the conversation participant
Messages to store
Protocol for message caching
Implementations can use in-memory storage, IndexedDB, or other backends.