Skip to main content

IStaking20

Methods

claimRewards

function claimRewards() external nonpayable

Claim accumulated rewards.

getStakeInfo

function getStakeInfo(address staker) external view returns (uint256 _tokensStaked, uint256 _rewards)

View amount staked and total rewards for a user.

Parameters

NameTypeDescription
stakeraddressAddress for which to calculated rewards.

Returns

NameTypeDescription
_tokensStakeduint256undefined
_rewardsuint256undefined

stake

function stake(uint256 amount) external payable

Stake ERC721 Tokens.

Parameters

NameTypeDescription
amountuint256Amount to stake.

withdraw

function withdraw(uint256 amount) external nonpayable

Withdraw staked tokens.

Parameters

NameTypeDescription
amountuint256Amount to withdraw.

Events

RewardsClaimed

event RewardsClaimed(address indexed staker, uint256 rewardAmount)

Emitted when a staker claims staking rewards.

Parameters

NameTypeDescription
staker indexedaddressundefined
rewardAmountuint256undefined

TokensStaked

event TokensStaked(address indexed staker, uint256 amount)

Emitted when tokens are staked.

Parameters

NameTypeDescription
staker indexedaddressundefined
amountuint256undefined

TokensWithdrawn

event TokensWithdrawn(address indexed staker, uint256 amount)

Emitted when a tokens are withdrawn.

Parameters

NameTypeDescription
staker indexedaddressundefined
amountuint256undefined

UpdatedMinStakeAmount

event UpdatedMinStakeAmount(uint256 oldAmount, uint256 newAmount)

Emitted when contract admin updates minimum staking amount.

Parameters

NameTypeDescription
oldAmountuint256undefined
newAmountuint256undefined

UpdatedRewardRatio

event UpdatedRewardRatio(uint256 oldNumerator, uint256 newNumerator, uint256 oldDenominator, uint256 newDenominator)

Emitted when contract admin updates rewardsPerUnitTime.

Parameters

NameTypeDescription
oldNumeratoruint256undefined
newNumeratoruint256undefined
oldDenominatoruint256undefined
newDenominatoruint256undefined

UpdatedTimeUnit

event UpdatedTimeUnit(uint256 oldTimeUnit, uint256 newTimeUnit)

Emitted when contract admin updates timeUnit.

Parameters

NameTypeDescription
oldTimeUnituint256undefined
newTimeUnituint256undefined