Skip to main content

Module chain_anchor

Module chain_anchor 

Source
Expand description

Chain-head external anchoring beyond MockAnchor.

Implements ADR-041 / WEFT-137:

  • FileLedgerAnchor — durable append-only hash-linked local ledger (useful production default until a public ledger is chosen)
  • ExternalLedgerAnchor — wired external-ledger stub (intent log + optional endpoint binding; network POST deferred until a target is selected)
  • AnchoringController — frequency policy (min_interval_secs, min_events_between) over any ChainAnchor

Config surface: clawft_types::config::ChainExternalAnchorConfig on kernel.chain.external_anchor.

Structs§

AnchorAck
The user daemon’s acknowledgement of an accepted statement. Authenticated by the transport only (see the module docs).
AnchorFrequencyPolicy
Frequency policy for external anchoring.
AnchoringController
Policy-gated wrapper around a ChainAnchor backend.
ExternalIntentEntry
Intent-log entry for the external-ledger stub.
ExternalLedgerAnchor
Wired external-ledger stub.
FileLedgerAnchor
Append-only, hash-linked local ledger of chain-head anchors.
FileLedgerEntry
One line of the append-only file ledger (JSONL).
ParentAnchor
The Parent anchor backend.
ParentAnchorConfig
Retry backoff and the submission deadline.

Enums§

AnchorSubmitError
Why a submission failed.

Constants§

ANCHOR_SOURCE
Chain event source of project anchors: project.anchor on the user chain (the daemon’s record of an accepted statement) and project.anchored on the project chain (the acknowledgement). Reserved in project_identity::RESERVED_SOURCES so a chain.append caller cannot forge either.
KIND_ANCHOR
Kind of the user-chain event the user daemon appends per accepted statement.
KIND_ANCHORED
Kind of the project-chain acknowledgement.

Traits§

ParentTransport
Sends statements to the user daemon.