Search…
⌃K
Links

Voting app

This is an app connector for the Voting app (voting.aragonpm.eth). It only supports The Graph for now.

Usage

To connect a Voting app, you need to pass it to connectVoting():
import connect from '@aragon/connect'
import connectVoting from '@aragon/connect-voting'
const org = await connect('myorg.aragonid.eth', 'thegraph')
const voting = await connectVoting(org.app('voting'))
It extends the App object, which means that every method and property of App is also available on this object.

connect(app, connector)

Connects and returns a Voting instance.
Name
Type
Description
app
App or Promise<App>
The app to extend with connected capabilities.
connector
["thegraph", Object] or "thegraph"
Accepts either a string describing the desired connector (only "thegraph" for now), or a tuple to also pass a configuration object to the connector.
returns
Promise<Voting>
An Voting instance (see below).
It can throw the following errors:
Error type
Description
Either the passed value is not a valid app object, or its name is not voting.
Either the connector configuration format is not valid, or the connector name is not supported.
A subgraph couldn’t be found with the current network. Pass a subgraphUrl directly, or use one of the supported networks.

Voting

An object representing the Voting app, returned by connectVoting(). Use the following API to retrieve its data:

Voting#votes(filters)

Get the list of votes in the Voting app.
Name
Type
Description
filters
Object
Optional object allowing to filter the votes.
filters.first
Number
Maximum number of votes. Defaults to 1000.
filters.skip
Number
Skip a number of votes. Defaults to 0.
returns
Promise<Vote[]>
The list of votes.
This method can throw one of the following errors:
Error type
Description
The response seems incorrect.
The connection to the remote source failed.

Voting#onVotes(filters, callback)

Subscribe to the list of votes in the Voting app. The callback is optional, not passing it will return a partially applied function.
Name
Type
Description
filters
Object
Optional object allowing to filter the votes. See Voting#votes() for details.
callback
(error: Error, votes: Vote[]) => void
A callback that will get called every time the result gets updated.
returns
{ unsubscribe: () => void }
Unsubscribe function.
The error passed to callback can be null (no error) or one of the following:
Error type
Description
The data couldn’t be fetched.
The connection to the remote source failed.

Vote

A single Vote object contains the following properties:
Name
Type
Description
id
String
Unique identifier for the vote.
creator
Address
Address of the vote creator.
metadata
String
An arbitrary string that can be used to describe the vote.
executed
Boolean
Whether the vote has been executed.
executedAt
String
Block timestamp for the vote execution. .
startDate
String
The start date. Expressed in Unix time (seconds).
snapshotBlock
String
Number of the block before the one in which the vote was created.
supportRequiredPct
String
Percentage of positive votes required, compared to the negatives votes, for the vote to pass.
minAcceptQuorum
String
Percentage of positive votes required, compared to the total, for the vote to pass.
yea
String
Total amount of tokens casted to a positive vote.
nay
String
Total amount of tokens casted to a negative vote.
votingPower
String
Amount of tokens available at the block snapshotBlock.
script
String
EVM call script to be executed on vote approval.
And the following methods:

Vote#casts(filters)

Get the list of casted votes.
Name
Type
Description
filters
Object
Optional object allowing to filter the votes.
filters.first
Number
Maximum number of votes. Defaults to 1000.
filters.skip
Number
Skip a number of votes. Defaults to 0.
returns
Promise<Cast[]>
The list of casted votes.
This method can throw one of the following errors:
Error type
Description
The response seems incorrect.
The connection to the remote source failed.

Vote#onCasts(filters, callback)

Subscribe to the list of casted votes. The callback is optional, not passing it will return a partially applied function.
Name
Type
Description
filters
Object
Optional object allowing to filter the votes. See Vote#casts() for details.
callback
(error: Error, votes: Vote[]) => void
A callback that will get called every time the result gets updated.
returns
{ unsubscribe: () => void }
Unsubscribe function.
The error passed to callback can be null (no error) or one of the following:
Error type
Description
The data couldn’t be fetched.
The connection to the remote source failed.

Cast

Represents a casted vote. This object contains the following properties:
Name
Type
Description
id
String
Unique identifier for the casted vote.
vote
String
The casted Vote object.
voter
String
The address that casted the vote.
supports
String
Whether or not the vote is positive.
stake
String
Voter stake for the casted vote.
createdAt
String
Block timestamp for the casted vote.
Do you have a question? Leave your comments here at our Discourse forum 👇