@zoralabs/coins 0.9.0 → 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 (124) hide show
  1. package/.turbo/turbo-build.log +131 -114
  2. package/CHANGELOG.md +40 -0
  3. package/abis/BaseCoin.json +26 -118
  4. package/abis/BaseTest.json +47 -0
  5. package/abis/Coin.json +171 -63
  6. package/abis/CoinDopplerMultiCurve.json +38 -0
  7. package/abis/CoinRewardsV4.json +54 -0
  8. package/abis/CoinTest.json +53 -20
  9. package/abis/CoinUniV4Test.json +1053 -0
  10. package/abis/CoinV4.json +234 -211
  11. package/abis/DeployScript.json +47 -0
  12. package/abis/DeployedCoinVersionLookup.json +21 -0
  13. package/abis/DeployedCoinVersionLookupTest.json +716 -0
  14. package/abis/DifferentNamespaceVersionLookup.json +39 -0
  15. package/abis/DopplerUniswapV3Test.json +49 -93
  16. package/abis/ERC20.json +310 -0
  17. package/abis/FactoryTest.json +85 -7
  18. package/abis/FeeEstimatorHook.json +1528 -0
  19. package/abis/HooksDeployment.json +23 -0
  20. package/abis/HooksTest.json +47 -0
  21. package/abis/ICoin.json +40 -71
  22. package/abis/ICoinV3.json +879 -0
  23. package/abis/ICoinV4.json +915 -0
  24. package/abis/IDeployedCoinVersionLookup.json +21 -0
  25. package/abis/IERC721.json +36 -36
  26. package/abis/IHasPoolKey.json +42 -0
  27. package/abis/IHasRewardsRecipients.json +54 -0
  28. package/abis/IHasSwapPath.json +60 -0
  29. package/abis/IMsgSender.json +15 -0
  30. package/abis/IPoolConfigEncoding.json +46 -0
  31. package/abis/ISwapPathRouter.json +92 -0
  32. package/abis/IUniversalRouter.json +61 -0
  33. package/abis/IUnlockCallback.json +21 -0
  34. package/abis/IV4Quoter.json +310 -0
  35. package/abis/IZoraFactory.json +191 -11
  36. package/abis/IZoraV4CoinHook.json +348 -4
  37. package/abis/MockERC20.json +21 -0
  38. package/abis/MultiOwnableTest.json +47 -0
  39. package/abis/{CoinConfigurationVersions.json → Position.json} +1 -1
  40. package/abis/PrintUpgradeCommand.json +9 -0
  41. package/abis/ProxyShim.json +24 -0
  42. package/abis/StateLibrary.json +80 -0
  43. package/abis/TestDeployedCoinVersionLookupImplementation.json +39 -0
  44. package/abis/TestV4Swap.json +9 -0
  45. package/abis/UpgradeCoinImpl.json +47 -0
  46. package/abis/UpgradesTest.json +67 -0
  47. package/abis/Vm.json +1482 -111
  48. package/abis/VmSafe.json +856 -32
  49. package/abis/ZoraFactoryImpl.json +339 -1
  50. package/abis/ZoraV4CoinHook.json +455 -5
  51. package/addresses/8453.json +8 -4
  52. package/addresses/84532.json +8 -4
  53. package/dist/index.cjs +1920 -169
  54. package/dist/index.cjs.map +1 -1
  55. package/dist/index.js +1916 -169
  56. package/dist/index.js.map +1 -1
  57. package/dist/wagmiGenerated.d.ts +2599 -183
  58. package/dist/wagmiGenerated.d.ts.map +1 -1
  59. package/package/wagmiGenerated.ts +1928 -165
  60. package/package.json +8 -3
  61. package/remappings.txt +6 -1
  62. package/script/CoinsDeployerBase.sol +74 -11
  63. package/script/DeployDevFactory.s.sol +21 -0
  64. package/script/PrintUpgradeCommand.s.sol +13 -0
  65. package/script/Simulate.s.sol +1 -10
  66. package/script/TestBackingCoinSwap.s.sol +146 -0
  67. package/script/TestV4Swap.s.sol +136 -0
  68. package/script/UpgradeFactoryImpl.s.sol +1 -1
  69. package/src/BaseCoin.sol +176 -0
  70. package/src/Coin.sol +87 -202
  71. package/src/CoinV4.sol +121 -0
  72. package/src/ZoraFactoryImpl.sol +208 -36
  73. package/src/hooks/ZoraV4CoinHook.sol +195 -0
  74. package/src/hooks/{BaseCoinDeployHook.sol → deployment/BaseCoinDeployHook.sol} +3 -3
  75. package/src/hooks/{BuySupplyWithSwapRouterHook.sol → deployment/BuySupplyWithSwapRouterHook.sol} +7 -5
  76. package/src/interfaces/ICoin.sol +31 -39
  77. package/src/interfaces/ICoinV3.sol +71 -0
  78. package/src/interfaces/ICoinV4.sol +69 -0
  79. package/src/interfaces/IDeployedCoinVersionLookup.sol +11 -0
  80. package/src/interfaces/IMsgSender.sol +9 -0
  81. package/src/interfaces/IPoolConfigEncoding.sol +14 -0
  82. package/src/interfaces/ISwapPathRouter.sol +14 -0
  83. package/src/interfaces/IZoraFactory.sol +65 -27
  84. package/src/interfaces/IZoraV4CoinHook.sol +116 -0
  85. package/src/libs/CoinCommon.sol +15 -0
  86. package/src/libs/CoinConfigurationVersions.sol +116 -1
  87. package/src/libs/CoinConstants.sol +5 -0
  88. package/src/libs/CoinDopplerMultiCurve.sol +134 -0
  89. package/src/libs/CoinDopplerUniV3.sol +19 -171
  90. package/src/libs/CoinRewards.sol +195 -0
  91. package/src/libs/CoinRewardsV4.sol +180 -0
  92. package/src/libs/CoinSetup.sol +57 -0
  93. package/src/libs/CoinSetupV3.sol +6 -67
  94. package/src/libs/DopplerMath.sol +156 -0
  95. package/src/libs/HooksDeployment.sol +84 -0
  96. package/src/libs/MarketConstants.sol +4 -0
  97. package/src/libs/PoolStateReader.sol +22 -0
  98. package/src/libs/UniV3BuySell.sol +74 -292
  99. package/src/libs/UniV4SwapHelper.sol +65 -0
  100. package/src/libs/UniV4SwapToCurrency.sol +109 -0
  101. package/src/libs/V4Liquidity.sol +129 -0
  102. package/src/types/PoolConfiguration.sol +15 -0
  103. package/src/utils/DeployedCoinVersionLookup.sol +52 -0
  104. package/src/version/ContractVersionBase.sol +1 -1
  105. package/test/Coin.t.sol +78 -88
  106. package/test/CoinDopplerUniV3.t.sol +32 -171
  107. package/test/CoinUniV4.t.sol +752 -0
  108. package/test/{Hooks.t.sol → DeploymentHooks.t.sol} +2 -6
  109. package/test/Factory.t.sol +80 -47
  110. package/test/MultiOwnable.t.sol +6 -3
  111. package/test/Upgrades.t.sol +6 -5
  112. package/test/mocks/MockERC20.sol +12 -0
  113. package/test/utils/BaseTest.sol +106 -56
  114. package/test/utils/DeployedCoinVersionLookup.t.sol +127 -0
  115. package/test/utils/FeeEstimatorHook.sol +84 -0
  116. package/test/utils/ProxyShim.sol +17 -0
  117. package/wagmi.config.ts +4 -0
  118. package/.env +0 -1
  119. package/.turbo/turbo-update-contract-version.log +0 -22
  120. package/abis/CoinSetupV3.json +0 -7
  121. package/abis/HookDeployer.json +0 -68
  122. package/abis/IHookDeployer.json +0 -42
  123. package/src/libs/CoinLegacy.sol +0 -48
  124. package/src/libs/CoinLegacyMarket.sol +0 -182
@@ -0,0 +1,879 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "WETH",
5
+ "inputs": [],
6
+ "outputs": [
7
+ {
8
+ "name": "",
9
+ "type": "address",
10
+ "internalType": "address"
11
+ }
12
+ ],
13
+ "stateMutability": "view"
14
+ },
15
+ {
16
+ "type": "function",
17
+ "name": "airlock",
18
+ "inputs": [],
19
+ "outputs": [
20
+ {
21
+ "name": "",
22
+ "type": "address",
23
+ "internalType": "address"
24
+ }
25
+ ],
26
+ "stateMutability": "view"
27
+ },
28
+ {
29
+ "type": "function",
30
+ "name": "burn",
31
+ "inputs": [
32
+ {
33
+ "name": "amount",
34
+ "type": "uint256",
35
+ "internalType": "uint256"
36
+ }
37
+ ],
38
+ "outputs": [],
39
+ "stateMutability": "nonpayable"
40
+ },
41
+ {
42
+ "type": "function",
43
+ "name": "buy",
44
+ "inputs": [
45
+ {
46
+ "name": "recipient",
47
+ "type": "address",
48
+ "internalType": "address"
49
+ },
50
+ {
51
+ "name": "orderSize",
52
+ "type": "uint256",
53
+ "internalType": "uint256"
54
+ },
55
+ {
56
+ "name": "minAmountOut",
57
+ "type": "uint256",
58
+ "internalType": "uint256"
59
+ },
60
+ {
61
+ "name": "sqrtPriceLimitX96",
62
+ "type": "uint160",
63
+ "internalType": "uint160"
64
+ },
65
+ {
66
+ "name": "tradeReferrer",
67
+ "type": "address",
68
+ "internalType": "address"
69
+ }
70
+ ],
71
+ "outputs": [
72
+ {
73
+ "name": "",
74
+ "type": "uint256",
75
+ "internalType": "uint256"
76
+ },
77
+ {
78
+ "name": "",
79
+ "type": "uint256",
80
+ "internalType": "uint256"
81
+ }
82
+ ],
83
+ "stateMutability": "payable"
84
+ },
85
+ {
86
+ "type": "function",
87
+ "name": "claimSecondaryRewards",
88
+ "inputs": [
89
+ {
90
+ "name": "pushEthRewards",
91
+ "type": "bool",
92
+ "internalType": "bool"
93
+ }
94
+ ],
95
+ "outputs": [],
96
+ "stateMutability": "nonpayable"
97
+ },
98
+ {
99
+ "type": "function",
100
+ "name": "contractURI",
101
+ "inputs": [],
102
+ "outputs": [
103
+ {
104
+ "name": "",
105
+ "type": "string",
106
+ "internalType": "string"
107
+ }
108
+ ],
109
+ "stateMutability": "view"
110
+ },
111
+ {
112
+ "type": "function",
113
+ "name": "currency",
114
+ "inputs": [],
115
+ "outputs": [
116
+ {
117
+ "name": "",
118
+ "type": "address",
119
+ "internalType": "address"
120
+ }
121
+ ],
122
+ "stateMutability": "view"
123
+ },
124
+ {
125
+ "type": "function",
126
+ "name": "dopplerFeeRecipient",
127
+ "inputs": [],
128
+ "outputs": [
129
+ {
130
+ "name": "",
131
+ "type": "address",
132
+ "internalType": "address"
133
+ }
134
+ ],
135
+ "stateMutability": "view"
136
+ },
137
+ {
138
+ "type": "function",
139
+ "name": "initialize",
140
+ "inputs": [
141
+ {
142
+ "name": "payoutRecipient_",
143
+ "type": "address",
144
+ "internalType": "address"
145
+ },
146
+ {
147
+ "name": "owners_",
148
+ "type": "address[]",
149
+ "internalType": "address[]"
150
+ },
151
+ {
152
+ "name": "tokenURI_",
153
+ "type": "string",
154
+ "internalType": "string"
155
+ },
156
+ {
157
+ "name": "name_",
158
+ "type": "string",
159
+ "internalType": "string"
160
+ },
161
+ {
162
+ "name": "symbol_",
163
+ "type": "string",
164
+ "internalType": "string"
165
+ },
166
+ {
167
+ "name": "platformReferrer_",
168
+ "type": "address",
169
+ "internalType": "address"
170
+ },
171
+ {
172
+ "name": "currency_",
173
+ "type": "address",
174
+ "internalType": "address"
175
+ },
176
+ {
177
+ "name": "poolAddress_",
178
+ "type": "address",
179
+ "internalType": "address"
180
+ },
181
+ {
182
+ "name": "poolConfiguration_",
183
+ "type": "tuple",
184
+ "internalType": "struct PoolConfiguration",
185
+ "components": [
186
+ {
187
+ "name": "version",
188
+ "type": "uint8",
189
+ "internalType": "uint8"
190
+ },
191
+ {
192
+ "name": "numPositions",
193
+ "type": "uint16",
194
+ "internalType": "uint16"
195
+ },
196
+ {
197
+ "name": "fee",
198
+ "type": "uint24",
199
+ "internalType": "uint24"
200
+ },
201
+ {
202
+ "name": "tickSpacing",
203
+ "type": "int24",
204
+ "internalType": "int24"
205
+ },
206
+ {
207
+ "name": "numDiscoveryPositions",
208
+ "type": "uint16[]",
209
+ "internalType": "uint16[]"
210
+ },
211
+ {
212
+ "name": "tickLower",
213
+ "type": "int24[]",
214
+ "internalType": "int24[]"
215
+ },
216
+ {
217
+ "name": "tickUpper",
218
+ "type": "int24[]",
219
+ "internalType": "int24[]"
220
+ },
221
+ {
222
+ "name": "maxDiscoverySupplyShare",
223
+ "type": "uint256[]",
224
+ "internalType": "uint256[]"
225
+ }
226
+ ]
227
+ },
228
+ {
229
+ "name": "positions_",
230
+ "type": "tuple[]",
231
+ "internalType": "struct LpPosition[]",
232
+ "components": [
233
+ {
234
+ "name": "tickLower",
235
+ "type": "int24",
236
+ "internalType": "int24"
237
+ },
238
+ {
239
+ "name": "tickUpper",
240
+ "type": "int24",
241
+ "internalType": "int24"
242
+ },
243
+ {
244
+ "name": "liquidity",
245
+ "type": "uint128",
246
+ "internalType": "uint128"
247
+ }
248
+ ]
249
+ }
250
+ ],
251
+ "outputs": [],
252
+ "stateMutability": "nonpayable"
253
+ },
254
+ {
255
+ "type": "function",
256
+ "name": "payoutRecipient",
257
+ "inputs": [],
258
+ "outputs": [
259
+ {
260
+ "name": "",
261
+ "type": "address",
262
+ "internalType": "address"
263
+ }
264
+ ],
265
+ "stateMutability": "view"
266
+ },
267
+ {
268
+ "type": "function",
269
+ "name": "platformReferrer",
270
+ "inputs": [],
271
+ "outputs": [
272
+ {
273
+ "name": "",
274
+ "type": "address",
275
+ "internalType": "address"
276
+ }
277
+ ],
278
+ "stateMutability": "view"
279
+ },
280
+ {
281
+ "type": "function",
282
+ "name": "poolAddress",
283
+ "inputs": [],
284
+ "outputs": [
285
+ {
286
+ "name": "",
287
+ "type": "address",
288
+ "internalType": "address"
289
+ }
290
+ ],
291
+ "stateMutability": "view"
292
+ },
293
+ {
294
+ "type": "function",
295
+ "name": "protocolRewardRecipient",
296
+ "inputs": [],
297
+ "outputs": [
298
+ {
299
+ "name": "",
300
+ "type": "address",
301
+ "internalType": "address"
302
+ }
303
+ ],
304
+ "stateMutability": "view"
305
+ },
306
+ {
307
+ "type": "function",
308
+ "name": "sell",
309
+ "inputs": [
310
+ {
311
+ "name": "recipient",
312
+ "type": "address",
313
+ "internalType": "address"
314
+ },
315
+ {
316
+ "name": "orderSize",
317
+ "type": "uint256",
318
+ "internalType": "uint256"
319
+ },
320
+ {
321
+ "name": "minAmountOut",
322
+ "type": "uint256",
323
+ "internalType": "uint256"
324
+ },
325
+ {
326
+ "name": "sqrtPriceLimitX96",
327
+ "type": "uint160",
328
+ "internalType": "uint160"
329
+ },
330
+ {
331
+ "name": "tradeReferrer",
332
+ "type": "address",
333
+ "internalType": "address"
334
+ }
335
+ ],
336
+ "outputs": [
337
+ {
338
+ "name": "",
339
+ "type": "uint256",
340
+ "internalType": "uint256"
341
+ },
342
+ {
343
+ "name": "",
344
+ "type": "uint256",
345
+ "internalType": "uint256"
346
+ }
347
+ ],
348
+ "stateMutability": "nonpayable"
349
+ },
350
+ {
351
+ "type": "function",
352
+ "name": "supportsInterface",
353
+ "inputs": [
354
+ {
355
+ "name": "interfaceId",
356
+ "type": "bytes4",
357
+ "internalType": "bytes4"
358
+ }
359
+ ],
360
+ "outputs": [
361
+ {
362
+ "name": "",
363
+ "type": "bool",
364
+ "internalType": "bool"
365
+ }
366
+ ],
367
+ "stateMutability": "view"
368
+ },
369
+ {
370
+ "type": "function",
371
+ "name": "tokenURI",
372
+ "inputs": [],
373
+ "outputs": [
374
+ {
375
+ "name": "",
376
+ "type": "string",
377
+ "internalType": "string"
378
+ }
379
+ ],
380
+ "stateMutability": "view"
381
+ },
382
+ {
383
+ "type": "function",
384
+ "name": "v3Factory",
385
+ "inputs": [],
386
+ "outputs": [
387
+ {
388
+ "name": "",
389
+ "type": "address",
390
+ "internalType": "address"
391
+ }
392
+ ],
393
+ "stateMutability": "view"
394
+ },
395
+ {
396
+ "type": "event",
397
+ "name": "CoinBuy",
398
+ "inputs": [
399
+ {
400
+ "name": "buyer",
401
+ "type": "address",
402
+ "indexed": true,
403
+ "internalType": "address"
404
+ },
405
+ {
406
+ "name": "recipient",
407
+ "type": "address",
408
+ "indexed": true,
409
+ "internalType": "address"
410
+ },
411
+ {
412
+ "name": "tradeReferrer",
413
+ "type": "address",
414
+ "indexed": true,
415
+ "internalType": "address"
416
+ },
417
+ {
418
+ "name": "coinsPurchased",
419
+ "type": "uint256",
420
+ "indexed": false,
421
+ "internalType": "uint256"
422
+ },
423
+ {
424
+ "name": "currency",
425
+ "type": "address",
426
+ "indexed": false,
427
+ "internalType": "address"
428
+ },
429
+ {
430
+ "name": "amountFee",
431
+ "type": "uint256",
432
+ "indexed": false,
433
+ "internalType": "uint256"
434
+ },
435
+ {
436
+ "name": "amountSold",
437
+ "type": "uint256",
438
+ "indexed": false,
439
+ "internalType": "uint256"
440
+ }
441
+ ],
442
+ "anonymous": false
443
+ },
444
+ {
445
+ "type": "event",
446
+ "name": "CoinMarketRewards",
447
+ "inputs": [
448
+ {
449
+ "name": "payoutRecipient",
450
+ "type": "address",
451
+ "indexed": true,
452
+ "internalType": "address"
453
+ },
454
+ {
455
+ "name": "platformReferrer",
456
+ "type": "address",
457
+ "indexed": true,
458
+ "internalType": "address"
459
+ },
460
+ {
461
+ "name": "protocolRewardRecipient",
462
+ "type": "address",
463
+ "indexed": false,
464
+ "internalType": "address"
465
+ },
466
+ {
467
+ "name": "currency",
468
+ "type": "address",
469
+ "indexed": false,
470
+ "internalType": "address"
471
+ },
472
+ {
473
+ "name": "marketRewards",
474
+ "type": "tuple",
475
+ "indexed": false,
476
+ "internalType": "struct ICoin.MarketRewards",
477
+ "components": [
478
+ {
479
+ "name": "totalAmountCurrency",
480
+ "type": "uint256",
481
+ "internalType": "uint256"
482
+ },
483
+ {
484
+ "name": "totalAmountCoin",
485
+ "type": "uint256",
486
+ "internalType": "uint256"
487
+ },
488
+ {
489
+ "name": "creatorPayoutAmountCurrency",
490
+ "type": "uint256",
491
+ "internalType": "uint256"
492
+ },
493
+ {
494
+ "name": "creatorPayoutAmountCoin",
495
+ "type": "uint256",
496
+ "internalType": "uint256"
497
+ },
498
+ {
499
+ "name": "platformReferrerAmountCurrency",
500
+ "type": "uint256",
501
+ "internalType": "uint256"
502
+ },
503
+ {
504
+ "name": "platformReferrerAmountCoin",
505
+ "type": "uint256",
506
+ "internalType": "uint256"
507
+ },
508
+ {
509
+ "name": "protocolAmountCurrency",
510
+ "type": "uint256",
511
+ "internalType": "uint256"
512
+ },
513
+ {
514
+ "name": "protocolAmountCoin",
515
+ "type": "uint256",
516
+ "internalType": "uint256"
517
+ }
518
+ ]
519
+ }
520
+ ],
521
+ "anonymous": false
522
+ },
523
+ {
524
+ "type": "event",
525
+ "name": "CoinPayoutRecipientUpdated",
526
+ "inputs": [
527
+ {
528
+ "name": "caller",
529
+ "type": "address",
530
+ "indexed": true,
531
+ "internalType": "address"
532
+ },
533
+ {
534
+ "name": "prevRecipient",
535
+ "type": "address",
536
+ "indexed": true,
537
+ "internalType": "address"
538
+ },
539
+ {
540
+ "name": "newRecipient",
541
+ "type": "address",
542
+ "indexed": true,
543
+ "internalType": "address"
544
+ }
545
+ ],
546
+ "anonymous": false
547
+ },
548
+ {
549
+ "type": "event",
550
+ "name": "CoinSell",
551
+ "inputs": [
552
+ {
553
+ "name": "seller",
554
+ "type": "address",
555
+ "indexed": true,
556
+ "internalType": "address"
557
+ },
558
+ {
559
+ "name": "recipient",
560
+ "type": "address",
561
+ "indexed": true,
562
+ "internalType": "address"
563
+ },
564
+ {
565
+ "name": "tradeReferrer",
566
+ "type": "address",
567
+ "indexed": true,
568
+ "internalType": "address"
569
+ },
570
+ {
571
+ "name": "coinsSold",
572
+ "type": "uint256",
573
+ "indexed": false,
574
+ "internalType": "uint256"
575
+ },
576
+ {
577
+ "name": "currency",
578
+ "type": "address",
579
+ "indexed": false,
580
+ "internalType": "address"
581
+ },
582
+ {
583
+ "name": "amountFee",
584
+ "type": "uint256",
585
+ "indexed": false,
586
+ "internalType": "uint256"
587
+ },
588
+ {
589
+ "name": "amountPurchased",
590
+ "type": "uint256",
591
+ "indexed": false,
592
+ "internalType": "uint256"
593
+ }
594
+ ],
595
+ "anonymous": false
596
+ },
597
+ {
598
+ "type": "event",
599
+ "name": "CoinTradeRewards",
600
+ "inputs": [
601
+ {
602
+ "name": "payoutRecipient",
603
+ "type": "address",
604
+ "indexed": true,
605
+ "internalType": "address"
606
+ },
607
+ {
608
+ "name": "platformReferrer",
609
+ "type": "address",
610
+ "indexed": true,
611
+ "internalType": "address"
612
+ },
613
+ {
614
+ "name": "tradeReferrer",
615
+ "type": "address",
616
+ "indexed": true,
617
+ "internalType": "address"
618
+ },
619
+ {
620
+ "name": "protocolRewardRecipient",
621
+ "type": "address",
622
+ "indexed": false,
623
+ "internalType": "address"
624
+ },
625
+ {
626
+ "name": "creatorReward",
627
+ "type": "uint256",
628
+ "indexed": false,
629
+ "internalType": "uint256"
630
+ },
631
+ {
632
+ "name": "platformReferrerReward",
633
+ "type": "uint256",
634
+ "indexed": false,
635
+ "internalType": "uint256"
636
+ },
637
+ {
638
+ "name": "traderReferrerReward",
639
+ "type": "uint256",
640
+ "indexed": false,
641
+ "internalType": "uint256"
642
+ },
643
+ {
644
+ "name": "protocolReward",
645
+ "type": "uint256",
646
+ "indexed": false,
647
+ "internalType": "uint256"
648
+ },
649
+ {
650
+ "name": "currency",
651
+ "type": "address",
652
+ "indexed": false,
653
+ "internalType": "address"
654
+ }
655
+ ],
656
+ "anonymous": false
657
+ },
658
+ {
659
+ "type": "event",
660
+ "name": "CoinTransfer",
661
+ "inputs": [
662
+ {
663
+ "name": "sender",
664
+ "type": "address",
665
+ "indexed": true,
666
+ "internalType": "address"
667
+ },
668
+ {
669
+ "name": "recipient",
670
+ "type": "address",
671
+ "indexed": true,
672
+ "internalType": "address"
673
+ },
674
+ {
675
+ "name": "amount",
676
+ "type": "uint256",
677
+ "indexed": false,
678
+ "internalType": "uint256"
679
+ },
680
+ {
681
+ "name": "senderBalance",
682
+ "type": "uint256",
683
+ "indexed": false,
684
+ "internalType": "uint256"
685
+ },
686
+ {
687
+ "name": "recipientBalance",
688
+ "type": "uint256",
689
+ "indexed": false,
690
+ "internalType": "uint256"
691
+ }
692
+ ],
693
+ "anonymous": false
694
+ },
695
+ {
696
+ "type": "event",
697
+ "name": "ContractMetadataUpdated",
698
+ "inputs": [
699
+ {
700
+ "name": "caller",
701
+ "type": "address",
702
+ "indexed": true,
703
+ "internalType": "address"
704
+ },
705
+ {
706
+ "name": "newURI",
707
+ "type": "string",
708
+ "indexed": false,
709
+ "internalType": "string"
710
+ },
711
+ {
712
+ "name": "name",
713
+ "type": "string",
714
+ "indexed": false,
715
+ "internalType": "string"
716
+ }
717
+ ],
718
+ "anonymous": false
719
+ },
720
+ {
721
+ "type": "event",
722
+ "name": "ContractURIUpdated",
723
+ "inputs": [],
724
+ "anonymous": false
725
+ },
726
+ {
727
+ "type": "error",
728
+ "name": "AddressZero",
729
+ "inputs": []
730
+ },
731
+ {
732
+ "type": "error",
733
+ "name": "CannotMintZeroLiquidity",
734
+ "inputs": []
735
+ },
736
+ {
737
+ "type": "error",
738
+ "name": "DopplerPoolMustHaveMoreThan2DiscoveryPositions",
739
+ "inputs": []
740
+ },
741
+ {
742
+ "type": "error",
743
+ "name": "ERC20TransferAmountMismatch",
744
+ "inputs": []
745
+ },
746
+ {
747
+ "type": "error",
748
+ "name": "EthAmountMismatch",
749
+ "inputs": []
750
+ },
751
+ {
752
+ "type": "error",
753
+ "name": "EthAmountTooSmall",
754
+ "inputs": []
755
+ },
756
+ {
757
+ "type": "error",
758
+ "name": "EthTransferFailed",
759
+ "inputs": []
760
+ },
761
+ {
762
+ "type": "error",
763
+ "name": "EthTransferInvalid",
764
+ "inputs": []
765
+ },
766
+ {
767
+ "type": "error",
768
+ "name": "InitialOrderSizeTooLarge",
769
+ "inputs": []
770
+ },
771
+ {
772
+ "type": "error",
773
+ "name": "InsufficientFunds",
774
+ "inputs": []
775
+ },
776
+ {
777
+ "type": "error",
778
+ "name": "InsufficientLiquidity",
779
+ "inputs": []
780
+ },
781
+ {
782
+ "type": "error",
783
+ "name": "InvalidCurrencyLowerTick",
784
+ "inputs": []
785
+ },
786
+ {
787
+ "type": "error",
788
+ "name": "InvalidMarketType",
789
+ "inputs": []
790
+ },
791
+ {
792
+ "type": "error",
793
+ "name": "InvalidPoolVersion",
794
+ "inputs": []
795
+ },
796
+ {
797
+ "type": "error",
798
+ "name": "InvalidTickRangeMisordered",
799
+ "inputs": [
800
+ {
801
+ "name": "tickLower",
802
+ "type": "int24",
803
+ "internalType": "int24"
804
+ },
805
+ {
806
+ "name": "tickUpper",
807
+ "type": "int24",
808
+ "internalType": "int24"
809
+ }
810
+ ]
811
+ },
812
+ {
813
+ "type": "error",
814
+ "name": "InvalidWethLowerTick",
815
+ "inputs": []
816
+ },
817
+ {
818
+ "type": "error",
819
+ "name": "LegacyPoolMustHaveOneDiscoveryPosition",
820
+ "inputs": []
821
+ },
822
+ {
823
+ "type": "error",
824
+ "name": "MarketAlreadyGraduated",
825
+ "inputs": []
826
+ },
827
+ {
828
+ "type": "error",
829
+ "name": "MarketNotGraduated",
830
+ "inputs": []
831
+ },
832
+ {
833
+ "type": "error",
834
+ "name": "MaxShareToBeSoldExceeded",
835
+ "inputs": [
836
+ {
837
+ "name": "value",
838
+ "type": "uint256",
839
+ "internalType": "uint256"
840
+ },
841
+ {
842
+ "name": "limit",
843
+ "type": "uint256",
844
+ "internalType": "uint256"
845
+ }
846
+ ]
847
+ },
848
+ {
849
+ "type": "error",
850
+ "name": "NumDiscoveryPositionsOutOfRange",
851
+ "inputs": []
852
+ },
853
+ {
854
+ "type": "error",
855
+ "name": "OnlyPool",
856
+ "inputs": [
857
+ {
858
+ "name": "sender",
859
+ "type": "address",
860
+ "internalType": "address"
861
+ },
862
+ {
863
+ "name": "pool",
864
+ "type": "address",
865
+ "internalType": "address"
866
+ }
867
+ ]
868
+ },
869
+ {
870
+ "type": "error",
871
+ "name": "OnlyWeth",
872
+ "inputs": []
873
+ },
874
+ {
875
+ "type": "error",
876
+ "name": "SlippageBoundsExceeded",
877
+ "inputs": []
878
+ }
879
+ ]