@zoralabs/coins 0.7.1 → 1.0.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 (167) hide show
  1. package/.turbo/turbo-build.log +106 -84
  2. package/CHANGELOG.md +68 -0
  3. package/abis/BadImpl.json +15 -0
  4. package/abis/BalanceDeltaLibrary.json +15 -0
  5. package/abis/BaseCoin.json +1350 -0
  6. package/abis/BaseCoinDeployHook.json +78 -0
  7. package/abis/BaseHook.json +897 -0
  8. package/abis/BaseTest.json +60 -91
  9. package/abis/BeforeSwapDeltaLibrary.json +15 -0
  10. package/abis/BuySupplyWithSwapRouterHook.json +126 -0
  11. package/abis/Coin.json +214 -150
  12. package/abis/CoinConstants.json +65 -0
  13. package/abis/CoinDopplerMultiCurve.json +38 -0
  14. package/abis/CoinRewardsV4.json +54 -0
  15. package/abis/CoinTest.json +66 -111
  16. package/abis/CoinUniV4Test.json +1053 -0
  17. package/abis/CoinV4.json +1687 -0
  18. package/abis/CurrencyLibrary.json +25 -0
  19. package/abis/DeployHooks.json +9 -0
  20. package/abis/DeployScript.json +47 -0
  21. package/abis/DeployedCoinVersionLookup.json +21 -0
  22. package/abis/DeployedCoinVersionLookupTest.json +716 -0
  23. package/abis/DifferentNamespaceVersionLookup.json +39 -0
  24. package/abis/DopplerUniswapV3Test.json +62 -184
  25. package/abis/ERC20.json +310 -0
  26. package/abis/FactoryTest.json +98 -98
  27. package/abis/FakeHookNoInterface.json +21 -0
  28. package/abis/FeeEstimatorHook.json +1528 -0
  29. package/abis/Hooks.json +28 -0
  30. package/abis/HooksDeployment.json +23 -0
  31. package/abis/HooksTest.json +698 -0
  32. package/abis/IAllowanceTransfer.json +486 -0
  33. package/abis/ICoin.json +62 -69
  34. package/abis/ICoinDeployHook.json +31 -0
  35. package/abis/ICoinV3.json +879 -0
  36. package/abis/ICoinV4.json +915 -0
  37. package/abis/IContractMetadata.json +28 -0
  38. package/abis/IDeployedCoinVersionLookup.json +21 -0
  39. package/abis/IEIP712.json +15 -0
  40. package/abis/IEIP712_v4.json +15 -0
  41. package/abis/IERC20Minimal.json +172 -0
  42. package/abis/IERC6909Claims.json +288 -0
  43. package/abis/IERC721.json +36 -36
  44. package/abis/IERC721Permit_v4.json +88 -0
  45. package/abis/IExtsload.json +64 -0
  46. package/abis/IExttload.json +40 -0
  47. package/abis/IHasAfterCoinDeploy.json +31 -0
  48. package/abis/IHasContractName.json +15 -0
  49. package/abis/IHasPoolKey.json +42 -0
  50. package/abis/IHasRewardsRecipients.json +54 -0
  51. package/abis/IHasSwapPath.json +60 -0
  52. package/abis/IHooks.json +789 -0
  53. package/abis/IImmutableState.json +15 -0
  54. package/abis/IMsgSender.json +15 -0
  55. package/abis/IMulticall_v4.json +21 -0
  56. package/abis/INotifier.json +187 -0
  57. package/abis/IPermit2.json +865 -0
  58. package/abis/IPermit2Forwarder.json +138 -0
  59. package/abis/IPoolConfigEncoding.json +46 -0
  60. package/abis/IPoolInitializer_v4.json +53 -0
  61. package/abis/IPoolManager.json +1286 -0
  62. package/abis/IPositionManager.json +712 -0
  63. package/abis/IProtocolFees.json +174 -0
  64. package/abis/ISignatureTransfer.json +394 -0
  65. package/abis/ISubscriber.json +89 -0
  66. package/abis/ISwapPathRouter.json +92 -0
  67. package/abis/ISwapRouter.json +82 -0
  68. package/abis/IUniversalRouter.json +61 -0
  69. package/abis/IUnlockCallback.json +21 -0
  70. package/abis/IUnorderedNonce.json +44 -0
  71. package/abis/IV4Quoter.json +310 -0
  72. package/abis/IV4Router.json +47 -0
  73. package/abis/IZoraFactory.json +328 -4
  74. package/abis/IZoraV4CoinHook.json +427 -0
  75. package/abis/ImmutableState.json +36 -0
  76. package/abis/LPFeeLibrary.json +65 -0
  77. package/abis/MockERC20.json +21 -0
  78. package/abis/MultiOwnableTest.json +60 -91
  79. package/abis/{CoinConfigurationVersions.json → Position.json} +1 -1
  80. package/abis/PrintUpgradeCommand.json +9 -0
  81. package/abis/ProxyShim.json +24 -0
  82. package/abis/Simulate.json +0 -91
  83. package/abis/StateLibrary.json +80 -0
  84. package/abis/TestDeployedCoinVersionLookupImplementation.json +39 -0
  85. package/abis/TestV4Swap.json +9 -0
  86. package/abis/{CoinSetup.json → UniV3BuySell.json} +5 -0
  87. package/abis/UniV3Errors.json +32 -0
  88. package/abis/UpgradeCoinImpl.json +47 -0
  89. package/abis/UpgradeFactoryImpl.json +9 -0
  90. package/abis/UpgradesTest.json +671 -0
  91. package/abis/Vm.json +1482 -111
  92. package/abis/VmSafe.json +856 -32
  93. package/abis/ZoraFactoryImpl.json +450 -1
  94. package/abis/ZoraV4CoinHook.json +1439 -0
  95. package/addresses/8453.json +8 -3
  96. package/addresses/84532.json +8 -3
  97. package/dist/index.cjs +1998 -184
  98. package/dist/index.cjs.map +1 -1
  99. package/dist/index.js +1989 -178
  100. package/dist/index.js.map +1 -1
  101. package/dist/wagmiGenerated.d.ts +2852 -688
  102. package/dist/wagmiGenerated.d.ts.map +1 -1
  103. package/package/wagmiGenerated.ts +1992 -173
  104. package/package.json +7 -2
  105. package/remappings.txt +6 -1
  106. package/script/CoinsDeployerBase.sol +105 -10
  107. package/script/DeployDevFactory.s.sol +21 -0
  108. package/script/DeployHooks.s.sol +22 -0
  109. package/script/PrintUpgradeCommand.s.sol +13 -0
  110. package/script/Simulate.s.sol +4 -12
  111. package/script/TestBackingCoinSwap.s.sol +146 -0
  112. package/script/TestV4Swap.s.sol +136 -0
  113. package/script/UpgradeCoinImpl.sol +2 -2
  114. package/script/UpgradeFactoryImpl.s.sol +23 -0
  115. package/src/BaseCoin.sol +176 -0
  116. package/src/Coin.sol +93 -515
  117. package/src/CoinV4.sol +121 -0
  118. package/src/ZoraFactoryImpl.sol +257 -57
  119. package/src/hooks/ZoraV4CoinHook.sol +195 -0
  120. package/src/hooks/deployment/BaseCoinDeployHook.sol +62 -0
  121. package/src/hooks/deployment/BuySupplyWithSwapRouterHook.sol +80 -0
  122. package/src/interfaces/ICoin.sol +35 -39
  123. package/src/interfaces/ICoinDeployHook.sol +8 -0
  124. package/src/interfaces/ICoinV3.sol +71 -0
  125. package/src/interfaces/ICoinV4.sol +69 -0
  126. package/src/interfaces/IDeployedCoinVersionLookup.sol +11 -0
  127. package/src/interfaces/IMsgSender.sol +9 -0
  128. package/src/interfaces/IPoolConfigEncoding.sol +14 -0
  129. package/src/interfaces/ISwapPathRouter.sol +14 -0
  130. package/src/interfaces/ISwapRouter.sol +1 -35
  131. package/src/interfaces/IZoraFactory.sol +97 -7
  132. package/src/interfaces/IZoraV4CoinHook.sol +116 -0
  133. package/src/libs/CoinCommon.sol +15 -0
  134. package/src/libs/CoinConfigurationVersions.sol +116 -1
  135. package/src/{utils → libs}/CoinConstants.sol +11 -6
  136. package/src/libs/CoinDopplerMultiCurve.sol +134 -0
  137. package/src/libs/CoinDopplerUniV3.sol +19 -171
  138. package/src/libs/CoinRewards.sol +195 -0
  139. package/src/libs/CoinRewardsV4.sol +180 -0
  140. package/src/libs/CoinSetup.sol +40 -20
  141. package/src/libs/CoinSetupV3.sol +50 -0
  142. package/src/libs/DopplerMath.sol +156 -0
  143. package/src/libs/HooksDeployment.sol +84 -0
  144. package/src/libs/MarketConstants.sol +4 -0
  145. package/src/libs/PoolStateReader.sol +22 -0
  146. package/src/libs/UniV3BuySell.sol +231 -0
  147. package/src/libs/UniV3Errors.sol +11 -0
  148. package/src/libs/UniV4SwapHelper.sol +65 -0
  149. package/src/libs/UniV4SwapToCurrency.sol +109 -0
  150. package/src/libs/V4Liquidity.sol +129 -0
  151. package/src/types/PoolConfiguration.sol +15 -0
  152. package/src/utils/DeployedCoinVersionLookup.sol +52 -0
  153. package/src/version/ContractVersionBase.sol +1 -1
  154. package/test/Coin.t.sol +94 -101
  155. package/test/CoinDopplerUniV3.t.sol +35 -184
  156. package/test/CoinUniV4.t.sol +752 -0
  157. package/test/DeploymentHooks.t.sol +270 -0
  158. package/test/Factory.t.sol +84 -50
  159. package/test/MultiOwnable.t.sol +6 -3
  160. package/test/Upgrades.t.sol +68 -0
  161. package/test/mocks/MockERC20.sol +12 -0
  162. package/test/utils/BaseTest.sol +124 -59
  163. package/test/utils/DeployedCoinVersionLookup.t.sol +127 -0
  164. package/test/utils/FeeEstimatorHook.sol +84 -0
  165. package/test/utils/ProxyShim.sol +17 -0
  166. package/wagmi.config.ts +10 -9
  167. package/src/libs/CoinLegacy.sol +0 -48
@@ -0,0 +1,1053 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "CREATE_REFERRAL_REWARD_BPS",
5
+ "inputs": [],
6
+ "outputs": [
7
+ {
8
+ "name": "",
9
+ "type": "uint256",
10
+ "internalType": "uint256"
11
+ }
12
+ ],
13
+ "stateMutability": "view"
14
+ },
15
+ {
16
+ "type": "function",
17
+ "name": "CREATOR_REWARD_BPS",
18
+ "inputs": [],
19
+ "outputs": [
20
+ {
21
+ "name": "",
22
+ "type": "uint256",
23
+ "internalType": "uint256"
24
+ }
25
+ ],
26
+ "stateMutability": "view"
27
+ },
28
+ {
29
+ "type": "function",
30
+ "name": "DOPPLER_REWARD_BPS",
31
+ "inputs": [],
32
+ "outputs": [
33
+ {
34
+ "name": "",
35
+ "type": "uint256",
36
+ "internalType": "uint256"
37
+ }
38
+ ],
39
+ "stateMutability": "view"
40
+ },
41
+ {
42
+ "type": "function",
43
+ "name": "IS_TEST",
44
+ "inputs": [],
45
+ "outputs": [
46
+ {
47
+ "name": "",
48
+ "type": "bool",
49
+ "internalType": "bool"
50
+ }
51
+ ],
52
+ "stateMutability": "view"
53
+ },
54
+ {
55
+ "type": "function",
56
+ "name": "TRADE_REFERRAL_REWARD_BPS",
57
+ "inputs": [],
58
+ "outputs": [
59
+ {
60
+ "name": "",
61
+ "type": "uint256",
62
+ "internalType": "uint256"
63
+ }
64
+ ],
65
+ "stateMutability": "view"
66
+ },
67
+ {
68
+ "type": "function",
69
+ "name": "excludeArtifacts",
70
+ "inputs": [],
71
+ "outputs": [
72
+ {
73
+ "name": "excludedArtifacts_",
74
+ "type": "string[]",
75
+ "internalType": "string[]"
76
+ }
77
+ ],
78
+ "stateMutability": "view"
79
+ },
80
+ {
81
+ "type": "function",
82
+ "name": "excludeContracts",
83
+ "inputs": [],
84
+ "outputs": [
85
+ {
86
+ "name": "excludedContracts_",
87
+ "type": "address[]",
88
+ "internalType": "address[]"
89
+ }
90
+ ],
91
+ "stateMutability": "view"
92
+ },
93
+ {
94
+ "type": "function",
95
+ "name": "excludeSelectors",
96
+ "inputs": [],
97
+ "outputs": [
98
+ {
99
+ "name": "excludedSelectors_",
100
+ "type": "tuple[]",
101
+ "internalType": "struct StdInvariant.FuzzSelector[]",
102
+ "components": [
103
+ {
104
+ "name": "addr",
105
+ "type": "address",
106
+ "internalType": "address"
107
+ },
108
+ {
109
+ "name": "selectors",
110
+ "type": "bytes4[]",
111
+ "internalType": "bytes4[]"
112
+ }
113
+ ]
114
+ }
115
+ ],
116
+ "stateMutability": "view"
117
+ },
118
+ {
119
+ "type": "function",
120
+ "name": "excludeSenders",
121
+ "inputs": [],
122
+ "outputs": [
123
+ {
124
+ "name": "excludedSenders_",
125
+ "type": "address[]",
126
+ "internalType": "address[]"
127
+ }
128
+ ],
129
+ "stateMutability": "view"
130
+ },
131
+ {
132
+ "type": "function",
133
+ "name": "failed",
134
+ "inputs": [],
135
+ "outputs": [
136
+ {
137
+ "name": "",
138
+ "type": "bool",
139
+ "internalType": "bool"
140
+ }
141
+ ],
142
+ "stateMutability": "view"
143
+ },
144
+ {
145
+ "type": "function",
146
+ "name": "setUp",
147
+ "inputs": [],
148
+ "outputs": [],
149
+ "stateMutability": "nonpayable"
150
+ },
151
+ {
152
+ "type": "function",
153
+ "name": "setUpWithBlockNumber",
154
+ "inputs": [
155
+ {
156
+ "name": "forkBlockNumber",
157
+ "type": "uint256",
158
+ "internalType": "uint256"
159
+ }
160
+ ],
161
+ "outputs": [],
162
+ "stateMutability": "nonpayable"
163
+ },
164
+ {
165
+ "type": "function",
166
+ "name": "targetArtifactSelectors",
167
+ "inputs": [],
168
+ "outputs": [
169
+ {
170
+ "name": "targetedArtifactSelectors_",
171
+ "type": "tuple[]",
172
+ "internalType": "struct StdInvariant.FuzzArtifactSelector[]",
173
+ "components": [
174
+ {
175
+ "name": "artifact",
176
+ "type": "string",
177
+ "internalType": "string"
178
+ },
179
+ {
180
+ "name": "selectors",
181
+ "type": "bytes4[]",
182
+ "internalType": "bytes4[]"
183
+ }
184
+ ]
185
+ }
186
+ ],
187
+ "stateMutability": "view"
188
+ },
189
+ {
190
+ "type": "function",
191
+ "name": "targetArtifacts",
192
+ "inputs": [],
193
+ "outputs": [
194
+ {
195
+ "name": "targetedArtifacts_",
196
+ "type": "string[]",
197
+ "internalType": "string[]"
198
+ }
199
+ ],
200
+ "stateMutability": "view"
201
+ },
202
+ {
203
+ "type": "function",
204
+ "name": "targetContracts",
205
+ "inputs": [],
206
+ "outputs": [
207
+ {
208
+ "name": "targetedContracts_",
209
+ "type": "address[]",
210
+ "internalType": "address[]"
211
+ }
212
+ ],
213
+ "stateMutability": "view"
214
+ },
215
+ {
216
+ "type": "function",
217
+ "name": "targetInterfaces",
218
+ "inputs": [],
219
+ "outputs": [
220
+ {
221
+ "name": "targetedInterfaces_",
222
+ "type": "tuple[]",
223
+ "internalType": "struct StdInvariant.FuzzInterface[]",
224
+ "components": [
225
+ {
226
+ "name": "addr",
227
+ "type": "address",
228
+ "internalType": "address"
229
+ },
230
+ {
231
+ "name": "artifacts",
232
+ "type": "string[]",
233
+ "internalType": "string[]"
234
+ }
235
+ ]
236
+ }
237
+ ],
238
+ "stateMutability": "view"
239
+ },
240
+ {
241
+ "type": "function",
242
+ "name": "targetSelectors",
243
+ "inputs": [],
244
+ "outputs": [
245
+ {
246
+ "name": "targetedSelectors_",
247
+ "type": "tuple[]",
248
+ "internalType": "struct StdInvariant.FuzzSelector[]",
249
+ "components": [
250
+ {
251
+ "name": "addr",
252
+ "type": "address",
253
+ "internalType": "address"
254
+ },
255
+ {
256
+ "name": "selectors",
257
+ "type": "bytes4[]",
258
+ "internalType": "bytes4[]"
259
+ }
260
+ ]
261
+ }
262
+ ],
263
+ "stateMutability": "view"
264
+ },
265
+ {
266
+ "type": "function",
267
+ "name": "targetSenders",
268
+ "inputs": [],
269
+ "outputs": [
270
+ {
271
+ "name": "targetedSenders_",
272
+ "type": "address[]",
273
+ "internalType": "address[]"
274
+ }
275
+ ],
276
+ "stateMutability": "view"
277
+ },
278
+ {
279
+ "type": "function",
280
+ "name": "testSwappingEmitsSwapEventFromSenderNoRevert",
281
+ "inputs": [],
282
+ "outputs": [],
283
+ "stateMutability": "nonpayable"
284
+ },
285
+ {
286
+ "type": "function",
287
+ "name": "testSwappingEmitsSwapEventFromSenderReverts",
288
+ "inputs": [],
289
+ "outputs": [],
290
+ "stateMutability": "nonpayable"
291
+ },
292
+ {
293
+ "type": "function",
294
+ "name": "testSwappingEmitsSwapEventFromTrustedMessageSenderNoRevert",
295
+ "inputs": [],
296
+ "outputs": [],
297
+ "stateMutability": "nonpayable"
298
+ },
299
+ {
300
+ "type": "function",
301
+ "name": "testSwappingEmitsSwapEventFromTrustedMessageSenderReverts",
302
+ "inputs": [],
303
+ "outputs": [],
304
+ "stateMutability": "nonpayable"
305
+ },
306
+ {
307
+ "type": "function",
308
+ "name": "test_afterInitializeRevertsWhenSenderIsNotACoin",
309
+ "inputs": [],
310
+ "outputs": [],
311
+ "stateMutability": "nonpayable"
312
+ },
313
+ {
314
+ "type": "function",
315
+ "name": "test_canGetQuoteForSwappingCurrencyForCoin",
316
+ "inputs": [],
317
+ "outputs": [],
318
+ "stateMutability": "nonpayable"
319
+ },
320
+ {
321
+ "type": "function",
322
+ "name": "test_canSwapCoinForCurrency",
323
+ "inputs": [],
324
+ "outputs": [],
325
+ "stateMutability": "nonpayable"
326
+ },
327
+ {
328
+ "type": "function",
329
+ "name": "test_canSwapCurrencyForCoin",
330
+ "inputs": [],
331
+ "outputs": [],
332
+ "stateMutability": "nonpayable"
333
+ },
334
+ {
335
+ "type": "function",
336
+ "name": "test_distributesMarketRewards",
337
+ "inputs": [
338
+ {
339
+ "name": "amountIn",
340
+ "type": "uint64",
341
+ "internalType": "uint64"
342
+ },
343
+ {
344
+ "name": "hasCreateReferral",
345
+ "type": "bool",
346
+ "internalType": "bool"
347
+ },
348
+ {
349
+ "name": "hasTradeReferral",
350
+ "type": "bool",
351
+ "internalType": "bool"
352
+ }
353
+ ],
354
+ "outputs": [],
355
+ "stateMutability": "nonpayable"
356
+ },
357
+ {
358
+ "type": "function",
359
+ "name": "test_estimateLpFees",
360
+ "inputs": [],
361
+ "outputs": [],
362
+ "stateMutability": "nonpayable"
363
+ },
364
+ {
365
+ "type": "function",
366
+ "name": "test_getSwapPath_whenBackingCurrencyIsErc20",
367
+ "inputs": [],
368
+ "outputs": [],
369
+ "stateMutability": "nonpayable"
370
+ },
371
+ {
372
+ "type": "function",
373
+ "name": "test_getSwapPath_whenBackingCurrencyProvidesPath",
374
+ "inputs": [],
375
+ "outputs": [],
376
+ "stateMutability": "nonpayable"
377
+ },
378
+ {
379
+ "type": "function",
380
+ "name": "test_setupZeroAddressForHooks",
381
+ "inputs": [],
382
+ "outputs": [],
383
+ "stateMutability": "nonpayable"
384
+ },
385
+ {
386
+ "type": "function",
387
+ "name": "test_setupZeroAddressForPoolManager",
388
+ "inputs": [],
389
+ "outputs": [],
390
+ "stateMutability": "nonpayable"
391
+ },
392
+ {
393
+ "type": "function",
394
+ "name": "test_swap_emitsCoinMarketRewardsV4",
395
+ "inputs": [
396
+ {
397
+ "name": "amountIn",
398
+ "type": "uint64",
399
+ "internalType": "uint64"
400
+ }
401
+ ],
402
+ "outputs": [],
403
+ "stateMutability": "nonpayable"
404
+ },
405
+ {
406
+ "type": "function",
407
+ "name": "test_swap_withBackingCoinToZora_paysRewardsInZoraOnly",
408
+ "inputs": [
409
+ {
410
+ "name": "amountIn",
411
+ "type": "uint128",
412
+ "internalType": "uint128"
413
+ }
414
+ ],
415
+ "outputs": [],
416
+ "stateMutability": "nonpayable"
417
+ },
418
+ {
419
+ "type": "event",
420
+ "name": "CoinMarketRewardsV4",
421
+ "inputs": [
422
+ {
423
+ "name": "coin",
424
+ "type": "address",
425
+ "indexed": false,
426
+ "internalType": "address"
427
+ },
428
+ {
429
+ "name": "currency",
430
+ "type": "address",
431
+ "indexed": false,
432
+ "internalType": "address"
433
+ },
434
+ {
435
+ "name": "payoutRecipient",
436
+ "type": "address",
437
+ "indexed": false,
438
+ "internalType": "address"
439
+ },
440
+ {
441
+ "name": "platformReferrer",
442
+ "type": "address",
443
+ "indexed": false,
444
+ "internalType": "address"
445
+ },
446
+ {
447
+ "name": "tradeReferrer",
448
+ "type": "address",
449
+ "indexed": false,
450
+ "internalType": "address"
451
+ },
452
+ {
453
+ "name": "protocolRewardRecipient",
454
+ "type": "address",
455
+ "indexed": false,
456
+ "internalType": "address"
457
+ },
458
+ {
459
+ "name": "dopplerRecipient",
460
+ "type": "address",
461
+ "indexed": false,
462
+ "internalType": "address"
463
+ },
464
+ {
465
+ "name": "marketRewards",
466
+ "type": "tuple",
467
+ "indexed": false,
468
+ "internalType": "struct IZoraV4CoinHook.MarketRewardsV4",
469
+ "components": [
470
+ {
471
+ "name": "creatorPayoutAmountCurrency",
472
+ "type": "uint256",
473
+ "internalType": "uint256"
474
+ },
475
+ {
476
+ "name": "creatorPayoutAmountCoin",
477
+ "type": "uint256",
478
+ "internalType": "uint256"
479
+ },
480
+ {
481
+ "name": "platformReferrerAmountCurrency",
482
+ "type": "uint256",
483
+ "internalType": "uint256"
484
+ },
485
+ {
486
+ "name": "platformReferrerAmountCoin",
487
+ "type": "uint256",
488
+ "internalType": "uint256"
489
+ },
490
+ {
491
+ "name": "tradeReferrerAmountCurrency",
492
+ "type": "uint256",
493
+ "internalType": "uint256"
494
+ },
495
+ {
496
+ "name": "tradeReferrerAmountCoin",
497
+ "type": "uint256",
498
+ "internalType": "uint256"
499
+ },
500
+ {
501
+ "name": "protocolAmountCurrency",
502
+ "type": "uint256",
503
+ "internalType": "uint256"
504
+ },
505
+ {
506
+ "name": "protocolAmountCoin",
507
+ "type": "uint256",
508
+ "internalType": "uint256"
509
+ },
510
+ {
511
+ "name": "dopplerAmountCurrency",
512
+ "type": "uint256",
513
+ "internalType": "uint256"
514
+ },
515
+ {
516
+ "name": "dopplerAmountCoin",
517
+ "type": "uint256",
518
+ "internalType": "uint256"
519
+ }
520
+ ]
521
+ }
522
+ ],
523
+ "anonymous": false
524
+ },
525
+ {
526
+ "type": "event",
527
+ "name": "Swapped",
528
+ "inputs": [
529
+ {
530
+ "name": "sender",
531
+ "type": "address",
532
+ "indexed": true,
533
+ "internalType": "address"
534
+ },
535
+ {
536
+ "name": "swapSender",
537
+ "type": "address",
538
+ "indexed": true,
539
+ "internalType": "address"
540
+ },
541
+ {
542
+ "name": "isTrustedSwapSenderAddress",
543
+ "type": "bool",
544
+ "indexed": false,
545
+ "internalType": "bool"
546
+ },
547
+ {
548
+ "name": "key",
549
+ "type": "tuple",
550
+ "indexed": false,
551
+ "internalType": "struct PoolKey",
552
+ "components": [
553
+ {
554
+ "name": "currency0",
555
+ "type": "address",
556
+ "internalType": "Currency"
557
+ },
558
+ {
559
+ "name": "currency1",
560
+ "type": "address",
561
+ "internalType": "Currency"
562
+ },
563
+ {
564
+ "name": "fee",
565
+ "type": "uint24",
566
+ "internalType": "uint24"
567
+ },
568
+ {
569
+ "name": "tickSpacing",
570
+ "type": "int24",
571
+ "internalType": "int24"
572
+ },
573
+ {
574
+ "name": "hooks",
575
+ "type": "address",
576
+ "internalType": "contract IHooks"
577
+ }
578
+ ]
579
+ },
580
+ {
581
+ "name": "poolKeyHash",
582
+ "type": "bytes32",
583
+ "indexed": true,
584
+ "internalType": "bytes32"
585
+ },
586
+ {
587
+ "name": "params",
588
+ "type": "tuple",
589
+ "indexed": false,
590
+ "internalType": "struct SwapParams",
591
+ "components": [
592
+ {
593
+ "name": "zeroForOne",
594
+ "type": "bool",
595
+ "internalType": "bool"
596
+ },
597
+ {
598
+ "name": "amountSpecified",
599
+ "type": "int256",
600
+ "internalType": "int256"
601
+ },
602
+ {
603
+ "name": "sqrtPriceLimitX96",
604
+ "type": "uint160",
605
+ "internalType": "uint160"
606
+ }
607
+ ]
608
+ },
609
+ {
610
+ "name": "amount0",
611
+ "type": "int128",
612
+ "indexed": false,
613
+ "internalType": "int128"
614
+ },
615
+ {
616
+ "name": "amount1",
617
+ "type": "int128",
618
+ "indexed": false,
619
+ "internalType": "int128"
620
+ },
621
+ {
622
+ "name": "isCoinBuy",
623
+ "type": "bool",
624
+ "indexed": false,
625
+ "internalType": "bool"
626
+ },
627
+ {
628
+ "name": "hookData",
629
+ "type": "bytes",
630
+ "indexed": false,
631
+ "internalType": "bytes"
632
+ },
633
+ {
634
+ "name": "sqrtPriceX96",
635
+ "type": "uint160",
636
+ "indexed": false,
637
+ "internalType": "uint160"
638
+ }
639
+ ],
640
+ "anonymous": false
641
+ },
642
+ {
643
+ "type": "event",
644
+ "name": "log",
645
+ "inputs": [
646
+ {
647
+ "name": "",
648
+ "type": "string",
649
+ "indexed": false,
650
+ "internalType": "string"
651
+ }
652
+ ],
653
+ "anonymous": false
654
+ },
655
+ {
656
+ "type": "event",
657
+ "name": "log_address",
658
+ "inputs": [
659
+ {
660
+ "name": "",
661
+ "type": "address",
662
+ "indexed": false,
663
+ "internalType": "address"
664
+ }
665
+ ],
666
+ "anonymous": false
667
+ },
668
+ {
669
+ "type": "event",
670
+ "name": "log_array",
671
+ "inputs": [
672
+ {
673
+ "name": "val",
674
+ "type": "uint256[]",
675
+ "indexed": false,
676
+ "internalType": "uint256[]"
677
+ }
678
+ ],
679
+ "anonymous": false
680
+ },
681
+ {
682
+ "type": "event",
683
+ "name": "log_array",
684
+ "inputs": [
685
+ {
686
+ "name": "val",
687
+ "type": "int256[]",
688
+ "indexed": false,
689
+ "internalType": "int256[]"
690
+ }
691
+ ],
692
+ "anonymous": false
693
+ },
694
+ {
695
+ "type": "event",
696
+ "name": "log_array",
697
+ "inputs": [
698
+ {
699
+ "name": "val",
700
+ "type": "address[]",
701
+ "indexed": false,
702
+ "internalType": "address[]"
703
+ }
704
+ ],
705
+ "anonymous": false
706
+ },
707
+ {
708
+ "type": "event",
709
+ "name": "log_bytes",
710
+ "inputs": [
711
+ {
712
+ "name": "",
713
+ "type": "bytes",
714
+ "indexed": false,
715
+ "internalType": "bytes"
716
+ }
717
+ ],
718
+ "anonymous": false
719
+ },
720
+ {
721
+ "type": "event",
722
+ "name": "log_bytes32",
723
+ "inputs": [
724
+ {
725
+ "name": "",
726
+ "type": "bytes32",
727
+ "indexed": false,
728
+ "internalType": "bytes32"
729
+ }
730
+ ],
731
+ "anonymous": false
732
+ },
733
+ {
734
+ "type": "event",
735
+ "name": "log_int",
736
+ "inputs": [
737
+ {
738
+ "name": "",
739
+ "type": "int256",
740
+ "indexed": false,
741
+ "internalType": "int256"
742
+ }
743
+ ],
744
+ "anonymous": false
745
+ },
746
+ {
747
+ "type": "event",
748
+ "name": "log_named_address",
749
+ "inputs": [
750
+ {
751
+ "name": "key",
752
+ "type": "string",
753
+ "indexed": false,
754
+ "internalType": "string"
755
+ },
756
+ {
757
+ "name": "val",
758
+ "type": "address",
759
+ "indexed": false,
760
+ "internalType": "address"
761
+ }
762
+ ],
763
+ "anonymous": false
764
+ },
765
+ {
766
+ "type": "event",
767
+ "name": "log_named_array",
768
+ "inputs": [
769
+ {
770
+ "name": "key",
771
+ "type": "string",
772
+ "indexed": false,
773
+ "internalType": "string"
774
+ },
775
+ {
776
+ "name": "val",
777
+ "type": "uint256[]",
778
+ "indexed": false,
779
+ "internalType": "uint256[]"
780
+ }
781
+ ],
782
+ "anonymous": false
783
+ },
784
+ {
785
+ "type": "event",
786
+ "name": "log_named_array",
787
+ "inputs": [
788
+ {
789
+ "name": "key",
790
+ "type": "string",
791
+ "indexed": false,
792
+ "internalType": "string"
793
+ },
794
+ {
795
+ "name": "val",
796
+ "type": "int256[]",
797
+ "indexed": false,
798
+ "internalType": "int256[]"
799
+ }
800
+ ],
801
+ "anonymous": false
802
+ },
803
+ {
804
+ "type": "event",
805
+ "name": "log_named_array",
806
+ "inputs": [
807
+ {
808
+ "name": "key",
809
+ "type": "string",
810
+ "indexed": false,
811
+ "internalType": "string"
812
+ },
813
+ {
814
+ "name": "val",
815
+ "type": "address[]",
816
+ "indexed": false,
817
+ "internalType": "address[]"
818
+ }
819
+ ],
820
+ "anonymous": false
821
+ },
822
+ {
823
+ "type": "event",
824
+ "name": "log_named_bytes",
825
+ "inputs": [
826
+ {
827
+ "name": "key",
828
+ "type": "string",
829
+ "indexed": false,
830
+ "internalType": "string"
831
+ },
832
+ {
833
+ "name": "val",
834
+ "type": "bytes",
835
+ "indexed": false,
836
+ "internalType": "bytes"
837
+ }
838
+ ],
839
+ "anonymous": false
840
+ },
841
+ {
842
+ "type": "event",
843
+ "name": "log_named_bytes32",
844
+ "inputs": [
845
+ {
846
+ "name": "key",
847
+ "type": "string",
848
+ "indexed": false,
849
+ "internalType": "string"
850
+ },
851
+ {
852
+ "name": "val",
853
+ "type": "bytes32",
854
+ "indexed": false,
855
+ "internalType": "bytes32"
856
+ }
857
+ ],
858
+ "anonymous": false
859
+ },
860
+ {
861
+ "type": "event",
862
+ "name": "log_named_decimal_int",
863
+ "inputs": [
864
+ {
865
+ "name": "key",
866
+ "type": "string",
867
+ "indexed": false,
868
+ "internalType": "string"
869
+ },
870
+ {
871
+ "name": "val",
872
+ "type": "int256",
873
+ "indexed": false,
874
+ "internalType": "int256"
875
+ },
876
+ {
877
+ "name": "decimals",
878
+ "type": "uint256",
879
+ "indexed": false,
880
+ "internalType": "uint256"
881
+ }
882
+ ],
883
+ "anonymous": false
884
+ },
885
+ {
886
+ "type": "event",
887
+ "name": "log_named_decimal_uint",
888
+ "inputs": [
889
+ {
890
+ "name": "key",
891
+ "type": "string",
892
+ "indexed": false,
893
+ "internalType": "string"
894
+ },
895
+ {
896
+ "name": "val",
897
+ "type": "uint256",
898
+ "indexed": false,
899
+ "internalType": "uint256"
900
+ },
901
+ {
902
+ "name": "decimals",
903
+ "type": "uint256",
904
+ "indexed": false,
905
+ "internalType": "uint256"
906
+ }
907
+ ],
908
+ "anonymous": false
909
+ },
910
+ {
911
+ "type": "event",
912
+ "name": "log_named_int",
913
+ "inputs": [
914
+ {
915
+ "name": "key",
916
+ "type": "string",
917
+ "indexed": false,
918
+ "internalType": "string"
919
+ },
920
+ {
921
+ "name": "val",
922
+ "type": "int256",
923
+ "indexed": false,
924
+ "internalType": "int256"
925
+ }
926
+ ],
927
+ "anonymous": false
928
+ },
929
+ {
930
+ "type": "event",
931
+ "name": "log_named_string",
932
+ "inputs": [
933
+ {
934
+ "name": "key",
935
+ "type": "string",
936
+ "indexed": false,
937
+ "internalType": "string"
938
+ },
939
+ {
940
+ "name": "val",
941
+ "type": "string",
942
+ "indexed": false,
943
+ "internalType": "string"
944
+ }
945
+ ],
946
+ "anonymous": false
947
+ },
948
+ {
949
+ "type": "event",
950
+ "name": "log_named_uint",
951
+ "inputs": [
952
+ {
953
+ "name": "key",
954
+ "type": "string",
955
+ "indexed": false,
956
+ "internalType": "string"
957
+ },
958
+ {
959
+ "name": "val",
960
+ "type": "uint256",
961
+ "indexed": false,
962
+ "internalType": "uint256"
963
+ }
964
+ ],
965
+ "anonymous": false
966
+ },
967
+ {
968
+ "type": "event",
969
+ "name": "log_string",
970
+ "inputs": [
971
+ {
972
+ "name": "",
973
+ "type": "string",
974
+ "indexed": false,
975
+ "internalType": "string"
976
+ }
977
+ ],
978
+ "anonymous": false
979
+ },
980
+ {
981
+ "type": "event",
982
+ "name": "log_uint",
983
+ "inputs": [
984
+ {
985
+ "name": "",
986
+ "type": "uint256",
987
+ "indexed": false,
988
+ "internalType": "uint256"
989
+ }
990
+ ],
991
+ "anonymous": false
992
+ },
993
+ {
994
+ "type": "event",
995
+ "name": "logs",
996
+ "inputs": [
997
+ {
998
+ "name": "",
999
+ "type": "bytes",
1000
+ "indexed": false,
1001
+ "internalType": "bytes"
1002
+ }
1003
+ ],
1004
+ "anonymous": false
1005
+ },
1006
+ {
1007
+ "type": "error",
1008
+ "name": "Create2EmptyBytecode",
1009
+ "inputs": []
1010
+ },
1011
+ {
1012
+ "type": "error",
1013
+ "name": "Create2FailedDeployment",
1014
+ "inputs": []
1015
+ },
1016
+ {
1017
+ "type": "error",
1018
+ "name": "Create2InsufficientBalance",
1019
+ "inputs": [
1020
+ {
1021
+ "name": "balance",
1022
+ "type": "uint256",
1023
+ "internalType": "uint256"
1024
+ },
1025
+ {
1026
+ "name": "needed",
1027
+ "type": "uint256",
1028
+ "internalType": "uint256"
1029
+ }
1030
+ ]
1031
+ },
1032
+ {
1033
+ "type": "error",
1034
+ "name": "HookNotDeployed",
1035
+ "inputs": []
1036
+ },
1037
+ {
1038
+ "type": "error",
1039
+ "name": "InvalidHookAddress",
1040
+ "inputs": [
1041
+ {
1042
+ "name": "expected",
1043
+ "type": "address",
1044
+ "internalType": "address"
1045
+ },
1046
+ {
1047
+ "name": "actual",
1048
+ "type": "address",
1049
+ "internalType": "address"
1050
+ }
1051
+ ]
1052
+ }
1053
+ ]