You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
1.1 KiB
24 lines
1.1 KiB
// SPDX-License-Identifier: MIT
|
|
|
|
pragma solidity ^0.8.0;
|
|
|
|
import "../IERC20.sol";
|
|
|
|
interface IERC20Votes is IERC20 {
|
|
struct Checkpoint {
|
|
uint32 fromBlock;
|
|
uint224 votes;
|
|
}
|
|
|
|
event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);
|
|
event DelegateVotesChanged(address indexed delegate, uint256 previousBalance, uint256 newBalance);
|
|
|
|
function delegates(address owner) external view returns (address);
|
|
function checkpoints(address account, uint32 pos) external view returns (Checkpoint memory);
|
|
function numCheckpoints(address account) external view returns (uint32);
|
|
function getCurrentVotes(address account) external view returns (uint256);
|
|
function getPriorVotes(address account, uint256 blockNumber) external view returns (uint256);
|
|
function getPriorTotalSupply(uint256 blockNumber) external view returns(uint256);
|
|
function delegate(address delegatee) external;
|
|
function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) external;
|
|
}
|
|
|