Optional
ourOur current Nostr keypair used for this session
Our next Nostr keypair, used when ratcheting forward. It is advertised in messages we send.
Number of messages sent in previous sending chain
Optional
receivingKey for decrypting incoming messages in current chain
Number of messages received in current receiving chain
Root key used to derive new sending / receiving chain keys
Optional
sendingKey for encrypting outgoing messages in current chain
Number of messages sent in current sending chain
Cache of message & header keys for handling out-of-order messages
Optional
theirThe other party's current Nostr public key
The other party's next Nostr public key
State of a Double Ratchet session between two parties. Needed for persisting sessions.