IMaverickV2IncentiveMatcherFactory

Functions

incentiveMatcherParameters

function incentiveMatcherParameters()
    external
    view
    returns (IERC20 baseToken, IMaverickV2VotingEscrow veToken, IMaverickV2RewardFactory factory);

veFactory

This function retrieves the address of the MaverickV2VotingEscrowFactory contract.

function veFactory() external view returns (IMaverickV2VotingEscrowFactory);

Returns

NameTypeDescription

<none>

IMaverickV2VotingEscrowFactory

The address of the MaverickV2VotingEscrowFactory contract.

rewardFactory

This function retrieves the address of the MaverickV2RewardFactory contract.

function rewardFactory() external view returns (IMaverickV2RewardFactory);

Returns

NameTypeDescription

<none>

IMaverickV2RewardFactory

The address of the MaverickV2RewardFactory contract.

isFactoryIncentiveMatcher

This function checks if the current contract is a factory contract for IncentiveMatchers.

function isFactoryIncentiveMatcher(IMaverickV2IncentiveMatcher incentiveMatcher)
    external
    view
    returns (bool isFactoryContract);

Parameters

NameTypeDescription

incentiveMatcher

IMaverickV2IncentiveMatcher

The address of the corresponding IncentiveMatcher contract.

Returns

NameTypeDescription

isFactoryContract

bool

True if the contract is a factory contract, False otherwise.

incentiveMatcherForVe

This function retrieves the address of the IncentiveMatcher contract associated with the current veToken.

function incentiveMatcherForVe(IMaverickV2VotingEscrow veToken)
    external
    view
    returns (IMaverickV2IncentiveMatcher incentiveMatcher);

Parameters

NameTypeDescription

veToken

IMaverickV2VotingEscrow

The voting escrow token to look up.

Returns

NameTypeDescription

incentiveMatcher

IMaverickV2IncentiveMatcher

The address of the corresponding IncentiveMatcher contract.

createIncentiveMatcher

This function creates a new IncentiveMatcher contract for a given base token. The basetoken is required to have a deployed ve token before incentive matcher can be created. If no ve token exists, this function will revert. A ve token can be created with the ve token factory: veFactory().

function createIncentiveMatcher(IERC20 baseToken)
    external
    returns (IMaverickV2VotingEscrow veToken, IMaverickV2IncentiveMatcher incentiveMatcher);

Parameters

NameTypeDescription

baseToken

IERC20

The base token for the new IncentiveMatcher.

Returns

NameTypeDescription

veToken

IMaverickV2VotingEscrow

The voting escrow token for the IncentiveMatcher.

incentiveMatcher

IMaverickV2IncentiveMatcher

The address of the newly created IncentiveMatcher contract.

incentiveMatchers

This function retrieves a list of existing IncentiveMatcher contracts.

function incentiveMatchers(uint256 startIndex, uint256 endIndex)
    external
    view
    returns (IMaverickV2IncentiveMatcher[] memory returnElements);

Parameters

NameTypeDescription

startIndex

uint256

The starting index of the list to retrieve.

endIndex

uint256

The ending index of the list to retrieve.

Returns

NameTypeDescription

returnElements

IMaverickV2IncentiveMatcher[]

An array of IncentiveMatcher contracts within the specified range.

incentiveMatchersLength

This function returns the total number of existing IncentiveMatcher contracts.

function incentiveMatchersLength() external view returns (uint256 length);

incentiveMatcherAddress

This function retrieves the address of the IncentiveMatcher contract associated with a given veToken.

function incentiveMatcherAddress(IMaverickV2VotingEscrow veToken)
    external
    view
    returns (IMaverickV2IncentiveMatcher incentiveMatcher);

Parameters

NameTypeDescription

veToken

IMaverickV2VotingEscrow

The voting escrow token for which to retrieve the corresponding IncentiveMatcher.

Returns

NameTypeDescription

incentiveMatcher

IMaverickV2IncentiveMatcher

The address of the IncentiveMatcher contract associated with the veToken.

Errors

VotingEscrowTokenDoesNotExists

error VotingEscrowTokenDoesNotExists(IERC20 baseToken);

Structs

IncentiveMatcherParameters

struct IncentiveMatcherParameters {
    IERC20 baseToken;
    IMaverickV2VotingEscrow veToken;
    IMaverickV2RewardFactory factory;
}

Last updated