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) external
createUnlockSchedule
function createUnlockSchedule(struct IGNSStaking.UnlockScheduleInput _schedule, address _staker) external
UnlockManagerUpdated
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)