[{"type":"constructor","inputs":[{"name":"_poolManager","type":"address","internalType":"contract IPoolManager"},{"name":"_hook","type":"address","internalType":"contract CaptainHook"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEV_LOCK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_ALLOWLIST","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TICK_SPACING","inputs":[],"outputs":[{"name":"","type":"int24","internalType":"int24"}],"stateMutability":"view"},{"type":"function","name":"devLocks","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"creator","type":"address","internalType":"address"},{"name":"unlockAt","type":"uint64","internalType":"uint64"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract CaptainHook"}],"stateMutability":"view"},{"type":"function","name":"keyOf","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"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"}]}],"stateMutability":"view"},{"type":"function","name":"launch","inputs":[{"name":"p","type":"tuple","internalType":"struct CaptainHookFactory.LaunchParams","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"startMcap","type":"uint256","internalType":"uint256"},{"name":"settings","type":"tuple","internalType":"struct CaptainHookFactory.Settings","components":[{"name":"baseFee","type":"uint24","internalType":"uint24"},{"name":"dynamicFee","type":"bool","internalType":"bool"},{"name":"dynBase","type":"uint24","internalType":"uint24"},{"name":"dynMax","type":"uint24","internalType":"uint24"},{"name":"dynSensitivity","type":"uint16","internalType":"uint16"},{"name":"snipeWindow","type":"uint32","internalType":"uint32"},{"name":"snipeStartFee","type":"uint24","internalType":"uint24"},{"name":"snipeMaxBuy","type":"uint24","internalType":"uint24"},{"name":"maxTxWindow","type":"uint32","internalType":"uint32"},{"name":"maxTxShare","type":"uint24","internalType":"uint24"},{"name":"buyTax","type":"uint24","internalType":"uint24"},{"name":"sellTax","type":"uint24","internalType":"uint24"},{"name":"sandwichGuard","type":"bool","internalType":"bool"},{"name":"allowlistWindow","type":"uint32","internalType":"uint32"},{"name":"team","type":"address","internalType":"address"},{"name":"teamShare","type":"uint24","internalType":"uint24"},{"name":"buybackShare","type":"uint24","internalType":"uint24"},{"name":"buybackEvery","type":"uint16","internalType":"uint16"},{"name":"burnShare","type":"uint24","internalType":"uint24"},{"name":"vestShare","type":"uint24","internalType":"uint24"},{"name":"vestCliff","type":"uint32","internalType":"uint32"},{"name":"vestDuration","type":"uint32","internalType":"uint32"}]},{"name":"meta","type":"tuple","internalType":"struct Metadata","components":[{"name":"description","type":"string","internalType":"string"},{"name":"image","type":"string","internalType":"string"},{"name":"website","type":"string","internalType":"string"},{"name":"x","type":"string","internalType":"string"},{"name":"telegram","type":"string","internalType":"string"}]},{"name":"allowlist","type":"address[]","internalType":"address[]"}]}],"outputs":[{"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":"token","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"launchPrice","inputs":[{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"startMcap","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"sqrtPriceX96","type":"uint160","internalType":"uint160"},{"name":"tick","type":"int24","internalType":"int24"}],"stateMutability":"pure"},{"type":"function","name":"poolManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPoolManager"}],"stateMutability":"view"},{"type":"function","name":"positions","inputs":[{"name":"","type":"bytes32","internalType":"PoolId"}],"outputs":[{"name":"creator","type":"address","internalType":"address"},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"liquidity","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"releaseDevTokens","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"releaseVested","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toRules","inputs":[{"name":"s","type":"tuple","internalType":"struct CaptainHookFactory.Settings","components":[{"name":"baseFee","type":"uint24","internalType":"uint24"},{"name":"dynamicFee","type":"bool","internalType":"bool"},{"name":"dynBase","type":"uint24","internalType":"uint24"},{"name":"dynMax","type":"uint24","internalType":"uint24"},{"name":"dynSensitivity","type":"uint16","internalType":"uint16"},{"name":"snipeWindow","type":"uint32","internalType":"uint32"},{"name":"snipeStartFee","type":"uint24","internalType":"uint24"},{"name":"snipeMaxBuy","type":"uint24","internalType":"uint24"},{"name":"maxTxWindow","type":"uint32","internalType":"uint32"},{"name":"maxTxShare","type":"uint24","internalType":"uint24"},{"name":"buyTax","type":"uint24","internalType":"uint24"},{"name":"sellTax","type":"uint24","internalType":"uint24"},{"name":"sandwichGuard","type":"bool","internalType":"bool"},{"name":"allowlistWindow","type":"uint32","internalType":"uint32"},{"name":"team","type":"address","internalType":"address"},{"name":"teamShare","type":"uint24","internalType":"uint24"},{"name":"buybackShare","type":"uint24","internalType":"uint24"},{"name":"buybackEvery","type":"uint16","internalType":"uint16"},{"name":"burnShare","type":"uint24","internalType":"uint24"},{"name":"vestShare","type":"uint24","internalType":"uint24"},{"name":"vestCliff","type":"uint32","internalType":"uint32"},{"name":"vestDuration","type":"uint32","internalType":"uint32"}]},{"name":"supply","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"r","type":"tuple","internalType":"struct Rules","components":[{"name":"baseFee","type":"uint24","internalType":"uint24"},{"name":"dynamicFee","type":"bool","internalType":"bool"},{"name":"dynBase","type":"uint24","internalType":"uint24"},{"name":"dynMax","type":"uint24","internalType":"uint24"},{"name":"dynSensitivity","type":"uint16","internalType":"uint16"},{"name":"snipeWindow","type":"uint16","internalType":"uint16"},{"name":"snipeStartFee","type":"uint24","internalType":"uint24"},{"name":"maxTxWindow","type":"uint32","internalType":"uint32"},{"name":"buyTax","type":"uint24","internalType":"uint24"},{"name":"sellTax","type":"uint24","internalType":"uint24"},{"name":"sandwichGuard","type":"bool","internalType":"bool"},{"name":"allowlistWindow","type":"uint16","internalType":"uint16"},{"name":"payouts","type":"bool","internalType":"bool"}]},{"name":"c","type":"tuple","internalType":"struct Caps","components":[{"name":"snipeMaxBuy","type":"uint128","internalType":"uint128"},{"name":"maxTxAmount","type":"uint128","internalType":"uint128"}]},{"name":"p","type":"tuple","internalType":"struct Payouts","components":[{"name":"team","type":"address","internalType":"address"},{"name":"teamShare","type":"uint24","internalType":"uint24"},{"name":"buybackShare","type":"uint24","internalType":"uint24"},{"name":"buybackEvery","type":"uint16","internalType":"uint16"},{"name":"burnShare","type":"uint24","internalType":"uint24"}]}],"stateMutability":"pure"},{"type":"function","name":"tokenCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tokens","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"vestedOf","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"vestings","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"start","type":"uint64","internalType":"uint64"},{"name":"cliff","type":"uint32","internalType":"uint32"},{"name":"duration","type":"uint32","internalType":"uint32"},{"name":"total","type":"uint128","internalType":"uint128"},{"name":"released","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"event","name":"DevBuyLocked","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"eth","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"tokens","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"unlockAt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DevTokensReleased","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"tokens","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Launched","inputs":[{"name":"id","type":"bytes32","indexed":true,"internalType":"PoolId"},{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"supply","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"tick","type":"int24","indexed":false,"internalType":"int24"}],"anonymous":false},{"type":"event","name":"VestingReleased","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"wallet","type":"address","indexed":true,"internalType":"address"},{"name":"tokens","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"VestingStarted","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"wallet","type":"address","indexed":true,"internalType":"address"},{"name":"tokens","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"cliffEnds","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"vestEnds","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"BadSetting","inputs":[{"name":"what","type":"string","internalType":"string"}]},{"type":"error","name":"BadSupply","inputs":[]},{"type":"error","name":"NotPoolManager","inputs":[]},{"type":"error","name":"NothingLocked","inputs":[]},{"type":"error","name":"NothingVested","inputs":[]},{"type":"error","name":"StillLocked","inputs":[{"name":"unlockAt","type":"uint256","internalType":"uint256"}]}]