Voting Tokens

What is a Voting Token?

A voting token is a token that snapshots the number of votes for any given block number.

The exact interface is defined below:

interface IHasVotes {

    function getCurrentVotes(address account) external view returns (uint96);

    function getPriorVotes(address account, uint256 blockNumber)
        external
        view
        returns (uint96);
}

See: IHasVotes.sol for the interface code.

How can I create a voting token?

See POOF and UBE as examples for easily creating a voting token. Both these tokens are just implemented by constructing a TransferrableVotingToken.

Last updated