[
	{
		"type": "constructor",
		"inputs": [
			{
				"name": "poolManager_",
				"type": "address",
				"internalType": "contract IPoolManager"
			},
			{
				"name": "owner_",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "treasury_",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "creatorShareBps_",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "mandatoryCommitBps_",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "defaultFeeBps_",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "settleThresholdWei_",
				"type": "uint256",
				"internalType": "uint256"
			},
			{
				"name": "minSettleThreshold_",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "receive",
		"stateMutability": "payable"
	},
	{
		"type": "function",
		"name": "BAND_GAP_TICKS",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "int24",
				"internalType": "int24"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "BAND_WIDTH_TICKS",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "int24",
				"internalType": "int24"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "COMPOUND_GAS_FLOOR",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "CREATOR_RECOVERY_DELAY",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint64",
				"internalType": "uint64"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "CREATOR_RECOVERY_WINDOW",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint64",
				"internalType": "uint64"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "GRADUATION_SURCHARGE_BPS",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MAX_BAND_TICK",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "int24",
				"internalType": "int24"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MAX_FEE_BPS",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MAX_LAUNCH_BUY_DECAY",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint32",
				"internalType": "uint32"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MAX_LAUNCH_BUY_FEE_BPS",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MAX_LAUNCH_SELL_DECAY",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint32",
				"internalType": "uint32"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MAX_LAUNCH_SELL_FEE_BPS",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MIN_CREATOR_SHARE_BPS",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MIN_FEE_BPS",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MIN_LAUNCH_BUY_DECAY",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint32",
				"internalType": "uint32"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MIN_LAUNCH_BUY_FEE_BPS",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MIN_LAUNCH_SELL_DECAY",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint32",
				"internalType": "uint32"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MIN_LAUNCH_SELL_FEE_BPS",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "MIN_SETTLE_THRESHOLD",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "SURCHARGE_WINDOW_SECONDS",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint32",
				"internalType": "uint32"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "VERSION",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "string",
				"internalType": "string"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "acceptCreator",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "acceptOwnership",
		"inputs": [],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "afterAddLiquidity",
		"inputs": [
			{
				"name": "sender",
				"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 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": "delta",
				"type": "int256",
				"internalType": "BalanceDelta"
			},
			{
				"name": "feesAccrued",
				"type": "int256",
				"internalType": "BalanceDelta"
			},
			{
				"name": "hookData",
				"type": "bytes",
				"internalType": "bytes"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bytes4",
				"internalType": "bytes4"
			},
			{
				"name": "",
				"type": "int256",
				"internalType": "BalanceDelta"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "afterDonate",
		"inputs": [
			{
				"name": "sender",
				"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": "amount0",
				"type": "uint256",
				"internalType": "uint256"
			},
			{
				"name": "amount1",
				"type": "uint256",
				"internalType": "uint256"
			},
			{
				"name": "hookData",
				"type": "bytes",
				"internalType": "bytes"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bytes4",
				"internalType": "bytes4"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "afterInitialize",
		"inputs": [
			{
				"name": "sender",
				"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": "sqrtPriceX96",
				"type": "uint160",
				"internalType": "uint160"
			},
			{
				"name": "tick",
				"type": "int24",
				"internalType": "int24"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bytes4",
				"internalType": "bytes4"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "afterRemoveLiquidity",
		"inputs": [
			{
				"name": "sender",
				"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 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": "delta",
				"type": "int256",
				"internalType": "BalanceDelta"
			},
			{
				"name": "feesAccrued",
				"type": "int256",
				"internalType": "BalanceDelta"
			},
			{
				"name": "hookData",
				"type": "bytes",
				"internalType": "bytes"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bytes4",
				"internalType": "bytes4"
			},
			{
				"name": "",
				"type": "int256",
				"internalType": "BalanceDelta"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "afterSwap",
		"inputs": [
			{
				"name": "sender",
				"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": "delta",
				"type": "int256",
				"internalType": "BalanceDelta"
			},
			{
				"name": "hookData",
				"type": "bytes",
				"internalType": "bytes"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bytes4",
				"internalType": "bytes4"
			},
			{
				"name": "",
				"type": "int128",
				"internalType": "int128"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "allowedMigrators",
		"inputs": [
			{
				"name": "migrator",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [
			{
				"name": "allowed",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "beforeAddLiquidity",
		"inputs": [
			{
				"name": "sender",
				"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 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": "hookData",
				"type": "bytes",
				"internalType": "bytes"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bytes4",
				"internalType": "bytes4"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "beforeDonate",
		"inputs": [
			{
				"name": "sender",
				"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": "amount0",
				"type": "uint256",
				"internalType": "uint256"
			},
			{
				"name": "amount1",
				"type": "uint256",
				"internalType": "uint256"
			},
			{
				"name": "hookData",
				"type": "bytes",
				"internalType": "bytes"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bytes4",
				"internalType": "bytes4"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "beforeInitialize",
		"inputs": [
			{
				"name": "sender",
				"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": "sqrtPriceX96",
				"type": "uint160",
				"internalType": "uint160"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bytes4",
				"internalType": "bytes4"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "beforeRemoveLiquidity",
		"inputs": [
			{
				"name": "sender",
				"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 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": "hookData",
				"type": "bytes",
				"internalType": "bytes"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bytes4",
				"internalType": "bytes4"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "beforeSwap",
		"inputs": [
			{
				"name": "sender",
				"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": "",
				"type": "bytes4",
				"internalType": "bytes4"
			},
			{
				"name": "",
				"type": "int256",
				"internalType": "BeforeSwapDelta"
			},
			{
				"name": "",
				"type": "uint24",
				"internalType": "uint24"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "cancelBuyWindow",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "cancelCreatorRecovery",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "cancelSellWindow",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "collect",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "creatorAmount",
				"type": "uint256",
				"internalType": "uint256"
			},
			{
				"name": "compoundAmount",
				"type": "uint256",
				"internalType": "uint256"
			},
			{
				"name": "treasuryAmount",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "collectMany",
		"inputs": [
			{
				"name": "poolIds",
				"type": "bytes32[]",
				"internalType": "PoolId[]"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "compoundCommitBps",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "commitBps",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "compoundSelf",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			},
			{
				"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"
					}
				]
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "compoundState",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "compounding",
				"type": "bool",
				"internalType": "bool"
			},
			{
				"name": "pot",
				"type": "uint256",
				"internalType": "uint256"
			},
			{
				"name": "threshold",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "compoundingPaused",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "creatorRecoveries",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "creator",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "eta",
				"type": "uint64",
				"internalType": "uint64"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "creatorShareBps",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "currentBuyFeeBps",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "currentSellFeeBps",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "defaultFeeBps",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "executeCreatorRecovery",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"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": "graduationSurchargeEnabled",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "isAllowedBuyWindow",
		"inputs": [
			{
				"name": "launchBuyFeeBps_",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "launchBuyFeeDecay_",
				"type": "uint32",
				"internalType": "uint32"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"stateMutability": "pure"
	},
	{
		"type": "function",
		"name": "isAllowedBuyWindowRate",
		"inputs": [
			{
				"name": "launchBuyFeeBps_",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"stateMutability": "pure"
	},
	{
		"type": "function",
		"name": "isAllowedCompoundCommit",
		"inputs": [
			{
				"name": "commitBps_",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"stateMutability": "pure"
	},
	{
		"type": "function",
		"name": "isAllowedPoolFeeBps",
		"inputs": [
			{
				"name": "feeBps_",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"stateMutability": "pure"
	},
	{
		"type": "function",
		"name": "isAllowedSellWindow",
		"inputs": [
			{
				"name": "launchSellFeeBps_",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "launchSellFeeDecay_",
				"type": "uint32",
				"internalType": "uint32"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"stateMutability": "pure"
	},
	{
		"type": "function",
		"name": "isAllowedSellWindowRate",
		"inputs": [
			{
				"name": "launchSellFeeBps_",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"stateMutability": "pure"
	},
	{
		"type": "function",
		"name": "lowerFee",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			},
			{
				"name": "feeBps_",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "mandatoryCommitBps",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "operators",
		"inputs": [
			{
				"name": "operator",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [
			{
				"name": "allowed",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "owed",
		"inputs": [
			{
				"name": "quote",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "recipient",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [
			{
				"name": "amount",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "owner",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "address",
				"internalType": "address"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "passFactory",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "address",
				"internalType": "address"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "payOut",
		"inputs": [
			{
				"name": "quote",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "to",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [
			{
				"name": "amount",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "payoutRecipient",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "recipient",
				"type": "address",
				"internalType": "address"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "pendingCreators",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "proposed",
				"type": "address",
				"internalType": "address"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "pendingFees",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "creatorAmount",
				"type": "uint256",
				"internalType": "uint256"
			},
			{
				"name": "compoundAmount",
				"type": "uint256",
				"internalType": "uint256"
			},
			{
				"name": "treasuryAmount",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "pendingOwner",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "address",
				"internalType": "address"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "poolManager",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "address",
				"internalType": "contract IPoolManager"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "poolQuote",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "quote",
				"type": "address",
				"internalType": "address"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "pools",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "creator",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "feeBps",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "launchSellFeeBps",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "launchSellFeeDecay",
				"type": "uint32",
				"internalType": "uint32"
			},
			{
				"name": "launchBuyFeeBps",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "launchBuyFeeDecay",
				"type": "uint32",
				"internalType": "uint32"
			},
			{
				"name": "graduatedAt",
				"type": "uint64",
				"internalType": "uint64"
			},
			{
				"name": "graduationBlock",
				"type": "uint64",
				"internalType": "uint64"
			},
			{
				"name": "asset",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "tickSpacing",
				"type": "int24",
				"internalType": "int24"
			},
			{
				"name": "compounding",
				"type": "bool",
				"internalType": "bool"
			},
			{
				"name": "accrued",
				"type": "uint256",
				"internalType": "uint256"
			},
			{
				"name": "compoundPot",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "proposeCreator",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			},
			{
				"name": "proposed",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "proposeCreatorRecovery",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			},
			{
				"name": "creator_",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "quoteFees",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			}
		],
		"outputs": [
			{
				"name": "buyFeeBps",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "sellFeeBps",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "buyWindowEndsAt",
				"type": "uint64",
				"internalType": "uint64"
			},
			{
				"name": "sellWindowEndsAt",
				"type": "uint64",
				"internalType": "uint64"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "quoteSettleThreshold",
		"inputs": [
			{
				"name": "quote",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [
			{
				"name": "threshold",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "raiseCompoundCommit",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			},
			{
				"name": "commitBps_",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "registerPool",
		"inputs": [
			{
				"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": "quote",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "creator",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "payoutRecipient_",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "feeBps",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "launchSellFeeBps",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "launchSellFeeDecay",
				"type": "uint32",
				"internalType": "uint32"
			},
			{
				"name": "launchBuyFeeBps",
				"type": "uint16",
				"internalType": "uint16"
			},
			{
				"name": "launchBuyFeeDecay",
				"type": "uint32",
				"internalType": "uint32"
			},
			{
				"name": "compoundCommitBps_",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "renounceOwnership",
		"inputs": [],
		"outputs": [],
		"stateMutability": "pure"
	},
	{
		"type": "function",
		"name": "setCompoundingPaused",
		"inputs": [
			{
				"name": "paused_",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setCreator",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			},
			{
				"name": "creator_",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setDefaultFeeBps",
		"inputs": [
			{
				"name": "feeBps_",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setGraduationSurcharge",
		"inputs": [
			{
				"name": "enabled",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setMandatoryCommit",
		"inputs": [
			{
				"name": "mandatoryCommitBps_",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setMigrator",
		"inputs": [
			{
				"name": "migrator_",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "allowed_",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setOperator",
		"inputs": [
			{
				"name": "operator",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "allowed",
				"type": "bool",
				"internalType": "bool"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setPassFactory",
		"inputs": [
			{
				"name": "factory_",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setPayoutRecipient",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"internalType": "PoolId"
			},
			{
				"name": "recipient",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setQuoteSettleThreshold",
		"inputs": [
			{
				"name": "quote",
				"type": "address",
				"internalType": "address"
			},
			{
				"name": "threshold_",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setSettleThreshold",
		"inputs": [
			{
				"name": "settleThresholdWei_",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setShares",
		"inputs": [
			{
				"name": "creatorShareBps_",
				"type": "uint16",
				"internalType": "uint16"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "setTreasury",
		"inputs": [
			{
				"name": "treasury_",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "settleThresholdFor",
		"inputs": [
			{
				"name": "quote",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "settleThresholdWei",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "transferOwnership",
		"inputs": [
			{
				"name": "newOwner",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "treasury",
		"inputs": [],
		"outputs": [
			{
				"name": "",
				"type": "address",
				"internalType": "address"
			}
		],
		"stateMutability": "view"
	},
	{
		"type": "function",
		"name": "unlockCallback",
		"inputs": [
			{
				"name": "data",
				"type": "bytes",
				"internalType": "bytes"
			}
		],
		"outputs": [
			{
				"name": "",
				"type": "bytes",
				"internalType": "bytes"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "withdrawOwed",
		"inputs": [],
		"outputs": [
			{
				"name": "amount",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "function",
		"name": "withdrawOwed",
		"inputs": [
			{
				"name": "quote",
				"type": "address",
				"internalType": "address"
			}
		],
		"outputs": [
			{
				"name": "amount",
				"type": "uint256",
				"internalType": "uint256"
			}
		],
		"stateMutability": "nonpayable"
	},
	{
		"type": "event",
		"name": "BuyWindowCancelled",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "CompoundCommitRaised",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "fromBps",
				"type": "uint16",
				"indexed": false,
				"internalType": "uint16"
			},
			{
				"name": "toBps",
				"type": "uint16",
				"indexed": false,
				"internalType": "uint16"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "CompoundSkipped",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "reason",
				"type": "bytes",
				"indexed": false,
				"internalType": "bytes"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "Compounded",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "tickLower",
				"type": "int24",
				"indexed": false,
				"internalType": "int24"
			},
			{
				"name": "tickUpper",
				"type": "int24",
				"indexed": false,
				"internalType": "int24"
			},
			{
				"name": "quoteAdded",
				"type": "uint256",
				"indexed": false,
				"internalType": "uint256"
			},
			{
				"name": "liquidity",
				"type": "uint128",
				"indexed": false,
				"internalType": "uint128"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "CompoundingPausedSet",
		"inputs": [
			{
				"name": "paused",
				"type": "bool",
				"indexed": false,
				"internalType": "bool"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "CreatorProposed",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "creator",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "proposed",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "CreatorRecoveryCancelled",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "creator",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "CreatorRecoveryProposed",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "creator",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "eta",
				"type": "uint64",
				"indexed": false,
				"internalType": "uint64"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "CreatorSet",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "previousCreator",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "creator",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "DefaultFeeSet",
		"inputs": [
			{
				"name": "feeBps",
				"type": "uint16",
				"indexed": false,
				"internalType": "uint16"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "FeeLowered",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "feeBps",
				"type": "uint16",
				"indexed": false,
				"internalType": "uint16"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "FeesSettled",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "amount",
				"type": "uint256",
				"indexed": false,
				"internalType": "uint256"
			},
			{
				"name": "creatorAmount",
				"type": "uint256",
				"indexed": false,
				"internalType": "uint256"
			},
			{
				"name": "compoundAmount",
				"type": "uint256",
				"indexed": false,
				"internalType": "uint256"
			},
			{
				"name": "treasuryAmount",
				"type": "uint256",
				"indexed": false,
				"internalType": "uint256"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "GraduationSurchargeSet",
		"inputs": [
			{
				"name": "enabled",
				"type": "bool",
				"indexed": false,
				"internalType": "bool"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "MandatoryCommitSet",
		"inputs": [
			{
				"name": "mandatoryCommitBps",
				"type": "uint16",
				"indexed": false,
				"internalType": "uint16"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "MigratorSet",
		"inputs": [
			{
				"name": "migrator",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "allowed",
				"type": "bool",
				"indexed": false,
				"internalType": "bool"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "OperatorSet",
		"inputs": [
			{
				"name": "operator",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "allowed",
				"type": "bool",
				"indexed": false,
				"internalType": "bool"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "OwedWithdrawn",
		"inputs": [
			{
				"name": "quote",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "recipient",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "amount",
				"type": "uint256",
				"indexed": false,
				"internalType": "uint256"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "OwnershipTransferStarted",
		"inputs": [
			{
				"name": "previousOwner",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "newOwner",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "OwnershipTransferred",
		"inputs": [
			{
				"name": "previousOwner",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "newOwner",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "PassFactorySet",
		"inputs": [
			{
				"name": "factory",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "PayoutOwed",
		"inputs": [
			{
				"name": "quote",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "recipient",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "amount",
				"type": "uint256",
				"indexed": false,
				"internalType": "uint256"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "PayoutRecipientSet",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "creator",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "recipient",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "PoolRegistered",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "asset",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "creator",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "feeBps",
				"type": "uint16",
				"indexed": false,
				"internalType": "uint16"
			},
			{
				"name": "launchSellFeeBps",
				"type": "uint16",
				"indexed": false,
				"internalType": "uint16"
			},
			{
				"name": "launchSellFeeDecay",
				"type": "uint32",
				"indexed": false,
				"internalType": "uint32"
			},
			{
				"name": "launchBuyFeeBps",
				"type": "uint16",
				"indexed": false,
				"internalType": "uint16"
			},
			{
				"name": "launchBuyFeeDecay",
				"type": "uint32",
				"indexed": false,
				"internalType": "uint32"
			},
			{
				"name": "compoundCommitBps",
				"type": "uint16",
				"indexed": false,
				"internalType": "uint16"
			},
			{
				"name": "quote",
				"type": "address",
				"indexed": false,
				"internalType": "address"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "QuoteSettleThresholdSet",
		"inputs": [
			{
				"name": "quote",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "threshold",
				"type": "uint256",
				"indexed": false,
				"internalType": "uint256"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "SeatCommitted",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			},
			{
				"name": "creator",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			},
			{
				"name": "clone",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "SellWindowCancelled",
		"inputs": [
			{
				"name": "poolId",
				"type": "bytes32",
				"indexed": true,
				"internalType": "PoolId"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "SettleThresholdSet",
		"inputs": [
			{
				"name": "settleThresholdWei",
				"type": "uint256",
				"indexed": false,
				"internalType": "uint256"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "SharesSet",
		"inputs": [
			{
				"name": "creatorShareBps",
				"type": "uint16",
				"indexed": false,
				"internalType": "uint16"
			}
		],
		"anonymous": false
	},
	{
		"type": "event",
		"name": "TreasurySet",
		"inputs": [
			{
				"name": "treasury",
				"type": "address",
				"indexed": true,
				"internalType": "address"
			}
		],
		"anonymous": false
	},
	{
		"type": "error",
		"name": "AlreadyRegistered",
		"inputs": []
	},
	{
		"type": "error",
		"name": "CommitNotRaised",
		"inputs": []
	},
	{
		"type": "error",
		"name": "CommitOffMenu",
		"inputs": []
	},
	{
		"type": "error",
		"name": "CreatorShareTooSmall",
		"inputs": []
	},
	{
		"type": "error",
		"name": "EthTransferFailed",
		"inputs": []
	},
	{
		"type": "error",
		"name": "FeeNotLower",
		"inputs": []
	},
	{
		"type": "error",
		"name": "FeeOffMenu",
		"inputs": []
	},
	{
		"type": "error",
		"name": "HookNotImplemented",
		"inputs": []
	},
	{
		"type": "error",
		"name": "NoRecoveryPending",
		"inputs": []
	},
	{
		"type": "error",
		"name": "NoWindow",
		"inputs": []
	},
	{
		"type": "error",
		"name": "NotLaunchpadPool",
		"inputs": []
	},
	{
		"type": "error",
		"name": "NotOperator",
		"inputs": []
	},
	{
		"type": "error",
		"name": "NotPoolManager",
		"inputs": []
	},
	{
		"type": "error",
		"name": "NotProposedCreator",
		"inputs": []
	},
	{
		"type": "error",
		"name": "OwnableInvalidOwner",
		"inputs": [
			{
				"name": "owner",
				"type": "address",
				"internalType": "address"
			}
		]
	},
	{
		"type": "error",
		"name": "OwnableUnauthorizedAccount",
		"inputs": [
			{
				"name": "account",
				"type": "address",
				"internalType": "address"
			}
		]
	},
	{
		"type": "error",
		"name": "OwnershipNotRenounceable",
		"inputs": []
	},
	{
		"type": "error",
		"name": "RecipientIsSelf",
		"inputs": []
	},
	{
		"type": "error",
		"name": "RecoveryExpired",
		"inputs": []
	},
	{
		"type": "error",
		"name": "RecoveryNotReady",
		"inputs": []
	},
	{
		"type": "error",
		"name": "ReentrancyGuardReentrantCall",
		"inputs": []
	},
	{
		"type": "error",
		"name": "SafeCastOverflowedIntDowncast",
		"inputs": [
			{
				"name": "bits",
				"type": "uint8",
				"internalType": "uint8"
			},
			{
				"name": "value",
				"type": "int256",
				"internalType": "int256"
			}
		]
	},
	{
		"type": "error",
		"name": "SafeCastOverflowedIntToUint",
		"inputs": [
			{
				"name": "value",
				"type": "int256",
				"internalType": "int256"
			}
		]
	},
	{
		"type": "error",
		"name": "SafeCastOverflowedUintToInt",
		"inputs": [
			{
				"name": "value",
				"type": "uint256",
				"internalType": "uint256"
			}
		]
	},
	{
		"type": "error",
		"name": "SafeERC20FailedOperation",
		"inputs": [
			{
				"name": "token",
				"type": "address",
				"internalType": "address"
			}
		]
	},
	{
		"type": "error",
		"name": "SenderNotPoolManager",
		"inputs": []
	},
	{
		"type": "error",
		"name": "SplitTooLarge",
		"inputs": []
	},
	{
		"type": "error",
		"name": "SurchargeWindowTooLong",
		"inputs": []
	},
	{
		"type": "error",
		"name": "ThresholdTooLow",
		"inputs": []
	},
	{
		"type": "error",
		"name": "Unauthorized",
		"inputs": []
	},
	{
		"type": "error",
		"name": "UnknownPool",
		"inputs": []
	},
	{
		"type": "error",
		"name": "ZeroAddress",
		"inputs": []
	},
	{
		"type": "error",
		"name": "ZeroOperator",
		"inputs": []
	}
]
