@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
package/dist/index.cjs CHANGED
@@ -191,6 +191,15 @@ var baseCoinABI = [
191
191
  outputs: [],
192
192
  stateMutability: "nonpayable"
193
193
  },
194
+ {
195
+ type: "function",
196
+ inputs: [],
197
+ name: "coinType",
198
+ outputs: [
199
+ { name: "", internalType: "enum IHasCoinType.CoinType", type: "uint8" }
200
+ ],
201
+ stateMutability: "view"
202
+ },
194
203
  {
195
204
  type: "function",
196
205
  inputs: [],
@@ -572,6 +581,13 @@ var baseCoinABI = [
572
581
  outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
573
582
  stateMutability: "view"
574
583
  },
584
+ {
585
+ type: "function",
586
+ inputs: [],
587
+ name: "totalSupplyForPositions",
588
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
589
+ stateMutability: "view"
590
+ },
575
591
  {
576
592
  type: "function",
577
593
  inputs: [
@@ -1185,7 +1201,6 @@ var baseCoinABI = [
1185
1201
  },
1186
1202
  { type: "error", inputs: [], name: "OnlyWeth" },
1187
1203
  { type: "error", inputs: [], name: "OwnerCannotBeAddressZero" },
1188
- { type: "error", inputs: [], name: "ReentrancyGuardReentrantCall" },
1189
1204
  { type: "error", inputs: [], name: "SlippageBoundsExceeded" },
1190
1205
  { type: "error", inputs: [], name: "UseRevokeOwnershipToRemoveSelf" }
1191
1206
  ];
@@ -1358,6 +1373,15 @@ var contentCoinABI = [
1358
1373
  outputs: [],
1359
1374
  stateMutability: "nonpayable"
1360
1375
  },
1376
+ {
1377
+ type: "function",
1378
+ inputs: [],
1379
+ name: "coinType",
1380
+ outputs: [
1381
+ { name: "", internalType: "enum IHasCoinType.CoinType", type: "uint8" }
1382
+ ],
1383
+ stateMutability: "pure"
1384
+ },
1361
1385
  {
1362
1386
  type: "function",
1363
1387
  inputs: [],
@@ -1739,6 +1763,13 @@ var contentCoinABI = [
1739
1763
  outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
1740
1764
  stateMutability: "view"
1741
1765
  },
1766
+ {
1767
+ type: "function",
1768
+ inputs: [],
1769
+ name: "totalSupplyForPositions",
1770
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
1771
+ stateMutability: "pure"
1772
+ },
1742
1773
  {
1743
1774
  type: "function",
1744
1775
  inputs: [
@@ -2352,7 +2383,6 @@ var contentCoinABI = [
2352
2383
  },
2353
2384
  { type: "error", inputs: [], name: "OnlyWeth" },
2354
2385
  { type: "error", inputs: [], name: "OwnerCannotBeAddressZero" },
2355
- { type: "error", inputs: [], name: "ReentrancyGuardReentrantCall" },
2356
2386
  { type: "error", inputs: [], name: "SlippageBoundsExceeded" },
2357
2387
  { type: "error", inputs: [], name: "UseRevokeOwnershipToRemoveSelf" }
2358
2388
  ];
@@ -2361,17 +2391,17 @@ var creatorCoinABI = [
2361
2391
  type: "constructor",
2362
2392
  inputs: [
2363
2393
  {
2364
- name: "_protocolRewardRecipient",
2394
+ name: "protocolRewardRecipient_",
2365
2395
  internalType: "address",
2366
2396
  type: "address"
2367
2397
  },
2368
- { name: "_protocolRewards", internalType: "address", type: "address" },
2398
+ { name: "protocolRewards_", internalType: "address", type: "address" },
2369
2399
  {
2370
- name: "_poolManager",
2400
+ name: "poolManager_",
2371
2401
  internalType: "contract IPoolManager",
2372
2402
  type: "address"
2373
2403
  },
2374
- { name: "_airlock", internalType: "address", type: "address" }
2404
+ { name: "airlock_", internalType: "address", type: "address" }
2375
2405
  ],
2376
2406
  stateMutability: "nonpayable"
2377
2407
  },
@@ -2446,6 +2476,15 @@ var creatorCoinABI = [
2446
2476
  outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
2447
2477
  stateMutability: "nonpayable"
2448
2478
  },
2479
+ {
2480
+ type: "function",
2481
+ inputs: [],
2482
+ name: "coinType",
2483
+ outputs: [
2484
+ { name: "", internalType: "enum IHasCoinType.CoinType", type: "uint8" }
2485
+ ],
2486
+ stateMutability: "pure"
2487
+ },
2449
2488
  {
2450
2489
  type: "function",
2451
2490
  inputs: [],
@@ -2841,6 +2880,13 @@ var creatorCoinABI = [
2841
2880
  outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
2842
2881
  stateMutability: "view"
2843
2882
  },
2883
+ {
2884
+ type: "function",
2885
+ inputs: [],
2886
+ name: "totalSupplyForPositions",
2887
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
2888
+ stateMutability: "pure"
2889
+ },
2844
2890
  {
2845
2891
  type: "function",
2846
2892
  inputs: [
@@ -3506,7 +3552,6 @@ var creatorCoinABI = [
3506
3552
  },
3507
3553
  { type: "error", inputs: [], name: "OnlyWeth" },
3508
3554
  { type: "error", inputs: [], name: "OwnerCannotBeAddressZero" },
3509
- { type: "error", inputs: [], name: "ReentrancyGuardReentrantCall" },
3510
3555
  { type: "error", inputs: [], name: "SlippageBoundsExceeded" },
3511
3556
  { type: "error", inputs: [], name: "UseRevokeOwnershipToRemoveSelf" }
3512
3557
  ];
@@ -4200,10 +4245,10 @@ var zoraFactoryImplABI = [
4200
4245
  {
4201
4246
  type: "constructor",
4202
4247
  inputs: [
4203
- { name: "_coinV4Impl", internalType: "address", type: "address" },
4204
- { name: "_creatorCoinImpl", internalType: "address", type: "address" },
4205
- { name: "_contentCoinHook", internalType: "address", type: "address" },
4206
- { name: "_creatorCoinHook", internalType: "address", type: "address" }
4248
+ { name: "coinV4Impl_", internalType: "address", type: "address" },
4249
+ { name: "creatorCoinImpl_", internalType: "address", type: "address" },
4250
+ { name: "hook_", internalType: "address", type: "address" },
4251
+ { name: "zoraHookRegistry_", internalType: "address", type: "address" }
4207
4252
  ],
4208
4253
  stateMutability: "nonpayable"
4209
4254
  },
@@ -4288,7 +4333,7 @@ var zoraFactoryImplABI = [
4288
4333
  { name: "platformReferrer", internalType: "address", type: "address" },
4289
4334
  { name: "currency", internalType: "address", type: "address" },
4290
4335
  { name: "", internalType: "int24", type: "int24" },
4291
- { name: "orderSize", internalType: "uint256", type: "uint256" }
4336
+ { name: "", internalType: "uint256", type: "uint256" }
4292
4337
  ],
4293
4338
  name: "deploy",
4294
4339
  outputs: [
@@ -4363,7 +4408,28 @@ var zoraFactoryImplABI = [
4363
4408
  { name: "symbol", internalType: "string", type: "string" },
4364
4409
  { name: "poolConfig", internalType: "bytes", type: "bytes" },
4365
4410
  { name: "platformReferrer", internalType: "address", type: "address" },
4366
- { name: "hook", internalType: "address", type: "address" },
4411
+ { name: "postDeployHook", internalType: "address", type: "address" },
4412
+ { name: "postDeployHookData", internalType: "bytes", type: "bytes" },
4413
+ { name: "coinSalt", internalType: "bytes32", type: "bytes32" }
4414
+ ],
4415
+ name: "deployCreatorCoin",
4416
+ outputs: [
4417
+ { name: "coin", internalType: "address", type: "address" },
4418
+ { name: "postDeployHookDataOut", internalType: "bytes", type: "bytes" }
4419
+ ],
4420
+ stateMutability: "payable"
4421
+ },
4422
+ {
4423
+ type: "function",
4424
+ inputs: [
4425
+ { name: "payoutRecipient", internalType: "address", type: "address" },
4426
+ { name: "owners", internalType: "address[]", type: "address[]" },
4427
+ { name: "uri", internalType: "string", type: "string" },
4428
+ { name: "name", internalType: "string", type: "string" },
4429
+ { name: "symbol", internalType: "string", type: "string" },
4430
+ { name: "poolConfig", internalType: "bytes", type: "bytes" },
4431
+ { name: "platformReferrer", internalType: "address", type: "address" },
4432
+ { name: "deployHook", internalType: "address", type: "address" },
4367
4433
  { name: "hookData", internalType: "bytes", type: "bytes" }
4368
4434
  ],
4369
4435
  name: "deployWithHook",
@@ -4380,6 +4446,13 @@ var zoraFactoryImplABI = [
4380
4446
  outputs: [{ name: "", internalType: "uint8", type: "uint8" }],
4381
4447
  stateMutability: "view"
4382
4448
  },
4449
+ {
4450
+ type: "function",
4451
+ inputs: [],
4452
+ name: "hook",
4453
+ outputs: [{ name: "", internalType: "address", type: "address" }],
4454
+ stateMutability: "view"
4455
+ },
4383
4456
  {
4384
4457
  type: "function",
4385
4458
  inputs: [],
@@ -4441,6 +4514,13 @@ var zoraFactoryImplABI = [
4441
4514
  outputs: [],
4442
4515
  stateMutability: "payable"
4443
4516
  },
4517
+ {
4518
+ type: "function",
4519
+ inputs: [],
4520
+ name: "zoraHookRegistry",
4521
+ outputs: [{ name: "", internalType: "address", type: "address" }],
4522
+ stateMutability: "view"
4523
+ },
4444
4524
  {
4445
4525
  type: "event",
4446
4526
  anonymous: false,