Skip to content

Add CIP-179 survey support to governance voting#57

Open
Cerkoryn wants to merge 2 commits into
gitmachtl:masterfrom
Cerkoryn:feature/cip-179-v5
Open

Add CIP-179 survey support to governance voting#57
Cerkoryn wants to merge 2 commits into
gitmachtl:masterfrom
Cerkoryn:feature/cip-179-v5

Conversation

@Cerkoryn

Copy link
Copy Markdown

Summary

Adds optional CIP-179 v5 support to the governance scripts.

When a governance action links a public CIP-179 survey, the voting flow can:

  • Detect and validate the survey link in the action metadata.
  • Interactively collect survey answers.
  • Create CIP-179 response metadata using the reusable cip-179 NPM package.
  • Submit the survey response and governance vote in the same transaction.
  • Support the standard CIP-179 question types.
  • Reject conflicting metadata label 17 inputs.
  • Validate linked action metadata against the current deposit and return address.

Existing voting behavior is unchanged for actions without a CIP-179 survey. The optional survey flow requires Node.js 20+ and cip-179@0.2.0.

Testing

This PR was made with the assistance of GPT 5.6 Sol High, but I personally tested end to end on Preview using a CIP-179 survey linked to an Info Action. The governance vote and survey response were successfully submitted together and indexed on-chain.

image

@Cerkoryn

Cerkoryn commented Jul 14, 2026

Copy link
Copy Markdown
Author

Note that this particular survey from @mpizenberg's tool was intentionally limited to a MAXIMUM of 10 answers, which is what I was testing when I inputted numbers 1-11 to violate that constraint.

It isn't exactly clear in the script/screenshot why that constraint was violated, but I could probably just put that in the survey question text next time. I.e....

Which CIPs should be included in the scope for the Dijkstra Hard Fork? (Max 10)

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