Skip to content

Fix requires="simplicity" ordering - #18

Merged
stringhandler merged 2 commits into
mainfrom
st-requires-simplicity
Oct 7, 2026
Merged

stringhandler merged 2 commits into
mainfrom
st-requires-simplicity

Conversation

@stringhandler

Copy link
Copy Markdown
Owner

No description provided.

requires must name simplicity whenever the manifest needs a Simplicity compiler,
so a wallet without one can refuse it up front. Inference only looked at
covenant utxo_types; a tapleaf or simf_fn compute, or a programs entry, also
compiles a program but went unflagged, so validate passed manifests that such a
wallet would accept and then fail partway through. Infer from every program
reference via programs::references.
- resolve(): apply simplicity_hl.version only to files no reference versions,
  after merging per-reference values; it was applied per reference first and
  reported a false conflict against a programs entry's own version.
- A tapleaf/simf_fn compute with "simf": null is rejected; it parsed as naming
  no program, so the reference escaped pinning and requires inference.
- for_script(None) errors that the utxo type has no script, and each lifecycle
  lookup names the type, instead of a confusing 'covenant.simf was not loaded'.
- RefIssue carries a conflict flag; pin_text no longer matches on message text.
- Docs: older readers reject newer-patch fields (format changelog); wallets must
  refuse unpinned manifests, Unpinned::Allow is for dev tooling (decision 0001).
- Remove an unused scratch dir in a programs test.
@stringhandler
stringhandler merged commit 9e2d2a9 into main Oct 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant