Skip to content

ACLEntry

Defined in: packages/core/src/acl-chain.ts:106

A single signed entry in the ACL chain.

The signature covers the canonical encoding of the entry’s payload (change, signerKeyId, sequenceNumber, timestamp, parentHash).

ChangesType

The CRDT change block type produced by the ACL.

change: ChangesType

Defined in: packages/core/src/acl-chain.ts:131

The ACL change block authored by the signer. Opaque to the chain.


optional parentHash?: Uint8Array<ArrayBufferLike>

Defined in: packages/core/src/acl-chain.ts:126

Hash of the previous entry, or undefined for the genesis entry. Hash is computed via computeEntryHash.


sequenceNumber: number

Defined in: packages/core/src/acl-chain.ts:111

Strictly increasing sequence number. The first entry must have sequence 0; each subsequent entry must be previous.sequenceNumber + 1.


signature: Uint8Array

Defined in: packages/core/src/acl-chain.ts:147

Signature over the canonical encoding of all fields above.


signerKeyId: Uint8Array

Defined in: packages/core/src/acl-chain.ts:142

Stable canonical identifier for the signer’s public key.

These are the raw bytes produced by SerializePublicKey (e.g. an SPKI or raw-point encoding of the key) — not a cryptographic digest of those bytes. The chain uses this for fast identity comparisons; the actual public key for signature verification is supplied separately at ACLChain.authorAndAppend / ACLChain.ingestEntry time.


timestamp: number

Defined in: packages/core/src/acl-chain.ts:120

Author timestamp in Unix milliseconds. Advisory only — the chain does not reject entries based on the value of the timestamp (since clocks may drift); it only requires the value to be a non-negative safe integer so the canonical encoding is unambiguous. Used to break ties for human-readable audit logs.