@zoralabs/coins 2.3.1 → 2.4.1

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 (126) hide show
  1. package/.turbo/turbo-build$colon$js.log +119 -128
  2. package/CHANGELOG.md +30 -0
  3. package/abis/Address.json +0 -16
  4. package/abis/BuySupplyWithSwapRouterHook.json +0 -27
  5. package/abis/BuySupplyWithV4SwapHook.json +0 -32
  6. package/abis/Clones.json +1 -1
  7. package/abis/CoinDopplerMultiCurve.json +109 -0
  8. package/abis/Create2.json +0 -21
  9. package/abis/ERC1967Proxy.json +1 -1
  10. package/abis/ERC1967Utils.json +0 -45
  11. package/abis/{UpgradeCoinImpl.json → Errors.json} +14 -10
  12. package/abis/{MockERC20.json → IERC1363.json} +134 -104
  13. package/abis/IERC1967.json +47 -0
  14. package/abis/IERC20.json +0 -36
  15. package/abis/IProtocolRewards.json +0 -258
  16. package/abis/{Script.json → ISupportsLimitOrderFill.json} +2 -2
  17. package/abis/ITrustedMsgSenderProviderLookup.json +21 -0
  18. package/abis/IZoraLimitOrderBookCoinsInterface.json +67 -0
  19. package/abis/IZoraV4CoinHook.json +15 -0
  20. package/abis/ProxyShim.json +15 -16
  21. package/abis/SafeCast.json +51 -0
  22. package/abis/{AddressConstants.json → SafeCast160.json} +1 -1
  23. package/abis/Strings.json +10 -0
  24. package/abis/TrustedMsgSenderProviderLookup.json +215 -0
  25. package/abis/UUPSUpgradeable.json +1 -1
  26. package/abis/V3ToV4SwapLib.json +28 -0
  27. package/abis/ZoraFactory.json +1 -1
  28. package/abis/ZoraFactoryImpl.json +22 -6
  29. package/abis/ZoraV4CoinHook.json +41 -51
  30. package/dist/index.cjs +950 -43
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.js +948 -41
  33. package/dist/index.js.map +1 -1
  34. package/dist/wagmiGenerated.d.ts +1459 -76
  35. package/dist/wagmiGenerated.d.ts.map +1 -1
  36. package/foundry.toml +5 -1
  37. package/package/wagmiGenerated.ts +951 -44
  38. package/package.json +7 -7
  39. package/remappings.txt +2 -1
  40. package/src/ZoraFactoryImpl.sol +8 -0
  41. package/src/deployment/ForkedCoinsAddresses.sol +54 -0
  42. package/src/hooks/ZoraV4CoinHook.sol +92 -74
  43. package/src/hooks/deployment/BuySupplyWithV4SwapHook.sol +20 -142
  44. package/src/interfaces/ISupportsLimitOrderFill.sol +11 -0
  45. package/src/interfaces/ITrustedMsgSenderProviderLookup.sol +18 -0
  46. package/src/interfaces/IZoraLimitOrderBookCoinsInterface.sol +21 -0
  47. package/src/interfaces/IZoraV4CoinHook.sol +9 -0
  48. package/src/libs/CoinConstants.sol +6 -0
  49. package/src/libs/CoinDopplerMultiCurve.sol +1 -1
  50. package/src/libs/CoinRewardsV4.sol +0 -1
  51. package/src/libs/HooksDeployment.sol +25 -12
  52. package/src/libs/UniV4SwapHelper.sol +35 -0
  53. package/src/libs/V3ToV4SwapLib.sol +261 -0
  54. package/src/libs/V4Liquidity.sol +50 -6
  55. package/src/utils/TrustedMsgSenderProviderLookup.sol +73 -0
  56. package/src/version/ContractVersionBase.sol +1 -1
  57. package/test/BuySupplyWithV4SwapHook.t.sol +4 -3
  58. package/test/Coin.t.sol +7 -1
  59. package/test/CoinUniV4.t.sol +2 -1
  60. package/test/ContentCoinRewards.t.sol +5 -1
  61. package/test/CreatorCoin.t.sol +3 -1
  62. package/test/CreatorCoinRewards.t.sol +7 -1
  63. package/test/Factory.t.sol +20 -7
  64. package/test/HooksDeployment.t.sol +73 -8
  65. package/test/LiquidityMigration.t.sol +55 -43
  66. package/test/MultiOwnable.t.sol +2 -1
  67. package/test/TrustedMsgSenderProviderLookup.t.sol +112 -0
  68. package/test/Upgrades.t.sol +112 -78
  69. package/test/V4Liquidity.t.sol +1 -1
  70. package/test/mocks/MockSwapRouter.sol +33 -0
  71. package/test/mocks/MockZoraLimitOrderBook.sol +14 -0
  72. package/test/utils/BaseTest.sol +17 -425
  73. package/test/utils/FeeEstimatorHook.sol +8 -2
  74. package/test/utils/TrustedSenderTestHelper.sol +18 -0
  75. package/test/utils/V4TestSetup.sol +595 -0
  76. package/wagmi.config.ts +1 -1
  77. package/abis/BaseTest.json +0 -718
  78. package/abis/DeterministicDeployerAndCaller.json +0 -315
  79. package/abis/DeterministicUUPSProxyDeployer.json +0 -167
  80. package/abis/EIP712.json +0 -67
  81. package/abis/ERC20.json +0 -310
  82. package/abis/FeeEstimatorHook.json +0 -1915
  83. package/abis/IERC721.json +0 -287
  84. package/abis/IERC721Enumerable.json +0 -343
  85. package/abis/IERC721Metadata.json +0 -332
  86. package/abis/IERC721TokenReceiver.json +0 -36
  87. package/abis/IImmutableCreate2Factory.json +0 -93
  88. package/abis/IMulticall3.json +0 -440
  89. package/abis/ISafe.json +0 -15
  90. package/abis/ISymbol.json +0 -15
  91. package/abis/IUniswapV4Router04.json +0 -484
  92. package/abis/IUniversalRouter.json +0 -61
  93. package/abis/IV4Quoter.json +0 -310
  94. package/abis/ImmutableCreate2FactoryUtils.json +0 -15
  95. package/abis/LibString.json +0 -7
  96. package/abis/Math.json +0 -7
  97. package/abis/MockAirlock.json +0 -39
  98. package/abis/MockERC721.json +0 -350
  99. package/abis/ProtocolRewards.json +0 -494
  100. package/abis/ShortStrings.json +0 -18
  101. package/abis/SimpleERC20.json +0 -326
  102. package/abis/StdAssertions.json +0 -379
  103. package/abis/StdInvariant.json +0 -180
  104. package/abis/Test.json +0 -570
  105. package/abis/VmContractHelper239.json +0 -233
  106. package/abis/stdError.json +0 -119
  107. package/abis/stdStorageSafe.json +0 -52
  108. package/addresses/8453.json +0 -13
  109. package/addresses/84532.json +0 -10
  110. package/deterministicConfig/deployerAndCaller.json +0 -5
  111. package/deterministicConfig/zoraFactory.json +0 -8
  112. package/script/Deploy.s.sol +0 -23
  113. package/script/DeployAutoSwapper.s.sol +0 -30
  114. package/script/DeployDevFactory.s.sol +0 -21
  115. package/script/DeployPostDeploymentHooks.s.sol +0 -20
  116. package/script/DeployUpgradeGate.s.sol +0 -21
  117. package/script/GenerateDeterministicParams.s.sol +0 -43
  118. package/script/PrintRegisterUpgradePath.s.sol +0 -28
  119. package/script/PrintUpgradeCommand.s.sol +0 -13
  120. package/script/TestBackingCoinSwap.s.sol +0 -144
  121. package/script/TestV4Swap.s.sol +0 -133
  122. package/script/UpgradeCoinImpl.sol +0 -23
  123. package/script/UpgradeFactoryImpl.s.sol +0 -28
  124. package/script/UpgradeHooks.s.sol +0 -23
  125. package/src/deployment/CoinsDeployerBase.sol +0 -276
  126. /package/{test → src}/utils/ProxyShim.sol +0 -0
@@ -1,1915 +0,0 @@
1
- [
2
- {
3
- "type": "constructor",
4
- "inputs": [
5
- {
6
- "name": "_poolManager",
7
- "type": "address",
8
- "internalType": "contract IPoolManager"
9
- },
10
- {
11
- "name": "_coinVersionLookup",
12
- "type": "address",
13
- "internalType": "contract IDeployedCoinVersionLookup"
14
- },
15
- {
16
- "name": "upgradeGate",
17
- "type": "address",
18
- "internalType": "contract IHooksUpgradeGate"
19
- }
20
- ],
21
- "stateMutability": "nonpayable"
22
- },
23
- {
24
- "type": "receive",
25
- "stateMutability": "payable"
26
- },
27
- {
28
- "type": "function",
29
- "name": "afterAddLiquidity",
30
- "inputs": [
31
- {
32
- "name": "sender",
33
- "type": "address",
34
- "internalType": "address"
35
- },
36
- {
37
- "name": "key",
38
- "type": "tuple",
39
- "internalType": "struct PoolKey",
40
- "components": [
41
- {
42
- "name": "currency0",
43
- "type": "address",
44
- "internalType": "Currency"
45
- },
46
- {
47
- "name": "currency1",
48
- "type": "address",
49
- "internalType": "Currency"
50
- },
51
- {
52
- "name": "fee",
53
- "type": "uint24",
54
- "internalType": "uint24"
55
- },
56
- {
57
- "name": "tickSpacing",
58
- "type": "int24",
59
- "internalType": "int24"
60
- },
61
- {
62
- "name": "hooks",
63
- "type": "address",
64
- "internalType": "contract IHooks"
65
- }
66
- ]
67
- },
68
- {
69
- "name": "params",
70
- "type": "tuple",
71
- "internalType": "struct ModifyLiquidityParams",
72
- "components": [
73
- {
74
- "name": "tickLower",
75
- "type": "int24",
76
- "internalType": "int24"
77
- },
78
- {
79
- "name": "tickUpper",
80
- "type": "int24",
81
- "internalType": "int24"
82
- },
83
- {
84
- "name": "liquidityDelta",
85
- "type": "int256",
86
- "internalType": "int256"
87
- },
88
- {
89
- "name": "salt",
90
- "type": "bytes32",
91
- "internalType": "bytes32"
92
- }
93
- ]
94
- },
95
- {
96
- "name": "delta",
97
- "type": "int256",
98
- "internalType": "BalanceDelta"
99
- },
100
- {
101
- "name": "feesAccrued",
102
- "type": "int256",
103
- "internalType": "BalanceDelta"
104
- },
105
- {
106
- "name": "hookData",
107
- "type": "bytes",
108
- "internalType": "bytes"
109
- }
110
- ],
111
- "outputs": [
112
- {
113
- "name": "",
114
- "type": "bytes4",
115
- "internalType": "bytes4"
116
- },
117
- {
118
- "name": "",
119
- "type": "int256",
120
- "internalType": "BalanceDelta"
121
- }
122
- ],
123
- "stateMutability": "nonpayable"
124
- },
125
- {
126
- "type": "function",
127
- "name": "afterDonate",
128
- "inputs": [
129
- {
130
- "name": "sender",
131
- "type": "address",
132
- "internalType": "address"
133
- },
134
- {
135
- "name": "key",
136
- "type": "tuple",
137
- "internalType": "struct PoolKey",
138
- "components": [
139
- {
140
- "name": "currency0",
141
- "type": "address",
142
- "internalType": "Currency"
143
- },
144
- {
145
- "name": "currency1",
146
- "type": "address",
147
- "internalType": "Currency"
148
- },
149
- {
150
- "name": "fee",
151
- "type": "uint24",
152
- "internalType": "uint24"
153
- },
154
- {
155
- "name": "tickSpacing",
156
- "type": "int24",
157
- "internalType": "int24"
158
- },
159
- {
160
- "name": "hooks",
161
- "type": "address",
162
- "internalType": "contract IHooks"
163
- }
164
- ]
165
- },
166
- {
167
- "name": "amount0",
168
- "type": "uint256",
169
- "internalType": "uint256"
170
- },
171
- {
172
- "name": "amount1",
173
- "type": "uint256",
174
- "internalType": "uint256"
175
- },
176
- {
177
- "name": "hookData",
178
- "type": "bytes",
179
- "internalType": "bytes"
180
- }
181
- ],
182
- "outputs": [
183
- {
184
- "name": "",
185
- "type": "bytes4",
186
- "internalType": "bytes4"
187
- }
188
- ],
189
- "stateMutability": "nonpayable"
190
- },
191
- {
192
- "type": "function",
193
- "name": "afterInitialize",
194
- "inputs": [
195
- {
196
- "name": "sender",
197
- "type": "address",
198
- "internalType": "address"
199
- },
200
- {
201
- "name": "key",
202
- "type": "tuple",
203
- "internalType": "struct PoolKey",
204
- "components": [
205
- {
206
- "name": "currency0",
207
- "type": "address",
208
- "internalType": "Currency"
209
- },
210
- {
211
- "name": "currency1",
212
- "type": "address",
213
- "internalType": "Currency"
214
- },
215
- {
216
- "name": "fee",
217
- "type": "uint24",
218
- "internalType": "uint24"
219
- },
220
- {
221
- "name": "tickSpacing",
222
- "type": "int24",
223
- "internalType": "int24"
224
- },
225
- {
226
- "name": "hooks",
227
- "type": "address",
228
- "internalType": "contract IHooks"
229
- }
230
- ]
231
- },
232
- {
233
- "name": "sqrtPriceX96",
234
- "type": "uint160",
235
- "internalType": "uint160"
236
- },
237
- {
238
- "name": "tick",
239
- "type": "int24",
240
- "internalType": "int24"
241
- }
242
- ],
243
- "outputs": [
244
- {
245
- "name": "",
246
- "type": "bytes4",
247
- "internalType": "bytes4"
248
- }
249
- ],
250
- "stateMutability": "nonpayable"
251
- },
252
- {
253
- "type": "function",
254
- "name": "afterRemoveLiquidity",
255
- "inputs": [
256
- {
257
- "name": "sender",
258
- "type": "address",
259
- "internalType": "address"
260
- },
261
- {
262
- "name": "key",
263
- "type": "tuple",
264
- "internalType": "struct PoolKey",
265
- "components": [
266
- {
267
- "name": "currency0",
268
- "type": "address",
269
- "internalType": "Currency"
270
- },
271
- {
272
- "name": "currency1",
273
- "type": "address",
274
- "internalType": "Currency"
275
- },
276
- {
277
- "name": "fee",
278
- "type": "uint24",
279
- "internalType": "uint24"
280
- },
281
- {
282
- "name": "tickSpacing",
283
- "type": "int24",
284
- "internalType": "int24"
285
- },
286
- {
287
- "name": "hooks",
288
- "type": "address",
289
- "internalType": "contract IHooks"
290
- }
291
- ]
292
- },
293
- {
294
- "name": "params",
295
- "type": "tuple",
296
- "internalType": "struct ModifyLiquidityParams",
297
- "components": [
298
- {
299
- "name": "tickLower",
300
- "type": "int24",
301
- "internalType": "int24"
302
- },
303
- {
304
- "name": "tickUpper",
305
- "type": "int24",
306
- "internalType": "int24"
307
- },
308
- {
309
- "name": "liquidityDelta",
310
- "type": "int256",
311
- "internalType": "int256"
312
- },
313
- {
314
- "name": "salt",
315
- "type": "bytes32",
316
- "internalType": "bytes32"
317
- }
318
- ]
319
- },
320
- {
321
- "name": "delta",
322
- "type": "int256",
323
- "internalType": "BalanceDelta"
324
- },
325
- {
326
- "name": "feesAccrued",
327
- "type": "int256",
328
- "internalType": "BalanceDelta"
329
- },
330
- {
331
- "name": "hookData",
332
- "type": "bytes",
333
- "internalType": "bytes"
334
- }
335
- ],
336
- "outputs": [
337
- {
338
- "name": "",
339
- "type": "bytes4",
340
- "internalType": "bytes4"
341
- },
342
- {
343
- "name": "",
344
- "type": "int256",
345
- "internalType": "BalanceDelta"
346
- }
347
- ],
348
- "stateMutability": "nonpayable"
349
- },
350
- {
351
- "type": "function",
352
- "name": "afterSwap",
353
- "inputs": [
354
- {
355
- "name": "sender",
356
- "type": "address",
357
- "internalType": "address"
358
- },
359
- {
360
- "name": "key",
361
- "type": "tuple",
362
- "internalType": "struct PoolKey",
363
- "components": [
364
- {
365
- "name": "currency0",
366
- "type": "address",
367
- "internalType": "Currency"
368
- },
369
- {
370
- "name": "currency1",
371
- "type": "address",
372
- "internalType": "Currency"
373
- },
374
- {
375
- "name": "fee",
376
- "type": "uint24",
377
- "internalType": "uint24"
378
- },
379
- {
380
- "name": "tickSpacing",
381
- "type": "int24",
382
- "internalType": "int24"
383
- },
384
- {
385
- "name": "hooks",
386
- "type": "address",
387
- "internalType": "contract IHooks"
388
- }
389
- ]
390
- },
391
- {
392
- "name": "params",
393
- "type": "tuple",
394
- "internalType": "struct SwapParams",
395
- "components": [
396
- {
397
- "name": "zeroForOne",
398
- "type": "bool",
399
- "internalType": "bool"
400
- },
401
- {
402
- "name": "amountSpecified",
403
- "type": "int256",
404
- "internalType": "int256"
405
- },
406
- {
407
- "name": "sqrtPriceLimitX96",
408
- "type": "uint160",
409
- "internalType": "uint160"
410
- }
411
- ]
412
- },
413
- {
414
- "name": "delta",
415
- "type": "int256",
416
- "internalType": "BalanceDelta"
417
- },
418
- {
419
- "name": "hookData",
420
- "type": "bytes",
421
- "internalType": "bytes"
422
- }
423
- ],
424
- "outputs": [
425
- {
426
- "name": "",
427
- "type": "bytes4",
428
- "internalType": "bytes4"
429
- },
430
- {
431
- "name": "",
432
- "type": "int128",
433
- "internalType": "int128"
434
- }
435
- ],
436
- "stateMutability": "nonpayable"
437
- },
438
- {
439
- "type": "function",
440
- "name": "beforeAddLiquidity",
441
- "inputs": [
442
- {
443
- "name": "sender",
444
- "type": "address",
445
- "internalType": "address"
446
- },
447
- {
448
- "name": "key",
449
- "type": "tuple",
450
- "internalType": "struct PoolKey",
451
- "components": [
452
- {
453
- "name": "currency0",
454
- "type": "address",
455
- "internalType": "Currency"
456
- },
457
- {
458
- "name": "currency1",
459
- "type": "address",
460
- "internalType": "Currency"
461
- },
462
- {
463
- "name": "fee",
464
- "type": "uint24",
465
- "internalType": "uint24"
466
- },
467
- {
468
- "name": "tickSpacing",
469
- "type": "int24",
470
- "internalType": "int24"
471
- },
472
- {
473
- "name": "hooks",
474
- "type": "address",
475
- "internalType": "contract IHooks"
476
- }
477
- ]
478
- },
479
- {
480
- "name": "params",
481
- "type": "tuple",
482
- "internalType": "struct ModifyLiquidityParams",
483
- "components": [
484
- {
485
- "name": "tickLower",
486
- "type": "int24",
487
- "internalType": "int24"
488
- },
489
- {
490
- "name": "tickUpper",
491
- "type": "int24",
492
- "internalType": "int24"
493
- },
494
- {
495
- "name": "liquidityDelta",
496
- "type": "int256",
497
- "internalType": "int256"
498
- },
499
- {
500
- "name": "salt",
501
- "type": "bytes32",
502
- "internalType": "bytes32"
503
- }
504
- ]
505
- },
506
- {
507
- "name": "hookData",
508
- "type": "bytes",
509
- "internalType": "bytes"
510
- }
511
- ],
512
- "outputs": [
513
- {
514
- "name": "",
515
- "type": "bytes4",
516
- "internalType": "bytes4"
517
- }
518
- ],
519
- "stateMutability": "nonpayable"
520
- },
521
- {
522
- "type": "function",
523
- "name": "beforeDonate",
524
- "inputs": [
525
- {
526
- "name": "sender",
527
- "type": "address",
528
- "internalType": "address"
529
- },
530
- {
531
- "name": "key",
532
- "type": "tuple",
533
- "internalType": "struct PoolKey",
534
- "components": [
535
- {
536
- "name": "currency0",
537
- "type": "address",
538
- "internalType": "Currency"
539
- },
540
- {
541
- "name": "currency1",
542
- "type": "address",
543
- "internalType": "Currency"
544
- },
545
- {
546
- "name": "fee",
547
- "type": "uint24",
548
- "internalType": "uint24"
549
- },
550
- {
551
- "name": "tickSpacing",
552
- "type": "int24",
553
- "internalType": "int24"
554
- },
555
- {
556
- "name": "hooks",
557
- "type": "address",
558
- "internalType": "contract IHooks"
559
- }
560
- ]
561
- },
562
- {
563
- "name": "amount0",
564
- "type": "uint256",
565
- "internalType": "uint256"
566
- },
567
- {
568
- "name": "amount1",
569
- "type": "uint256",
570
- "internalType": "uint256"
571
- },
572
- {
573
- "name": "hookData",
574
- "type": "bytes",
575
- "internalType": "bytes"
576
- }
577
- ],
578
- "outputs": [
579
- {
580
- "name": "",
581
- "type": "bytes4",
582
- "internalType": "bytes4"
583
- }
584
- ],
585
- "stateMutability": "nonpayable"
586
- },
587
- {
588
- "type": "function",
589
- "name": "beforeInitialize",
590
- "inputs": [
591
- {
592
- "name": "sender",
593
- "type": "address",
594
- "internalType": "address"
595
- },
596
- {
597
- "name": "key",
598
- "type": "tuple",
599
- "internalType": "struct PoolKey",
600
- "components": [
601
- {
602
- "name": "currency0",
603
- "type": "address",
604
- "internalType": "Currency"
605
- },
606
- {
607
- "name": "currency1",
608
- "type": "address",
609
- "internalType": "Currency"
610
- },
611
- {
612
- "name": "fee",
613
- "type": "uint24",
614
- "internalType": "uint24"
615
- },
616
- {
617
- "name": "tickSpacing",
618
- "type": "int24",
619
- "internalType": "int24"
620
- },
621
- {
622
- "name": "hooks",
623
- "type": "address",
624
- "internalType": "contract IHooks"
625
- }
626
- ]
627
- },
628
- {
629
- "name": "sqrtPriceX96",
630
- "type": "uint160",
631
- "internalType": "uint160"
632
- }
633
- ],
634
- "outputs": [
635
- {
636
- "name": "",
637
- "type": "bytes4",
638
- "internalType": "bytes4"
639
- }
640
- ],
641
- "stateMutability": "nonpayable"
642
- },
643
- {
644
- "type": "function",
645
- "name": "beforeRemoveLiquidity",
646
- "inputs": [
647
- {
648
- "name": "sender",
649
- "type": "address",
650
- "internalType": "address"
651
- },
652
- {
653
- "name": "key",
654
- "type": "tuple",
655
- "internalType": "struct PoolKey",
656
- "components": [
657
- {
658
- "name": "currency0",
659
- "type": "address",
660
- "internalType": "Currency"
661
- },
662
- {
663
- "name": "currency1",
664
- "type": "address",
665
- "internalType": "Currency"
666
- },
667
- {
668
- "name": "fee",
669
- "type": "uint24",
670
- "internalType": "uint24"
671
- },
672
- {
673
- "name": "tickSpacing",
674
- "type": "int24",
675
- "internalType": "int24"
676
- },
677
- {
678
- "name": "hooks",
679
- "type": "address",
680
- "internalType": "contract IHooks"
681
- }
682
- ]
683
- },
684
- {
685
- "name": "params",
686
- "type": "tuple",
687
- "internalType": "struct ModifyLiquidityParams",
688
- "components": [
689
- {
690
- "name": "tickLower",
691
- "type": "int24",
692
- "internalType": "int24"
693
- },
694
- {
695
- "name": "tickUpper",
696
- "type": "int24",
697
- "internalType": "int24"
698
- },
699
- {
700
- "name": "liquidityDelta",
701
- "type": "int256",
702
- "internalType": "int256"
703
- },
704
- {
705
- "name": "salt",
706
- "type": "bytes32",
707
- "internalType": "bytes32"
708
- }
709
- ]
710
- },
711
- {
712
- "name": "hookData",
713
- "type": "bytes",
714
- "internalType": "bytes"
715
- }
716
- ],
717
- "outputs": [
718
- {
719
- "name": "",
720
- "type": "bytes4",
721
- "internalType": "bytes4"
722
- }
723
- ],
724
- "stateMutability": "nonpayable"
725
- },
726
- {
727
- "type": "function",
728
- "name": "beforeSwap",
729
- "inputs": [
730
- {
731
- "name": "sender",
732
- "type": "address",
733
- "internalType": "address"
734
- },
735
- {
736
- "name": "key",
737
- "type": "tuple",
738
- "internalType": "struct PoolKey",
739
- "components": [
740
- {
741
- "name": "currency0",
742
- "type": "address",
743
- "internalType": "Currency"
744
- },
745
- {
746
- "name": "currency1",
747
- "type": "address",
748
- "internalType": "Currency"
749
- },
750
- {
751
- "name": "fee",
752
- "type": "uint24",
753
- "internalType": "uint24"
754
- },
755
- {
756
- "name": "tickSpacing",
757
- "type": "int24",
758
- "internalType": "int24"
759
- },
760
- {
761
- "name": "hooks",
762
- "type": "address",
763
- "internalType": "contract IHooks"
764
- }
765
- ]
766
- },
767
- {
768
- "name": "params",
769
- "type": "tuple",
770
- "internalType": "struct SwapParams",
771
- "components": [
772
- {
773
- "name": "zeroForOne",
774
- "type": "bool",
775
- "internalType": "bool"
776
- },
777
- {
778
- "name": "amountSpecified",
779
- "type": "int256",
780
- "internalType": "int256"
781
- },
782
- {
783
- "name": "sqrtPriceLimitX96",
784
- "type": "uint160",
785
- "internalType": "uint160"
786
- }
787
- ]
788
- },
789
- {
790
- "name": "hookData",
791
- "type": "bytes",
792
- "internalType": "bytes"
793
- }
794
- ],
795
- "outputs": [
796
- {
797
- "name": "",
798
- "type": "bytes4",
799
- "internalType": "bytes4"
800
- },
801
- {
802
- "name": "",
803
- "type": "int256",
804
- "internalType": "BeforeSwapDelta"
805
- },
806
- {
807
- "name": "",
808
- "type": "uint24",
809
- "internalType": "uint24"
810
- }
811
- ],
812
- "stateMutability": "nonpayable"
813
- },
814
- {
815
- "type": "function",
816
- "name": "contractVersion",
817
- "inputs": [],
818
- "outputs": [
819
- {
820
- "name": "",
821
- "type": "string",
822
- "internalType": "string"
823
- }
824
- ],
825
- "stateMutability": "pure"
826
- },
827
- {
828
- "type": "function",
829
- "name": "feeState",
830
- "inputs": [],
831
- "outputs": [
832
- {
833
- "name": "fees0",
834
- "type": "uint128",
835
- "internalType": "uint128"
836
- },
837
- {
838
- "name": "fees1",
839
- "type": "uint128",
840
- "internalType": "uint128"
841
- },
842
- {
843
- "name": "afterSwapCurrency",
844
- "type": "address",
845
- "internalType": "Currency"
846
- },
847
- {
848
- "name": "afterSwapCurrencyAmount",
849
- "type": "uint128",
850
- "internalType": "uint128"
851
- },
852
- {
853
- "name": "lastDelta",
854
- "type": "int256",
855
- "internalType": "BalanceDelta"
856
- },
857
- {
858
- "name": "lastSwapParams",
859
- "type": "tuple",
860
- "internalType": "struct SwapParams",
861
- "components": [
862
- {
863
- "name": "zeroForOne",
864
- "type": "bool",
865
- "internalType": "bool"
866
- },
867
- {
868
- "name": "amountSpecified",
869
- "type": "int256",
870
- "internalType": "int256"
871
- },
872
- {
873
- "name": "sqrtPriceLimitX96",
874
- "type": "uint160",
875
- "internalType": "uint160"
876
- }
877
- ]
878
- },
879
- {
880
- "name": "currencyBalanceChange",
881
- "type": "uint256",
882
- "internalType": "uint256"
883
- },
884
- {
885
- "name": "coinBalanceChange",
886
- "type": "uint256",
887
- "internalType": "uint256"
888
- }
889
- ],
890
- "stateMutability": "view"
891
- },
892
- {
893
- "type": "function",
894
- "name": "getFeeState",
895
- "inputs": [],
896
- "outputs": [
897
- {
898
- "name": "",
899
- "type": "tuple",
900
- "internalType": "struct FeeEstimatorHook.FeeEstimatorState",
901
- "components": [
902
- {
903
- "name": "fees0",
904
- "type": "uint128",
905
- "internalType": "uint128"
906
- },
907
- {
908
- "name": "fees1",
909
- "type": "uint128",
910
- "internalType": "uint128"
911
- },
912
- {
913
- "name": "afterSwapCurrency",
914
- "type": "address",
915
- "internalType": "Currency"
916
- },
917
- {
918
- "name": "afterSwapCurrencyAmount",
919
- "type": "uint128",
920
- "internalType": "uint128"
921
- },
922
- {
923
- "name": "lastDelta",
924
- "type": "int256",
925
- "internalType": "BalanceDelta"
926
- },
927
- {
928
- "name": "lastSwapParams",
929
- "type": "tuple",
930
- "internalType": "struct SwapParams",
931
- "components": [
932
- {
933
- "name": "zeroForOne",
934
- "type": "bool",
935
- "internalType": "bool"
936
- },
937
- {
938
- "name": "amountSpecified",
939
- "type": "int256",
940
- "internalType": "int256"
941
- },
942
- {
943
- "name": "sqrtPriceLimitX96",
944
- "type": "uint160",
945
- "internalType": "uint160"
946
- }
947
- ]
948
- },
949
- {
950
- "name": "currencyBalanceChange",
951
- "type": "uint256",
952
- "internalType": "uint256"
953
- },
954
- {
955
- "name": "coinBalanceChange",
956
- "type": "uint256",
957
- "internalType": "uint256"
958
- }
959
- ]
960
- }
961
- ],
962
- "stateMutability": "view"
963
- },
964
- {
965
- "type": "function",
966
- "name": "getHookPermissions",
967
- "inputs": [],
968
- "outputs": [
969
- {
970
- "name": "",
971
- "type": "tuple",
972
- "internalType": "struct Hooks.Permissions",
973
- "components": [
974
- {
975
- "name": "beforeInitialize",
976
- "type": "bool",
977
- "internalType": "bool"
978
- },
979
- {
980
- "name": "afterInitialize",
981
- "type": "bool",
982
- "internalType": "bool"
983
- },
984
- {
985
- "name": "beforeAddLiquidity",
986
- "type": "bool",
987
- "internalType": "bool"
988
- },
989
- {
990
- "name": "afterAddLiquidity",
991
- "type": "bool",
992
- "internalType": "bool"
993
- },
994
- {
995
- "name": "beforeRemoveLiquidity",
996
- "type": "bool",
997
- "internalType": "bool"
998
- },
999
- {
1000
- "name": "afterRemoveLiquidity",
1001
- "type": "bool",
1002
- "internalType": "bool"
1003
- },
1004
- {
1005
- "name": "beforeSwap",
1006
- "type": "bool",
1007
- "internalType": "bool"
1008
- },
1009
- {
1010
- "name": "afterSwap",
1011
- "type": "bool",
1012
- "internalType": "bool"
1013
- },
1014
- {
1015
- "name": "beforeDonate",
1016
- "type": "bool",
1017
- "internalType": "bool"
1018
- },
1019
- {
1020
- "name": "afterDonate",
1021
- "type": "bool",
1022
- "internalType": "bool"
1023
- },
1024
- {
1025
- "name": "beforeSwapReturnDelta",
1026
- "type": "bool",
1027
- "internalType": "bool"
1028
- },
1029
- {
1030
- "name": "afterSwapReturnDelta",
1031
- "type": "bool",
1032
- "internalType": "bool"
1033
- },
1034
- {
1035
- "name": "afterAddLiquidityReturnDelta",
1036
- "type": "bool",
1037
- "internalType": "bool"
1038
- },
1039
- {
1040
- "name": "afterRemoveLiquidityReturnDelta",
1041
- "type": "bool",
1042
- "internalType": "bool"
1043
- }
1044
- ]
1045
- }
1046
- ],
1047
- "stateMutability": "pure"
1048
- },
1049
- {
1050
- "type": "function",
1051
- "name": "getPoolCoin",
1052
- "inputs": [
1053
- {
1054
- "name": "key",
1055
- "type": "tuple",
1056
- "internalType": "struct PoolKey",
1057
- "components": [
1058
- {
1059
- "name": "currency0",
1060
- "type": "address",
1061
- "internalType": "Currency"
1062
- },
1063
- {
1064
- "name": "currency1",
1065
- "type": "address",
1066
- "internalType": "Currency"
1067
- },
1068
- {
1069
- "name": "fee",
1070
- "type": "uint24",
1071
- "internalType": "uint24"
1072
- },
1073
- {
1074
- "name": "tickSpacing",
1075
- "type": "int24",
1076
- "internalType": "int24"
1077
- },
1078
- {
1079
- "name": "hooks",
1080
- "type": "address",
1081
- "internalType": "contract IHooks"
1082
- }
1083
- ]
1084
- }
1085
- ],
1086
- "outputs": [
1087
- {
1088
- "name": "",
1089
- "type": "tuple",
1090
- "internalType": "struct IZoraV4CoinHook.PoolCoin",
1091
- "components": [
1092
- {
1093
- "name": "coin",
1094
- "type": "address",
1095
- "internalType": "address"
1096
- },
1097
- {
1098
- "name": "positions",
1099
- "type": "tuple[]",
1100
- "internalType": "struct LpPosition[]",
1101
- "components": [
1102
- {
1103
- "name": "tickLower",
1104
- "type": "int24",
1105
- "internalType": "int24"
1106
- },
1107
- {
1108
- "name": "tickUpper",
1109
- "type": "int24",
1110
- "internalType": "int24"
1111
- },
1112
- {
1113
- "name": "liquidity",
1114
- "type": "uint128",
1115
- "internalType": "uint128"
1116
- }
1117
- ]
1118
- }
1119
- ]
1120
- }
1121
- ],
1122
- "stateMutability": "view"
1123
- },
1124
- {
1125
- "type": "function",
1126
- "name": "getPoolCoinByHash",
1127
- "inputs": [
1128
- {
1129
- "name": "poolKeyHash",
1130
- "type": "bytes32",
1131
- "internalType": "bytes32"
1132
- }
1133
- ],
1134
- "outputs": [
1135
- {
1136
- "name": "",
1137
- "type": "tuple",
1138
- "internalType": "struct IZoraV4CoinHook.PoolCoin",
1139
- "components": [
1140
- {
1141
- "name": "coin",
1142
- "type": "address",
1143
- "internalType": "address"
1144
- },
1145
- {
1146
- "name": "positions",
1147
- "type": "tuple[]",
1148
- "internalType": "struct LpPosition[]",
1149
- "components": [
1150
- {
1151
- "name": "tickLower",
1152
- "type": "int24",
1153
- "internalType": "int24"
1154
- },
1155
- {
1156
- "name": "tickUpper",
1157
- "type": "int24",
1158
- "internalType": "int24"
1159
- },
1160
- {
1161
- "name": "liquidity",
1162
- "type": "uint128",
1163
- "internalType": "uint128"
1164
- }
1165
- ]
1166
- }
1167
- ]
1168
- }
1169
- ],
1170
- "stateMutability": "view"
1171
- },
1172
- {
1173
- "type": "function",
1174
- "name": "initializeFromMigration",
1175
- "inputs": [
1176
- {
1177
- "name": "poolKey",
1178
- "type": "tuple",
1179
- "internalType": "struct PoolKey",
1180
- "components": [
1181
- {
1182
- "name": "currency0",
1183
- "type": "address",
1184
- "internalType": "Currency"
1185
- },
1186
- {
1187
- "name": "currency1",
1188
- "type": "address",
1189
- "internalType": "Currency"
1190
- },
1191
- {
1192
- "name": "fee",
1193
- "type": "uint24",
1194
- "internalType": "uint24"
1195
- },
1196
- {
1197
- "name": "tickSpacing",
1198
- "type": "int24",
1199
- "internalType": "int24"
1200
- },
1201
- {
1202
- "name": "hooks",
1203
- "type": "address",
1204
- "internalType": "contract IHooks"
1205
- }
1206
- ]
1207
- },
1208
- {
1209
- "name": "coin",
1210
- "type": "address",
1211
- "internalType": "address"
1212
- },
1213
- {
1214
- "name": "sqrtPriceX96",
1215
- "type": "uint160",
1216
- "internalType": "uint160"
1217
- },
1218
- {
1219
- "name": "migratedLiquidity",
1220
- "type": "tuple[]",
1221
- "internalType": "struct BurnedPosition[]",
1222
- "components": [
1223
- {
1224
- "name": "tickLower",
1225
- "type": "int24",
1226
- "internalType": "int24"
1227
- },
1228
- {
1229
- "name": "tickUpper",
1230
- "type": "int24",
1231
- "internalType": "int24"
1232
- },
1233
- {
1234
- "name": "amount0Received",
1235
- "type": "uint128",
1236
- "internalType": "uint128"
1237
- },
1238
- {
1239
- "name": "amount1Received",
1240
- "type": "uint128",
1241
- "internalType": "uint128"
1242
- }
1243
- ]
1244
- },
1245
- {
1246
- "name": "additionalData",
1247
- "type": "bytes",
1248
- "internalType": "bytes"
1249
- }
1250
- ],
1251
- "outputs": [],
1252
- "stateMutability": "nonpayable"
1253
- },
1254
- {
1255
- "type": "function",
1256
- "name": "initializeFromMigrationWithUpdateableFee",
1257
- "inputs": [
1258
- {
1259
- "name": "poolKey",
1260
- "type": "tuple",
1261
- "internalType": "struct PoolKey",
1262
- "components": [
1263
- {
1264
- "name": "currency0",
1265
- "type": "address",
1266
- "internalType": "Currency"
1267
- },
1268
- {
1269
- "name": "currency1",
1270
- "type": "address",
1271
- "internalType": "Currency"
1272
- },
1273
- {
1274
- "name": "fee",
1275
- "type": "uint24",
1276
- "internalType": "uint24"
1277
- },
1278
- {
1279
- "name": "tickSpacing",
1280
- "type": "int24",
1281
- "internalType": "int24"
1282
- },
1283
- {
1284
- "name": "hooks",
1285
- "type": "address",
1286
- "internalType": "contract IHooks"
1287
- }
1288
- ]
1289
- },
1290
- {
1291
- "name": "coin",
1292
- "type": "address",
1293
- "internalType": "address"
1294
- },
1295
- {
1296
- "name": "sqrtPriceX96",
1297
- "type": "uint160",
1298
- "internalType": "uint160"
1299
- },
1300
- {
1301
- "name": "migratedLiquidity",
1302
- "type": "tuple[]",
1303
- "internalType": "struct BurnedPosition[]",
1304
- "components": [
1305
- {
1306
- "name": "tickLower",
1307
- "type": "int24",
1308
- "internalType": "int24"
1309
- },
1310
- {
1311
- "name": "tickUpper",
1312
- "type": "int24",
1313
- "internalType": "int24"
1314
- },
1315
- {
1316
- "name": "amount0Received",
1317
- "type": "uint128",
1318
- "internalType": "uint128"
1319
- },
1320
- {
1321
- "name": "amount1Received",
1322
- "type": "uint128",
1323
- "internalType": "uint128"
1324
- }
1325
- ]
1326
- },
1327
- {
1328
- "name": "additionalData",
1329
- "type": "bytes",
1330
- "internalType": "bytes"
1331
- }
1332
- ],
1333
- "outputs": [
1334
- {
1335
- "name": "fee",
1336
- "type": "uint24",
1337
- "internalType": "uint24"
1338
- },
1339
- {
1340
- "name": "tickSpacing",
1341
- "type": "int24",
1342
- "internalType": "int24"
1343
- }
1344
- ],
1345
- "stateMutability": "nonpayable"
1346
- },
1347
- {
1348
- "type": "function",
1349
- "name": "isTrustedMessageSender",
1350
- "inputs": [
1351
- {
1352
- "name": "sender",
1353
- "type": "address",
1354
- "internalType": "address"
1355
- }
1356
- ],
1357
- "outputs": [
1358
- {
1359
- "name": "",
1360
- "type": "bool",
1361
- "internalType": "bool"
1362
- }
1363
- ],
1364
- "stateMutability": "view"
1365
- },
1366
- {
1367
- "type": "function",
1368
- "name": "migrateLiquidity",
1369
- "inputs": [
1370
- {
1371
- "name": "newHook",
1372
- "type": "address",
1373
- "internalType": "address"
1374
- },
1375
- {
1376
- "name": "poolKey",
1377
- "type": "tuple",
1378
- "internalType": "struct PoolKey",
1379
- "components": [
1380
- {
1381
- "name": "currency0",
1382
- "type": "address",
1383
- "internalType": "Currency"
1384
- },
1385
- {
1386
- "name": "currency1",
1387
- "type": "address",
1388
- "internalType": "Currency"
1389
- },
1390
- {
1391
- "name": "fee",
1392
- "type": "uint24",
1393
- "internalType": "uint24"
1394
- },
1395
- {
1396
- "name": "tickSpacing",
1397
- "type": "int24",
1398
- "internalType": "int24"
1399
- },
1400
- {
1401
- "name": "hooks",
1402
- "type": "address",
1403
- "internalType": "contract IHooks"
1404
- }
1405
- ]
1406
- },
1407
- {
1408
- "name": "additionalData",
1409
- "type": "bytes",
1410
- "internalType": "bytes"
1411
- }
1412
- ],
1413
- "outputs": [
1414
- {
1415
- "name": "newPoolKey",
1416
- "type": "tuple",
1417
- "internalType": "struct PoolKey",
1418
- "components": [
1419
- {
1420
- "name": "currency0",
1421
- "type": "address",
1422
- "internalType": "Currency"
1423
- },
1424
- {
1425
- "name": "currency1",
1426
- "type": "address",
1427
- "internalType": "Currency"
1428
- },
1429
- {
1430
- "name": "fee",
1431
- "type": "uint24",
1432
- "internalType": "uint24"
1433
- },
1434
- {
1435
- "name": "tickSpacing",
1436
- "type": "int24",
1437
- "internalType": "int24"
1438
- },
1439
- {
1440
- "name": "hooks",
1441
- "type": "address",
1442
- "internalType": "contract IHooks"
1443
- }
1444
- ]
1445
- }
1446
- ],
1447
- "stateMutability": "nonpayable"
1448
- },
1449
- {
1450
- "type": "function",
1451
- "name": "poolManager",
1452
- "inputs": [],
1453
- "outputs": [
1454
- {
1455
- "name": "",
1456
- "type": "address",
1457
- "internalType": "contract IPoolManager"
1458
- }
1459
- ],
1460
- "stateMutability": "view"
1461
- },
1462
- {
1463
- "type": "function",
1464
- "name": "supportsInterface",
1465
- "inputs": [
1466
- {
1467
- "name": "interfaceId",
1468
- "type": "bytes4",
1469
- "internalType": "bytes4"
1470
- }
1471
- ],
1472
- "outputs": [
1473
- {
1474
- "name": "",
1475
- "type": "bool",
1476
- "internalType": "bool"
1477
- }
1478
- ],
1479
- "stateMutability": "view"
1480
- },
1481
- {
1482
- "type": "function",
1483
- "name": "unlockCallback",
1484
- "inputs": [
1485
- {
1486
- "name": "data",
1487
- "type": "bytes",
1488
- "internalType": "bytes"
1489
- }
1490
- ],
1491
- "outputs": [
1492
- {
1493
- "name": "",
1494
- "type": "bytes",
1495
- "internalType": "bytes"
1496
- }
1497
- ],
1498
- "stateMutability": "nonpayable"
1499
- },
1500
- {
1501
- "type": "event",
1502
- "name": "CoinMarketRewardsV4",
1503
- "inputs": [
1504
- {
1505
- "name": "coin",
1506
- "type": "address",
1507
- "indexed": false,
1508
- "internalType": "address"
1509
- },
1510
- {
1511
- "name": "currency",
1512
- "type": "address",
1513
- "indexed": false,
1514
- "internalType": "address"
1515
- },
1516
- {
1517
- "name": "payoutRecipient",
1518
- "type": "address",
1519
- "indexed": false,
1520
- "internalType": "address"
1521
- },
1522
- {
1523
- "name": "platformReferrer",
1524
- "type": "address",
1525
- "indexed": false,
1526
- "internalType": "address"
1527
- },
1528
- {
1529
- "name": "tradeReferrer",
1530
- "type": "address",
1531
- "indexed": false,
1532
- "internalType": "address"
1533
- },
1534
- {
1535
- "name": "protocolRewardRecipient",
1536
- "type": "address",
1537
- "indexed": false,
1538
- "internalType": "address"
1539
- },
1540
- {
1541
- "name": "dopplerRecipient",
1542
- "type": "address",
1543
- "indexed": false,
1544
- "internalType": "address"
1545
- },
1546
- {
1547
- "name": "marketRewards",
1548
- "type": "tuple",
1549
- "indexed": false,
1550
- "internalType": "struct IZoraV4CoinHook.MarketRewardsV4",
1551
- "components": [
1552
- {
1553
- "name": "creatorPayoutAmountCurrency",
1554
- "type": "uint256",
1555
- "internalType": "uint256"
1556
- },
1557
- {
1558
- "name": "creatorPayoutAmountCoin",
1559
- "type": "uint256",
1560
- "internalType": "uint256"
1561
- },
1562
- {
1563
- "name": "platformReferrerAmountCurrency",
1564
- "type": "uint256",
1565
- "internalType": "uint256"
1566
- },
1567
- {
1568
- "name": "platformReferrerAmountCoin",
1569
- "type": "uint256",
1570
- "internalType": "uint256"
1571
- },
1572
- {
1573
- "name": "tradeReferrerAmountCurrency",
1574
- "type": "uint256",
1575
- "internalType": "uint256"
1576
- },
1577
- {
1578
- "name": "tradeReferrerAmountCoin",
1579
- "type": "uint256",
1580
- "internalType": "uint256"
1581
- },
1582
- {
1583
- "name": "protocolAmountCurrency",
1584
- "type": "uint256",
1585
- "internalType": "uint256"
1586
- },
1587
- {
1588
- "name": "protocolAmountCoin",
1589
- "type": "uint256",
1590
- "internalType": "uint256"
1591
- },
1592
- {
1593
- "name": "dopplerAmountCurrency",
1594
- "type": "uint256",
1595
- "internalType": "uint256"
1596
- },
1597
- {
1598
- "name": "dopplerAmountCoin",
1599
- "type": "uint256",
1600
- "internalType": "uint256"
1601
- }
1602
- ]
1603
- }
1604
- ],
1605
- "anonymous": false
1606
- },
1607
- {
1608
- "type": "event",
1609
- "name": "LpReward",
1610
- "inputs": [
1611
- {
1612
- "name": "coin",
1613
- "type": "address",
1614
- "indexed": true,
1615
- "internalType": "address"
1616
- },
1617
- {
1618
- "name": "currency",
1619
- "type": "address",
1620
- "indexed": true,
1621
- "internalType": "address"
1622
- },
1623
- {
1624
- "name": "amountCurrency",
1625
- "type": "uint256",
1626
- "indexed": false,
1627
- "internalType": "uint256"
1628
- },
1629
- {
1630
- "name": "tick",
1631
- "type": "int24",
1632
- "indexed": false,
1633
- "internalType": "int24"
1634
- },
1635
- {
1636
- "name": "liquidity",
1637
- "type": "uint128",
1638
- "indexed": false,
1639
- "internalType": "uint128"
1640
- }
1641
- ],
1642
- "anonymous": false
1643
- },
1644
- {
1645
- "type": "event",
1646
- "name": "Swapped",
1647
- "inputs": [
1648
- {
1649
- "name": "sender",
1650
- "type": "address",
1651
- "indexed": true,
1652
- "internalType": "address"
1653
- },
1654
- {
1655
- "name": "swapSender",
1656
- "type": "address",
1657
- "indexed": true,
1658
- "internalType": "address"
1659
- },
1660
- {
1661
- "name": "isTrustedSwapSenderAddress",
1662
- "type": "bool",
1663
- "indexed": false,
1664
- "internalType": "bool"
1665
- },
1666
- {
1667
- "name": "key",
1668
- "type": "tuple",
1669
- "indexed": false,
1670
- "internalType": "struct PoolKey",
1671
- "components": [
1672
- {
1673
- "name": "currency0",
1674
- "type": "address",
1675
- "internalType": "Currency"
1676
- },
1677
- {
1678
- "name": "currency1",
1679
- "type": "address",
1680
- "internalType": "Currency"
1681
- },
1682
- {
1683
- "name": "fee",
1684
- "type": "uint24",
1685
- "internalType": "uint24"
1686
- },
1687
- {
1688
- "name": "tickSpacing",
1689
- "type": "int24",
1690
- "internalType": "int24"
1691
- },
1692
- {
1693
- "name": "hooks",
1694
- "type": "address",
1695
- "internalType": "contract IHooks"
1696
- }
1697
- ]
1698
- },
1699
- {
1700
- "name": "poolKeyHash",
1701
- "type": "bytes32",
1702
- "indexed": true,
1703
- "internalType": "bytes32"
1704
- },
1705
- {
1706
- "name": "params",
1707
- "type": "tuple",
1708
- "indexed": false,
1709
- "internalType": "struct SwapParams",
1710
- "components": [
1711
- {
1712
- "name": "zeroForOne",
1713
- "type": "bool",
1714
- "internalType": "bool"
1715
- },
1716
- {
1717
- "name": "amountSpecified",
1718
- "type": "int256",
1719
- "internalType": "int256"
1720
- },
1721
- {
1722
- "name": "sqrtPriceLimitX96",
1723
- "type": "uint160",
1724
- "internalType": "uint160"
1725
- }
1726
- ]
1727
- },
1728
- {
1729
- "name": "amount0",
1730
- "type": "int128",
1731
- "indexed": false,
1732
- "internalType": "int128"
1733
- },
1734
- {
1735
- "name": "amount1",
1736
- "type": "int128",
1737
- "indexed": false,
1738
- "internalType": "int128"
1739
- },
1740
- {
1741
- "name": "isCoinBuy",
1742
- "type": "bool",
1743
- "indexed": false,
1744
- "internalType": "bool"
1745
- },
1746
- {
1747
- "name": "hookData",
1748
- "type": "bytes",
1749
- "indexed": false,
1750
- "internalType": "bytes"
1751
- },
1752
- {
1753
- "name": "sqrtPriceX96",
1754
- "type": "uint160",
1755
- "indexed": false,
1756
- "internalType": "uint160"
1757
- }
1758
- ],
1759
- "anonymous": false
1760
- },
1761
- {
1762
- "type": "error",
1763
- "name": "CannotMintZeroLiquidity",
1764
- "inputs": []
1765
- },
1766
- {
1767
- "type": "error",
1768
- "name": "CoinVersionLookupCannotBeZeroAddress",
1769
- "inputs": []
1770
- },
1771
- {
1772
- "type": "error",
1773
- "name": "HookNotImplemented",
1774
- "inputs": []
1775
- },
1776
- {
1777
- "type": "error",
1778
- "name": "InvalidCallbackId",
1779
- "inputs": [
1780
- {
1781
- "name": "callbackId",
1782
- "type": "uint8",
1783
- "internalType": "uint8"
1784
- }
1785
- ]
1786
- },
1787
- {
1788
- "type": "error",
1789
- "name": "InvalidNewHook",
1790
- "inputs": [
1791
- {
1792
- "name": "newHook",
1793
- "type": "address",
1794
- "internalType": "address"
1795
- }
1796
- ]
1797
- },
1798
- {
1799
- "type": "error",
1800
- "name": "InvalidTickRangeMisordered",
1801
- "inputs": [
1802
- {
1803
- "name": "tickLower",
1804
- "type": "int24",
1805
- "internalType": "int24"
1806
- },
1807
- {
1808
- "name": "tickUpper",
1809
- "type": "int24",
1810
- "internalType": "int24"
1811
- }
1812
- ]
1813
- },
1814
- {
1815
- "type": "error",
1816
- "name": "NoCoinForHook",
1817
- "inputs": [
1818
- {
1819
- "name": "key",
1820
- "type": "tuple",
1821
- "internalType": "struct PoolKey",
1822
- "components": [
1823
- {
1824
- "name": "currency0",
1825
- "type": "address",
1826
- "internalType": "Currency"
1827
- },
1828
- {
1829
- "name": "currency1",
1830
- "type": "address",
1831
- "internalType": "Currency"
1832
- },
1833
- {
1834
- "name": "fee",
1835
- "type": "uint24",
1836
- "internalType": "uint24"
1837
- },
1838
- {
1839
- "name": "tickSpacing",
1840
- "type": "int24",
1841
- "internalType": "int24"
1842
- },
1843
- {
1844
- "name": "hooks",
1845
- "type": "address",
1846
- "internalType": "contract IHooks"
1847
- }
1848
- ]
1849
- }
1850
- ]
1851
- },
1852
- {
1853
- "type": "error",
1854
- "name": "NotACoin",
1855
- "inputs": [
1856
- {
1857
- "name": "coin",
1858
- "type": "address",
1859
- "internalType": "address"
1860
- }
1861
- ]
1862
- },
1863
- {
1864
- "type": "error",
1865
- "name": "NotPoolManager",
1866
- "inputs": []
1867
- },
1868
- {
1869
- "type": "error",
1870
- "name": "OnlyCoin",
1871
- "inputs": [
1872
- {
1873
- "name": "caller",
1874
- "type": "address",
1875
- "internalType": "address"
1876
- },
1877
- {
1878
- "name": "expectedCoin",
1879
- "type": "address",
1880
- "internalType": "address"
1881
- }
1882
- ]
1883
- },
1884
- {
1885
- "type": "error",
1886
- "name": "PathMustHaveAtLeastOneStep",
1887
- "inputs": []
1888
- },
1889
- {
1890
- "type": "error",
1891
- "name": "SafeCastOverflow",
1892
- "inputs": []
1893
- },
1894
- {
1895
- "type": "error",
1896
- "name": "UpgradeGateCannotBeZeroAddress",
1897
- "inputs": []
1898
- },
1899
- {
1900
- "type": "error",
1901
- "name": "UpgradePathNotRegistered",
1902
- "inputs": [
1903
- {
1904
- "name": "oldHook",
1905
- "type": "address",
1906
- "internalType": "address"
1907
- },
1908
- {
1909
- "name": "newHook",
1910
- "type": "address",
1911
- "internalType": "address"
1912
- }
1913
- ]
1914
- }
1915
- ]