@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
package/dist/index.cjs CHANGED
@@ -21,8 +21,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
23
  autoSwapperABI: () => autoSwapperABI,
24
+ baseCoinABI: () => baseCoinABI,
24
25
  buySupplyWithSwapRouterHookABI: () => buySupplyWithSwapRouterHookABI,
25
- coinABI: () => coinABI,
26
26
  contentCoinABI: () => contentCoinABI,
27
27
  creatorCoinABI: () => creatorCoinABI,
28
28
  iPermit2ABI: () => iPermit2ABI,
@@ -126,110 +126,7 @@ var autoSwapperABI = [
126
126
  { type: "error", inputs: [], name: "InvalidSelector" },
127
127
  { type: "error", inputs: [], name: "NotSwapper" }
128
128
  ];
129
- var buySupplyWithSwapRouterHookABI = [
130
- {
131
- type: "constructor",
132
- inputs: [
133
- {
134
- name: "_factory",
135
- internalType: "contract IZoraFactory",
136
- type: "address"
137
- },
138
- { name: "_swapRouter", internalType: "address", type: "address" },
139
- { name: "_poolManager", internalType: "address", type: "address" }
140
- ],
141
- stateMutability: "nonpayable"
142
- },
143
- {
144
- type: "function",
145
- inputs: [
146
- { name: "sender", internalType: "address", type: "address" },
147
- { name: "coin", internalType: "contract ICoin", type: "address" },
148
- { name: "hookData", internalType: "bytes", type: "bytes" }
149
- ],
150
- name: "afterCoinDeploy",
151
- outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
152
- stateMutability: "payable"
153
- },
154
- {
155
- type: "function",
156
- inputs: [],
157
- name: "factory",
158
- outputs: [
159
- { name: "", internalType: "contract IZoraFactory", type: "address" }
160
- ],
161
- stateMutability: "view"
162
- },
163
- {
164
- type: "function",
165
- inputs: [{ name: "interfaceId", internalType: "bytes4", type: "bytes4" }],
166
- name: "supportsInterface",
167
- outputs: [{ name: "", internalType: "bool", type: "bool" }],
168
- stateMutability: "pure"
169
- },
170
- {
171
- type: "function",
172
- inputs: [{ name: "data", internalType: "bytes", type: "bytes" }],
173
- name: "unlockCallback",
174
- outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
175
- stateMutability: "nonpayable"
176
- },
177
- {
178
- type: "error",
179
- inputs: [{ name: "target", internalType: "address", type: "address" }],
180
- name: "AddressEmptyCode"
181
- },
182
- {
183
- type: "error",
184
- inputs: [{ name: "account", internalType: "address", type: "address" }],
185
- name: "AddressInsufficientBalance"
186
- },
187
- { type: "error", inputs: [], name: "AddressZero" },
188
- {
189
- type: "error",
190
- inputs: [{ name: "balance", internalType: "uint256", type: "uint256" }],
191
- name: "CoinBalanceNot0"
192
- },
193
- {
194
- type: "error",
195
- inputs: [{ name: "balance", internalType: "uint256", type: "uint256" }],
196
- name: "CurrencyBalanceNot0"
197
- },
198
- { type: "error", inputs: [], name: "Erc20NotReceived" },
199
- { type: "error", inputs: [], name: "FailedInnerCall" },
200
- { type: "error", inputs: [], name: "HookNotImplemented" },
201
- { type: "error", inputs: [], name: "InvalidSwapRouterCall" },
202
- { type: "error", inputs: [], name: "NotFactory" },
203
- { type: "error", inputs: [], name: "OnlyPoolManager" },
204
- {
205
- type: "error",
206
- inputs: [{ name: "token", internalType: "address", type: "address" }],
207
- name: "SafeERC20FailedOperation"
208
- },
209
- {
210
- type: "error",
211
- inputs: [{ name: "error", internalType: "bytes", type: "bytes" }],
212
- name: "SwapReverted"
213
- }
214
- ];
215
- var coinABI = [
216
- {
217
- type: "constructor",
218
- inputs: [
219
- {
220
- name: "protocolRewardRecipient_",
221
- internalType: "address",
222
- type: "address"
223
- },
224
- { name: "protocolRewards_", internalType: "address", type: "address" },
225
- { name: "weth_", internalType: "address", type: "address" },
226
- { name: "v3Factory_", internalType: "address", type: "address" },
227
- { name: "swapRouter_", internalType: "address", type: "address" },
228
- { name: "airlock_", internalType: "address", type: "address" }
229
- ],
230
- stateMutability: "nonpayable"
231
- },
232
- { type: "receive", stateMutability: "payable" },
129
+ var baseCoinABI = [
233
130
  {
234
131
  type: "function",
235
132
  inputs: [],
@@ -237,13 +134,6 @@ var coinABI = [
237
134
  outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }],
238
135
  stateMutability: "view"
239
136
  },
240
- {
241
- type: "function",
242
- inputs: [],
243
- name: "WETH",
244
- outputs: [{ name: "", internalType: "address", type: "address" }],
245
- stateMutability: "view"
246
- },
247
137
  {
248
138
  type: "function",
249
139
  inputs: [{ name: "account", internalType: "address", type: "address" }],
@@ -301,29 +191,6 @@ var coinABI = [
301
191
  outputs: [],
302
192
  stateMutability: "nonpayable"
303
193
  },
304
- {
305
- type: "function",
306
- inputs: [
307
- { name: "recipient", internalType: "address", type: "address" },
308
- { name: "orderSize", internalType: "uint256", type: "uint256" },
309
- { name: "minAmountOut", internalType: "uint256", type: "uint256" },
310
- { name: "sqrtPriceLimitX96", internalType: "uint160", type: "uint160" },
311
- { name: "tradeReferrer", internalType: "address", type: "address" }
312
- ],
313
- name: "buy",
314
- outputs: [
315
- { name: "", internalType: "uint256", type: "uint256" },
316
- { name: "", internalType: "uint256", type: "uint256" }
317
- ],
318
- stateMutability: "payable"
319
- },
320
- {
321
- type: "function",
322
- inputs: [{ name: "pushEthRewards", internalType: "bool", type: "bool" }],
323
- name: "claimSecondaryRewards",
324
- outputs: [],
325
- stateMutability: "nonpayable"
326
- },
327
194
  {
328
195
  type: "function",
329
196
  inputs: [],
@@ -374,6 +241,48 @@ var coinABI = [
374
241
  ],
375
242
  stateMutability: "view"
376
243
  },
244
+ {
245
+ type: "function",
246
+ inputs: [
247
+ {
248
+ name: "coinVersionLookup",
249
+ internalType: "contract IDeployedCoinVersionLookup",
250
+ type: "address"
251
+ }
252
+ ],
253
+ name: "getPayoutSwapPath",
254
+ outputs: [
255
+ {
256
+ name: "payoutSwapPath",
257
+ internalType: "struct IHasSwapPath.PayoutSwapPath",
258
+ type: "tuple",
259
+ components: [
260
+ {
261
+ name: "path",
262
+ internalType: "struct PathKey[]",
263
+ type: "tuple[]",
264
+ components: [
265
+ {
266
+ name: "intermediateCurrency",
267
+ internalType: "Currency",
268
+ type: "address"
269
+ },
270
+ { name: "fee", internalType: "uint24", type: "uint24" },
271
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
272
+ {
273
+ name: "hooks",
274
+ internalType: "contract IHooks",
275
+ type: "address"
276
+ },
277
+ { name: "hookData", internalType: "bytes", type: "bytes" }
278
+ ]
279
+ },
280
+ { name: "currencyIn", internalType: "Currency", type: "address" }
281
+ ]
282
+ }
283
+ ],
284
+ stateMutability: "view"
285
+ },
377
286
  {
378
287
  type: "function",
379
288
  inputs: [],
@@ -405,6 +314,33 @@ var coinABI = [
405
314
  ],
406
315
  stateMutability: "view"
407
316
  },
317
+ {
318
+ type: "function",
319
+ inputs: [],
320
+ name: "getPoolKey",
321
+ outputs: [
322
+ {
323
+ name: "",
324
+ internalType: "struct PoolKey",
325
+ type: "tuple",
326
+ components: [
327
+ { name: "currency0", internalType: "Currency", type: "address" },
328
+ { name: "currency1", internalType: "Currency", type: "address" },
329
+ { name: "fee", internalType: "uint24", type: "uint24" },
330
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
331
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
332
+ ]
333
+ }
334
+ ],
335
+ stateMutability: "view"
336
+ },
337
+ {
338
+ type: "function",
339
+ inputs: [],
340
+ name: "hooks",
341
+ outputs: [{ name: "", internalType: "contract IHooks", type: "address" }],
342
+ stateMutability: "view"
343
+ },
408
344
  {
409
345
  type: "function",
410
346
  inputs: [
@@ -415,7 +351,19 @@ var coinABI = [
415
351
  { name: "symbol_", internalType: "string", type: "string" },
416
352
  { name: "platformReferrer_", internalType: "address", type: "address" },
417
353
  { name: "currency_", internalType: "address", type: "address" },
418
- { name: "poolAddress_", internalType: "address", type: "address" },
354
+ {
355
+ name: "poolKey_",
356
+ internalType: "struct PoolKey",
357
+ type: "tuple",
358
+ components: [
359
+ { name: "currency0", internalType: "Currency", type: "address" },
360
+ { name: "currency1", internalType: "Currency", type: "address" },
361
+ { name: "fee", internalType: "uint24", type: "uint24" },
362
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
363
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
364
+ ]
365
+ },
366
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" },
419
367
  {
420
368
  name: "poolConfiguration_",
421
369
  internalType: "struct PoolConfiguration",
@@ -438,16 +386,6 @@ var coinABI = [
438
386
  type: "uint256[]"
439
387
  }
440
388
  ]
441
- },
442
- {
443
- name: "positions_",
444
- internalType: "struct LpPosition[]",
445
- type: "tuple[]",
446
- components: [
447
- { name: "tickLower", internalType: "int24", type: "int24" },
448
- { name: "tickUpper", internalType: "int24", type: "int24" },
449
- { name: "liquidity", internalType: "uint128", type: "uint128" }
450
- ]
451
389
  }
452
390
  ],
453
391
  name: "initialize",
@@ -463,17 +401,26 @@ var coinABI = [
463
401
  },
464
402
  {
465
403
  type: "function",
466
- inputs: [],
467
- name: "market",
468
- outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
469
- stateMutability: "view"
470
- },
471
- {
472
- type: "function",
473
- inputs: [],
474
- name: "marketVersion",
475
- outputs: [{ name: "", internalType: "uint8", type: "uint8" }],
476
- stateMutability: "view"
404
+ inputs: [
405
+ { name: "newHook", internalType: "address", type: "address" },
406
+ { name: "additionalData", internalType: "bytes", type: "bytes" }
407
+ ],
408
+ name: "migrateLiquidity",
409
+ outputs: [
410
+ {
411
+ name: "newPoolKey",
412
+ internalType: "struct PoolKey",
413
+ type: "tuple",
414
+ components: [
415
+ { name: "currency0", internalType: "Currency", type: "address" },
416
+ { name: "currency1", internalType: "Currency", type: "address" },
417
+ { name: "fee", internalType: "uint24", type: "uint24" },
418
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
419
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
420
+ ]
421
+ }
422
+ ],
423
+ stateMutability: "nonpayable"
477
424
  },
478
425
  {
479
426
  type: "function",
@@ -528,30 +475,9 @@ var coinABI = [
528
475
  {
529
476
  type: "function",
530
477
  inputs: [],
531
- name: "poolAddress",
532
- outputs: [{ name: "", internalType: "address", type: "address" }],
533
- stateMutability: "view"
534
- },
535
- {
536
- type: "function",
537
- inputs: [],
538
- name: "poolConfiguration",
539
- outputs: [
540
- { name: "version", internalType: "uint8", type: "uint8" },
541
- { name: "numPositions", internalType: "uint16", type: "uint16" },
542
- { name: "fee", internalType: "uint24", type: "uint24" },
543
- { name: "tickSpacing", internalType: "int24", type: "int24" }
544
- ],
545
- stateMutability: "view"
546
- },
547
- {
548
- type: "function",
549
- inputs: [{ name: "", internalType: "uint256", type: "uint256" }],
550
- name: "positions",
478
+ name: "poolManager",
551
479
  outputs: [
552
- { name: "tickLower", internalType: "int24", type: "int24" },
553
- { name: "tickUpper", internalType: "int24", type: "int24" },
554
- { name: "liquidity", internalType: "uint128", type: "uint128" }
480
+ { name: "", internalType: "contract IPoolManager", type: "address" }
555
481
  ],
556
482
  stateMutability: "view"
557
483
  },
@@ -592,22 +518,6 @@ var coinABI = [
592
518
  outputs: [],
593
519
  stateMutability: "nonpayable"
594
520
  },
595
- {
596
- type: "function",
597
- inputs: [
598
- { name: "recipient", internalType: "address", type: "address" },
599
- { name: "orderSize", internalType: "uint256", type: "uint256" },
600
- { name: "minAmountOut", internalType: "uint256", type: "uint256" },
601
- { name: "sqrtPriceLimitX96", internalType: "uint160", type: "uint160" },
602
- { name: "tradeReferrer", internalType: "address", type: "address" }
603
- ],
604
- name: "sell",
605
- outputs: [
606
- { name: "", internalType: "uint256", type: "uint256" },
607
- { name: "", internalType: "uint256", type: "uint256" }
608
- ],
609
- stateMutability: "nonpayable"
610
- },
611
521
  {
612
522
  type: "function",
613
523
  inputs: [{ name: "newURI", internalType: "string", type: "string" }],
@@ -641,13 +551,6 @@ var coinABI = [
641
551
  outputs: [{ name: "", internalType: "bool", type: "bool" }],
642
552
  stateMutability: "view"
643
553
  },
644
- {
645
- type: "function",
646
- inputs: [],
647
- name: "swapRouter",
648
- outputs: [{ name: "", internalType: "address", type: "address" }],
649
- stateMutability: "view"
650
- },
651
554
  {
652
555
  type: "function",
653
556
  inputs: [],
@@ -690,24 +593,6 @@ var coinABI = [
690
593
  outputs: [{ name: "", internalType: "bool", type: "bool" }],
691
594
  stateMutability: "nonpayable"
692
595
  },
693
- {
694
- type: "function",
695
- inputs: [
696
- { name: "amount0Owed", internalType: "uint256", type: "uint256" },
697
- { name: "amount1Owed", internalType: "uint256", type: "uint256" },
698
- { name: "", internalType: "bytes", type: "bytes" }
699
- ],
700
- name: "uniswapV3MintCallback",
701
- outputs: [],
702
- stateMutability: "nonpayable"
703
- },
704
- {
705
- type: "function",
706
- inputs: [],
707
- name: "v3Factory",
708
- outputs: [{ name: "", internalType: "address", type: "address" }],
709
- stateMutability: "view"
710
- },
711
596
  {
712
597
  type: "event",
713
598
  anonymous: false,
@@ -1064,6 +949,51 @@ var coinABI = [
1064
949
  ],
1065
950
  name: "Initialized"
1066
951
  },
952
+ {
953
+ type: "event",
954
+ anonymous: false,
955
+ inputs: [
956
+ {
957
+ name: "fromPoolKey",
958
+ internalType: "struct PoolKey",
959
+ type: "tuple",
960
+ components: [
961
+ { name: "currency0", internalType: "Currency", type: "address" },
962
+ { name: "currency1", internalType: "Currency", type: "address" },
963
+ { name: "fee", internalType: "uint24", type: "uint24" },
964
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
965
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
966
+ ],
967
+ indexed: false
968
+ },
969
+ {
970
+ name: "fromPoolKeyHash",
971
+ internalType: "bytes32",
972
+ type: "bytes32",
973
+ indexed: false
974
+ },
975
+ {
976
+ name: "toPoolKey",
977
+ internalType: "struct PoolKey",
978
+ type: "tuple",
979
+ components: [
980
+ { name: "currency0", internalType: "Currency", type: "address" },
981
+ { name: "currency1", internalType: "Currency", type: "address" },
982
+ { name: "fee", internalType: "uint24", type: "uint24" },
983
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
984
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
985
+ ],
986
+ indexed: false
987
+ },
988
+ {
989
+ name: "toPoolKeyHash",
990
+ internalType: "bytes32",
991
+ type: "bytes32",
992
+ indexed: false
993
+ }
994
+ ],
995
+ name: "LiquidityMigrated"
996
+ },
1067
997
  {
1068
998
  type: "event",
1069
999
  anonymous: false,
@@ -1129,17 +1059,6 @@ var coinABI = [
1129
1059
  ],
1130
1060
  name: "Transfer"
1131
1061
  },
1132
- {
1133
- type: "error",
1134
- inputs: [{ name: "target", internalType: "address", type: "address" }],
1135
- name: "AddressEmptyCode"
1136
- },
1137
- {
1138
- type: "error",
1139
- inputs: [{ name: "account", internalType: "address", type: "address" }],
1140
- name: "AddressInsufficientBalance"
1141
- },
1142
- { type: "error", inputs: [], name: "AddressZero" },
1143
1062
  { type: "error", inputs: [], name: "AddressZero" },
1144
1063
  { type: "error", inputs: [], name: "AlreadyOwner" },
1145
1064
  { type: "error", inputs: [], name: "CannotMintZeroLiquidity" },
@@ -1215,7 +1134,6 @@ var coinABI = [
1215
1134
  { type: "error", inputs: [], name: "EthAmountTooSmall" },
1216
1135
  { type: "error", inputs: [], name: "EthTransferFailed" },
1217
1136
  { type: "error", inputs: [], name: "EthTransferInvalid" },
1218
- { type: "error", inputs: [], name: "FailedInnerCall" },
1219
1137
  { type: "error", inputs: [], name: "InitialOrderSizeTooLarge" },
1220
1138
  { type: "error", inputs: [], name: "InsufficientFunds" },
1221
1139
  { type: "error", inputs: [], name: "InsufficientLiquidity" },
@@ -1268,13 +1186,94 @@ var coinABI = [
1268
1186
  { type: "error", inputs: [], name: "OnlyWeth" },
1269
1187
  { type: "error", inputs: [], name: "OwnerCannotBeAddressZero" },
1270
1188
  { type: "error", inputs: [], name: "ReentrancyGuardReentrantCall" },
1189
+ { type: "error", inputs: [], name: "SlippageBoundsExceeded" },
1190
+ { type: "error", inputs: [], name: "UseRevokeOwnershipToRemoveSelf" }
1191
+ ];
1192
+ var buySupplyWithSwapRouterHookABI = [
1193
+ {
1194
+ type: "constructor",
1195
+ inputs: [
1196
+ {
1197
+ name: "_factory",
1198
+ internalType: "contract IZoraFactory",
1199
+ type: "address"
1200
+ },
1201
+ { name: "_swapRouter", internalType: "address", type: "address" },
1202
+ { name: "_poolManager", internalType: "address", type: "address" }
1203
+ ],
1204
+ stateMutability: "nonpayable"
1205
+ },
1206
+ {
1207
+ type: "function",
1208
+ inputs: [
1209
+ { name: "sender", internalType: "address", type: "address" },
1210
+ { name: "coin", internalType: "contract ICoin", type: "address" },
1211
+ { name: "hookData", internalType: "bytes", type: "bytes" }
1212
+ ],
1213
+ name: "afterCoinDeploy",
1214
+ outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
1215
+ stateMutability: "payable"
1216
+ },
1217
+ {
1218
+ type: "function",
1219
+ inputs: [],
1220
+ name: "factory",
1221
+ outputs: [
1222
+ { name: "", internalType: "contract IZoraFactory", type: "address" }
1223
+ ],
1224
+ stateMutability: "view"
1225
+ },
1226
+ {
1227
+ type: "function",
1228
+ inputs: [{ name: "interfaceId", internalType: "bytes4", type: "bytes4" }],
1229
+ name: "supportsInterface",
1230
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
1231
+ stateMutability: "pure"
1232
+ },
1233
+ {
1234
+ type: "function",
1235
+ inputs: [{ name: "data", internalType: "bytes", type: "bytes" }],
1236
+ name: "unlockCallback",
1237
+ outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
1238
+ stateMutability: "nonpayable"
1239
+ },
1240
+ {
1241
+ type: "error",
1242
+ inputs: [{ name: "target", internalType: "address", type: "address" }],
1243
+ name: "AddressEmptyCode"
1244
+ },
1245
+ {
1246
+ type: "error",
1247
+ inputs: [{ name: "account", internalType: "address", type: "address" }],
1248
+ name: "AddressInsufficientBalance"
1249
+ },
1250
+ { type: "error", inputs: [], name: "AddressZero" },
1251
+ {
1252
+ type: "error",
1253
+ inputs: [{ name: "balance", internalType: "uint256", type: "uint256" }],
1254
+ name: "CoinBalanceNot0"
1255
+ },
1256
+ {
1257
+ type: "error",
1258
+ inputs: [{ name: "balance", internalType: "uint256", type: "uint256" }],
1259
+ name: "CurrencyBalanceNot0"
1260
+ },
1261
+ { type: "error", inputs: [], name: "Erc20NotReceived" },
1262
+ { type: "error", inputs: [], name: "FailedInnerCall" },
1263
+ { type: "error", inputs: [], name: "HookNotImplemented" },
1264
+ { type: "error", inputs: [], name: "InvalidSwapRouterCall" },
1265
+ { type: "error", inputs: [], name: "NotFactory" },
1266
+ { type: "error", inputs: [], name: "OnlyPoolManager" },
1271
1267
  {
1272
1268
  type: "error",
1273
1269
  inputs: [{ name: "token", internalType: "address", type: "address" }],
1274
1270
  name: "SafeERC20FailedOperation"
1275
1271
  },
1276
- { type: "error", inputs: [], name: "SlippageBoundsExceeded" },
1277
- { type: "error", inputs: [], name: "UseRevokeOwnershipToRemoveSelf" }
1272
+ {
1273
+ type: "error",
1274
+ inputs: [{ name: "error", internalType: "bytes", type: "bytes" }],
1275
+ name: "SwapReverted"
1276
+ }
1278
1277
  ];
1279
1278
  var contentCoinABI = [
1280
1279
  {
@@ -4201,7 +4200,6 @@ var zoraFactoryImplABI = [
4201
4200
  {
4202
4201
  type: "constructor",
4203
4202
  inputs: [
4204
- { name: "_coinImpl", internalType: "address", type: "address" },
4205
4203
  { name: "_coinV4Impl", internalType: "address", type: "address" },
4206
4204
  { name: "_creatorCoinImpl", internalType: "address", type: "address" },
4207
4205
  { name: "_contentCoinHook", internalType: "address", type: "address" },
@@ -4237,13 +4235,6 @@ var zoraFactoryImplABI = [
4237
4235
  outputs: [{ name: "", internalType: "address", type: "address" }],
4238
4236
  stateMutability: "view"
4239
4237
  },
4240
- {
4241
- type: "function",
4242
- inputs: [],
4243
- name: "coinImpl",
4244
- outputs: [{ name: "", internalType: "address", type: "address" }],
4245
- stateMutability: "view"
4246
- },
4247
4238
  {
4248
4239
  type: "function",
4249
4240
  inputs: [],
@@ -4337,7 +4328,7 @@ var zoraFactoryImplABI = [
4337
4328
  { name: "symbol", internalType: "string", type: "string" },
4338
4329
  { name: "poolConfig", internalType: "bytes", type: "bytes" },
4339
4330
  { name: "platformReferrer", internalType: "address", type: "address" },
4340
- { name: "orderSize", internalType: "uint256", type: "uint256" }
4331
+ { name: "", internalType: "uint256", type: "uint256" }
4341
4332
  ],
4342
4333
  name: "deploy",
4343
4334
  outputs: [
@@ -4716,13 +4707,7 @@ var zoraFactoryImplABI = [
4716
4707
  inputs: [{ name: "target", internalType: "address", type: "address" }],
4717
4708
  name: "AddressEmptyCode"
4718
4709
  },
4719
- {
4720
- type: "error",
4721
- inputs: [{ name: "account", internalType: "address", type: "address" }],
4722
- name: "AddressInsufficientBalance"
4723
- },
4724
4710
  { type: "error", inputs: [], name: "ArrayLengthMismatch" },
4725
- { type: "error", inputs: [], name: "CannotMintZeroLiquidity" },
4726
4711
  { type: "error", inputs: [], name: "ConfigTickLowerMustBeLessThanTickUpper" },
4727
4712
  { type: "error", inputs: [], name: "Deprecated" },
4728
4713
  { type: "error", inputs: [], name: "ERC1167FailedCreateClone" },
@@ -4734,7 +4719,6 @@ var zoraFactoryImplABI = [
4734
4719
  name: "ERC1967InvalidImplementation"
4735
4720
  },
4736
4721
  { type: "error", inputs: [], name: "ERC1967NonPayable" },
4737
- { type: "error", inputs: [], name: "ERC20TransferAmountMismatch" },
4738
4722
  { type: "error", inputs: [], name: "EthTransferInvalid" },
4739
4723
  { type: "error", inputs: [], name: "FailedInnerCall" },
4740
4724
  { type: "error", inputs: [], name: "InvalidConfig" },
@@ -4749,14 +4733,6 @@ var zoraFactoryImplABI = [
4749
4733
  ],
4750
4734
  name: "InvalidTickRangeMisordered"
4751
4735
  },
4752
- {
4753
- type: "error",
4754
- inputs: [
4755
- { name: "tickLower", internalType: "int24", type: "int24" },
4756
- { name: "tickUpper", internalType: "int24", type: "int24" }
4757
- ],
4758
- name: "InvalidTickRangeMisordered"
4759
- },
4760
4736
  {
4761
4737
  type: "error",
4762
4738
  inputs: [
@@ -4778,11 +4754,6 @@ var zoraFactoryImplABI = [
4778
4754
  name: "OwnableUnauthorizedAccount"
4779
4755
  },
4780
4756
  { type: "error", inputs: [], name: "ReentrancyGuardReentrantCall" },
4781
- {
4782
- type: "error",
4783
- inputs: [{ name: "token", internalType: "address", type: "address" }],
4784
- name: "SafeERC20FailedOperation"
4785
- },
4786
4757
  { type: "error", inputs: [], name: "UUPSUnauthorizedCallContext" },
4787
4758
  {
4788
4759
  type: "error",
@@ -4803,8 +4774,8 @@ var zoraFactoryImplABI = [
4803
4774
  // Annotate the CommonJS export names for ESM import in node:
4804
4775
  0 && (module.exports = {
4805
4776
  autoSwapperABI,
4777
+ baseCoinABI,
4806
4778
  buySupplyWithSwapRouterHookABI,
4807
- coinABI,
4808
4779
  contentCoinABI,
4809
4780
  creatorCoinABI,
4810
4781
  iPermit2ABI,