Skip to content

feat: add vote and propose redeemer purposes - #464

Open
slowbackspace wants to merge 1 commit into
masterfrom
feat/redeemer-vote-propose-purposes
Open

feat: add vote and propose redeemer purposes#464
slowbackspace wants to merge 1 commit into
masterfrom
feat/redeemer-vote-propose-purposes

Conversation

@slowbackspace

Copy link
Copy Markdown
Contributor

What

Adds the Conway governance purposes vote and propose to the redeemer purpose enums in the three response schemas that carry them: tx_content_redeemers (/txs/{hash}/redeemers), script_redeemers (/scripts/{script_hash}/redeemers), and mempool_tx_content (/mempool/{hash}).

Why

db-sync stores these purposes since Conway, and the API already returns them. Verified on mainnet: a script-DRep vote tx answers /txs/{hash}/redeemers with purpose: "vote", and a parameter-change proposal tx (constitution guardrails execution) with purpose: "propose" — both HTTP 200 in production today. The enums predate Conway, so the schema rejects values the backends emit. This change codifies existing behavior; it enables nothing new.

Includes the CHANGELOG entry, regenerated artifacts (yarn build), and the updated endpoint-schema snapshot. All tests pass.

Downstream

  • blockfrost-backend-ryo: no code change. The SQL selects r.purpose verbatim with no purpose filter, and the response types derive from this package — a dependency bump picks the widening up.
  • Related data issues observable in production, tracked separately from this schema fix: db-sync leaves redeemer.script_hash NULL for vote/propose rows, so /txs/{hash}/redeemers returns an empty script_hash for them and /scripts/{script_hash}/redeemers omits vote/propose executions entirely (the query matches on redeemer.script_hash).

🤖 Generated with Claude Code

db-sync stores the Conway governance purposes since 13.2, and the API
already returns them: a script DRep vote tx answers /txs/{hash}/redeemers
with purpose "vote" and a parameter-change proposal tx with "propose"
(both HTTP 200 on mainnet today). The purpose enums predate Conway, so
the schema rejected values the backends emit.
Widen the enum in the three response schemas that carry it:
tx_content_redeemers, script_redeemers, and mempool_tx_content.
@vercel

vercelBot commented Aug 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
openapiReadyReadyPreviewAug 12, 2026 4:04pm

Request Review

Sign up for freeto 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

@slowbackspace