[{"type":"constructor","inputs":[{"name":"_poolManager","type":"address","internalType":"contract IPoolManager"},{"name":"_hook","type":"address","internalType":"contract CaptainHookV2"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_DEV_LOCK_DAYS","inputs":[],"outputs":[{"name":"","type":"uint16","internalType":"uint16"}],"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":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract CaptainHookV2"}],"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 CaptainFactoryV2.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 CaptainFactoryV2.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":"walletCapWindow","type":"uint32","internalType":"uint32"},{"name":"walletCapShare","type":"uint24","internalType":"uint24"},{"name":"buyTax","type":"uint24","internalType":"uint24"},{"name":"sellTax","type":"uint24","internalType":"uint24"},{"name":"exitStartFee","type":"uint24","internalType":"uint24"},{"name":"exitPeriod","type":"uint32","internalType":"uint32"},{"name":"sandwichGuard","type":"bool","internalType":"bool"},{"name":"allowlistWindow","type":"uint32","internalType":"uint32"},{"name":"buybackShare","type":"uint24","internalType":"uint24"},{"name":"buybackEvery","type":"uint16","internalType":"uint16"},{"name":"burnShare","type":"uint24","internalType":"uint24"},{"name":"vestWallet","type":"address","internalType":"address"},{"name":"vestShare","type":"uint24","internalType":"uint24"},{"name":"vestCliff","type":"uint32","internalType":"uint32"},{"name":"vestDuration","type":"uint32","internalType":"uint32"},{"name":"devLockDays","type":"uint16","internalType":"uint16"}]},{"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":"payees","type":"tuple[]","internalType":"struct Payee[]","components":[{"name":"wallet","type":"address","internalType":"address"},{"name":"share","type":"uint24","internalType":"uint24"}]},{"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":"toRules","inputs":[{"name":"s","type":"tuple","internalType":"struct CaptainFactoryV2.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":"walletCapWindow","type":"uint32","internalType":"uint32"},{"name":"walletCapShare","type":"uint24","internalType":"uint24"},{"name":"buyTax","type":"uint24","internalType":"uint24"},{"name":"sellTax","type":"uint24","internalType":"uint24"},{"name":"exitStartFee","type":"uint24","internalType":"uint24"},{"name":"exitPeriod","type":"uint32","internalType":"uint32"},{"name":"sandwichGuard","type":"bool","internalType":"bool"},{"name":"allowlistWindow","type":"uint32","internalType":"uint32"},{"name":"buybackShare","type":"uint24","internalType":"uint24"},{"name":"buybackEvery","type":"uint16","internalType":"uint16"},{"name":"burnShare","type":"uint24","internalType":"uint24"},{"name":"vestWallet","type":"address","internalType":"address"},{"name":"vestShare","type":"uint24","internalType":"uint24"},{"name":"vestCliff","type":"uint32","internalType":"uint32"},{"name":"vestDuration","type":"uint32","internalType":"uint32"},{"name":"devLockDays","type":"uint16","internalType":"uint16"}]},{"name":"payees","type":"tuple[]","internalType":"struct Payee[]","components":[{"name":"wallet","type":"address","internalType":"address"},{"name":"share","type":"uint24","internalType":"uint24"}]},{"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":"extras","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":"payeeShare","type":"uint24","internalType":"uint24"},{"name":"payeeCount","type":"uint8","internalType":"uint8"},{"name":"buybackShare","type":"uint24","internalType":"uint24"},{"name":"buybackEvery","type":"uint16","internalType":"uint16"},{"name":"burnShare","type":"uint24","internalType":"uint24"}]},{"name":"e","type":"tuple","internalType":"struct Extras","components":[{"name":"walletCapWindow","type":"uint32","internalType":"uint32"},{"name":"exitStartFee","type":"uint24","internalType":"uint24"},{"name":"exitPeriod","type":"uint32","internalType":"uint32"},{"name":"walletCap","type":"uint128","internalType":"uint128"}]}],"stateMutability":"view"},{"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract CaptainVault"}],"stateMutability":"view"},{"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":"error","name":"BadSetting","inputs":[{"name":"what","type":"string","internalType":"string"}]},{"type":"error","name":"BadSupply","inputs":[]},{"type":"error","name":"NotPoolManager","inputs":[]}]