@zoralabs/coins 2.0.0 → 2.1.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 (69) hide show
  1. package/.turbo/turbo-build.log +106 -110
  2. package/CHANGELOG.md +28 -0
  3. package/README.md +30 -109
  4. package/abis/BaseCoin.json +442 -0
  5. package/abis/CoinTest.json +3 -246
  6. package/abis/FactoryTest.json +5 -137
  7. package/abis/HooksTest.json +0 -26
  8. package/abis/ICoin.json +378 -0
  9. package/abis/ICoinV3.json +378 -0
  10. package/abis/IZoraFactory.json +0 -18
  11. package/abis/LiquidityMigrationTest.json +101 -0
  12. package/abis/MockBadFactory.json +15 -0
  13. package/abis/ZoraFactoryImpl.json +1 -67
  14. package/dist/index.cjs +236 -265
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.js +235 -264
  17. package/dist/index.js.map +1 -1
  18. package/dist/wagmiGenerated.d.ts +389 -493
  19. package/dist/wagmiGenerated.d.ts.map +1 -1
  20. package/package/wagmiGenerated.ts +240 -269
  21. package/package.json +3 -3
  22. package/script/DeployPostDeploymentHooks.s.sol +2 -2
  23. package/script/TestBackingCoinSwap.s.sol +8 -8
  24. package/script/TestV4Swap.s.sol +8 -8
  25. package/script/UpgradeFactoryImpl.s.sol +0 -1
  26. package/src/BaseCoin.sol +109 -6
  27. package/src/ContentCoin.sol +4 -4
  28. package/src/CreatorCoin.sol +5 -5
  29. package/src/ZoraFactoryImpl.sol +10 -93
  30. package/src/deployment/CoinsDeployerBase.sol +10 -27
  31. package/src/hooks/BaseZoraV4CoinHook.sol +5 -5
  32. package/src/hooks/deployment/BuySupplyWithSwapRouterHook.sol +4 -5
  33. package/src/interfaces/ICoin.sol +67 -1
  34. package/src/interfaces/ICreatorCoin.sol +2 -2
  35. package/src/interfaces/IZoraFactory.sol +0 -5
  36. package/src/libs/CoinConfigurationVersions.sol +1 -39
  37. package/src/libs/CoinRewardsV4.sol +2 -2
  38. package/src/libs/CoinSetup.sol +1 -4
  39. package/src/libs/UniV4SwapHelper.sol +1 -1
  40. package/src/libs/UniV4SwapToCurrency.sol +2 -2
  41. package/src/libs/V4Liquidity.sol +1 -1
  42. package/src/version/ContractVersionBase.sol +1 -1
  43. package/test/Coin.t.sol +112 -535
  44. package/test/CoinUniV4.t.sol +5 -5
  45. package/test/DeploymentHooks.t.sol +5 -102
  46. package/test/Factory.t.sol +23 -306
  47. package/test/LiquidityMigration.t.sol +160 -2
  48. package/test/MultiOwnable.t.sol +36 -36
  49. package/test/Upgrades.t.sol +16 -35
  50. package/test/utils/BaseTest.sol +16 -69
  51. package/test/utils/FeeEstimatorHook.sol +3 -3
  52. package/wagmi.config.ts +1 -1
  53. package/abis/BaseCoinV4.json +0 -1840
  54. package/abis/Coin.json +0 -1912
  55. package/abis/DopplerUniswapV3Test.json +0 -800
  56. package/abis/ICoinV4.json +0 -1048
  57. package/abis/Simulate.json +0 -29
  58. package/abis/UniV3BuySell.json +0 -12
  59. package/abis/UniV3Errors.json +0 -32
  60. package/script/Simulate.s.sol +0 -59
  61. package/src/BaseCoinV4.sol +0 -143
  62. package/src/Coin.sol +0 -236
  63. package/src/interfaces/ICoinV4.sol +0 -74
  64. package/src/libs/CoinDopplerUniV3.sol +0 -50
  65. package/src/libs/CoinRewards.sol +0 -201
  66. package/src/libs/CoinSetupV3.sol +0 -50
  67. package/src/libs/UniV3BuySell.sol +0 -231
  68. package/src/libs/UniV3Errors.sol +0 -11
  69. package/test/CoinDopplerUniV3.t.sol +0 -310
@@ -1,800 +0,0 @@
1
- [
2
- {
3
- "type": "function",
4
- "name": "IS_TEST",
5
- "inputs": [],
6
- "outputs": [
7
- {
8
- "name": "",
9
- "type": "bool",
10
- "internalType": "bool"
11
- }
12
- ],
13
- "stateMutability": "view"
14
- },
15
- {
16
- "type": "function",
17
- "name": "excludeArtifacts",
18
- "inputs": [],
19
- "outputs": [
20
- {
21
- "name": "excludedArtifacts_",
22
- "type": "string[]",
23
- "internalType": "string[]"
24
- }
25
- ],
26
- "stateMutability": "view"
27
- },
28
- {
29
- "type": "function",
30
- "name": "excludeContracts",
31
- "inputs": [],
32
- "outputs": [
33
- {
34
- "name": "excludedContracts_",
35
- "type": "address[]",
36
- "internalType": "address[]"
37
- }
38
- ],
39
- "stateMutability": "view"
40
- },
41
- {
42
- "type": "function",
43
- "name": "excludeSelectors",
44
- "inputs": [],
45
- "outputs": [
46
- {
47
- "name": "excludedSelectors_",
48
- "type": "tuple[]",
49
- "internalType": "struct StdInvariant.FuzzSelector[]",
50
- "components": [
51
- {
52
- "name": "addr",
53
- "type": "address",
54
- "internalType": "address"
55
- },
56
- {
57
- "name": "selectors",
58
- "type": "bytes4[]",
59
- "internalType": "bytes4[]"
60
- }
61
- ]
62
- }
63
- ],
64
- "stateMutability": "view"
65
- },
66
- {
67
- "type": "function",
68
- "name": "excludeSenders",
69
- "inputs": [],
70
- "outputs": [
71
- {
72
- "name": "excludedSenders_",
73
- "type": "address[]",
74
- "internalType": "address[]"
75
- }
76
- ],
77
- "stateMutability": "view"
78
- },
79
- {
80
- "type": "function",
81
- "name": "failed",
82
- "inputs": [],
83
- "outputs": [
84
- {
85
- "name": "",
86
- "type": "bool",
87
- "internalType": "bool"
88
- }
89
- ],
90
- "stateMutability": "view"
91
- },
92
- {
93
- "type": "function",
94
- "name": "getSalts",
95
- "inputs": [
96
- {
97
- "name": "trustedMessageSenders",
98
- "type": "address[]",
99
- "internalType": "address[]"
100
- }
101
- ],
102
- "outputs": [
103
- {
104
- "name": "contentCoinSalt",
105
- "type": "bytes32",
106
- "internalType": "bytes32"
107
- },
108
- {
109
- "name": "creatorCoinSalt",
110
- "type": "bytes32",
111
- "internalType": "bytes32"
112
- }
113
- ],
114
- "stateMutability": "nonpayable"
115
- },
116
- {
117
- "type": "function",
118
- "name": "setUp",
119
- "inputs": [],
120
- "outputs": [],
121
- "stateMutability": "nonpayable"
122
- },
123
- {
124
- "type": "function",
125
- "name": "setUpWithBlockNumber",
126
- "inputs": [
127
- {
128
- "name": "forkBlockNumber",
129
- "type": "uint256",
130
- "internalType": "uint256"
131
- }
132
- ],
133
- "outputs": [],
134
- "stateMutability": "nonpayable"
135
- },
136
- {
137
- "type": "function",
138
- "name": "targetArtifactSelectors",
139
- "inputs": [],
140
- "outputs": [
141
- {
142
- "name": "targetedArtifactSelectors_",
143
- "type": "tuple[]",
144
- "internalType": "struct StdInvariant.FuzzArtifactSelector[]",
145
- "components": [
146
- {
147
- "name": "artifact",
148
- "type": "string",
149
- "internalType": "string"
150
- },
151
- {
152
- "name": "selectors",
153
- "type": "bytes4[]",
154
- "internalType": "bytes4[]"
155
- }
156
- ]
157
- }
158
- ],
159
- "stateMutability": "view"
160
- },
161
- {
162
- "type": "function",
163
- "name": "targetArtifacts",
164
- "inputs": [],
165
- "outputs": [
166
- {
167
- "name": "targetedArtifacts_",
168
- "type": "string[]",
169
- "internalType": "string[]"
170
- }
171
- ],
172
- "stateMutability": "view"
173
- },
174
- {
175
- "type": "function",
176
- "name": "targetContracts",
177
- "inputs": [],
178
- "outputs": [
179
- {
180
- "name": "targetedContracts_",
181
- "type": "address[]",
182
- "internalType": "address[]"
183
- }
184
- ],
185
- "stateMutability": "view"
186
- },
187
- {
188
- "type": "function",
189
- "name": "targetInterfaces",
190
- "inputs": [],
191
- "outputs": [
192
- {
193
- "name": "targetedInterfaces_",
194
- "type": "tuple[]",
195
- "internalType": "struct StdInvariant.FuzzInterface[]",
196
- "components": [
197
- {
198
- "name": "addr",
199
- "type": "address",
200
- "internalType": "address"
201
- },
202
- {
203
- "name": "artifacts",
204
- "type": "string[]",
205
- "internalType": "string[]"
206
- }
207
- ]
208
- }
209
- ],
210
- "stateMutability": "view"
211
- },
212
- {
213
- "type": "function",
214
- "name": "targetSelectors",
215
- "inputs": [],
216
- "outputs": [
217
- {
218
- "name": "targetedSelectors_",
219
- "type": "tuple[]",
220
- "internalType": "struct StdInvariant.FuzzSelector[]",
221
- "components": [
222
- {
223
- "name": "addr",
224
- "type": "address",
225
- "internalType": "address"
226
- },
227
- {
228
- "name": "selectors",
229
- "type": "bytes4[]",
230
- "internalType": "bytes4[]"
231
- }
232
- ]
233
- }
234
- ],
235
- "stateMutability": "view"
236
- },
237
- {
238
- "type": "function",
239
- "name": "targetSenders",
240
- "inputs": [],
241
- "outputs": [
242
- {
243
- "name": "targetedSenders_",
244
- "type": "address[]",
245
- "internalType": "address[]"
246
- }
247
- ],
248
- "stateMutability": "view"
249
- },
250
- {
251
- "type": "function",
252
- "name": "test_alignTick_isToken0_negative",
253
- "inputs": [],
254
- "outputs": [],
255
- "stateMutability": "pure"
256
- },
257
- {
258
- "type": "function",
259
- "name": "test_alignTick_isToken0_positive",
260
- "inputs": [],
261
- "outputs": [],
262
- "stateMutability": "pure"
263
- },
264
- {
265
- "type": "function",
266
- "name": "test_alignTick_isToken0_zero",
267
- "inputs": [],
268
- "outputs": [],
269
- "stateMutability": "pure"
270
- },
271
- {
272
- "type": "function",
273
- "name": "test_alignTick_isToken1_negative",
274
- "inputs": [],
275
- "outputs": [],
276
- "stateMutability": "pure"
277
- },
278
- {
279
- "type": "function",
280
- "name": "test_alignTick_isToken1_positive",
281
- "inputs": [],
282
- "outputs": [],
283
- "stateMutability": "pure"
284
- },
285
- {
286
- "type": "function",
287
- "name": "test_alignTick_isToken1_zero",
288
- "inputs": [],
289
- "outputs": [],
290
- "stateMutability": "pure"
291
- },
292
- {
293
- "type": "function",
294
- "name": "test_calculateLogNormalDistribution_isToken0",
295
- "inputs": [],
296
- "outputs": [],
297
- "stateMutability": "pure"
298
- },
299
- {
300
- "type": "function",
301
- "name": "test_calculateLogNormalDistribution_isToken1",
302
- "inputs": [],
303
- "outputs": [],
304
- "stateMutability": "pure"
305
- },
306
- {
307
- "type": "function",
308
- "name": "test_calculateLogNormalDistribution_startingTickEqualsFarTick",
309
- "inputs": [],
310
- "outputs": [],
311
- "stateMutability": "pure"
312
- },
313
- {
314
- "type": "function",
315
- "name": "test_calculateLogNormalDistribution_zeroDiscoverySupply",
316
- "inputs": [],
317
- "outputs": [],
318
- "stateMutability": "pure"
319
- },
320
- {
321
- "type": "function",
322
- "name": "test_calculateLpTail_isToken0",
323
- "inputs": [],
324
- "outputs": [],
325
- "stateMutability": "pure"
326
- },
327
- {
328
- "type": "function",
329
- "name": "test_calculateLpTail_isToken1",
330
- "inputs": [],
331
- "outputs": [],
332
- "stateMutability": "pure"
333
- },
334
- {
335
- "type": "function",
336
- "name": "test_deploy_doppler_eth_with_prebuy",
337
- "inputs": [
338
- {
339
- "name": "initialOrderSize",
340
- "type": "uint256",
341
- "internalType": "uint256"
342
- }
343
- ],
344
- "outputs": [],
345
- "stateMutability": "nonpayable"
346
- },
347
- {
348
- "type": "function",
349
- "name": "test_invalid_pool_config",
350
- "inputs": [],
351
- "outputs": [],
352
- "stateMutability": "nonpayable"
353
- },
354
- {
355
- "type": "function",
356
- "name": "test_revert_deploy_invalid_discovery_supply_share",
357
- "inputs": [],
358
- "outputs": [],
359
- "stateMutability": "nonpayable"
360
- },
361
- {
362
- "type": "function",
363
- "name": "test_supply_constants",
364
- "inputs": [],
365
- "outputs": [],
366
- "stateMutability": "nonpayable"
367
- },
368
- {
369
- "type": "event",
370
- "name": "log",
371
- "inputs": [
372
- {
373
- "name": "",
374
- "type": "string",
375
- "indexed": false,
376
- "internalType": "string"
377
- }
378
- ],
379
- "anonymous": false
380
- },
381
- {
382
- "type": "event",
383
- "name": "log_address",
384
- "inputs": [
385
- {
386
- "name": "",
387
- "type": "address",
388
- "indexed": false,
389
- "internalType": "address"
390
- }
391
- ],
392
- "anonymous": false
393
- },
394
- {
395
- "type": "event",
396
- "name": "log_array",
397
- "inputs": [
398
- {
399
- "name": "val",
400
- "type": "uint256[]",
401
- "indexed": false,
402
- "internalType": "uint256[]"
403
- }
404
- ],
405
- "anonymous": false
406
- },
407
- {
408
- "type": "event",
409
- "name": "log_array",
410
- "inputs": [
411
- {
412
- "name": "val",
413
- "type": "int256[]",
414
- "indexed": false,
415
- "internalType": "int256[]"
416
- }
417
- ],
418
- "anonymous": false
419
- },
420
- {
421
- "type": "event",
422
- "name": "log_array",
423
- "inputs": [
424
- {
425
- "name": "val",
426
- "type": "address[]",
427
- "indexed": false,
428
- "internalType": "address[]"
429
- }
430
- ],
431
- "anonymous": false
432
- },
433
- {
434
- "type": "event",
435
- "name": "log_bytes",
436
- "inputs": [
437
- {
438
- "name": "",
439
- "type": "bytes",
440
- "indexed": false,
441
- "internalType": "bytes"
442
- }
443
- ],
444
- "anonymous": false
445
- },
446
- {
447
- "type": "event",
448
- "name": "log_bytes32",
449
- "inputs": [
450
- {
451
- "name": "",
452
- "type": "bytes32",
453
- "indexed": false,
454
- "internalType": "bytes32"
455
- }
456
- ],
457
- "anonymous": false
458
- },
459
- {
460
- "type": "event",
461
- "name": "log_int",
462
- "inputs": [
463
- {
464
- "name": "",
465
- "type": "int256",
466
- "indexed": false,
467
- "internalType": "int256"
468
- }
469
- ],
470
- "anonymous": false
471
- },
472
- {
473
- "type": "event",
474
- "name": "log_named_address",
475
- "inputs": [
476
- {
477
- "name": "key",
478
- "type": "string",
479
- "indexed": false,
480
- "internalType": "string"
481
- },
482
- {
483
- "name": "val",
484
- "type": "address",
485
- "indexed": false,
486
- "internalType": "address"
487
- }
488
- ],
489
- "anonymous": false
490
- },
491
- {
492
- "type": "event",
493
- "name": "log_named_array",
494
- "inputs": [
495
- {
496
- "name": "key",
497
- "type": "string",
498
- "indexed": false,
499
- "internalType": "string"
500
- },
501
- {
502
- "name": "val",
503
- "type": "uint256[]",
504
- "indexed": false,
505
- "internalType": "uint256[]"
506
- }
507
- ],
508
- "anonymous": false
509
- },
510
- {
511
- "type": "event",
512
- "name": "log_named_array",
513
- "inputs": [
514
- {
515
- "name": "key",
516
- "type": "string",
517
- "indexed": false,
518
- "internalType": "string"
519
- },
520
- {
521
- "name": "val",
522
- "type": "int256[]",
523
- "indexed": false,
524
- "internalType": "int256[]"
525
- }
526
- ],
527
- "anonymous": false
528
- },
529
- {
530
- "type": "event",
531
- "name": "log_named_array",
532
- "inputs": [
533
- {
534
- "name": "key",
535
- "type": "string",
536
- "indexed": false,
537
- "internalType": "string"
538
- },
539
- {
540
- "name": "val",
541
- "type": "address[]",
542
- "indexed": false,
543
- "internalType": "address[]"
544
- }
545
- ],
546
- "anonymous": false
547
- },
548
- {
549
- "type": "event",
550
- "name": "log_named_bytes",
551
- "inputs": [
552
- {
553
- "name": "key",
554
- "type": "string",
555
- "indexed": false,
556
- "internalType": "string"
557
- },
558
- {
559
- "name": "val",
560
- "type": "bytes",
561
- "indexed": false,
562
- "internalType": "bytes"
563
- }
564
- ],
565
- "anonymous": false
566
- },
567
- {
568
- "type": "event",
569
- "name": "log_named_bytes32",
570
- "inputs": [
571
- {
572
- "name": "key",
573
- "type": "string",
574
- "indexed": false,
575
- "internalType": "string"
576
- },
577
- {
578
- "name": "val",
579
- "type": "bytes32",
580
- "indexed": false,
581
- "internalType": "bytes32"
582
- }
583
- ],
584
- "anonymous": false
585
- },
586
- {
587
- "type": "event",
588
- "name": "log_named_decimal_int",
589
- "inputs": [
590
- {
591
- "name": "key",
592
- "type": "string",
593
- "indexed": false,
594
- "internalType": "string"
595
- },
596
- {
597
- "name": "val",
598
- "type": "int256",
599
- "indexed": false,
600
- "internalType": "int256"
601
- },
602
- {
603
- "name": "decimals",
604
- "type": "uint256",
605
- "indexed": false,
606
- "internalType": "uint256"
607
- }
608
- ],
609
- "anonymous": false
610
- },
611
- {
612
- "type": "event",
613
- "name": "log_named_decimal_uint",
614
- "inputs": [
615
- {
616
- "name": "key",
617
- "type": "string",
618
- "indexed": false,
619
- "internalType": "string"
620
- },
621
- {
622
- "name": "val",
623
- "type": "uint256",
624
- "indexed": false,
625
- "internalType": "uint256"
626
- },
627
- {
628
- "name": "decimals",
629
- "type": "uint256",
630
- "indexed": false,
631
- "internalType": "uint256"
632
- }
633
- ],
634
- "anonymous": false
635
- },
636
- {
637
- "type": "event",
638
- "name": "log_named_int",
639
- "inputs": [
640
- {
641
- "name": "key",
642
- "type": "string",
643
- "indexed": false,
644
- "internalType": "string"
645
- },
646
- {
647
- "name": "val",
648
- "type": "int256",
649
- "indexed": false,
650
- "internalType": "int256"
651
- }
652
- ],
653
- "anonymous": false
654
- },
655
- {
656
- "type": "event",
657
- "name": "log_named_string",
658
- "inputs": [
659
- {
660
- "name": "key",
661
- "type": "string",
662
- "indexed": false,
663
- "internalType": "string"
664
- },
665
- {
666
- "name": "val",
667
- "type": "string",
668
- "indexed": false,
669
- "internalType": "string"
670
- }
671
- ],
672
- "anonymous": false
673
- },
674
- {
675
- "type": "event",
676
- "name": "log_named_uint",
677
- "inputs": [
678
- {
679
- "name": "key",
680
- "type": "string",
681
- "indexed": false,
682
- "internalType": "string"
683
- },
684
- {
685
- "name": "val",
686
- "type": "uint256",
687
- "indexed": false,
688
- "internalType": "uint256"
689
- }
690
- ],
691
- "anonymous": false
692
- },
693
- {
694
- "type": "event",
695
- "name": "log_string",
696
- "inputs": [
697
- {
698
- "name": "",
699
- "type": "string",
700
- "indexed": false,
701
- "internalType": "string"
702
- }
703
- ],
704
- "anonymous": false
705
- },
706
- {
707
- "type": "event",
708
- "name": "log_uint",
709
- "inputs": [
710
- {
711
- "name": "",
712
- "type": "uint256",
713
- "indexed": false,
714
- "internalType": "uint256"
715
- }
716
- ],
717
- "anonymous": false
718
- },
719
- {
720
- "type": "event",
721
- "name": "logs",
722
- "inputs": [
723
- {
724
- "name": "",
725
- "type": "bytes",
726
- "indexed": false,
727
- "internalType": "bytes"
728
- }
729
- ],
730
- "anonymous": false
731
- },
732
- {
733
- "type": "error",
734
- "name": "CannotMintZeroLiquidity",
735
- "inputs": []
736
- },
737
- {
738
- "type": "error",
739
- "name": "Create2EmptyBytecode",
740
- "inputs": []
741
- },
742
- {
743
- "type": "error",
744
- "name": "Create2FailedDeployment",
745
- "inputs": []
746
- },
747
- {
748
- "type": "error",
749
- "name": "Create2InsufficientBalance",
750
- "inputs": [
751
- {
752
- "name": "balance",
753
- "type": "uint256",
754
- "internalType": "uint256"
755
- },
756
- {
757
- "name": "needed",
758
- "type": "uint256",
759
- "internalType": "uint256"
760
- }
761
- ]
762
- },
763
- {
764
- "type": "error",
765
- "name": "HookNotDeployed",
766
- "inputs": []
767
- },
768
- {
769
- "type": "error",
770
- "name": "InvalidHookAddress",
771
- "inputs": [
772
- {
773
- "name": "expected",
774
- "type": "address",
775
- "internalType": "address"
776
- },
777
- {
778
- "name": "actual",
779
- "type": "address",
780
- "internalType": "address"
781
- }
782
- ]
783
- },
784
- {
785
- "type": "error",
786
- "name": "InvalidTickRangeMisordered",
787
- "inputs": [
788
- {
789
- "name": "tickLower",
790
- "type": "int24",
791
- "internalType": "int24"
792
- },
793
- {
794
- "name": "tickUpper",
795
- "type": "int24",
796
- "internalType": "int24"
797
- }
798
- ]
799
- }
800
- ]