Integration with PIR
Thanks to @ValarDragon
This allows the usage of any orchard note prior to the snapshot height, and therefore eliminates the need of the registration window.
A test election has been setup. Details will follow.
zcvlib: v0.6.0
hhanh00 released this 7 minutes ago
0.6.0 (2026-04-20)
Features
- add caption field to election (#148) (3db5882)
- add check_witnesses that verifies that we have enough witness data (#204) (93942cf)
- add docker ci (#156) (b7f2821)
- add get_election rpc to vote server (#131) (564ab39)
- add pir config option (#184) (53bd847)
- add scan progress reporter (#133) (44bb541)
- add zkproof and sign (#139) (af5fbb6)
- ballot validation zkp & signature (#141) (f447f55)
- cache witness checks (#144) (25e13d2)
- check against past cmx_roots (#143) (2a5c9a2)
- check election domain vs ballot domain (#152) (de38810)
- check nf_root & cmx_root (#142) (f4bfa1d)
- client: delete election (#135) (0169edf)
- counter cli app (#178) (91ca16b)
- import notes from spending wallet to voting wallet (#186) (044d1ff)
- optimize check_tx with block production (#147) (e76e78b)
- pir: get root & tree state from servers instead of downloading blocks (#185) (675dfec)
- pir: start adding support for PIR server (5c35133)
- remove multi-election support and nested questions (#140) (47fb188)
- remove start from election def (#195) (ac4c395)
- return voteid from vote() (#150) (8057851)
- save nfs & cmxs (#136) (ff5c516)
- store ballot/action cmx (#137) (8c24ea2)
- switch voting account & delete current data (#176) (89d9a2c)
- update cmx after scan ballots (#189) (082e367)
- vote delegation to a given address (#151) (4166ef8)
- vote with merkle proofs calculated externally (PIR) (#187) (330a8a9)
- warmup circuit validation key (#146) (cd10ef3)
Bug Fixes
- add a prefix v_ to every table (#130) (a141866)
- add election schema version check (#179) (05fb632)
- add nf proof (#193) (ab43f36)
- apphash should be saved to db and recovered at startup (#171) (c0b1e6b)
- avoid scanning blocks if they were scanned before (#134) (d5ee50e)
- cmx witness update after scan_ballots (#190) (8012df0)
- fetch & import in a db tx (#199) (782b46a)
- integration with zkool (#197) (bbb2396)
- notes spent after the snapshot should be usable (#198) (89a5c21)
- only use orchard notes for voting (#188) (3180f95)
- recover election state (domain, nf_root, cmx_tree) on hot restart (#180) (6b07e6b)
- remove hash param from get_election (#149) (598adf0)
- remove old dependency orchard/vote, migrate to orchard-vote (#203) (ab00437)
- rename start → lock (#154) (e98aa13)
- should db commit in Commit and not FinalizeBlock (#174) (dfec1e9)
- use full range nu7 (#153) (11c32f4)
Chores
- add startup message (#158) (b7f2deb)
- add trace message (#145) (8516271)
- installation script (#160) (365d8fe)
- release main (#163) (9e7f992)
- remove dead code (#138) (11fbcb1)
- remove flutter rust bridge (#128) (bd9fdcd)
- split server/client/counter/voter into features (#206) (0d9c69a)
- use refactored orchard vote crates (#200) (78ae8d2)
- use zcash-trees standalone repo (#202) (b9101b2)