1
0
forked from mico/idle_moloch
idle_moloch/lib/Baal/contracts/interfaces/IBaalToken.sol
2024-11-01 11:55:27 +01:00

69 lines
1.9 KiB
Solidity

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
interface IBaalToken {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function setUp(string memory _name, string memory _symbol) external;
function mint(address recipient, uint256 amount) external;
function burn(address account, uint256 amount) external;
function pause() external;
function unpause() external;
function paused() external view returns (bool);
function transferOwnership(address newOwner) external;
function owner() external view returns (address);
function balanceOf(address account) external view returns (uint256);
function totalSupply() external view returns (uint256);
function snapshot() external returns(uint256);
function getCurrentSnapshotId() external returns(uint256);
function balanceOfAt(address account, uint256 snapshotId) external view returns (uint256);
function totalSupplyAt(uint256 snapshotId) external view returns (uint256);
// below is shares token specific
struct Checkpoint {
uint32 fromTimePoint;
uint256 votes;
}
function getPastVotes(address account, uint256 timePoint) external view returns (uint256);
function numCheckpoints(address) external view returns (uint256);
function getCheckpoint(address, uint256)
external
view
returns (Checkpoint memory);
function getVotes(address account) external view returns (uint256);
function delegates(address account) external view returns (address);
function delegationNonces(address account) external view returns (uint256);
function delegate(address delegatee) external;
function delegateBySig(
address delegatee,
uint256 nonce,
uint256 expiry,
uint8 v,
bytes32 r,
bytes32 s
) external;
}