@zoralabs/coins 2.1.2 → 2.3.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 (107) hide show
  1. package/.turbo/turbo-build$colon$js.log +152 -0
  2. package/CHANGELOG.md +93 -0
  3. package/README.md +4 -0
  4. package/abis/BaseCoin.json +26 -5
  5. package/abis/BaseTest.json +2 -7
  6. package/abis/ContentCoin.json +26 -5
  7. package/abis/CreatorCoin.json +30 -9
  8. package/abis/FeeEstimatorHook.json +94 -6
  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/{LiquidityMigrationReceiver.json → IUpgradeableDestinationV4HookWithUpdateableFee.json} +10 -18
  16. package/abis/IZoraFactory.json +121 -0
  17. package/abis/IZoraHookRegistry.json +188 -0
  18. package/abis/VmContractHelper226.json +233 -0
  19. package/abis/ZoraFactoryImpl.json +101 -6
  20. package/abis/ZoraHookRegistry.json +375 -0
  21. package/abis/{CreatorCoinHook.json → ZoraV4CoinHook.json} +95 -2
  22. package/addresses/8453.json +6 -5
  23. package/audits/report-cantinacode-zora-0827.pdf +3498 -4
  24. package/dist/index.cjs +93 -13
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.js +93 -13
  27. package/dist/index.js.map +1 -1
  28. package/dist/wagmiGenerated.d.ts +144 -22
  29. package/dist/wagmiGenerated.d.ts.map +1 -1
  30. package/foundry.toml +4 -1
  31. package/package/wagmiGenerated.ts +93 -13
  32. package/package.json +6 -4
  33. package/script/PrintRegisterUpgradePath.s.sol +0 -7
  34. package/script/TestBackingCoinSwap.s.sol +0 -3
  35. package/script/TestV4Swap.s.sol +0 -3
  36. package/script/UpgradeFactoryImpl.s.sol +1 -1
  37. package/src/BaseCoin.sol +19 -24
  38. package/src/ContentCoin.sol +11 -2
  39. package/src/CreatorCoin.sol +34 -15
  40. package/src/ZoraFactoryImpl.sol +163 -92
  41. package/src/deployment/CoinsDeployerBase.sol +24 -58
  42. package/src/hook-registry/ZoraHookRegistry.sol +97 -0
  43. package/src/hooks/{BaseZoraV4CoinHook.sol → ZoraV4CoinHook.sol} +77 -15
  44. package/src/interfaces/ICoin.sol +19 -1
  45. package/src/interfaces/ICreatorCoin.sol +4 -0
  46. package/src/interfaces/IUpgradeableV4Hook.sol +18 -0
  47. package/src/interfaces/IZoraFactory.sol +51 -10
  48. package/src/interfaces/IZoraHookRegistry.sol +47 -0
  49. package/src/libs/CoinConstants.sol +43 -32
  50. package/src/libs/CoinDopplerMultiCurve.sol +11 -11
  51. package/src/libs/CoinRewardsV4.sol +68 -37
  52. package/src/libs/CoinSetup.sol +2 -9
  53. package/src/libs/DopplerMath.sol +2 -2
  54. package/src/libs/HooksDeployment.sol +13 -65
  55. package/src/libs/V4Liquidity.sol +109 -15
  56. package/src/version/ContractVersionBase.sol +1 -1
  57. package/test/Coin.t.sol +5 -5
  58. package/test/CoinRewardsV4.t.sol +33 -0
  59. package/test/CoinUniV4.t.sol +32 -30
  60. package/test/ContentCoinRewards.t.sol +363 -0
  61. package/test/CreatorCoin.t.sol +53 -29
  62. package/test/CreatorCoinRewards.t.sol +375 -0
  63. package/test/DeploymentHooks.t.sol +64 -12
  64. package/test/Factory.t.sol +24 -7
  65. package/test/HooksDeployment.t.sol +4 -4
  66. package/test/LiquidityMigration.t.sol +149 -16
  67. package/test/Upgrades.t.sol +44 -48
  68. package/test/V4Liquidity.t.sol +178 -0
  69. package/test/ZoraHookRegistry.t.sol +266 -0
  70. package/test/utils/BaseTest.sol +25 -43
  71. package/test/utils/FeeEstimatorHook.sol +4 -6
  72. package/test/utils/RewardTestHelpers.sol +106 -0
  73. package/.turbo/turbo-build.log +0 -199
  74. package/abis/AutoSwapperTest.json +0 -618
  75. package/abis/BadImpl.json +0 -15
  76. package/abis/BaseZoraV4CoinHook.json +0 -1664
  77. package/abis/CoinConstants.json +0 -158
  78. package/abis/CoinRewardsV4.json +0 -67
  79. package/abis/CoinTest.json +0 -819
  80. package/abis/CoinUniV4Test.json +0 -1128
  81. package/abis/ContentCoinHook.json +0 -1733
  82. package/abis/CreatorCoinTest.json +0 -887
  83. package/abis/Deploy.json +0 -9
  84. package/abis/DeployHooks.json +0 -9
  85. package/abis/DeployScript.json +0 -35
  86. package/abis/DeployedCoinVersionLookupTest.json +0 -740
  87. package/abis/DifferentNamespaceVersionLookup.json +0 -39
  88. package/abis/FactoryTest.json +0 -748
  89. package/abis/FakeHookNoInterface.json +0 -21
  90. package/abis/GenerateDeterministicParams.json +0 -9
  91. package/abis/HooksDeploymentTest.json +0 -645
  92. package/abis/HooksTest.json +0 -709
  93. package/abis/InvalidLiquidityMigrationReceiver.json +0 -21
  94. package/abis/LiquidityMigrationTest.json +0 -889
  95. package/abis/MockBadFactory.json +0 -15
  96. package/abis/MultiOwnableTest.json +0 -766
  97. package/abis/PrintUpgradeCommand.json +0 -9
  98. package/abis/TestDeployedCoinVersionLookupImplementation.json +0 -39
  99. package/abis/TestV4Swap.json +0 -9
  100. package/abis/UpgradeFactoryImpl.json +0 -9
  101. package/abis/UpgradeHooks.json +0 -35
  102. package/abis/UpgradesTest.json +0 -723
  103. package/src/hooks/ContentCoinHook.sol +0 -27
  104. package/src/hooks/CreatorCoinHook.sol +0 -27
  105. package/src/libs/CreatorCoinConstants.sol +0 -16
  106. package/src/libs/CreatorCoinRewards.sol +0 -34
  107. package/src/libs/MarketConstants.sol +0 -15
@@ -1,618 +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": "autoSwapper",
18
- "inputs": [],
19
- "outputs": [
20
- {
21
- "name": "",
22
- "type": "address",
23
- "internalType": "contract AutoSwapper"
24
- }
25
- ],
26
- "stateMutability": "view"
27
- },
28
- {
29
- "type": "function",
30
- "name": "excludeArtifacts",
31
- "inputs": [],
32
- "outputs": [
33
- {
34
- "name": "excludedArtifacts_",
35
- "type": "string[]",
36
- "internalType": "string[]"
37
- }
38
- ],
39
- "stateMutability": "view"
40
- },
41
- {
42
- "type": "function",
43
- "name": "excludeContracts",
44
- "inputs": [],
45
- "outputs": [
46
- {
47
- "name": "excludedContracts_",
48
- "type": "address[]",
49
- "internalType": "address[]"
50
- }
51
- ],
52
- "stateMutability": "view"
53
- },
54
- {
55
- "type": "function",
56
- "name": "excludeSelectors",
57
- "inputs": [],
58
- "outputs": [
59
- {
60
- "name": "excludedSelectors_",
61
- "type": "tuple[]",
62
- "internalType": "struct StdInvariant.FuzzSelector[]",
63
- "components": [
64
- {
65
- "name": "addr",
66
- "type": "address",
67
- "internalType": "address"
68
- },
69
- {
70
- "name": "selectors",
71
- "type": "bytes4[]",
72
- "internalType": "bytes4[]"
73
- }
74
- ]
75
- }
76
- ],
77
- "stateMutability": "view"
78
- },
79
- {
80
- "type": "function",
81
- "name": "excludeSenders",
82
- "inputs": [],
83
- "outputs": [
84
- {
85
- "name": "excludedSenders_",
86
- "type": "address[]",
87
- "internalType": "address[]"
88
- }
89
- ],
90
- "stateMutability": "view"
91
- },
92
- {
93
- "type": "function",
94
- "name": "failed",
95
- "inputs": [],
96
- "outputs": [
97
- {
98
- "name": "",
99
- "type": "bool",
100
- "internalType": "bool"
101
- }
102
- ],
103
- "stateMutability": "view"
104
- },
105
- {
106
- "type": "function",
107
- "name": "setUp",
108
- "inputs": [],
109
- "outputs": [],
110
- "stateMutability": "nonpayable"
111
- },
112
- {
113
- "type": "function",
114
- "name": "targetArtifactSelectors",
115
- "inputs": [],
116
- "outputs": [
117
- {
118
- "name": "targetedArtifactSelectors_",
119
- "type": "tuple[]",
120
- "internalType": "struct StdInvariant.FuzzArtifactSelector[]",
121
- "components": [
122
- {
123
- "name": "artifact",
124
- "type": "string",
125
- "internalType": "string"
126
- },
127
- {
128
- "name": "selectors",
129
- "type": "bytes4[]",
130
- "internalType": "bytes4[]"
131
- }
132
- ]
133
- }
134
- ],
135
- "stateMutability": "view"
136
- },
137
- {
138
- "type": "function",
139
- "name": "targetArtifacts",
140
- "inputs": [],
141
- "outputs": [
142
- {
143
- "name": "targetedArtifacts_",
144
- "type": "string[]",
145
- "internalType": "string[]"
146
- }
147
- ],
148
- "stateMutability": "view"
149
- },
150
- {
151
- "type": "function",
152
- "name": "targetContracts",
153
- "inputs": [],
154
- "outputs": [
155
- {
156
- "name": "targetedContracts_",
157
- "type": "address[]",
158
- "internalType": "address[]"
159
- }
160
- ],
161
- "stateMutability": "view"
162
- },
163
- {
164
- "type": "function",
165
- "name": "targetInterfaces",
166
- "inputs": [],
167
- "outputs": [
168
- {
169
- "name": "targetedInterfaces_",
170
- "type": "tuple[]",
171
- "internalType": "struct StdInvariant.FuzzInterface[]",
172
- "components": [
173
- {
174
- "name": "addr",
175
- "type": "address",
176
- "internalType": "address"
177
- },
178
- {
179
- "name": "artifacts",
180
- "type": "string[]",
181
- "internalType": "string[]"
182
- }
183
- ]
184
- }
185
- ],
186
- "stateMutability": "view"
187
- },
188
- {
189
- "type": "function",
190
- "name": "targetSelectors",
191
- "inputs": [],
192
- "outputs": [
193
- {
194
- "name": "targetedSelectors_",
195
- "type": "tuple[]",
196
- "internalType": "struct StdInvariant.FuzzSelector[]",
197
- "components": [
198
- {
199
- "name": "addr",
200
- "type": "address",
201
- "internalType": "address"
202
- },
203
- {
204
- "name": "selectors",
205
- "type": "bytes4[]",
206
- "internalType": "bytes4[]"
207
- }
208
- ]
209
- }
210
- ],
211
- "stateMutability": "view"
212
- },
213
- {
214
- "type": "function",
215
- "name": "targetSenders",
216
- "inputs": [],
217
- "outputs": [
218
- {
219
- "name": "targetedSenders_",
220
- "type": "address[]",
221
- "internalType": "address[]"
222
- }
223
- ],
224
- "stateMutability": "view"
225
- },
226
- {
227
- "type": "function",
228
- "name": "test_swapExactInputSingleWorks",
229
- "inputs": [],
230
- "outputs": [],
231
- "stateMutability": "nonpayable"
232
- },
233
- {
234
- "type": "function",
235
- "name": "test_swapExactInputWorks",
236
- "inputs": [],
237
- "outputs": [],
238
- "stateMutability": "nonpayable"
239
- },
240
- {
241
- "type": "function",
242
- "name": "test_swapExactInput_revertsIfNotSwapper",
243
- "inputs": [],
244
- "outputs": [],
245
- "stateMutability": "nonpayable"
246
- },
247
- {
248
- "type": "function",
249
- "name": "test_swap_revertsIfNotSwapper",
250
- "inputs": [],
251
- "outputs": [],
252
- "stateMutability": "nonpayable"
253
- },
254
- {
255
- "type": "event",
256
- "name": "log",
257
- "inputs": [
258
- {
259
- "name": "",
260
- "type": "string",
261
- "indexed": false,
262
- "internalType": "string"
263
- }
264
- ],
265
- "anonymous": false
266
- },
267
- {
268
- "type": "event",
269
- "name": "log_address",
270
- "inputs": [
271
- {
272
- "name": "",
273
- "type": "address",
274
- "indexed": false,
275
- "internalType": "address"
276
- }
277
- ],
278
- "anonymous": false
279
- },
280
- {
281
- "type": "event",
282
- "name": "log_array",
283
- "inputs": [
284
- {
285
- "name": "val",
286
- "type": "uint256[]",
287
- "indexed": false,
288
- "internalType": "uint256[]"
289
- }
290
- ],
291
- "anonymous": false
292
- },
293
- {
294
- "type": "event",
295
- "name": "log_array",
296
- "inputs": [
297
- {
298
- "name": "val",
299
- "type": "int256[]",
300
- "indexed": false,
301
- "internalType": "int256[]"
302
- }
303
- ],
304
- "anonymous": false
305
- },
306
- {
307
- "type": "event",
308
- "name": "log_array",
309
- "inputs": [
310
- {
311
- "name": "val",
312
- "type": "address[]",
313
- "indexed": false,
314
- "internalType": "address[]"
315
- }
316
- ],
317
- "anonymous": false
318
- },
319
- {
320
- "type": "event",
321
- "name": "log_bytes",
322
- "inputs": [
323
- {
324
- "name": "",
325
- "type": "bytes",
326
- "indexed": false,
327
- "internalType": "bytes"
328
- }
329
- ],
330
- "anonymous": false
331
- },
332
- {
333
- "type": "event",
334
- "name": "log_bytes32",
335
- "inputs": [
336
- {
337
- "name": "",
338
- "type": "bytes32",
339
- "indexed": false,
340
- "internalType": "bytes32"
341
- }
342
- ],
343
- "anonymous": false
344
- },
345
- {
346
- "type": "event",
347
- "name": "log_int",
348
- "inputs": [
349
- {
350
- "name": "",
351
- "type": "int256",
352
- "indexed": false,
353
- "internalType": "int256"
354
- }
355
- ],
356
- "anonymous": false
357
- },
358
- {
359
- "type": "event",
360
- "name": "log_named_address",
361
- "inputs": [
362
- {
363
- "name": "key",
364
- "type": "string",
365
- "indexed": false,
366
- "internalType": "string"
367
- },
368
- {
369
- "name": "val",
370
- "type": "address",
371
- "indexed": false,
372
- "internalType": "address"
373
- }
374
- ],
375
- "anonymous": false
376
- },
377
- {
378
- "type": "event",
379
- "name": "log_named_array",
380
- "inputs": [
381
- {
382
- "name": "key",
383
- "type": "string",
384
- "indexed": false,
385
- "internalType": "string"
386
- },
387
- {
388
- "name": "val",
389
- "type": "uint256[]",
390
- "indexed": false,
391
- "internalType": "uint256[]"
392
- }
393
- ],
394
- "anonymous": false
395
- },
396
- {
397
- "type": "event",
398
- "name": "log_named_array",
399
- "inputs": [
400
- {
401
- "name": "key",
402
- "type": "string",
403
- "indexed": false,
404
- "internalType": "string"
405
- },
406
- {
407
- "name": "val",
408
- "type": "int256[]",
409
- "indexed": false,
410
- "internalType": "int256[]"
411
- }
412
- ],
413
- "anonymous": false
414
- },
415
- {
416
- "type": "event",
417
- "name": "log_named_array",
418
- "inputs": [
419
- {
420
- "name": "key",
421
- "type": "string",
422
- "indexed": false,
423
- "internalType": "string"
424
- },
425
- {
426
- "name": "val",
427
- "type": "address[]",
428
- "indexed": false,
429
- "internalType": "address[]"
430
- }
431
- ],
432
- "anonymous": false
433
- },
434
- {
435
- "type": "event",
436
- "name": "log_named_bytes",
437
- "inputs": [
438
- {
439
- "name": "key",
440
- "type": "string",
441
- "indexed": false,
442
- "internalType": "string"
443
- },
444
- {
445
- "name": "val",
446
- "type": "bytes",
447
- "indexed": false,
448
- "internalType": "bytes"
449
- }
450
- ],
451
- "anonymous": false
452
- },
453
- {
454
- "type": "event",
455
- "name": "log_named_bytes32",
456
- "inputs": [
457
- {
458
- "name": "key",
459
- "type": "string",
460
- "indexed": false,
461
- "internalType": "string"
462
- },
463
- {
464
- "name": "val",
465
- "type": "bytes32",
466
- "indexed": false,
467
- "internalType": "bytes32"
468
- }
469
- ],
470
- "anonymous": false
471
- },
472
- {
473
- "type": "event",
474
- "name": "log_named_decimal_int",
475
- "inputs": [
476
- {
477
- "name": "key",
478
- "type": "string",
479
- "indexed": false,
480
- "internalType": "string"
481
- },
482
- {
483
- "name": "val",
484
- "type": "int256",
485
- "indexed": false,
486
- "internalType": "int256"
487
- },
488
- {
489
- "name": "decimals",
490
- "type": "uint256",
491
- "indexed": false,
492
- "internalType": "uint256"
493
- }
494
- ],
495
- "anonymous": false
496
- },
497
- {
498
- "type": "event",
499
- "name": "log_named_decimal_uint",
500
- "inputs": [
501
- {
502
- "name": "key",
503
- "type": "string",
504
- "indexed": false,
505
- "internalType": "string"
506
- },
507
- {
508
- "name": "val",
509
- "type": "uint256",
510
- "indexed": false,
511
- "internalType": "uint256"
512
- },
513
- {
514
- "name": "decimals",
515
- "type": "uint256",
516
- "indexed": false,
517
- "internalType": "uint256"
518
- }
519
- ],
520
- "anonymous": false
521
- },
522
- {
523
- "type": "event",
524
- "name": "log_named_int",
525
- "inputs": [
526
- {
527
- "name": "key",
528
- "type": "string",
529
- "indexed": false,
530
- "internalType": "string"
531
- },
532
- {
533
- "name": "val",
534
- "type": "int256",
535
- "indexed": false,
536
- "internalType": "int256"
537
- }
538
- ],
539
- "anonymous": false
540
- },
541
- {
542
- "type": "event",
543
- "name": "log_named_string",
544
- "inputs": [
545
- {
546
- "name": "key",
547
- "type": "string",
548
- "indexed": false,
549
- "internalType": "string"
550
- },
551
- {
552
- "name": "val",
553
- "type": "string",
554
- "indexed": false,
555
- "internalType": "string"
556
- }
557
- ],
558
- "anonymous": false
559
- },
560
- {
561
- "type": "event",
562
- "name": "log_named_uint",
563
- "inputs": [
564
- {
565
- "name": "key",
566
- "type": "string",
567
- "indexed": false,
568
- "internalType": "string"
569
- },
570
- {
571
- "name": "val",
572
- "type": "uint256",
573
- "indexed": false,
574
- "internalType": "uint256"
575
- }
576
- ],
577
- "anonymous": false
578
- },
579
- {
580
- "type": "event",
581
- "name": "log_string",
582
- "inputs": [
583
- {
584
- "name": "",
585
- "type": "string",
586
- "indexed": false,
587
- "internalType": "string"
588
- }
589
- ],
590
- "anonymous": false
591
- },
592
- {
593
- "type": "event",
594
- "name": "log_uint",
595
- "inputs": [
596
- {
597
- "name": "",
598
- "type": "uint256",
599
- "indexed": false,
600
- "internalType": "uint256"
601
- }
602
- ],
603
- "anonymous": false
604
- },
605
- {
606
- "type": "event",
607
- "name": "logs",
608
- "inputs": [
609
- {
610
- "name": "",
611
- "type": "bytes",
612
- "indexed": false,
613
- "internalType": "bytes"
614
- }
615
- ],
616
- "anonymous": false
617
- }
618
- ]
package/abis/BadImpl.json DELETED
@@ -1,15 +0,0 @@
1
- [
2
- {
3
- "type": "function",
4
- "name": "contractName",
5
- "inputs": [],
6
- "outputs": [
7
- {
8
- "name": "",
9
- "type": "string",
10
- "internalType": "string"
11
- }
12
- ],
13
- "stateMutability": "pure"
14
- }
15
- ]