ghost-dao-contracts/src/interfaces/ISTNK.sol
Uncle Fatso f71ae5aebe
implementation of buyback logic
Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
2026-08-25 20:22:02 +03:00

34 lines
1.4 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import {IERC20} from "@openzeppelin-contracts/token/ERC20/IERC20.sol";
interface ISTNK is IERC20 {
error NotStakingContract();
error NotTreasury();
error InsufficientBalance();
error DebtExists();
error NotInitializer();
event LogSupply(uint256 indexed epoch, uint256 totalSupply);
event LogRebase(uint256 indexed epoch, uint256 rebase, uint256 index);
event LogStakingContractUpdated(address stakingContract);
function rebase(uint256 profit_, uint256 epoch_) external returns (uint256);
function increaseAllowance(address spender, uint256 imbalance) external returns (bool);
function decreaseAllowance(address spender, uint256 imbalance) external returns (bool);
function circulatingSupply() external view returns (uint256);
function treasury() external view returns (address);
function sharesForBalance(uint256 amount) external view returns (uint256);
function balanceForShares(uint256 shares) external view returns (uint256);
function index() external view returns (uint256);
function toGhst(uint256 amount) external view returns (uint256);
function fromGhst(uint256 amount) external view returns (uint256);
function debtBalances(address _address) external view returns (uint256);
function changeDebt(
uint256 amount,
address debtor,
bool add
) external;
}