[
  "event EmergencyModeEnabled()",
  "event Initialized(uint8)",
  "event MaxBoostRequirementChanged(uint256,uint256)",
  "event RewardAdded(uint256)",
  "event RewardPaid(address indexed,uint256,uint256)",
  "event Staked(address indexed,uint256,uint128,uint128)",
  "event Withdrawn(address indexed,uint256)",
  "function attached(address) view returns (bool)",
  "function balanceOf(address) view returns (uint256)",
  "function deposits(uint256) view returns (address, uint128, uint128)",
  "function derivedLiquidity(uint256) view returns (uint256)",
  "function derivedLiquidity(uint128,address) view returns (uint128)",
  "function earned(uint256) view returns (uint256)",
  "function exit(uint256)",
  "function factory() view returns (address)",
  "function getReward(uint256)",
  "function getReward(address,address[])",
  "function getRewardForDuration() view returns (uint256)",
  "function initialize(address,address,address,uint24,address,address)",
  "function lastTimeRewardApplicable() view returns (uint256)",
  "function lastUpdateTime() view returns (uint256)",
  "function left(address) view returns (uint256)",
  "function liquidity(uint256) view returns (uint256)",
  "function maxBoostRequirement() view returns (uint256)",
  "function nonfungiblePositionManager() view returns (address)",
  "function notifyRewardAmount(address,uint256)",
  "function periodFinish() view returns (uint256)",
  "function pool() view returns (address)",
  "function registry() view returns (address)",
  "function rewardPerToken() view returns (uint256)",
  "function rewardPerTokenStored() view returns (uint256)",
  "function rewardRate() view returns (uint256)",
  "function rewards(uint256) view returns (uint256)",
  "function rewardsDuration() view returns (uint256)",
  "function rewardsToken() view returns (address)",
  "function totalSupply() view returns (uint256)",
  "function updateRewardFor(uint256)",
  "function userRewardPerTokenPaid(uint256) view returns (uint256)",
  "function withdraw(uint256)"
]
