Skip to main content

Class: HashChain

Defined in: packages/agentos/src/safety/provenance/crypto/HashChain.ts:16

Constructors​

Constructor​

new HashChain(initialHash?, initialSequence?): HashChain

Defined in: packages/agentos/src/safety/provenance/crypto/HashChain.ts:20

Parameters​

initialHash?​

string = ''

initialSequence?​

number = 0

Returns​

HashChain

Methods​

advance()​

advance(): object

Defined in: packages/agentos/src/safety/provenance/crypto/HashChain.ts:42

Advance the chain: increment sequence, return the new sequence and prevHash.

Returns​

object

prevHash​

prevHash: string

sequence​

sequence: number


getLastHash()​

getLastHash(): string

Defined in: packages/agentos/src/safety/provenance/crypto/HashChain.ts:35

Get the hash of the last event in the chain.

Returns​

string


getSequence()​

getSequence(): number

Defined in: packages/agentos/src/safety/provenance/crypto/HashChain.ts:28

Get the current sequence number.

Returns​

number


recordHash()​

recordHash(hash): void

Defined in: packages/agentos/src/safety/provenance/crypto/HashChain.ts:53

Record a hash as the new chain head (call after event is persisted).

Parameters​

hash​

string

Returns​

void


canonicalJSON()​

static canonicalJSON(obj): string

Defined in: packages/agentos/src/safety/provenance/crypto/HashChain.ts:85

Produce canonical JSON: keys sorted lexicographically at every level.

Parameters​

obj​

unknown

Returns​

string


computeEventHash()​

static computeEventHash(event, algorithm?): string

Defined in: packages/agentos/src/safety/provenance/crypto/HashChain.ts:61

Compute the SHA-256 hash of an event's preimage. Preimage format: ${sequence}|${type}|${timestamp}|${agentId}|${prevHash}|${payloadHash}

Parameters​

event​
agentId​

string

payloadHash​

string

prevHash​

string

sequence​

number

timestamp​

string

type​

ProvenanceEventType

algorithm?​

string = 'sha256'

Returns​

string


computePayloadHash()​

static computePayloadHash(payload, algorithm?): string

Defined in: packages/agentos/src/safety/provenance/crypto/HashChain.ts:77

Compute the SHA-256 hash of a payload object using canonical JSON. Canonical = sorted keys recursively for deterministic output.

Parameters​

payload​

Record<string, unknown>

algorithm?​

string = 'sha256'

Returns​

string


hash()​

static hash(data, algorithm?): string

Defined in: packages/agentos/src/safety/provenance/crypto/HashChain.ts:103

Compute a generic SHA-256 hash of a string.

Parameters​

data​

string

algorithm?​

string = 'sha256'

Returns​

string