Inherits:
Factory contract that deploys Maverick V2 Boosted Positions.
State Variables
NAME_PREFIX
string private constant NAME_PREFIX = "Maverick BP-";
SYMBOL_PREFIX
string private constant SYMBOL_PREFIX = "MBP-";
_allBoostedPositions
IMaverickV2BoostedPosition[] private _allBoostedPositions;
_boostedPositionsByPool
mapping(IMaverickV2Pool => IMaverickV2BoostedPosition[]) private _boostedPositionsByPool;
poolFactory
Pool factory that all BPs pool must be deployed from.
IMaverickV2Factory public immutable poolFactory;
isFactoryBoostedPosition
Returns whether or not input BP was created by this factory.
mapping(IMaverickV2BoostedPosition => bool) public isFactoryBoostedPosition;
Functions
constructor
Factory will only deploy BPs from the specified pool factory.
constructor(IMaverickV2Factory _poolFactory);
_createParameterValidation
function _createParameterValidation(IMaverickV2Pool pool, uint32[] memory binIds, uint128[] memory ratios, uint8 kind)
internal
view;
createBoostedPosition
Creates BP from the specified input parameters. Requirements:
Pool must be from pool factory
BP kind must be supported by the pool
BinIds have to be sorted in ascending order
ratios[0] must be 1e18; ratios are specified in D18 scale
ratio and binId arrays have to be the same length
movement-mode BPs can only have one binId
static-mode BPs can have at most 24 binIds
function createBoostedPosition(IMaverickV2Pool pool, uint32[] memory binIds, uint128[] memory ratios, uint8 kind)
external
returns (IMaverickV2BoostedPosition boostedPosition);
lookup
Look up BPs by range of indexes.
function lookup(uint256 startIndex, uint256 endIndex)
external
view
returns (IMaverickV2BoostedPosition[] memory returnBoostedPositions);
lookup
Look up BPs by range of indexes.
function lookup(IMaverickV2Pool pool, uint256 startIndex, uint256 endIndex)
external
view
returns (IMaverickV2BoostedPosition[] memory returnBoostedPositions);
_packBinIds
function _packBinIds(uint32[] memory binIds) private pure returns (bytes32[3] memory binIdsBytes);
_packRatios
function _packRatios(uint128[] memory ratios) internal pure returns (bytes32[12] memory ratiosBytes);