Skip to main content

VoteERC20

Methods

BALLOT_TYPEHASH

function BALLOT_TYPEHASH() external view returns (bytes32)

Returns

NameTypeDescription
_0bytes32undefined

COUNTING_MODE

function COUNTING_MODE() external pure returns (string)

See {IGovernor-COUNTING_MODE}.

Returns

NameTypeDescription
_0stringundefined

castVote

function castVote(uint256 proposalId, uint8 support) external nonpayable returns (uint256)

See {IGovernor-castVote}.

Parameters

NameTypeDescription
proposalIduint256undefined
supportuint8undefined

Returns

NameTypeDescription
_0uint256undefined

castVoteBySig

function castVoteBySig(uint256 proposalId, uint8 support, uint8 v, bytes32 r, bytes32 s) external nonpayable returns (uint256)

See {IGovernor-castVoteBySig}.

Parameters

NameTypeDescription
proposalIduint256undefined
supportuint8undefined
vuint8undefined
rbytes32undefined
sbytes32undefined

Returns

NameTypeDescription
_0uint256undefined

castVoteWithReason

function castVoteWithReason(uint256 proposalId, uint8 support, string reason) external nonpayable returns (uint256)

See {IGovernor-castVoteWithReason}.

Parameters

NameTypeDescription
proposalIduint256undefined
supportuint8undefined
reasonstringundefined

Returns

NameTypeDescription
_0uint256undefined

contractType

function contractType() external pure returns (bytes32)

Returns the module type of the contract.

Returns

NameTypeDescription
_0bytes32undefined

contractURI

function contractURI() external view returns (string)

Returns the metadata URI of the contract.

Returns

NameTypeDescription
_0stringundefined

contractVersion

function contractVersion() external pure returns (uint8)

Returns the version of the contract.

Returns

NameTypeDescription
_0uint8undefined

execute

function execute(address[] targets, uint256[] values, bytes[] calldatas, bytes32 descriptionHash) external payable returns (uint256)

See {IGovernor-execute}.

Parameters

NameTypeDescription
targetsaddress[]undefined
valuesuint256[]undefined
calldatasbytes[]undefined
descriptionHashbytes32undefined

Returns

NameTypeDescription
_0uint256undefined

getAllProposals

function getAllProposals() external view returns (struct VoteERC20.Proposal[] allProposals)

Returns all proposals made.

Returns

NameTypeDescription
allProposalsVoteERC20.Proposal[]undefined

getVotes

function getVotes(address account, uint256 blockNumber) external view returns (uint256)

Read the voting weight from the token's built in snapshot mechanism (see {IGovernor-getVotes}).

Parameters

NameTypeDescription
accountaddressundefined
blockNumberuint256undefined

Returns

NameTypeDescription
_0uint256undefined

hasVoted

function hasVoted(uint256 proposalId, address account) external view returns (bool)

See {IGovernor-hasVoted}.

Parameters

NameTypeDescription
proposalIduint256undefined
accountaddressundefined

Returns

NameTypeDescription
_0boolundefined

hashProposal

function hashProposal(address[] targets, uint256[] values, bytes[] calldatas, bytes32 descriptionHash) external pure returns (uint256)

See {IGovernor-hashProposal}. The proposal id is produced by hashing the RLC encoded targets array, the values array, the calldatas array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors accross multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.

Parameters

NameTypeDescription
targetsaddress[]undefined
valuesuint256[]undefined
calldatasbytes[]undefined
descriptionHashbytes32undefined

Returns

NameTypeDescription
_0uint256undefined

initialize

function initialize(string _name, string _contractURI, address[] _trustedForwarders, address _token, uint256 _initialVotingDelay, uint256 _initialVotingPeriod, uint256 _initialProposalThreshold, uint256 _initialVoteQuorumFraction) external nonpayable

Initiliazes the contract, like a constructor.

Parameters

NameTypeDescription
_namestringundefined
_contractURIstringundefined
_trustedForwardersaddress[]undefined
_tokenaddressundefined
_initialVotingDelayuint256undefined
_initialVotingPerioduint256undefined
_initialProposalThresholduint256undefined
_initialVoteQuorumFractionuint256undefined

isTrustedForwarder

function isTrustedForwarder(address forwarder) external view returns (bool)

Parameters

NameTypeDescription
forwarderaddressundefined

Returns

NameTypeDescription
_0boolundefined

name

function name() external view returns (string)

See {IGovernor-name}.

Returns

NameTypeDescription
_0stringundefined

onERC1155BatchReceived

function onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) external nonpayable returns (bytes4)

Parameters

NameTypeDescription
_0addressundefined
_1addressundefined
_2uint256[]undefined
_3uint256[]undefined
_4bytesundefined

Returns

NameTypeDescription
_0bytes4undefined

onERC1155Received

function onERC1155Received(address, address, uint256, uint256, bytes) external nonpayable returns (bytes4)

Parameters

NameTypeDescription
_0addressundefined
_1addressundefined
_2uint256undefined
_3uint256undefined
_4bytesundefined

Returns

NameTypeDescription
_0bytes4undefined

onERC721Received

function onERC721Received(address, address, uint256, bytes) external nonpayable returns (bytes4)

See {IERC721Receiver-onERC721Received}. Always returns IERC721Receiver.onERC721Received.selector.

Parameters

NameTypeDescription
_0addressundefined
_1addressundefined
_2uint256undefined
_3bytesundefined

Returns

NameTypeDescription
_0bytes4undefined

proposalDeadline

function proposalDeadline(uint256 proposalId) external view returns (uint256)

See {IGovernor-proposalDeadline}.

Parameters

NameTypeDescription
proposalIduint256undefined

Returns

NameTypeDescription
_0uint256undefined

proposalIndex

function proposalIndex() external view returns (uint256)

Returns

NameTypeDescription
_0uint256undefined

proposalSnapshot

function proposalSnapshot(uint256 proposalId) external view returns (uint256)

See {IGovernor-proposalSnapshot}.

Parameters

NameTypeDescription
proposalIduint256undefined

Returns

NameTypeDescription
_0uint256undefined

proposalThreshold

function proposalThreshold() external view returns (uint256)

Returns

NameTypeDescription
_0uint256undefined

proposalVotes

function proposalVotes(uint256 proposalId) external view returns (uint256 againstVotes, uint256 forVotes, uint256 abstainVotes)

Accessor to the internal vote counts.

Parameters

NameTypeDescription
proposalIduint256undefined

Returns

NameTypeDescription
againstVotesuint256undefined
forVotesuint256undefined
abstainVotesuint256undefined

proposals

function proposals(uint256) external view returns (uint256 proposalId, address proposer, uint256 startBlock, uint256 endBlock, string description)

proposal index => Proposal

Parameters

NameTypeDescription
_0uint256undefined

Returns

NameTypeDescription
proposalIduint256undefined
proposeraddressundefined
startBlockuint256undefined
endBlockuint256undefined
descriptionstringundefined

propose

function propose(address[] targets, uint256[] values, bytes[] calldatas, string description) external nonpayable returns (uint256 proposalId)

See {IGovernor-propose}.

Parameters

NameTypeDescription
targetsaddress[]undefined
valuesuint256[]undefined
calldatasbytes[]undefined
descriptionstringundefined

Returns

NameTypeDescription
proposalIduint256undefined

quorum

function quorum(uint256 blockNumber) external view returns (uint256)

Returns the quorum for a block number, in terms of number of votes: `supply numerator / denominator`.*

Parameters

NameTypeDescription
blockNumberuint256undefined

Returns

NameTypeDescription
_0uint256undefined

quorumDenominator

function quorumDenominator() external view returns (uint256)

Returns the quorum denominator. Defaults to 100, but may be overridden.

Returns

NameTypeDescription
_0uint256undefined

quorumNumerator

function quorumNumerator() external view returns (uint256)

Returns the current quorum numerator. See {quorumDenominator}.

Returns

NameTypeDescription
_0uint256undefined

relay

function relay(address target, uint256 value, bytes data) external nonpayable

Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of relay is redundant.

Parameters

NameTypeDescription
targetaddressundefined
valueuint256undefined
databytesundefined

setContractURI

function setContractURI(string uri) external nonpayable

Parameters

NameTypeDescription
uristringundefined

setProposalThreshold

function setProposalThreshold(uint256 newProposalThreshold) external nonpayable

Update the proposal threshold. This operation can only be performed through a governance proposal. Emits a {ProposalThresholdSet} event.

Parameters

NameTypeDescription
newProposalThresholduint256undefined

setVotingDelay

function setVotingDelay(uint256 newVotingDelay) external nonpayable

Update the voting delay. This operation can only be performed through a governance proposal. Emits a {VotingDelaySet} event.

Parameters

NameTypeDescription
newVotingDelayuint256undefined

setVotingPeriod

function setVotingPeriod(uint256 newVotingPeriod) external nonpayable

Update the voting period. This operation can only be performed through a governance proposal. Emits a {VotingPeriodSet} event.

Parameters

NameTypeDescription
newVotingPerioduint256undefined

state

function state(uint256 proposalId) external view returns (enum IGovernorUpgradeable.ProposalState)

See {IGovernor-state}.

Parameters

NameTypeDescription
proposalIduint256undefined

Returns

NameTypeDescription
_0enum IGovernorUpgradeable.ProposalStateundefined

supportsInterface

function supportsInterface(bytes4 interfaceId) external view returns (bool)

Parameters

NameTypeDescription
interfaceIdbytes4undefined

Returns

NameTypeDescription
_0boolundefined

token

function token() external view returns (contract IVotesUpgradeable)

Returns

NameTypeDescription
_0contract IVotesUpgradeableundefined

updateQuorumNumerator

function updateQuorumNumerator(uint256 newQuorumNumerator) external nonpayable

Changes the quorum numerator. Emits a {QuorumNumeratorUpdated} event. Requirements: - Must be called through a governance proposal. - New numerator must be smaller or equal to the denominator.

Parameters

NameTypeDescription
newQuorumNumeratoruint256undefined

version

function version() external view returns (string)

See {IGovernor-version}.

Returns

NameTypeDescription
_0stringundefined

votingDelay

function votingDelay() external view returns (uint256)

See {IGovernor-votingDelay}.

Returns

NameTypeDescription
_0uint256undefined

votingPeriod

function votingPeriod() external view returns (uint256)

See {IGovernor-votingPeriod}.

Returns

NameTypeDescription
_0uint256undefined

Events

ProposalCanceled

event ProposalCanceled(uint256 proposalId)

Parameters

NameTypeDescription
proposalIduint256undefined

ProposalCreated

event ProposalCreated(uint256 proposalId, address proposer, address[] targets, uint256[] values, string[] signatures, bytes[] calldatas, uint256 startBlock, uint256 endBlock, string description)

Parameters

NameTypeDescription
proposalIduint256undefined
proposeraddressundefined
targetsaddress[]undefined
valuesuint256[]undefined
signaturesstring[]undefined
calldatasbytes[]undefined
startBlockuint256undefined
endBlockuint256undefined
descriptionstringundefined

ProposalExecuted

event ProposalExecuted(uint256 proposalId)

Parameters

NameTypeDescription
proposalIduint256undefined

ProposalThresholdSet

event ProposalThresholdSet(uint256 oldProposalThreshold, uint256 newProposalThreshold)

Parameters

NameTypeDescription
oldProposalThresholduint256undefined
newProposalThresholduint256undefined

QuorumNumeratorUpdated

event QuorumNumeratorUpdated(uint256 oldQuorumNumerator, uint256 newQuorumNumerator)

Parameters

NameTypeDescription
oldQuorumNumeratoruint256undefined
newQuorumNumeratoruint256undefined

VoteCast

event VoteCast(address indexed voter, uint256 proposalId, uint8 support, uint256 weight, string reason)

Parameters

NameTypeDescription
voter indexedaddressundefined
proposalIduint256undefined
supportuint8undefined
weightuint256undefined
reasonstringundefined

VotingDelaySet

event VotingDelaySet(uint256 oldVotingDelay, uint256 newVotingDelay)

Parameters

NameTypeDescription
oldVotingDelayuint256undefined
newVotingDelayuint256undefined

VotingPeriodSet

event VotingPeriodSet(uint256 oldVotingPeriod, uint256 newVotingPeriod)

Parameters

NameTypeDescription
oldVotingPerioduint256undefined
newVotingPerioduint256undefined