MaverickV2BoostedPositionDynamic
Inherits: IMaverickV2BoostedPosition, BoostedPositionBase
BoostedPosition for movement-mode Maverick V2 AMM liquidity positions. This contract inherits ERC20 and a given user's BP balance represents their pro rata position in the boosted position.
Movement-mode bins can be merged in the V2 AMM. Before any action can be taken on this BP, the user must ensure that the underlying AMM bin has not been merged. If it has been merged, the user must first call migrateBinLiquidityToRoot
.
State Variables
binId
tokenAScale
tokenBScale
Functions
constructor
Constructor does not do any validation of input paramters. This contract is meant to be deployed by a deployer contract and that contract does all of the paramter validations.
checkBinIsRoot
Checks to ensure bin is not merged.
mint
Mints BP LP position to recipient. User has to add liquidity to BP contract before making this call as this mint function simply assigns any new liquidity that this BP possesses in the pool to the recipient. Accordingly, this function should only be called in the same transaction where liquidity has been added to a pool as part of a multicall or through a router/manager contract.
burn
Burns BP LP positions and redeems the underlying A/B token to the recipient.
migrateBinLiquidityToRoot
Migrates all underlying movement-mode liquidity from a merged bin to the active parent of the merged bin. For Static BPs, this function is a no-op and never needs to be called.
getRatios
Array of relative pool bin LP balance of the bins in the BP.
getBinIds
Array of BP binIds.
getTicks
Array of ticks where the underlying BP liquidity exists.
maverickV2AddLiquidityCallback
Last updated