@zoralabs/coins 2.4.1 → 2.6.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 (55) hide show
  1. package/.abi-stability +923 -0
  2. package/.turbo/turbo-build$colon$js.log +143 -129
  3. package/CHANGELOG.md +38 -16
  4. package/abis/BaseCoin.json +23 -0
  5. package/abis/ContentCoin.json +23 -0
  6. package/abis/CreatorCoin.json +18 -0
  7. package/abis/ICoin.json +5 -0
  8. package/abis/ICoinV3.json +5 -0
  9. package/abis/IHasCreationInfo.json +20 -0
  10. package/abis/ITrendCoin.json +130 -0
  11. package/abis/ITrendCoinErrors.json +23 -0
  12. package/abis/IUniversalRouter.json +61 -0
  13. package/abis/IZoraFactory.json +227 -0
  14. package/abis/TrendCoin.json +2043 -0
  15. package/abis/ZoraFactoryImpl.json +232 -0
  16. package/dist/index.cjs +962 -117
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.js +960 -117
  19. package/dist/index.js.map +1 -1
  20. package/dist/wagmiGenerated.d.ts +1404 -131
  21. package/dist/wagmiGenerated.d.ts.map +1 -1
  22. package/package/wagmiGenerated.ts +970 -119
  23. package/package.json +4 -2
  24. package/src/BaseCoin.sol +44 -14
  25. package/src/ContentCoin.sol +20 -1
  26. package/src/CreatorCoin.sol +3 -0
  27. package/src/TrendCoin.sol +117 -0
  28. package/src/ZoraFactoryImpl.sol +142 -1
  29. package/src/hooks/ZoraV4CoinHook.sol +73 -8
  30. package/src/interfaces/ICoin.sol +5 -1
  31. package/src/interfaces/ICreatorCoin.sol +0 -3
  32. package/src/interfaces/IHasCreationInfo.sol +12 -0
  33. package/src/interfaces/IPoolManager.sol +13 -0
  34. package/src/interfaces/ITrendCoin.sol +26 -0
  35. package/src/interfaces/ITrendCoinErrors.sol +18 -0
  36. package/src/interfaces/IZoraFactory.sol +60 -1
  37. package/src/libs/CoinConstants.sol +25 -1
  38. package/src/libs/CoinRewardsV4.sol +67 -19
  39. package/src/libs/CoinSetup.sol +7 -1
  40. package/src/libs/TickerUtils.sol +84 -0
  41. package/src/libs/UniV4SwapToCurrency.sol +2 -1
  42. package/src/libs/V3ToV4SwapLib.sol +7 -3
  43. package/src/version/ContractVersionBase.sol +1 -1
  44. package/test/CoinUniV4.t.sol +4 -0
  45. package/test/ContentCoinRewards.t.sol +1 -0
  46. package/test/CreatorCoin.t.sol +2 -1
  47. package/test/CreatorCoinRewards.t.sol +1 -0
  48. package/test/Factory.t.sol +31 -5
  49. package/test/LaunchFee.t.sol +284 -0
  50. package/test/LiquidityMigration.t.sol +0 -2
  51. package/test/TrendCoin.t.sol +1077 -0
  52. package/test/Upgrades.t.sol +16 -3
  53. package/test/utils/FeeEstimatorHook.sol +33 -8
  54. package/test/utils/V4TestSetup.sol +36 -4
  55. package/wagmi.config.ts +2 -0
package/dist/index.cjs CHANGED
@@ -27,7 +27,9 @@ __export(index_exports, {
27
27
  creatorCoinABI: () => creatorCoinABI,
28
28
  iPermit2ABI: () => iPermit2ABI,
29
29
  iPoolConfigEncodingABI: () => iPoolConfigEncodingABI,
30
+ iPoolManagerABI: () => iPoolManagerABI,
30
31
  iUniswapV3PoolABI: () => iUniswapV3PoolABI,
32
+ iUniversalRouterABI: () => iUniversalRouterABI,
31
33
  zoraFactoryImplABI: () => zoraFactoryImplABI,
32
34
  zoraV4CoinHookABI: () => zoraV4CoinHookABI
33
35
  });
@@ -214,6 +216,16 @@ var baseCoinABI = [
214
216
  outputs: [{ name: "", internalType: "string", type: "string" }],
215
217
  stateMutability: "pure"
216
218
  },
219
+ {
220
+ type: "function",
221
+ inputs: [],
222
+ name: "creationInfo",
223
+ outputs: [
224
+ { name: "creationTimestamp", internalType: "uint256", type: "uint256" },
225
+ { name: "isDeploying", internalType: "bool", type: "bool" }
226
+ ],
227
+ stateMutability: "view"
228
+ },
217
229
  {
218
230
  type: "function",
219
231
  inputs: [],
@@ -1161,6 +1173,7 @@ var baseCoinABI = [
1161
1173
  ],
1162
1174
  name: "InvalidAccountNonce"
1163
1175
  },
1176
+ { type: "error", inputs: [], name: "InvalidCurrency" },
1164
1177
  { type: "error", inputs: [], name: "InvalidCurrencyLowerTick" },
1165
1178
  { type: "error", inputs: [], name: "InvalidInitialization" },
1166
1179
  { type: "error", inputs: [], name: "InvalidMarketType" },
@@ -1505,6 +1518,16 @@ var contentCoinABI = [
1505
1518
  outputs: [{ name: "", internalType: "string", type: "string" }],
1506
1519
  stateMutability: "pure"
1507
1520
  },
1521
+ {
1522
+ type: "function",
1523
+ inputs: [],
1524
+ name: "creationInfo",
1525
+ outputs: [
1526
+ { name: "creationTimestamp", internalType: "uint256", type: "uint256" },
1527
+ { name: "isDeploying", internalType: "bool", type: "bool" }
1528
+ ],
1529
+ stateMutability: "view"
1530
+ },
1508
1531
  {
1509
1532
  type: "function",
1510
1533
  inputs: [],
@@ -2452,6 +2475,7 @@ var contentCoinABI = [
2452
2475
  ],
2453
2476
  name: "InvalidAccountNonce"
2454
2477
  },
2478
+ { type: "error", inputs: [], name: "InvalidCurrency" },
2455
2479
  { type: "error", inputs: [], name: "InvalidCurrencyLowerTick" },
2456
2480
  { type: "error", inputs: [], name: "InvalidInitialization" },
2457
2481
  { type: "error", inputs: [], name: "InvalidMarketType" },
@@ -2608,6 +2632,16 @@ var creatorCoinABI = [
2608
2632
  outputs: [{ name: "", internalType: "string", type: "string" }],
2609
2633
  stateMutability: "pure"
2610
2634
  },
2635
+ {
2636
+ type: "function",
2637
+ inputs: [],
2638
+ name: "creationInfo",
2639
+ outputs: [
2640
+ { name: "creationTimestamp", internalType: "uint256", type: "uint256" },
2641
+ { name: "isDeploying", internalType: "bool", type: "bool" }
2642
+ ],
2643
+ stateMutability: "view"
2644
+ },
2611
2645
  {
2612
2646
  type: "function",
2613
2647
  inputs: [],
@@ -4194,57 +4228,57 @@ var iPoolConfigEncodingABI = [
4194
4228
  stateMutability: "pure"
4195
4229
  }
4196
4230
  ];
4197
- var iUniswapV3PoolABI = [
4231
+ var iPoolManagerABI = [
4198
4232
  {
4199
4233
  type: "function",
4200
4234
  inputs: [
4201
- { name: "tickLower", internalType: "int24", type: "int24" },
4202
- { name: "tickUpper", internalType: "int24", type: "int24" },
4203
- { name: "amount", internalType: "uint128", type: "uint128" }
4204
- ],
4205
- name: "burn",
4206
- outputs: [
4207
- { name: "amount0", internalType: "uint256", type: "uint256" },
4208
- { name: "amount1", internalType: "uint256", type: "uint256" }
4235
+ { name: "owner", internalType: "address", type: "address" },
4236
+ { name: "spender", internalType: "address", type: "address" },
4237
+ { name: "id", internalType: "uint256", type: "uint256" }
4209
4238
  ],
4210
- stateMutability: "nonpayable"
4239
+ name: "allowance",
4240
+ outputs: [{ name: "amount", internalType: "uint256", type: "uint256" }],
4241
+ stateMutability: "view"
4211
4242
  },
4212
4243
  {
4213
4244
  type: "function",
4214
4245
  inputs: [
4215
- { name: "recipient", internalType: "address", type: "address" },
4216
- { name: "tickLower", internalType: "int24", type: "int24" },
4217
- { name: "tickUpper", internalType: "int24", type: "int24" },
4218
- { name: "amount0Requested", internalType: "uint128", type: "uint128" },
4219
- { name: "amount1Requested", internalType: "uint128", type: "uint128" }
4220
- ],
4221
- name: "collect",
4222
- outputs: [
4223
- { name: "amount0", internalType: "uint128", type: "uint128" },
4224
- { name: "amount1", internalType: "uint128", type: "uint128" }
4246
+ { name: "spender", internalType: "address", type: "address" },
4247
+ { name: "id", internalType: "uint256", type: "uint256" },
4248
+ { name: "amount", internalType: "uint256", type: "uint256" }
4225
4249
  ],
4250
+ name: "approve",
4251
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
4226
4252
  stateMutability: "nonpayable"
4227
4253
  },
4228
4254
  {
4229
4255
  type: "function",
4230
- inputs: [],
4231
- name: "feeGrowthGlobal0X128",
4232
- outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
4256
+ inputs: [
4257
+ { name: "owner", internalType: "address", type: "address" },
4258
+ { name: "id", internalType: "uint256", type: "uint256" }
4259
+ ],
4260
+ name: "balanceOf",
4261
+ outputs: [{ name: "amount", internalType: "uint256", type: "uint256" }],
4233
4262
  stateMutability: "view"
4234
4263
  },
4235
4264
  {
4236
4265
  type: "function",
4237
- inputs: [],
4238
- name: "feeGrowthGlobal1X128",
4239
- outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
4240
- stateMutability: "view"
4266
+ inputs: [
4267
+ { name: "from", internalType: "address", type: "address" },
4268
+ { name: "id", internalType: "uint256", type: "uint256" },
4269
+ { name: "amount", internalType: "uint256", type: "uint256" }
4270
+ ],
4271
+ name: "burn",
4272
+ outputs: [],
4273
+ stateMutability: "nonpayable"
4241
4274
  },
4242
4275
  {
4243
4276
  type: "function",
4244
4277
  inputs: [
4245
- { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" }
4278
+ { name: "currency", internalType: "Currency", type: "address" },
4279
+ { name: "amount", internalType: "uint256", type: "uint256" }
4246
4280
  ],
4247
- name: "initialize",
4281
+ name: "clear",
4248
4282
  outputs: [],
4249
4283
  stateMutability: "nonpayable"
4250
4284
  },
@@ -4252,159 +4286,835 @@ var iUniswapV3PoolABI = [
4252
4286
  type: "function",
4253
4287
  inputs: [
4254
4288
  { name: "recipient", internalType: "address", type: "address" },
4255
- { name: "tickLower", internalType: "int24", type: "int24" },
4256
- { name: "tickUpper", internalType: "int24", type: "int24" },
4257
- { name: "amount", internalType: "uint128", type: "uint128" },
4258
- { name: "data", internalType: "bytes", type: "bytes" }
4289
+ { name: "currency", internalType: "Currency", type: "address" },
4290
+ { name: "amount", internalType: "uint256", type: "uint256" }
4259
4291
  ],
4260
- name: "mint",
4292
+ name: "collectProtocolFees",
4261
4293
  outputs: [
4262
- { name: "amount0", internalType: "uint256", type: "uint256" },
4263
- { name: "amount1", internalType: "uint256", type: "uint256" }
4294
+ { name: "amountCollected", internalType: "uint256", type: "uint256" }
4264
4295
  ],
4265
4296
  stateMutability: "nonpayable"
4266
4297
  },
4267
4298
  {
4268
4299
  type: "function",
4269
- inputs: [],
4270
- name: "slot0",
4271
- outputs: [
4300
+ inputs: [
4272
4301
  {
4273
- name: "slot0",
4274
- internalType: "struct IUniswapV3Pool.Slot0",
4302
+ name: "key",
4303
+ internalType: "struct PoolKey",
4275
4304
  type: "tuple",
4276
4305
  components: [
4277
- { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" },
4278
- { name: "tick", internalType: "int24", type: "int24" },
4279
- { name: "observationIndex", internalType: "uint16", type: "uint16" },
4280
- {
4281
- name: "observationCardinality",
4282
- internalType: "uint16",
4283
- type: "uint16"
4284
- },
4285
- {
4286
- name: "observationCardinalityNext",
4287
- internalType: "uint16",
4288
- type: "uint16"
4289
- },
4290
- { name: "feeProtocol", internalType: "uint8", type: "uint8" },
4291
- { name: "unlocked", internalType: "bool", type: "bool" }
4306
+ { name: "currency0", internalType: "Currency", type: "address" },
4307
+ { name: "currency1", internalType: "Currency", type: "address" },
4308
+ { name: "fee", internalType: "uint24", type: "uint24" },
4309
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4310
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4292
4311
  ]
4293
- }
4312
+ },
4313
+ { name: "amount0", internalType: "uint256", type: "uint256" },
4314
+ { name: "amount1", internalType: "uint256", type: "uint256" },
4315
+ { name: "hookData", internalType: "bytes", type: "bytes" }
4294
4316
  ],
4317
+ name: "donate",
4318
+ outputs: [{ name: "", internalType: "BalanceDelta", type: "int256" }],
4319
+ stateMutability: "nonpayable"
4320
+ },
4321
+ {
4322
+ type: "function",
4323
+ inputs: [{ name: "slot", internalType: "bytes32", type: "bytes32" }],
4324
+ name: "extsload",
4325
+ outputs: [{ name: "value", internalType: "bytes32", type: "bytes32" }],
4295
4326
  stateMutability: "view"
4296
4327
  },
4297
4328
  {
4298
4329
  type: "function",
4299
4330
  inputs: [
4300
- { name: "recipient", internalType: "address", type: "address" },
4301
- { name: "zeroForOne", internalType: "bool", type: "bool" },
4302
- { name: "amountSpecified", internalType: "int256", type: "int256" },
4303
- { name: "sqrtPriceLimitX96", internalType: "uint160", type: "uint160" },
4304
- { name: "data", internalType: "bytes", type: "bytes" }
4305
- ],
4306
- name: "swap",
4307
- outputs: [
4308
- { name: "amount0", internalType: "int256", type: "int256" },
4309
- { name: "amount1", internalType: "int256", type: "int256" }
4331
+ { name: "startSlot", internalType: "bytes32", type: "bytes32" },
4332
+ { name: "nSlots", internalType: "uint256", type: "uint256" }
4310
4333
  ],
4311
- stateMutability: "nonpayable"
4334
+ name: "extsload",
4335
+ outputs: [{ name: "values", internalType: "bytes32[]", type: "bytes32[]" }],
4336
+ stateMutability: "view"
4312
4337
  },
4313
4338
  {
4314
4339
  type: "function",
4315
- inputs: [],
4316
- name: "token0",
4317
- outputs: [{ name: "", internalType: "address", type: "address" }],
4318
- stateMutability: "nonpayable"
4340
+ inputs: [{ name: "slots", internalType: "bytes32[]", type: "bytes32[]" }],
4341
+ name: "extsload",
4342
+ outputs: [{ name: "values", internalType: "bytes32[]", type: "bytes32[]" }],
4343
+ stateMutability: "view"
4319
4344
  },
4320
4345
  {
4321
4346
  type: "function",
4322
- inputs: [],
4323
- name: "token1",
4324
- outputs: [{ name: "", internalType: "address", type: "address" }],
4325
- stateMutability: "nonpayable"
4326
- }
4327
- ];
4328
- var zoraFactoryImplABI = [
4347
+ inputs: [{ name: "slots", internalType: "bytes32[]", type: "bytes32[]" }],
4348
+ name: "exttload",
4349
+ outputs: [{ name: "values", internalType: "bytes32[]", type: "bytes32[]" }],
4350
+ stateMutability: "view"
4351
+ },
4329
4352
  {
4330
- type: "constructor",
4353
+ type: "function",
4354
+ inputs: [{ name: "slot", internalType: "bytes32", type: "bytes32" }],
4355
+ name: "exttload",
4356
+ outputs: [{ name: "value", internalType: "bytes32", type: "bytes32" }],
4357
+ stateMutability: "view"
4358
+ },
4359
+ {
4360
+ type: "function",
4331
4361
  inputs: [
4332
- { name: "coinV4Impl_", internalType: "address", type: "address" },
4333
- { name: "creatorCoinImpl_", internalType: "address", type: "address" },
4334
- { name: "hook_", internalType: "address", type: "address" },
4335
- { name: "zoraHookRegistry_", internalType: "address", type: "address" }
4362
+ {
4363
+ name: "key",
4364
+ internalType: "struct PoolKey",
4365
+ type: "tuple",
4366
+ components: [
4367
+ { name: "currency0", internalType: "Currency", type: "address" },
4368
+ { name: "currency1", internalType: "Currency", type: "address" },
4369
+ { name: "fee", internalType: "uint24", type: "uint24" },
4370
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4371
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4372
+ ]
4373
+ },
4374
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" }
4336
4375
  ],
4376
+ name: "initialize",
4377
+ outputs: [{ name: "tick", internalType: "int24", type: "int24" }],
4337
4378
  stateMutability: "nonpayable"
4338
4379
  },
4339
4380
  {
4340
4381
  type: "function",
4341
- inputs: [],
4342
- name: "UPGRADE_INTERFACE_VERSION",
4343
- outputs: [{ name: "", internalType: "string", type: "string" }],
4382
+ inputs: [
4383
+ { name: "owner", internalType: "address", type: "address" },
4384
+ { name: "spender", internalType: "address", type: "address" }
4385
+ ],
4386
+ name: "isOperator",
4387
+ outputs: [{ name: "approved", internalType: "bool", type: "bool" }],
4344
4388
  stateMutability: "view"
4345
4389
  },
4346
4390
  {
4347
4391
  type: "function",
4348
- inputs: [],
4349
- name: "acceptOwnership",
4392
+ inputs: [
4393
+ { name: "to", internalType: "address", type: "address" },
4394
+ { name: "id", internalType: "uint256", type: "uint256" },
4395
+ { name: "amount", internalType: "uint256", type: "uint256" }
4396
+ ],
4397
+ name: "mint",
4350
4398
  outputs: [],
4351
4399
  stateMutability: "nonpayable"
4352
4400
  },
4353
4401
  {
4354
4402
  type: "function",
4355
4403
  inputs: [
4356
- { name: "msgSender", internalType: "address", type: "address" },
4357
- { name: "name", internalType: "string", type: "string" },
4358
- { name: "symbol", internalType: "string", type: "string" },
4359
- { name: "poolConfig", internalType: "bytes", type: "bytes" },
4360
- { name: "platformReferrer", internalType: "address", type: "address" },
4361
- { name: "coinSalt", internalType: "bytes32", type: "bytes32" }
4404
+ {
4405
+ name: "key",
4406
+ internalType: "struct PoolKey",
4407
+ type: "tuple",
4408
+ components: [
4409
+ { name: "currency0", internalType: "Currency", type: "address" },
4410
+ { name: "currency1", internalType: "Currency", type: "address" },
4411
+ { name: "fee", internalType: "uint24", type: "uint24" },
4412
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4413
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4414
+ ]
4415
+ },
4416
+ {
4417
+ name: "params",
4418
+ internalType: "struct ModifyLiquidityParams",
4419
+ type: "tuple",
4420
+ components: [
4421
+ { name: "tickLower", internalType: "int24", type: "int24" },
4422
+ { name: "tickUpper", internalType: "int24", type: "int24" },
4423
+ { name: "liquidityDelta", internalType: "int256", type: "int256" },
4424
+ { name: "salt", internalType: "bytes32", type: "bytes32" }
4425
+ ]
4426
+ },
4427
+ { name: "hookData", internalType: "bytes", type: "bytes" }
4362
4428
  ],
4363
- name: "coinAddress",
4364
- outputs: [{ name: "", internalType: "address", type: "address" }],
4365
- stateMutability: "view"
4429
+ name: "modifyLiquidity",
4430
+ outputs: [
4431
+ { name: "callerDelta", internalType: "BalanceDelta", type: "int256" },
4432
+ { name: "feesAccrued", internalType: "BalanceDelta", type: "int256" }
4433
+ ],
4434
+ stateMutability: "nonpayable"
4366
4435
  },
4367
4436
  {
4368
4437
  type: "function",
4369
4438
  inputs: [],
4370
- name: "coinV4Impl",
4439
+ name: "protocolFeeController",
4371
4440
  outputs: [{ name: "", internalType: "address", type: "address" }],
4372
4441
  stateMutability: "view"
4373
4442
  },
4374
4443
  {
4375
4444
  type: "function",
4376
- inputs: [],
4377
- name: "contentCoinHook",
4378
- outputs: [{ name: "", internalType: "address", type: "address" }],
4445
+ inputs: [{ name: "currency", internalType: "Currency", type: "address" }],
4446
+ name: "protocolFeesAccrued",
4447
+ outputs: [{ name: "amount", internalType: "uint256", type: "uint256" }],
4379
4448
  stateMutability: "view"
4380
4449
  },
4381
4450
  {
4382
4451
  type: "function",
4383
- inputs: [],
4384
- name: "contractName",
4385
- outputs: [{ name: "", internalType: "string", type: "string" }],
4386
- stateMutability: "pure"
4452
+ inputs: [
4453
+ { name: "operator", internalType: "address", type: "address" },
4454
+ { name: "approved", internalType: "bool", type: "bool" }
4455
+ ],
4456
+ name: "setOperator",
4457
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
4458
+ stateMutability: "nonpayable"
4387
4459
  },
4388
4460
  {
4389
4461
  type: "function",
4390
- inputs: [],
4391
- name: "contractVersion",
4392
- outputs: [{ name: "", internalType: "string", type: "string" }],
4393
- stateMutability: "pure"
4462
+ inputs: [
4463
+ {
4464
+ name: "key",
4465
+ internalType: "struct PoolKey",
4466
+ type: "tuple",
4467
+ components: [
4468
+ { name: "currency0", internalType: "Currency", type: "address" },
4469
+ { name: "currency1", internalType: "Currency", type: "address" },
4470
+ { name: "fee", internalType: "uint24", type: "uint24" },
4471
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4472
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4473
+ ]
4474
+ },
4475
+ { name: "newProtocolFee", internalType: "uint24", type: "uint24" }
4476
+ ],
4477
+ name: "setProtocolFee",
4478
+ outputs: [],
4479
+ stateMutability: "nonpayable"
4394
4480
  },
4395
4481
  {
4396
4482
  type: "function",
4397
- inputs: [],
4398
- name: "creatorCoinHook",
4399
- outputs: [{ name: "", internalType: "address", type: "address" }],
4400
- stateMutability: "view"
4483
+ inputs: [{ name: "controller", internalType: "address", type: "address" }],
4484
+ name: "setProtocolFeeController",
4485
+ outputs: [],
4486
+ stateMutability: "nonpayable"
4401
4487
  },
4402
4488
  {
4403
4489
  type: "function",
4404
4490
  inputs: [],
4405
- name: "creatorCoinImpl",
4406
- outputs: [{ name: "", internalType: "address", type: "address" }],
4407
- stateMutability: "view"
4491
+ name: "settle",
4492
+ outputs: [{ name: "paid", internalType: "uint256", type: "uint256" }],
4493
+ stateMutability: "payable"
4494
+ },
4495
+ {
4496
+ type: "function",
4497
+ inputs: [{ name: "recipient", internalType: "address", type: "address" }],
4498
+ name: "settleFor",
4499
+ outputs: [{ name: "paid", internalType: "uint256", type: "uint256" }],
4500
+ stateMutability: "payable"
4501
+ },
4502
+ {
4503
+ type: "function",
4504
+ inputs: [
4505
+ {
4506
+ name: "key",
4507
+ internalType: "struct PoolKey",
4508
+ type: "tuple",
4509
+ components: [
4510
+ { name: "currency0", internalType: "Currency", type: "address" },
4511
+ { name: "currency1", internalType: "Currency", type: "address" },
4512
+ { name: "fee", internalType: "uint24", type: "uint24" },
4513
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4514
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4515
+ ]
4516
+ },
4517
+ {
4518
+ name: "params",
4519
+ internalType: "struct SwapParams",
4520
+ type: "tuple",
4521
+ components: [
4522
+ { name: "zeroForOne", internalType: "bool", type: "bool" },
4523
+ { name: "amountSpecified", internalType: "int256", type: "int256" },
4524
+ {
4525
+ name: "sqrtPriceLimitX96",
4526
+ internalType: "uint160",
4527
+ type: "uint160"
4528
+ }
4529
+ ]
4530
+ },
4531
+ { name: "hookData", internalType: "bytes", type: "bytes" }
4532
+ ],
4533
+ name: "swap",
4534
+ outputs: [
4535
+ { name: "swapDelta", internalType: "BalanceDelta", type: "int256" }
4536
+ ],
4537
+ stateMutability: "nonpayable"
4538
+ },
4539
+ {
4540
+ type: "function",
4541
+ inputs: [{ name: "currency", internalType: "Currency", type: "address" }],
4542
+ name: "sync",
4543
+ outputs: [],
4544
+ stateMutability: "nonpayable"
4545
+ },
4546
+ {
4547
+ type: "function",
4548
+ inputs: [
4549
+ { name: "currency", internalType: "Currency", type: "address" },
4550
+ { name: "to", internalType: "address", type: "address" },
4551
+ { name: "amount", internalType: "uint256", type: "uint256" }
4552
+ ],
4553
+ name: "take",
4554
+ outputs: [],
4555
+ stateMutability: "nonpayable"
4556
+ },
4557
+ {
4558
+ type: "function",
4559
+ inputs: [
4560
+ { name: "receiver", internalType: "address", type: "address" },
4561
+ { name: "id", internalType: "uint256", type: "uint256" },
4562
+ { name: "amount", internalType: "uint256", type: "uint256" }
4563
+ ],
4564
+ name: "transfer",
4565
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
4566
+ stateMutability: "nonpayable"
4567
+ },
4568
+ {
4569
+ type: "function",
4570
+ inputs: [
4571
+ { name: "sender", internalType: "address", type: "address" },
4572
+ { name: "receiver", internalType: "address", type: "address" },
4573
+ { name: "id", internalType: "uint256", type: "uint256" },
4574
+ { name: "amount", internalType: "uint256", type: "uint256" }
4575
+ ],
4576
+ name: "transferFrom",
4577
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
4578
+ stateMutability: "nonpayable"
4579
+ },
4580
+ {
4581
+ type: "function",
4582
+ inputs: [{ name: "data", internalType: "bytes", type: "bytes" }],
4583
+ name: "unlock",
4584
+ outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
4585
+ stateMutability: "nonpayable"
4586
+ },
4587
+ {
4588
+ type: "function",
4589
+ inputs: [
4590
+ {
4591
+ name: "key",
4592
+ internalType: "struct PoolKey",
4593
+ type: "tuple",
4594
+ components: [
4595
+ { name: "currency0", internalType: "Currency", type: "address" },
4596
+ { name: "currency1", internalType: "Currency", type: "address" },
4597
+ { name: "fee", internalType: "uint24", type: "uint24" },
4598
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4599
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4600
+ ]
4601
+ },
4602
+ { name: "newDynamicLPFee", internalType: "uint24", type: "uint24" }
4603
+ ],
4604
+ name: "updateDynamicLPFee",
4605
+ outputs: [],
4606
+ stateMutability: "nonpayable"
4607
+ },
4608
+ {
4609
+ type: "event",
4610
+ anonymous: false,
4611
+ inputs: [
4612
+ {
4613
+ name: "owner",
4614
+ internalType: "address",
4615
+ type: "address",
4616
+ indexed: true
4617
+ },
4618
+ {
4619
+ name: "spender",
4620
+ internalType: "address",
4621
+ type: "address",
4622
+ indexed: true
4623
+ },
4624
+ { name: "id", internalType: "uint256", type: "uint256", indexed: true },
4625
+ {
4626
+ name: "amount",
4627
+ internalType: "uint256",
4628
+ type: "uint256",
4629
+ indexed: false
4630
+ }
4631
+ ],
4632
+ name: "Approval"
4633
+ },
4634
+ {
4635
+ type: "event",
4636
+ anonymous: false,
4637
+ inputs: [
4638
+ { name: "id", internalType: "PoolId", type: "bytes32", indexed: true },
4639
+ {
4640
+ name: "sender",
4641
+ internalType: "address",
4642
+ type: "address",
4643
+ indexed: true
4644
+ },
4645
+ {
4646
+ name: "amount0",
4647
+ internalType: "uint256",
4648
+ type: "uint256",
4649
+ indexed: false
4650
+ },
4651
+ {
4652
+ name: "amount1",
4653
+ internalType: "uint256",
4654
+ type: "uint256",
4655
+ indexed: false
4656
+ }
4657
+ ],
4658
+ name: "Donate"
4659
+ },
4660
+ {
4661
+ type: "event",
4662
+ anonymous: false,
4663
+ inputs: [
4664
+ { name: "id", internalType: "PoolId", type: "bytes32", indexed: true },
4665
+ {
4666
+ name: "currency0",
4667
+ internalType: "Currency",
4668
+ type: "address",
4669
+ indexed: true
4670
+ },
4671
+ {
4672
+ name: "currency1",
4673
+ internalType: "Currency",
4674
+ type: "address",
4675
+ indexed: true
4676
+ },
4677
+ { name: "fee", internalType: "uint24", type: "uint24", indexed: false },
4678
+ {
4679
+ name: "tickSpacing",
4680
+ internalType: "int24",
4681
+ type: "int24",
4682
+ indexed: false
4683
+ },
4684
+ {
4685
+ name: "hooks",
4686
+ internalType: "contract IHooks",
4687
+ type: "address",
4688
+ indexed: false
4689
+ },
4690
+ {
4691
+ name: "sqrtPriceX96",
4692
+ internalType: "uint160",
4693
+ type: "uint160",
4694
+ indexed: false
4695
+ },
4696
+ { name: "tick", internalType: "int24", type: "int24", indexed: false }
4697
+ ],
4698
+ name: "Initialize"
4699
+ },
4700
+ {
4701
+ type: "event",
4702
+ anonymous: false,
4703
+ inputs: [
4704
+ { name: "id", internalType: "PoolId", type: "bytes32", indexed: true },
4705
+ {
4706
+ name: "sender",
4707
+ internalType: "address",
4708
+ type: "address",
4709
+ indexed: true
4710
+ },
4711
+ {
4712
+ name: "tickLower",
4713
+ internalType: "int24",
4714
+ type: "int24",
4715
+ indexed: false
4716
+ },
4717
+ {
4718
+ name: "tickUpper",
4719
+ internalType: "int24",
4720
+ type: "int24",
4721
+ indexed: false
4722
+ },
4723
+ {
4724
+ name: "liquidityDelta",
4725
+ internalType: "int256",
4726
+ type: "int256",
4727
+ indexed: false
4728
+ },
4729
+ {
4730
+ name: "salt",
4731
+ internalType: "bytes32",
4732
+ type: "bytes32",
4733
+ indexed: false
4734
+ }
4735
+ ],
4736
+ name: "ModifyLiquidity"
4737
+ },
4738
+ {
4739
+ type: "event",
4740
+ anonymous: false,
4741
+ inputs: [
4742
+ {
4743
+ name: "owner",
4744
+ internalType: "address",
4745
+ type: "address",
4746
+ indexed: true
4747
+ },
4748
+ {
4749
+ name: "operator",
4750
+ internalType: "address",
4751
+ type: "address",
4752
+ indexed: true
4753
+ },
4754
+ { name: "approved", internalType: "bool", type: "bool", indexed: false }
4755
+ ],
4756
+ name: "OperatorSet"
4757
+ },
4758
+ {
4759
+ type: "event",
4760
+ anonymous: false,
4761
+ inputs: [
4762
+ {
4763
+ name: "protocolFeeController",
4764
+ internalType: "address",
4765
+ type: "address",
4766
+ indexed: true
4767
+ }
4768
+ ],
4769
+ name: "ProtocolFeeControllerUpdated"
4770
+ },
4771
+ {
4772
+ type: "event",
4773
+ anonymous: false,
4774
+ inputs: [
4775
+ { name: "id", internalType: "PoolId", type: "bytes32", indexed: true },
4776
+ {
4777
+ name: "protocolFee",
4778
+ internalType: "uint24",
4779
+ type: "uint24",
4780
+ indexed: false
4781
+ }
4782
+ ],
4783
+ name: "ProtocolFeeUpdated"
4784
+ },
4785
+ {
4786
+ type: "event",
4787
+ anonymous: false,
4788
+ inputs: [
4789
+ { name: "id", internalType: "PoolId", type: "bytes32", indexed: true },
4790
+ {
4791
+ name: "sender",
4792
+ internalType: "address",
4793
+ type: "address",
4794
+ indexed: true
4795
+ },
4796
+ {
4797
+ name: "amount0",
4798
+ internalType: "int128",
4799
+ type: "int128",
4800
+ indexed: false
4801
+ },
4802
+ {
4803
+ name: "amount1",
4804
+ internalType: "int128",
4805
+ type: "int128",
4806
+ indexed: false
4807
+ },
4808
+ {
4809
+ name: "sqrtPriceX96",
4810
+ internalType: "uint160",
4811
+ type: "uint160",
4812
+ indexed: false
4813
+ },
4814
+ {
4815
+ name: "liquidity",
4816
+ internalType: "uint128",
4817
+ type: "uint128",
4818
+ indexed: false
4819
+ },
4820
+ { name: "tick", internalType: "int24", type: "int24", indexed: false },
4821
+ { name: "fee", internalType: "uint24", type: "uint24", indexed: false }
4822
+ ],
4823
+ name: "Swap"
4824
+ },
4825
+ {
4826
+ type: "event",
4827
+ anonymous: false,
4828
+ inputs: [
4829
+ {
4830
+ name: "caller",
4831
+ internalType: "address",
4832
+ type: "address",
4833
+ indexed: false
4834
+ },
4835
+ { name: "from", internalType: "address", type: "address", indexed: true },
4836
+ { name: "to", internalType: "address", type: "address", indexed: true },
4837
+ { name: "id", internalType: "uint256", type: "uint256", indexed: true },
4838
+ {
4839
+ name: "amount",
4840
+ internalType: "uint256",
4841
+ type: "uint256",
4842
+ indexed: false
4843
+ }
4844
+ ],
4845
+ name: "Transfer"
4846
+ },
4847
+ { type: "error", inputs: [], name: "AlreadyUnlocked" },
4848
+ {
4849
+ type: "error",
4850
+ inputs: [
4851
+ { name: "currency0", internalType: "address", type: "address" },
4852
+ { name: "currency1", internalType: "address", type: "address" }
4853
+ ],
4854
+ name: "CurrenciesOutOfOrderOrEqual"
4855
+ },
4856
+ { type: "error", inputs: [], name: "CurrencyNotSettled" },
4857
+ { type: "error", inputs: [], name: "InvalidCaller" },
4858
+ { type: "error", inputs: [], name: "ManagerLocked" },
4859
+ { type: "error", inputs: [], name: "MustClearExactPositiveDelta" },
4860
+ { type: "error", inputs: [], name: "NonzeroNativeValue" },
4861
+ { type: "error", inputs: [], name: "PoolNotInitialized" },
4862
+ { type: "error", inputs: [], name: "ProtocolFeeCurrencySynced" },
4863
+ {
4864
+ type: "error",
4865
+ inputs: [{ name: "fee", internalType: "uint24", type: "uint24" }],
4866
+ name: "ProtocolFeeTooLarge"
4867
+ },
4868
+ { type: "error", inputs: [], name: "SwapAmountCannotBeZero" },
4869
+ {
4870
+ type: "error",
4871
+ inputs: [{ name: "tickSpacing", internalType: "int24", type: "int24" }],
4872
+ name: "TickSpacingTooLarge"
4873
+ },
4874
+ {
4875
+ type: "error",
4876
+ inputs: [{ name: "tickSpacing", internalType: "int24", type: "int24" }],
4877
+ name: "TickSpacingTooSmall"
4878
+ },
4879
+ { type: "error", inputs: [], name: "UnauthorizedDynamicLPFeeUpdate" }
4880
+ ];
4881
+ var iUniswapV3PoolABI = [
4882
+ {
4883
+ type: "function",
4884
+ inputs: [
4885
+ { name: "tickLower", internalType: "int24", type: "int24" },
4886
+ { name: "tickUpper", internalType: "int24", type: "int24" },
4887
+ { name: "amount", internalType: "uint128", type: "uint128" }
4888
+ ],
4889
+ name: "burn",
4890
+ outputs: [
4891
+ { name: "amount0", internalType: "uint256", type: "uint256" },
4892
+ { name: "amount1", internalType: "uint256", type: "uint256" }
4893
+ ],
4894
+ stateMutability: "nonpayable"
4895
+ },
4896
+ {
4897
+ type: "function",
4898
+ inputs: [
4899
+ { name: "recipient", internalType: "address", type: "address" },
4900
+ { name: "tickLower", internalType: "int24", type: "int24" },
4901
+ { name: "tickUpper", internalType: "int24", type: "int24" },
4902
+ { name: "amount0Requested", internalType: "uint128", type: "uint128" },
4903
+ { name: "amount1Requested", internalType: "uint128", type: "uint128" }
4904
+ ],
4905
+ name: "collect",
4906
+ outputs: [
4907
+ { name: "amount0", internalType: "uint128", type: "uint128" },
4908
+ { name: "amount1", internalType: "uint128", type: "uint128" }
4909
+ ],
4910
+ stateMutability: "nonpayable"
4911
+ },
4912
+ {
4913
+ type: "function",
4914
+ inputs: [],
4915
+ name: "feeGrowthGlobal0X128",
4916
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
4917
+ stateMutability: "view"
4918
+ },
4919
+ {
4920
+ type: "function",
4921
+ inputs: [],
4922
+ name: "feeGrowthGlobal1X128",
4923
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
4924
+ stateMutability: "view"
4925
+ },
4926
+ {
4927
+ type: "function",
4928
+ inputs: [
4929
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" }
4930
+ ],
4931
+ name: "initialize",
4932
+ outputs: [],
4933
+ stateMutability: "nonpayable"
4934
+ },
4935
+ {
4936
+ type: "function",
4937
+ inputs: [
4938
+ { name: "recipient", internalType: "address", type: "address" },
4939
+ { name: "tickLower", internalType: "int24", type: "int24" },
4940
+ { name: "tickUpper", internalType: "int24", type: "int24" },
4941
+ { name: "amount", internalType: "uint128", type: "uint128" },
4942
+ { name: "data", internalType: "bytes", type: "bytes" }
4943
+ ],
4944
+ name: "mint",
4945
+ outputs: [
4946
+ { name: "amount0", internalType: "uint256", type: "uint256" },
4947
+ { name: "amount1", internalType: "uint256", type: "uint256" }
4948
+ ],
4949
+ stateMutability: "nonpayable"
4950
+ },
4951
+ {
4952
+ type: "function",
4953
+ inputs: [],
4954
+ name: "slot0",
4955
+ outputs: [
4956
+ {
4957
+ name: "slot0",
4958
+ internalType: "struct IUniswapV3Pool.Slot0",
4959
+ type: "tuple",
4960
+ components: [
4961
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" },
4962
+ { name: "tick", internalType: "int24", type: "int24" },
4963
+ { name: "observationIndex", internalType: "uint16", type: "uint16" },
4964
+ {
4965
+ name: "observationCardinality",
4966
+ internalType: "uint16",
4967
+ type: "uint16"
4968
+ },
4969
+ {
4970
+ name: "observationCardinalityNext",
4971
+ internalType: "uint16",
4972
+ type: "uint16"
4973
+ },
4974
+ { name: "feeProtocol", internalType: "uint8", type: "uint8" },
4975
+ { name: "unlocked", internalType: "bool", type: "bool" }
4976
+ ]
4977
+ }
4978
+ ],
4979
+ stateMutability: "view"
4980
+ },
4981
+ {
4982
+ type: "function",
4983
+ inputs: [
4984
+ { name: "recipient", internalType: "address", type: "address" },
4985
+ { name: "zeroForOne", internalType: "bool", type: "bool" },
4986
+ { name: "amountSpecified", internalType: "int256", type: "int256" },
4987
+ { name: "sqrtPriceLimitX96", internalType: "uint160", type: "uint160" },
4988
+ { name: "data", internalType: "bytes", type: "bytes" }
4989
+ ],
4990
+ name: "swap",
4991
+ outputs: [
4992
+ { name: "amount0", internalType: "int256", type: "int256" },
4993
+ { name: "amount1", internalType: "int256", type: "int256" }
4994
+ ],
4995
+ stateMutability: "nonpayable"
4996
+ },
4997
+ {
4998
+ type: "function",
4999
+ inputs: [],
5000
+ name: "token0",
5001
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5002
+ stateMutability: "nonpayable"
5003
+ },
5004
+ {
5005
+ type: "function",
5006
+ inputs: [],
5007
+ name: "token1",
5008
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5009
+ stateMutability: "nonpayable"
5010
+ }
5011
+ ];
5012
+ var iUniversalRouterABI = [
5013
+ {
5014
+ type: "function",
5015
+ inputs: [
5016
+ { name: "commands", internalType: "bytes", type: "bytes" },
5017
+ { name: "inputs", internalType: "bytes[]", type: "bytes[]" },
5018
+ { name: "deadline", internalType: "uint256", type: "uint256" }
5019
+ ],
5020
+ name: "execute",
5021
+ outputs: [],
5022
+ stateMutability: "payable"
5023
+ },
5024
+ { type: "error", inputs: [], name: "ETHNotAccepted" },
5025
+ {
5026
+ type: "error",
5027
+ inputs: [
5028
+ { name: "commandIndex", internalType: "uint256", type: "uint256" },
5029
+ { name: "message", internalType: "bytes", type: "bytes" }
5030
+ ],
5031
+ name: "ExecutionFailed"
5032
+ },
5033
+ { type: "error", inputs: [], name: "InvalidEthSender" },
5034
+ { type: "error", inputs: [], name: "LengthMismatch" },
5035
+ { type: "error", inputs: [], name: "TransactionDeadlinePassed" }
5036
+ ];
5037
+ var zoraFactoryImplABI = [
5038
+ {
5039
+ type: "constructor",
5040
+ inputs: [
5041
+ { name: "coinV4Impl_", internalType: "address", type: "address" },
5042
+ { name: "creatorCoinImpl_", internalType: "address", type: "address" },
5043
+ { name: "trendCoinImpl_", internalType: "address", type: "address" },
5044
+ { name: "hook_", internalType: "address", type: "address" },
5045
+ { name: "zoraHookRegistry_", internalType: "address", type: "address" }
5046
+ ],
5047
+ stateMutability: "nonpayable"
5048
+ },
5049
+ {
5050
+ type: "function",
5051
+ inputs: [],
5052
+ name: "UPGRADE_INTERFACE_VERSION",
5053
+ outputs: [{ name: "", internalType: "string", type: "string" }],
5054
+ stateMutability: "view"
5055
+ },
5056
+ {
5057
+ type: "function",
5058
+ inputs: [],
5059
+ name: "acceptOwnership",
5060
+ outputs: [],
5061
+ stateMutability: "nonpayable"
5062
+ },
5063
+ {
5064
+ type: "function",
5065
+ inputs: [
5066
+ { name: "msgSender", internalType: "address", type: "address" },
5067
+ { name: "name", internalType: "string", type: "string" },
5068
+ { name: "symbol", internalType: "string", type: "string" },
5069
+ { name: "poolConfig", internalType: "bytes", type: "bytes" },
5070
+ { name: "platformReferrer", internalType: "address", type: "address" },
5071
+ { name: "coinSalt", internalType: "bytes32", type: "bytes32" }
5072
+ ],
5073
+ name: "coinAddress",
5074
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5075
+ stateMutability: "view"
5076
+ },
5077
+ {
5078
+ type: "function",
5079
+ inputs: [],
5080
+ name: "coinV4Impl",
5081
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5082
+ stateMutability: "view"
5083
+ },
5084
+ {
5085
+ type: "function",
5086
+ inputs: [],
5087
+ name: "contentCoinHook",
5088
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5089
+ stateMutability: "view"
5090
+ },
5091
+ {
5092
+ type: "function",
5093
+ inputs: [],
5094
+ name: "contractName",
5095
+ outputs: [{ name: "", internalType: "string", type: "string" }],
5096
+ stateMutability: "pure"
5097
+ },
5098
+ {
5099
+ type: "function",
5100
+ inputs: [],
5101
+ name: "contractVersion",
5102
+ outputs: [{ name: "", internalType: "string", type: "string" }],
5103
+ stateMutability: "pure"
5104
+ },
5105
+ {
5106
+ type: "function",
5107
+ inputs: [],
5108
+ name: "creatorCoinHook",
5109
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5110
+ stateMutability: "view"
5111
+ },
5112
+ {
5113
+ type: "function",
5114
+ inputs: [],
5115
+ name: "creatorCoinImpl",
5116
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5117
+ stateMutability: "view"
4408
5118
  },
4409
5119
  {
4410
5120
  type: "function",
@@ -4503,6 +5213,20 @@ var zoraFactoryImplABI = [
4503
5213
  ],
4504
5214
  stateMutability: "payable"
4505
5215
  },
5216
+ {
5217
+ type: "function",
5218
+ inputs: [
5219
+ { name: "symbol", internalType: "string", type: "string" },
5220
+ { name: "postDeployHook", internalType: "address", type: "address" },
5221
+ { name: "postDeployHookData", internalType: "bytes", type: "bytes" }
5222
+ ],
5223
+ name: "deployTrendCoin",
5224
+ outputs: [
5225
+ { name: "coin", internalType: "address", type: "address" },
5226
+ { name: "postDeployHookDataOut", internalType: "bytes", type: "bytes" }
5227
+ ],
5228
+ stateMutability: "payable"
5229
+ },
4506
5230
  {
4507
5231
  type: "function",
4508
5232
  inputs: [
@@ -4581,6 +5305,27 @@ var zoraFactoryImplABI = [
4581
5305
  outputs: [],
4582
5306
  stateMutability: "nonpayable"
4583
5307
  },
5308
+ {
5309
+ type: "function",
5310
+ inputs: [
5311
+ { name: "currency", internalType: "address", type: "address" },
5312
+ { name: "tickLower", internalType: "int24[]", type: "int24[]" },
5313
+ { name: "tickUpper", internalType: "int24[]", type: "int24[]" },
5314
+ {
5315
+ name: "numDiscoveryPositions",
5316
+ internalType: "uint16[]",
5317
+ type: "uint16[]"
5318
+ },
5319
+ {
5320
+ name: "maxDiscoverySupplyShare",
5321
+ internalType: "uint256[]",
5322
+ type: "uint256[]"
5323
+ }
5324
+ ],
5325
+ name: "setTrendCoinPoolConfig",
5326
+ outputs: [],
5327
+ stateMutability: "nonpayable"
5328
+ },
4584
5329
  {
4585
5330
  type: "function",
4586
5331
  inputs: [{ name: "newOwner", internalType: "address", type: "address" }],
@@ -4588,6 +5333,27 @@ var zoraFactoryImplABI = [
4588
5333
  outputs: [],
4589
5334
  stateMutability: "nonpayable"
4590
5335
  },
5336
+ {
5337
+ type: "function",
5338
+ inputs: [{ name: "symbol", internalType: "string", type: "string" }],
5339
+ name: "trendCoinAddress",
5340
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5341
+ stateMutability: "view"
5342
+ },
5343
+ {
5344
+ type: "function",
5345
+ inputs: [],
5346
+ name: "trendCoinImpl",
5347
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5348
+ stateMutability: "view"
5349
+ },
5350
+ {
5351
+ type: "function",
5352
+ inputs: [],
5353
+ name: "trendCoinPoolConfig",
5354
+ outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
5355
+ stateMutability: "view"
5356
+ },
4591
5357
  {
4592
5358
  type: "function",
4593
5359
  inputs: [
@@ -4853,6 +5619,75 @@ var zoraFactoryImplABI = [
4853
5619
  ],
4854
5620
  name: "OwnershipTransferred"
4855
5621
  },
5622
+ {
5623
+ type: "event",
5624
+ anonymous: false,
5625
+ inputs: [
5626
+ {
5627
+ name: "caller",
5628
+ internalType: "address",
5629
+ type: "address",
5630
+ indexed: true
5631
+ },
5632
+ {
5633
+ name: "symbol",
5634
+ internalType: "string",
5635
+ type: "string",
5636
+ indexed: false
5637
+ },
5638
+ {
5639
+ name: "coin",
5640
+ internalType: "address",
5641
+ type: "address",
5642
+ indexed: false
5643
+ },
5644
+ {
5645
+ name: "poolKey",
5646
+ internalType: "struct PoolKey",
5647
+ type: "tuple",
5648
+ components: [
5649
+ { name: "currency0", internalType: "Currency", type: "address" },
5650
+ { name: "currency1", internalType: "Currency", type: "address" },
5651
+ { name: "fee", internalType: "uint24", type: "uint24" },
5652
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5653
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5654
+ ],
5655
+ indexed: false
5656
+ },
5657
+ {
5658
+ name: "poolKeyHash",
5659
+ internalType: "bytes32",
5660
+ type: "bytes32",
5661
+ indexed: false
5662
+ },
5663
+ {
5664
+ name: "poolConfig",
5665
+ internalType: "bytes",
5666
+ type: "bytes",
5667
+ indexed: false
5668
+ },
5669
+ {
5670
+ name: "version",
5671
+ internalType: "string",
5672
+ type: "string",
5673
+ indexed: false
5674
+ }
5675
+ ],
5676
+ name: "TrendCoinCreated"
5677
+ },
5678
+ {
5679
+ type: "event",
5680
+ anonymous: false,
5681
+ inputs: [
5682
+ {
5683
+ name: "poolConfig",
5684
+ internalType: "bytes",
5685
+ type: "bytes",
5686
+ indexed: false
5687
+ }
5688
+ ],
5689
+ name: "TrendCoinPoolConfigUpdated"
5690
+ },
4856
5691
  {
4857
5692
  type: "event",
4858
5693
  anonymous: false,
@@ -4905,6 +5740,7 @@ var zoraFactoryImplABI = [
4905
5740
  ],
4906
5741
  name: "InvalidTickRangeMisordered"
4907
5742
  },
5743
+ { type: "error", inputs: [], name: "InvalidTickerCharacters" },
4908
5744
  {
4909
5745
  type: "error",
4910
5746
  inputs: [
@@ -4926,6 +5762,12 @@ var zoraFactoryImplABI = [
4926
5762
  name: "OwnableUnauthorizedAccount"
4927
5763
  },
4928
5764
  { type: "error", inputs: [], name: "ReentrancyGuardReentrantCall" },
5765
+ {
5766
+ type: "error",
5767
+ inputs: [{ name: "symbol", internalType: "string", type: "string" }],
5768
+ name: "TickerAlreadyUsed"
5769
+ },
5770
+ { type: "error", inputs: [], name: "TrendCoinPoolConfigNotSet" },
4929
5771
  { type: "error", inputs: [], name: "UUPSUnauthorizedCallContext" },
4930
5772
  {
4931
5773
  type: "error",
@@ -4940,6 +5782,7 @@ var zoraFactoryImplABI = [
4940
5782
  ],
4941
5783
  name: "UpgradeToMismatchedContractName"
4942
5784
  },
5785
+ { type: "error", inputs: [], name: "UseSpecificTrendCoinInitialize" },
4943
5786
  { type: "error", inputs: [], name: "ZeroDiscoveryPositions" },
4944
5787
  { type: "error", inputs: [], name: "ZeroDiscoverySupplyShare" }
4945
5788
  ];
@@ -5888,7 +6731,9 @@ var zoraV4CoinHookABI = [
5888
6731
  creatorCoinABI,
5889
6732
  iPermit2ABI,
5890
6733
  iPoolConfigEncodingABI,
6734
+ iPoolManagerABI,
5891
6735
  iUniswapV3PoolABI,
6736
+ iUniversalRouterABI,
5892
6737
  zoraFactoryImplABI,
5893
6738
  zoraV4CoinHookABI
5894
6739
  });