Skip to content

Singular 0.6.1 — the preprod registry is recorded, and the lifecycles run on it

Choose a tag to compare

@lambdasistemi-ci lambdasistemi-ci released this 15 Sep 14:32
· 1659 commits to main since this release
41861a6

Singular 0.6.1 makes the naming lifecycles work on a public network. A registry is now deployed on preprod and recorded, value by value, in docs/preprod.md: anyone with a preprod node and a funded wallet can verify it and claim a name in it. The register, recovery and retirement runners attached to a deployment now size their funding from live protocol parameters, resume a claim left pending by an earlier run, and finish retirement inside the registry's request windows.

What changed

  • The preprod deployment is published. docs/preprod.md names the deployed registry token, the five applied script hashes, the five reference-script outputs and the boot transactions; prints the deployment verify output verbatim (14 of 14 checks); and lists the transactions of the register, recovery and retirement journeys run against it. The manifest ships as docs/preprod.json with its trie mirror docs/preprod.mirror.json. (#144)
  • Request windows are deployment parameters. deployment deploy --process-time MS --retract-time MS sets how long a request can be accepted and how long its owner can retract it. The defaults stay the short devnet values; the preprod registry uses ten and five minutes. deployment verify checks that the live registry carries the recorded windows. (#131)
  • Funding sized from live protocol parameters. On a public node, runners attached with --deployment fund only the actors a positive lifecycle needs, compute deposits, minimum-ada change and collateral from the node's protocol parameters, and let the node evaluate script execution costs before signing. Inputs reserved for later lifecycle steps are no longer spent to fund a request. An occupied name is refused before any funds move. (#122)
  • Retirement completes inside its window. On an attached run the completion is submitted right after the retirement is confirmed; a completion whose request is already past its processing deadline is refused before building, naming the deadline and the chain tip. On devnet the custody refusal probes still run before completion. (#131)
  • A pending claim is resumed, not abandoned. An attached register-rows run that finds a live request and claim for its spelling classifies the request by phase from the chain tip: still acceptable, it folds it; inside the retract window, it retracts it and claims again; past both, it rejects it permissionlessly (refund to the requester) and claims again. (#124, #125)
  • Confirmation waits follow the transaction's validity. A runner waits for a transaction until its validity upper bound plus a two-minute margin, measured in chain slots, instead of a fixed 300 seconds. Transactions without an upper bound keep the fixed wait. (#124)
  • Second observation of each submission. On an external node, every submission that keeps evidence is also sent to the Koios preprod API (Koios is a public Cardano query service), and its answer is stored next to the transaction bytes. The connected node's verdict remains the only verdict. The evidence directory is now created before that write. (#124, #127)
  • Release machinery: release pages open with the version's own changelog section and the archive carries usage instructions (#121); design records for earlier changes added under specs/.

Use it

  1. Download singular-onchain-0.6.1.tar.gz and SHA256SUMS (it also covers singular-docs-0.6.1.tar.gz), run sha256sum --check SHA256SUMS, extract the on-chain archive and run bash verify-identities.sh inside it.
  2. Local devnet: follow README.md in the archive. The runners use Nix.
  3. Your own preprod node and wallet: https://github.com/lambdasistemi/singular/blob/v0.6.1/docs/consumer-onboarding.md
  4. The shared preprod registry: https://github.com/lambdasistemi/singular/blob/v0.6.1/docs/preprod.md. Its manifest docs/preprod.json and trie mirror docs/preprod.mirror.json are in the documentation archive. Run nix run .#deployment -- verify --deployment preprod.json, then nix run .#register-rows -- --deployment preprod.json --spelling <your-name>, each with your --node-socket, --network-magic 1 and --wallet-skey. Keep the mirror next to the manifest: a fold needs the trie it records. alice is already taken there, so a run asking for it is refused by design.

Limits

The preprod page records the second deployment. The first preprod registry, booted with a 120-second request window, holds a retired name (rt-over) that reached custody after its window closed and cannot complete (#130).

Full list of changes: v0.6.0...v0.6.1