[
{
"type": "constructor",
"inputs": [
{
"name": "poolManager",
"type": "address",
"internalType": "contract IPoolManager"
},
{
"name": "treasury",
"type": "address",
"internalType": "address"
},
{
"name": "factory",
"type": "address",
"internalType": "address"
},
{
"name": "k",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "receive",
"stateMutability": "payable"
},
{
"type": "function",
"name": "BPS_DENOMINATOR",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "TOTAL_FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "PLATFORM_FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "INVITER_FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "BORROW_FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "BORROW_PLATFORM_FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "BORROW_PARENT_FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "COLLATERAL_RATIO_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "DUST_THRESHOLD",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MIN_SWEEP_AMOUNT",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "DEFAULT_AUTO_FLOOR_PCT_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "POOL_FEE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint24",
"internalType": "uint24"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "POOL_MANAGER",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IPoolManager"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "TREASURY",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "FACTORY",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "K",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "inviteContract",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "inviteRewardsEnabled",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "tokenStates",
"inputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "creator",
"type": "address",
"internalType": "address"
},
{
"name": "floorPrice",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realETH",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "virtualETH",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "totalBorrowedETH",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "collateralSupply",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "allTimeHighPrice",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "k",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "autoFloorPctBps",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "initialized",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "tokenToPoolId",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "borrowedETH",
"inputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "collateralBalance",
"inputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "totalPurchasedETH",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "effectiveETH",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getEffectivePrice",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "circulatingSupply",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "maxFloorPrice",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getTokenK",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getAutoFloorPct",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "estimateBuy",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "ethIn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "buyer",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "tokensOut",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "platformFee",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "inviterFee",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "estimateSell",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "tokenAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "seller",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "ethOut",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "platformFee",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "inviterFee",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "estimateBorrowMore",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "user",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "additionalEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "fee",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getHookPermissions",
"inputs": [],
"outputs": [
{
"name": "",
"type": "tuple",
"internalType": "struct Hooks.Permissions",
"components": [
{
"name": "beforeInitialize",
"type": "bool",
"internalType": "bool"
},
{
"name": "afterInitialize",
"type": "bool",
"internalType": "bool"
},
{
"name": "beforeAddLiquidity",
"type": "bool",
"internalType": "bool"
},
{
"name": "afterAddLiquidity",
"type": "bool",
"internalType": "bool"
},
{
"name": "beforeRemoveLiquidity",
"type": "bool",
"internalType": "bool"
},
{
"name": "afterRemoveLiquidity",
"type": "bool",
"internalType": "bool"
},
{
"name": "beforeSwap",
"type": "bool",
"internalType": "bool"
},
{
"name": "afterSwap",
"type": "bool",
"internalType": "bool"
},
{
"name": "beforeDonate",
"type": "bool",
"internalType": "bool"
},
{
"name": "afterDonate",
"type": "bool",
"internalType": "bool"
},
{
"name": "beforeSwapReturnDelta",
"type": "bool",
"internalType": "bool"
},
{
"name": "afterSwapReturnDelta",
"type": "bool",
"internalType": "bool"
},
{
"name": "afterAddLiquidityReturnDelta",
"type": "bool",
"internalType": "bool"
},
{
"name": "afterRemoveLiquidityReturnDelta",
"type": "bool",
"internalType": "bool"
}
]
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "registerToken",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "creator",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateCreator",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "newCreator",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setInviteContract",
"inputs": [
{
"name": "_invite",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setInviteRewardsEnabled",
"inputs": [
{
"name": "_enabled",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "borrow",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "borrowMore",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "repay",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "devMint",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "dev",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "beforeInitialize",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "key",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "",
"type": "uint160",
"internalType": "uint160"
}
],
"outputs": [
{
"name": "",
"type": "bytes4",
"internalType": "bytes4"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "afterInitialize",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "",
"type": "uint160",
"internalType": "uint160"
},
{
"name": "",
"type": "int24",
"internalType": "int24"
}
],
"outputs": [
{
"name": "",
"type": "bytes4",
"internalType": "bytes4"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "beforeAddLiquidity",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "",
"type": "tuple",
"internalType": "struct ModifyLiquidityParams",
"components": [
{
"name": "tickLower",
"type": "int24",
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"internalType": "int24"
},
{
"name": "liquidityDelta",
"type": "int256",
"internalType": "int256"
},
{
"name": "salt",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes4",
"internalType": "bytes4"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "afterAddLiquidity",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "",
"type": "tuple",
"internalType": "struct ModifyLiquidityParams",
"components": [
{
"name": "tickLower",
"type": "int24",
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"internalType": "int24"
},
{
"name": "liquidityDelta",
"type": "int256",
"internalType": "int256"
},
{
"name": "salt",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "",
"type": "int256",
"internalType": "BalanceDelta"
},
{
"name": "",
"type": "int256",
"internalType": "BalanceDelta"
},
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes4",
"internalType": "bytes4"
},
{
"name": "",
"type": "int256",
"internalType": "BalanceDelta"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "beforeRemoveLiquidity",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "",
"type": "tuple",
"internalType": "struct ModifyLiquidityParams",
"components": [
{
"name": "tickLower",
"type": "int24",
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"internalType": "int24"
},
{
"name": "liquidityDelta",
"type": "int256",
"internalType": "int256"
},
{
"name": "salt",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes4",
"internalType": "bytes4"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "afterRemoveLiquidity",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "",
"type": "tuple",
"internalType": "struct ModifyLiquidityParams",
"components": [
{
"name": "tickLower",
"type": "int24",
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"internalType": "int24"
},
{
"name": "liquidityDelta",
"type": "int256",
"internalType": "int256"
},
{
"name": "salt",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "",
"type": "int256",
"internalType": "BalanceDelta"
},
{
"name": "",
"type": "int256",
"internalType": "BalanceDelta"
},
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes4",
"internalType": "bytes4"
},
{
"name": "",
"type": "int256",
"internalType": "BalanceDelta"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "beforeSwap",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "key",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "params",
"type": "tuple",
"internalType": "struct SwapParams",
"components": [
{
"name": "zeroForOne",
"type": "bool",
"internalType": "bool"
},
{
"name": "amountSpecified",
"type": "int256",
"internalType": "int256"
},
{
"name": "sqrtPriceLimitX96",
"type": "uint160",
"internalType": "uint160"
}
]
},
{
"name": "hookData",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "selector",
"type": "bytes4",
"internalType": "bytes4"
},
{
"name": "delta",
"type": "int256",
"internalType": "BeforeSwapDelta"
},
{
"name": "lpFeeOverride",
"type": "uint24",
"internalType": "uint24"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "afterSwap",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "",
"type": "tuple",
"internalType": "struct SwapParams",
"components": [
{
"name": "zeroForOne",
"type": "bool",
"internalType": "bool"
},
{
"name": "amountSpecified",
"type": "int256",
"internalType": "int256"
},
{
"name": "sqrtPriceLimitX96",
"type": "uint160",
"internalType": "uint160"
}
]
},
{
"name": "",
"type": "int256",
"internalType": "BalanceDelta"
},
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes4",
"internalType": "bytes4"
},
{
"name": "",
"type": "int128",
"internalType": "int128"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "beforeDonate",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes4",
"internalType": "bytes4"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "afterDonate",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes4",
"internalType": "bytes4"
}
],
"stateMutability": "pure"
},
{
"type": "event",
"name": "TokenRegistered",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "creator",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Buy",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "buyer",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "ethIn",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "tokensOut",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newPrice",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Sell",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "seller",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "tokensIn",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "ethOut",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newPrice",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "FloorRaised",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "oldFloor",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newFloor",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ATHUpdated",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "oldATH",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newATH",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "KUpdated",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "oldK",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newK",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Borrow",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "tokensLocked",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "ethBorrowed",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "fee",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BorrowMore",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "additionalEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "fee",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Repay",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "ethRepaid",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "tokensUnlocked",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Sweep",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "DustCollected",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "CreatorUpdated",
"inputs": [
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "oldCreator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newCreator",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "InviteContractUpdated",
"inputs": [
{
"name": "oldInvite",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newInvite",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "InviteRewardsToggled",
"inputs": [
{
"name": "enabled",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"type": "error",
"name": "NotPoolManager",
"inputs": []
},
{
"type": "error",
"name": "NotFactory",
"inputs": []
},
{
"type": "error",
"name": "InvalidPool",
"inputs": []
},
{
"type": "error",
"name": "LiquidityAdditionsForbidden",
"inputs": []
},
{
"type": "error",
"name": "ExactOutputUnsupported",
"inputs": []
},
{
"type": "error",
"name": "MissingSwapperInHookData",
"inputs": []
},
{
"type": "error",
"name": "ZeroAmount",
"inputs": []
},
{
"type": "error",
"name": "MintZero",
"inputs": []
},
{
"type": "error",
"name": "InsufficientBalance",
"inputs": []
},
{
"type": "error",
"name": "FloorNotSet",
"inputs": []
},
{
"type": "error",
"name": "BorrowTooSmall",
"inputs": []
},
{
"type": "error",
"name": "InsufficientPoolLiquidity",
"inputs": []
},
{
"type": "error",
"name": "NoCollateral",
"inputs": []
},
{
"type": "error",
"name": "NoOutstandingDebt",
"inputs": []
},
{
"type": "error",
"name": "NoAdditionalValue",
"inputs": []
},
{
"type": "error",
"name": "ReentrancyGuardReentrantCall",
"inputs": []
},
{
"type": "error",
"name": "ETHTransferFailed",
"inputs": []
},
{
"type": "error",
"name": "TokenNotRegistered",
"inputs": []
},
{
"type": "error",
"name": "TokenAlreadyRegistered",
"inputs": []
}
]