Comments (5)
Context
IncrementalQuinTree
currently holds onlyStateLeaf
hashes. Suggesting an enhancement to storeStateLeaf
objects directly, removing the need for thestateLeaves
array in MaciState and in Poll object.Objective
Refactor
IncrementalQuinTree
to encapsulateStateLeaf
objects, simplifying the state management withinMaciState
.
Given some thoughts on this and I think it might be counterproductive to do that, as we use the IMT
for other trees aside from the state tree, for instance the message, ballot and vote option tree. Thus accepting a bigint
value as a leaf seems more like a general solution. Any thoughts?
from maci.
Context
IncrementalQuinTree
currently holds onlyStateLeaf
hashes. Suggesting an enhancement to storeStateLeaf
objects directly, removing the need for thestateLeaves
array in MaciState and in Poll object.Objective
Refactor
IncrementalQuinTree
to encapsulateStateLeaf
objects, simplifying the state management withinMaciState
.Given some thoughts on this and I think it might be counterproductive to do that, as we use the
IMT
for other trees aside from the state tree, for instance the message, ballot and vote option tree. Thus accepting abigint
value as a leaf seems more like a general solution. Any thoughts?
I see IncrementalQuinTree
is still used in core package (e.g. see https://github.com/privacy-scaling-explorations/maci//blob/67711d44058831302d4556f12d1972ffacede653/core/ts/Poll.ts#L72). Although this issue is a minor improvement to simplify the code. Not a big deal
from maci.
Context
IncrementalQuinTree
currently holds onlyStateLeaf
hashes. Suggesting an enhancement to storeStateLeaf
objects directly, removing the need for thestateLeaves
array in MaciState and in Poll object.Objective
Refactor
IncrementalQuinTree
to encapsulateStateLeaf
objects, simplifying the state management withinMaciState
.Given some thoughts on this and I think it might be counterproductive to do that, as we use the
IMT
for other trees aside from the state tree, for instance the message, ballot and vote option tree. Thus accepting abigint
value as a leaf seems more like a general solution. Any thoughts?I see
IncrementalQuinTree
is still used in core package (e.g. see https://github.com/privacy-scaling-explorations/maci//blob/67711d44058831302d4556f12d1972ffacede653/core/ts/Poll.ts#L72). Although this issue is a minor improvement to simplify the code. Not a big deal
I don't think I properly understood then? you mentioned that we should store the StateLeaf
object in the IMT, but then on the last comment there's a link to the IMT that stores the user ballots which are not StateLeaf
objects? We also use the tree to store vote options, or just to generate an inclusion proof on the fly
from maci.
@baumstern wondering if you had a look at my latest reply on this
from maci.
Context
IncrementalQuinTree
currently holds onlyStateLeaf
hashes. Suggesting an enhancement to storeStateLeaf
objects directly, removing the need for thestateLeaves
array in MaciState and in Poll object.Objective
Refactor
IncrementalQuinTree
to encapsulateStateLeaf
objects, simplifying the state management withinMaciState
.Given some thoughts on this and I think it might be counterproductive to do that, as we use the
IMT
for other trees aside from the state tree, for instance the message, ballot and vote option tree. Thus accepting abigint
value as a leaf seems more like a general solution. Any thoughts?I see
IncrementalQuinTree
is still used in core package (e.g. see https://github.com/privacy-scaling-explorations/maci//blob/67711d44058831302d4556f12d1972ffacede653/core/ts/Poll.ts#L72). Although this issue is a minor improvement to simplify the code. Not a big dealI don't think I properly understood then? you mentioned that we should store the
StateLeaf
object in the IMT, but then on the last comment there's a link to the IMT that stores the user ballots which are notStateLeaf
objects? We also use the tree to store vote options, or just to generate an inclusion proof on the fly
Sorry, I wrote a reply but didn't posted it 🤦
so..currently, the IncrementalQuinTree
can only hold Leaf
values as bigint
. This limitation forces us to maintain separate object arrays like Ballot[]
or Message[]
in the Poll class
. I suggest allowing IncrementalQuinTree
to handle flexible data types, such as Ballot
or Message
objects. This way, we can eliminate the need for these separate arrays and directly refer to tree members from IncrementalQuinTree
.
from maci.
Related Issues (20)
- Technical Documentation HOT 1
- Anon Poll Joining Blog post HOT 1
- Gas Price miscalculated on deploy HOT 2
- MACI Anonymous Poll Joining and Message Hash Chain Implementation
- Port over qf super site content to maci.pse.dev
- Setup maci use cases entry in the documentation website
- re-design projects built with MACI page HOT 5
- MACI audit v2.0.0
- Proof generation parallelization
- Support websockets for coordinator service
- Coordinator graphql
- Add PollMode to subgraph
- Update contracts for offchain usage
- SDK offchain support
- Coordinator service offchain support
- Deploy subgraph using coordinator service HOT 2
- Research how to send transactions without seed phrase sharing HOT 4
- Implement a simple project registry
- Implement a simple payout contract
- MACI Coordinator Service
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maci.