Validator API reference

A contributor changing a registry validator — a refusal in the fold, the request exit, a shared type — wants to click a module and land on its real interface: every public function, type and constant with the documentation its source carries, and a link to the lines that define it, for exactly the validators this repository ships. This page is the entry point of that reference: the pages the pinned aiken docs generates from the onchain/ Aiken project, rebuilt with the documentation site from the same source tree.

Encoded requests and supported operations

The permanent first-milestone contract accepts insertActive (registration) and updateTerminal (permanent termination). The shared request datum and redeemer types still encode all seven edges. Encoding an action does not make it supported: witnessTerminal, insertAbsent, updateActive, deleteAbsent and deleteActive are rejected by the permanent state validator, including independently constructed requests and an excluded member of a mixed batch.

The canonical state, witness, registry/admission, registry/modify and registry/fold modules implement this one active contract. The earlier broader implementations and success evidence are archived on preserve/m2/pre-m1-source-removal; they are not current permanent contract support. The witness policy checks state-validator co-presence, so transaction admission also requires the state validator. A raw terminal-policy representation or a fixture-only pure burn does not enable terminal witnessing. The candidate evidence records compiled refusal controls and their setup, reachability and live-comparison limits.

What this reference contains

Every module listed below has a generated page; the reference's own index links them all and carries a search over their members. On this site each link opens the generated page; read from the repository, it opens the source file at the revision you are viewing. Inside a generated page, each member's "view source" link opens the lines it documents at the commit the site was built from.

The state validator and its owners — how each rule is divided and which way the dependencies run is on the state validator owners page:

The fixed admission boundary:

The shared vocabulary and the other validators:

  • lib — the edge table, the approval name and the named refusal reasons
  • types — the datum, redeemer and request types
  • shared — reading state from inputs and the phase windows
  • request — the request validator and its retraction refusal
  • registry_pin — the pinned state hash shared by the witness and the open-datum application
  • cage — the phase predicates the property tests use

Test support, documented because it is public to the test modules:

What it leaves out

A module gets a page when it declares a public definition. Test and property modules are not documented, and four modules declare nothing public — the open approval policy, the witness and staking validators and the cage_vectors table — so their sources are their reference. The open-datum application's validators under applications/open-datum/onchain/ are a separate Aiken project and have no generated reference on this site. The naming application's validators under naming-onchain/ are a separate Aiken project and have no generated reference on this site. Members that belong to Aiken's standard library link to its own published documentation.

The documentation check fails when this list and the generated extent disagree in either direction, when a generated page or the source it was generated from no longer matches the digest recorded at build time, and when a source link names another repository or revision.