@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.js CHANGED
@@ -91,110 +91,7 @@ var autoSwapperABI = [
91
91
  { type: "error", inputs: [], name: "InvalidSelector" },
92
92
  { type: "error", inputs: [], name: "NotSwapper" }
93
93
  ];
94
- var buySupplyWithSwapRouterHookABI = [
95
- {
96
- type: "constructor",
97
- inputs: [
98
- {
99
- name: "_factory",
100
- internalType: "contract IZoraFactory",
101
- type: "address"
102
- },
103
- { name: "_swapRouter", internalType: "address", type: "address" },
104
- { name: "_poolManager", internalType: "address", type: "address" }
105
- ],
106
- stateMutability: "nonpayable"
107
- },
108
- {
109
- type: "function",
110
- inputs: [
111
- { name: "sender", internalType: "address", type: "address" },
112
- { name: "coin", internalType: "contract ICoin", type: "address" },
113
- { name: "hookData", internalType: "bytes", type: "bytes" }
114
- ],
115
- name: "afterCoinDeploy",
116
- outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
117
- stateMutability: "payable"
118
- },
119
- {
120
- type: "function",
121
- inputs: [],
122
- name: "factory",
123
- outputs: [
124
- { name: "", internalType: "contract IZoraFactory", type: "address" }
125
- ],
126
- stateMutability: "view"
127
- },
128
- {
129
- type: "function",
130
- inputs: [{ name: "interfaceId", internalType: "bytes4", type: "bytes4" }],
131
- name: "supportsInterface",
132
- outputs: [{ name: "", internalType: "bool", type: "bool" }],
133
- stateMutability: "pure"
134
- },
135
- {
136
- type: "function",
137
- inputs: [{ name: "data", internalType: "bytes", type: "bytes" }],
138
- name: "unlockCallback",
139
- outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
140
- stateMutability: "nonpayable"
141
- },
142
- {
143
- type: "error",
144
- inputs: [{ name: "target", internalType: "address", type: "address" }],
145
- name: "AddressEmptyCode"
146
- },
147
- {
148
- type: "error",
149
- inputs: [{ name: "account", internalType: "address", type: "address" }],
150
- name: "AddressInsufficientBalance"
151
- },
152
- { type: "error", inputs: [], name: "AddressZero" },
153
- {
154
- type: "error",
155
- inputs: [{ name: "balance", internalType: "uint256", type: "uint256" }],
156
- name: "CoinBalanceNot0"
157
- },
158
- {
159
- type: "error",
160
- inputs: [{ name: "balance", internalType: "uint256", type: "uint256" }],
161
- name: "CurrencyBalanceNot0"
162
- },
163
- { type: "error", inputs: [], name: "Erc20NotReceived" },
164
- { type: "error", inputs: [], name: "FailedInnerCall" },
165
- { type: "error", inputs: [], name: "HookNotImplemented" },
166
- { type: "error", inputs: [], name: "InvalidSwapRouterCall" },
167
- { type: "error", inputs: [], name: "NotFactory" },
168
- { type: "error", inputs: [], name: "OnlyPoolManager" },
169
- {
170
- type: "error",
171
- inputs: [{ name: "token", internalType: "address", type: "address" }],
172
- name: "SafeERC20FailedOperation"
173
- },
174
- {
175
- type: "error",
176
- inputs: [{ name: "error", internalType: "bytes", type: "bytes" }],
177
- name: "SwapReverted"
178
- }
179
- ];
180
- var coinABI = [
181
- {
182
- type: "constructor",
183
- inputs: [
184
- {
185
- name: "protocolRewardRecipient_",
186
- internalType: "address",
187
- type: "address"
188
- },
189
- { name: "protocolRewards_", internalType: "address", type: "address" },
190
- { name: "weth_", internalType: "address", type: "address" },
191
- { name: "v3Factory_", internalType: "address", type: "address" },
192
- { name: "swapRouter_", internalType: "address", type: "address" },
193
- { name: "airlock_", internalType: "address", type: "address" }
194
- ],
195
- stateMutability: "nonpayable"
196
- },
197
- { type: "receive", stateMutability: "payable" },
94
+ var baseCoinABI = [
198
95
  {
199
96
  type: "function",
200
97
  inputs: [],
@@ -202,13 +99,6 @@ var coinABI = [
202
99
  outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }],
203
100
  stateMutability: "view"
204
101
  },
205
- {
206
- type: "function",
207
- inputs: [],
208
- name: "WETH",
209
- outputs: [{ name: "", internalType: "address", type: "address" }],
210
- stateMutability: "view"
211
- },
212
102
  {
213
103
  type: "function",
214
104
  inputs: [{ name: "account", internalType: "address", type: "address" }],
@@ -266,29 +156,6 @@ var coinABI = [
266
156
  outputs: [],
267
157
  stateMutability: "nonpayable"
268
158
  },
269
- {
270
- type: "function",
271
- inputs: [
272
- { name: "recipient", internalType: "address", type: "address" },
273
- { name: "orderSize", internalType: "uint256", type: "uint256" },
274
- { name: "minAmountOut", internalType: "uint256", type: "uint256" },
275
- { name: "sqrtPriceLimitX96", internalType: "uint160", type: "uint160" },
276
- { name: "tradeReferrer", internalType: "address", type: "address" }
277
- ],
278
- name: "buy",
279
- outputs: [
280
- { name: "", internalType: "uint256", type: "uint256" },
281
- { name: "", internalType: "uint256", type: "uint256" }
282
- ],
283
- stateMutability: "payable"
284
- },
285
- {
286
- type: "function",
287
- inputs: [{ name: "pushEthRewards", internalType: "bool", type: "bool" }],
288
- name: "claimSecondaryRewards",
289
- outputs: [],
290
- stateMutability: "nonpayable"
291
- },
292
159
  {
293
160
  type: "function",
294
161
  inputs: [],
@@ -339,6 +206,48 @@ var coinABI = [
339
206
  ],
340
207
  stateMutability: "view"
341
208
  },
209
+ {
210
+ type: "function",
211
+ inputs: [
212
+ {
213
+ name: "coinVersionLookup",
214
+ internalType: "contract IDeployedCoinVersionLookup",
215
+ type: "address"
216
+ }
217
+ ],
218
+ name: "getPayoutSwapPath",
219
+ outputs: [
220
+ {
221
+ name: "payoutSwapPath",
222
+ internalType: "struct IHasSwapPath.PayoutSwapPath",
223
+ type: "tuple",
224
+ components: [
225
+ {
226
+ name: "path",
227
+ internalType: "struct PathKey[]",
228
+ type: "tuple[]",
229
+ components: [
230
+ {
231
+ name: "intermediateCurrency",
232
+ internalType: "Currency",
233
+ type: "address"
234
+ },
235
+ { name: "fee", internalType: "uint24", type: "uint24" },
236
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
237
+ {
238
+ name: "hooks",
239
+ internalType: "contract IHooks",
240
+ type: "address"
241
+ },
242
+ { name: "hookData", internalType: "bytes", type: "bytes" }
243
+ ]
244
+ },
245
+ { name: "currencyIn", internalType: "Currency", type: "address" }
246
+ ]
247
+ }
248
+ ],
249
+ stateMutability: "view"
250
+ },
342
251
  {
343
252
  type: "function",
344
253
  inputs: [],
@@ -370,6 +279,33 @@ var coinABI = [
370
279
  ],
371
280
  stateMutability: "view"
372
281
  },
282
+ {
283
+ type: "function",
284
+ inputs: [],
285
+ name: "getPoolKey",
286
+ outputs: [
287
+ {
288
+ name: "",
289
+ internalType: "struct PoolKey",
290
+ type: "tuple",
291
+ components: [
292
+ { name: "currency0", internalType: "Currency", type: "address" },
293
+ { name: "currency1", internalType: "Currency", type: "address" },
294
+ { name: "fee", internalType: "uint24", type: "uint24" },
295
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
296
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
297
+ ]
298
+ }
299
+ ],
300
+ stateMutability: "view"
301
+ },
302
+ {
303
+ type: "function",
304
+ inputs: [],
305
+ name: "hooks",
306
+ outputs: [{ name: "", internalType: "contract IHooks", type: "address" }],
307
+ stateMutability: "view"
308
+ },
373
309
  {
374
310
  type: "function",
375
311
  inputs: [
@@ -380,7 +316,19 @@ var coinABI = [
380
316
  { name: "symbol_", internalType: "string", type: "string" },
381
317
  { name: "platformReferrer_", internalType: "address", type: "address" },
382
318
  { name: "currency_", internalType: "address", type: "address" },
383
- { name: "poolAddress_", internalType: "address", type: "address" },
319
+ {
320
+ name: "poolKey_",
321
+ internalType: "struct PoolKey",
322
+ type: "tuple",
323
+ components: [
324
+ { name: "currency0", internalType: "Currency", type: "address" },
325
+ { name: "currency1", internalType: "Currency", type: "address" },
326
+ { name: "fee", internalType: "uint24", type: "uint24" },
327
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
328
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
329
+ ]
330
+ },
331
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" },
384
332
  {
385
333
  name: "poolConfiguration_",
386
334
  internalType: "struct PoolConfiguration",
@@ -403,16 +351,6 @@ var coinABI = [
403
351
  type: "uint256[]"
404
352
  }
405
353
  ]
406
- },
407
- {
408
- name: "positions_",
409
- internalType: "struct LpPosition[]",
410
- type: "tuple[]",
411
- components: [
412
- { name: "tickLower", internalType: "int24", type: "int24" },
413
- { name: "tickUpper", internalType: "int24", type: "int24" },
414
- { name: "liquidity", internalType: "uint128", type: "uint128" }
415
- ]
416
354
  }
417
355
  ],
418
356
  name: "initialize",
@@ -428,17 +366,26 @@ var coinABI = [
428
366
  },
429
367
  {
430
368
  type: "function",
431
- inputs: [],
432
- name: "market",
433
- outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
434
- stateMutability: "view"
435
- },
436
- {
437
- type: "function",
438
- inputs: [],
439
- name: "marketVersion",
440
- outputs: [{ name: "", internalType: "uint8", type: "uint8" }],
441
- stateMutability: "view"
369
+ inputs: [
370
+ { name: "newHook", internalType: "address", type: "address" },
371
+ { name: "additionalData", internalType: "bytes", type: "bytes" }
372
+ ],
373
+ name: "migrateLiquidity",
374
+ outputs: [
375
+ {
376
+ name: "newPoolKey",
377
+ internalType: "struct PoolKey",
378
+ type: "tuple",
379
+ components: [
380
+ { name: "currency0", internalType: "Currency", type: "address" },
381
+ { name: "currency1", internalType: "Currency", type: "address" },
382
+ { name: "fee", internalType: "uint24", type: "uint24" },
383
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
384
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
385
+ ]
386
+ }
387
+ ],
388
+ stateMutability: "nonpayable"
442
389
  },
443
390
  {
444
391
  type: "function",
@@ -493,30 +440,9 @@ var coinABI = [
493
440
  {
494
441
  type: "function",
495
442
  inputs: [],
496
- name: "poolAddress",
497
- outputs: [{ name: "", internalType: "address", type: "address" }],
498
- stateMutability: "view"
499
- },
500
- {
501
- type: "function",
502
- inputs: [],
503
- name: "poolConfiguration",
504
- outputs: [
505
- { name: "version", internalType: "uint8", type: "uint8" },
506
- { name: "numPositions", internalType: "uint16", type: "uint16" },
507
- { name: "fee", internalType: "uint24", type: "uint24" },
508
- { name: "tickSpacing", internalType: "int24", type: "int24" }
509
- ],
510
- stateMutability: "view"
511
- },
512
- {
513
- type: "function",
514
- inputs: [{ name: "", internalType: "uint256", type: "uint256" }],
515
- name: "positions",
443
+ name: "poolManager",
516
444
  outputs: [
517
- { name: "tickLower", internalType: "int24", type: "int24" },
518
- { name: "tickUpper", internalType: "int24", type: "int24" },
519
- { name: "liquidity", internalType: "uint128", type: "uint128" }
445
+ { name: "", internalType: "contract IPoolManager", type: "address" }
520
446
  ],
521
447
  stateMutability: "view"
522
448
  },
@@ -557,22 +483,6 @@ var coinABI = [
557
483
  outputs: [],
558
484
  stateMutability: "nonpayable"
559
485
  },
560
- {
561
- type: "function",
562
- inputs: [
563
- { name: "recipient", internalType: "address", type: "address" },
564
- { name: "orderSize", internalType: "uint256", type: "uint256" },
565
- { name: "minAmountOut", internalType: "uint256", type: "uint256" },
566
- { name: "sqrtPriceLimitX96", internalType: "uint160", type: "uint160" },
567
- { name: "tradeReferrer", internalType: "address", type: "address" }
568
- ],
569
- name: "sell",
570
- outputs: [
571
- { name: "", internalType: "uint256", type: "uint256" },
572
- { name: "", internalType: "uint256", type: "uint256" }
573
- ],
574
- stateMutability: "nonpayable"
575
- },
576
486
  {
577
487
  type: "function",
578
488
  inputs: [{ name: "newURI", internalType: "string", type: "string" }],
@@ -606,13 +516,6 @@ var coinABI = [
606
516
  outputs: [{ name: "", internalType: "bool", type: "bool" }],
607
517
  stateMutability: "view"
608
518
  },
609
- {
610
- type: "function",
611
- inputs: [],
612
- name: "swapRouter",
613
- outputs: [{ name: "", internalType: "address", type: "address" }],
614
- stateMutability: "view"
615
- },
616
519
  {
617
520
  type: "function",
618
521
  inputs: [],
@@ -655,24 +558,6 @@ var coinABI = [
655
558
  outputs: [{ name: "", internalType: "bool", type: "bool" }],
656
559
  stateMutability: "nonpayable"
657
560
  },
658
- {
659
- type: "function",
660
- inputs: [
661
- { name: "amount0Owed", internalType: "uint256", type: "uint256" },
662
- { name: "amount1Owed", internalType: "uint256", type: "uint256" },
663
- { name: "", internalType: "bytes", type: "bytes" }
664
- ],
665
- name: "uniswapV3MintCallback",
666
- outputs: [],
667
- stateMutability: "nonpayable"
668
- },
669
- {
670
- type: "function",
671
- inputs: [],
672
- name: "v3Factory",
673
- outputs: [{ name: "", internalType: "address", type: "address" }],
674
- stateMutability: "view"
675
- },
676
561
  {
677
562
  type: "event",
678
563
  anonymous: false,
@@ -1029,6 +914,51 @@ var coinABI = [
1029
914
  ],
1030
915
  name: "Initialized"
1031
916
  },
917
+ {
918
+ type: "event",
919
+ anonymous: false,
920
+ inputs: [
921
+ {
922
+ name: "fromPoolKey",
923
+ internalType: "struct PoolKey",
924
+ type: "tuple",
925
+ components: [
926
+ { name: "currency0", internalType: "Currency", type: "address" },
927
+ { name: "currency1", internalType: "Currency", type: "address" },
928
+ { name: "fee", internalType: "uint24", type: "uint24" },
929
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
930
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
931
+ ],
932
+ indexed: false
933
+ },
934
+ {
935
+ name: "fromPoolKeyHash",
936
+ internalType: "bytes32",
937
+ type: "bytes32",
938
+ indexed: false
939
+ },
940
+ {
941
+ name: "toPoolKey",
942
+ internalType: "struct PoolKey",
943
+ type: "tuple",
944
+ components: [
945
+ { name: "currency0", internalType: "Currency", type: "address" },
946
+ { name: "currency1", internalType: "Currency", type: "address" },
947
+ { name: "fee", internalType: "uint24", type: "uint24" },
948
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
949
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
950
+ ],
951
+ indexed: false
952
+ },
953
+ {
954
+ name: "toPoolKeyHash",
955
+ internalType: "bytes32",
956
+ type: "bytes32",
957
+ indexed: false
958
+ }
959
+ ],
960
+ name: "LiquidityMigrated"
961
+ },
1032
962
  {
1033
963
  type: "event",
1034
964
  anonymous: false,
@@ -1094,17 +1024,6 @@ var coinABI = [
1094
1024
  ],
1095
1025
  name: "Transfer"
1096
1026
  },
1097
- {
1098
- type: "error",
1099
- inputs: [{ name: "target", internalType: "address", type: "address" }],
1100
- name: "AddressEmptyCode"
1101
- },
1102
- {
1103
- type: "error",
1104
- inputs: [{ name: "account", internalType: "address", type: "address" }],
1105
- name: "AddressInsufficientBalance"
1106
- },
1107
- { type: "error", inputs: [], name: "AddressZero" },
1108
1027
  { type: "error", inputs: [], name: "AddressZero" },
1109
1028
  { type: "error", inputs: [], name: "AlreadyOwner" },
1110
1029
  { type: "error", inputs: [], name: "CannotMintZeroLiquidity" },
@@ -1180,7 +1099,6 @@ var coinABI = [
1180
1099
  { type: "error", inputs: [], name: "EthAmountTooSmall" },
1181
1100
  { type: "error", inputs: [], name: "EthTransferFailed" },
1182
1101
  { type: "error", inputs: [], name: "EthTransferInvalid" },
1183
- { type: "error", inputs: [], name: "FailedInnerCall" },
1184
1102
  { type: "error", inputs: [], name: "InitialOrderSizeTooLarge" },
1185
1103
  { type: "error", inputs: [], name: "InsufficientFunds" },
1186
1104
  { type: "error", inputs: [], name: "InsufficientLiquidity" },
@@ -1233,13 +1151,94 @@ var coinABI = [
1233
1151
  { type: "error", inputs: [], name: "OnlyWeth" },
1234
1152
  { type: "error", inputs: [], name: "OwnerCannotBeAddressZero" },
1235
1153
  { type: "error", inputs: [], name: "ReentrancyGuardReentrantCall" },
1154
+ { type: "error", inputs: [], name: "SlippageBoundsExceeded" },
1155
+ { type: "error", inputs: [], name: "UseRevokeOwnershipToRemoveSelf" }
1156
+ ];
1157
+ var buySupplyWithSwapRouterHookABI = [
1158
+ {
1159
+ type: "constructor",
1160
+ inputs: [
1161
+ {
1162
+ name: "_factory",
1163
+ internalType: "contract IZoraFactory",
1164
+ type: "address"
1165
+ },
1166
+ { name: "_swapRouter", internalType: "address", type: "address" },
1167
+ { name: "_poolManager", internalType: "address", type: "address" }
1168
+ ],
1169
+ stateMutability: "nonpayable"
1170
+ },
1171
+ {
1172
+ type: "function",
1173
+ inputs: [
1174
+ { name: "sender", internalType: "address", type: "address" },
1175
+ { name: "coin", internalType: "contract ICoin", type: "address" },
1176
+ { name: "hookData", internalType: "bytes", type: "bytes" }
1177
+ ],
1178
+ name: "afterCoinDeploy",
1179
+ outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
1180
+ stateMutability: "payable"
1181
+ },
1182
+ {
1183
+ type: "function",
1184
+ inputs: [],
1185
+ name: "factory",
1186
+ outputs: [
1187
+ { name: "", internalType: "contract IZoraFactory", type: "address" }
1188
+ ],
1189
+ stateMutability: "view"
1190
+ },
1191
+ {
1192
+ type: "function",
1193
+ inputs: [{ name: "interfaceId", internalType: "bytes4", type: "bytes4" }],
1194
+ name: "supportsInterface",
1195
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
1196
+ stateMutability: "pure"
1197
+ },
1198
+ {
1199
+ type: "function",
1200
+ inputs: [{ name: "data", internalType: "bytes", type: "bytes" }],
1201
+ name: "unlockCallback",
1202
+ outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
1203
+ stateMutability: "nonpayable"
1204
+ },
1205
+ {
1206
+ type: "error",
1207
+ inputs: [{ name: "target", internalType: "address", type: "address" }],
1208
+ name: "AddressEmptyCode"
1209
+ },
1210
+ {
1211
+ type: "error",
1212
+ inputs: [{ name: "account", internalType: "address", type: "address" }],
1213
+ name: "AddressInsufficientBalance"
1214
+ },
1215
+ { type: "error", inputs: [], name: "AddressZero" },
1216
+ {
1217
+ type: "error",
1218
+ inputs: [{ name: "balance", internalType: "uint256", type: "uint256" }],
1219
+ name: "CoinBalanceNot0"
1220
+ },
1221
+ {
1222
+ type: "error",
1223
+ inputs: [{ name: "balance", internalType: "uint256", type: "uint256" }],
1224
+ name: "CurrencyBalanceNot0"
1225
+ },
1226
+ { type: "error", inputs: [], name: "Erc20NotReceived" },
1227
+ { type: "error", inputs: [], name: "FailedInnerCall" },
1228
+ { type: "error", inputs: [], name: "HookNotImplemented" },
1229
+ { type: "error", inputs: [], name: "InvalidSwapRouterCall" },
1230
+ { type: "error", inputs: [], name: "NotFactory" },
1231
+ { type: "error", inputs: [], name: "OnlyPoolManager" },
1236
1232
  {
1237
1233
  type: "error",
1238
1234
  inputs: [{ name: "token", internalType: "address", type: "address" }],
1239
1235
  name: "SafeERC20FailedOperation"
1240
1236
  },
1241
- { type: "error", inputs: [], name: "SlippageBoundsExceeded" },
1242
- { type: "error", inputs: [], name: "UseRevokeOwnershipToRemoveSelf" }
1237
+ {
1238
+ type: "error",
1239
+ inputs: [{ name: "error", internalType: "bytes", type: "bytes" }],
1240
+ name: "SwapReverted"
1241
+ }
1243
1242
  ];
1244
1243
  var contentCoinABI = [
1245
1244
  {
@@ -4166,7 +4165,6 @@ var zoraFactoryImplABI = [
4166
4165
  {
4167
4166
  type: "constructor",
4168
4167
  inputs: [
4169
- { name: "_coinImpl", internalType: "address", type: "address" },
4170
4168
  { name: "_coinV4Impl", internalType: "address", type: "address" },
4171
4169
  { name: "_creatorCoinImpl", internalType: "address", type: "address" },
4172
4170
  { name: "_contentCoinHook", internalType: "address", type: "address" },
@@ -4202,13 +4200,6 @@ var zoraFactoryImplABI = [
4202
4200
  outputs: [{ name: "", internalType: "address", type: "address" }],
4203
4201
  stateMutability: "view"
4204
4202
  },
4205
- {
4206
- type: "function",
4207
- inputs: [],
4208
- name: "coinImpl",
4209
- outputs: [{ name: "", internalType: "address", type: "address" }],
4210
- stateMutability: "view"
4211
- },
4212
4203
  {
4213
4204
  type: "function",
4214
4205
  inputs: [],
@@ -4302,7 +4293,7 @@ var zoraFactoryImplABI = [
4302
4293
  { name: "symbol", internalType: "string", type: "string" },
4303
4294
  { name: "poolConfig", internalType: "bytes", type: "bytes" },
4304
4295
  { name: "platformReferrer", internalType: "address", type: "address" },
4305
- { name: "orderSize", internalType: "uint256", type: "uint256" }
4296
+ { name: "", internalType: "uint256", type: "uint256" }
4306
4297
  ],
4307
4298
  name: "deploy",
4308
4299
  outputs: [
@@ -4681,13 +4672,7 @@ var zoraFactoryImplABI = [
4681
4672
  inputs: [{ name: "target", internalType: "address", type: "address" }],
4682
4673
  name: "AddressEmptyCode"
4683
4674
  },
4684
- {
4685
- type: "error",
4686
- inputs: [{ name: "account", internalType: "address", type: "address" }],
4687
- name: "AddressInsufficientBalance"
4688
- },
4689
4675
  { type: "error", inputs: [], name: "ArrayLengthMismatch" },
4690
- { type: "error", inputs: [], name: "CannotMintZeroLiquidity" },
4691
4676
  { type: "error", inputs: [], name: "ConfigTickLowerMustBeLessThanTickUpper" },
4692
4677
  { type: "error", inputs: [], name: "Deprecated" },
4693
4678
  { type: "error", inputs: [], name: "ERC1167FailedCreateClone" },
@@ -4699,7 +4684,6 @@ var zoraFactoryImplABI = [
4699
4684
  name: "ERC1967InvalidImplementation"
4700
4685
  },
4701
4686
  { type: "error", inputs: [], name: "ERC1967NonPayable" },
4702
- { type: "error", inputs: [], name: "ERC20TransferAmountMismatch" },
4703
4687
  { type: "error", inputs: [], name: "EthTransferInvalid" },
4704
4688
  { type: "error", inputs: [], name: "FailedInnerCall" },
4705
4689
  { type: "error", inputs: [], name: "InvalidConfig" },
@@ -4714,14 +4698,6 @@ var zoraFactoryImplABI = [
4714
4698
  ],
4715
4699
  name: "InvalidTickRangeMisordered"
4716
4700
  },
4717
- {
4718
- type: "error",
4719
- inputs: [
4720
- { name: "tickLower", internalType: "int24", type: "int24" },
4721
- { name: "tickUpper", internalType: "int24", type: "int24" }
4722
- ],
4723
- name: "InvalidTickRangeMisordered"
4724
- },
4725
4701
  {
4726
4702
  type: "error",
4727
4703
  inputs: [
@@ -4743,11 +4719,6 @@ var zoraFactoryImplABI = [
4743
4719
  name: "OwnableUnauthorizedAccount"
4744
4720
  },
4745
4721
  { type: "error", inputs: [], name: "ReentrancyGuardReentrantCall" },
4746
- {
4747
- type: "error",
4748
- inputs: [{ name: "token", internalType: "address", type: "address" }],
4749
- name: "SafeERC20FailedOperation"
4750
- },
4751
4722
  { type: "error", inputs: [], name: "UUPSUnauthorizedCallContext" },
4752
4723
  {
4753
4724
  type: "error",
@@ -4767,8 +4738,8 @@ var zoraFactoryImplABI = [
4767
4738
  ];
4768
4739
  export {
4769
4740
  autoSwapperABI,
4741
+ baseCoinABI,
4770
4742
  buySupplyWithSwapRouterHookABI,
4771
- coinABI,
4772
4743
  contentCoinABI,
4773
4744
  creatorCoinABI,
4774
4745
  iPermit2ABI,