Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Babbage isWellFormed check #2713

Closed
JaredCorduan opened this issue Mar 30, 2022 · 0 comments · Fixed by #2717
Closed

Babbage isWellFormed check #2713

JaredCorduan opened this issue Mar 30, 2022 · 0 comments · Fixed by #2717
Assignees
Labels

Comments

@JaredCorduan
Copy link
Contributor

There is a isWellFormed check in the Babbage formal spec, Figure 6: UTxO with witnesses inference rules for Tx, which is not clearly being checked in the implementation. The situation is a bit confusing due to the fact that these checks are spread out in the ledger code base. We need to make sure that we are properly checking everything.

The current state of things seems to be:

scripts

  • The function isScriptWellFormed checks if Plutus scripts are well-formed. This check is done implicitly by scripts which are run.
  • The isScriptWellFormed check is wrapped in the ledger code by validScript.
  • validScript is only called to validate the auxiliary data. (for example, see here in Alonzo).
  • We are not checking that script references are well-formed.
  • We are not checking that failed scripts (which are marked as thus in the transaction) are well-formed. This should be a phase 1 failure.

datums

  • Datums are completely guarded by the wire format, including the new inline datums in babbage.

Action items:

  • check the details above
  • fix the two missing checks above
  • find a coherent way to document that we are doing this check. it probably needs at least a comment in the UTXOW rule.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants