Skip to content
This repository has been archived by the owner on Aug 22, 2023. It is now read-only.

feat: QC key aggregate gadget #74

Merged
merged 12 commits into from
Jul 11, 2023
Merged

feat: QC key aggregate gadget #74

merged 12 commits into from
Jul 11, 2023

Conversation

mrain
Copy link
Contributor

@mrain mrain commented Jun 28, 2023

closes: #71

  • Added: QC key aggregation gadgets for short Weierstrass curve points
  • Unified key aggregation gadget interfaces

@mrain mrain requested a review from chancharles92 June 28, 2023 20:14
@mrain mrain changed the title Qc key agg new feat: qc key aggregate gadget in short Weierstrass form Jun 28, 2023
@mrain mrain changed the title feat: qc key aggregate gadget in short Weierstrass form feat: QC key aggregate gadget in short Weierstrass form Jun 28, 2023
src/circuit/qc_keyagg_sw.rs Outdated Show resolved Hide resolved
src/circuit/qc_keyagg_sw.rs Outdated Show resolved Hide resolved
src/circuit/qc_keyagg_sw.rs Outdated Show resolved Hide resolved
src/circuit/qc_keyagg_sw.rs Outdated Show resolved Hide resolved
@mrain mrain changed the title feat: QC key aggregate gadget in short Weierstrass form feat: QC key aggregate gadget Jul 10, 2023
Copy link
Contributor

@chancharles92 chancharles92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job and LGTM, only 2 minor comments

src/circuit/qc_keyagg.rs Show resolved Hide resolved
src/circuit/qc_keyagg.rs Outdated Show resolved Hide resolved
src/circuit/qc_keyagg.rs Show resolved Hide resolved
src/circuit/qc_keyagg.rs Show resolved Hide resolved
@mrain mrain merged commit e9bda5c into main Jul 11, 2023
@mrain mrain deleted the qc-key-agg-new branch July 11, 2023 14:19
alxiong added a commit that referenced this pull request Jul 21, 2023
* refactor: make stake table impl generic over key type

* fix err

* feat: QC key aggregate gadget (#74)

* update to the newest interface

* refactor keyagg gadget

* update doc

* update test name

* public inputs

* remove cargo.lock

* refactor qc gadgets

* refactor qc gadgets

* remove branch from jellyfish deps

* updated comments

* more comments

---------

Co-authored-by: Chengyu Lin <linmrain@gmail.com>
alxiong added a commit that referenced this pull request Jul 27, 2023
…#66)

* reorg qc trait and impl

* rename: QCValidation->QC, BitvectorQuorumCertificate->BitVectorQC, ::Proof->::QC, partial_sign->sign, active_keys->signers

* add QC::trace() API

* remove CheckedType since it's unused (and unclear why we need it)

* add back check()->Result<QuorumSize>

* feat: introduce trait StakeTableScheme

* refactor: move most ST methods under trait impl

* chore: renaming from pending,frozen,active to head,epoch_start,last_epoch_start

* fix: add Cargo.lock to avoid CI error

* use concrete StakeTableError instead of Self::Error

* feat: implement an iter for PersistentMerkleNode

* refactor: make stake table impl generic over key type (#81)

* refactor: make stake table impl generic over key type

* fix err

* feat: QC key aggregate gadget (#74)

* update to the newest interface

* refactor keyagg gadget

* update doc

* update test name

* public inputs

* remove cargo.lock

* refactor qc gadgets

* refactor qc gadgets

* remove branch from jellyfish deps

* updated comments

* more comments

---------

Co-authored-by: Chengyu Lin <linmrain@gmail.com>

* wip: using generic ST api instead of StakeEntry

* use IntoFields for VerKey, fix test to avoid projective coordinate mismatch

* repin to jellyfish main

* accept IntoIter instead of Vec

* move simple_lookup to trait StakeTableScheme

---------

Co-authored-by: Chengyu Lin <linmrain@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Integrate SW curve addition circuit into QC key aggregation circuit
2 participants