~edwargix/tallyard

v0.4.0-rc1 2 years ago

tallyard v0.4.0-rc1

This is the first rc for the upcoming major release 0.4.0, which changes the
protocol to require that voters provide zero-knowledge proofs that their ballots
are valid.

David Florness (44):
      Remove unused files
      Move device display name code out of main
      Set device name if it's changed
      Move TUI-specific auth code to main package
      Put election filter after main function
      Generalize ElectionsMap to work without a file
      Don't allow zero for inputs
      Don't participate in elections with fewer than two voters
      Don't participate in election if we didn't join
      Implement zero-knowledge proofs for evaluations and summations
      Upgrade gnark and gurvy (now gnark-crypto)
      Remove infinite retries for reading proving keys
      Redact all events (except Sum) we sent once the election is over
      Use one witness for evals circuits
      TUI: notify user when keys are being sent
      Do not proceed to ballot TUI if we're missing proving keys
      Fix lagrange test
      Fix voter JSON marshalling
      Use cached list of hash seeds
      Insert panic to help root out bug
      Use t.Fatal instead of panicking in tests
      Start and join events for keys msgs must belong to the same election
      Use syncer hooks instead of recurring updates for TUI
      Use logger and close TUI (if present) when handling panics
      README: update info on zk-SNARKS
      Bump dependencies
      Better filename and remove unneeded functions
      Move version.go to root module
      Don't lazy load member events
      zk: derive one hash seed by combining each "part" sent by voters
      Upgrade mautrix and tidy dependencies
      Properly display errors from Sync goroutine
      Allow disabling of message redactions
      Log uploads to file
      Properly close file
      Explicitly don't allow showing results of election we're not in
      TUI: properly handle panics inside goroutine
      Send human-readable event on election creation
      Don't panic in event handlers on nil event
      TUI: don't display user ID more than once if user rejoins
      Add hash commitments to messages to ensure integrity
      Upgrade gnark
      Upgrade dependencies
      Use fork of mautrix-go with bugfix