registry/genesis

Genesis: minting a registry’s state token (#157 state-datum-fields).

Responsibility

validateMint is the rule behind the state validator’s Minting mint redeemer: a registry is booted by minting its one state token, named after the seed output it consumes, into a state UTxO at the validator’s own script address whose datum holds the empty trie’s root.

Dependencies

Imports lib (the seed-derived asset name, exact quantity), types and the Merkle Patricia Forestry library (the empty root). Imported by state, whose mint handler dispatches Minting here. It imports no other registry owner: genesis runs no fold.

Assumptions

Invariants

Functions

validateMint(seed: OutputReference, policyId: PolicyId, tx: Transaction) -> Bool

Genesis (#157 state-datum-fields): the four policies are set here and preserved by every fold. Boot is permissionless — there is no owner — so the mint authorizes no particular choice of them; preservation is what gives them their force, not mint-time approval. The consumer pin and its width check are gone with consumer.ak.

Search Document