Repository navigation
Add Plutus V4 support in the Dijkstra era - #1359
Draft
carbolymer wants to merge 1 commit into
Draft
carbolymer wants to merge 1 commit into
carbolymer wants to merge 1 commit into
Conversation
carbolymer
force-pushed
the
mgalazyn/fix/plutus-v4-script-support
branch
from
September 25, 2026 09:28
3de5574 to
c17c005
Compare
This was referenced Sep 25, 2026
carbolymer
force-pushed
the
mgalazyn/fix/plutus-v4-script-support
branch
2 times, most recently
from
September 28, 2026 15:57
8d4d187 to
052dd93
Compare
carbolymer
force-pushed
the
mgalazyn/fix/plutus-v4-script-support
branch
from
September 30, 2026 09:49
052dd93 to
e5b02f2
Compare
carbolymer
changed the base branch from
master
to
mgalazyn/fix/unsupported-plutus-language-error
September 30, 2026 13:48
carbolymer
added this pull request to stack #1364
September 30, 2026 13:48
4 tasks done
carbolymer
force-pushed
the
mgalazyn/fix/plutus-v4-script-support
branch
from
September 30, 2026 13:58
e5b02f2 to
2ac0c0b
Compare
carbolymer
force-pushed
the
mgalazyn/fix/plutus-v4-script-support
branch
from
October 1, 2026 19:25
2ac0c0b to
accd0e8
Compare
carbolymer
force-pushed
the
mgalazyn/fix/plutus-v4-script-support
branch
from
October 1, 2026 20:13
accd0e8 to
0b94a99
Compare
scriptLanguageSupportedInEra and toScriptInEra accept Plutus V4 in Dijkstra, which lets V4 scripts be attached as reference and auxiliary scripts. The round-trip properties for Dijkstra fail until the ledger adds a Plutus V4 field to the transaction witness set. IntersectMBO/cardano-ledger#5403
carbolymer
force-pushed
the
mgalazyn/fix/plutus-v4-script-support
branch
from
October 7, 2026 07:19
0b94a99 to
058cd93
Compare
This branch has not been deployed
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.
scriptLanguageSupportedInEraandtoScriptInEranow accept Plutus V4 in the Dijkstra era.Plutus V4 scripts can be used as reference scripts in transaction outputs and as auxiliary scripts; hashing, JSON encoding and ledger conversion already handled V4.
This PR is stacked on the one that makes cardano-api fail instead of dropping unsupported scripts, and only the Dijkstra commit is reviewed here:
Context
Found while adding Plutus V4 support to cardano-cli:
Blocked on the ledger adding a Plutus V4 field to the Dijkstra transaction witness set:
PlutusV4scripts totransaction_witness_setCDDL cardano-ledger#5403How to trust this PR
A new property checks that createTransactionBody accepts a Plutus V4 reference script on a Dijkstra output and keeps it on the ledger output.
Known limitation: six Dijkstra round-trip tests fail, two in Test.Cardano.Api.Experimental and four in Test.Cardano.Api.CBOR.
The generators now produce Plutus V4 witness scripts, and the ledger's witness set has no field for them yet, so the encoder drops them.
Restricting the generators would hide the same problem for library users, so the tests stay red and this PR stays in draft until the ledger fix lands.
Checklist