All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
2.4.0 (2024-09-30)
- contracts: add virtual modifiers for poll (0c4806f)
- merkleroot-gatekeeper: added deploy scripts and config (#1822) (0a55bbc)
- merkleroot-gatekeeper: adds a gatekeeper that uses merkle tree (#1821) (1cce59a)
- deploy-maci: sets the maci instance of any gatekeeper (4d5ae24)
- zupass-gatekeeper: event id was stored at the wrong index (#1836) (d5bc146)
2.3.0 (2024-09-05)
- contracts: make poll modifiers virtual (b4af027)
- do not cleanup thread all the time while doing parallel proof gen (#1808) (d683cb3)
- ensure prove task works (#1789) (87762e0)
- added polygon and gnosis to supported networks and benchmark (0a4ead0)
- contracts: extend ids for contract storage and deployment (f711ba9)
- deploy to sepolia and store contracts (1de2d9a)
- update message tree depth programmatically in benchmarks (#1799) (eb1ce58)
2.2.1 (2024-08-19)
- contracts: remove poseidon builders from exports (8890da5)
- contracts: add deploy params type (74252cb)
- contracts: move poseidon creation to compile script (1e9f790)
2.2.0 (2024-08-19)
- contracts: add first registry and payout extensions (d75164b)
- contracts: add virtual modifiers (#1770) (7b98e58)
- contracts: support custom factories for maci test deployment (156f523)
- hats: add hats gatekeeper deployment steps (2a8ac1a)
- storage: add storage path and function to get deployment args (46b7350)
- contracts: use custom factories for maci test deploys (2e8fbca)
- add enum for gatekeepers and voice credits proxy (#1782) (9afb27d)
- contracts: deploy contracts to L2s, store addresses and benchmark message batch size (#1751) (9e771a0)
- contracts: use cwd path for contract storage and config (a78408d)
- deps-dev: bump @types/node from 22.1.0 to 22.2.0 (ac18985)
- deps-dev: bump @types/node from 22.2.0 to 22.4.1 (#1779) (4a929e0)
- deps: bump hardhat from 2.22.7 to 2.22.8 (#1755) (92b30af)
- remove simple payout (049bab7)
2.1.0 (2024-08-07)
- contract verification for maci (#1747) (08a83b6)
- ensure we store all constructor args for the poll contract (#1748) (18dbda3)
2.0.0 (2024-08-06)
- topup: No more topups
- add signer as input for deploy contract with linked libraries (7fbe965)
- allow getContract without hardhat environment (a2ce5e1)
- cli: add sdk command to get eas gatekeeper data (#1701) (bd894d8)
- cli: add start block for signup event parsing (9657b6e)
- contracts: add deployment code for SemaphoreGatekeeper (#1588) (149df59)
- contracts: add deploySemaphoreGatekeeper() (#1628) (e714d5a)
- contracts: add new adapter for lowdb to support browser env (a3c2371)
- contracts: added message processor and tally addresses to the maci contract (#1715) (801b774)
- contracts: allow for dynamic emptyBallotRoots (#1695) (e7aa4dd)
- contracts: implement semaphore gatekeeper (#1579) (d1f744e)
- contracts: tally qv and non-qv optimisations (b0b7b38)
- contract: support qv and non-qv verification keys (a0cce8c)
- coordinator: add coordinator controller (da0b29b)
- coordinator: add crypto and proof generation services (6c9891e)
- coordinator: add websockets support (8442105)
- deploy-task: added zupass gatekeeper to the deploy tasks (bea57e0)
- export merge function and modify package version (#1584) (f6ae34a)
- export pubkey and update description of deployment (c782d24)
- gatekeepers: implement a gitcoin passport gatekeeper (df44f7e)
- gatekeepers: implement a Zupass gatekeeper (3f615fd)
- HatsGatekeepers: add Hats gatekeeper contracts (fd38a5a)
- HatsGatekeepers: add zero-address check to
setMaciInstance()
(88c0bdc) - multiple-polls: allow concurrent polls (14e89ba)
- proof parallelization (#1627) (4e7f9eb)
- store deployment transaction hash in contract storage and add a getter (#1494) (0abbebb)
- subgraph: store poll mode on subgraph (#1620) (29c53dc)
- support deployment without hardhat (dab5e2b)
- use mode instead of flag for voting option (34421de)
- add coordinator public key hash public input (9766bbf)
- contract: fix vkRegistryContract typo (f4caaf0)
- contract: gatekeeper deploy config skip (caf65bb)
- contracts: address @ctrlc03 comments (431a4a7)
- contracts: apply small changes suggested by @kittybest (bb429ae)
- contracts: correctly deploy test contracts (81880b3)
- contracts: ensure
gasPrice
has sufficient value (#1703) (a3d46e8) - contracts: ensure we call setMaci when deploying semaphoreGatekeeper (#1647) (45ed819)
- contracts: fix a deploy error in the hardhat task (#1702) (0c01532)
- contracts: use for-loop instead of async promise (ccb2c14)
- do not accept invalid maci keys (9f9e858)
- hardhat-deploy-tasks: removed topup from deploy scripts (790e6e0)
- publish proof onchain (e813174)
- tests for hats gatekeeper and ownable (9653154)
- config-example: added gitcoin to config example (cbeccee)
- contracts: do not return contract addresses on poll deploy (43d5224)
- contracts: optimize contract tasks and scripts (f9f5722)
- deploy-task: fixed recommendations (3cc00dc)
- deploy-task: renamed numeric representation (9a09a8b)
- deploy-tasks: added recommendation (76c5652)
- fixed-comments: fixed comments (afdd6d8)
- general cleanup, variables/events/functions renaming (b5f5015)
- HatsGatekeepers: split into one file per contract per @0xmad suggestion (a4d1dce)
- maci: remove subsidy feature to simplify further protocol improvements (52fc7c5)
- optimize poll and tally contracts variables (f3b6035)
- prove-task: must get set to true (296bc2c)
- remove-unused-type: remove unused type (491e329)
- tasks: removed params from prove task (c9df22e)
- topup: remove the topup feature (67711d4)
- add @types/snarkjs package (57bf0ed)
- add doc entries for new maci version (currently being developed) (c72a130)
- add forking options (2f0908b)
- add name to gatekeepers and add sdk function (#1639) (30984d0)
- add port as env variable and remove redundant param in testScript (#1577) (71014a9)
- add qv and non-qv key setup during deploy (29f9e17)
- bump to 1.2.2 (e63278f)
- cleanup: remove references to topup (1cda690)
- config: added optimism to config and fixed broken link (#1578) (3a278fb)
- config: added scroll to config and fixed broken links (#1565) (507e60a)
- contracts: add acc queue contract to deployed contracts (b12d8a6)
- contracts: cleanup contracts tests (7f8fc25)
- contracts: contracts optimizations (7f69ddc)
- contracts: fix eas_gatekeeper tests (5bb933c)
- contracts: get rid of bash scripts for prebuild command (3459f4e)
- contracts: move away from infura key to full rpc url (2b4912f)
- contracts: optimization and typo fixes (b0c6fbd)
- contracts: support op sepolia deployment (1dabd76)
- contracts: use deployment helper for deploy commands (8751913)
- deployment: add missing text (#1645) (6444188)
- deployment: deploy to testnets and update docs (799668e)
- deps-dev: bump @types/mocha from 10.0.6 to 10.0.7 (07c3480)
- deps-dev: bump @types/node from 20.11.20 to 20.11.24 (c575eca)
- deps-dev: bump @types/node from 20.11.24 to 20.11.25 (5eb49f9)
- deps-dev: bump @types/node from 20.11.25 to 20.11.28 (81bebaa)
- deps-dev: bump @types/node from 20.11.28 to 20.11.30 (5ef4420)
- deps-dev: bump @types/node from 20.11.30 to 20.12.2 (e7c32d0)
- deps-dev: bump @types/node from 20.12.10 to 20.12.11 (3019c66)
- deps-dev: bump @types/node from 20.12.11 to 20.12.12 (bd0a0a5)
- deps-dev: bump @types/node from 20.12.2 to 20.12.5 (588392f)
- deps-dev: bump @types/node from 20.12.5 to 20.12.7 (f1b00de)
- deps-dev: bump @types/node from 20.12.7 to 20.12.10 (cf5026a)
- deps-dev: bump @types/node from 20.14.10 to 20.14.11 (01564c0)
- deps-dev: bump @types/node from 20.14.11 to 22.1.0 (#1732) (3c4b9d9)
- deps-dev: bump @types/node from 20.14.2 to 20.14.8 (636ac22)
- deps-dev: bump @types/node from 20.14.8 to 20.14.10 (add0ce4)
- deps-dev: bump @types/uuid from 9.0.8 to 10.0.0 (5197bb2)
- deps-dev: bump @typescript-eslint/eslint-plugin (#1728) (a04e234)
- deps-dev: bump typescript from 5.3.3 to 5.4.2 (591c767)
- deps-dev: bump typescript from 5.4.2 to 5.4.3 (a2f5c8a)
- deps-dev: bump typescript from 5.4.3 to 5.4.4 (5e047ea)
- deps-dev: bump typescript from 5.4.4 to 5.4.5 (ea6339d)
- deps-dev: bump typescript from 5.4.5 to 5.5.2 (e2b4d45)
- deps-dev: bump typescript from 5.5.2 to 5.5.3 (c979188)
- deps-dev: bump typescript from 5.5.3 to 5.5.4 (8ed2e2b)
- deps: bump @nomicfoundation/hardhat-ethers from 3.0.5 to 3.0.6 (f0a0869)
- deps: bump @nomicfoundation/hardhat-toolbox from 4.0.0 to 5.0.0 (c403cb4)
- deps: bump ethers from 6.11.1 to 6.12.0 (9db5a93)
- deps: bump ethers from 6.12.0 to 6.12.1 (16b4615)
- deps: bump ethers from 6.13.0 to 6.13.1 (b32694d)
- deps: bump ethers from 6.13.1 to 6.13.2 (#1709) (c9de72e)
- deps: bump hardhat from 2.22.1 to 2.22.2 (397e50b)
- deps: bump hardhat from 2.22.3 to 2.22.4 (481a1e7)
- deps: bump hardhat from 2.22.5 to 2.22.6 (6949eee)
- deps: bump uuid from 9.0.1 to 10.0.0 (13285a7)
- docs: fixed broken links (#1585) (4b2012e)
- eas: mock eas gatekeeper tests (8f3fd14)
- fix typos (96ae030)
- HatsGatekeepers: add new lines in tests (d8cd814)
- HatsGatekeepers: adds natspec to IHats.sol (8793fb3)
- HatsGatekeepers: get hardhat forked network ci tests passing (c04a23e)
- hats: mock hats gatekeeper tests (b744b11)
- optimize message processor and tally (d75b244)
- release: publish 1.2.1 (93564f8)
- release: publish 2.0.0 (04e647d)
- remove max values (8f951b0)
- update @openzeppelin/contracts to 5.0.2 (188b259)
- update hardhat to 2.21.1 (ba6e236)
- use async fs instead of sync version (fb8317e)
- use non-zero start and end blocks for proof generation (59887e7)
1.2.0 (2024-02-23)
- add interfaces and factory contracts with Natspec (579a53f)
- cli: add get poll cli command (e6e2dd3)
- cli: improve cli integration ux (7727ab1)
- contracts: made
nextPollId
public to support third-party apps more easily (c5c6bdb) - contracts: return contract addresses when deploying the poll contract (e94998c)
- eas-gatekeeper: implement an eas gatekeeper for MACI (8b25d94)
- optimize deployment and tally event (185b407)
- poll: add message batch submission (005258b)
- tally: remove ballotsTallied event and add view function (32f840e)
- address messageprocessor issues: address and fixed PR reviews on MessageProcessor.sol (6505fb2)
- address pr reviews: address PR reviews issues for Tally.sol (10f2c7f)
- cli: add auto mining option for hardhat (e5ad345)
- constraint updatesbcommitment: add onlyOwner modifier to updateSbCommitment (5b8ee10)
- contract unit test: fixed unit test suites error caused by contracts refactor (0dca2c0)
- contracts: enforce msgType = 1 for vote messages at the contract level (c547e9c)
- contracts: fix wrong tally processing check (a90bcf8), closes #1137
- contracts: prevent user DoS the stateAq tree merging (d07d3bf)
- contracts: save numSignups after merging maciStateAq inside the Poll contract (4985b2d), closes #1091
- crypto: get rid of potential prototype polution (9b8a97c)
- fetch: fix bugs related to logs fetching (7c7874e), closes #1043 #1044
- fix subsidy.sol issues: address PR on Subsidy.sol (bb68116)
- message-batch-index: remove redundant check (98c00a6)
- publish: ensure we publish the correct files (bc42724)
- return new poll addres (acb38ba)
- signups: ensure we account for the blank state leaf (b1c8c97), closes #947
- contracts: add audit auggestions (415c3da)
- contracts: add natspec across contracts and cleanup (a6ad25e)
- contracts: add public to Tally.isTallied (0d28b7a)
- contracts: add virtual to functions which could be overridden (aefe48a)
- contracts: cleanup unused scripts and organize ts code (458bc6b)
- contracts: optimize code by using immutable variables are removing redundant code (d39d384)
- contracts: optimize publishMessage by using calldata and removing arg change (6f64471)
- contracts: optimize utilities.padAndHashMessage (0cc29ca)
- contracts: refactor contracts code by removing dead code, and various optimizations (7cbe5bd)
- contracts: refactoring deployment scripts (eba33cf), closes #555
- contracts: remove maxValues and batchSizes from Maci.deployPoll() and instead calculate (5393868), closes #1066
- contracts: revisit functions visibility and inheritance (f729336)
- contracts: smart contracts optimizations (b10ff70)
- core: refactor the core package subsidy and tally functions (0af7dd2)
- core: refactor the process message functions and general cleanup (823cacd)
- core: remove unnecessary messageAq from Poll (d3930f7)
- core: remove unnecessary stateAq from MaciState (22a4f28)
- fix ESLint issues (6c0ed97)
- maci-core: refactor directory structure for quick core component access (3aeba77)
- nonqv: optimize tally votes non qv circuit and contracts (ea632a9)
- remove messageaqfactory: remove messageAqFactory; remove redundant pollFactory dependency (dcd1c67)
- zk-kit-poseidon: remove old circomlib dependencies in crypto (0340f79)
- add a badges to README.md (888524b)
- add types check (69f038f)
- apply prettier (8b905c0)
- bundle size optimizations (18da49c)
- changelog: add CHANGELOG of v1.1.1 (f0c315a)
- circuits: refactor and add tests for the circom circuits (4d6419b)
- cli: integrate linter (49571a1)
- cli: optimize bundle size (39268b2)
- cli: reorganize e2e tests and add more tests for cli commands (6000227)
- cli: support install for web apps (3166cdd)
- contract: add contract verification task (ab4718f)
- contract: add deploy script for eas gatekeeper (65d883c)
- contract: add deploy tasks for maci (8b58688)
- contract: apply linter for deploy scripts and contracts (9af9c04)
- contract: disable empty code blocks warnings (f30bda2)
- contracts: add documentation for deployment workflow (243690e)
- contracts: add gas reporter to hardhat config (fd00eb5)
- contracts: add merge signups and messages task (5ee0237)
- contracts: add proof generation for task coordinator (c145883)
- contracts: clarify EASGatekeeper description (301a42b)
- contracts: deploy poll (f3ae8f8)
- contracts: enable linter (5c92154)
- contracts: re-organize smart contract tests in separate files (c7ee31e)
- contracts: refactor and add unit tests to the current suite (32c3485)
- dependencies: update project dependencies and remove redundant ones (4c5ac27)
- deps-dev: bump @types/node from 18.19.6 to 20.10.8 (6645120)
- deps-dev: bump @types/node from 20.10.8 to 20.11.0 (805d253)
- deps-dev: bump @types/node from 20.11.0 to 20.11.2 (45839e8)
- deps-dev: bump @types/node from 20.11.10 to 20.11.16 (8144919)
- deps-dev: bump @types/node from 20.11.16 to 20.11.17 (44de5db)
- deps-dev: bump @types/node from 20.11.17 to 20.11.19 (8d86b32)
- deps-dev: bump @types/node from 20.11.2 to 20.11.5 (7698ede)
- deps-dev: bump @types/node from 20.11.5 to 20.11.10 (a2c445a)
- deps-dev: bump @types/snarkjs from 0.7.7 to 0.7.8 (0d98828)
- deps-dev: bump lerna from 6.6.2 to 8.0.2 (4b150ad)
- deps-dev: bump typescript from 5.2.2 to 5.3.3 (4ec399d)
- deps: bump dotenv from 16.3.2 to 16.4.1 (2430c50)
- deps: bump dotenv from 16.4.1 to 16.4.2 (8431e74)
- deps: bump dotenv from 16.4.2 to 16.4.4 (472c616)
- deps: bump ethers from 6.10.0 to 6.11.0 (815696d)
- deps: bump ethers from 6.11.0 to 6.11.1 (a01f434)
- deps: bump ethers from 6.9.2 to 6.10.0 (dd8b4a0)
- deps: bump hardhat from 2.19.4 to 2.19.5 (40ab10d)
- deps: bump hardhat from 2.19.5 to 2.20.1 (68543a6)
- linter (42ea4f0)
- linter unification (61a8bcd)
- maci: added audit report and amended Contract's README (0c6d28b)
- maci: added README for the circuit package and fixed typo in contract's README (4d0f74b)
- maci: updated docs after review (fd0da34), closes #531 #556
- poll: unify pollId type (21d01ef)
- publish: fix publishing scripts to publish contracts with ceremony params (f27af1c), closes #973
- publishing: remove bash script for empty ballot roots contract (025287c)
- rebased with the dev branch (8165968)
- release: publish 1.1.2 (10b3a85)
- remove
gitHead
field from package.json (d38ba71) - run prettier (d09cd0e)
- run prettier fix after bumping version (e1f85a5)
- topup: implement test cases for the topup feature (7775a8b)
- update docs (d33e7e6)
1.1.2 (2023-01-19)
- contracts: made
nextPollId
public to support third-party apps more easily (c5c6bdb)
- contracts: refactoring deployment scripts (eba33cf), closes #555
- remove messageaqfactory: remove messageAqFactory; remove redundant pollFactory dependency (dcd1c67)
- add a badges to README.md (888524b)
- changelog: add CHANGELOG of v1.1.1 (ea1f0ca)
- maci: added audit report and amended Contract's README (0c6d28b)
- maci: added README for the circuit package and fixed typo in contract's README (4d0f74b)
- maci: updated docs after review (fd0da34), closes #531 #556
1.1.1 (2022-12-03)
- fix insert placeholder leaf bug: fix issue related to first msg leaf (b4b9da1)
- maci.sol: fix "inconsistent restriction on voice credit upper bound" (7a8c5c1)
- maci: amended the
signUp
function to reflect the checks-effects-interaction pattern (d62c7c7), closes #503 - maci: final fix to the tests (51e84f8)
- maci: implemented fixes for several audit issues (6f1fa85), closes #503 #504 #505 #508 #510
- maci: removed unneded max fee calculation (14ee2a5)
- maci: reverted a fix and fixed test suits (8300cc5)
- maci: upgraded minor version and fixed bug in testnet deployment (5ef5ed8), closes #551 #552
- maci: upgraded snarkjs and other dependencies (0ce643a)
- poll.sol,maci.sol: protect messageAq by nothing up my sleeve hash (04f21b3)
- poll: amended
mergeMaciStateAq
to directly store the new root to state (76c991a) - topupcredit.sol: add onlyOnwer modifier (ee0c8a6)
- pollyprocessandtallyer: revert changes (382e435)