Repository navigation
Conversation
Generate PlutusV3/V4 policies for PLC 1.1.0 and 1.2.0, including filter boundaries, complete Value comparisons and size profiles. Add spending validators that exercise keep/drop duality and asset counts on the state input and its continuing output. Refs IntersectMBO/plutus-private#2406
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Generate policies for
policies,keepPolicies,dropPoliciesandassetCountfor PlutusV3/V4 with PLC 1.1.0/1.2.0. The semantic cases check complete filter results, policy ordering, ADA, negative quantities and cancellation, and the 256/257 input-list boundary. Six profiles vary distinct asset counts across one policy and multiple policies.A spending validator checks the builtins on its own input and continuing output. Its two redeemer modes preserve either a chosen protocol policy or all native assets while allowing ADA to change. Both check keep/drop reconstruction and asset-count partitioning.
Source validation passed: build, formatting, HLint and pre-commit hooks; runtime builtin retention and PLC headers in all 148 envelopes; 144 offline policy expectations; 74 offline checks on hand-built spending contexts; and 48 negative-wrapper mutations.
The companion cardano-node-tests run passed 2 tests and 822 subtests (768 Value, 54 multiIndexArray), with no failures, errors or skips, in 672.38 seconds. It exercised all four ledger/PLC combinations, including confirmed state transitions with 5/20/68 Value entries, both restriction modes, invalid transitions, ADA increases/decreases, whole-script budgets and CPU/memory boundaries. Perturbing the 14 new cost-model parameters on compiled policies checked 224 exact resource deltas. All 148 fixtures match this source commit.
The run used the experimental Dijkstra/PV12 node/CLI integration pinned to Plutus
1ef5a0eef37772e35b1e587f7a3b0afa61be4358, complete 369-entry V3/V4 models andpolicyid.patch. db-sync was unavailable, so its optional checks did not run. The tests need batch-7 support and the 256-entry filter limit from IntersectMBO/plutus#8013. The compiler uses CHaP Plutus 1.72; its released evaluator predates that limit.Refs IntersectMBO/plutus-private#2406