LBPManager

This contract manages a Balancer Liquidity Bootstrapping Pool (LBP) so that only a DAO can deploy and shutdown an LBP. After the LBP is deployed, trading must be enabled. While only the DAO has permission to deploy, shutdown and unwind the LBP, anyone can permissionlessly enable trading after the configured start time. When the LBP is completed (via withdrawFromPool()), the total balance of the LBP tokens will be sent to the DAO treasury.


Functions:

Events:

Graphs:


Function Definitions:

constructor()

constructor(struct LBPManager.Balancer _balancer, string _name, string _symbol, contract IERC20[] _tokens, uint256[] _tokenAmounts, uint256[] _startWeights, uint256[] _endWeights, uint256 _swapFee, uint256 _durationInSeconds, uint256 _startTime, struct LBPManager.DAO _dao) public 
Parameter NameTypeDescription

_balancer

struct LBPManager.Balancer

see struct Balancer - balancer contract addresses

_name

string

PoolConfiguration.name

_symbol

string

PoolConfiguration.symbol

_tokens

contract IERC20[]

PoolConfiguration.tokens

_tokenAmounts

uint256[]

PoolConfiguration.tokenAmounts

_startWeights

uint256[]

PoolConfiguration.startWeights

_endWeights

uint256[]

PoolConfiguration.endWeights

_swapFee

uint256

PoolConfiguration.swapFee

_durationInSeconds

uint256

PoolConfiguration.durationInSeconds

_startTime

uint256

PoolConfiguration.startTime

_dao

struct LBPManager.DAO

see struct DAO - DAO addresses

deployLBP()

deployLBP() external 

Will deploy a balancer LBP. Can only be called by DAO.agent address

enableTrading()

enableTrading() external 

withdrawFromPool()

withdrawFromPool() external 

pause()

pause() external 

unpause()

unpause() external 

Events

SwapEnabled

SwapEnabled(bool enabled)

CreatedPool

CreatedPool(address poolAddress)

JoinedPool

JoinedPool(bytes32 poolID)

ExitedPool

ExitedPool(bytes32 poolID)

Graphs

Dependency Graph

Inheritance Graph

Last updated