IMaverickV2VotingEscrowFactory
Functions
legacyVeMav
This function retrieves the address of the legacy Maverick V1 Voting Escrow (veMAV) token. The address will be zero for blockchains where this contract is deployed that do not have a legacy MAV contract deployed.
function legacyVeMav() external view returns (IERC20);
Returns
<none>
IERC20
legacyVeMav The address of the IERC20 legacy veMav token.
isFactoryToken
This function checks whether a provided IMaverickV2VotingEscrow contract address was created by this factory.
function isFactoryToken(IMaverickV2VotingEscrow veToken) external view returns (bool);
Parameters
veToken
IMaverickV2VotingEscrow
The address of the IMaverickV2VotingEscrow contract to be checked.
Returns
<none>
bool
isFactoryToken True if the veToken was created by this factory, False otherwise (bool).
createVotingEscrow
This function creates a new Maverick V2 Voting Escrow (veToken) contract for a specified ERC20 base token.
Once the ve contract is created, it will call name()
and symbol()
on the baseToken
. If those functions do not exist, the ve creation will revert.
function createVotingEscrow(IERC20 baseToken) external returns (IMaverickV2VotingEscrow veToken);
Parameters
baseToken
IERC20
The address of the ERC-20 token to be used as the base token for the new veToken.
Returns
veToken
IMaverickV2VotingEscrow
The address of the newly created IMaverickV2VotingEscrow contract.
votingEscrows
This function retrieves a paginated list of existing Maverick V2 Voting Escrow (veToken) contracts within a specified index range.
function votingEscrows(uint256 startIndex, uint256 endIndex)
external
view
returns (IMaverickV2VotingEscrow[] memory votingEscrows);
Parameters
startIndex
uint256
The starting index for the desired range of veTokens.
endIndex
uint256
The ending index for the desired range of veTokens.
Returns
votingEscrows
IMaverickV2VotingEscrow[]
An array of IMaverickV2VotingEscrow addresses representing the veTokens within the specified range.
votingEscrowsLength
This function retrieves the total number of deployed Maverick V2 Voting Escrow (veToken) contracts.
function votingEscrowsLength() external view returns (uint256 count);
Returns
count
uint256
The total number of veTokens.
votingEscrowAddress
This function retrieves the address of the existing Maverick V2 Voting Escrow (veToken) contract associated with a specific ERC20 base token.
function votingEscrowAddress(IERC20 baseToken) external view returns (IMaverickV2VotingEscrow veToken);
Parameters
baseToken
IERC20
The address of the ERC-20 base token for which to retrieve the veToken address.
Returns
veToken
IMaverickV2VotingEscrow
The address of the IMaverickV2VotingEscrow contract associated with the base token, or the zero address if none exists.
baseTokenParameter
This function retrieves the default base token used for creating new voting escrow contracts. This state variable is only used temporarily when a new veToken is deployed.
function baseTokenParameter() external returns (IERC20);
Returns
<none>
IERC20
baseToken The address of the default ERC-20 base token.
Errors
VotingEscrowTokenAlreadyExists
error VotingEscrowTokenAlreadyExists(IERC20 baseToken, IMaverickV2VotingEscrow veToken);
Last updated