Minimal Anti Collusion Infrastructure (MACI) / Ballot
Class: Ballot
Defined in: ballot.ts:11
A Ballot represents a User's votes in a Poll, as well as their next valid nonce.
Constructors
new Ballot()
new Ballot(
_numVoteOptions
,_voteOptionTreeDepth
):Ballot
Defined in: ballot.ts:23
Create a new Ballot instance
Parameters
_numVoteOptions
number
How many vote options are available in the poll
_voteOptionTreeDepth
number
The depth of the merkle tree holding the vote options
Returns
Properties
nonce
nonce:
bigint
Defined in: ballot.ts:14
voteOptionTreeDepth
voteOptionTreeDepth:
number
Defined in: ballot.ts:16
votes
votes:
bigint
[] =[]
Defined in: ballot.ts:12
Methods
asArray()
asArray():
bigint
[]
Defined in: ballot.ts:52
Convert in a an array of bigints
Returns
bigint
[]
the ballot as a bigint array
Notice
this is the nonce and the root of the vote option tree
asCircuitInputs()
asCircuitInputs():
bigint
[]
Defined in: ballot.ts:45
Convert in a format suitable for the circuit
Returns
bigint
[]
the ballot as a BigInt array
copy()
copy():
Ballot
Defined in: ballot.ts:68
Create a deep clone of this Ballot
Returns
a copy of the ballot
equals()
equals(
b
):boolean
Defined in: ballot.ts:81
Check if two ballots are equal (same votes and same nonce)
Parameters
b
The ballot to compare with
Returns
boolean
whether the two ballots are equal
hash()
hash():
bigint
Defined in: ballot.ts:36
Generate an hash of this ballot
Returns
bigint
The hash of the ballot
toJSON()
toJSON():
IJsonBallot
Defined in: ballot.ts:112
Serialize to a JSON object
Returns
fromJSON()
static
fromJSON(json
):Ballot
Defined in: ballot.ts:125
Deserialize into a Ballot instance
Parameters
json
the json representation
Returns
the deserialized object as a Ballot instance
genBlankBallot()
static
genBlankBallot(numVoteOptions
,voteOptionTreeDepth
):Ballot
Defined in: ballot.ts:104
Generate a blank ballot
Parameters
numVoteOptions
number
How many vote options are available
voteOptionTreeDepth
number
How deep is the merkle tree holding the vote options
Returns
a Blank Ballot object
genRandomBallot()
static
genRandomBallot(numVoteOptions
,voteOptionTreeDepth
):Ballot
Defined in: ballot.ts:92
Generate a random ballot
Parameters
numVoteOptions
number
How many vote options are available
voteOptionTreeDepth
number
How deep is the merkle tree holding the vote options
Returns
a random Ballot