@zoralabs/coins 2.1.2 → 2.2.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 (97) hide show
  1. package/.turbo/turbo-build$colon$js.log +152 -0
  2. package/CHANGELOG.md +54 -0
  3. package/abis/BaseCoin.json +26 -0
  4. package/abis/BaseTest.json +2 -7
  5. package/abis/CoinConstants.json +0 -104
  6. package/abis/ContentCoin.json +26 -0
  7. package/abis/CreatorCoin.json +30 -4
  8. package/abis/FeeEstimatorHook.json +0 -5
  9. package/abis/ICoin.json +26 -0
  10. package/abis/ICoinV3.json +26 -0
  11. package/abis/ICreatorCoin.json +39 -0
  12. package/abis/IERC721.json +36 -36
  13. package/abis/IHasCoinType.json +15 -0
  14. package/abis/IHasTotalSupplyForPositions.json +15 -0
  15. package/abis/IZoraFactory.json +52 -0
  16. package/abis/IZoraHookRegistry.json +188 -0
  17. package/abis/VmContractHelper227.json +233 -0
  18. package/abis/ZoraFactoryImpl.json +32 -6
  19. package/abis/ZoraHookRegistry.json +375 -0
  20. package/abis/{CreatorCoinHook.json → ZoraV4CoinHook.json} +1 -1
  21. package/addresses/8453.json +2 -1
  22. package/dist/index.cjs +72 -10
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.js +72 -10
  25. package/dist/index.js.map +1 -1
  26. package/dist/wagmiGenerated.d.ts +90 -10
  27. package/dist/wagmiGenerated.d.ts.map +1 -1
  28. package/foundry.toml +4 -1
  29. package/package/wagmiGenerated.ts +72 -10
  30. package/package.json +6 -4
  31. package/script/PrintRegisterUpgradePath.s.sol +0 -7
  32. package/script/TestBackingCoinSwap.s.sol +0 -1
  33. package/script/TestV4Swap.s.sol +0 -1
  34. package/script/UpgradeFactoryImpl.s.sol +1 -1
  35. package/src/BaseCoin.sol +15 -12
  36. package/src/ContentCoin.sol +10 -0
  37. package/src/CreatorCoin.sol +28 -7
  38. package/src/ZoraFactoryImpl.sol +62 -23
  39. package/src/deployment/CoinsDeployerBase.sol +24 -58
  40. package/src/hook-registry/ZoraHookRegistry.sol +93 -0
  41. package/src/hooks/{BaseZoraV4CoinHook.sol → ZoraV4CoinHook.sol} +13 -8
  42. package/src/interfaces/ICoin.sol +19 -1
  43. package/src/interfaces/ICreatorCoin.sol +4 -0
  44. package/src/interfaces/IZoraFactory.sol +32 -10
  45. package/src/interfaces/IZoraHookRegistry.sol +47 -0
  46. package/src/libs/CoinConstants.sol +0 -32
  47. package/src/libs/CoinRewardsV4.sol +53 -15
  48. package/src/libs/CreatorCoinConstants.sol +0 -1
  49. package/src/libs/HooksDeployment.sol +13 -65
  50. package/src/libs/MarketConstants.sol +11 -3
  51. package/src/libs/V4Liquidity.sol +30 -0
  52. package/src/version/ContractVersionBase.sol +1 -1
  53. package/test/CoinUniV4.t.sol +33 -30
  54. package/test/ContentCoinRewards.t.sol +320 -0
  55. package/test/CreatorCoin.t.sol +1 -1
  56. package/test/CreatorCoinRewards.t.sol +375 -0
  57. package/test/DeploymentHooks.t.sol +10 -10
  58. package/test/Factory.t.sol +24 -7
  59. package/test/HooksDeployment.t.sol +4 -4
  60. package/test/LiquidityMigration.t.sol +4 -9
  61. package/test/Upgrades.t.sol +44 -48
  62. package/test/ZoraHookRegistry.t.sol +266 -0
  63. package/test/utils/BaseTest.sol +25 -42
  64. package/test/utils/FeeEstimatorHook.sol +4 -6
  65. package/test/utils/RewardTestHelpers.sol +106 -0
  66. package/.turbo/turbo-build.log +0 -199
  67. package/abis/AutoSwapperTest.json +0 -618
  68. package/abis/BadImpl.json +0 -15
  69. package/abis/BaseZoraV4CoinHook.json +0 -1664
  70. package/abis/CoinTest.json +0 -819
  71. package/abis/CoinUniV4Test.json +0 -1128
  72. package/abis/ContentCoinHook.json +0 -1733
  73. package/abis/CreatorCoinTest.json +0 -887
  74. package/abis/Deploy.json +0 -9
  75. package/abis/DeployHooks.json +0 -9
  76. package/abis/DeployScript.json +0 -35
  77. package/abis/DeployedCoinVersionLookupTest.json +0 -740
  78. package/abis/DifferentNamespaceVersionLookup.json +0 -39
  79. package/abis/FactoryTest.json +0 -748
  80. package/abis/FakeHookNoInterface.json +0 -21
  81. package/abis/GenerateDeterministicParams.json +0 -9
  82. package/abis/HooksDeploymentTest.json +0 -645
  83. package/abis/HooksTest.json +0 -709
  84. package/abis/InvalidLiquidityMigrationReceiver.json +0 -21
  85. package/abis/LiquidityMigrationReceiver.json +0 -103
  86. package/abis/LiquidityMigrationTest.json +0 -889
  87. package/abis/MockBadFactory.json +0 -15
  88. package/abis/MultiOwnableTest.json +0 -766
  89. package/abis/PrintUpgradeCommand.json +0 -9
  90. package/abis/TestDeployedCoinVersionLookupImplementation.json +0 -39
  91. package/abis/TestV4Swap.json +0 -9
  92. package/abis/UpgradeFactoryImpl.json +0 -9
  93. package/abis/UpgradeHooks.json +0 -35
  94. package/abis/UpgradesTest.json +0 -723
  95. package/src/hooks/ContentCoinHook.sol +0 -27
  96. package/src/hooks/CreatorCoinHook.sol +0 -27
  97. package/src/libs/CreatorCoinRewards.sol +0 -34
@@ -1,766 +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_add_owner",
253
- "inputs": [],
254
- "outputs": [],
255
- "stateMutability": "nonpayable"
256
- },
257
- {
258
- "type": "function",
259
- "name": "test_add_owners",
260
- "inputs": [],
261
- "outputs": [],
262
- "stateMutability": "nonpayable"
263
- },
264
- {
265
- "type": "function",
266
- "name": "test_initial_owners",
267
- "inputs": [],
268
- "outputs": [],
269
- "stateMutability": "view"
270
- },
271
- {
272
- "type": "function",
273
- "name": "test_remove_owner",
274
- "inputs": [],
275
- "outputs": [],
276
- "stateMutability": "nonpayable"
277
- },
278
- {
279
- "type": "function",
280
- "name": "test_remove_owners",
281
- "inputs": [],
282
- "outputs": [],
283
- "stateMutability": "nonpayable"
284
- },
285
- {
286
- "type": "function",
287
- "name": "test_revert_add_owners_with_duplicate",
288
- "inputs": [],
289
- "outputs": [],
290
- "stateMutability": "nonpayable"
291
- },
292
- {
293
- "type": "function",
294
- "name": "test_revert_add_owners_with_zero_address",
295
- "inputs": [],
296
- "outputs": [],
297
- "stateMutability": "nonpayable"
298
- },
299
- {
300
- "type": "function",
301
- "name": "test_revert_cannot_remove_not_owner",
302
- "inputs": [],
303
- "outputs": [],
304
- "stateMutability": "nonpayable"
305
- },
306
- {
307
- "type": "function",
308
- "name": "test_revert_init_with_duplicate_owner",
309
- "inputs": [],
310
- "outputs": [],
311
- "stateMutability": "nonpayable"
312
- },
313
- {
314
- "type": "function",
315
- "name": "test_revert_init_with_zero_address",
316
- "inputs": [],
317
- "outputs": [],
318
- "stateMutability": "nonpayable"
319
- },
320
- {
321
- "type": "function",
322
- "name": "test_revert_init_with_zero_owners",
323
- "inputs": [],
324
- "outputs": [],
325
- "stateMutability": "nonpayable"
326
- },
327
- {
328
- "type": "function",
329
- "name": "test_revert_last_owner_must_revoke",
330
- "inputs": [],
331
- "outputs": [],
332
- "stateMutability": "nonpayable"
333
- },
334
- {
335
- "type": "function",
336
- "name": "test_revert_only_owner_can_add",
337
- "inputs": [],
338
- "outputs": [],
339
- "stateMutability": "nonpayable"
340
- },
341
- {
342
- "type": "function",
343
- "name": "test_revert_only_owner_can_remove",
344
- "inputs": [],
345
- "outputs": [],
346
- "stateMutability": "nonpayable"
347
- },
348
- {
349
- "type": "function",
350
- "name": "test_revoke_ownership",
351
- "inputs": [],
352
- "outputs": [],
353
- "stateMutability": "nonpayable"
354
- },
355
- {
356
- "type": "event",
357
- "name": "log",
358
- "inputs": [
359
- {
360
- "name": "",
361
- "type": "string",
362
- "indexed": false,
363
- "internalType": "string"
364
- }
365
- ],
366
- "anonymous": false
367
- },
368
- {
369
- "type": "event",
370
- "name": "log_address",
371
- "inputs": [
372
- {
373
- "name": "",
374
- "type": "address",
375
- "indexed": false,
376
- "internalType": "address"
377
- }
378
- ],
379
- "anonymous": false
380
- },
381
- {
382
- "type": "event",
383
- "name": "log_array",
384
- "inputs": [
385
- {
386
- "name": "val",
387
- "type": "uint256[]",
388
- "indexed": false,
389
- "internalType": "uint256[]"
390
- }
391
- ],
392
- "anonymous": false
393
- },
394
- {
395
- "type": "event",
396
- "name": "log_array",
397
- "inputs": [
398
- {
399
- "name": "val",
400
- "type": "int256[]",
401
- "indexed": false,
402
- "internalType": "int256[]"
403
- }
404
- ],
405
- "anonymous": false
406
- },
407
- {
408
- "type": "event",
409
- "name": "log_array",
410
- "inputs": [
411
- {
412
- "name": "val",
413
- "type": "address[]",
414
- "indexed": false,
415
- "internalType": "address[]"
416
- }
417
- ],
418
- "anonymous": false
419
- },
420
- {
421
- "type": "event",
422
- "name": "log_bytes",
423
- "inputs": [
424
- {
425
- "name": "",
426
- "type": "bytes",
427
- "indexed": false,
428
- "internalType": "bytes"
429
- }
430
- ],
431
- "anonymous": false
432
- },
433
- {
434
- "type": "event",
435
- "name": "log_bytes32",
436
- "inputs": [
437
- {
438
- "name": "",
439
- "type": "bytes32",
440
- "indexed": false,
441
- "internalType": "bytes32"
442
- }
443
- ],
444
- "anonymous": false
445
- },
446
- {
447
- "type": "event",
448
- "name": "log_int",
449
- "inputs": [
450
- {
451
- "name": "",
452
- "type": "int256",
453
- "indexed": false,
454
- "internalType": "int256"
455
- }
456
- ],
457
- "anonymous": false
458
- },
459
- {
460
- "type": "event",
461
- "name": "log_named_address",
462
- "inputs": [
463
- {
464
- "name": "key",
465
- "type": "string",
466
- "indexed": false,
467
- "internalType": "string"
468
- },
469
- {
470
- "name": "val",
471
- "type": "address",
472
- "indexed": false,
473
- "internalType": "address"
474
- }
475
- ],
476
- "anonymous": false
477
- },
478
- {
479
- "type": "event",
480
- "name": "log_named_array",
481
- "inputs": [
482
- {
483
- "name": "key",
484
- "type": "string",
485
- "indexed": false,
486
- "internalType": "string"
487
- },
488
- {
489
- "name": "val",
490
- "type": "uint256[]",
491
- "indexed": false,
492
- "internalType": "uint256[]"
493
- }
494
- ],
495
- "anonymous": false
496
- },
497
- {
498
- "type": "event",
499
- "name": "log_named_array",
500
- "inputs": [
501
- {
502
- "name": "key",
503
- "type": "string",
504
- "indexed": false,
505
- "internalType": "string"
506
- },
507
- {
508
- "name": "val",
509
- "type": "int256[]",
510
- "indexed": false,
511
- "internalType": "int256[]"
512
- }
513
- ],
514
- "anonymous": false
515
- },
516
- {
517
- "type": "event",
518
- "name": "log_named_array",
519
- "inputs": [
520
- {
521
- "name": "key",
522
- "type": "string",
523
- "indexed": false,
524
- "internalType": "string"
525
- },
526
- {
527
- "name": "val",
528
- "type": "address[]",
529
- "indexed": false,
530
- "internalType": "address[]"
531
- }
532
- ],
533
- "anonymous": false
534
- },
535
- {
536
- "type": "event",
537
- "name": "log_named_bytes",
538
- "inputs": [
539
- {
540
- "name": "key",
541
- "type": "string",
542
- "indexed": false,
543
- "internalType": "string"
544
- },
545
- {
546
- "name": "val",
547
- "type": "bytes",
548
- "indexed": false,
549
- "internalType": "bytes"
550
- }
551
- ],
552
- "anonymous": false
553
- },
554
- {
555
- "type": "event",
556
- "name": "log_named_bytes32",
557
- "inputs": [
558
- {
559
- "name": "key",
560
- "type": "string",
561
- "indexed": false,
562
- "internalType": "string"
563
- },
564
- {
565
- "name": "val",
566
- "type": "bytes32",
567
- "indexed": false,
568
- "internalType": "bytes32"
569
- }
570
- ],
571
- "anonymous": false
572
- },
573
- {
574
- "type": "event",
575
- "name": "log_named_decimal_int",
576
- "inputs": [
577
- {
578
- "name": "key",
579
- "type": "string",
580
- "indexed": false,
581
- "internalType": "string"
582
- },
583
- {
584
- "name": "val",
585
- "type": "int256",
586
- "indexed": false,
587
- "internalType": "int256"
588
- },
589
- {
590
- "name": "decimals",
591
- "type": "uint256",
592
- "indexed": false,
593
- "internalType": "uint256"
594
- }
595
- ],
596
- "anonymous": false
597
- },
598
- {
599
- "type": "event",
600
- "name": "log_named_decimal_uint",
601
- "inputs": [
602
- {
603
- "name": "key",
604
- "type": "string",
605
- "indexed": false,
606
- "internalType": "string"
607
- },
608
- {
609
- "name": "val",
610
- "type": "uint256",
611
- "indexed": false,
612
- "internalType": "uint256"
613
- },
614
- {
615
- "name": "decimals",
616
- "type": "uint256",
617
- "indexed": false,
618
- "internalType": "uint256"
619
- }
620
- ],
621
- "anonymous": false
622
- },
623
- {
624
- "type": "event",
625
- "name": "log_named_int",
626
- "inputs": [
627
- {
628
- "name": "key",
629
- "type": "string",
630
- "indexed": false,
631
- "internalType": "string"
632
- },
633
- {
634
- "name": "val",
635
- "type": "int256",
636
- "indexed": false,
637
- "internalType": "int256"
638
- }
639
- ],
640
- "anonymous": false
641
- },
642
- {
643
- "type": "event",
644
- "name": "log_named_string",
645
- "inputs": [
646
- {
647
- "name": "key",
648
- "type": "string",
649
- "indexed": false,
650
- "internalType": "string"
651
- },
652
- {
653
- "name": "val",
654
- "type": "string",
655
- "indexed": false,
656
- "internalType": "string"
657
- }
658
- ],
659
- "anonymous": false
660
- },
661
- {
662
- "type": "event",
663
- "name": "log_named_uint",
664
- "inputs": [
665
- {
666
- "name": "key",
667
- "type": "string",
668
- "indexed": false,
669
- "internalType": "string"
670
- },
671
- {
672
- "name": "val",
673
- "type": "uint256",
674
- "indexed": false,
675
- "internalType": "uint256"
676
- }
677
- ],
678
- "anonymous": false
679
- },
680
- {
681
- "type": "event",
682
- "name": "log_string",
683
- "inputs": [
684
- {
685
- "name": "",
686
- "type": "string",
687
- "indexed": false,
688
- "internalType": "string"
689
- }
690
- ],
691
- "anonymous": false
692
- },
693
- {
694
- "type": "event",
695
- "name": "log_uint",
696
- "inputs": [
697
- {
698
- "name": "",
699
- "type": "uint256",
700
- "indexed": false,
701
- "internalType": "uint256"
702
- }
703
- ],
704
- "anonymous": false
705
- },
706
- {
707
- "type": "event",
708
- "name": "logs",
709
- "inputs": [
710
- {
711
- "name": "",
712
- "type": "bytes",
713
- "indexed": false,
714
- "internalType": "bytes"
715
- }
716
- ],
717
- "anonymous": false
718
- },
719
- {
720
- "type": "error",
721
- "name": "Create2EmptyBytecode",
722
- "inputs": []
723
- },
724
- {
725
- "type": "error",
726
- "name": "Create2FailedDeployment",
727
- "inputs": []
728
- },
729
- {
730
- "type": "error",
731
- "name": "Create2InsufficientBalance",
732
- "inputs": [
733
- {
734
- "name": "balance",
735
- "type": "uint256",
736
- "internalType": "uint256"
737
- },
738
- {
739
- "name": "needed",
740
- "type": "uint256",
741
- "internalType": "uint256"
742
- }
743
- ]
744
- },
745
- {
746
- "type": "error",
747
- "name": "HookNotDeployed",
748
- "inputs": []
749
- },
750
- {
751
- "type": "error",
752
- "name": "InvalidHookAddress",
753
- "inputs": [
754
- {
755
- "name": "expected",
756
- "type": "address",
757
- "internalType": "address"
758
- },
759
- {
760
- "name": "actual",
761
- "type": "address",
762
- "internalType": "address"
763
- }
764
- ]
765
- }
766
- ]