Repository navigation
feat(cbor): add PLUTUS_DATA_OPTIONS and use it for UPLC parameters - #606
Merged
Merged
Conversation
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.
AIKEN_DEFAULT_OPTIONSwrote a map as a list of pairs, which is a different value. It was the default forUPLC.applyParamsToScriptandUPLC.dataConstant, so a validator with a map parameter got a different script hash thanaiken blueprint applygives.CARDANO_NODE_DATA_OPTIONSwrote lists definite, which the node does not do, and no preset matched the layout the node, cardano-cli and Aiken write.The new
PLUTUS_DATA_OPTIONSwrites that layout: non-empty lists and constructor fields indefinite, maps definite, empties definite.applyParamsToScriptanddataConstantnow use it by default, and the output is byte-identical toaiken blueprint applyfor a map parameter.AIKEN_DEFAULT_OPTIONSnow equals it. The newCML_DATA_DEFINITE_OPTIONSkeeps the oldCARDANO_NODE_DATA_OPTIONSbytes. Both old names are deprecated. The generalDatadefault and transaction encoding are unchanged. Switching the default waits for the witness set to write datums in the same layout it hashes them, which is a separate issue.The evidence is in #598: cardano-cli and Aiken v1.1.24 vectors, and the applied script hash.
Closes #598