Skip to navigation

Wallets and identities

View as Markdown

A transaction hash does not identify an individual fill. A transaction can contain several participations and executions; after a reorg it can occur in another block.

Wallet roles

owner is the order owner, signer signs the order, and the transaction sender submits the transaction. They can differ. The owners filter selects order owners; it is not a signer or transaction-sender filter. Never fill in an unknown identity by assuming these roles share an address.

IdentityDistinguishes
TransactionTransaction in a particular network
InvocationSupported call occurrence within the transaction
IntentParticipation role and order position in that invocation
Order hashSigned order; can recur across partial fills and participations
Inclusion / occurrenceTransaction included in one particular block
ExecutionOne normalized receipt execution
Economic resourceShared resource referenced by economic perspectives
EventPersisted notification about an entity

An intent identity does not prove execution. An inclusion identity changes on reinclusion; the transaction identity can stay the same. Exact intent-to-execution correlation requires more evidence than a shared transaction hash.

What to save

Keep eventId, entityId, assessmentRevision, correctionOf, transaction/intent/occurrence relations and the permitted payload. Save the subscription binding and checkpoint separately, in the same transaction as effects when accepting a checkpoint.

Deduplicate by eventId; use entity and revision to update state. The same event ID with different contents is a conflict: stop applying and retain safe diagnostics.

Transport identities

frameSequence orders this connection’s frames. position is a journal batch boundary. eventOrdinal is the index in the original batch before filtering. Positions and ordinals can have gaps; connection frame sequences cannot.

connectionId and subscription generation fence ACKs; historyGeneration identifies retained history. Reconnect starts a new frame sequence. See frames and versions.