Releases: Unirep/Unirep
v2.0.1
What's Changed
- chore: remove 2.0.0-alpha to 2.0.0-beta-3 doc by @vivianjeng in #581
- fix(circuits): fix @types/snarkjs dependency by @vivianjeng in #582
Full Changelog: v2.0.0...v2.0.1
v2.0.0
What's Changed
- Keys are finished phase 2 trusted setup: https://ceremony.unirep.io/
- doc: update doc, update package versions by @vivianjeng in #569
- fix(doc): update subgraph version by @vivianjeng in #570
- fix: fix install instruction, fix *.test.ts by @vivianjeng in #571
- chore: add input range check by @vivianjeng in #575
- fix(core): fix query nullifiers from synchronizer by @vivianjeng in #576
- chore: bump version and fix dependencies version by @vivianjeng in #579
Full Changelog: v2.0.0-beta-6...v2.0.0
v2.0.0-beta-6
What's Changed
- Update doc by @vivianjeng in #561
- Subgraph by @vivianjeng in #505
- doc: remove zkevm deployment by @vivianjeng in #563
- doc: update subgraph deployment by @vivianjeng in #564
- doc: add unirep voting example doc by @joyqvq in #556
- chore: Importing @types/snarkjs by @FoodChain1028 in #562
- fix(core): fix schema by @vivianjeng in #566
- feat: add genesis block as configuration in synchronizer by @ryanycw in #567
New Contributors
Full Changelog: v2.0.0-beta-5...v2.0.0-beta-6
v2.0.0-beta-5
What's Changed
- minor ui updates and adding audit by @ChialiT in #514
- feat(docs): new home page by @vimwitch in #516
- fix(contracts): fix dependencies by @vivianjeng in #517
- 445 synchronization by @0xWOLAND in #487
- fix(circuits): fix web prover link by @vivianjeng in #520
- docs: add subgraph descriptions by @vivianjeng in #518
- update versions by @vivianjeng in #524
- Update pkg by @vivianjeng in #525
- add matomo for web tracking by @CJ-Rose in #527
- fix: contract config returns wrong value for replFieldBits by @sumitvekariya in #538
- doc: update PSE link and logo by @vivianjeng in #540
- Update circuits version by @FoodChain1028 in #537
- Re-use Pairing library by @sorag20 in #544
- Update circuits to semaphore v4 by @FoodChain1028 in #543
- Fix semaphore v4 by @vivianjeng in #546
- Add UniRepVoting as an example by @joyqvq in #536
- Update benchmark scripts by @vivianjeng in #496
- fix(core): fix schema for indexed db by @vivianjeng in #550
- Add Chain ID in proofs by @vivianjeng in #547
- feat(contracts): verifier helpers can read unirep contract by @vivianjeng in #549
- fix(core): set longer epoch length in tests by @vivianjeng in #557
- docs: fix typos by @GoodDaisy in #558
- Add typedoc by @vivianjeng in #555
- 2.0.0 beta 5 by @vivianjeng in #559
- fix: fix yarn lock by @vivianjeng in #560
New Contributors
- @sumitvekariya made their first contribution in #538
- @FoodChain1028 made their first contribution in #537
- @sorag20 made their first contribution in #544
- @joyqvq made their first contribution in #536
- @GoodDaisy made their first contribution in #558
Full Changelog: v2.0.0-beta-4...v2.0.0-beta-5
v2.0.0-beta-4
- Contract deployment: Testnet deployment 🧩
- Circuits have been audited ✨
- Fix epoch tree, multi-attester bug 🐛
- Replacement field has been changed 👓
- 205 bits data (upper bits)
- 48 bits index (lower bits)
- Use verifier helpers instead of verifiers deployed with
Unirep.sol
⛑️ - Remove prover from Synchronizer, prover should be provided in UserState
- Learn more about v2.0.0-beta-4 from documentation 🙌🏻
v2.0.0-beta-3
v2.0.0-beta-2
V2 beta 2 introduces the following major changes
#339 Add support for signup using a custom state tree leaf/initial data
#345 Customize sync poll rate/block count
#351 Add semaphore proof circuit for unirep epoch keys
#367 Multi attester support for synchronizer
#372 Deterministic address deployments
#382 Seal epochs non-interactively (remove ordered merkle tree)
#386 Add history tree, don't reveal from_epoch
in UST
#400 Combine replacement fields and timestamp fields into single field
Problems noted in the internal audit are addressed in this release as well. See #369 for more info.
v2.0.0-beta-1
V2 beta 1 introduces the following changes
#282 Build ordered tree instead of sparse merkle tree (epoch tree), so the epoch key doesn't require to mod TREE_ARITY**TREE_DEPTH
. Uses sealedEpoch
function instead of processing hash chains.
#288 Adds @unirep/test
package
#295 Supports circom 2.1.3
#298 Adds AttesterSignedUp
event
#301 Uses identitySecret
instead of identityNullifier
#303 Allows many attesters to be synced in one Synchronizer, which is used in @unirep/explore
#322 Changes the pos_rep
, neg_rep
, graffiti
, timestamp
fields to a array of data
fields
Pre-built proving keys and a testnet deployment are maintained here.
Breaking API changes:
genEpochKey
andgenUserStateTransitionNullifier
takesidentitySecret
instead ofidentityNullifier
. Identity secret can be computed byimport { ZkIdentity } from '@unirep/utils' const id = new ZkIdentity() const identitySecret = id.secretHash
- Hash chain related functions (
buildHashchain
,processHashchain
,attesterHashchainTotalCount
,attesterHashchainProcessedCount
,attesterHashchain
,...) are all replaced bysealEpoch
,attesterEpochSealed
- The
UserState
object takes aSynchronizer
object during construction.const synchronizer = new Synchronizer({ prover: defaultProver, // a circuit prover unirepAddress: '0xaabbccaabbccaabbccaabbccaabbccaabbccaaaa', provider, // an ethers.js provider }) const state = new UserState(synchronizer, identity)
- the
stop()
function insynchronizer
is now non-async getRep()
,getProvableRep()
,getRepByEpochKey()
has been renamed togetData()
.getProvableData()
,getDataByEpochKey()
2.0.0-alpha-3
V2 alpha 3 introduces a number of changes designed to improve performance of ZK proofs and reduce calldata needed for proof submission onchain.
#210 adds variable arity support for the epoch tree. This reduces the number of constraints by between 10-50% depending on the proof.
#211 fixes a bug with the reputation proof minimum reputation logic.
#216 changes the proofs to accept multiple distinct values in a single public signal.
#232 adds a lite epoch key proof that doesn't include a membership check.
#239 adds a multi-epoch key proof.
Pre-built proving keys and a testnet deployment are maintained here.
Breaking API changes:
- All proof classes have been moved from the
@unirep/contracts
package to the@unirep/circuits
package. getRepByAttester
has been renamed togetRep
, and a new functiongetProvableRep
has been added.- These functions accept only an epoch now.
- The
getVKey
function in theProver
interface is now async.