Skip to content

Add support for Plutus scripts on compatible Tx - #1282

Draft
carbolymer wants to merge 2 commits into
masterfrom
mgalazyn/feature/compatible-plutus
Draft

Add support for Plutus scripts on compatible Tx#1282
carbolymer wants to merge 2 commits into
masterfrom
mgalazyn/feature/compatible-plutus

Conversation

@carbolymer

Copy link
Copy Markdown
Contributor

Context

Additional context for the PR goes here. If the PR fixes a particular issue please provide a link to the issue.

How to trust this PR

Highlight important bits of the PR that will make the review faster. If there are commands the reviewer can run to observe the new behavior, describe them.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated. See Running tests for more details
  • Self-reviewed the diff
  • Changelog fragment added in .changes/

@carbolymer carbolymer self-assigned this Aug 8, 2026
@carbolymer
carbolymer force-pushed the mgalazyn/feature/compatible-plutus branch 5 times, most recently from 5011f2d to c6e492e Compare August 11, 2026 15:25
Proposal redeemer pointers were computed against Ord-sorted order
instead of the ledger's OSet insertion order, and certifying pointers
did not count unwitnessed certificates' index slots. Both now follow
the ledger's positional resolution, with regression tests pinning the
behaviour and property tests checking every witnessable category's
pointer against the ledger's own Indexable resolution.

The same fix is applied to the deprecated legacy transaction builder
(createTransactionBody); end-to-end and legacy-bridge regression
properties now cover the deprecated path too.

Also harden getVotes against voter-map gaps, remove the unused
StakeCredential field from the Witnessable WitTxCert constructor, and
correct the redeemer-index ordering documentation.
createCompatibleTx now takes a CompatibleTxBodyContent record with
per-input AnyWitness values, and computes spending redeemer pointers,
witness datums, the script integrity hash, collateral inputs,
transaction metadata and the validity upper bound. Witness indexing is
shared with the experimental transaction builder. Also export the
mkSpendingScriptDatum smart constructor from Cardano.Api.Experimental.
@carbolymer
carbolymer force-pushed the mgalazyn/feature/compatible-plutus branch from c6e492e to 7139bf6 Compare August 12, 2026 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant