ERC20LinearRewardModuleInfo
ERC20 linear reward module info library
ERC20LinearRewardModuleInfo
this library provides read-only convenience functions to query additional information about the ERC20LinearRewardModule contract.
tokens
(address module) → address[] addresses_, string[] names_, string[] symbols_, uint8[] decimals_
(external)
get all token metadata
Parameters
module
: address of reward module
token
(address module) → address, string, string, uint8
(public)
convenience function to get token metadata in a single call
Parameters
module
: address of reward module
rewards
(address module, bytes32 account, uint256 shares, bytes) → uint256[] rewards_
(public)
generic function to get pending reward balances
Parameters
-
module
: address of reward module -
account
: bytes32 account of interest for preview -
shares
: number of shares that would be used
Returns
- rewards_ estimated reward balances
preview
(address module, bytes32 account) → uint256
(public)
preview estimated rewards
Parameters
-
module
: address of reward module -
account
: bytes32 account of interest for preview
Returns
- estimated reward
runway
(address module) → uint256
(public)
compute effective runway with current budget and reward rate
Parameters
module
: address of reward module
Returns
- estimated runway in seconds
validate
(address module, uint256 shares) → bool, uint256
(public)
check potential increase in shares for sufficient budget and runway
Parameters
-
module
: address of reward module -
shares
: number of shares to be staked
Returns
-
okay if stake amount is within budget for time period
-
estimated runway in seconds
withdrawable
(address module) → uint256
(public)
get withdrawable excess budget
Parameters
module
: address of linear reward module
Returns
- withdrawable budget in tokens