@zoralabs/limit-orders 0.2.7 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/.turbo/turbo-build$colon$js.log +44 -44
  2. package/CHANGELOG.md +8 -0
  3. package/cache/solidity-files-cache.json +1 -1
  4. package/foundry.toml +1 -0
  5. package/out/BalanceDelta.sol/BalanceDeltaLibrary.json +1 -1
  6. package/out/BeforeSwapDelta.sol/BeforeSwapDeltaLibrary.json +1 -1
  7. package/out/BitMath.sol/BitMath.json +1 -1
  8. package/out/BytesLib.sol/BytesLib.json +1 -1
  9. package/out/CoinCommon.sol/CoinCommon.json +1 -1
  10. package/out/CoinConfigurationVersions.sol/CoinConfigurationVersions.json +1 -1
  11. package/out/CoinConstants.sol/CoinConstants.json +1 -1
  12. package/out/Context.sol/Context.json +1 -1
  13. package/out/ContractVersionBase.sol/ContractVersionBase.json +1 -1
  14. package/out/Currency.sol/CurrencyLibrary.json +1 -1
  15. package/out/CurrencyReserves.sol/CurrencyReserves.json +1 -1
  16. package/out/CustomRevert.sol/CustomRevert.json +1 -1
  17. package/out/DopplerMath.sol/DopplerMath.json +1 -1
  18. package/out/FixedPoint128.sol/FixedPoint128.json +1 -1
  19. package/out/FixedPoint96.sol/FixedPoint96.json +1 -1
  20. package/out/FullMath.sol/FullMath.json +1 -1
  21. package/out/IAllowanceTransfer.sol/IAllowanceTransfer.json +1 -1
  22. package/out/ICoin.sol/ICoin.json +1 -1
  23. package/out/ICoin.sol/IHasCoinType.json +1 -1
  24. package/out/ICoin.sol/IHasPoolKey.json +1 -1
  25. package/out/ICoin.sol/IHasSwapPath.json +1 -1
  26. package/out/ICoin.sol/IHasTotalSupplyForPositions.json +1 -1
  27. package/out/IDeployedCoinVersionLookup.sol/IDeployedCoinVersionLookup.json +1 -1
  28. package/out/IDopplerErrors.sol/IDopplerErrors.json +1 -1
  29. package/out/IEIP712.sol/IEIP712.json +1 -1
  30. package/out/IERC1363.sol/IERC1363.json +1 -1
  31. package/out/IERC165.sol/IERC165.json +1 -1
  32. package/out/IERC20.sol/IERC20.json +1 -1
  33. package/out/IERC20Minimal.sol/IERC20Minimal.json +1 -1
  34. package/out/IERC6909Claims.sol/IERC6909Claims.json +1 -1
  35. package/out/IERC7572.sol/IERC7572.json +1 -1
  36. package/out/IExtsload.sol/IExtsload.json +1 -1
  37. package/out/IExttload.sol/IExttload.json +1 -1
  38. package/out/IHasRewardsRecipients.sol/IHasRewardsRecipients.json +1 -1
  39. package/out/IHooks.sol/IHooks.json +1 -1
  40. package/out/IMsgSender.sol/IMsgSender.json +1 -1
  41. package/out/IPoolManager.sol/IPoolManager.json +1 -1
  42. package/out/IProtocolFees.sol/IProtocolFees.json +1 -1
  43. package/out/ISupportsLimitOrderFill.sol/ISupportsLimitOrderFill.json +1 -1
  44. package/out/ISwapPathRouter.sol/ISwapPathRouter.json +1 -1
  45. package/out/ISwapRouter.sol/ISwapRouter.json +1 -1
  46. package/out/IUniswapV3SwapCallback.sol/IUniswapV3SwapCallback.json +1 -1
  47. package/out/IUpgradeableV4Hook.sol/IUpgradeableDestinationV4Hook.json +1 -1
  48. package/out/IUpgradeableV4Hook.sol/IUpgradeableDestinationV4HookWithUpdateableFee.json +1 -1
  49. package/out/IUpgradeableV4Hook.sol/IUpgradeableV4Hook.json +1 -1
  50. package/out/IVersionedContract.sol/IVersionedContract.json +1 -1
  51. package/out/IWETH.sol/IWETH.json +1 -1
  52. package/out/IZoraHookRegistry.sol/IZoraHookRegistry.json +1 -1
  53. package/out/IZoraLimitOrderBook.sol/IZoraLimitOrderBook.json +1 -1
  54. package/out/IZoraLimitOrderBookCoinsInterface.sol/IZoraLimitOrderBookCoinsInterface.json +1 -1
  55. package/out/IZoraV4CoinHook.sol/IZoraV4CoinHook.json +1 -1
  56. package/out/LimitOrderBitmap.sol/LimitOrderBitmap.json +1 -1
  57. package/out/LimitOrderCommon.sol/LimitOrderCommon.json +1 -1
  58. package/out/LimitOrderCreate.sol/LimitOrderCreate.json +1 -1
  59. package/out/LimitOrderFill.sol/LimitOrderFill.json +1 -1
  60. package/out/LimitOrderLiquidity.sol/LimitOrderLiquidity.json +1 -1
  61. package/out/LimitOrderQueues.sol/LimitOrderQueues.json +1 -1
  62. package/out/LimitOrderStorage.sol/LimitOrderStorage.json +1 -1
  63. package/out/LimitOrderTypes.sol/LimitOrderTypes.json +1 -1
  64. package/out/LimitOrderViews.sol/LimitOrderViews.json +1 -1
  65. package/out/LimitOrderWithdraw.sol/LimitOrderWithdraw.json +1 -1
  66. package/out/LiquidityAmounts.sol/LiquidityAmounts.json +1 -1
  67. package/out/LiquidityMath.sol/LiquidityMath.json +1 -1
  68. package/out/Lock.sol/Lock.json +1 -1
  69. package/out/NonzeroDeltaCount.sol/NonzeroDeltaCount.json +1 -1
  70. package/out/Ownable.sol/Ownable.json +1 -1
  71. package/out/Ownable2Step.sol/Ownable2Step.json +1 -1
  72. package/out/Path.sol/Path.json +1 -1
  73. package/out/PathKey.sol/PathKeyLibrary.json +1 -1
  74. package/out/Permit2Payments.sol/Permit2Payments.json +1 -1
  75. package/out/PermittedCallers.sol/PermittedCallers.json +1 -1
  76. package/out/PoolId.sol/PoolIdLibrary.json +1 -1
  77. package/out/Position.sol/Position.json +1 -1
  78. package/out/SafeCast.sol/SafeCast.json +1 -1
  79. package/out/SafeCast160.sol/SafeCast160.json +1 -1
  80. package/out/SafeERC20.sol/SafeERC20.json +1 -1
  81. package/out/SqrtPriceMath.sol/SqrtPriceMath.json +1 -1
  82. package/out/StateLibrary.sol/StateLibrary.json +1 -1
  83. package/out/SwapLimitOrders.sol/SwapLimitOrders.json +1 -1
  84. package/out/SwapWithLimitOrders.sol/SwapWithLimitOrders.json +1 -1
  85. package/out/TickBitmap.sol/TickBitmap.json +1 -1
  86. package/out/TickMath.sol/TickMath.json +1 -1
  87. package/out/TransientSlot.sol/TransientSlot.json +1 -1
  88. package/out/TransientStateLibrary.sol/TransientStateLibrary.json +1 -1
  89. package/out/UniV4SwapToCurrency.sol/UniV4SwapToCurrency.json +1 -1
  90. package/out/UnsafeMath.sol/UnsafeMath.json +1 -1
  91. package/out/V3ToV4SwapLib.sol/V3ToV4SwapLib.json +1 -1
  92. package/out/ZoraLimitOrderBook.sol/ZoraLimitOrderBook.json +1 -1
  93. package/out/build-info/{fcf3d601c2943dea.json → 2605948752e570d1.json} +1 -1
  94. package/out/uniswap/BitMath.sol/BitMath.json +1 -1
  95. package/out/uniswap/CustomRevert.sol/CustomRevert.json +1 -1
  96. package/out/uniswap/FullMath.sol/FullMath.json +1 -1
  97. package/out/uniswap/SafeCast.sol/SafeCast.json +1 -1
  98. package/out/uniswap/TickMath.sol/TickMath.json +1 -1
  99. package/package.json +3 -3
  100. package/src/version/ContractVersionBase.sol +1 -1
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"airlock","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coinType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IHasCoinType.CoinType"}],"stateMutability":"view"},{"type":"function","name":"contractURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"currency","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"dopplerFeeRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getPayoutSwapPath","inputs":[{"name":"coinVersionLookup","type":"address","internalType":"contract IDeployedCoinVersionLookup"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IHasSwapPath.PayoutSwapPath","components":[{"name":"path","type":"tuple[]","internalType":"struct PathKey[]","components":[{"name":"intermediateCurrency","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"contract IHooks"},{"name":"hookData","type":"bytes","internalType":"bytes"}]},{"name":"currencyIn","type":"address","internalType":"Currency"}]}],"stateMutability":"view"},{"type":"function","name":"getPoolConfiguration","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct PoolConfiguration","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"numPositions","type":"uint16","internalType":"uint16"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"numDiscoveryPositions","type":"uint16[]","internalType":"uint16[]"},{"name":"tickLower","type":"int24[]","internalType":"int24[]"},{"name":"tickUpper","type":"int24[]","internalType":"int24[]"},{"name":"maxDiscoverySupplyShare","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"getPoolKey","inputs":[],"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":"hooks","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IHooks"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"payoutRecipient_","type":"address","internalType":"address"},{"name":"owners_","type":"address[]","internalType":"address[]"},{"name":"tokenURI_","type":"string","internalType":"string"},{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"platformReferrer_","type":"address","internalType":"address"},{"name":"currency_","type":"address","internalType":"address"},{"name":"poolKey_","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":"poolConfiguration_","type":"tuple","internalType":"struct PoolConfiguration","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"numPositions","type":"uint16","internalType":"uint16"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"numDiscoveryPositions","type":"uint16[]","internalType":"uint16[]"},{"name":"tickLower","type":"int24[]","internalType":"int24[]"},{"name":"tickUpper","type":"int24[]","internalType":"int24[]"},{"name":"maxDiscoverySupplyShare","type":"uint256[]","internalType":"uint256[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"payoutRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"platformReferrer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"protocolRewardRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setNameAndSymbol","inputs":[{"name":"newName","type":"string","internalType":"string"},{"name":"newSymbol","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyForPositions","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"CoinBuy","inputs":[{"name":"buyer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"tradeReferrer","type":"address","indexed":true,"internalType":"address"},{"name":"coinsPurchased","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"amountFee","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountSold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CoinMarketRewards","inputs":[{"name":"payoutRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"platformReferrer","type":"address","indexed":true,"internalType":"address"},{"name":"protocolRewardRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"marketRewards","type":"tuple","indexed":false,"internalType":"struct ICoin.MarketRewards","components":[{"name":"totalAmountCurrency","type":"uint256","internalType":"uint256"},{"name":"totalAmountCoin","type":"uint256","internalType":"uint256"},{"name":"creatorPayoutAmountCurrency","type":"uint256","internalType":"uint256"},{"name":"creatorPayoutAmountCoin","type":"uint256","internalType":"uint256"},{"name":"platformReferrerAmountCurrency","type":"uint256","internalType":"uint256"},{"name":"platformReferrerAmountCoin","type":"uint256","internalType":"uint256"},{"name":"protocolAmountCurrency","type":"uint256","internalType":"uint256"},{"name":"protocolAmountCoin","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"CoinPayoutRecipientUpdated","inputs":[{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"prevRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"newRecipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CoinSell","inputs":[{"name":"seller","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"tradeReferrer","type":"address","indexed":true,"internalType":"address"},{"name":"coinsSold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"amountFee","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountPurchased","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CoinTradeRewards","inputs":[{"name":"payoutRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"platformReferrer","type":"address","indexed":true,"internalType":"address"},{"name":"tradeReferrer","type":"address","indexed":true,"internalType":"address"},{"name":"protocolRewardRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"creatorReward","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"platformReferrerReward","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"traderReferrerReward","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"protocolReward","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CoinTransfer","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"senderBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"recipientBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ContractMetadataUpdated","inputs":[{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"newURI","type":"string","indexed":false,"internalType":"string"},{"name":"name","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ContractURIUpdated","inputs":[],"anonymous":false},{"type":"event","name":"LiquidityMigrated","inputs":[{"name":"fromPoolKey","type":"tuple","indexed":false,"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":"fromPoolKeyHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"toPoolKey","type":"tuple","indexed":false,"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":"toPoolKeyHash","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"NameAndSymbolUpdated","inputs":[{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"newName","type":"string","indexed":false,"internalType":"string"},{"name":"newSymbol","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"error","name":"AddressZero","inputs":[]},{"type":"error","name":"CannotMintZeroLiquidity","inputs":[]},{"type":"error","name":"DopplerPoolMustHaveMoreThan2DiscoveryPositions","inputs":[]},{"type":"error","name":"ERC20TransferAmountMismatch","inputs":[]},{"type":"error","name":"EthAmountMismatch","inputs":[]},{"type":"error","name":"EthAmountTooSmall","inputs":[]},{"type":"error","name":"EthTransferFailed","inputs":[]},{"type":"error","name":"EthTransferInvalid","inputs":[]},{"type":"error","name":"InitialOrderSizeTooLarge","inputs":[]},{"type":"error","name":"InsufficientFunds","inputs":[]},{"type":"error","name":"InsufficientLiquidity","inputs":[]},{"type":"error","name":"InvalidCurrency","inputs":[]},{"type":"error","name":"InvalidCurrencyLowerTick","inputs":[]},{"type":"error","name":"InvalidMarketType","inputs":[]},{"type":"error","name":"InvalidPoolVersion","inputs":[]},{"type":"error","name":"InvalidTickRangeMisordered","inputs":[{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"}]},{"type":"error","name":"InvalidWethLowerTick","inputs":[]},{"type":"error","name":"LegacyPoolMustHaveOneDiscoveryPosition","inputs":[]},{"type":"error","name":"MarketAlreadyGraduated","inputs":[]},{"type":"error","name":"MarketNotGraduated","inputs":[]},{"type":"error","name":"MaxShareToBeSoldExceeded","inputs":[{"name":"value","type":"uint256","internalType":"uint256"},{"name":"limit","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NameIsRequired","inputs":[]},{"type":"error","name":"NumDiscoveryPositionsOutOfRange","inputs":[]},{"type":"error","name":"OnlyPool","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"pool","type":"address","internalType":"address"}]},{"type":"error","name":"OnlyWeth","inputs":[]},{"type":"error","name":"SlippageBoundsExceeded","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"airlock()":"f78a8a3e","burn(uint256)":"42966c68","coinType()":"1fe93ea8","contractURI()":"e8a3d485","currency()":"e5a6b10f","dopplerFeeRecipient()":"346a21dc","getPayoutSwapPath(address)":"f3ffe14b","getPoolConfiguration()":"b80945e9","getPoolKey()":"683e76e0","hooks()":"cd7033c4","initialize(address,address[],string,string,string,address,address,(address,address,uint24,int24,address),uint160,(uint8,uint16,uint24,int24,uint16[],int24[],int24[],uint256[]))":"dd0371d5","payoutRecipient()":"3fb80b15","platformReferrer()":"51845bf6","protocolRewardRecipient()":"f53eab8e","setNameAndSymbol(string,string)":"5a446215","supportsInterface(bytes4)":"01ffc9a7","tokenURI()":"3c130d90","totalSupplyForPositions()":"3e280d53"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotMintZeroLiquidity\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DopplerPoolMustHaveMoreThan2DiscoveryPositions\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC20TransferAmountMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EthAmountMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EthAmountTooSmall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EthTransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EthTransferInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitialOrderSizeTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientLiquidity\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCurrency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCurrencyLowerTick\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidMarketType\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPoolVersion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"}],\"name\":\"InvalidTickRangeMisordered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidWethLowerTick\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LegacyPoolMustHaveOneDiscoveryPosition\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MarketAlreadyGraduated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MarketNotGraduated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"MaxShareToBeSoldExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NameIsRequired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NumDiscoveryPositionsOutOfRange\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"OnlyPool\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyWeth\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlippageBoundsExceeded\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tradeReferrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"coinsPurchased\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountSold\",\"type\":\"uint256\"}],\"name\":\"CoinBuy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payoutRecipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"platformReferrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"protocolRewardRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"totalAmountCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmountCoin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"creatorPayoutAmountCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"creatorPayoutAmountCoin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"platformReferrerAmountCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"platformReferrerAmountCoin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"protocolAmountCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"protocolAmountCoin\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ICoin.MarketRewards\",\"name\":\"marketRewards\",\"type\":\"tuple\"}],\"name\":\"CoinMarketRewards\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevRecipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newRecipient\",\"type\":\"address\"}],\"name\":\"CoinPayoutRecipientUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tradeReferrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"coinsSold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountPurchased\",\"type\":\"uint256\"}],\"name\":\"CoinSell\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payoutRecipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"platformReferrer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tradeReferrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"protocolRewardRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"creatorReward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"platformReferrerReward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"traderReferrerReward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"protocolReward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"CoinTradeRewards\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"senderBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"recipientBalance\",\"type\":\"uint256\"}],\"name\":\"CoinTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newURI\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ContractMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"ContractURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct PoolKey\",\"name\":\"fromPoolKey\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"fromPoolKeyHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct PoolKey\",\"name\":\"toPoolKey\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"toPoolKeyHash\",\"type\":\"bytes32\"}],\"name\":\"LiquidityMigrated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newName\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newSymbol\",\"type\":\"string\"}],\"name\":\"NameAndSymbolUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"airlock\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"coinType\",\"outputs\":[{\"internalType\":\"enum IHasCoinType.CoinType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"dopplerFeeRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IDeployedCoinVersionLookup\",\"name\":\"coinVersionLookup\",\"type\":\"address\"}],\"name\":\"getPayoutSwapPath\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"intermediateCurrency\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"internalType\":\"struct PathKey[]\",\"name\":\"path\",\"type\":\"tuple[]\"},{\"internalType\":\"Currency\",\"name\":\"currencyIn\",\"type\":\"address\"}],\"internalType\":\"struct IHasSwapPath.PayoutSwapPath\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolConfiguration\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"numPositions\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"uint16[]\",\"name\":\"numDiscoveryPositions\",\"type\":\"uint16[]\"},{\"internalType\":\"int24[]\",\"name\":\"tickLower\",\"type\":\"int24[]\"},{\"internalType\":\"int24[]\",\"name\":\"tickUpper\",\"type\":\"int24[]\"},{\"internalType\":\"uint256[]\",\"name\":\"maxDiscoverySupplyShare\",\"type\":\"uint256[]\"}],\"internalType\":\"struct PoolConfiguration\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolKey\",\"outputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hooks\",\"outputs\":[{\"internalType\":\"contract IHooks\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"payoutRecipient_\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"owners_\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"tokenURI_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"platformReferrer_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency_\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"poolKey_\",\"type\":\"tuple\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"numPositions\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"uint16[]\",\"name\":\"numDiscoveryPositions\",\"type\":\"uint16[]\"},{\"internalType\":\"int24[]\",\"name\":\"tickLower\",\"type\":\"int24[]\"},{\"internalType\":\"int24[]\",\"name\":\"tickUpper\",\"type\":\"int24[]\"},{\"internalType\":\"uint256[]\",\"name\":\"maxDiscoverySupplyShare\",\"type\":\"uint256[]\"}],\"internalType\":\"struct PoolConfiguration\",\"name\":\"poolConfiguration_\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payoutRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"platformReferrer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolRewardRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"newSymbol\",\"type\":\"string\"}],\"name\":\"setNameAndSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupplyForPositions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"CoinBuy(address,address,address,uint256,address,uint256,uint256)\":{\"params\":{\"amountFee\":\"The fee for the purchase\",\"amountSold\":\"The amount of the currency sold\",\"buyer\":\"The address of the buyer\",\"coinsPurchased\":\"The number of coins purchased\",\"currency\":\"The address of the currency\",\"recipient\":\"The address of the recipient\",\"tradeReferrer\":\"The address of the trade referrer\"}},\"CoinMarketRewards(address,address,address,address,(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"currency\":\"The address of the currency\",\"marketRewards\":\"The rewards accrued from the market's liquidity position\",\"payoutRecipient\":\"The address of the creator rewards payout recipient\",\"platformReferrer\":\"The address of the platform referrer\",\"protocolRewardRecipient\":\"The address of the protocol reward recipient\"}},\"CoinPayoutRecipientUpdated(address,address,address)\":{\"params\":{\"caller\":\"The msg.sender address\",\"newRecipient\":\"The new payout recipient address\",\"prevRecipient\":\"The previous payout recipient address\"}},\"CoinSell(address,address,address,uint256,address,uint256,uint256)\":{\"params\":{\"amountFee\":\"The fee for the sale\",\"amountPurchased\":\"The amount of the currency purchased\",\"coinsSold\":\"The number of coins sold\",\"currency\":\"The address of the currency\",\"recipient\":\"The address of the recipient\",\"seller\":\"The address of the seller\",\"tradeReferrer\":\"The address of the trade referrer\"}},\"CoinTradeRewards(address,address,address,address,uint256,uint256,uint256,uint256,address)\":{\"params\":{\"creatorReward\":\"The reward for the creator\",\"currency\":\"The address of the currency\",\"payoutRecipient\":\"The address of the creator rewards payout recipient\",\"platformReferrer\":\"The address of the platform referrer\",\"platformReferrerReward\":\"The reward for the platform referrer\",\"protocolReward\":\"The reward for the protocol\",\"protocolRewardRecipient\":\"The address of the protocol reward recipient\",\"tradeReferrer\":\"The address of the trade referrer\",\"traderReferrerReward\":\"The reward for the trade referrer\"}},\"CoinTransfer(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of coins\",\"recipient\":\"The address of the recipient\",\"recipientBalance\":\"The balance of the recipient after the transfer\",\"sender\":\"The address of the sender\",\"senderBalance\":\"The balance of the sender after the transfer\"}},\"ContractMetadataUpdated(address,string,string)\":{\"params\":{\"caller\":\"The msg.sender address\",\"name\":\"The coin name\",\"newURI\":\"The new contract URI\"}},\"LiquidityMigrated((address,address,uint24,int24,address),bytes32,(address,address,uint24,int24,address),bytes32)\":{\"params\":{\"fromPoolKey\":\"The pool key being upgraded\",\"toPoolKey\":\"The new pool key returned from the destination hook\"}},\"NameAndSymbolUpdated(address,string,string)\":{\"params\":{\"caller\":\"The msg.sender address\",\"newName\":\"The new coin name\",\"newSymbol\":\"The new coin symbol\"}}},\"kind\":\"dev\",\"methods\":{\"airlock()\":{\"returns\":{\"_0\":\"The Airlock's address\"}},\"burn(uint256)\":{\"params\":{\"amount\":\"The amount of tokens to burn\"}},\"coinType()\":{\"returns\":{\"_0\":\"The type of coin\"}},\"currency()\":{\"returns\":{\"_0\":\"The currency's address\"}},\"getPayoutSwapPath(address)\":{\"details\":\"This enables multi-hop swaps through intermediate currencies to reach the target payout token\",\"params\":{\"coinVersionLookup\":\"Contract for looking up deployed coin versions to build recursive paths\"},\"returns\":{\"_0\":\"PayoutSwapPath struct containing the complete swap route configuration\"}},\"getPoolConfiguration()\":{\"returns\":{\"_0\":\"PoolConfiguration struct containing pool-specific settings and parameters\"}},\"getPoolKey()\":{\"returns\":{\"_0\":\"The PoolKey struct containing pool identification parameters\"}},\"hooks()\":{\"returns\":{\"_0\":\"The IHooks contract interface that handles pool lifecycle events\"}},\"initialize(address,address[],string,string,string,address,address,(address,address,uint24,int24,address),uint160,(uint8,uint16,uint24,int24,uint16[],int24[],int24[],uint256[]))\":{\"details\":\"Called by the factory contract when the contract is deployed.\",\"params\":{\"currency_\":\"The currency of the coin. Cannot be updated. Can be the zero address for ETH.\",\"name_\":\"The name of the token. Cannot be updated.\",\"owners_\":\"The addresses of the owners. All owners have the same full admin access. Cannot be 0 address.\",\"payoutRecipient_\":\"The address of the payout recipient. Can be updated by the owner. Cannot be 0 address.\",\"platformReferrer_\":\"The address of the platform referrer. Cannot be updated.\",\"poolConfiguration_\":\"The configuration for the pool\",\"poolKey_\":\"The pool key for the coin. Derived in the factory.\",\"sqrtPriceX96\":\"The initial sqrt price for the pool\",\"symbol_\":\"The symbol of the token. Cannot be updated.\",\"tokenURI_\":\"The URI of the token. Can be updated by the owner.\"}},\"setNameAndSymbol(string,string)\":{\"params\":{\"newName\":\"The new coin name\",\"newSymbol\":\"The new coin symbol\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"tokenURI()\":{\"returns\":{\"_0\":\"The token URI\"}},\"totalSupplyForPositions()\":{\"returns\":{\"_0\":\"The total supply of all positions\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"AddressZero()\":[{\"notice\":\"Thrown when an operation is attempted with a zero address\"}],\"DopplerPoolMustHaveMoreThan2DiscoveryPositions()\":[{\"notice\":\"Thrown when a Doppler pool does not have more than 2 discovery positions\"}],\"ERC20TransferAmountMismatch()\":[{\"notice\":\"Thrown when the expected amount of ERC20s transferred does not match the amount received\"}],\"EthAmountMismatch()\":[{\"notice\":\"Thrown when the msg.value amount does not match the amount of currency sent\"}],\"EthAmountTooSmall()\":[{\"notice\":\"Thrown when the ETH amount is too small for a transaction\"}],\"EthTransferFailed()\":[{\"notice\":\"Thrown when an ETH transfer fails\"}],\"EthTransferInvalid()\":[{\"notice\":\"Thrown when ETH is sent with a buy or sell but the currency is not WETH\"}],\"InitialOrderSizeTooLarge()\":[{\"notice\":\"Thrown when the initial order size is too large\"}],\"InsufficientFunds()\":[{\"notice\":\"Thrown when there are insufficient funds for an operation\"}],\"InsufficientLiquidity()\":[{\"notice\":\"Thrown when there is insufficient liquidity for a transaction\"}],\"InvalidCurrency()\":[{\"notice\":\"Thrown when an invalid currency is used for coin operations\"}],\"InvalidCurrencyLowerTick()\":[{\"notice\":\"Thrown when the lower tick is not less than the maximum tick or not a multiple of 200\"}],\"InvalidMarketType()\":[{\"notice\":\"Thrown when an invalid market type is specified\"}],\"InvalidPoolVersion()\":[{\"notice\":\"Thrown when an invalid pool version is specified\"}],\"InvalidTickRangeMisordered(int24,int24)\":[{\"notice\":\"Thrown when the tick range is misordered\"}],\"InvalidWethLowerTick()\":[{\"notice\":\"Thrown when the lower tick is not set to the default value\"}],\"LegacyPoolMustHaveOneDiscoveryPosition()\":[{\"notice\":\"Thrown when a legacy pool does not have one discovery position\"}],\"MarketAlreadyGraduated()\":[{\"notice\":\"Thrown when a market is already graduated\"}],\"MarketNotGraduated()\":[{\"notice\":\"Thrown when a market is not yet graduated\"}],\"MaxShareToBeSoldExceeded(uint256,uint256)\":[{\"notice\":\"Thrown when the max share to be sold exceeds the maximum unit\"}],\"NameIsRequired()\":[{\"notice\":\"Thrown when the name is required for the coin\"}],\"OnlyPool(address,address)\":[{\"notice\":\"Thrown when an operation is attempted by an entity other than the pool\"}],\"OnlyWeth()\":[{\"notice\":\"Thrown when an operation is attempted by an entity other than WETH\"}],\"SlippageBoundsExceeded()\":[{\"notice\":\"Thrown when the slippage bounds are exceeded during a transaction\"}]},\"events\":{\"CoinBuy(address,address,address,uint256,address,uint256,uint256)\":{\"notice\":\"Emitted when coins are bought\"},\"CoinMarketRewards(address,address,address,address,(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted when market rewards are distributed\"},\"CoinPayoutRecipientUpdated(address,address,address)\":{\"notice\":\"Emitted when the creator's payout address is updated\"},\"CoinSell(address,address,address,uint256,address,uint256,uint256)\":{\"notice\":\"Emitted when coins are sold\"},\"CoinTradeRewards(address,address,address,address,uint256,uint256,uint256,uint256,address)\":{\"notice\":\"Emitted when trade rewards are distributed\"},\"CoinTransfer(address,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a coin is transferred\"},\"ContractMetadataUpdated(address,string,string)\":{\"notice\":\"Emitted when the contract URI is updated\"},\"ContractURIUpdated()\":{\"notice\":\"Emitted when the contract URI is updated\"},\"LiquidityMigrated((address,address,uint24,int24,address),bytes32,(address,address,uint24,int24,address),bytes32)\":{\"notice\":\"Emitted when a hook is upgraded\"},\"NameAndSymbolUpdated(address,string,string)\":{\"notice\":\"Emitted when the coin name is updated\"}},\"kind\":\"user\",\"methods\":{\"airlock()\":{\"notice\":\"Returns the address of the Airlock\"},\"burn(uint256)\":{\"notice\":\"Enables a user to burn their tokens\"},\"coinType()\":{\"notice\":\"Returns the type of coin\"},\"contractURI()\":{\"notice\":\"Returns the contract-level metadata\"},\"currency()\":{\"notice\":\"Returns the address of the currency\"},\"getPayoutSwapPath(address)\":{\"notice\":\"Returns the swap path configuration for converting this coin to its final payout currency\"},\"getPoolConfiguration()\":{\"notice\":\"Returns the pool configuration settings for this coin's Uniswap V4 pool\"},\"getPoolKey()\":{\"notice\":\"Returns the Uniswap V4 pool key associated with this coin\"},\"hooks()\":{\"notice\":\"Returns the hooks contract used by this coin's Uniswap V4 pool\"},\"initialize(address,address[],string,string,string,address,address,(address,address,uint24,int24,address),uint160,(uint8,uint16,uint24,int24,uint16[],int24[],int24[],uint256[]))\":{\"notice\":\"Initializes the coin\"},\"setNameAndSymbol(string,string)\":{\"notice\":\"Updates the name and symbol of the coin\"},\"tokenURI()\":{\"notice\":\"Returns the URI of the token\"},\"totalSupplyForPositions()\":{\"notice\":\"Returns the total supply of all positions for this coin\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol\":\"ICoin\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/universal-router/contracts/=node_modules/@uniswap/universal-router/contracts/\",\":@uniswap/v4-core/=node_modules/@uniswap/v4-core/\",\":@uniswap/v4-periphery/=node_modules/@uniswap/v4-periphery/\",\":@zoralabs/coins/=node_modules/@zoralabs/coins/\",\":@zoralabs/shared-contracts/=node_modules/@zoralabs/shared-contracts/src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":permit2/src/=node_modules/@uniswap/permit2/src/\",\":solady/=node_modules/solady/src/\",\":solmate/=node_modules/solmate/src/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IExtsload.sol\":{\"keccak256\":\"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1\",\"dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IExttload.sol\":{\"keccak256\":\"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8\",\"dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IHooks.sol\":{\"keccak256\":\"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec\",\"dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IPoolManager.sol\":{\"keccak256\":\"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4\",\"dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IProtocolFees.sol\":{\"keccak256\":\"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d\",\"dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J\"]},\"node_modules/@uniswap/v4-core/src/interfaces/external/IERC20Minimal.sol\":{\"keccak256\":\"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de\",\"dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d\"]},\"node_modules/@uniswap/v4-core/src/interfaces/external/IERC6909Claims.sol\":{\"keccak256\":\"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f\",\"dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK\"]},\"node_modules/@uniswap/v4-core/src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"node_modules/@uniswap/v4-core/src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"node_modules/@uniswap/v4-core/src/types/BalanceDelta.sol\":{\"keccak256\":\"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9\",\"dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H\"]},\"node_modules/@uniswap/v4-core/src/types/BeforeSwapDelta.sol\":{\"keccak256\":\"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782\",\"dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K\"]},\"node_modules/@uniswap/v4-core/src/types/Currency.sol\":{\"keccak256\":\"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01\",\"dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5\"]},\"node_modules/@uniswap/v4-core/src/types/PoolId.sol\":{\"keccak256\":\"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918\",\"dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y\"]},\"node_modules/@uniswap/v4-core/src/types/PoolKey.sol\":{\"keccak256\":\"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639\",\"dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi\"]},\"node_modules/@uniswap/v4-core/src/types/PoolOperation.sol\":{\"keccak256\":\"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07\",\"dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c\"]},\"node_modules/@uniswap/v4-periphery/src/libraries/PathKey.sol\":{\"keccak256\":\"0xbbd79ffefe045f025263e389539021266fb4d371463aefba405e1ff1d3fcf9bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1c47b81a01218be46ee79f0a8837095479b94dc5cfd18abbf2006709f0ea89\",\"dweb:/ipfs/QmRb6CQ13Zp7f3WF5jbZtsF2szhxpPgcuWs9mjwQXxzqtg\"]},\"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol\":{\"keccak256\":\"0x064191edcd79ce2081e170662e0f0eab27e4ba2a04b1f3140b383995f5d3b9fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10bb43addb3d2203c864d89f86510339acaa1fa731aae5b35353b4b43ad4e0b6\",\"dweb:/ipfs/QmZ1pUgcs9w5Mkp3k9QGpg1sewSYoAn3PdH3t81v3zgjD4\"]},\"node_modules/@zoralabs/coins/src/interfaces/IDeployedCoinVersionLookup.sol\":{\"keccak256\":\"0x2d9efe898233cf17e24e266d8bd6d197b4dde07fae8b954f247b1c04262b96ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://550fbe232af1052e113c1e664f4adf0c514501c38669d82bb4debd57e5842baa\",\"dweb:/ipfs/QmRBzWwCvmWZEBh6uRHvdzZQCW7Q8pgGg8Sc9hD7p5UuLK\"]},\"node_modules/@zoralabs/coins/src/interfaces/IDopplerErrors.sol\":{\"keccak256\":\"0xf78efeb8a0d37914bae9be8c6ed70d54a1d48305b3f9e3f8b95d20f9685640ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e51cc18a8367dc9363a958f179cf2e8af662cbe41474647aa78424be781120e\",\"dweb:/ipfs/QmNrxrY2P7FMRY7tJtV2n5eiPDyM5pRhBpn9wgDfgwdDCs\"]},\"node_modules/@zoralabs/coins/src/interfaces/IERC7572.sol\":{\"keccak256\":\"0xf42b7816c4ed223c89d93d71e64c2fd2222b37d1280bfd067f57ff3301b0a937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9bff9cab44e297b6f01a044b44d0acf68319789d47634708c384a9c32962db9d\",\"dweb:/ipfs/QmTg4oAc7yoGJnk3cjMEYixboAjJLgL4ys3KNSsvvtX91u\"]},\"node_modules/@zoralabs/coins/src/interfaces/IHasRewardsRecipients.sol\":{\"keccak256\":\"0x88401512f4b4f197a0961b56e4f32f9660625dd238c7ed704bba8543a30087eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6ca303775da2421a341f23f73a5641fc159d57b37f091f9adb7d7f1da7f81b5\",\"dweb:/ipfs/QmPinYGLrFfZ5kZqRo7epqdybw5Bhc7Lzocw1nFvYpGqJR\"]},\"node_modules/@zoralabs/coins/src/types/PoolConfiguration.sol\":{\"keccak256\":\"0xaecffdbd5d6f33d9d3450a155d0a2efcdd8e0636cc473328dd852afef6a76b22\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://20d8ed8f4a4f1b7657004faada7367b923c35f8f194fd853d5af7a8440bd7319\",\"dweb:/ipfs/QmUi9BT4rHdxUuycz3YBrowgpNdcKEoBfVDVYxsptQ8c8t\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressZero"},{"inputs":[],"type":"error","name":"CannotMintZeroLiquidity"},{"inputs":[],"type":"error","name":"DopplerPoolMustHaveMoreThan2DiscoveryPositions"},{"inputs":[],"type":"error","name":"ERC20TransferAmountMismatch"},{"inputs":[],"type":"error","name":"EthAmountMismatch"},{"inputs":[],"type":"error","name":"EthAmountTooSmall"},{"inputs":[],"type":"error","name":"EthTransferFailed"},{"inputs":[],"type":"error","name":"EthTransferInvalid"},{"inputs":[],"type":"error","name":"InitialOrderSizeTooLarge"},{"inputs":[],"type":"error","name":"InsufficientFunds"},{"inputs":[],"type":"error","name":"InsufficientLiquidity"},{"inputs":[],"type":"error","name":"InvalidCurrency"},{"inputs":[],"type":"error","name":"InvalidCurrencyLowerTick"},{"inputs":[],"type":"error","name":"InvalidMarketType"},{"inputs":[],"type":"error","name":"InvalidPoolVersion"},{"inputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"}],"type":"error","name":"InvalidTickRangeMisordered"},{"inputs":[],"type":"error","name":"InvalidWethLowerTick"},{"inputs":[],"type":"error","name":"LegacyPoolMustHaveOneDiscoveryPosition"},{"inputs":[],"type":"error","name":"MarketAlreadyGraduated"},{"inputs":[],"type":"error","name":"MarketNotGraduated"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"}],"type":"error","name":"MaxShareToBeSoldExceeded"},{"inputs":[],"type":"error","name":"NameIsRequired"},{"inputs":[],"type":"error","name":"NumDiscoveryPositionsOutOfRange"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"pool","type":"address"}],"type":"error","name":"OnlyPool"},{"inputs":[],"type":"error","name":"OnlyWeth"},{"inputs":[],"type":"error","name":"SlippageBoundsExceeded"},{"inputs":[{"internalType":"address","name":"buyer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"tradeReferrer","type":"address","indexed":true},{"internalType":"uint256","name":"coinsPurchased","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"amountFee","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountSold","type":"uint256","indexed":false}],"type":"event","name":"CoinBuy","anonymous":false},{"inputs":[{"internalType":"address","name":"payoutRecipient","type":"address","indexed":true},{"internalType":"address","name":"platformReferrer","type":"address","indexed":true},{"internalType":"address","name":"protocolRewardRecipient","type":"address","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"struct ICoin.MarketRewards","name":"marketRewards","type":"tuple","components":[{"internalType":"uint256","name":"totalAmountCurrency","type":"uint256"},{"internalType":"uint256","name":"totalAmountCoin","type":"uint256"},{"internalType":"uint256","name":"creatorPayoutAmountCurrency","type":"uint256"},{"internalType":"uint256","name":"creatorPayoutAmountCoin","type":"uint256"},{"internalType":"uint256","name":"platformReferrerAmountCurrency","type":"uint256"},{"internalType":"uint256","name":"platformReferrerAmountCoin","type":"uint256"},{"internalType":"uint256","name":"protocolAmountCurrency","type":"uint256"},{"internalType":"uint256","name":"protocolAmountCoin","type":"uint256"}],"indexed":false}],"type":"event","name":"CoinMarketRewards","anonymous":false},{"inputs":[{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"address","name":"prevRecipient","type":"address","indexed":true},{"internalType":"address","name":"newRecipient","type":"address","indexed":true}],"type":"event","name":"CoinPayoutRecipientUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"seller","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"tradeReferrer","type":"address","indexed":true},{"internalType":"uint256","name":"coinsSold","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"amountFee","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountPurchased","type":"uint256","indexed":false}],"type":"event","name":"CoinSell","anonymous":false},{"inputs":[{"internalType":"address","name":"payoutRecipient","type":"address","indexed":true},{"internalType":"address","name":"platformReferrer","type":"address","indexed":true},{"internalType":"address","name":"tradeReferrer","type":"address","indexed":true},{"internalType":"address","name":"protocolRewardRecipient","type":"address","indexed":false},{"internalType":"uint256","name":"creatorReward","type":"uint256","indexed":false},{"internalType":"uint256","name":"platformReferrerReward","type":"uint256","indexed":false},{"internalType":"uint256","name":"traderReferrerReward","type":"uint256","indexed":false},{"internalType":"uint256","name":"protocolReward","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false}],"type":"event","name":"CoinTradeRewards","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"senderBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"recipientBalance","type":"uint256","indexed":false}],"type":"event","name":"CoinTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"string","name":"newURI","type":"string","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false}],"type":"event","name":"ContractMetadataUpdated","anonymous":false},{"inputs":[],"type":"event","name":"ContractURIUpdated","anonymous":false},{"inputs":[{"internalType":"struct PoolKey","name":"fromPoolKey","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"indexed":false},{"internalType":"bytes32","name":"fromPoolKeyHash","type":"bytes32","indexed":false},{"internalType":"struct PoolKey","name":"toPoolKey","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"indexed":false},{"internalType":"bytes32","name":"toPoolKeyHash","type":"bytes32","indexed":false}],"type":"event","name":"LiquidityMigrated","anonymous":false},{"inputs":[{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"string","name":"newName","type":"string","indexed":false},{"internalType":"string","name":"newSymbol","type":"string","indexed":false}],"type":"event","name":"NameAndSymbolUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"airlock","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"coinType","outputs":[{"internalType":"enum IHasCoinType.CoinType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currency","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"dopplerFeeRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IDeployedCoinVersionLookup","name":"coinVersionLookup","type":"address"}],"stateMutability":"view","type":"function","name":"getPayoutSwapPath","outputs":[{"internalType":"struct IHasSwapPath.PayoutSwapPath","name":"","type":"tuple","components":[{"internalType":"struct PathKey[]","name":"path","type":"tuple[]","components":[{"internalType":"Currency","name":"intermediateCurrency","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"},{"internalType":"bytes","name":"hookData","type":"bytes"}]},{"internalType":"Currency","name":"currencyIn","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolConfiguration","outputs":[{"internalType":"struct PoolConfiguration","name":"","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"uint16","name":"numPositions","type":"uint16"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"uint16[]","name":"numDiscoveryPositions","type":"uint16[]"},{"internalType":"int24[]","name":"tickLower","type":"int24[]"},{"internalType":"int24[]","name":"tickUpper","type":"int24[]"},{"internalType":"uint256[]","name":"maxDiscoverySupplyShare","type":"uint256[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolKey","outputs":[{"internalType":"struct PoolKey","name":"","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"hooks","outputs":[{"internalType":"contract IHooks","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"payoutRecipient_","type":"address"},{"internalType":"address[]","name":"owners_","type":"address[]"},{"internalType":"string","name":"tokenURI_","type":"string"},{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"platformReferrer_","type":"address"},{"internalType":"address","name":"currency_","type":"address"},{"internalType":"struct PoolKey","name":"poolKey_","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]},{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"internalType":"struct PoolConfiguration","name":"poolConfiguration_","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"uint16","name":"numPositions","type":"uint16"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"uint16[]","name":"numDiscoveryPositions","type":"uint16[]"},{"internalType":"int24[]","name":"tickLower","type":"int24[]"},{"internalType":"int24[]","name":"tickUpper","type":"int24[]"},{"internalType":"uint256[]","name":"maxDiscoverySupplyShare","type":"uint256[]"}]}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"payoutRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"platformReferrer","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"protocolRewardRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"newName","type":"string"},{"internalType":"string","name":"newSymbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setNameAndSymbol"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupplyForPositions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"airlock()":{"returns":{"_0":"The Airlock's address"}},"burn(uint256)":{"params":{"amount":"The amount of tokens to burn"}},"coinType()":{"returns":{"_0":"The type of coin"}},"currency()":{"returns":{"_0":"The currency's address"}},"getPayoutSwapPath(address)":{"details":"This enables multi-hop swaps through intermediate currencies to reach the target payout token","params":{"coinVersionLookup":"Contract for looking up deployed coin versions to build recursive paths"},"returns":{"_0":"PayoutSwapPath struct containing the complete swap route configuration"}},"getPoolConfiguration()":{"returns":{"_0":"PoolConfiguration struct containing pool-specific settings and parameters"}},"getPoolKey()":{"returns":{"_0":"The PoolKey struct containing pool identification parameters"}},"hooks()":{"returns":{"_0":"The IHooks contract interface that handles pool lifecycle events"}},"initialize(address,address[],string,string,string,address,address,(address,address,uint24,int24,address),uint160,(uint8,uint16,uint24,int24,uint16[],int24[],int24[],uint256[]))":{"details":"Called by the factory contract when the contract is deployed.","params":{"currency_":"The currency of the coin. Cannot be updated. Can be the zero address for ETH.","name_":"The name of the token. Cannot be updated.","owners_":"The addresses of the owners. All owners have the same full admin access. Cannot be 0 address.","payoutRecipient_":"The address of the payout recipient. Can be updated by the owner. Cannot be 0 address.","platformReferrer_":"The address of the platform referrer. Cannot be updated.","poolConfiguration_":"The configuration for the pool","poolKey_":"The pool key for the coin. Derived in the factory.","sqrtPriceX96":"The initial sqrt price for the pool","symbol_":"The symbol of the token. Cannot be updated.","tokenURI_":"The URI of the token. Can be updated by the owner."}},"setNameAndSymbol(string,string)":{"params":{"newName":"The new coin name","newSymbol":"The new coin symbol"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas."},"tokenURI()":{"returns":{"_0":"The token URI"}},"totalSupplyForPositions()":{"returns":{"_0":"The total supply of all positions"}}},"version":1},"userdoc":{"kind":"user","methods":{"airlock()":{"notice":"Returns the address of the Airlock"},"burn(uint256)":{"notice":"Enables a user to burn their tokens"},"coinType()":{"notice":"Returns the type of coin"},"contractURI()":{"notice":"Returns the contract-level metadata"},"currency()":{"notice":"Returns the address of the currency"},"getPayoutSwapPath(address)":{"notice":"Returns the swap path configuration for converting this coin to its final payout currency"},"getPoolConfiguration()":{"notice":"Returns the pool configuration settings for this coin's Uniswap V4 pool"},"getPoolKey()":{"notice":"Returns the Uniswap V4 pool key associated with this coin"},"hooks()":{"notice":"Returns the hooks contract used by this coin's Uniswap V4 pool"},"initialize(address,address[],string,string,string,address,address,(address,address,uint24,int24,address),uint160,(uint8,uint16,uint24,int24,uint16[],int24[],int24[],uint256[]))":{"notice":"Initializes the coin"},"setNameAndSymbol(string,string)":{"notice":"Updates the name and symbol of the coin"},"tokenURI()":{"notice":"Returns the URI of the token"},"totalSupplyForPositions()":{"notice":"Returns the total supply of all positions for this coin"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@uniswap/universal-router/contracts/=node_modules/@uniswap/universal-router/contracts/","@uniswap/v4-core/=node_modules/@uniswap/v4-core/","@uniswap/v4-periphery/=node_modules/@uniswap/v4-periphery/","@zoralabs/coins/=node_modules/@zoralabs/coins/","@zoralabs/shared-contracts/=node_modules/@zoralabs/shared-contracts/src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","permit2/src/=node_modules/@uniswap/permit2/src/","solady/=node_modules/solady/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":100},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol":"ICoin"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IExtsload.sol":{"keccak256":"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43","urls":["bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1","dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IExttload.sol":{"keccak256":"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937","urls":["bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8","dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IHooks.sol":{"keccak256":"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d","urls":["bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec","dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IPoolManager.sol":{"keccak256":"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e","urls":["bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4","dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IProtocolFees.sol":{"keccak256":"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848","urls":["bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d","dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/external/IERC20Minimal.sol":{"keccak256":"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f","urls":["bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de","dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/external/IERC6909Claims.sol":{"keccak256":"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48","urls":["bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f","dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/CustomRevert.sol":{"keccak256":"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de","urls":["bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd","dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/SafeCast.sol":{"keccak256":"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86","urls":["bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59","dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/BalanceDelta.sol":{"keccak256":"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f","urls":["bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9","dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/BeforeSwapDelta.sol":{"keccak256":"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78","urls":["bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782","dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/Currency.sol":{"keccak256":"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93","urls":["bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01","dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolId.sol":{"keccak256":"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af","urls":["bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918","dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolKey.sol":{"keccak256":"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786","urls":["bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639","dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolOperation.sol":{"keccak256":"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162","urls":["bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07","dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c"],"license":"MIT"},"node_modules/@uniswap/v4-periphery/src/libraries/PathKey.sol":{"keccak256":"0xbbd79ffefe045f025263e389539021266fb4d371463aefba405e1ff1d3fcf9bc","urls":["bzz-raw://2d1c47b81a01218be46ee79f0a8837095479b94dc5cfd18abbf2006709f0ea89","dweb:/ipfs/QmRb6CQ13Zp7f3WF5jbZtsF2szhxpPgcuWs9mjwQXxzqtg"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol":{"keccak256":"0x064191edcd79ce2081e170662e0f0eab27e4ba2a04b1f3140b383995f5d3b9fe","urls":["bzz-raw://10bb43addb3d2203c864d89f86510339acaa1fa731aae5b35353b4b43ad4e0b6","dweb:/ipfs/QmZ1pUgcs9w5Mkp3k9QGpg1sewSYoAn3PdH3t81v3zgjD4"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IDeployedCoinVersionLookup.sol":{"keccak256":"0x2d9efe898233cf17e24e266d8bd6d197b4dde07fae8b954f247b1c04262b96ba","urls":["bzz-raw://550fbe232af1052e113c1e664f4adf0c514501c38669d82bb4debd57e5842baa","dweb:/ipfs/QmRBzWwCvmWZEBh6uRHvdzZQCW7Q8pgGg8Sc9hD7p5UuLK"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IDopplerErrors.sol":{"keccak256":"0xf78efeb8a0d37914bae9be8c6ed70d54a1d48305b3f9e3f8b95d20f9685640ea","urls":["bzz-raw://1e51cc18a8367dc9363a958f179cf2e8af662cbe41474647aa78424be781120e","dweb:/ipfs/QmNrxrY2P7FMRY7tJtV2n5eiPDyM5pRhBpn9wgDfgwdDCs"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IERC7572.sol":{"keccak256":"0xf42b7816c4ed223c89d93d71e64c2fd2222b37d1280bfd067f57ff3301b0a937","urls":["bzz-raw://9bff9cab44e297b6f01a044b44d0acf68319789d47634708c384a9c32962db9d","dweb:/ipfs/QmTg4oAc7yoGJnk3cjMEYixboAjJLgL4ys3KNSsvvtX91u"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IHasRewardsRecipients.sol":{"keccak256":"0x88401512f4b4f197a0961b56e4f32f9660625dd238c7ed704bba8543a30087eb","urls":["bzz-raw://e6ca303775da2421a341f23f73a5641fc159d57b37f091f9adb7d7f1da7f81b5","dweb:/ipfs/QmPinYGLrFfZ5kZqRo7epqdybw5Bhc7Lzocw1nFvYpGqJR"],"license":"MIT"},"node_modules/@zoralabs/coins/src/types/PoolConfiguration.sol":{"keccak256":"0xaecffdbd5d6f33d9d3450a155d0a2efcdd8e0636cc473328dd852afef6a76b22","urls":["bzz-raw://20d8ed8f4a4f1b7657004faada7367b923c35f8f194fd853d5af7a8440bd7319","dweb:/ipfs/QmUi9BT4rHdxUuycz3YBrowgpNdcKEoBfVDVYxsptQ8c8t"],"license":"ZORA-DELAYED-OSL-v1"}},"version":1},"id":41}
1
+ {"abi":[{"type":"function","name":"airlock","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coinType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IHasCoinType.CoinType"}],"stateMutability":"view"},{"type":"function","name":"contractURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"currency","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"dopplerFeeRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getPayoutSwapPath","inputs":[{"name":"coinVersionLookup","type":"address","internalType":"contract IDeployedCoinVersionLookup"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IHasSwapPath.PayoutSwapPath","components":[{"name":"path","type":"tuple[]","internalType":"struct PathKey[]","components":[{"name":"intermediateCurrency","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"contract IHooks"},{"name":"hookData","type":"bytes","internalType":"bytes"}]},{"name":"currencyIn","type":"address","internalType":"Currency"}]}],"stateMutability":"view"},{"type":"function","name":"getPoolConfiguration","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct PoolConfiguration","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"numPositions","type":"uint16","internalType":"uint16"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"numDiscoveryPositions","type":"uint16[]","internalType":"uint16[]"},{"name":"tickLower","type":"int24[]","internalType":"int24[]"},{"name":"tickUpper","type":"int24[]","internalType":"int24[]"},{"name":"maxDiscoverySupplyShare","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"getPoolKey","inputs":[],"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":"hooks","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IHooks"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"payoutRecipient_","type":"address","internalType":"address"},{"name":"owners_","type":"address[]","internalType":"address[]"},{"name":"tokenURI_","type":"string","internalType":"string"},{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"platformReferrer_","type":"address","internalType":"address"},{"name":"currency_","type":"address","internalType":"address"},{"name":"poolKey_","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":"poolConfiguration_","type":"tuple","internalType":"struct PoolConfiguration","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"numPositions","type":"uint16","internalType":"uint16"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"numDiscoveryPositions","type":"uint16[]","internalType":"uint16[]"},{"name":"tickLower","type":"int24[]","internalType":"int24[]"},{"name":"tickUpper","type":"int24[]","internalType":"int24[]"},{"name":"maxDiscoverySupplyShare","type":"uint256[]","internalType":"uint256[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"payoutRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"platformReferrer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"protocolRewardRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setNameAndSymbol","inputs":[{"name":"newName","type":"string","internalType":"string"},{"name":"newSymbol","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyForPositions","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"CoinBuy","inputs":[{"name":"buyer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"tradeReferrer","type":"address","indexed":true,"internalType":"address"},{"name":"coinsPurchased","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"amountFee","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountSold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CoinMarketRewards","inputs":[{"name":"payoutRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"platformReferrer","type":"address","indexed":true,"internalType":"address"},{"name":"protocolRewardRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"marketRewards","type":"tuple","indexed":false,"internalType":"struct ICoin.MarketRewards","components":[{"name":"totalAmountCurrency","type":"uint256","internalType":"uint256"},{"name":"totalAmountCoin","type":"uint256","internalType":"uint256"},{"name":"creatorPayoutAmountCurrency","type":"uint256","internalType":"uint256"},{"name":"creatorPayoutAmountCoin","type":"uint256","internalType":"uint256"},{"name":"platformReferrerAmountCurrency","type":"uint256","internalType":"uint256"},{"name":"platformReferrerAmountCoin","type":"uint256","internalType":"uint256"},{"name":"protocolAmountCurrency","type":"uint256","internalType":"uint256"},{"name":"protocolAmountCoin","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"CoinPayoutRecipientUpdated","inputs":[{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"prevRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"newRecipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CoinSell","inputs":[{"name":"seller","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"tradeReferrer","type":"address","indexed":true,"internalType":"address"},{"name":"coinsSold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"amountFee","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountPurchased","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CoinTradeRewards","inputs":[{"name":"payoutRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"platformReferrer","type":"address","indexed":true,"internalType":"address"},{"name":"tradeReferrer","type":"address","indexed":true,"internalType":"address"},{"name":"protocolRewardRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"creatorReward","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"platformReferrerReward","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"traderReferrerReward","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"protocolReward","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CoinTransfer","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"senderBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"recipientBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ContractMetadataUpdated","inputs":[{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"newURI","type":"string","indexed":false,"internalType":"string"},{"name":"name","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ContractURIUpdated","inputs":[],"anonymous":false},{"type":"event","name":"LiquidityMigrated","inputs":[{"name":"fromPoolKey","type":"tuple","indexed":false,"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":"fromPoolKeyHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"toPoolKey","type":"tuple","indexed":false,"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":"toPoolKeyHash","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"NameAndSymbolUpdated","inputs":[{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"newName","type":"string","indexed":false,"internalType":"string"},{"name":"newSymbol","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"error","name":"AddressZero","inputs":[]},{"type":"error","name":"CannotMintZeroLiquidity","inputs":[]},{"type":"error","name":"DopplerPoolMustHaveMoreThan2DiscoveryPositions","inputs":[]},{"type":"error","name":"ERC20TransferAmountMismatch","inputs":[]},{"type":"error","name":"EthAmountMismatch","inputs":[]},{"type":"error","name":"EthAmountTooSmall","inputs":[]},{"type":"error","name":"EthTransferFailed","inputs":[]},{"type":"error","name":"EthTransferInvalid","inputs":[]},{"type":"error","name":"InitialOrderSizeTooLarge","inputs":[]},{"type":"error","name":"InsufficientFunds","inputs":[]},{"type":"error","name":"InsufficientLiquidity","inputs":[]},{"type":"error","name":"InvalidCurrency","inputs":[]},{"type":"error","name":"InvalidCurrencyLowerTick","inputs":[]},{"type":"error","name":"InvalidMarketType","inputs":[]},{"type":"error","name":"InvalidPoolVersion","inputs":[]},{"type":"error","name":"InvalidTickRangeMisordered","inputs":[{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"}]},{"type":"error","name":"InvalidWethLowerTick","inputs":[]},{"type":"error","name":"LegacyPoolMustHaveOneDiscoveryPosition","inputs":[]},{"type":"error","name":"MarketAlreadyGraduated","inputs":[]},{"type":"error","name":"MarketNotGraduated","inputs":[]},{"type":"error","name":"MaxShareToBeSoldExceeded","inputs":[{"name":"value","type":"uint256","internalType":"uint256"},{"name":"limit","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NameIsRequired","inputs":[]},{"type":"error","name":"NumDiscoveryPositionsOutOfRange","inputs":[]},{"type":"error","name":"OnlyPool","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"pool","type":"address","internalType":"address"}]},{"type":"error","name":"OnlyWeth","inputs":[]},{"type":"error","name":"SlippageBoundsExceeded","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"airlock()":"f78a8a3e","burn(uint256)":"42966c68","coinType()":"1fe93ea8","contractURI()":"e8a3d485","currency()":"e5a6b10f","dopplerFeeRecipient()":"346a21dc","getPayoutSwapPath(address)":"f3ffe14b","getPoolConfiguration()":"b80945e9","getPoolKey()":"683e76e0","hooks()":"cd7033c4","initialize(address,address[],string,string,string,address,address,(address,address,uint24,int24,address),uint160,(uint8,uint16,uint24,int24,uint16[],int24[],int24[],uint256[]))":"dd0371d5","payoutRecipient()":"3fb80b15","platformReferrer()":"51845bf6","protocolRewardRecipient()":"f53eab8e","setNameAndSymbol(string,string)":"5a446215","supportsInterface(bytes4)":"01ffc9a7","tokenURI()":"3c130d90","totalSupplyForPositions()":"3e280d53"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotMintZeroLiquidity\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DopplerPoolMustHaveMoreThan2DiscoveryPositions\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC20TransferAmountMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EthAmountMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EthAmountTooSmall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EthTransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EthTransferInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitialOrderSizeTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientLiquidity\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCurrency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCurrencyLowerTick\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidMarketType\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPoolVersion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"}],\"name\":\"InvalidTickRangeMisordered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidWethLowerTick\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LegacyPoolMustHaveOneDiscoveryPosition\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MarketAlreadyGraduated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MarketNotGraduated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"MaxShareToBeSoldExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NameIsRequired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NumDiscoveryPositionsOutOfRange\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"OnlyPool\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyWeth\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlippageBoundsExceeded\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tradeReferrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"coinsPurchased\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountSold\",\"type\":\"uint256\"}],\"name\":\"CoinBuy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payoutRecipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"platformReferrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"protocolRewardRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"totalAmountCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmountCoin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"creatorPayoutAmountCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"creatorPayoutAmountCoin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"platformReferrerAmountCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"platformReferrerAmountCoin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"protocolAmountCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"protocolAmountCoin\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ICoin.MarketRewards\",\"name\":\"marketRewards\",\"type\":\"tuple\"}],\"name\":\"CoinMarketRewards\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevRecipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newRecipient\",\"type\":\"address\"}],\"name\":\"CoinPayoutRecipientUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tradeReferrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"coinsSold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountPurchased\",\"type\":\"uint256\"}],\"name\":\"CoinSell\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payoutRecipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"platformReferrer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tradeReferrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"protocolRewardRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"creatorReward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"platformReferrerReward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"traderReferrerReward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"protocolReward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"CoinTradeRewards\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"senderBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"recipientBalance\",\"type\":\"uint256\"}],\"name\":\"CoinTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newURI\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ContractMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"ContractURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct PoolKey\",\"name\":\"fromPoolKey\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"fromPoolKeyHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct PoolKey\",\"name\":\"toPoolKey\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"toPoolKeyHash\",\"type\":\"bytes32\"}],\"name\":\"LiquidityMigrated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newName\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newSymbol\",\"type\":\"string\"}],\"name\":\"NameAndSymbolUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"airlock\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"coinType\",\"outputs\":[{\"internalType\":\"enum IHasCoinType.CoinType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"dopplerFeeRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IDeployedCoinVersionLookup\",\"name\":\"coinVersionLookup\",\"type\":\"address\"}],\"name\":\"getPayoutSwapPath\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"intermediateCurrency\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"internalType\":\"struct PathKey[]\",\"name\":\"path\",\"type\":\"tuple[]\"},{\"internalType\":\"Currency\",\"name\":\"currencyIn\",\"type\":\"address\"}],\"internalType\":\"struct IHasSwapPath.PayoutSwapPath\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolConfiguration\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"numPositions\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"uint16[]\",\"name\":\"numDiscoveryPositions\",\"type\":\"uint16[]\"},{\"internalType\":\"int24[]\",\"name\":\"tickLower\",\"type\":\"int24[]\"},{\"internalType\":\"int24[]\",\"name\":\"tickUpper\",\"type\":\"int24[]\"},{\"internalType\":\"uint256[]\",\"name\":\"maxDiscoverySupplyShare\",\"type\":\"uint256[]\"}],\"internalType\":\"struct PoolConfiguration\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolKey\",\"outputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hooks\",\"outputs\":[{\"internalType\":\"contract IHooks\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"payoutRecipient_\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"owners_\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"tokenURI_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"platformReferrer_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency_\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"poolKey_\",\"type\":\"tuple\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"numPositions\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"uint16[]\",\"name\":\"numDiscoveryPositions\",\"type\":\"uint16[]\"},{\"internalType\":\"int24[]\",\"name\":\"tickLower\",\"type\":\"int24[]\"},{\"internalType\":\"int24[]\",\"name\":\"tickUpper\",\"type\":\"int24[]\"},{\"internalType\":\"uint256[]\",\"name\":\"maxDiscoverySupplyShare\",\"type\":\"uint256[]\"}],\"internalType\":\"struct PoolConfiguration\",\"name\":\"poolConfiguration_\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payoutRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"platformReferrer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolRewardRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"newSymbol\",\"type\":\"string\"}],\"name\":\"setNameAndSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupplyForPositions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"CoinBuy(address,address,address,uint256,address,uint256,uint256)\":{\"params\":{\"amountFee\":\"The fee for the purchase\",\"amountSold\":\"The amount of the currency sold\",\"buyer\":\"The address of the buyer\",\"coinsPurchased\":\"The number of coins purchased\",\"currency\":\"The address of the currency\",\"recipient\":\"The address of the recipient\",\"tradeReferrer\":\"The address of the trade referrer\"}},\"CoinMarketRewards(address,address,address,address,(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"currency\":\"The address of the currency\",\"marketRewards\":\"The rewards accrued from the market's liquidity position\",\"payoutRecipient\":\"The address of the creator rewards payout recipient\",\"platformReferrer\":\"The address of the platform referrer\",\"protocolRewardRecipient\":\"The address of the protocol reward recipient\"}},\"CoinPayoutRecipientUpdated(address,address,address)\":{\"params\":{\"caller\":\"The msg.sender address\",\"newRecipient\":\"The new payout recipient address\",\"prevRecipient\":\"The previous payout recipient address\"}},\"CoinSell(address,address,address,uint256,address,uint256,uint256)\":{\"params\":{\"amountFee\":\"The fee for the sale\",\"amountPurchased\":\"The amount of the currency purchased\",\"coinsSold\":\"The number of coins sold\",\"currency\":\"The address of the currency\",\"recipient\":\"The address of the recipient\",\"seller\":\"The address of the seller\",\"tradeReferrer\":\"The address of the trade referrer\"}},\"CoinTradeRewards(address,address,address,address,uint256,uint256,uint256,uint256,address)\":{\"params\":{\"creatorReward\":\"The reward for the creator\",\"currency\":\"The address of the currency\",\"payoutRecipient\":\"The address of the creator rewards payout recipient\",\"platformReferrer\":\"The address of the platform referrer\",\"platformReferrerReward\":\"The reward for the platform referrer\",\"protocolReward\":\"The reward for the protocol\",\"protocolRewardRecipient\":\"The address of the protocol reward recipient\",\"tradeReferrer\":\"The address of the trade referrer\",\"traderReferrerReward\":\"The reward for the trade referrer\"}},\"CoinTransfer(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of coins\",\"recipient\":\"The address of the recipient\",\"recipientBalance\":\"The balance of the recipient after the transfer\",\"sender\":\"The address of the sender\",\"senderBalance\":\"The balance of the sender after the transfer\"}},\"ContractMetadataUpdated(address,string,string)\":{\"params\":{\"caller\":\"The msg.sender address\",\"name\":\"The coin name\",\"newURI\":\"The new contract URI\"}},\"LiquidityMigrated((address,address,uint24,int24,address),bytes32,(address,address,uint24,int24,address),bytes32)\":{\"params\":{\"fromPoolKey\":\"The pool key being upgraded\",\"toPoolKey\":\"The new pool key returned from the destination hook\"}},\"NameAndSymbolUpdated(address,string,string)\":{\"params\":{\"caller\":\"The msg.sender address\",\"newName\":\"The new coin name\",\"newSymbol\":\"The new coin symbol\"}}},\"kind\":\"dev\",\"methods\":{\"airlock()\":{\"returns\":{\"_0\":\"The Airlock's address\"}},\"burn(uint256)\":{\"params\":{\"amount\":\"The amount of tokens to burn\"}},\"coinType()\":{\"returns\":{\"_0\":\"The type of coin\"}},\"currency()\":{\"returns\":{\"_0\":\"The currency's address\"}},\"getPayoutSwapPath(address)\":{\"details\":\"This enables multi-hop swaps through intermediate currencies to reach the target payout token\",\"params\":{\"coinVersionLookup\":\"Contract for looking up deployed coin versions to build recursive paths\"},\"returns\":{\"_0\":\"PayoutSwapPath struct containing the complete swap route configuration\"}},\"getPoolConfiguration()\":{\"returns\":{\"_0\":\"PoolConfiguration struct containing pool-specific settings and parameters\"}},\"getPoolKey()\":{\"returns\":{\"_0\":\"The PoolKey struct containing pool identification parameters\"}},\"hooks()\":{\"returns\":{\"_0\":\"The IHooks contract interface that handles pool lifecycle events\"}},\"initialize(address,address[],string,string,string,address,address,(address,address,uint24,int24,address),uint160,(uint8,uint16,uint24,int24,uint16[],int24[],int24[],uint256[]))\":{\"details\":\"Called by the factory contract when the contract is deployed.\",\"params\":{\"currency_\":\"The currency of the coin. Cannot be updated. Can be the zero address for ETH.\",\"name_\":\"The name of the token. Cannot be updated.\",\"owners_\":\"The addresses of the owners. All owners have the same full admin access. Cannot be 0 address.\",\"payoutRecipient_\":\"The address of the payout recipient. Can be updated by the owner. Cannot be 0 address.\",\"platformReferrer_\":\"The address of the platform referrer. Cannot be updated.\",\"poolConfiguration_\":\"The configuration for the pool\",\"poolKey_\":\"The pool key for the coin. Derived in the factory.\",\"sqrtPriceX96\":\"The initial sqrt price for the pool\",\"symbol_\":\"The symbol of the token. Cannot be updated.\",\"tokenURI_\":\"The URI of the token. Can be updated by the owner.\"}},\"setNameAndSymbol(string,string)\":{\"params\":{\"newName\":\"The new coin name\",\"newSymbol\":\"The new coin symbol\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"tokenURI()\":{\"returns\":{\"_0\":\"The token URI\"}},\"totalSupplyForPositions()\":{\"returns\":{\"_0\":\"The total supply of all positions\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"AddressZero()\":[{\"notice\":\"Thrown when an operation is attempted with a zero address\"}],\"DopplerPoolMustHaveMoreThan2DiscoveryPositions()\":[{\"notice\":\"Thrown when a Doppler pool does not have more than 2 discovery positions\"}],\"ERC20TransferAmountMismatch()\":[{\"notice\":\"Thrown when the expected amount of ERC20s transferred does not match the amount received\"}],\"EthAmountMismatch()\":[{\"notice\":\"Thrown when the msg.value amount does not match the amount of currency sent\"}],\"EthAmountTooSmall()\":[{\"notice\":\"Thrown when the ETH amount is too small for a transaction\"}],\"EthTransferFailed()\":[{\"notice\":\"Thrown when an ETH transfer fails\"}],\"EthTransferInvalid()\":[{\"notice\":\"Thrown when ETH is sent with a buy or sell but the currency is not WETH\"}],\"InitialOrderSizeTooLarge()\":[{\"notice\":\"Thrown when the initial order size is too large\"}],\"InsufficientFunds()\":[{\"notice\":\"Thrown when there are insufficient funds for an operation\"}],\"InsufficientLiquidity()\":[{\"notice\":\"Thrown when there is insufficient liquidity for a transaction\"}],\"InvalidCurrency()\":[{\"notice\":\"Thrown when an invalid currency is used for coin operations\"}],\"InvalidCurrencyLowerTick()\":[{\"notice\":\"Thrown when the lower tick is not less than the maximum tick or not a multiple of 200\"}],\"InvalidMarketType()\":[{\"notice\":\"Thrown when an invalid market type is specified\"}],\"InvalidPoolVersion()\":[{\"notice\":\"Thrown when an invalid pool version is specified\"}],\"InvalidTickRangeMisordered(int24,int24)\":[{\"notice\":\"Thrown when the tick range is misordered\"}],\"InvalidWethLowerTick()\":[{\"notice\":\"Thrown when the lower tick is not set to the default value\"}],\"LegacyPoolMustHaveOneDiscoveryPosition()\":[{\"notice\":\"Thrown when a legacy pool does not have one discovery position\"}],\"MarketAlreadyGraduated()\":[{\"notice\":\"Thrown when a market is already graduated\"}],\"MarketNotGraduated()\":[{\"notice\":\"Thrown when a market is not yet graduated\"}],\"MaxShareToBeSoldExceeded(uint256,uint256)\":[{\"notice\":\"Thrown when the max share to be sold exceeds the maximum unit\"}],\"NameIsRequired()\":[{\"notice\":\"Thrown when the name is required for the coin\"}],\"OnlyPool(address,address)\":[{\"notice\":\"Thrown when an operation is attempted by an entity other than the pool\"}],\"OnlyWeth()\":[{\"notice\":\"Thrown when an operation is attempted by an entity other than WETH\"}],\"SlippageBoundsExceeded()\":[{\"notice\":\"Thrown when the slippage bounds are exceeded during a transaction\"}]},\"events\":{\"CoinBuy(address,address,address,uint256,address,uint256,uint256)\":{\"notice\":\"Emitted when coins are bought\"},\"CoinMarketRewards(address,address,address,address,(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted when market rewards are distributed\"},\"CoinPayoutRecipientUpdated(address,address,address)\":{\"notice\":\"Emitted when the creator's payout address is updated\"},\"CoinSell(address,address,address,uint256,address,uint256,uint256)\":{\"notice\":\"Emitted when coins are sold\"},\"CoinTradeRewards(address,address,address,address,uint256,uint256,uint256,uint256,address)\":{\"notice\":\"Emitted when trade rewards are distributed\"},\"CoinTransfer(address,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a coin is transferred\"},\"ContractMetadataUpdated(address,string,string)\":{\"notice\":\"Emitted when the contract URI is updated\"},\"ContractURIUpdated()\":{\"notice\":\"Emitted when the contract URI is updated\"},\"LiquidityMigrated((address,address,uint24,int24,address),bytes32,(address,address,uint24,int24,address),bytes32)\":{\"notice\":\"Emitted when a hook is upgraded\"},\"NameAndSymbolUpdated(address,string,string)\":{\"notice\":\"Emitted when the coin name is updated\"}},\"kind\":\"user\",\"methods\":{\"airlock()\":{\"notice\":\"Returns the address of the Airlock\"},\"burn(uint256)\":{\"notice\":\"Enables a user to burn their tokens\"},\"coinType()\":{\"notice\":\"Returns the type of coin\"},\"contractURI()\":{\"notice\":\"Returns the contract-level metadata\"},\"currency()\":{\"notice\":\"Returns the address of the currency\"},\"getPayoutSwapPath(address)\":{\"notice\":\"Returns the swap path configuration for converting this coin to its final payout currency\"},\"getPoolConfiguration()\":{\"notice\":\"Returns the pool configuration settings for this coin's Uniswap V4 pool\"},\"getPoolKey()\":{\"notice\":\"Returns the Uniswap V4 pool key associated with this coin\"},\"hooks()\":{\"notice\":\"Returns the hooks contract used by this coin's Uniswap V4 pool\"},\"initialize(address,address[],string,string,string,address,address,(address,address,uint24,int24,address),uint160,(uint8,uint16,uint24,int24,uint16[],int24[],int24[],uint256[]))\":{\"notice\":\"Initializes the coin\"},\"setNameAndSymbol(string,string)\":{\"notice\":\"Updates the name and symbol of the coin\"},\"tokenURI()\":{\"notice\":\"Returns the URI of the token\"},\"totalSupplyForPositions()\":{\"notice\":\"Returns the total supply of all positions for this coin\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol\":\"ICoin\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/universal-router/contracts/=node_modules/@uniswap/universal-router/contracts/\",\":@uniswap/v4-core/=node_modules/@uniswap/v4-core/\",\":@uniswap/v4-periphery/=node_modules/@uniswap/v4-periphery/\",\":@zoralabs/coins/=node_modules/@zoralabs/coins/\",\":@zoralabs/shared-contracts/=node_modules/@zoralabs/shared-contracts/src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":permit2/src/=node_modules/@uniswap/permit2/src/\",\":solady/=node_modules/solady/src/\",\":solmate/=node_modules/solmate/src/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IExtsload.sol\":{\"keccak256\":\"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1\",\"dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IExttload.sol\":{\"keccak256\":\"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8\",\"dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IHooks.sol\":{\"keccak256\":\"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec\",\"dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IPoolManager.sol\":{\"keccak256\":\"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4\",\"dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IProtocolFees.sol\":{\"keccak256\":\"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d\",\"dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J\"]},\"node_modules/@uniswap/v4-core/src/interfaces/external/IERC20Minimal.sol\":{\"keccak256\":\"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de\",\"dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d\"]},\"node_modules/@uniswap/v4-core/src/interfaces/external/IERC6909Claims.sol\":{\"keccak256\":\"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f\",\"dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK\"]},\"node_modules/@uniswap/v4-core/src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"node_modules/@uniswap/v4-core/src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"node_modules/@uniswap/v4-core/src/types/BalanceDelta.sol\":{\"keccak256\":\"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9\",\"dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H\"]},\"node_modules/@uniswap/v4-core/src/types/BeforeSwapDelta.sol\":{\"keccak256\":\"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782\",\"dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K\"]},\"node_modules/@uniswap/v4-core/src/types/Currency.sol\":{\"keccak256\":\"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01\",\"dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5\"]},\"node_modules/@uniswap/v4-core/src/types/PoolId.sol\":{\"keccak256\":\"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918\",\"dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y\"]},\"node_modules/@uniswap/v4-core/src/types/PoolKey.sol\":{\"keccak256\":\"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639\",\"dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi\"]},\"node_modules/@uniswap/v4-core/src/types/PoolOperation.sol\":{\"keccak256\":\"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07\",\"dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c\"]},\"node_modules/@uniswap/v4-periphery/src/libraries/PathKey.sol\":{\"keccak256\":\"0xbbd79ffefe045f025263e389539021266fb4d371463aefba405e1ff1d3fcf9bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1c47b81a01218be46ee79f0a8837095479b94dc5cfd18abbf2006709f0ea89\",\"dweb:/ipfs/QmRb6CQ13Zp7f3WF5jbZtsF2szhxpPgcuWs9mjwQXxzqtg\"]},\"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol\":{\"keccak256\":\"0x064191edcd79ce2081e170662e0f0eab27e4ba2a04b1f3140b383995f5d3b9fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10bb43addb3d2203c864d89f86510339acaa1fa731aae5b35353b4b43ad4e0b6\",\"dweb:/ipfs/QmZ1pUgcs9w5Mkp3k9QGpg1sewSYoAn3PdH3t81v3zgjD4\"]},\"node_modules/@zoralabs/coins/src/interfaces/IDeployedCoinVersionLookup.sol\":{\"keccak256\":\"0x2d9efe898233cf17e24e266d8bd6d197b4dde07fae8b954f247b1c04262b96ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://550fbe232af1052e113c1e664f4adf0c514501c38669d82bb4debd57e5842baa\",\"dweb:/ipfs/QmRBzWwCvmWZEBh6uRHvdzZQCW7Q8pgGg8Sc9hD7p5UuLK\"]},\"node_modules/@zoralabs/coins/src/interfaces/IDopplerErrors.sol\":{\"keccak256\":\"0xf78efeb8a0d37914bae9be8c6ed70d54a1d48305b3f9e3f8b95d20f9685640ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e51cc18a8367dc9363a958f179cf2e8af662cbe41474647aa78424be781120e\",\"dweb:/ipfs/QmNrxrY2P7FMRY7tJtV2n5eiPDyM5pRhBpn9wgDfgwdDCs\"]},\"node_modules/@zoralabs/coins/src/interfaces/IERC7572.sol\":{\"keccak256\":\"0xf42b7816c4ed223c89d93d71e64c2fd2222b37d1280bfd067f57ff3301b0a937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9bff9cab44e297b6f01a044b44d0acf68319789d47634708c384a9c32962db9d\",\"dweb:/ipfs/QmTg4oAc7yoGJnk3cjMEYixboAjJLgL4ys3KNSsvvtX91u\"]},\"node_modules/@zoralabs/coins/src/interfaces/IHasRewardsRecipients.sol\":{\"keccak256\":\"0x88401512f4b4f197a0961b56e4f32f9660625dd238c7ed704bba8543a30087eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6ca303775da2421a341f23f73a5641fc159d57b37f091f9adb7d7f1da7f81b5\",\"dweb:/ipfs/QmPinYGLrFfZ5kZqRo7epqdybw5Bhc7Lzocw1nFvYpGqJR\"]},\"node_modules/@zoralabs/coins/src/types/PoolConfiguration.sol\":{\"keccak256\":\"0xaecffdbd5d6f33d9d3450a155d0a2efcdd8e0636cc473328dd852afef6a76b22\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://20d8ed8f4a4f1b7657004faada7367b923c35f8f194fd853d5af7a8440bd7319\",\"dweb:/ipfs/QmUi9BT4rHdxUuycz3YBrowgpNdcKEoBfVDVYxsptQ8c8t\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressZero"},{"inputs":[],"type":"error","name":"CannotMintZeroLiquidity"},{"inputs":[],"type":"error","name":"DopplerPoolMustHaveMoreThan2DiscoveryPositions"},{"inputs":[],"type":"error","name":"ERC20TransferAmountMismatch"},{"inputs":[],"type":"error","name":"EthAmountMismatch"},{"inputs":[],"type":"error","name":"EthAmountTooSmall"},{"inputs":[],"type":"error","name":"EthTransferFailed"},{"inputs":[],"type":"error","name":"EthTransferInvalid"},{"inputs":[],"type":"error","name":"InitialOrderSizeTooLarge"},{"inputs":[],"type":"error","name":"InsufficientFunds"},{"inputs":[],"type":"error","name":"InsufficientLiquidity"},{"inputs":[],"type":"error","name":"InvalidCurrency"},{"inputs":[],"type":"error","name":"InvalidCurrencyLowerTick"},{"inputs":[],"type":"error","name":"InvalidMarketType"},{"inputs":[],"type":"error","name":"InvalidPoolVersion"},{"inputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"}],"type":"error","name":"InvalidTickRangeMisordered"},{"inputs":[],"type":"error","name":"InvalidWethLowerTick"},{"inputs":[],"type":"error","name":"LegacyPoolMustHaveOneDiscoveryPosition"},{"inputs":[],"type":"error","name":"MarketAlreadyGraduated"},{"inputs":[],"type":"error","name":"MarketNotGraduated"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"}],"type":"error","name":"MaxShareToBeSoldExceeded"},{"inputs":[],"type":"error","name":"NameIsRequired"},{"inputs":[],"type":"error","name":"NumDiscoveryPositionsOutOfRange"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"pool","type":"address"}],"type":"error","name":"OnlyPool"},{"inputs":[],"type":"error","name":"OnlyWeth"},{"inputs":[],"type":"error","name":"SlippageBoundsExceeded"},{"inputs":[{"internalType":"address","name":"buyer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"tradeReferrer","type":"address","indexed":true},{"internalType":"uint256","name":"coinsPurchased","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"amountFee","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountSold","type":"uint256","indexed":false}],"type":"event","name":"CoinBuy","anonymous":false},{"inputs":[{"internalType":"address","name":"payoutRecipient","type":"address","indexed":true},{"internalType":"address","name":"platformReferrer","type":"address","indexed":true},{"internalType":"address","name":"protocolRewardRecipient","type":"address","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"struct ICoin.MarketRewards","name":"marketRewards","type":"tuple","components":[{"internalType":"uint256","name":"totalAmountCurrency","type":"uint256"},{"internalType":"uint256","name":"totalAmountCoin","type":"uint256"},{"internalType":"uint256","name":"creatorPayoutAmountCurrency","type":"uint256"},{"internalType":"uint256","name":"creatorPayoutAmountCoin","type":"uint256"},{"internalType":"uint256","name":"platformReferrerAmountCurrency","type":"uint256"},{"internalType":"uint256","name":"platformReferrerAmountCoin","type":"uint256"},{"internalType":"uint256","name":"protocolAmountCurrency","type":"uint256"},{"internalType":"uint256","name":"protocolAmountCoin","type":"uint256"}],"indexed":false}],"type":"event","name":"CoinMarketRewards","anonymous":false},{"inputs":[{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"address","name":"prevRecipient","type":"address","indexed":true},{"internalType":"address","name":"newRecipient","type":"address","indexed":true}],"type":"event","name":"CoinPayoutRecipientUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"seller","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"tradeReferrer","type":"address","indexed":true},{"internalType":"uint256","name":"coinsSold","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"amountFee","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountPurchased","type":"uint256","indexed":false}],"type":"event","name":"CoinSell","anonymous":false},{"inputs":[{"internalType":"address","name":"payoutRecipient","type":"address","indexed":true},{"internalType":"address","name":"platformReferrer","type":"address","indexed":true},{"internalType":"address","name":"tradeReferrer","type":"address","indexed":true},{"internalType":"address","name":"protocolRewardRecipient","type":"address","indexed":false},{"internalType":"uint256","name":"creatorReward","type":"uint256","indexed":false},{"internalType":"uint256","name":"platformReferrerReward","type":"uint256","indexed":false},{"internalType":"uint256","name":"traderReferrerReward","type":"uint256","indexed":false},{"internalType":"uint256","name":"protocolReward","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false}],"type":"event","name":"CoinTradeRewards","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"senderBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"recipientBalance","type":"uint256","indexed":false}],"type":"event","name":"CoinTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"string","name":"newURI","type":"string","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false}],"type":"event","name":"ContractMetadataUpdated","anonymous":false},{"inputs":[],"type":"event","name":"ContractURIUpdated","anonymous":false},{"inputs":[{"internalType":"struct PoolKey","name":"fromPoolKey","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"indexed":false},{"internalType":"bytes32","name":"fromPoolKeyHash","type":"bytes32","indexed":false},{"internalType":"struct PoolKey","name":"toPoolKey","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"indexed":false},{"internalType":"bytes32","name":"toPoolKeyHash","type":"bytes32","indexed":false}],"type":"event","name":"LiquidityMigrated","anonymous":false},{"inputs":[{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"string","name":"newName","type":"string","indexed":false},{"internalType":"string","name":"newSymbol","type":"string","indexed":false}],"type":"event","name":"NameAndSymbolUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"airlock","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"coinType","outputs":[{"internalType":"enum IHasCoinType.CoinType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currency","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"dopplerFeeRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IDeployedCoinVersionLookup","name":"coinVersionLookup","type":"address"}],"stateMutability":"view","type":"function","name":"getPayoutSwapPath","outputs":[{"internalType":"struct IHasSwapPath.PayoutSwapPath","name":"","type":"tuple","components":[{"internalType":"struct PathKey[]","name":"path","type":"tuple[]","components":[{"internalType":"Currency","name":"intermediateCurrency","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"},{"internalType":"bytes","name":"hookData","type":"bytes"}]},{"internalType":"Currency","name":"currencyIn","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolConfiguration","outputs":[{"internalType":"struct PoolConfiguration","name":"","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"uint16","name":"numPositions","type":"uint16"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"uint16[]","name":"numDiscoveryPositions","type":"uint16[]"},{"internalType":"int24[]","name":"tickLower","type":"int24[]"},{"internalType":"int24[]","name":"tickUpper","type":"int24[]"},{"internalType":"uint256[]","name":"maxDiscoverySupplyShare","type":"uint256[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolKey","outputs":[{"internalType":"struct PoolKey","name":"","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"hooks","outputs":[{"internalType":"contract IHooks","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"payoutRecipient_","type":"address"},{"internalType":"address[]","name":"owners_","type":"address[]"},{"internalType":"string","name":"tokenURI_","type":"string"},{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"platformReferrer_","type":"address"},{"internalType":"address","name":"currency_","type":"address"},{"internalType":"struct PoolKey","name":"poolKey_","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]},{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"internalType":"struct PoolConfiguration","name":"poolConfiguration_","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"uint16","name":"numPositions","type":"uint16"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"uint16[]","name":"numDiscoveryPositions","type":"uint16[]"},{"internalType":"int24[]","name":"tickLower","type":"int24[]"},{"internalType":"int24[]","name":"tickUpper","type":"int24[]"},{"internalType":"uint256[]","name":"maxDiscoverySupplyShare","type":"uint256[]"}]}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"payoutRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"platformReferrer","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"protocolRewardRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"newName","type":"string"},{"internalType":"string","name":"newSymbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setNameAndSymbol"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupplyForPositions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"airlock()":{"returns":{"_0":"The Airlock's address"}},"burn(uint256)":{"params":{"amount":"The amount of tokens to burn"}},"coinType()":{"returns":{"_0":"The type of coin"}},"currency()":{"returns":{"_0":"The currency's address"}},"getPayoutSwapPath(address)":{"details":"This enables multi-hop swaps through intermediate currencies to reach the target payout token","params":{"coinVersionLookup":"Contract for looking up deployed coin versions to build recursive paths"},"returns":{"_0":"PayoutSwapPath struct containing the complete swap route configuration"}},"getPoolConfiguration()":{"returns":{"_0":"PoolConfiguration struct containing pool-specific settings and parameters"}},"getPoolKey()":{"returns":{"_0":"The PoolKey struct containing pool identification parameters"}},"hooks()":{"returns":{"_0":"The IHooks contract interface that handles pool lifecycle events"}},"initialize(address,address[],string,string,string,address,address,(address,address,uint24,int24,address),uint160,(uint8,uint16,uint24,int24,uint16[],int24[],int24[],uint256[]))":{"details":"Called by the factory contract when the contract is deployed.","params":{"currency_":"The currency of the coin. Cannot be updated. Can be the zero address for ETH.","name_":"The name of the token. Cannot be updated.","owners_":"The addresses of the owners. All owners have the same full admin access. Cannot be 0 address.","payoutRecipient_":"The address of the payout recipient. Can be updated by the owner. Cannot be 0 address.","platformReferrer_":"The address of the platform referrer. Cannot be updated.","poolConfiguration_":"The configuration for the pool","poolKey_":"The pool key for the coin. Derived in the factory.","sqrtPriceX96":"The initial sqrt price for the pool","symbol_":"The symbol of the token. Cannot be updated.","tokenURI_":"The URI of the token. Can be updated by the owner."}},"setNameAndSymbol(string,string)":{"params":{"newName":"The new coin name","newSymbol":"The new coin symbol"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas."},"tokenURI()":{"returns":{"_0":"The token URI"}},"totalSupplyForPositions()":{"returns":{"_0":"The total supply of all positions"}}},"version":1},"userdoc":{"kind":"user","methods":{"airlock()":{"notice":"Returns the address of the Airlock"},"burn(uint256)":{"notice":"Enables a user to burn their tokens"},"coinType()":{"notice":"Returns the type of coin"},"contractURI()":{"notice":"Returns the contract-level metadata"},"currency()":{"notice":"Returns the address of the currency"},"getPayoutSwapPath(address)":{"notice":"Returns the swap path configuration for converting this coin to its final payout currency"},"getPoolConfiguration()":{"notice":"Returns the pool configuration settings for this coin's Uniswap V4 pool"},"getPoolKey()":{"notice":"Returns the Uniswap V4 pool key associated with this coin"},"hooks()":{"notice":"Returns the hooks contract used by this coin's Uniswap V4 pool"},"initialize(address,address[],string,string,string,address,address,(address,address,uint24,int24,address),uint160,(uint8,uint16,uint24,int24,uint16[],int24[],int24[],uint256[]))":{"notice":"Initializes the coin"},"setNameAndSymbol(string,string)":{"notice":"Updates the name and symbol of the coin"},"tokenURI()":{"notice":"Returns the URI of the token"},"totalSupplyForPositions()":{"notice":"Returns the total supply of all positions for this coin"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@uniswap/universal-router/contracts/=node_modules/@uniswap/universal-router/contracts/","@uniswap/v4-core/=node_modules/@uniswap/v4-core/","@uniswap/v4-periphery/=node_modules/@uniswap/v4-periphery/","@zoralabs/coins/=node_modules/@zoralabs/coins/","@zoralabs/shared-contracts/=node_modules/@zoralabs/shared-contracts/src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","permit2/src/=node_modules/@uniswap/permit2/src/","solady/=node_modules/solady/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":100},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol":"ICoin"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IExtsload.sol":{"keccak256":"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43","urls":["bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1","dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IExttload.sol":{"keccak256":"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937","urls":["bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8","dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IHooks.sol":{"keccak256":"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d","urls":["bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec","dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IPoolManager.sol":{"keccak256":"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e","urls":["bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4","dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IProtocolFees.sol":{"keccak256":"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848","urls":["bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d","dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/external/IERC20Minimal.sol":{"keccak256":"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f","urls":["bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de","dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/external/IERC6909Claims.sol":{"keccak256":"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48","urls":["bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f","dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/CustomRevert.sol":{"keccak256":"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de","urls":["bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd","dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/SafeCast.sol":{"keccak256":"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86","urls":["bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59","dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/BalanceDelta.sol":{"keccak256":"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f","urls":["bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9","dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/BeforeSwapDelta.sol":{"keccak256":"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78","urls":["bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782","dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/Currency.sol":{"keccak256":"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93","urls":["bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01","dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolId.sol":{"keccak256":"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af","urls":["bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918","dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolKey.sol":{"keccak256":"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786","urls":["bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639","dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolOperation.sol":{"keccak256":"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162","urls":["bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07","dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c"],"license":"MIT"},"node_modules/@uniswap/v4-periphery/src/libraries/PathKey.sol":{"keccak256":"0xbbd79ffefe045f025263e389539021266fb4d371463aefba405e1ff1d3fcf9bc","urls":["bzz-raw://2d1c47b81a01218be46ee79f0a8837095479b94dc5cfd18abbf2006709f0ea89","dweb:/ipfs/QmRb6CQ13Zp7f3WF5jbZtsF2szhxpPgcuWs9mjwQXxzqtg"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol":{"keccak256":"0x064191edcd79ce2081e170662e0f0eab27e4ba2a04b1f3140b383995f5d3b9fe","urls":["bzz-raw://10bb43addb3d2203c864d89f86510339acaa1fa731aae5b35353b4b43ad4e0b6","dweb:/ipfs/QmZ1pUgcs9w5Mkp3k9QGpg1sewSYoAn3PdH3t81v3zgjD4"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IDeployedCoinVersionLookup.sol":{"keccak256":"0x2d9efe898233cf17e24e266d8bd6d197b4dde07fae8b954f247b1c04262b96ba","urls":["bzz-raw://550fbe232af1052e113c1e664f4adf0c514501c38669d82bb4debd57e5842baa","dweb:/ipfs/QmRBzWwCvmWZEBh6uRHvdzZQCW7Q8pgGg8Sc9hD7p5UuLK"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IDopplerErrors.sol":{"keccak256":"0xf78efeb8a0d37914bae9be8c6ed70d54a1d48305b3f9e3f8b95d20f9685640ea","urls":["bzz-raw://1e51cc18a8367dc9363a958f179cf2e8af662cbe41474647aa78424be781120e","dweb:/ipfs/QmNrxrY2P7FMRY7tJtV2n5eiPDyM5pRhBpn9wgDfgwdDCs"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IERC7572.sol":{"keccak256":"0xf42b7816c4ed223c89d93d71e64c2fd2222b37d1280bfd067f57ff3301b0a937","urls":["bzz-raw://9bff9cab44e297b6f01a044b44d0acf68319789d47634708c384a9c32962db9d","dweb:/ipfs/QmTg4oAc7yoGJnk3cjMEYixboAjJLgL4ys3KNSsvvtX91u"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IHasRewardsRecipients.sol":{"keccak256":"0x88401512f4b4f197a0961b56e4f32f9660625dd238c7ed704bba8543a30087eb","urls":["bzz-raw://e6ca303775da2421a341f23f73a5641fc159d57b37f091f9adb7d7f1da7f81b5","dweb:/ipfs/QmPinYGLrFfZ5kZqRo7epqdybw5Bhc7Lzocw1nFvYpGqJR"],"license":"MIT"},"node_modules/@zoralabs/coins/src/types/PoolConfiguration.sol":{"keccak256":"0xaecffdbd5d6f33d9d3450a155d0a2efcdd8e0636cc473328dd852afef6a76b22","urls":["bzz-raw://20d8ed8f4a4f1b7657004faada7367b923c35f8f194fd853d5af7a8440bd7319","dweb:/ipfs/QmUi9BT4rHdxUuycz3YBrowgpNdcKEoBfVDVYxsptQ8c8t"],"license":"ZORA-DELAYED-OSL-v1"}},"version":1},"id":41}