[ { "inputs": [ { "internalType": "uint256", "name": "limit", "type": "uint256" } ], "name": "LimitExceeded", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "reason", "type": "string" } ], "name": "NotImplemented", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "reason", "type": "string" } ], "name": "Unavailable", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "poolId", "type": "bytes32" }, { "internalType": "contract IERC20", "name": "sellToken", "type": "address" }, { "internalType": "contract IERC20", "name": "buyToken", "type": "address" } ], "name": "getCapabilities", "outputs": [ { "internalType": "enum ISwapAdapterTypes.Capability[]", "name": "capabilities", "type": "uint8[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "poolId", "type": "bytes32" }, { "internalType": "contract IERC20", "name": "sellToken", "type": "address" }, { "internalType": "contract IERC20", "name": "buyToken", "type": "address" } ], "name": "getLimits", "outputs": [ { "internalType": "uint256[]", "name": "limits", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "offset", "type": "uint256" }, { "internalType": "uint256", "name": "limit", "type": "uint256" } ], "name": "getPoolIds", "outputs": [ { "internalType": "bytes32[]", "name": "ids", "type": "bytes32[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "poolId", "type": "bytes32" } ], "name": "getTokens", "outputs": [ { "internalType": "contract IERC20[]", "name": "tokens", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "poolId", "type": "bytes32" }, { "internalType": "contract IERC20", "name": "sellToken", "type": "address" }, { "internalType": "contract IERC20", "name": "buyToken", "type": "address" }, { "internalType": "uint256[]", "name": "specifiedAmounts", "type": "uint256[]" } ], "name": "price", "outputs": [ { "components": [ { "internalType": "uint256", "name": "numerator", "type": "uint256" }, { "internalType": "uint256", "name": "denominator", "type": "uint256" } ], "internalType": "struct ISwapAdapterTypes.Fraction[]", "name": "prices", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "poolId", "type": "bytes32" }, { "internalType": "contract IERC20", "name": "sellToken", "type": "address" }, { "internalType": "contract IERC20", "name": "buyToken", "type": "address" }, { "internalType": "enum ISwapAdapterTypes.OrderSide", "name": "side", "type": "uint8" }, { "internalType": "uint256", "name": "specifiedAmount", "type": "uint256" } ], "name": "swap", "outputs": [ { "components": [ { "internalType": "uint256", "name": "calculatedAmount", "type": "uint256" }, { "internalType": "uint256", "name": "gasUsed", "type": "uint256" }, { "components": [ { "internalType": "uint256", "name": "numerator", "type": "uint256" }, { "internalType": "uint256", "name": "denominator", "type": "uint256" } ], "internalType": "struct ISwapAdapterTypes.Fraction", "name": "price", "type": "tuple" } ], "internalType": "struct ISwapAdapterTypes.Trade", "name": "trade", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" } ]