All rewards type enabled in the HypurrFi protocol are managed by RewardsDistributor.sol. This is the contract used to check rewards data, user’s rewards balance and for claiming the rewards.

Structs

AssetData

NameType
rewardsmapping(address ⇒ RewardData)
availableRewardsaddress[]
decimalsuint8

RewardsData

NameType
emissionPerSeconduint88
indexuint104
lastUpdateTimestampuint32
distributionEnduint32
usersIndexmapping(address => uint256)

View Methods

getRewardsData

getRewardsData (asset, reward)

Get the data of the reward emitted for the asset.

Call Params

NameTypeDescription
assetaddressaddress of the hy/s/v Tokens for which incentive information is requested
rewardaddressaddress of the reward token

Return Value

TypeDescription
uint104index of the reward token
uint88total reward tokens awarded per second for the given asset pool
uint32unix timestamp of last time the emissions were updated
uint32unix timestamp of when the emissions will end

getRewardsByAsset

getRewardsByAsset (asset)

Get list of rewards activated for the asset

Call Params

NameTypeDescription
assetaddressaddress of the hy/s/vTokens for which incentive rewards list is requested

Return Value

TypeDescription
address[]list of reward token addresses activated for the given asset

Write Methods

claimRewards

claimRewards (assets, amount, to, reward)

Claims single reward type specified by reward for the list of assets. Rewards are received by to address.

Call Params

NameTypeDescription
assetsaddress[]address list of assets for which rewards are being claimed. Pass hy/s/vToken addresses
amountuint256amount to claim, expressed in wei. Pass MAX_UINT to claim entire unclaimed reward balance
toaddressaddress which will receive the reward tokens
rewardaddressaddress of the reward token being claimed.

claimRewardsOnBehalf

claimRewardsOnBehalfOf (assets, amount, user, to, reward)

Claims single reward type specified by reward for the given list of assets on behalf of the user. Rewards are received by to address.

The msg.sender must be an authorised claimer set using setClaimer() method, via Governance Vote.

Call Params

NameTypeDescription
assetsaddress[]address list of assets for which rewards are being claimed. Pass hy/s/vToken addresses
amountuint256amount to claim, expressed in wei. Pass MAX_UINT to claim entire unclaimed reward balance
useraddressaddress of user who’s rewards are being claimed
toaddressaddress which will receive the reward tokens
rewardaddressaddress of the reward token being claimed.

claimRewardsToSelf

claimRewardsToSelf (assets, amount, reward)

Claims single reward type accrued by the msg.sender specified by reward for the given list of assets. Rewards are received by msg.sender .

Call Params

NameTypeDescription
assetsaddress[]address list of assets for which rewards are being claimed. Pass hy/s/vToken addresses
amountuint256amount to claim, expressed in wei. Pass MAX_UINT to claim entire unclaimed reward balance
rewardaddressaddress of the reward token being claimed.

claimAllRewards

claimAllRewards (assets, to)

Claims all rewards for the list of assets. Rewards are received by to address.

Call Params

NameTypeDescription
assetsaddress[]address list of assets for which rewards are being claimed. Pass hy/s/vToken addresses
toaddressaddress which will receive the reward tokens

claimAllRewardsOnBehalf

claimAllRewardsOnBehalfOf (assets, user, to)

Claims all rewards for the given list of assets on behalf of the user. Rewards are received by to address.

The msg.sender must be an authorised claimer set using setClaimer() method, via Governance Vote.

Call Params

NameTypeDescription
assetsaddress[]address list of assets for which rewards are being claimed. Pass hy/s/vToken addresses
useraddressaddress of user who’s rewards are being claimed
rewardaddressaddress of the reward token being claimed.

claimAllRewardsToSelf

claimAllRewardsToSelf (assets)

Claims all rewards accrued by msg.sender for the given list of assets. Rewards are received by msg.sender .

Call Params

NameTypeDescription
assetsaddress[]address list of assets for which rewards are being claimed. Pass hy/s/vToken addresses

ABI