Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: anonymous poll joining milestone 2 and 3 (#1750)
* feat(poll): add chain hash features BREAKING CHANGE: message processing is changed * fix(ipoll): add missing parameter * fix(poll-tests): add missing parameter maxMessagebatchSize * feat(poll.ts): add chain hash updating * test(poll tests): add test for checking chain hash computation * feat(poll.ts): add batch hashes array computation * feat(poll.sol): pad zeroes to the maximum size of batch * feat(messageprocessor): update process messages to use chain hash * refactor(vkregistry): refactor function call * feat(processmessages.circom): add chainHash feature in circuits and test for that * test(processmessages): rearrange test for key-change * refactor(mergemessages): refactor functions calls which include mergemessages * refactor(mergemessages): add some more changes about functions call which include mergemessages * test(all tests): fixing tests after refactoring code * refactor(accqueue): remove all calls for accqueue * fix(currentmessagebatchindex): fix message batch indexing * refactor(circuit tests): refactor code for circuit testing * test(ceremonyparams.test): correct constants for CeremonyParams test * perf(processmessages.circom + contracts): optimize last batch padding, remove unused inputs * docs(padlastbatch method): update doc comment * docs(poll.ts): remove stale comments * docs(test comments): fix typos * ci(treedepths mock): modify interface for mocked function * fix(ceremony params test): fix circuit inputs * test(messagevalidator): fix function calls for messagevalidator circuit in tests * chore(comments): fix unusefull comments * refactor(poll.sol): replace external contracts with maci only * perf(messageprocessor.sol): hardcode initialization for batchHashes array * docs(comments): fix some more comments * test(test for pr checks): correct some of tests for PR checks * ci: 🎡 renamed old ProcessMessages_10-2-1-2_test * ci: 🎡 correct rapidsnark/build/prover path * style(reviews): solve some reviews for merging * refactor(messageaqq): remove more message merging and message aqq * style(messageaqq): remove more message merging and message aqq * refactor(messageaqq): remove message aqq from subgraph * test(coordinator): hide NOT_MERGED_MESSAGE_TREE error * test(coordinator): fix test about message merging * test(proveonchain): change chainHash calculation * test(proveonchain): fix chainHashes declaration * test(proveonchain): fix chainHash calculation * test(proveonchain): fix chainHashes calculations * test(proveonchain): fix chainHashes calculation * test(proveonchain): fix loop limit * style(review comments): resolve some of review comments * style(review comments): resolve some of review comments * test(lint:ts): fix e2e test because of lint:ts check * docs(wrong changes): fix wrong changes about documentation that is not in our scope * refactor(batchsizes): change batchSizes struct with messageBatchSize variable * refactor(contracts): rollback to provide external contract references * docs(messageprocessor.sol): fix typo * refactor(messagebatchsize): chenge messageBatchSize location from Params.sol to Poll.sol * refactor(maxmessages): remove maxMessages from maxValues * refactor(sltimestemp): remove slTimestamp from circuits * refactor(review comments): resolve more review comments * fix(subgraph): fix bug about maxVoteOptions dunction call * fix(sltimestamp): fix test for removing slTimestap signal * refactor(promise.all): refactor promise.all for only one async call * fix(subgraph): try to fix subgraph build * revert(.nx folder): remove .nx folder from cli folder * fix(merge): tmp-anon-poll-joining merge * fix(merge): tmp-anon-poll-joining merge * test(ceremonyparams): add poll joining in the test * test(processmessages): add poll joining for the test without key-change test * test(polljoining): add poll joining in the test * test(tallyvotes): add poll joining in the test * test(core): add joinPoll function in tests * style(typo): inclusion proof * style(todo): remove finished todo * style(merge): after merge style * style(return): inline return * style(eslint): remove unnecessary eslint-disable * refactor(joiningcircuitargs): add interface IJoiningCircuitArgs * refactor(joinpoll): async read state file * style(genmacisignup): add function description * refactor(gensignuptree): add IGenSignUpTreeArgs interface * style(polljoining): remove extra inlcudes and comments * feat(pollvkkeys): init * feat(vkregistry): separate set functions (process/tally/poll) * test(pollvkkey): adjust test to setPollVkKey * refactor(vkregistry): use setVerifyingKeys in setVerifyingKeysBatch * refactor(poll): add verifier and vkRegystry in constructor * refactor(poll): put verifier and vkRegistry into extContracts * test(core e2e): fix sanity checks test for incorrect signature * refactor(test): removing only from tests * refactor(macistatetree): use LeanIMT instead of QuinTree * refactor(crypto): export hashLeanIMT from index * feat(joinpoll): use genSignUpTree instead of genMaciStateFromContract * feat(joinpoll cli): add optional parameters * test(coordinator): add pollJoiningZkeyPath in app.test * refactor(joinpoll): prettier * test(coordinator): add joinPoll * fix(poll): joiningCircuitInputs with correct siblings, indices and actualStateTreeDepth * test(integration): add joinPoll * build(coordinator): add COORDINATOR_POLL_ZKEY_NAME * refactor(mergestate): remove Maci from MergeState * test(e2e): test:e2e add joinPoll * test(e2e): test:keyChange add joinPoll * docs(complete documentation): complete documentation of the new workflow * docs(documentation): add v3 docs, revert v2 docs * style(docs): prettier * refactor(joinpoll): add generateAndVerifyProof and getStateIndexAndCreditBalance * docs(blogpost): blogpost cuvering the latest updates * docs(blogpost): kudos to our team members! * style(prettier): blog * fix(joinpoll): index value of the user in the state tree leaves * docs(blog): remove poll-joining --------- Co-authored-by: radojevicMihailo <[email protected]> Co-authored-by: Aleksandar Veljković <[email protected]>
- Loading branch information