AccountProjection

data class AccountProjection(val kind: ProjectionKind, val logicalEventId: String, val outerEvent: SignedNostrEvent, val rumor: NostrRumor?, val authorPublicKey: NostrPublicKey, val createdAt: Long, val conversationId: String, val participants: List<NostrPublicKey>, val targetEventIds: List<String>, val content: String)

One bounded authenticated projection with exact protocol truth attached.

Android may derive UI-only models from this value, but must never reinterpret signatures, tags, envelopes, edit ordering, or deletion precedence.

Constructors

Link copied to clipboard
constructor(kind: ProjectionKind, logicalEventId: String, outerEvent: SignedNostrEvent, rumor: NostrRumor?, authorPublicKey: NostrPublicKey, createdAt: Long, conversationId: String, participants: List<NostrPublicKey>, targetEventIds: List<String>, content: String)

Properties

Link copied to clipboard

Authenticated logical author.

Link copied to clipboard

Authenticated bounded content selected by the projection.

Link copied to clipboard

Stable participant-set hash, empty when not conversational.

Link copied to clipboard

Portable logical-event timestamp.

Link copied to clipboard

Authenticated projection family.

Link copied to clipboard

Stable logical event ID used by edits and deletions.

Link copied to clipboard

Exact authenticated signed outer event.

Link copied to clipboard

Sorted canonical conversation participants.

Link copied to clipboard

Authenticated inner rumor, or null for direct signed events.

Link copied to clipboard

Canonical referenced event IDs in protocol order.