RewardsManager

Manages distribution of POP rewards to Popcorn Treasury, DAO Staking, and Beneficiaries


Functions:

Events:

Graphs:


Function Definitions:

constructor()

constructor(contract IContractRegistry _contractRegistry, contract IUniswapV2Router02 _uniswapV2Router) public 

getRewardSplits()

getRewardSplits() external  returns (uint256[4])

receive()

receive() external 

swapTokenForRewards()

swapTokenForRewards(address[] _path, uint256 _minAmountOut) public  returns (uint256[])

Path specification requires at least source token as first in path and POP address as last Token swap internals implemented as described at https://uniswap.org/docs/v2/smart-contracts/router02/#swapexacttokensfortokens

Parameter NameTypeDescription

_path

address[]

Uniswap path specification for source token to POP

_minAmountOut

uint256

Minimum desired amount (>0) of POP tokens to be received from swap

Return Values:

Return NameTypeDescription

swapped

address[]

in/out amounts uint256 tuple

distributeRewards()

distributeRewards() public 

Contract must have POP balance in order to distribute according to rewardSplits ratio

setRewardSplits()

setRewardSplits(uint256[4] _splits) public 

Values must be within rewardsLimit range, specified in percent to 18 decimal place precision

Parameter NameTypeDescription

_splits

uint256[4]

Array of RewardTargets enumerated uint256 values within rewardLimits range

Events

StakingDeposited

StakingDeposited(address to, uint256 amount)

TreasuryDeposited

TreasuryDeposited(address to, uint256 amount)

InsuranceDeposited

InsuranceDeposited(address to, uint256 amount)

BeneficiaryVaultsDeposited

BeneficiaryVaultsDeposited(uint256 amount)

RewardsDistributed

RewardsDistributed(uint256 amount)

RewardSplitsUpdated

RewardSplitsUpdated(uint256[4] splits)

TokenSwapped

TokenSwapped(address token, uint256 amountIn, uint256 amountOut)

RegionChanged

RegionChanged(contract IRegion from, contract IRegion to)

Graphs

Dependency Graph

Inheritance Graph

Last updated