[
  "event Approval(address indexed,address indexed,uint256 indexed)",
  "event ApprovalForAll(address indexed,address indexed,bool)",
  "event Collect(uint256 indexed,address,uint256,uint256)",
  "event DecreaseLiquidity(uint256 indexed,uint128,uint256,uint256)",
  "event IncreaseLiquidity(uint256 indexed,uint128,uint256,uint256)",
  "event Transfer(address indexed,address indexed,uint256 indexed)",
  "function DOMAIN_SEPARATOR() view returns (bytes32)",
  "function PERMIT_TYPEHASH() pure returns (bytes32)",
  "function WETH9() view returns (address)",
  "function approve(address,uint256)",
  "function balanceOf(address) view returns (uint256)",
  "function burn(uint256) payable",
  "function collect(tuple(uint256,address,uint128,uint128)) payable returns (uint256, uint256)",
  "function createAndInitializePoolIfNecessary(address,address,uint24,uint160) payable returns (address)",
  "function decreaseLiquidity(tuple(uint256,uint128,uint256,uint256,uint256)) payable returns (uint256, uint256)",
  "function factory() view returns (address)",
  "function getApproved(uint256) view returns (address)",
  "function increaseLiquidity(tuple(uint256,uint256,uint256,uint256,uint256,uint256)) payable returns (uint128, uint256, uint256)",
  "function isApprovedForAll(address,address) view returns (bool)",
  "function mint(tuple(address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256)) payable returns (uint256, uint128, uint256, uint256)",
  "function name() view returns (string)",
  "function ownerOf(uint256) view returns (address)",
  "function permit(address,uint256,uint256,uint8,bytes32,bytes32) payable",
  "function positions(uint256) view returns (uint96, address, address, address, uint24, int24, int24, uint128, uint256, uint256, uint128, uint128)",
  "function refundETH() payable",
  "function safeTransferFrom(address,address,uint256)",
  "function safeTransferFrom(address,address,uint256,bytes)",
  "function setApprovalForAll(address,bool)",
  "function supportsInterface(bytes4) view returns (bool)",
  "function sweepToken(address,uint256,address) payable",
  "function symbol() view returns (string)",
  "function tokenByIndex(uint256) view returns (uint256)",
  "function tokenOfOwnerByIndex(address,uint256) view returns (uint256)",
  "function tokenURI(uint256) view returns (string)",
  "function totalSupply() view returns (uint256)",
  "function transferFrom(address,address,uint256)",
  "function unwrapWETH9(uint256,address) payable"
]
