Skip to content

fix(builder): resolve committee cert redeemers to their certificate index - #714

Open
emmanuel-musau wants to merge 2 commits into
mainfrom
fix/committee-cert-redeemer-index
Open

emmanuel-musau wants to merge 2 commits into
mainfrom
fix/committee-cert-redeemer-index

Conversation

@emmanuel-musau

Copy link
Copy Markdown
Collaborator

A Plutus-script committee cold credential could not authorize a hot credential or resign. authCommitteeHot and resignCommitteeCold store the redeemer under cert:{coldCredentialHash}, but neither the redeemer index lookup in assembly nor the certificate index map in evaluation matched the committee cold credential, so evaluation returned no results and the build failed.

Both lookups now go through one certCredential helper, which returns the stake, DRep or committee cold credential of a certificate. certScriptHashHex builds on it too, so one function knows which credential governs each certificate.

The second commit makes assembly fail when a redeemer has no index, for every tag, instead of logging a warning and leaving the redeemer out of a transaction the node would reject. mintAssets registered a redeemer for a policy whose amounts were all zero, which never enters the mint, so it now registers a policy only once it has a non-zero amount.

Certificates that share one credential still share one cert:{hash} redeemer; that is #713.

Closes #518

@emmanuel-musau emmanuel-musau self-assigned this Oct 26, 2026
@emmanuel-musau emmanuel-musau added the bug Something isn't working label Nov 13, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

txBuilder: committee cert redeemers are never resolved to a certificate index

1 participant