@zoralabs/coins 2.4.0 → 2.5.0

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 (129) hide show
  1. package/.abi-stability +923 -0
  2. package/.turbo/turbo-build$colon$js.log +110 -116
  3. package/CHANGELOG.md +25 -0
  4. package/abis/Address.json +0 -16
  5. package/abis/BaseCoin.json +18 -0
  6. package/abis/BuySupplyWithSwapRouterHook.json +0 -27
  7. package/abis/BuySupplyWithV4SwapHook.json +0 -32
  8. package/abis/Clones.json +1 -1
  9. package/abis/CoinDopplerMultiCurve.json +109 -0
  10. package/abis/ContentCoin.json +18 -0
  11. package/abis/Create2.json +0 -21
  12. package/abis/CreatorCoin.json +18 -0
  13. package/abis/ERC1967Proxy.json +1 -1
  14. package/abis/ERC1967Utils.json +0 -45
  15. package/abis/{UpgradeCoinImpl.json → Errors.json} +14 -10
  16. package/abis/{MockERC20.json → IERC1363.json} +134 -104
  17. package/abis/IERC1967.json +47 -0
  18. package/abis/IERC20.json +0 -36
  19. package/abis/IHasCreationInfo.json +20 -0
  20. package/abis/IProtocolRewards.json +0 -258
  21. package/abis/{Script.json → ISupportsLimitOrderFill.json} +2 -2
  22. package/abis/IZoraLimitOrderBookCoinsInterface.json +67 -0
  23. package/abis/IZoraV4CoinHook.json +10 -0
  24. package/abis/ProxyShim.json +15 -16
  25. package/abis/SafeCast.json +51 -0
  26. package/abis/{AddressConstants.json → SafeCast160.json} +1 -1
  27. package/abis/Strings.json +10 -0
  28. package/abis/UUPSUpgradeable.json +1 -1
  29. package/abis/V3ToV4SwapLib.json +28 -0
  30. package/abis/ZoraFactory.json +1 -1
  31. package/abis/ZoraFactoryImpl.json +22 -6
  32. package/abis/ZoraV4CoinHook.json +20 -48
  33. package/dist/index.cjs +980 -43
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.js +978 -41
  36. package/dist/index.js.map +1 -1
  37. package/dist/wagmiGenerated.d.ts +1501 -76
  38. package/dist/wagmiGenerated.d.ts.map +1 -1
  39. package/package/wagmiGenerated.ts +981 -44
  40. package/package.json +11 -9
  41. package/remappings.txt +2 -1
  42. package/src/BaseCoin.sol +32 -2
  43. package/src/ZoraFactoryImpl.sol +8 -0
  44. package/src/deployment/ForkedCoinsAddresses.sol +54 -0
  45. package/src/hooks/ZoraV4CoinHook.sol +131 -20
  46. package/src/hooks/deployment/BuySupplyWithV4SwapHook.sol +20 -142
  47. package/src/interfaces/IHasCreationInfo.sol +12 -0
  48. package/src/interfaces/ISupportsLimitOrderFill.sol +11 -0
  49. package/src/interfaces/IZoraLimitOrderBookCoinsInterface.sol +21 -0
  50. package/src/interfaces/IZoraV4CoinHook.sol +6 -0
  51. package/src/libs/CoinConstants.sol +22 -0
  52. package/src/libs/CoinDopplerMultiCurve.sol +1 -1
  53. package/src/libs/CoinRewardsV4.sol +0 -1
  54. package/src/libs/CoinSetup.sol +7 -1
  55. package/src/libs/HooksDeployment.sol +20 -8
  56. package/src/libs/UniV4SwapHelper.sol +35 -0
  57. package/src/libs/V3ToV4SwapLib.sol +265 -0
  58. package/src/version/ContractVersionBase.sol +1 -1
  59. package/test/BuySupplyWithV4SwapHook.t.sol +4 -3
  60. package/test/Coin.t.sol +7 -1
  61. package/test/CoinUniV4.t.sol +6 -1
  62. package/test/ContentCoinRewards.t.sol +6 -1
  63. package/test/CreatorCoin.t.sol +3 -1
  64. package/test/CreatorCoinRewards.t.sol +4 -1
  65. package/test/Factory.t.sol +20 -7
  66. package/test/HooksDeployment.t.sol +16 -3
  67. package/test/LaunchFee.t.sol +286 -0
  68. package/test/LiquidityMigration.t.sol +52 -44
  69. package/test/MultiOwnable.t.sol +2 -1
  70. package/test/Upgrades.t.sol +110 -81
  71. package/test/V4Liquidity.t.sol +1 -1
  72. package/test/mocks/MockSwapRouter.sol +33 -0
  73. package/test/mocks/MockZoraLimitOrderBook.sol +14 -0
  74. package/test/utils/BaseTest.sol +14 -448
  75. package/test/utils/FeeEstimatorHook.sol +6 -2
  76. package/test/utils/V4TestSetup.sol +595 -0
  77. package/wagmi.config.ts +1 -1
  78. package/abis/BaseTest.json +0 -718
  79. package/abis/DeterministicDeployerAndCaller.json +0 -315
  80. package/abis/DeterministicUUPSProxyDeployer.json +0 -167
  81. package/abis/EIP712.json +0 -67
  82. package/abis/ERC20.json +0 -310
  83. package/abis/FeeEstimatorHook.json +0 -1938
  84. package/abis/IERC721.json +0 -287
  85. package/abis/IERC721Enumerable.json +0 -343
  86. package/abis/IERC721Metadata.json +0 -332
  87. package/abis/IERC721TokenReceiver.json +0 -36
  88. package/abis/IImmutableCreate2Factory.json +0 -93
  89. package/abis/IMulticall3.json +0 -440
  90. package/abis/ISafe.json +0 -15
  91. package/abis/ISymbol.json +0 -15
  92. package/abis/IUniswapV4Router04.json +0 -484
  93. package/abis/IUniversalRouter.json +0 -61
  94. package/abis/IV4Quoter.json +0 -310
  95. package/abis/ImmutableCreate2FactoryUtils.json +0 -15
  96. package/abis/LibString.json +0 -7
  97. package/abis/Math.json +0 -7
  98. package/abis/MockAirlock.json +0 -39
  99. package/abis/MockERC721.json +0 -350
  100. package/abis/ProtocolRewards.json +0 -494
  101. package/abis/ShortStrings.json +0 -18
  102. package/abis/SimpleERC20.json +0 -326
  103. package/abis/StdAssertions.json +0 -379
  104. package/abis/StdInvariant.json +0 -180
  105. package/abis/Test.json +0 -570
  106. package/abis/VmContractHelper235.json +0 -233
  107. package/abis/VmContractHelper242.json +0 -233
  108. package/abis/stdError.json +0 -119
  109. package/abis/stdStorageSafe.json +0 -52
  110. package/addresses/8453.json +0 -13
  111. package/addresses/84532.json +0 -10
  112. package/deterministicConfig/deployerAndCaller.json +0 -5
  113. package/deterministicConfig/zoraFactory.json +0 -8
  114. package/script/Deploy.s.sol +0 -23
  115. package/script/DeployAutoSwapper.s.sol +0 -30
  116. package/script/DeployDevFactory.s.sol +0 -21
  117. package/script/DeployPostDeploymentHooks.s.sol +0 -20
  118. package/script/DeployTrustedMsgSenderLookup.s.sol +0 -20
  119. package/script/DeployUpgradeGate.s.sol +0 -21
  120. package/script/GenerateDeterministicParams.s.sol +0 -43
  121. package/script/PrintRegisterUpgradePath.s.sol +0 -28
  122. package/script/PrintUpgradeCommand.s.sol +0 -13
  123. package/script/TestBackingCoinSwap.s.sol +0 -144
  124. package/script/TestV4Swap.s.sol +0 -133
  125. package/script/UpgradeCoinImpl.sol +0 -23
  126. package/script/UpgradeFactoryImpl.s.sol +0 -28
  127. package/script/UpgradeHooks.s.sol +0 -23
  128. package/src/deployment/CoinsDeployerBase.sol +0 -297
  129. /package/{test → src}/utils/ProxyShim.sol +0 -0
package/dist/index.cjs CHANGED
@@ -28,8 +28,8 @@ __export(index_exports, {
28
28
  iPermit2ABI: () => iPermit2ABI,
29
29
  iPoolConfigEncodingABI: () => iPoolConfigEncodingABI,
30
30
  iUniswapV3PoolABI: () => iUniswapV3PoolABI,
31
- iUniversalRouterABI: () => iUniversalRouterABI,
32
- zoraFactoryImplABI: () => zoraFactoryImplABI
31
+ zoraFactoryImplABI: () => zoraFactoryImplABI,
32
+ zoraV4CoinHookABI: () => zoraV4CoinHookABI
33
33
  });
34
34
  module.exports = __toCommonJS(index_exports);
35
35
 
@@ -214,6 +214,16 @@ var baseCoinABI = [
214
214
  outputs: [{ name: "", internalType: "string", type: "string" }],
215
215
  stateMutability: "pure"
216
216
  },
217
+ {
218
+ type: "function",
219
+ inputs: [],
220
+ name: "creationInfo",
221
+ outputs: [
222
+ { name: "creationTimestamp", internalType: "uint256", type: "uint256" },
223
+ { name: "isDeploying", internalType: "bool", type: "bool" }
224
+ ],
225
+ stateMutability: "view"
226
+ },
217
227
  {
218
228
  type: "function",
219
229
  inputs: [],
@@ -1379,18 +1389,7 @@ var buySupplyWithV4SwapHookABI = [
1379
1389
  ],
1380
1390
  name: "BuyInitialSupply"
1381
1391
  },
1382
- {
1383
- type: "error",
1384
- inputs: [{ name: "target", internalType: "address", type: "address" }],
1385
- name: "AddressEmptyCode"
1386
- },
1387
- {
1388
- type: "error",
1389
- inputs: [{ name: "account", internalType: "address", type: "address" }],
1390
- name: "AddressInsufficientBalance"
1391
- },
1392
1392
  { type: "error", inputs: [], name: "AddressZero" },
1393
- { type: "error", inputs: [], name: "FailedInnerCall" },
1394
1393
  { type: "error", inputs: [], name: "HookNotImplemented" },
1395
1394
  {
1396
1395
  type: "error",
@@ -1408,7 +1407,6 @@ var buySupplyWithV4SwapHookABI = [
1408
1407
  inputs: [{ name: "token", internalType: "address", type: "address" }],
1409
1408
  name: "SafeERC20FailedOperation"
1410
1409
  },
1411
- { type: "error", inputs: [], name: "V3RouteCannotStartWithInputCurrency" },
1412
1410
  { type: "error", inputs: [], name: "V3RouteDoesNotConnectToV4RouteStart" }
1413
1411
  ];
1414
1412
  var contentCoinABI = [
@@ -1517,6 +1515,16 @@ var contentCoinABI = [
1517
1515
  outputs: [{ name: "", internalType: "string", type: "string" }],
1518
1516
  stateMutability: "pure"
1519
1517
  },
1518
+ {
1519
+ type: "function",
1520
+ inputs: [],
1521
+ name: "creationInfo",
1522
+ outputs: [
1523
+ { name: "creationTimestamp", internalType: "uint256", type: "uint256" },
1524
+ { name: "isDeploying", internalType: "bool", type: "bool" }
1525
+ ],
1526
+ stateMutability: "view"
1527
+ },
1520
1528
  {
1521
1529
  type: "function",
1522
1530
  inputs: [],
@@ -2620,6 +2628,16 @@ var creatorCoinABI = [
2620
2628
  outputs: [{ name: "", internalType: "string", type: "string" }],
2621
2629
  stateMutability: "pure"
2622
2630
  },
2631
+ {
2632
+ type: "function",
2633
+ inputs: [],
2634
+ name: "creationInfo",
2635
+ outputs: [
2636
+ { name: "creationTimestamp", internalType: "uint256", type: "uint256" },
2637
+ { name: "isDeploying", internalType: "bool", type: "bool" }
2638
+ ],
2639
+ stateMutability: "view"
2640
+ },
2623
2641
  {
2624
2642
  type: "function",
2625
2643
  inputs: [],
@@ -4337,31 +4355,6 @@ var iUniswapV3PoolABI = [
4337
4355
  stateMutability: "nonpayable"
4338
4356
  }
4339
4357
  ];
4340
- var iUniversalRouterABI = [
4341
- {
4342
- type: "function",
4343
- inputs: [
4344
- { name: "commands", internalType: "bytes", type: "bytes" },
4345
- { name: "inputs", internalType: "bytes[]", type: "bytes[]" },
4346
- { name: "deadline", internalType: "uint256", type: "uint256" }
4347
- ],
4348
- name: "execute",
4349
- outputs: [],
4350
- stateMutability: "payable"
4351
- },
4352
- { type: "error", inputs: [], name: "ETHNotAccepted" },
4353
- {
4354
- type: "error",
4355
- inputs: [
4356
- { name: "commandIndex", internalType: "uint256", type: "uint256" },
4357
- { name: "message", internalType: "bytes", type: "bytes" }
4358
- ],
4359
- name: "ExecutionFailed"
4360
- },
4361
- { type: "error", inputs: [], name: "InvalidEthSender" },
4362
- { type: "error", inputs: [], name: "LengthMismatch" },
4363
- { type: "error", inputs: [], name: "TransactionDeadlinePassed" }
4364
- ];
4365
4358
  var zoraFactoryImplABI = [
4366
4359
  {
4367
4360
  type: "constructor",
@@ -4911,7 +4904,6 @@ var zoraFactoryImplABI = [
4911
4904
  { type: "error", inputs: [], name: "ArrayLengthMismatch" },
4912
4905
  { type: "error", inputs: [], name: "ConfigTickLowerMustBeLessThanTickUpper" },
4913
4906
  { type: "error", inputs: [], name: "Deprecated" },
4914
- { type: "error", inputs: [], name: "ERC1167FailedCreateClone" },
4915
4907
  {
4916
4908
  type: "error",
4917
4909
  inputs: [
@@ -4921,7 +4913,16 @@ var zoraFactoryImplABI = [
4921
4913
  },
4922
4914
  { type: "error", inputs: [], name: "ERC1967NonPayable" },
4923
4915
  { type: "error", inputs: [], name: "EthTransferInvalid" },
4924
- { type: "error", inputs: [], name: "FailedInnerCall" },
4916
+ { type: "error", inputs: [], name: "FailedCall" },
4917
+ { type: "error", inputs: [], name: "FailedDeployment" },
4918
+ {
4919
+ type: "error",
4920
+ inputs: [
4921
+ { name: "balance", internalType: "uint256", type: "uint256" },
4922
+ { name: "needed", internalType: "uint256", type: "uint256" }
4923
+ ],
4924
+ name: "InsufficientBalance"
4925
+ },
4925
4926
  { type: "error", inputs: [], name: "InvalidConfig" },
4926
4927
  { type: "error", inputs: [], name: "InvalidHook" },
4927
4928
  { type: "error", inputs: [], name: "InvalidInitialization" },
@@ -4972,6 +4973,942 @@ var zoraFactoryImplABI = [
4972
4973
  { type: "error", inputs: [], name: "ZeroDiscoveryPositions" },
4973
4974
  { type: "error", inputs: [], name: "ZeroDiscoverySupplyShare" }
4974
4975
  ];
4976
+ var zoraV4CoinHookABI = [
4977
+ {
4978
+ type: "constructor",
4979
+ inputs: [
4980
+ {
4981
+ name: "poolManager_",
4982
+ internalType: "contract IPoolManager",
4983
+ type: "address"
4984
+ },
4985
+ {
4986
+ name: "coinVersionLookup_",
4987
+ internalType: "contract IDeployedCoinVersionLookup",
4988
+ type: "address"
4989
+ },
4990
+ {
4991
+ name: "trustedMsgSenderLookup_",
4992
+ internalType: "contract ITrustedMsgSenderProviderLookup",
4993
+ type: "address"
4994
+ },
4995
+ {
4996
+ name: "upgradeGate_",
4997
+ internalType: "contract IHooksUpgradeGate",
4998
+ type: "address"
4999
+ },
5000
+ {
5001
+ name: "zoraLimitOrderBook_",
5002
+ internalType: "contract IZoraLimitOrderBookCoinsInterface",
5003
+ type: "address"
5004
+ },
5005
+ {
5006
+ name: "zoraHookRegistry_",
5007
+ internalType: "contract IZoraHookRegistry",
5008
+ type: "address"
5009
+ }
5010
+ ],
5011
+ stateMutability: "nonpayable"
5012
+ },
5013
+ { type: "receive", stateMutability: "payable" },
5014
+ {
5015
+ type: "function",
5016
+ inputs: [
5017
+ { name: "sender", internalType: "address", type: "address" },
5018
+ {
5019
+ name: "key",
5020
+ internalType: "struct PoolKey",
5021
+ type: "tuple",
5022
+ components: [
5023
+ { name: "currency0", internalType: "Currency", type: "address" },
5024
+ { name: "currency1", internalType: "Currency", type: "address" },
5025
+ { name: "fee", internalType: "uint24", type: "uint24" },
5026
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5027
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5028
+ ]
5029
+ },
5030
+ {
5031
+ name: "params",
5032
+ internalType: "struct ModifyLiquidityParams",
5033
+ type: "tuple",
5034
+ components: [
5035
+ { name: "tickLower", internalType: "int24", type: "int24" },
5036
+ { name: "tickUpper", internalType: "int24", type: "int24" },
5037
+ { name: "liquidityDelta", internalType: "int256", type: "int256" },
5038
+ { name: "salt", internalType: "bytes32", type: "bytes32" }
5039
+ ]
5040
+ },
5041
+ { name: "delta", internalType: "BalanceDelta", type: "int256" },
5042
+ { name: "feesAccrued", internalType: "BalanceDelta", type: "int256" },
5043
+ { name: "hookData", internalType: "bytes", type: "bytes" }
5044
+ ],
5045
+ name: "afterAddLiquidity",
5046
+ outputs: [
5047
+ { name: "", internalType: "bytes4", type: "bytes4" },
5048
+ { name: "", internalType: "BalanceDelta", type: "int256" }
5049
+ ],
5050
+ stateMutability: "nonpayable"
5051
+ },
5052
+ {
5053
+ type: "function",
5054
+ inputs: [
5055
+ { name: "sender", internalType: "address", type: "address" },
5056
+ {
5057
+ name: "key",
5058
+ internalType: "struct PoolKey",
5059
+ type: "tuple",
5060
+ components: [
5061
+ { name: "currency0", internalType: "Currency", type: "address" },
5062
+ { name: "currency1", internalType: "Currency", type: "address" },
5063
+ { name: "fee", internalType: "uint24", type: "uint24" },
5064
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5065
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5066
+ ]
5067
+ },
5068
+ { name: "amount0", internalType: "uint256", type: "uint256" },
5069
+ { name: "amount1", internalType: "uint256", type: "uint256" },
5070
+ { name: "hookData", internalType: "bytes", type: "bytes" }
5071
+ ],
5072
+ name: "afterDonate",
5073
+ outputs: [{ name: "", internalType: "bytes4", type: "bytes4" }],
5074
+ stateMutability: "nonpayable"
5075
+ },
5076
+ {
5077
+ type: "function",
5078
+ inputs: [
5079
+ { name: "sender", internalType: "address", type: "address" },
5080
+ {
5081
+ name: "key",
5082
+ internalType: "struct PoolKey",
5083
+ type: "tuple",
5084
+ components: [
5085
+ { name: "currency0", internalType: "Currency", type: "address" },
5086
+ { name: "currency1", internalType: "Currency", type: "address" },
5087
+ { name: "fee", internalType: "uint24", type: "uint24" },
5088
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5089
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5090
+ ]
5091
+ },
5092
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" },
5093
+ { name: "tick", internalType: "int24", type: "int24" }
5094
+ ],
5095
+ name: "afterInitialize",
5096
+ outputs: [{ name: "", internalType: "bytes4", type: "bytes4" }],
5097
+ stateMutability: "nonpayable"
5098
+ },
5099
+ {
5100
+ type: "function",
5101
+ inputs: [
5102
+ { name: "sender", internalType: "address", type: "address" },
5103
+ {
5104
+ name: "key",
5105
+ internalType: "struct PoolKey",
5106
+ type: "tuple",
5107
+ components: [
5108
+ { name: "currency0", internalType: "Currency", type: "address" },
5109
+ { name: "currency1", internalType: "Currency", type: "address" },
5110
+ { name: "fee", internalType: "uint24", type: "uint24" },
5111
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5112
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5113
+ ]
5114
+ },
5115
+ {
5116
+ name: "params",
5117
+ internalType: "struct ModifyLiquidityParams",
5118
+ type: "tuple",
5119
+ components: [
5120
+ { name: "tickLower", internalType: "int24", type: "int24" },
5121
+ { name: "tickUpper", internalType: "int24", type: "int24" },
5122
+ { name: "liquidityDelta", internalType: "int256", type: "int256" },
5123
+ { name: "salt", internalType: "bytes32", type: "bytes32" }
5124
+ ]
5125
+ },
5126
+ { name: "delta", internalType: "BalanceDelta", type: "int256" },
5127
+ { name: "feesAccrued", internalType: "BalanceDelta", type: "int256" },
5128
+ { name: "hookData", internalType: "bytes", type: "bytes" }
5129
+ ],
5130
+ name: "afterRemoveLiquidity",
5131
+ outputs: [
5132
+ { name: "", internalType: "bytes4", type: "bytes4" },
5133
+ { name: "", internalType: "BalanceDelta", type: "int256" }
5134
+ ],
5135
+ stateMutability: "nonpayable"
5136
+ },
5137
+ {
5138
+ type: "function",
5139
+ inputs: [
5140
+ { name: "sender", internalType: "address", type: "address" },
5141
+ {
5142
+ name: "key",
5143
+ internalType: "struct PoolKey",
5144
+ type: "tuple",
5145
+ components: [
5146
+ { name: "currency0", internalType: "Currency", type: "address" },
5147
+ { name: "currency1", internalType: "Currency", type: "address" },
5148
+ { name: "fee", internalType: "uint24", type: "uint24" },
5149
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5150
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5151
+ ]
5152
+ },
5153
+ {
5154
+ name: "params",
5155
+ internalType: "struct SwapParams",
5156
+ type: "tuple",
5157
+ components: [
5158
+ { name: "zeroForOne", internalType: "bool", type: "bool" },
5159
+ { name: "amountSpecified", internalType: "int256", type: "int256" },
5160
+ {
5161
+ name: "sqrtPriceLimitX96",
5162
+ internalType: "uint160",
5163
+ type: "uint160"
5164
+ }
5165
+ ]
5166
+ },
5167
+ { name: "delta", internalType: "BalanceDelta", type: "int256" },
5168
+ { name: "hookData", internalType: "bytes", type: "bytes" }
5169
+ ],
5170
+ name: "afterSwap",
5171
+ outputs: [
5172
+ { name: "", internalType: "bytes4", type: "bytes4" },
5173
+ { name: "", internalType: "int128", type: "int128" }
5174
+ ],
5175
+ stateMutability: "nonpayable"
5176
+ },
5177
+ {
5178
+ type: "function",
5179
+ inputs: [
5180
+ { name: "sender", internalType: "address", type: "address" },
5181
+ {
5182
+ name: "key",
5183
+ internalType: "struct PoolKey",
5184
+ type: "tuple",
5185
+ components: [
5186
+ { name: "currency0", internalType: "Currency", type: "address" },
5187
+ { name: "currency1", internalType: "Currency", type: "address" },
5188
+ { name: "fee", internalType: "uint24", type: "uint24" },
5189
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5190
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5191
+ ]
5192
+ },
5193
+ {
5194
+ name: "params",
5195
+ internalType: "struct ModifyLiquidityParams",
5196
+ type: "tuple",
5197
+ components: [
5198
+ { name: "tickLower", internalType: "int24", type: "int24" },
5199
+ { name: "tickUpper", internalType: "int24", type: "int24" },
5200
+ { name: "liquidityDelta", internalType: "int256", type: "int256" },
5201
+ { name: "salt", internalType: "bytes32", type: "bytes32" }
5202
+ ]
5203
+ },
5204
+ { name: "hookData", internalType: "bytes", type: "bytes" }
5205
+ ],
5206
+ name: "beforeAddLiquidity",
5207
+ outputs: [{ name: "", internalType: "bytes4", type: "bytes4" }],
5208
+ stateMutability: "nonpayable"
5209
+ },
5210
+ {
5211
+ type: "function",
5212
+ inputs: [
5213
+ { name: "sender", internalType: "address", type: "address" },
5214
+ {
5215
+ name: "key",
5216
+ internalType: "struct PoolKey",
5217
+ type: "tuple",
5218
+ components: [
5219
+ { name: "currency0", internalType: "Currency", type: "address" },
5220
+ { name: "currency1", internalType: "Currency", type: "address" },
5221
+ { name: "fee", internalType: "uint24", type: "uint24" },
5222
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5223
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5224
+ ]
5225
+ },
5226
+ { name: "amount0", internalType: "uint256", type: "uint256" },
5227
+ { name: "amount1", internalType: "uint256", type: "uint256" },
5228
+ { name: "hookData", internalType: "bytes", type: "bytes" }
5229
+ ],
5230
+ name: "beforeDonate",
5231
+ outputs: [{ name: "", internalType: "bytes4", type: "bytes4" }],
5232
+ stateMutability: "nonpayable"
5233
+ },
5234
+ {
5235
+ type: "function",
5236
+ inputs: [
5237
+ { name: "sender", internalType: "address", type: "address" },
5238
+ {
5239
+ name: "key",
5240
+ internalType: "struct PoolKey",
5241
+ type: "tuple",
5242
+ components: [
5243
+ { name: "currency0", internalType: "Currency", type: "address" },
5244
+ { name: "currency1", internalType: "Currency", type: "address" },
5245
+ { name: "fee", internalType: "uint24", type: "uint24" },
5246
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5247
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5248
+ ]
5249
+ },
5250
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" }
5251
+ ],
5252
+ name: "beforeInitialize",
5253
+ outputs: [{ name: "", internalType: "bytes4", type: "bytes4" }],
5254
+ stateMutability: "nonpayable"
5255
+ },
5256
+ {
5257
+ type: "function",
5258
+ inputs: [
5259
+ { name: "sender", internalType: "address", type: "address" },
5260
+ {
5261
+ name: "key",
5262
+ internalType: "struct PoolKey",
5263
+ type: "tuple",
5264
+ components: [
5265
+ { name: "currency0", internalType: "Currency", type: "address" },
5266
+ { name: "currency1", internalType: "Currency", type: "address" },
5267
+ { name: "fee", internalType: "uint24", type: "uint24" },
5268
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5269
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5270
+ ]
5271
+ },
5272
+ {
5273
+ name: "params",
5274
+ internalType: "struct ModifyLiquidityParams",
5275
+ type: "tuple",
5276
+ components: [
5277
+ { name: "tickLower", internalType: "int24", type: "int24" },
5278
+ { name: "tickUpper", internalType: "int24", type: "int24" },
5279
+ { name: "liquidityDelta", internalType: "int256", type: "int256" },
5280
+ { name: "salt", internalType: "bytes32", type: "bytes32" }
5281
+ ]
5282
+ },
5283
+ { name: "hookData", internalType: "bytes", type: "bytes" }
5284
+ ],
5285
+ name: "beforeRemoveLiquidity",
5286
+ outputs: [{ name: "", internalType: "bytes4", type: "bytes4" }],
5287
+ stateMutability: "nonpayable"
5288
+ },
5289
+ {
5290
+ type: "function",
5291
+ inputs: [
5292
+ { name: "sender", internalType: "address", type: "address" },
5293
+ {
5294
+ name: "key",
5295
+ internalType: "struct PoolKey",
5296
+ type: "tuple",
5297
+ components: [
5298
+ { name: "currency0", internalType: "Currency", type: "address" },
5299
+ { name: "currency1", internalType: "Currency", type: "address" },
5300
+ { name: "fee", internalType: "uint24", type: "uint24" },
5301
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5302
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5303
+ ]
5304
+ },
5305
+ {
5306
+ name: "params",
5307
+ internalType: "struct SwapParams",
5308
+ type: "tuple",
5309
+ components: [
5310
+ { name: "zeroForOne", internalType: "bool", type: "bool" },
5311
+ { name: "amountSpecified", internalType: "int256", type: "int256" },
5312
+ {
5313
+ name: "sqrtPriceLimitX96",
5314
+ internalType: "uint160",
5315
+ type: "uint160"
5316
+ }
5317
+ ]
5318
+ },
5319
+ { name: "hookData", internalType: "bytes", type: "bytes" }
5320
+ ],
5321
+ name: "beforeSwap",
5322
+ outputs: [
5323
+ { name: "", internalType: "bytes4", type: "bytes4" },
5324
+ { name: "", internalType: "BeforeSwapDelta", type: "int256" },
5325
+ { name: "", internalType: "uint24", type: "uint24" }
5326
+ ],
5327
+ stateMutability: "nonpayable"
5328
+ },
5329
+ {
5330
+ type: "function",
5331
+ inputs: [],
5332
+ name: "contractVersion",
5333
+ outputs: [{ name: "", internalType: "string", type: "string" }],
5334
+ stateMutability: "pure"
5335
+ },
5336
+ {
5337
+ type: "function",
5338
+ inputs: [],
5339
+ name: "getHookPermissions",
5340
+ outputs: [
5341
+ {
5342
+ name: "",
5343
+ internalType: "struct Hooks.Permissions",
5344
+ type: "tuple",
5345
+ components: [
5346
+ { name: "beforeInitialize", internalType: "bool", type: "bool" },
5347
+ { name: "afterInitialize", internalType: "bool", type: "bool" },
5348
+ { name: "beforeAddLiquidity", internalType: "bool", type: "bool" },
5349
+ { name: "afterAddLiquidity", internalType: "bool", type: "bool" },
5350
+ { name: "beforeRemoveLiquidity", internalType: "bool", type: "bool" },
5351
+ { name: "afterRemoveLiquidity", internalType: "bool", type: "bool" },
5352
+ { name: "beforeSwap", internalType: "bool", type: "bool" },
5353
+ { name: "afterSwap", internalType: "bool", type: "bool" },
5354
+ { name: "beforeDonate", internalType: "bool", type: "bool" },
5355
+ { name: "afterDonate", internalType: "bool", type: "bool" },
5356
+ { name: "beforeSwapReturnDelta", internalType: "bool", type: "bool" },
5357
+ { name: "afterSwapReturnDelta", internalType: "bool", type: "bool" },
5358
+ {
5359
+ name: "afterAddLiquidityReturnDelta",
5360
+ internalType: "bool",
5361
+ type: "bool"
5362
+ },
5363
+ {
5364
+ name: "afterRemoveLiquidityReturnDelta",
5365
+ internalType: "bool",
5366
+ type: "bool"
5367
+ }
5368
+ ]
5369
+ }
5370
+ ],
5371
+ stateMutability: "pure"
5372
+ },
5373
+ {
5374
+ type: "function",
5375
+ inputs: [
5376
+ {
5377
+ name: "key",
5378
+ internalType: "struct PoolKey",
5379
+ type: "tuple",
5380
+ components: [
5381
+ { name: "currency0", internalType: "Currency", type: "address" },
5382
+ { name: "currency1", internalType: "Currency", type: "address" },
5383
+ { name: "fee", internalType: "uint24", type: "uint24" },
5384
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5385
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5386
+ ]
5387
+ }
5388
+ ],
5389
+ name: "getPoolCoin",
5390
+ outputs: [
5391
+ {
5392
+ name: "",
5393
+ internalType: "struct IZoraV4CoinHook.PoolCoin",
5394
+ type: "tuple",
5395
+ components: [
5396
+ { name: "coin", internalType: "address", type: "address" },
5397
+ {
5398
+ name: "positions",
5399
+ internalType: "struct LpPosition[]",
5400
+ type: "tuple[]",
5401
+ components: [
5402
+ { name: "tickLower", internalType: "int24", type: "int24" },
5403
+ { name: "tickUpper", internalType: "int24", type: "int24" },
5404
+ { name: "liquidity", internalType: "uint128", type: "uint128" }
5405
+ ]
5406
+ }
5407
+ ]
5408
+ }
5409
+ ],
5410
+ stateMutability: "view"
5411
+ },
5412
+ {
5413
+ type: "function",
5414
+ inputs: [{ name: "poolKeyHash", internalType: "bytes32", type: "bytes32" }],
5415
+ name: "getPoolCoinByHash",
5416
+ outputs: [
5417
+ {
5418
+ name: "",
5419
+ internalType: "struct IZoraV4CoinHook.PoolCoin",
5420
+ type: "tuple",
5421
+ components: [
5422
+ { name: "coin", internalType: "address", type: "address" },
5423
+ {
5424
+ name: "positions",
5425
+ internalType: "struct LpPosition[]",
5426
+ type: "tuple[]",
5427
+ components: [
5428
+ { name: "tickLower", internalType: "int24", type: "int24" },
5429
+ { name: "tickUpper", internalType: "int24", type: "int24" },
5430
+ { name: "liquidity", internalType: "uint128", type: "uint128" }
5431
+ ]
5432
+ }
5433
+ ]
5434
+ }
5435
+ ],
5436
+ stateMutability: "view"
5437
+ },
5438
+ {
5439
+ type: "function",
5440
+ inputs: [],
5441
+ name: "getTrustedMsgSenderLookup",
5442
+ outputs: [
5443
+ {
5444
+ name: "",
5445
+ internalType: "contract ITrustedMsgSenderProviderLookup",
5446
+ type: "address"
5447
+ }
5448
+ ],
5449
+ stateMutability: "view"
5450
+ },
5451
+ {
5452
+ type: "function",
5453
+ inputs: [
5454
+ {
5455
+ name: "poolKey",
5456
+ internalType: "struct PoolKey",
5457
+ type: "tuple",
5458
+ components: [
5459
+ { name: "currency0", internalType: "Currency", type: "address" },
5460
+ { name: "currency1", internalType: "Currency", type: "address" },
5461
+ { name: "fee", internalType: "uint24", type: "uint24" },
5462
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5463
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5464
+ ]
5465
+ },
5466
+ { name: "coin", internalType: "address", type: "address" },
5467
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" },
5468
+ {
5469
+ name: "migratedLiquidity",
5470
+ internalType: "struct BurnedPosition[]",
5471
+ type: "tuple[]",
5472
+ components: [
5473
+ { name: "tickLower", internalType: "int24", type: "int24" },
5474
+ { name: "tickUpper", internalType: "int24", type: "int24" },
5475
+ { name: "amount0Received", internalType: "uint128", type: "uint128" },
5476
+ { name: "amount1Received", internalType: "uint128", type: "uint128" }
5477
+ ]
5478
+ },
5479
+ { name: "additionalData", internalType: "bytes", type: "bytes" }
5480
+ ],
5481
+ name: "initializeFromMigration",
5482
+ outputs: [],
5483
+ stateMutability: "nonpayable"
5484
+ },
5485
+ {
5486
+ type: "function",
5487
+ inputs: [
5488
+ {
5489
+ name: "poolKey",
5490
+ internalType: "struct PoolKey",
5491
+ type: "tuple",
5492
+ components: [
5493
+ { name: "currency0", internalType: "Currency", type: "address" },
5494
+ { name: "currency1", internalType: "Currency", type: "address" },
5495
+ { name: "fee", internalType: "uint24", type: "uint24" },
5496
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5497
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5498
+ ]
5499
+ },
5500
+ { name: "coin", internalType: "address", type: "address" },
5501
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" },
5502
+ {
5503
+ name: "migratedLiquidity",
5504
+ internalType: "struct BurnedPosition[]",
5505
+ type: "tuple[]",
5506
+ components: [
5507
+ { name: "tickLower", internalType: "int24", type: "int24" },
5508
+ { name: "tickUpper", internalType: "int24", type: "int24" },
5509
+ { name: "amount0Received", internalType: "uint128", type: "uint128" },
5510
+ { name: "amount1Received", internalType: "uint128", type: "uint128" }
5511
+ ]
5512
+ },
5513
+ { name: "additionalData", internalType: "bytes", type: "bytes" }
5514
+ ],
5515
+ name: "initializeFromMigrationWithUpdateableFee",
5516
+ outputs: [
5517
+ { name: "fee", internalType: "uint24", type: "uint24" },
5518
+ { name: "tickSpacing", internalType: "int24", type: "int24" }
5519
+ ],
5520
+ stateMutability: "nonpayable"
5521
+ },
5522
+ {
5523
+ type: "function",
5524
+ inputs: [{ name: "sender", internalType: "address", type: "address" }],
5525
+ name: "isTrustedMessageSender",
5526
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
5527
+ stateMutability: "view"
5528
+ },
5529
+ {
5530
+ type: "function",
5531
+ inputs: [
5532
+ { name: "newHook", internalType: "address", type: "address" },
5533
+ {
5534
+ name: "poolKey",
5535
+ internalType: "struct PoolKey",
5536
+ type: "tuple",
5537
+ components: [
5538
+ { name: "currency0", internalType: "Currency", type: "address" },
5539
+ { name: "currency1", internalType: "Currency", type: "address" },
5540
+ { name: "fee", internalType: "uint24", type: "uint24" },
5541
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5542
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5543
+ ]
5544
+ },
5545
+ { name: "additionalData", internalType: "bytes", type: "bytes" }
5546
+ ],
5547
+ name: "migrateLiquidity",
5548
+ outputs: [
5549
+ {
5550
+ name: "newPoolKey",
5551
+ internalType: "struct PoolKey",
5552
+ type: "tuple",
5553
+ components: [
5554
+ { name: "currency0", internalType: "Currency", type: "address" },
5555
+ { name: "currency1", internalType: "Currency", type: "address" },
5556
+ { name: "fee", internalType: "uint24", type: "uint24" },
5557
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5558
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5559
+ ]
5560
+ }
5561
+ ],
5562
+ stateMutability: "nonpayable"
5563
+ },
5564
+ {
5565
+ type: "function",
5566
+ inputs: [],
5567
+ name: "poolManager",
5568
+ outputs: [
5569
+ { name: "", internalType: "contract IPoolManager", type: "address" }
5570
+ ],
5571
+ stateMutability: "view"
5572
+ },
5573
+ {
5574
+ type: "function",
5575
+ inputs: [{ name: "interfaceId", internalType: "bytes4", type: "bytes4" }],
5576
+ name: "supportsInterface",
5577
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
5578
+ stateMutability: "view"
5579
+ },
5580
+ {
5581
+ type: "function",
5582
+ inputs: [{ name: "data", internalType: "bytes", type: "bytes" }],
5583
+ name: "unlockCallback",
5584
+ outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
5585
+ stateMutability: "nonpayable"
5586
+ },
5587
+ {
5588
+ type: "event",
5589
+ anonymous: false,
5590
+ inputs: [
5591
+ {
5592
+ name: "coin",
5593
+ internalType: "address",
5594
+ type: "address",
5595
+ indexed: false
5596
+ },
5597
+ {
5598
+ name: "currency",
5599
+ internalType: "address",
5600
+ type: "address",
5601
+ indexed: false
5602
+ },
5603
+ {
5604
+ name: "payoutRecipient",
5605
+ internalType: "address",
5606
+ type: "address",
5607
+ indexed: false
5608
+ },
5609
+ {
5610
+ name: "platformReferrer",
5611
+ internalType: "address",
5612
+ type: "address",
5613
+ indexed: false
5614
+ },
5615
+ {
5616
+ name: "tradeReferrer",
5617
+ internalType: "address",
5618
+ type: "address",
5619
+ indexed: false
5620
+ },
5621
+ {
5622
+ name: "protocolRewardRecipient",
5623
+ internalType: "address",
5624
+ type: "address",
5625
+ indexed: false
5626
+ },
5627
+ {
5628
+ name: "dopplerRecipient",
5629
+ internalType: "address",
5630
+ type: "address",
5631
+ indexed: false
5632
+ },
5633
+ {
5634
+ name: "marketRewards",
5635
+ internalType: "struct IZoraV4CoinHook.MarketRewardsV4",
5636
+ type: "tuple",
5637
+ components: [
5638
+ {
5639
+ name: "creatorPayoutAmountCurrency",
5640
+ internalType: "uint256",
5641
+ type: "uint256"
5642
+ },
5643
+ {
5644
+ name: "creatorPayoutAmountCoin",
5645
+ internalType: "uint256",
5646
+ type: "uint256"
5647
+ },
5648
+ {
5649
+ name: "platformReferrerAmountCurrency",
5650
+ internalType: "uint256",
5651
+ type: "uint256"
5652
+ },
5653
+ {
5654
+ name: "platformReferrerAmountCoin",
5655
+ internalType: "uint256",
5656
+ type: "uint256"
5657
+ },
5658
+ {
5659
+ name: "tradeReferrerAmountCurrency",
5660
+ internalType: "uint256",
5661
+ type: "uint256"
5662
+ },
5663
+ {
5664
+ name: "tradeReferrerAmountCoin",
5665
+ internalType: "uint256",
5666
+ type: "uint256"
5667
+ },
5668
+ {
5669
+ name: "protocolAmountCurrency",
5670
+ internalType: "uint256",
5671
+ type: "uint256"
5672
+ },
5673
+ {
5674
+ name: "protocolAmountCoin",
5675
+ internalType: "uint256",
5676
+ type: "uint256"
5677
+ },
5678
+ {
5679
+ name: "dopplerAmountCurrency",
5680
+ internalType: "uint256",
5681
+ type: "uint256"
5682
+ },
5683
+ {
5684
+ name: "dopplerAmountCoin",
5685
+ internalType: "uint256",
5686
+ type: "uint256"
5687
+ }
5688
+ ],
5689
+ indexed: false
5690
+ }
5691
+ ],
5692
+ name: "CoinMarketRewardsV4"
5693
+ },
5694
+ {
5695
+ type: "event",
5696
+ anonymous: false,
5697
+ inputs: [
5698
+ { name: "coin", internalType: "address", type: "address", indexed: true },
5699
+ {
5700
+ name: "currency",
5701
+ internalType: "address",
5702
+ type: "address",
5703
+ indexed: false
5704
+ },
5705
+ {
5706
+ name: "creator",
5707
+ internalType: "address",
5708
+ type: "address",
5709
+ indexed: false
5710
+ },
5711
+ {
5712
+ name: "protocol",
5713
+ internalType: "address",
5714
+ type: "address",
5715
+ indexed: false
5716
+ },
5717
+ {
5718
+ name: "creatorAmount",
5719
+ internalType: "uint256",
5720
+ type: "uint256",
5721
+ indexed: false
5722
+ },
5723
+ {
5724
+ name: "protocolAmount",
5725
+ internalType: "uint256",
5726
+ type: "uint256",
5727
+ indexed: false
5728
+ }
5729
+ ],
5730
+ name: "CreatorCoinRewards"
5731
+ },
5732
+ {
5733
+ type: "event",
5734
+ anonymous: false,
5735
+ inputs: [
5736
+ { name: "coin", internalType: "address", type: "address", indexed: true },
5737
+ {
5738
+ name: "currency",
5739
+ internalType: "address",
5740
+ type: "address",
5741
+ indexed: true
5742
+ },
5743
+ {
5744
+ name: "amountCurrency",
5745
+ internalType: "uint256",
5746
+ type: "uint256",
5747
+ indexed: false
5748
+ },
5749
+ { name: "tick", internalType: "int24", type: "int24", indexed: false },
5750
+ {
5751
+ name: "liquidity",
5752
+ internalType: "uint128",
5753
+ type: "uint128",
5754
+ indexed: false
5755
+ }
5756
+ ],
5757
+ name: "LpReward"
5758
+ },
5759
+ {
5760
+ type: "event",
5761
+ anonymous: false,
5762
+ inputs: [
5763
+ {
5764
+ name: "sender",
5765
+ internalType: "address",
5766
+ type: "address",
5767
+ indexed: true
5768
+ },
5769
+ {
5770
+ name: "swapSender",
5771
+ internalType: "address",
5772
+ type: "address",
5773
+ indexed: true
5774
+ },
5775
+ {
5776
+ name: "isTrustedSwapSenderAddress",
5777
+ internalType: "bool",
5778
+ type: "bool",
5779
+ indexed: false
5780
+ },
5781
+ {
5782
+ name: "key",
5783
+ internalType: "struct PoolKey",
5784
+ type: "tuple",
5785
+ components: [
5786
+ { name: "currency0", internalType: "Currency", type: "address" },
5787
+ { name: "currency1", internalType: "Currency", type: "address" },
5788
+ { name: "fee", internalType: "uint24", type: "uint24" },
5789
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5790
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5791
+ ],
5792
+ indexed: false
5793
+ },
5794
+ {
5795
+ name: "poolKeyHash",
5796
+ internalType: "bytes32",
5797
+ type: "bytes32",
5798
+ indexed: true
5799
+ },
5800
+ {
5801
+ name: "params",
5802
+ internalType: "struct SwapParams",
5803
+ type: "tuple",
5804
+ components: [
5805
+ { name: "zeroForOne", internalType: "bool", type: "bool" },
5806
+ { name: "amountSpecified", internalType: "int256", type: "int256" },
5807
+ {
5808
+ name: "sqrtPriceLimitX96",
5809
+ internalType: "uint160",
5810
+ type: "uint160"
5811
+ }
5812
+ ],
5813
+ indexed: false
5814
+ },
5815
+ {
5816
+ name: "amount0",
5817
+ internalType: "int128",
5818
+ type: "int128",
5819
+ indexed: false
5820
+ },
5821
+ {
5822
+ name: "amount1",
5823
+ internalType: "int128",
5824
+ type: "int128",
5825
+ indexed: false
5826
+ },
5827
+ { name: "isCoinBuy", internalType: "bool", type: "bool", indexed: false },
5828
+ {
5829
+ name: "hookData",
5830
+ internalType: "bytes",
5831
+ type: "bytes",
5832
+ indexed: false
5833
+ },
5834
+ {
5835
+ name: "sqrtPriceX96",
5836
+ internalType: "uint160",
5837
+ type: "uint160",
5838
+ indexed: false
5839
+ }
5840
+ ],
5841
+ name: "Swapped"
5842
+ },
5843
+ { type: "error", inputs: [], name: "CoinVersionLookupCannotBeZeroAddress" },
5844
+ { type: "error", inputs: [], name: "EthTransferFailed" },
5845
+ { type: "error", inputs: [], name: "HookNotImplemented" },
5846
+ {
5847
+ type: "error",
5848
+ inputs: [{ name: "callbackId", internalType: "uint8", type: "uint8" }],
5849
+ name: "InvalidCallbackId"
5850
+ },
5851
+ {
5852
+ type: "error",
5853
+ inputs: [{ name: "newHook", internalType: "address", type: "address" }],
5854
+ name: "InvalidNewHook"
5855
+ },
5856
+ {
5857
+ type: "error",
5858
+ inputs: [
5859
+ {
5860
+ name: "key",
5861
+ internalType: "struct PoolKey",
5862
+ type: "tuple",
5863
+ components: [
5864
+ { name: "currency0", internalType: "Currency", type: "address" },
5865
+ { name: "currency1", internalType: "Currency", type: "address" },
5866
+ { name: "fee", internalType: "uint24", type: "uint24" },
5867
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5868
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5869
+ ]
5870
+ }
5871
+ ],
5872
+ name: "NoCoinForHook"
5873
+ },
5874
+ {
5875
+ type: "error",
5876
+ inputs: [{ name: "coin", internalType: "address", type: "address" }],
5877
+ name: "NotACoin"
5878
+ },
5879
+ { type: "error", inputs: [], name: "NotPoolManager" },
5880
+ {
5881
+ type: "error",
5882
+ inputs: [
5883
+ { name: "caller", internalType: "address", type: "address" },
5884
+ { name: "expectedCoin", internalType: "address", type: "address" }
5885
+ ],
5886
+ name: "OnlyCoin"
5887
+ },
5888
+ { type: "error", inputs: [], name: "PathMustHaveAtLeastOneStep" },
5889
+ { type: "error", inputs: [], name: "SafeCastOverflow" },
5890
+ {
5891
+ type: "error",
5892
+ inputs: [{ name: "token", internalType: "address", type: "address" }],
5893
+ name: "SafeERC20FailedOperation"
5894
+ },
5895
+ {
5896
+ type: "error",
5897
+ inputs: [],
5898
+ name: "TrustedMsgSenderLookupCannotBeZeroAddress"
5899
+ },
5900
+ { type: "error", inputs: [], name: "UpgradeGateCannotBeZeroAddress" },
5901
+ {
5902
+ type: "error",
5903
+ inputs: [
5904
+ { name: "oldHook", internalType: "address", type: "address" },
5905
+ { name: "newHook", internalType: "address", type: "address" }
5906
+ ],
5907
+ name: "UpgradePathNotRegistered"
5908
+ },
5909
+ { type: "error", inputs: [], name: "ZoraHookRegistryCannotBeZeroAddress" },
5910
+ { type: "error", inputs: [], name: "ZoraLimitOrderBookCannotBeZeroAddress" }
5911
+ ];
4975
5912
  // Annotate the CommonJS export names for ESM import in node:
4976
5913
  0 && (module.exports = {
4977
5914
  autoSwapperABI,
@@ -4982,7 +5919,7 @@ var zoraFactoryImplABI = [
4982
5919
  iPermit2ABI,
4983
5920
  iPoolConfigEncodingABI,
4984
5921
  iUniswapV3PoolABI,
4985
- iUniversalRouterABI,
4986
- zoraFactoryImplABI
5922
+ zoraFactoryImplABI,
5923
+ zoraV4CoinHookABI
4987
5924
  });
4988
5925
  //# sourceMappingURL=index.cjs.map