[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"_CAKE","internalType":"contract IERC20"},{"type":"address","name":"_nonfungiblePositionManager","internalType":"contract INonfungiblePositionManager"},{"type":"address","name":"_WETH","internalType":"address"}]},{"type":"error","name":"DuplicatedPool","inputs":[{"type":"uint256","name":"pid","internalType":"uint256"}]},{"type":"error","name":"InconsistentAmount","inputs":[]},{"type":"error","name":"InsufficientAmount","inputs":[]},{"type":"error","name":"InvalidNFT","inputs":[]},{"type":"error","name":"InvalidPeriodDuration","inputs":[]},{"type":"error","name":"InvalidPid","inputs":[]},{"type":"error","name":"NoBalance","inputs":[]},{"type":"error","name":"NoLMPool","inputs":[]},{"type":"error","name":"NoLiquidity","inputs":[]},{"type":"error","name":"NotEmpty","inputs":[]},{"type":"error","name":"NotOwner","inputs":[]},{"type":"error","name":"NotOwnerOrOperator","inputs":[]},{"type":"error","name":"NotPancakeNFT","inputs":[]},{"type":"error","name":"WrongReceiver","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]},{"type":"event","name":"AddPool","inputs":[{"type":"uint256","name":"pid","internalType":"uint256","indexed":true},{"type":"uint256","name":"allocPoint","internalType":"uint256","indexed":false},{"type":"address","name":"v3Pool","internalType":"contract IPancakeV3Pool","indexed":true},{"type":"address","name":"lmPool","internalType":"contract ILMPool","indexed":true}],"anonymous":false},{"type":"event","name":"Deposit","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"uint256","name":"pid","internalType":"uint256","indexed":true},{"type":"uint256","name":"tokenId","internalType":"uint256","indexed":true},{"type":"uint256","name":"liquidity","internalType":"uint256","indexed":false},{"type":"int24","name":"tickLower","internalType":"int24","indexed":false},{"type":"int24","name":"tickUpper","internalType":"int24","indexed":false}],"anonymous":false},{"type":"event","name":"Harvest","inputs":[{"type":"address","name":"sender","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":false},{"type":"uint256","name":"pid","internalType":"uint256","indexed":true},{"type":"uint256","name":"tokenId","internalType":"uint256","indexed":true},{"type":"uint256","name":"reward","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"NewLMPoolDeployerAddress","inputs":[{"type":"address","name":"deployer","internalType":"address","indexed":false}],"anonymous":false},{"type":"event","name":"NewOperatorAddress","inputs":[{"type":"address","name":"operator","internalType":"address","indexed":false}],"anonymous":false},{"type":"event","name":"NewPeriodDuration","inputs":[{"type":"uint256","name":"periodDuration","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"NewReceiver","inputs":[{"type":"address","name":"receiver","internalType":"address","indexed":false}],"anonymous":false},{"type":"event","name":"NewUpkeepPeriod","inputs":[{"type":"uint256","name":"periodNumber","internalType":"uint256","indexed":true},{"type":"uint256","name":"startTime","internalType":"uint256","indexed":false},{"type":"uint256","name":"endTime","internalType":"uint256","indexed":false},{"type":"uint256","name":"cakePerSecond","internalType":"uint256","indexed":false},{"type":"uint256","name":"cakeAmount","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"type":"address","name":"previousOwner","internalType":"address","indexed":true},{"type":"address","name":"newOwner","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"SetEmergency","inputs":[{"type":"bool","name":"emergency","internalType":"bool","indexed":false}],"anonymous":false},{"type":"event","name":"SetPool","inputs":[{"type":"uint256","name":"pid","internalType":"uint256","indexed":true},{"type":"uint256","name":"allocPoint","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"UpdateFarmBoostContract","inputs":[{"type":"address","name":"farmBoostContract","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"UpdateLiquidity","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"uint256","name":"pid","internalType":"uint256","indexed":true},{"type":"uint256","name":"tokenId","internalType":"uint256","indexed":true},{"type":"int128","name":"liquidity","internalType":"int128","indexed":false},{"type":"int24","name":"tickLower","internalType":"int24","indexed":false},{"type":"int24","name":"tickUpper","internalType":"int24","indexed":false}],"anonymous":false},{"type":"event","name":"UpdateUpkeepPeriod","inputs":[{"type":"uint256","name":"periodNumber","internalType":"uint256","indexed":true},{"type":"uint256","name":"oldEndTime","internalType":"uint256","indexed":false},{"type":"uint256","name":"newEndTime","internalType":"uint256","indexed":false},{"type":"uint256","name":"remainingCake","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Withdraw","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":false},{"type":"uint256","name":"pid","internalType":"uint256","indexed":true},{"type":"uint256","name":"tokenId","internalType":"uint256","indexed":true}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"BOOST_PRECISION","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"contract IERC20"}],"name":"CAKE","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"contract IFarmBooster"}],"name":"FARM_BOOSTER","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"contract ILMPoolDeployer"}],"name":"LMPoolDeployer","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"MAX_BOOST_PRECISION","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"MAX_DURATION","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"MIN_DURATION","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"PERIOD_DURATION","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"PRECISION","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"WETH","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"add","inputs":[{"type":"uint256","name":"_allocPoint","internalType":"uint256"},{"type":"address","name":"_v3Pool","internalType":"contract IPancakeV3Pool"},{"type":"bool","name":"_withUpdate","internalType":"bool"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"owner","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"burn","inputs":[{"type":"uint256","name":"_tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"cakeAmountBelongToMC","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"uint256","name":"amount0","internalType":"uint256"},{"type":"uint256","name":"amount1","internalType":"uint256"}],"name":"collect","inputs":[{"type":"tuple","name":"params","internalType":"struct INonfungiblePositionManagerStruct.CollectParams","components":[{"type":"uint256","name":"tokenId","internalType":"uint256"},{"type":"address","name":"recipient","internalType":"address"},{"type":"uint128","name":"amount0Max","internalType":"uint128"},{"type":"uint128","name":"amount1Max","internalType":"uint128"}]}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"uint256","name":"amount0","internalType":"uint256"},{"type":"uint256","name":"amount1","internalType":"uint256"}],"name":"collectTo","inputs":[{"type":"tuple","name":"params","internalType":"struct INonfungiblePositionManagerStruct.CollectParams","components":[{"type":"uint256","name":"tokenId","internalType":"uint256"},{"type":"address","name":"recipient","internalType":"address"},{"type":"uint128","name":"amount0Max","internalType":"uint128"},{"type":"uint128","name":"amount1Max","internalType":"uint128"}]},{"type":"address","name":"to","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"uint256","name":"amount0","internalType":"uint256"},{"type":"uint256","name":"amount1","internalType":"uint256"}],"name":"decreaseLiquidity","inputs":[{"type":"tuple","name":"params","internalType":"struct INonfungiblePositionManagerStruct.DecreaseLiquidityParams","components":[{"type":"uint256","name":"tokenId","internalType":"uint256"},{"type":"uint128","name":"liquidity","internalType":"uint128"},{"type":"uint256","name":"amount0Min","internalType":"uint256"},{"type":"uint256","name":"amount1Min","internalType":"uint256"},{"type":"uint256","name":"deadline","internalType":"uint256"}]}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"emergency","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"cakePerSecond","internalType":"uint256"},{"type":"uint256","name":"endTime","internalType":"uint256"}],"name":"getLatestPeriodInfo","inputs":[{"type":"address","name":"_v3Pool","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"cakePerSecond","internalType":"uint256"},{"type":"uint256","name":"endTime","internalType":"uint256"}],"name":"getLatestPeriodInfoByPid","inputs":[{"type":"uint256","name":"_pid","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"uint256","name":"reward","internalType":"uint256"}],"name":"harvest","inputs":[{"type":"uint256","name":"_tokenId","internalType":"uint256"},{"type":"address","name":"_to","internalType":"address"}]},{"type":"function","stateMutability":"payable","outputs":[{"type":"uint128","name":"liquidity","internalType":"uint128"},{"type":"uint256","name":"amount0","internalType":"uint256"},{"type":"uint256","name":"amount1","internalType":"uint256"}],"name":"increaseLiquidity","inputs":[{"type":"tuple","name":"params","internalType":"struct INonfungiblePositionManagerStruct.IncreaseLiquidityParams","components":[{"type":"uint256","name":"tokenId","internalType":"uint256"},{"type":"uint256","name":"amount0Desired","internalType":"uint256"},{"type":"uint256","name":"amount1Desired","internalType":"uint256"},{"type":"uint256","name":"amount0Min","internalType":"uint256"},{"type":"uint256","name":"amount1Min","internalType":"uint256"},{"type":"uint256","name":"deadline","internalType":"uint256"}]}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"latestPeriodCakePerSecond","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"latestPeriodEndTime","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"latestPeriodNumber","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"latestPeriodStartTime","inputs":[]},{"type":"function","stateMutability":"payable","outputs":[{"type":"bytes[]","name":"results","internalType":"bytes[]"}],"name":"multicall","inputs":[{"type":"bytes[]","name":"data","internalType":"bytes[]"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"contract INonfungiblePositionManager"}],"name":"nonfungiblePositionManager","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bytes4","name":"","internalType":"bytes4"}],"name":"onERC721Received","inputs":[{"type":"address","name":"","internalType":"address"},{"type":"address","name":"_from","internalType":"address"},{"type":"uint256","name":"_tokenId","internalType":"uint256"},{"type":"bytes","name":"","internalType":"bytes"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"operatorAddress","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"owner","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"reward","internalType":"uint256"}],"name":"pendingCake","inputs":[{"type":"uint256","name":"_tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"allocPoint","internalType":"uint256"},{"type":"address","name":"v3Pool","internalType":"contract IPancakeV3Pool"},{"type":"address","name":"token0","internalType":"address"},{"type":"address","name":"token1","internalType":"address"},{"type":"uint24","name":"fee","internalType":"uint24"},{"type":"uint256","name":"totalLiquidity","internalType":"uint256"},{"type":"uint256","name":"totalBoostLiquidity","internalType":"uint256"}],"name":"poolInfo","inputs":[{"type":"uint256","name":"","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"poolLength","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"receiver","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"renounceOwnership","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"set","inputs":[{"type":"uint256","name":"_pid","internalType":"uint256"},{"type":"uint256","name":"_allocPoint","internalType":"uint256"},{"type":"bool","name":"_withUpdate","internalType":"bool"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setEmergency","inputs":[{"type":"bool","name":"_emergency","internalType":"bool"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setLMPoolDeployer","inputs":[{"type":"address","name":"_LMPoolDeployer","internalType":"contract ILMPoolDeployer"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setOperator","inputs":[{"type":"address","name":"_operatorAddress","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setPeriodDuration","inputs":[{"type":"uint256","name":"_periodDuration","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setReceiver","inputs":[{"type":"address","name":"_receiver","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"sweepToken","inputs":[{"type":"address","name":"token","internalType":"address"},{"type":"uint256","name":"amountMinimum","internalType":"uint256"},{"type":"address","name":"recipient","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"tokenOfOwnerByIndex","inputs":[{"type":"address","name":"owner","internalType":"address"},{"type":"uint256","name":"index","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalAllocPoint","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"newOwner","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"unwrapWETH9","inputs":[{"type":"uint256","name":"amountMinimum","internalType":"uint256"},{"type":"address","name":"recipient","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"updateBoostMultiplier","inputs":[{"type":"uint256","name":"_tokenId","internalType":"uint256"},{"type":"uint256","name":"_newMultiplier","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"updateFarmBoostContract","inputs":[{"type":"address","name":"_newFarmBoostContract","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"updateLiquidity","inputs":[{"type":"uint256","name":"_tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"updatePools","inputs":[{"type":"uint256[]","name":"pids","internalType":"uint256[]"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"upkeep","inputs":[{"type":"uint256","name":"_amount","internalType":"uint256"},{"type":"uint256","name":"_duration","internalType":"uint256"},{"type":"bool","name":"_withUpdate","internalType":"bool"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint128","name":"liquidity","internalType":"uint128"},{"type":"uint128","name":"boostLiquidity","internalType":"uint128"},{"type":"int24","name":"tickLower","internalType":"int24"},{"type":"int24","name":"tickUpper","internalType":"int24"},{"type":"uint256","name":"rewardGrowthInside","internalType":"uint256"},{"type":"uint256","name":"reward","internalType":"uint256"},{"type":"address","name":"user","internalType":"address"},{"type":"uint256","name":"pid","internalType":"uint256"},{"type":"uint256","name":"boostMultiplier","internalType":"uint256"}],"name":"userPositionInfos","inputs":[{"type":"uint256","name":"","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"v3PoolAddressPid","inputs":[{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"uint256","name":"reward","internalType":"uint256"}],"name":"withdraw","inputs":[{"type":"uint256","name":"_tokenId","internalType":"uint256"},{"type":"address","name":"_to","internalType":"address"}]},{"type":"receive","stateMutability":"payable"}]