-
Notifications
You must be signed in to change notification settings - Fork 6
/
RefactorCoinageSnapshotI.sol
25 lines (23 loc) · 1.48 KB
/
RefactorCoinageSnapshotI.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
import { IRefactor } from "../interfaces/IRefactor.sol";
interface RefactorCoinageSnapshotI {
function factor() external view returns (uint256);
function setFactor(uint256 factor) external returns (bool);
function setSeigManager(address _seigManager) external ;
function burn(uint256 amount) external;
function burnFrom(address account, uint256 amount) external;
function mint(address account, uint256 amount) external returns (bool);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function addMinter(address account) external;
function renounceMinter() external;
function transferOwnership(address newOwner) external;
function snapshot() external returns (uint256 id);
function totalSupplyAt(uint256 snapshotId) external view returns (uint256 amount);
function balanceOfAt(address account, uint256 snapshotId) external view returns (uint256 amount);
function getTotalAndFactor() external view returns (IRefactor.Balance memory, IRefactor.Factor memory);
function getBalanceAndFactor(address account) external view returns (IRefactor.Balance memory, IRefactor.Factor memory);
function getTotalAndFactorAt(uint256 snapshotId) external view returns (IRefactor.Balance memory, IRefactor.Factor memory);
function getBalanceAndFactorAt(address account, uint256 snapshotId) external view returns (IRefactor.Balance memory, IRefactor.Factor memory);
}