sKlima
Inherits: ERC20Permit, Ownable
State Variables
monetaryPolicy
address public monetaryPolicy;
stakingContract
address public stakingContract;
MAX_UINT256
uint256 private constant MAX_UINT256 = ~uint256(0);
INITIAL_FRAGMENTS_SUPPLY
uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 500_000 * 10 ** 9;
TOTAL_GONS
uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY);
MAX_SUPPLY
uint256 private constant MAX_SUPPLY = ~uint128(0);
_gonsPerFragment
uint256 private _gonsPerFragment;
_gonBalances
mapping(address => uint256) private _gonBalances;
_allowedFragments
mapping(address => mapping(address => uint256)) private _allowedFragments;
Functions
onlyMonetaryPolicy
modifier onlyMonetaryPolicy();
validRecipient
modifier validRecipient(address to);
constructor
constructor() ERC20("Staked Klima", "sKLIMA", 9);
setStakingContract
function setStakingContract(address newStakingContract_) external onlyOwner;
setMonetaryPolicy
function setMonetaryPolicy(address monetaryPolicy_) external onlyOwner;
rebase
function rebase(uint256 olyProfit) public onlyMonetaryPolicy returns (uint256);
balanceOf
function balanceOf(address who) public view override returns (uint256);
circulatingSupply
function circulatingSupply() public view returns (uint256);
transfer
function transfer(address to, uint256 value) public override validRecipient(to) returns (bool);
allowance
function allowance(address owner_, address spender) public view override returns (uint256);
transferFrom
function transferFrom(address from, address to, uint256 value) public override validRecipient(to) returns (bool);
approve
function approve(address spender, uint256 value) public override returns (bool);
_approve
function _approve(address owner, address spender, uint256 value) internal virtual override;
increaseAllowance
function increaseAllowance(address spender, uint256 addedValue) public override returns (bool);
decreaseAllowance
function decreaseAllowance(address spender, uint256 subtractedValue) public override returns (bool);
Events
LogRebase
event LogRebase(uint256 indexed epoch, uint256 totalSupply);
LogMonetaryPolicyUpdated
event LogMonetaryPolicyUpdated(address monetaryPolicy);