[ { "type": "constructor", "inputs": [ { "name": "erc20Factory_", "type": "address", "internalType": "contract ERC20PoolFactory" }, { "name": "erc721Factory_", "type": "address", "internalType": "contract ERC721PoolFactory" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "DOMAIN_SEPARATOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "PERMIT_TYPEHASH", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [ { "name": "pool_", "type": "address", "internalType": "address" }, { "name": "tokenId_", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getApproved", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getLP", "inputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" }, { "name": "index_", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPositionIndexes", "inputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPositionIndexesFiltered", "inputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "filteredIndexes_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPositionInfo", "inputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" }, { "name": "index_", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "isAjnaPool", "inputs": [ { "name": "pool_", "type": "address", "internalType": "address" }, { "name": "subsetHash_", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isApprovedForAll", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isIndexInPosition", "inputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" }, { "name": "index_", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isPositionBucketBankrupt", "inputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" }, { "name": "index_", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "memorializePositions", "inputs": [ { "name": "pool_", "type": "address", "internalType": "address" }, { "name": "tokenId_", "type": "uint256", "internalType": "uint256" }, { "name": "indexes_", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "mint", "inputs": [ { "name": "pool_", "type": "address", "internalType": "address" }, { "name": "recipient_", "type": "address", "internalType": "address" }, { "name": "poolSubsetHash_", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "moveLiquidity", "inputs": [ { "name": "pool_", "type": "address", "internalType": "address" }, { "name": "tokenId_", "type": "uint256", "internalType": "uint256" }, { "name": "fromIndex_", "type": "uint256", "internalType": "uint256" }, { "name": "toIndex_", "type": "uint256", "internalType": "uint256" }, { "name": "expiry_", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "multicall", "inputs": [ { "name": "data", "type": "bytes[]", "internalType": "bytes[]" } ], "outputs": [ { "name": "results", "type": "bytes[]", "internalType": "bytes[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "nonces", "inputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "permit", "inputs": [ { "name": "spender_", "type": "address", "internalType": "address" }, { "name": "tokenId_", "type": "uint256", "internalType": "uint256" }, { "name": "deadline_", "type": "uint256", "internalType": "uint256" }, { "name": "signature_", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "poolKey", "inputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "redeemPositions", "inputs": [ { "name": "pool_", "type": "address", "internalType": "address" }, { "name": "tokenId_", "type": "uint256", "internalType": "uint256" }, { "name": "indexes_", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [ { "name": "operator", "type": "address", "internalType": "address" }, { "name": "approved", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [ { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "Burn", "inputs": [ { "name": "lender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "MemorializePosition", "inputs": [ { "name": "lender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "indexes", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "Mint", "inputs": [ { "name": "lender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "pool", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "MoveLiquidity", "inputs": [ { "name": "lender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "fromIndex", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "toIndex", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "lpRedeemedFrom", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "lpAwardedTo", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RedeemPosition", "inputs": [ { "name": "lender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "indexes", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "error", "name": "AllowanceTooLow", "inputs": [] }, { "type": "error", "name": "BucketBankrupt", "inputs": [] }, { "type": "error", "name": "BucketIndexOutOfBounds", "inputs": [] }, { "type": "error", "name": "DeployWithZeroAddress", "inputs": [] }, { "type": "error", "name": "LiquidityNotRemoved", "inputs": [] }, { "type": "error", "name": "NoAuth", "inputs": [] }, { "type": "error", "name": "NoToken", "inputs": [] }, { "type": "error", "name": "NonExistentToken", "inputs": [] }, { "type": "error", "name": "NotAjnaPool", "inputs": [] }, { "type": "error", "name": "NotAuthorized", "inputs": [] }, { "type": "error", "name": "PRBMathSD59x18__Exp2InputTooBig", "inputs": [ { "name": "x", "type": "int256", "internalType": "int256" } ] }, { "type": "error", "name": "PRBMathSD59x18__FromIntOverflow", "inputs": [ { "name": "x", "type": "int256", "internalType": "int256" } ] }, { "type": "error", "name": "PRBMathSD59x18__FromIntUnderflow", "inputs": [ { "name": "x", "type": "int256", "internalType": "int256" } ] }, { "type": "error", "name": "PRBMathSD59x18__LogInputTooSmall", "inputs": [ { "name": "x", "type": "int256", "internalType": "int256" } ] }, { "type": "error", "name": "PRBMathSD59x18__MulInputTooSmall", "inputs": [] }, { "type": "error", "name": "PRBMathSD59x18__MulOverflow", "inputs": [ { "name": "rAbs", "type": "uint256", "internalType": "uint256" } ] }, { "type": "error", "name": "PRBMath__MulDivFixedPointOverflow", "inputs": [ { "name": "prod1", "type": "uint256", "internalType": "uint256" } ] }, { "type": "error", "name": "PermitExpired", "inputs": [] }, { "type": "error", "name": "RemovePositionFailed", "inputs": [] }, { "type": "error", "name": "WrongPool", "inputs": [] } ]