[
  "constructor(address,address)",
  "event ClaimFees(address indexed,uint256,uint256)",
  "event ClaimRewards(address indexed,address indexed,uint256)",
  "event Deposit(address indexed,uint256,uint256)",
  "event NotifyReward(address indexed,address indexed,uint256)",
  "event Withdraw(address indexed,uint256,uint256)",
  "function balanceOf(address) view returns (uint256)",
  "function batchRewardPerToken(address,uint256)",
  "function checkpoints(address,uint256) view returns (uint256, uint256)",
  "function deposit(uint256,uint256)",
  "function depositAll(uint256)",
  "function derivedBalance(address) view returns (uint256)",
  "function derivedBalances(address) view returns (uint256)",
  "function derivedSupply() view returns (uint256)",
  "function earned(address,address) view returns (uint256)",
  "function getPriorBalanceIndex(address,uint256) view returns (uint256)",
  "function getPriorRewardPerToken(address,uint256) view returns (uint256, uint256)",
  "function getPriorSupplyIndex(uint256) view returns (uint256)",
  "function getReward(address,address[])",
  "function isReward(address) view returns (bool)",
  "function lastEarn(address,address) view returns (uint256)",
  "function lastTimeRewardApplicable(address) view returns (uint256)",
  "function lastUpdateTime(address) view returns (uint256)",
  "function left(address) view returns (uint256)",
  "function notifyRewardAmount(address,uint256)",
  "function numCheckpoints(address) view returns (uint256)",
  "function periodFinish(address) view returns (uint256)",
  "function registry() view returns (address)",
  "function rewardPerToken(address) view returns (uint256)",
  "function rewardPerTokenCheckpoints(address,uint256) view returns (uint256, uint256)",
  "function rewardPerTokenNumCheckpoints(address) view returns (uint256)",
  "function rewardPerTokenStored(address) view returns (uint256)",
  "function rewardRate(address) view returns (uint256)",
  "function rewards(uint256) view returns (address)",
  "function rewardsListLength() view returns (uint256)",
  "function stake() view returns (address)",
  "function supplyCheckpoints(uint256) view returns (uint256, uint256)",
  "function supplyNumCheckpoints() view returns (uint256)",
  "function tokenIds(address) view returns (uint256)",
  "function totalSupply() view returns (uint256)",
  "function userRewardPerTokenStored(address,address) view returns (uint256)",
  "function withdraw(uint256)",
  "function withdrawAll()",
  "function withdrawToken(uint256,uint256)"
]
