Skip to main content
Version: v2.x

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

Ballot

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

Ballot

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

Ballot

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

IJsonBallot


fromJSON()

static fromJSON(json): Ballot

Defined in: ballot.ts:125

Deserialize into a Ballot instance

Parameters

json

IJsonBallot

the json representation

Returns

Ballot

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

Ballot

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

Ballot

a random Ballot