[{"type":"error","name":"AlreadyRegistered","inputs":[]},{"type":"error","name":"AlreadySeeded","inputs":[]},{"type":"error","name":"AmountNotOwed","inputs":[{"name":"requested","type":"uint256"},{"name":"owed","type":"uint256"}]},{"type":"error","name":"DonationsLocked","inputs":[]},{"type":"error","name":"FeeIsLocked","inputs":[]},{"type":"error","name":"FeeOutOfBounds","inputs":[]},{"type":"error","name":"InexactDebit","inputs":[{"name":"debited","type":"uint256"},{"name":"wanted","type":"uint256"}]},{"type":"error","name":"InexactRedemption","inputs":[{"name":"expected","type":"uint256"}]},{"type":"error","name":"InsufficientSeedSupply","inputs":[{"name":"required","type":"uint256"},{"name":"held","type":"uint256"}]},{"type":"error","name":"InvalidFeeConfig","inputs":[]},{"type":"error","name":"InvalidModule","inputs":[{"name":"module","type":"address"}]},{"type":"error","name":"InvalidPoolKey","inputs":[]},{"type":"error","name":"InvalidRecipient","inputs":[{"name":"who","type":"address"}]},{"type":"error","name":"InvalidStartTick","inputs":[{"name":"startTick","type":"int24"}]},{"type":"error","name":"InvalidTickSpacing","inputs":[{"name":"tickSpacing","type":"int24"}]},{"type":"error","name":"InvalidVault","inputs":[{"name":"vault","type":"address"}]},{"type":"error","name":"LiquidityRefused","inputs":[]},{"type":"error","name":"LiquiditySealed","inputs":[]},{"type":"error","name":"NativeTransferFailed","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotPoolManager","inputs":[]},{"type":"error","name":"NotRecipient","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address"}]},{"type":"error","name":"OwnershipCannotBeRenounced","inputs":[]},{"type":"error","name":"PartialFillRejected","inputs":[]},{"type":"error","name":"PastOpening","inputs":[]},{"type":"error","name":"PoolNotAtStartTick","inputs":[]},{"type":"error","name":"PoolNotSeeded","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address"}]},{"type":"error","name":"SeedLiquidityAboveTickCap","inputs":[{"name":"liquidity","type":"uint128"},{"name":"cap","type":"uint128"}]},{"type":"error","name":"SeedLiquidityZero","inputs":[]},{"type":"error","name":"SeedNotSingleSided","inputs":[]},{"type":"error","name":"SelfPayment","inputs":[]},{"type":"error","name":"SelfPayment","inputs":[]},{"type":"error","name":"UnknownPool","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]},{"type":"event","name":"CreatorFeesClaimed","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"to","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"FeeAccrued","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"zeroForOne","type":"bool","indexed":false},{"name":"amountSpecified","type":"int256","indexed":false},{"name":"fee","type":"uint256","indexed":false},{"name":"protocolPart","type":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"FeeLocked","inputs":[{"name":"poolId","type":"bytes32","indexed":true}],"anonymous":false},{"type":"event","name":"FeesSwept","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"caller","type":"address","indexed":true},{"name":"creatorAmount","type":"uint256","indexed":false},{"name":"protocolAmount","type":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Graduated","inputs":[{"name":"poolId","type":"bytes32","indexed":true}],"anonymous":false},{"type":"event","name":"LpFeeActivated","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"lpFee","type":"uint24","indexed":false}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true},{"name":"newOwner","type":"address","indexed":true}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true},{"name":"newOwner","type":"address","indexed":true}],"anonymous":false},{"type":"event","name":"PoolRegistered","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"recipient","type":"address","indexed":true},{"name":"registration","type":"tuple","indexed":false,"internalType":"struct LaunchHook.Registration","components":[{"name":"recipient","type":"address"},{"name":"quote","type":"address"},{"name":"totalFeePips","type":"uint24"},{"name":"totalFeeMinPips","type":"uint24"},{"name":"protocolFeePips","type":"uint24"},{"name":"lpFeePips","type":"uint24"},{"name":"feeLocked","type":"bool"},{"name":"earlyBuyFeeStartPips","type":"uint24"},{"name":"earlyBuyFeeWindow","type":"uint32"},{"name":"liquidityPolicy","type":"address"},{"name":"liquiditySealed","type":"bool"},{"name":"graduationTicks","type":"uint24"},{"name":"lpLineTicks","type":"uint24"}]}],"anonymous":false},{"type":"event","name":"PoolSeeded","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"tickLower","type":"int24","indexed":false},{"name":"tickUpper","type":"int24","indexed":false},{"name":"liquidity","type":"uint128","indexed":false},{"name":"dustBurned","type":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"ProtocolCollected","inputs":[{"name":"currency","type":"address","indexed":true},{"name":"vault","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"ProtocolFeeUpdated","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"oldFee","type":"uint24","indexed":false},{"name":"newFee","type":"uint24","indexed":false}],"anonymous":false},{"type":"event","name":"ProtocolVaultUpdated","inputs":[{"name":"oldVault","type":"address","indexed":true},{"name":"newVault","type":"address","indexed":true}],"anonymous":false},{"type":"event","name":"RecipientUpdated","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"oldRecipient","type":"address","indexed":true},{"name":"newRecipient","type":"address","indexed":true}],"anonymous":false},{"type":"event","name":"SeedFeesHarvested","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"caller","type":"address","indexed":true},{"name":"quoteToCreator","type":"uint256","indexed":false},{"name":"tokensBurned","type":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"TotalFeeUpdated","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"oldFee","type":"uint24","indexed":false},{"name":"newFee","type":"uint24","indexed":false}],"anonymous":false},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"afterInitialize","inputs":[{"name":"","type":"address"},{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"","type":"uint160"},{"name":"","type":"int24"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"afterSwap","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"params","type":"tuple","internalType":"struct SwapParams","components":[{"name":"zeroForOne","type":"bool"},{"name":"amountSpecified","type":"int256"},{"name":"sqrtPriceLimitX96","type":"uint160"}]},{"name":"delta","type":"int256"},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"},{"name":"","type":"int128"}],"stateMutability":"nonpayable"},{"type":"function","name":"beforeAddLiquidity","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"params","type":"tuple","internalType":"struct ModifyLiquidityParams","components":[{"name":"tickLower","type":"int24"},{"name":"tickUpper","type":"int24"},{"name":"liquidityDelta","type":"int256"},{"name":"salt","type":"bytes32"}]},{"name":"hookData","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"beforeDonate","inputs":[{"name":"","type":"address"},{"name":"","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"pure"},{"type":"function","name":"beforeInitialize","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"","type":"uint160"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"beforeSwap","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"params","type":"tuple","internalType":"struct SwapParams","components":[{"name":"zeroForOne","type":"bool"},{"name":"amountSpecified","type":"int256"},{"name":"sqrtPriceLimitX96","type":"uint160"}]},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"},{"name":"","type":"int256"},{"name":"","type":"uint24"}],"stateMutability":"nonpayable"},{"type":"function","name":"claim","inputs":[{"name":"poolId","type":"bytes32"},{"name":"to","type":"address"}],"outputs":[{"name":"amount","type":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimTab","inputs":[{"name":"poolId","type":"bytes32"},{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"collectProtocol","inputs":[{"name":"currency","type":"address"}],"outputs":[{"name":"amount","type":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"creatorTabTotal","inputs":[{"name":"","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentBuyFeeRate","inputs":[{"name":"poolId","type":"bytes32"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentFeeRate","inputs":[{"name":"poolId","type":"bytes32"},{"name":"","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"custodyOwed","inputs":[{"name":"currency","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"factory","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"getHookPermissions","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct Hooks.Permissions","components":[{"name":"beforeInitialize","type":"bool"},{"name":"afterInitialize","type":"bool"},{"name":"beforeAddLiquidity","type":"bool"},{"name":"afterAddLiquidity","type":"bool"},{"name":"beforeRemoveLiquidity","type":"bool"},{"name":"afterRemoveLiquidity","type":"bool"},{"name":"beforeSwap","type":"bool"},{"name":"afterSwap","type":"bool"},{"name":"beforeDonate","type":"bool"},{"name":"afterDonate","type":"bool"},{"name":"beforeSwapReturnDelta","type":"bool"},{"name":"afterSwapReturnDelta","type":"bool"},{"name":"afterAddLiquidityReturnDelta","type":"bool"},{"name":"afterRemoveLiquidityReturnDelta","type":"bool"}]}],"stateMutability":"pure"},{"type":"function","name":"harvestSeed","inputs":[{"name":"poolId","type":"bytes32"}],"outputs":[{"name":"quoteToCreator","type":"uint256"},{"name":"tokensBurned","type":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"lockFee","inputs":[{"name":"poolId","type":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lowerProtocolFee","inputs":[{"name":"poolId","type":"bytes32"},{"name":"protocolFee","type":"uint24"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lowerTotalFee","inputs":[{"name":"poolId","type":"bytes32"},{"name":"totalFee","type":"uint24"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lpLineHold","inputs":[],"outputs":[{"name":"","type":"uint16"}],"stateMutability":"view"},{"type":"function","name":"MAX_EARLY_BUY_FEE_PIPS","inputs":[],"outputs":[{"name":"","type":"uint24"}],"stateMutability":"view"},{"type":"function","name":"MAX_EARLY_BUY_FEE_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MAX_TOTAL_FEE_PIPS","inputs":[],"outputs":[{"name":"","type":"uint24"}],"stateMutability":"view"},{"type":"function","name":"MODULE_GAS","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCreator","inputs":[{"name":"poolId","type":"bytes32"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingProtocol","inputs":[{"name":"poolId","type":"bytes32"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"poolConfig","inputs":[{"name":"poolId","type":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct LaunchHook.PoolConfig","components":[{"name":"totalFeePips","type":"uint24"},{"name":"lpFeePips","type":"uint24"},{"name":"protocolFeePips","type":"uint24"},{"name":"exists","type":"bool"},{"name":"quoteIsCurrency0","type":"bool"},{"name":"liquiditySealed","type":"bool"},{"name":"seeded","type":"bool"},{"name":"feeLocked","type":"bool"},{"name":"earlyBuyFeeUntil","type":"uint40"},{"name":"graduationTick","type":"int24"},{"name":"lpLineTick","type":"int24"},{"name":"stage","type":"uint8","internalType":"enum LaunchHook.Stage"},{"name":"lpCrossedAt","type":"uint32"},{"name":"lpHeldSeconds","type":"uint16"},{"name":"totalFeeMinPips","type":"uint24"},{"name":"totalFeeMaxPips","type":"uint24"},{"name":"liquidityPolicy","type":"address"},{"name":"seedTickLower","type":"int24"},{"name":"seedTickUpper","type":"int24"},{"name":"earlyBuyFeeStartPips","type":"uint24"},{"name":"earlyBuyFeeWindow","type":"uint32"},{"name":"seedLiquidity","type":"uint128"},{"name":"recipient","type":"address"}]}],"stateMutability":"view"},{"type":"function","name":"poolKey","inputs":[{"name":"poolId","type":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]}],"stateMutability":"view"},{"type":"function","name":"poolManager","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"protocolTab","inputs":[{"name":"","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"protocolVault","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"quoteOf","inputs":[{"name":"poolId","type":"bytes32"}],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"recipientOf","inputs":[{"name":"poolId","type":"bytes32"}],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"register","inputs":[{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"r","type":"tuple","internalType":"struct LaunchHook.Registration","components":[{"name":"recipient","type":"address"},{"name":"quote","type":"address"},{"name":"totalFeePips","type":"uint24"},{"name":"totalFeeMinPips","type":"uint24"},{"name":"protocolFeePips","type":"uint24"},{"name":"lpFeePips","type":"uint24"},{"name":"feeLocked","type":"bool"},{"name":"earlyBuyFeeStartPips","type":"uint24"},{"name":"earlyBuyFeeWindow","type":"uint32"},{"name":"liquidityPolicy","type":"address"},{"name":"liquiditySealed","type":"bool"},{"name":"graduationTicks","type":"uint24"},{"name":"lpLineTicks","type":"uint24"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"seed","inputs":[{"name":"poolId","type":"bytes32"},{"name":"startTick","type":"int24"},{"name":"supply","type":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolVault","inputs":[{"name":"newVault","type":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sweep","inputs":[{"name":"poolId","type":"bytes32"}],"outputs":[{"name":"creatorAmount","type":"uint256"},{"name":"protocolAmount","type":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"tab","inputs":[{"name":"","type":"bytes32"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockCallback","inputs":[{"name":"data","type":"bytes"}],"outputs":[{"name":"","type":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateRecipient","inputs":[{"name":"poolId","type":"bytes32"},{"name":"newRecipient","type":"address"}],"outputs":[],"stateMutability":"nonpayable"}]