Staking721
Methods
claimRewards
function claimRewards() external nonpayableClaim accumulated rewards.
See {_claimRewards}. Override that to implement custom logic. See {_calculateRewards} for reward-calculation logic.
getRewardTokenBalance
function getRewardTokenBalance() external view returns (uint256 _rewardsAvailableInContract)View total rewards available in the staking contract.
Returns
_rewardsAvailableInContract
uint256
undefined
getRewardsPerUnitTime
function getRewardsPerUnitTime() external view returns (uint256 _rewardsPerUnitTime)Returns
_rewardsPerUnitTime
uint256
undefined
getStakeInfo
function getStakeInfo(address _staker) external view returns (uint256[] _tokensStaked, uint256 _rewards)View amount staked and total rewards for a user.
Parameters
_staker
address
Address for which to calculated rewards.
Returns
_tokensStaked
uint256[]
List of token-ids staked by staker.
_rewards
uint256
Available reward amount.
getTimeUnit
function getTimeUnit() external view returns (uint256 _timeUnit)Returns
_timeUnit
uint256
undefined
indexedTokens
function indexedTokens(uint256) external view returns (uint256)List of token-ids ever staked.
Parameters
_0
uint256
undefined
Returns
_0
uint256
undefined
isIndexed
function isIndexed(uint256) external view returns (bool)Mapping from token-id to whether it is indexed or not.
Parameters
_0
uint256
undefined
Returns
_0
bool
undefined
setRewardsPerUnitTime
function setRewardsPerUnitTime(uint256 _rewardsPerUnitTime) external nonpayableSet rewards per unit of time. Interpreted as x rewards per second/per day/etc based on time-unit.
Only admin/authorized-account can call it.
Parameters
_rewardsPerUnitTime
uint256
New rewards per unit time.
setTimeUnit
function setTimeUnit(uint256 _timeUnit) external nonpayableSet time unit. Set as a number of seconds. Could be specified as -- x * 1 hours, x * 1 days, etc.
Only admin/authorized-account can call it.
Parameters
_timeUnit
uint256
New time unit.
stake
function stake(uint256[] _tokenIds) external nonpayableStake ERC721 Tokens.
See {_stake}. Override that to implement custom logic.
Parameters
_tokenIds
uint256[]
List of tokens to stake.
stakerAddress
function stakerAddress(uint256) external view returns (address)Mapping from staked token-id to staker address.
Parameters
_0
uint256
undefined
Returns
_0
address
undefined
stakers
function stakers(address) external view returns (uint256 amountStaked, uint256 timeOfLastUpdate, uint256 unclaimedRewards, uint256 conditionIdOflastUpdate)Mapping from staker address to Staker struct. See {struct IStaking721.Staker}.
Parameters
_0
address
undefined
Returns
amountStaked
uint256
undefined
timeOfLastUpdate
uint256
undefined
unclaimedRewards
uint256
undefined
conditionIdOflastUpdate
uint256
undefined
stakersArray
function stakersArray(uint256) external view returns (address)List of accounts that have staked their NFTs.
Parameters
_0
uint256
undefined
Returns
_0
address
undefined
stakingToken
function stakingToken() external view returns (address)Address of ERC721 NFT contract -- staked tokens belong to this contract.
Returns
_0
address
undefined
withdraw
function withdraw(uint256[] _tokenIds) external nonpayableWithdraw staked tokens.
See {_withdraw}. Override that to implement custom logic.
Parameters
_tokenIds
uint256[]
List of tokens to withdraw.
Events
RewardsClaimed
event RewardsClaimed(address indexed staker, uint256 rewardAmount)Parameters
staker indexed
address
undefined
rewardAmount
uint256
undefined
TokensStaked
event TokensStaked(address indexed staker, uint256[] indexed tokenIds)Parameters
staker indexed
address
undefined
tokenIds indexed
uint256[]
undefined
TokensWithdrawn
event TokensWithdrawn(address indexed staker, uint256[] indexed tokenIds)Parameters
staker indexed
address
undefined
tokenIds indexed
uint256[]
undefined
UpdatedRewardsPerUnitTime
event UpdatedRewardsPerUnitTime(uint256 oldRewardsPerUnitTime, uint256 newRewardsPerUnitTime)Parameters
oldRewardsPerUnitTime
uint256
undefined
newRewardsPerUnitTime
uint256
undefined
UpdatedTimeUnit
event UpdatedTimeUnit(uint256 oldTimeUnit, uint256 newTimeUnit)Parameters
oldTimeUnit
uint256
undefined
newTimeUnit
uint256
undefined
Last updated