Skip to main content

Class: ChainVerifier

Defined in: packages/agentos/src/core/provenance/verification/ChainVerifier.ts:18

Constructors

Constructor

new ChainVerifier(): ChainVerifier

Returns

ChainVerifier

Methods

isValid()

static isValid(events, publicKeyBase64?): Promise<boolean>

Defined in: packages/agentos/src/core/provenance/verification/ChainVerifier.ts:196

Quick integrity check - returns true/false without detailed errors.

Parameters

events

SignedEvent[]

publicKeyBase64?

string

Returns

Promise<boolean>


verify()

static verify(events, publicKeyBase64?, hashAlgorithm?): Promise<VerificationResult>

Defined in: packages/agentos/src/core/provenance/verification/ChainVerifier.ts:36

Verify an ordered array of signed events for chain integrity.

Checks performed:

  1. Sequence continuity (monotonically increasing, no gaps)
  2. Hash linkage (each event's prevHash matches the prior event's hash)
  3. Payload hash integrity (recomputed hash matches stored payloadHash)
  4. Event hash integrity (recomputed hash matches stored hash)
  5. Ed25519 signature verification (if signatures present)
  6. Timestamp monotonicity (non-decreasing)

Parameters

events

SignedEvent[]

Ordered array of SignedEvent objects (sorted by sequence ASC).

publicKeyBase64?

string

Optional public key for signature verification. If omitted, uses each event's signerPublicKey field.

hashAlgorithm?

"sha256" = 'sha256'

Hash algorithm used (default: 'sha256').

Returns

Promise<VerificationResult>

VerificationResult with validity status and any errors found.


verifySubChain()

static verifySubChain(events, expectedStartPrevHash, publicKeyBase64?): Promise<VerificationResult>

Defined in: packages/agentos/src/core/provenance/verification/ChainVerifier.ts:208

Verify a sub-chain (range of events) within a larger chain. The first event's prevHash is trusted as a starting point.

Parameters

events

SignedEvent[]

expectedStartPrevHash

string

publicKeyBase64?

string

Returns

Promise<VerificationResult>