[
  "event DelegateChanged(address indexed,address indexed,address indexed)",
  "event DelegateVotesChanged(address indexed,uint256,uint256)",
  "event StakeNFT(address indexed,address indexed,uint256,uint256)",
  "event Transfer(address indexed,address indexed,uint256)",
  "event UnstakeNFT(address indexed,address indexed,uint256,uint256)",
  "function _stakeFromLock(uint256)",
  "function balanceOf(address) view returns (uint256)",
  "function decimals() view returns (uint8)",
  "function delegate(address)",
  "function delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)",
  "function delegates(address) view returns (address)",
  "function getPastTotalSupply(uint256) view returns (uint256)",
  "function getPastVotes(address,uint256) view returns (uint256)",
  "function getStakedBalance(address) view returns (uint256)",
  "function getVotes(address) view returns (uint256)",
  "function isStaked(uint256) view returns (bool)",
  "function name() view returns (string)",
  "function registry() view returns (address)",
  "function stake(uint256)",
  "function symbol() view returns (string)",
  "function totalSupply() view returns (uint256)",
  "function unstake(uint256)"
]
