To bootstrap liquidity, the protocol provides single-sided liquidity for outcome tokens (YES / NO)
In the code below, liquidity is provided for YES.
// Solidity// Assuming YES-USDC where YES is currency0 and USDC is currency1int24 tickLower =0;int24 tickUpper =600;uint256 liquidity =1e18;PoolManager manager =newPoolManager(500000);// Helpers for interacting with the poolPoolModifyPositionTest modifyPositionRouter =newPoolModifyPositionTest(IPoolManager(address(manager)));modifyPositionRouter.modifyPosition( poolKey, IPoolManager.ModifyPositionParams({ tickLower: tickLower, tickUpper: tickUpper, liquidityDelta:int256(liquidity) }), ZERO_BYTES);
Bootstrapping liquidity by crowd sourcing helps to reduce operational risk. It also allows users to speculate and realise their returns with guaranteed execution due to utilising the AMM model.