MaverickV2RewardFactory

Inherits: IMaverickV2RewardFactory

Reward contract factory that facilitates rewarding stakers in BoostedPositions.

State Variables

boostedPositionFactory

This function retrieves the address of the MaverickV2BoostedPositionFactory contract.

IMaverickV2BoostedPositionFactory public immutable boostedPositionFactory;

votingEscrowFactory

This function retrieves the address of the MaverickV2VotingEscrowFactory contract.

IMaverickV2VotingEscrowFactory public immutable votingEscrowFactory;

isFactoryContract

This function checks if a provided IMaverickV2Reward contract is a valid contract created by this factory.

mapping(IMaverickV2Reward => bool) public isFactoryContract;

_rewardsForStakeToken

mapping(IERC20 stakeToken => IMaverickV2Reward[]) private _rewardsForStakeToken;

_allRewards

IMaverickV2Reward[] private _allRewards;

_boostedPositionRewards

_nonBoostedPositionRewards

Functions

constructor

createRewardsContract

This function creates a new MaverickV2Reward contract associated with a specific stake token contract and set of reward and voting escrow tokens.

Parameters

Name
Type
Description

stakeToken

IERC20

Token to be staked in reward contract; e.g. a boosted position contract.

rewardTokens

IERC20[]

An array of IERC20 token addresses representing the available reward tokens.

veTokens

IMaverickV2VotingEscrow[]

An array of IMaverickV2VotingEscrow contract addresses representing the associated veTokens for boosting.

Returns

Name
Type
Description

rewardsContract

IMaverickV2Reward

The newly created IMaverickV2Reward contract.

rewardsForStakeToken

This function retrieves a list of all MaverickV2Reward contracts associated with a specific staking token contract within a specified range.

Parameters

Name
Type
Description

stakeToken

IERC20

Lookup token.

startIndex

uint256

The starting index of the list to retrieve.

endIndex

uint256

The ending index of the list to retrieve.

Returns

Name
Type
Description

<none>

IMaverickV2Reward[]

rewardsContract An array of IMaverickV2Reward contracts associated with the BoostedPosition within the specified range.

rewards

This function retrieves a list of all MaverickV2Reward contracts within a specified range.

Parameters

Name
Type
Description

startIndex

uint256

The starting index of the list to retrieve.

endIndex

uint256

The ending index of the list to retrieve.

Returns

Name
Type
Description

<none>

IMaverickV2Reward[]

rewardsContract An array of IMaverickV2Reward contracts within the specified range.

boostedPositionRewards

nonBoostedPositionRewards

_checkRewards

_slice

Last updated