Skip to main content

Contract Info

Each graduated token has its own Council contract address. The address is not global — query it from the token’s community page.

Election Functions

startElection

Start a council election. Requires platform EIP-712 signature.

voteElection

Vote for candidates. Tokens are locked until the election ends.
ElectionVoteEntry:

claimElectionTokens

Claim locked tokens after election ends. First caller triggers finalization.

Election Read Functions

getElectionState

Returns:

getCouncilMembers


isCouncilMember


getTop20Candidates

Returns candidates sorted by votes descending. Empty entries padded with address(0).

getCandidateVotes


Governance Functions

startGovernance

Start a governance round. Only callable by contract owner/manager.

createProposal

Create a proposal. Requires platform EIP-712 signature.

voteProposal

Vote on a proposal by locking tokens.
VoteEntry:

finalizeProposal

Finalize a proposal after voting ends.

claimProposalTokens

Claim locked tokens after proposal ends. First caller triggers finalization.

Governance Read Functions

getCouncilState

Returns:

getProposal

Returns:

getProposalOptionVotes

Returns vote counts per option (array index = option index).

getVoterOptionVotes

Returns a voter’s allocated tokens per option.

getVoterLockedAmount

Returns total tokens locked by a voter in a proposal. Claimable after proposal ends.

Tax Functions

setTaxConfig

Only callable by owner/manager. Purpose: 0=None, 1=Burn, 2=Transfer, 3=CouncilTreasury.

getTaxConfig

Returns:

isTaxExempt


Events

Election Events

Proposal Events

Full ABI (JSON)