-
Notifications
You must be signed in to change notification settings - Fork 19
[Dijkstra] phase 1 requiredTopLevelGuards (stacked PR)
#1010
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
base: master
Are you sure you want to change the base?
[Dijkstra] phase 1 requiredTopLevelGuards (stacked PR)
#1010
Conversation
This closes issue #1000.
and add TODO/reminder for `txRequiredTopLevelGuards` type change
+ Remove contradiction between "ref inputs may refer to earlier tx outputs in the batch" vs "all inputs must exist before applying any tx in the batch." The new text punts the exact constraint to the UTxO rules (where it belongs). + Fix Plutus bullet (old "nor earlier versions" reads like "no Plutus at all"). + Align fees with current Agda (`txFee : InTopLevel …`), but leave room for later CIP-driven updates.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
+ a minimal `UTXOS` rule as a stub/hook (so `UTXO` can call something), + a minimal `UTXO` rule with just the new phase-1 premise (plus an explicit "calls UTXOS"), + a minimal `UTXOW`; just a wrapper over `UTXO` for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
Description
Stacked PR (please review PR #1009 before this one!)
The branch for this PR should be rebased on master once #1009 is merged.
This PR closes issue #1002 by introducing a predicate for testing that required top-level guards are present among the top-level guards and
UTXOSrule as a stub/hook (soUTXOcan call something),UTXOrule with just the new phase-1 premise (plus an explicit "calls UTXOS"),UTXOW; just a wrapper overUTXOfor now.Copilot-generated Description
This pull request introduces significant updates to the Dijkstra-era ledger specification, focusing on support for CIP-0112/0118 guard credentials, batch transaction structure, and the introduction of minimal UTxO and UTxOW transition skeletons. Major changes include updates to transaction body fields, the addition of new phase-1 structural checks for required guards, and the initial scaffolding for Dijkstra's UTxO and witnessing layers. Documentation and changelog entries have also been updated to reflect these changes and clarify the new transaction validity model.
Transaction structure and guard credentials:
TxBody.txRequiredGuardstoTxBody.txGuards(now a set of credentials, not just key hashes) and addedTxBody.reqSignerHashesfor required signers. ThetxRequiredTopLevelGuardsfield is now a list of(Credential × Maybe Datum)pairs to allow duplicates and argument passing. [1] [2]TxInforecord and construction to include the newtxGuardsand usereqSignerHashes, ensuring both phase-1 and guard credentials are available for validation.Guard request grouping and checks:
txGuards.UTxO and UTxOW transition skeletons:
UTxOandUTXOWtransition systems, with explicit phase-1 guard checks inUTXOand a stubbed-out batch processing structure. These files serve as hook points for future full batch semantics and phase-2 execution. [1] [2] [3] [4]UtxoandUtxowmodules.Documentation and changelog:
Checklist
CHANGELOG.md