IGNSStaking
Interface for GNSStaking contract
Staker
struct Staker {
uint128 stakedGns;
uint128 debtDai;
}StakerInfo
struct StakerInfo {
uint48 lastDepositTs;
uint208 __placeholder;
}RewardState
struct RewardState {
uint128 accRewardPerGns;
uint128 precisionDelta;
}RewardInfo
struct RewardInfo {
uint128 debtToken;
uint128 __placeholder;
}UnlockSchedule
struct UnlockSchedule {
uint128 totalGns;
uint128 claimedGns;
uint128 debtDai;
uint48 start;
uint48 duration;
bool revocable;
enum IGNSStaking.UnlockType unlockType;
uint16 __placeholder;
}UnlockScheduleInput
struct UnlockScheduleInput {
uint128 totalGns;
uint48 start;
uint48 duration;
bool revocable;
enum IGNSStaking.UnlockType unlockType;
}UnlockType
enum UnlockType {
LINEAR,
CLIFF
}owner
function owner() external view returns (address)distributeReward
function distributeReward(address _rewardToken, uint256 _amountToken) externalcreateUnlockSchedule
function createUnlockSchedule(struct IGNSStaking.UnlockScheduleInput _schedule, address _staker) externalUnlockManagerUpdated
event UnlockManagerUpdated(address manager, bool authorized)DaiHarvested
event DaiHarvested(address staker, uint128 amountDai)RewardHarvested
event RewardHarvested(address staker, address token, uint128 amountToken)RewardHarvestedFromUnlock
event RewardHarvestedFromUnlock(address staker, address token, bool isOldDai, uint256[] ids, uint128 amountToken)RewardDistributed
event RewardDistributed(address token, uint256 amount)GnsStaked
event GnsStaked(address staker, uint128 amountGns)GnsUnstaked
event GnsUnstaked(address staker, uint128 amountGns)GnsClaimed
event GnsClaimed(address staker, uint256[] ids, uint128 amountGns)UnlockScheduled
event UnlockScheduled(address staker, uint256 index, struct IGNSStaking.UnlockSchedule schedule)UnlockScheduleRevoked
event UnlockScheduleRevoked(address staker, uint256 index)RewardTokenAdded
event RewardTokenAdded(address token, uint256 index, uint128 precisionDelta)Was this helpful?