Add CIP-179 v5 linked survey linking and voting - #4184
Conversation
|
Tagging @spannercode @mesudip and @bosko-m for review if possible 馃檹 |
|
83a9678 |
Unwrap label 17 from the singleton metadata map stored by db-sync, while preserving compatibility with already-extracted payloads. Reject maps that do not contain the integer label 17. Read auxiliary data back from the unsigned transaction when assembling the signed transaction. CSL consumes the original auxiliary-data object in Transaction.new; reusing it silently dropped the metadata while retaining its hash in the transaction body. Add independent CBOR fixtures and CardanoProvider regression tests with real coin selection, serialization and signatures. Cover public/sealed survey votes, unrelated/empty/absent metadata, certificate and proposal transactions, and wallet rejection. Leave feature flags unchanged. Validation: 235 frontend tests pass with TZ=UTC; frontend type check, lint and production build pass. Independent cross-repository decoder and actual wallet-callback checks pass. Live Preview acceptance remains pending redeployment.
|
@kusssal apologies for the delay. I just pushed an update to fix a CBOR decoding issue in part of the code I introduced (also in IntersectMBO/govtool-voting-pillar#28). I was looking into the example you deployed at https://pr-4184.dev.gov.tools/ for testing, but it appears the feature flag isn't enabled. Is it possible you can update to the latest commit in this PR and then re-deploy with the feature flag injected through the container entrypoint and enabled? If so, I would be happy to test it with live CIP-179 surveys on Preview myself. |
|
Apologies, but could you pull the latest commit and then redeploy the updated frontend and backend with I was testing the latest deployment and discovered several isseus: Malformed survey presentation data that could break rendering, oversized/stalled downloads, missing expiry and index validation, and clearing optional answers incorrectly blocking submission. All of these are fixed in the latest commit and I am now creating a CIP-179 survey linked to a governance action on Preview for further testing. |
|
Hey @Cerkoryn ,the latest commit is now deployed, with VITE_IS_CIP179_ENABLED=true |
Summary
Supersedes #4152 with an implementation based on the stabilized CIP-179 v5 specification and the published
cip-179package from @mpizenberg's Tessara.This PR focuses on linking, rendering, and submitting survey responses. Tally calculation and results display from the previous proposal are left out of scope for simplicity.
List of changes
VITE_IS_CIP179_ENABLEDVerification
Checklist
I was unfortunately unable to build all of the necessary dependencies to validate all of the changes. But I was able to build the storyboard and visually inspect some example surveys that were attached to governance actions. If this PR passes validation and we can get it merged into https://govtool-preview.cardanoapi.io/ at least, then I would be happy to do some conformance testing of my own with real surveys that are live on Preview and compare them against other tools' CIP-179 implementations.
This PR was constructed with heavy assistance from GPT-5.6 Sol High and I did my best to validate what I could locally. My apologies for not being able to test the entire end-to-end flow however 馃檹