@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.js CHANGED
@@ -179,6 +179,16 @@ var baseCoinABI = [
179
179
  outputs: [{ name: "", internalType: "string", type: "string" }],
180
180
  stateMutability: "pure"
181
181
  },
182
+ {
183
+ type: "function",
184
+ inputs: [],
185
+ name: "creationInfo",
186
+ outputs: [
187
+ { name: "creationTimestamp", internalType: "uint256", type: "uint256" },
188
+ { name: "isDeploying", internalType: "bool", type: "bool" }
189
+ ],
190
+ stateMutability: "view"
191
+ },
182
192
  {
183
193
  type: "function",
184
194
  inputs: [],
@@ -1126,6 +1136,7 @@ var baseCoinABI = [
1126
1136
  ],
1127
1137
  name: "InvalidAccountNonce"
1128
1138
  },
1139
+ { type: "error", inputs: [], name: "InvalidCurrency" },
1129
1140
  { type: "error", inputs: [], name: "InvalidCurrencyLowerTick" },
1130
1141
  { type: "error", inputs: [], name: "InvalidInitialization" },
1131
1142
  { type: "error", inputs: [], name: "InvalidMarketType" },
@@ -1470,6 +1481,16 @@ var contentCoinABI = [
1470
1481
  outputs: [{ name: "", internalType: "string", type: "string" }],
1471
1482
  stateMutability: "pure"
1472
1483
  },
1484
+ {
1485
+ type: "function",
1486
+ inputs: [],
1487
+ name: "creationInfo",
1488
+ outputs: [
1489
+ { name: "creationTimestamp", internalType: "uint256", type: "uint256" },
1490
+ { name: "isDeploying", internalType: "bool", type: "bool" }
1491
+ ],
1492
+ stateMutability: "view"
1493
+ },
1473
1494
  {
1474
1495
  type: "function",
1475
1496
  inputs: [],
@@ -2417,6 +2438,7 @@ var contentCoinABI = [
2417
2438
  ],
2418
2439
  name: "InvalidAccountNonce"
2419
2440
  },
2441
+ { type: "error", inputs: [], name: "InvalidCurrency" },
2420
2442
  { type: "error", inputs: [], name: "InvalidCurrencyLowerTick" },
2421
2443
  { type: "error", inputs: [], name: "InvalidInitialization" },
2422
2444
  { type: "error", inputs: [], name: "InvalidMarketType" },
@@ -2573,6 +2595,16 @@ var creatorCoinABI = [
2573
2595
  outputs: [{ name: "", internalType: "string", type: "string" }],
2574
2596
  stateMutability: "pure"
2575
2597
  },
2598
+ {
2599
+ type: "function",
2600
+ inputs: [],
2601
+ name: "creationInfo",
2602
+ outputs: [
2603
+ { name: "creationTimestamp", internalType: "uint256", type: "uint256" },
2604
+ { name: "isDeploying", internalType: "bool", type: "bool" }
2605
+ ],
2606
+ stateMutability: "view"
2607
+ },
2576
2608
  {
2577
2609
  type: "function",
2578
2610
  inputs: [],
@@ -4159,57 +4191,57 @@ var iPoolConfigEncodingABI = [
4159
4191
  stateMutability: "pure"
4160
4192
  }
4161
4193
  ];
4162
- var iUniswapV3PoolABI = [
4194
+ var iPoolManagerABI = [
4163
4195
  {
4164
4196
  type: "function",
4165
4197
  inputs: [
4166
- { name: "tickLower", internalType: "int24", type: "int24" },
4167
- { name: "tickUpper", internalType: "int24", type: "int24" },
4168
- { name: "amount", internalType: "uint128", type: "uint128" }
4169
- ],
4170
- name: "burn",
4171
- outputs: [
4172
- { name: "amount0", internalType: "uint256", type: "uint256" },
4173
- { name: "amount1", internalType: "uint256", type: "uint256" }
4198
+ { name: "owner", internalType: "address", type: "address" },
4199
+ { name: "spender", internalType: "address", type: "address" },
4200
+ { name: "id", internalType: "uint256", type: "uint256" }
4174
4201
  ],
4175
- stateMutability: "nonpayable"
4202
+ name: "allowance",
4203
+ outputs: [{ name: "amount", internalType: "uint256", type: "uint256" }],
4204
+ stateMutability: "view"
4176
4205
  },
4177
4206
  {
4178
4207
  type: "function",
4179
4208
  inputs: [
4180
- { name: "recipient", internalType: "address", type: "address" },
4181
- { name: "tickLower", internalType: "int24", type: "int24" },
4182
- { name: "tickUpper", internalType: "int24", type: "int24" },
4183
- { name: "amount0Requested", internalType: "uint128", type: "uint128" },
4184
- { name: "amount1Requested", internalType: "uint128", type: "uint128" }
4185
- ],
4186
- name: "collect",
4187
- outputs: [
4188
- { name: "amount0", internalType: "uint128", type: "uint128" },
4189
- { name: "amount1", internalType: "uint128", type: "uint128" }
4209
+ { name: "spender", internalType: "address", type: "address" },
4210
+ { name: "id", internalType: "uint256", type: "uint256" },
4211
+ { name: "amount", internalType: "uint256", type: "uint256" }
4190
4212
  ],
4213
+ name: "approve",
4214
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
4191
4215
  stateMutability: "nonpayable"
4192
4216
  },
4193
4217
  {
4194
4218
  type: "function",
4195
- inputs: [],
4196
- name: "feeGrowthGlobal0X128",
4197
- outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
4219
+ inputs: [
4220
+ { name: "owner", internalType: "address", type: "address" },
4221
+ { name: "id", internalType: "uint256", type: "uint256" }
4222
+ ],
4223
+ name: "balanceOf",
4224
+ outputs: [{ name: "amount", internalType: "uint256", type: "uint256" }],
4198
4225
  stateMutability: "view"
4199
4226
  },
4200
4227
  {
4201
4228
  type: "function",
4202
- inputs: [],
4203
- name: "feeGrowthGlobal1X128",
4204
- outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
4205
- stateMutability: "view"
4229
+ inputs: [
4230
+ { name: "from", internalType: "address", type: "address" },
4231
+ { name: "id", internalType: "uint256", type: "uint256" },
4232
+ { name: "amount", internalType: "uint256", type: "uint256" }
4233
+ ],
4234
+ name: "burn",
4235
+ outputs: [],
4236
+ stateMutability: "nonpayable"
4206
4237
  },
4207
4238
  {
4208
4239
  type: "function",
4209
4240
  inputs: [
4210
- { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" }
4241
+ { name: "currency", internalType: "Currency", type: "address" },
4242
+ { name: "amount", internalType: "uint256", type: "uint256" }
4211
4243
  ],
4212
- name: "initialize",
4244
+ name: "clear",
4213
4245
  outputs: [],
4214
4246
  stateMutability: "nonpayable"
4215
4247
  },
@@ -4217,159 +4249,835 @@ var iUniswapV3PoolABI = [
4217
4249
  type: "function",
4218
4250
  inputs: [
4219
4251
  { name: "recipient", internalType: "address", type: "address" },
4220
- { name: "tickLower", internalType: "int24", type: "int24" },
4221
- { name: "tickUpper", internalType: "int24", type: "int24" },
4222
- { name: "amount", internalType: "uint128", type: "uint128" },
4223
- { name: "data", internalType: "bytes", type: "bytes" }
4252
+ { name: "currency", internalType: "Currency", type: "address" },
4253
+ { name: "amount", internalType: "uint256", type: "uint256" }
4224
4254
  ],
4225
- name: "mint",
4255
+ name: "collectProtocolFees",
4226
4256
  outputs: [
4227
- { name: "amount0", internalType: "uint256", type: "uint256" },
4228
- { name: "amount1", internalType: "uint256", type: "uint256" }
4257
+ { name: "amountCollected", internalType: "uint256", type: "uint256" }
4229
4258
  ],
4230
4259
  stateMutability: "nonpayable"
4231
4260
  },
4232
4261
  {
4233
4262
  type: "function",
4234
- inputs: [],
4235
- name: "slot0",
4236
- outputs: [
4263
+ inputs: [
4237
4264
  {
4238
- name: "slot0",
4239
- internalType: "struct IUniswapV3Pool.Slot0",
4265
+ name: "key",
4266
+ internalType: "struct PoolKey",
4240
4267
  type: "tuple",
4241
4268
  components: [
4242
- { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" },
4243
- { name: "tick", internalType: "int24", type: "int24" },
4244
- { name: "observationIndex", internalType: "uint16", type: "uint16" },
4245
- {
4246
- name: "observationCardinality",
4247
- internalType: "uint16",
4248
- type: "uint16"
4249
- },
4250
- {
4251
- name: "observationCardinalityNext",
4252
- internalType: "uint16",
4253
- type: "uint16"
4254
- },
4255
- { name: "feeProtocol", internalType: "uint8", type: "uint8" },
4256
- { name: "unlocked", internalType: "bool", type: "bool" }
4269
+ { name: "currency0", internalType: "Currency", type: "address" },
4270
+ { name: "currency1", internalType: "Currency", type: "address" },
4271
+ { name: "fee", internalType: "uint24", type: "uint24" },
4272
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4273
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4257
4274
  ]
4258
- }
4275
+ },
4276
+ { name: "amount0", internalType: "uint256", type: "uint256" },
4277
+ { name: "amount1", internalType: "uint256", type: "uint256" },
4278
+ { name: "hookData", internalType: "bytes", type: "bytes" }
4259
4279
  ],
4280
+ name: "donate",
4281
+ outputs: [{ name: "", internalType: "BalanceDelta", type: "int256" }],
4282
+ stateMutability: "nonpayable"
4283
+ },
4284
+ {
4285
+ type: "function",
4286
+ inputs: [{ name: "slot", internalType: "bytes32", type: "bytes32" }],
4287
+ name: "extsload",
4288
+ outputs: [{ name: "value", internalType: "bytes32", type: "bytes32" }],
4260
4289
  stateMutability: "view"
4261
4290
  },
4262
4291
  {
4263
4292
  type: "function",
4264
4293
  inputs: [
4265
- { name: "recipient", internalType: "address", type: "address" },
4266
- { name: "zeroForOne", internalType: "bool", type: "bool" },
4267
- { name: "amountSpecified", internalType: "int256", type: "int256" },
4268
- { name: "sqrtPriceLimitX96", internalType: "uint160", type: "uint160" },
4269
- { name: "data", internalType: "bytes", type: "bytes" }
4270
- ],
4271
- name: "swap",
4272
- outputs: [
4273
- { name: "amount0", internalType: "int256", type: "int256" },
4274
- { name: "amount1", internalType: "int256", type: "int256" }
4294
+ { name: "startSlot", internalType: "bytes32", type: "bytes32" },
4295
+ { name: "nSlots", internalType: "uint256", type: "uint256" }
4275
4296
  ],
4276
- stateMutability: "nonpayable"
4297
+ name: "extsload",
4298
+ outputs: [{ name: "values", internalType: "bytes32[]", type: "bytes32[]" }],
4299
+ stateMutability: "view"
4277
4300
  },
4278
4301
  {
4279
4302
  type: "function",
4280
- inputs: [],
4281
- name: "token0",
4282
- outputs: [{ name: "", internalType: "address", type: "address" }],
4283
- stateMutability: "nonpayable"
4303
+ inputs: [{ name: "slots", internalType: "bytes32[]", type: "bytes32[]" }],
4304
+ name: "extsload",
4305
+ outputs: [{ name: "values", internalType: "bytes32[]", type: "bytes32[]" }],
4306
+ stateMutability: "view"
4284
4307
  },
4285
4308
  {
4286
4309
  type: "function",
4287
- inputs: [],
4288
- name: "token1",
4289
- outputs: [{ name: "", internalType: "address", type: "address" }],
4290
- stateMutability: "nonpayable"
4291
- }
4292
- ];
4293
- var zoraFactoryImplABI = [
4310
+ inputs: [{ name: "slots", internalType: "bytes32[]", type: "bytes32[]" }],
4311
+ name: "exttload",
4312
+ outputs: [{ name: "values", internalType: "bytes32[]", type: "bytes32[]" }],
4313
+ stateMutability: "view"
4314
+ },
4294
4315
  {
4295
- type: "constructor",
4316
+ type: "function",
4317
+ inputs: [{ name: "slot", internalType: "bytes32", type: "bytes32" }],
4318
+ name: "exttload",
4319
+ outputs: [{ name: "value", internalType: "bytes32", type: "bytes32" }],
4320
+ stateMutability: "view"
4321
+ },
4322
+ {
4323
+ type: "function",
4296
4324
  inputs: [
4297
- { name: "coinV4Impl_", internalType: "address", type: "address" },
4298
- { name: "creatorCoinImpl_", internalType: "address", type: "address" },
4299
- { name: "hook_", internalType: "address", type: "address" },
4300
- { name: "zoraHookRegistry_", internalType: "address", type: "address" }
4325
+ {
4326
+ name: "key",
4327
+ internalType: "struct PoolKey",
4328
+ type: "tuple",
4329
+ components: [
4330
+ { name: "currency0", internalType: "Currency", type: "address" },
4331
+ { name: "currency1", internalType: "Currency", type: "address" },
4332
+ { name: "fee", internalType: "uint24", type: "uint24" },
4333
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4334
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4335
+ ]
4336
+ },
4337
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" }
4301
4338
  ],
4339
+ name: "initialize",
4340
+ outputs: [{ name: "tick", internalType: "int24", type: "int24" }],
4302
4341
  stateMutability: "nonpayable"
4303
4342
  },
4304
4343
  {
4305
4344
  type: "function",
4306
- inputs: [],
4307
- name: "UPGRADE_INTERFACE_VERSION",
4308
- outputs: [{ name: "", internalType: "string", type: "string" }],
4345
+ inputs: [
4346
+ { name: "owner", internalType: "address", type: "address" },
4347
+ { name: "spender", internalType: "address", type: "address" }
4348
+ ],
4349
+ name: "isOperator",
4350
+ outputs: [{ name: "approved", internalType: "bool", type: "bool" }],
4309
4351
  stateMutability: "view"
4310
4352
  },
4311
4353
  {
4312
4354
  type: "function",
4313
- inputs: [],
4314
- name: "acceptOwnership",
4355
+ inputs: [
4356
+ { name: "to", internalType: "address", type: "address" },
4357
+ { name: "id", internalType: "uint256", type: "uint256" },
4358
+ { name: "amount", internalType: "uint256", type: "uint256" }
4359
+ ],
4360
+ name: "mint",
4315
4361
  outputs: [],
4316
4362
  stateMutability: "nonpayable"
4317
4363
  },
4318
4364
  {
4319
4365
  type: "function",
4320
4366
  inputs: [
4321
- { name: "msgSender", internalType: "address", type: "address" },
4322
- { name: "name", internalType: "string", type: "string" },
4323
- { name: "symbol", internalType: "string", type: "string" },
4324
- { name: "poolConfig", internalType: "bytes", type: "bytes" },
4325
- { name: "platformReferrer", internalType: "address", type: "address" },
4326
- { name: "coinSalt", internalType: "bytes32", type: "bytes32" }
4367
+ {
4368
+ name: "key",
4369
+ internalType: "struct PoolKey",
4370
+ type: "tuple",
4371
+ components: [
4372
+ { name: "currency0", internalType: "Currency", type: "address" },
4373
+ { name: "currency1", internalType: "Currency", type: "address" },
4374
+ { name: "fee", internalType: "uint24", type: "uint24" },
4375
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4376
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4377
+ ]
4378
+ },
4379
+ {
4380
+ name: "params",
4381
+ internalType: "struct ModifyLiquidityParams",
4382
+ type: "tuple",
4383
+ components: [
4384
+ { name: "tickLower", internalType: "int24", type: "int24" },
4385
+ { name: "tickUpper", internalType: "int24", type: "int24" },
4386
+ { name: "liquidityDelta", internalType: "int256", type: "int256" },
4387
+ { name: "salt", internalType: "bytes32", type: "bytes32" }
4388
+ ]
4389
+ },
4390
+ { name: "hookData", internalType: "bytes", type: "bytes" }
4327
4391
  ],
4328
- name: "coinAddress",
4329
- outputs: [{ name: "", internalType: "address", type: "address" }],
4330
- stateMutability: "view"
4392
+ name: "modifyLiquidity",
4393
+ outputs: [
4394
+ { name: "callerDelta", internalType: "BalanceDelta", type: "int256" },
4395
+ { name: "feesAccrued", internalType: "BalanceDelta", type: "int256" }
4396
+ ],
4397
+ stateMutability: "nonpayable"
4331
4398
  },
4332
4399
  {
4333
4400
  type: "function",
4334
4401
  inputs: [],
4335
- name: "coinV4Impl",
4402
+ name: "protocolFeeController",
4336
4403
  outputs: [{ name: "", internalType: "address", type: "address" }],
4337
4404
  stateMutability: "view"
4338
4405
  },
4339
4406
  {
4340
4407
  type: "function",
4341
- inputs: [],
4342
- name: "contentCoinHook",
4343
- outputs: [{ name: "", internalType: "address", type: "address" }],
4408
+ inputs: [{ name: "currency", internalType: "Currency", type: "address" }],
4409
+ name: "protocolFeesAccrued",
4410
+ outputs: [{ name: "amount", internalType: "uint256", type: "uint256" }],
4344
4411
  stateMutability: "view"
4345
4412
  },
4346
4413
  {
4347
4414
  type: "function",
4348
- inputs: [],
4349
- name: "contractName",
4350
- outputs: [{ name: "", internalType: "string", type: "string" }],
4351
- stateMutability: "pure"
4415
+ inputs: [
4416
+ { name: "operator", internalType: "address", type: "address" },
4417
+ { name: "approved", internalType: "bool", type: "bool" }
4418
+ ],
4419
+ name: "setOperator",
4420
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
4421
+ stateMutability: "nonpayable"
4352
4422
  },
4353
4423
  {
4354
4424
  type: "function",
4355
- inputs: [],
4356
- name: "contractVersion",
4357
- outputs: [{ name: "", internalType: "string", type: "string" }],
4358
- stateMutability: "pure"
4425
+ inputs: [
4426
+ {
4427
+ name: "key",
4428
+ internalType: "struct PoolKey",
4429
+ type: "tuple",
4430
+ components: [
4431
+ { name: "currency0", internalType: "Currency", type: "address" },
4432
+ { name: "currency1", internalType: "Currency", type: "address" },
4433
+ { name: "fee", internalType: "uint24", type: "uint24" },
4434
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4435
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4436
+ ]
4437
+ },
4438
+ { name: "newProtocolFee", internalType: "uint24", type: "uint24" }
4439
+ ],
4440
+ name: "setProtocolFee",
4441
+ outputs: [],
4442
+ stateMutability: "nonpayable"
4359
4443
  },
4360
4444
  {
4361
4445
  type: "function",
4362
- inputs: [],
4363
- name: "creatorCoinHook",
4364
- outputs: [{ name: "", internalType: "address", type: "address" }],
4365
- stateMutability: "view"
4446
+ inputs: [{ name: "controller", internalType: "address", type: "address" }],
4447
+ name: "setProtocolFeeController",
4448
+ outputs: [],
4449
+ stateMutability: "nonpayable"
4366
4450
  },
4367
4451
  {
4368
4452
  type: "function",
4369
4453
  inputs: [],
4370
- name: "creatorCoinImpl",
4371
- outputs: [{ name: "", internalType: "address", type: "address" }],
4372
- stateMutability: "view"
4454
+ name: "settle",
4455
+ outputs: [{ name: "paid", internalType: "uint256", type: "uint256" }],
4456
+ stateMutability: "payable"
4457
+ },
4458
+ {
4459
+ type: "function",
4460
+ inputs: [{ name: "recipient", internalType: "address", type: "address" }],
4461
+ name: "settleFor",
4462
+ outputs: [{ name: "paid", internalType: "uint256", type: "uint256" }],
4463
+ stateMutability: "payable"
4464
+ },
4465
+ {
4466
+ type: "function",
4467
+ inputs: [
4468
+ {
4469
+ name: "key",
4470
+ internalType: "struct PoolKey",
4471
+ type: "tuple",
4472
+ components: [
4473
+ { name: "currency0", internalType: "Currency", type: "address" },
4474
+ { name: "currency1", internalType: "Currency", type: "address" },
4475
+ { name: "fee", internalType: "uint24", type: "uint24" },
4476
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4477
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4478
+ ]
4479
+ },
4480
+ {
4481
+ name: "params",
4482
+ internalType: "struct SwapParams",
4483
+ type: "tuple",
4484
+ components: [
4485
+ { name: "zeroForOne", internalType: "bool", type: "bool" },
4486
+ { name: "amountSpecified", internalType: "int256", type: "int256" },
4487
+ {
4488
+ name: "sqrtPriceLimitX96",
4489
+ internalType: "uint160",
4490
+ type: "uint160"
4491
+ }
4492
+ ]
4493
+ },
4494
+ { name: "hookData", internalType: "bytes", type: "bytes" }
4495
+ ],
4496
+ name: "swap",
4497
+ outputs: [
4498
+ { name: "swapDelta", internalType: "BalanceDelta", type: "int256" }
4499
+ ],
4500
+ stateMutability: "nonpayable"
4501
+ },
4502
+ {
4503
+ type: "function",
4504
+ inputs: [{ name: "currency", internalType: "Currency", type: "address" }],
4505
+ name: "sync",
4506
+ outputs: [],
4507
+ stateMutability: "nonpayable"
4508
+ },
4509
+ {
4510
+ type: "function",
4511
+ inputs: [
4512
+ { name: "currency", internalType: "Currency", type: "address" },
4513
+ { name: "to", internalType: "address", type: "address" },
4514
+ { name: "amount", internalType: "uint256", type: "uint256" }
4515
+ ],
4516
+ name: "take",
4517
+ outputs: [],
4518
+ stateMutability: "nonpayable"
4519
+ },
4520
+ {
4521
+ type: "function",
4522
+ inputs: [
4523
+ { name: "receiver", internalType: "address", type: "address" },
4524
+ { name: "id", internalType: "uint256", type: "uint256" },
4525
+ { name: "amount", internalType: "uint256", type: "uint256" }
4526
+ ],
4527
+ name: "transfer",
4528
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
4529
+ stateMutability: "nonpayable"
4530
+ },
4531
+ {
4532
+ type: "function",
4533
+ inputs: [
4534
+ { name: "sender", internalType: "address", type: "address" },
4535
+ { name: "receiver", internalType: "address", type: "address" },
4536
+ { name: "id", internalType: "uint256", type: "uint256" },
4537
+ { name: "amount", internalType: "uint256", type: "uint256" }
4538
+ ],
4539
+ name: "transferFrom",
4540
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
4541
+ stateMutability: "nonpayable"
4542
+ },
4543
+ {
4544
+ type: "function",
4545
+ inputs: [{ name: "data", internalType: "bytes", type: "bytes" }],
4546
+ name: "unlock",
4547
+ outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
4548
+ stateMutability: "nonpayable"
4549
+ },
4550
+ {
4551
+ type: "function",
4552
+ inputs: [
4553
+ {
4554
+ name: "key",
4555
+ internalType: "struct PoolKey",
4556
+ type: "tuple",
4557
+ components: [
4558
+ { name: "currency0", internalType: "Currency", type: "address" },
4559
+ { name: "currency1", internalType: "Currency", type: "address" },
4560
+ { name: "fee", internalType: "uint24", type: "uint24" },
4561
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
4562
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
4563
+ ]
4564
+ },
4565
+ { name: "newDynamicLPFee", internalType: "uint24", type: "uint24" }
4566
+ ],
4567
+ name: "updateDynamicLPFee",
4568
+ outputs: [],
4569
+ stateMutability: "nonpayable"
4570
+ },
4571
+ {
4572
+ type: "event",
4573
+ anonymous: false,
4574
+ inputs: [
4575
+ {
4576
+ name: "owner",
4577
+ internalType: "address",
4578
+ type: "address",
4579
+ indexed: true
4580
+ },
4581
+ {
4582
+ name: "spender",
4583
+ internalType: "address",
4584
+ type: "address",
4585
+ indexed: true
4586
+ },
4587
+ { name: "id", internalType: "uint256", type: "uint256", indexed: true },
4588
+ {
4589
+ name: "amount",
4590
+ internalType: "uint256",
4591
+ type: "uint256",
4592
+ indexed: false
4593
+ }
4594
+ ],
4595
+ name: "Approval"
4596
+ },
4597
+ {
4598
+ type: "event",
4599
+ anonymous: false,
4600
+ inputs: [
4601
+ { name: "id", internalType: "PoolId", type: "bytes32", indexed: true },
4602
+ {
4603
+ name: "sender",
4604
+ internalType: "address",
4605
+ type: "address",
4606
+ indexed: true
4607
+ },
4608
+ {
4609
+ name: "amount0",
4610
+ internalType: "uint256",
4611
+ type: "uint256",
4612
+ indexed: false
4613
+ },
4614
+ {
4615
+ name: "amount1",
4616
+ internalType: "uint256",
4617
+ type: "uint256",
4618
+ indexed: false
4619
+ }
4620
+ ],
4621
+ name: "Donate"
4622
+ },
4623
+ {
4624
+ type: "event",
4625
+ anonymous: false,
4626
+ inputs: [
4627
+ { name: "id", internalType: "PoolId", type: "bytes32", indexed: true },
4628
+ {
4629
+ name: "currency0",
4630
+ internalType: "Currency",
4631
+ type: "address",
4632
+ indexed: true
4633
+ },
4634
+ {
4635
+ name: "currency1",
4636
+ internalType: "Currency",
4637
+ type: "address",
4638
+ indexed: true
4639
+ },
4640
+ { name: "fee", internalType: "uint24", type: "uint24", indexed: false },
4641
+ {
4642
+ name: "tickSpacing",
4643
+ internalType: "int24",
4644
+ type: "int24",
4645
+ indexed: false
4646
+ },
4647
+ {
4648
+ name: "hooks",
4649
+ internalType: "contract IHooks",
4650
+ type: "address",
4651
+ indexed: false
4652
+ },
4653
+ {
4654
+ name: "sqrtPriceX96",
4655
+ internalType: "uint160",
4656
+ type: "uint160",
4657
+ indexed: false
4658
+ },
4659
+ { name: "tick", internalType: "int24", type: "int24", indexed: false }
4660
+ ],
4661
+ name: "Initialize"
4662
+ },
4663
+ {
4664
+ type: "event",
4665
+ anonymous: false,
4666
+ inputs: [
4667
+ { name: "id", internalType: "PoolId", type: "bytes32", indexed: true },
4668
+ {
4669
+ name: "sender",
4670
+ internalType: "address",
4671
+ type: "address",
4672
+ indexed: true
4673
+ },
4674
+ {
4675
+ name: "tickLower",
4676
+ internalType: "int24",
4677
+ type: "int24",
4678
+ indexed: false
4679
+ },
4680
+ {
4681
+ name: "tickUpper",
4682
+ internalType: "int24",
4683
+ type: "int24",
4684
+ indexed: false
4685
+ },
4686
+ {
4687
+ name: "liquidityDelta",
4688
+ internalType: "int256",
4689
+ type: "int256",
4690
+ indexed: false
4691
+ },
4692
+ {
4693
+ name: "salt",
4694
+ internalType: "bytes32",
4695
+ type: "bytes32",
4696
+ indexed: false
4697
+ }
4698
+ ],
4699
+ name: "ModifyLiquidity"
4700
+ },
4701
+ {
4702
+ type: "event",
4703
+ anonymous: false,
4704
+ inputs: [
4705
+ {
4706
+ name: "owner",
4707
+ internalType: "address",
4708
+ type: "address",
4709
+ indexed: true
4710
+ },
4711
+ {
4712
+ name: "operator",
4713
+ internalType: "address",
4714
+ type: "address",
4715
+ indexed: true
4716
+ },
4717
+ { name: "approved", internalType: "bool", type: "bool", indexed: false }
4718
+ ],
4719
+ name: "OperatorSet"
4720
+ },
4721
+ {
4722
+ type: "event",
4723
+ anonymous: false,
4724
+ inputs: [
4725
+ {
4726
+ name: "protocolFeeController",
4727
+ internalType: "address",
4728
+ type: "address",
4729
+ indexed: true
4730
+ }
4731
+ ],
4732
+ name: "ProtocolFeeControllerUpdated"
4733
+ },
4734
+ {
4735
+ type: "event",
4736
+ anonymous: false,
4737
+ inputs: [
4738
+ { name: "id", internalType: "PoolId", type: "bytes32", indexed: true },
4739
+ {
4740
+ name: "protocolFee",
4741
+ internalType: "uint24",
4742
+ type: "uint24",
4743
+ indexed: false
4744
+ }
4745
+ ],
4746
+ name: "ProtocolFeeUpdated"
4747
+ },
4748
+ {
4749
+ type: "event",
4750
+ anonymous: false,
4751
+ inputs: [
4752
+ { name: "id", internalType: "PoolId", type: "bytes32", indexed: true },
4753
+ {
4754
+ name: "sender",
4755
+ internalType: "address",
4756
+ type: "address",
4757
+ indexed: true
4758
+ },
4759
+ {
4760
+ name: "amount0",
4761
+ internalType: "int128",
4762
+ type: "int128",
4763
+ indexed: false
4764
+ },
4765
+ {
4766
+ name: "amount1",
4767
+ internalType: "int128",
4768
+ type: "int128",
4769
+ indexed: false
4770
+ },
4771
+ {
4772
+ name: "sqrtPriceX96",
4773
+ internalType: "uint160",
4774
+ type: "uint160",
4775
+ indexed: false
4776
+ },
4777
+ {
4778
+ name: "liquidity",
4779
+ internalType: "uint128",
4780
+ type: "uint128",
4781
+ indexed: false
4782
+ },
4783
+ { name: "tick", internalType: "int24", type: "int24", indexed: false },
4784
+ { name: "fee", internalType: "uint24", type: "uint24", indexed: false }
4785
+ ],
4786
+ name: "Swap"
4787
+ },
4788
+ {
4789
+ type: "event",
4790
+ anonymous: false,
4791
+ inputs: [
4792
+ {
4793
+ name: "caller",
4794
+ internalType: "address",
4795
+ type: "address",
4796
+ indexed: false
4797
+ },
4798
+ { name: "from", internalType: "address", type: "address", indexed: true },
4799
+ { name: "to", internalType: "address", type: "address", indexed: true },
4800
+ { name: "id", internalType: "uint256", type: "uint256", indexed: true },
4801
+ {
4802
+ name: "amount",
4803
+ internalType: "uint256",
4804
+ type: "uint256",
4805
+ indexed: false
4806
+ }
4807
+ ],
4808
+ name: "Transfer"
4809
+ },
4810
+ { type: "error", inputs: [], name: "AlreadyUnlocked" },
4811
+ {
4812
+ type: "error",
4813
+ inputs: [
4814
+ { name: "currency0", internalType: "address", type: "address" },
4815
+ { name: "currency1", internalType: "address", type: "address" }
4816
+ ],
4817
+ name: "CurrenciesOutOfOrderOrEqual"
4818
+ },
4819
+ { type: "error", inputs: [], name: "CurrencyNotSettled" },
4820
+ { type: "error", inputs: [], name: "InvalidCaller" },
4821
+ { type: "error", inputs: [], name: "ManagerLocked" },
4822
+ { type: "error", inputs: [], name: "MustClearExactPositiveDelta" },
4823
+ { type: "error", inputs: [], name: "NonzeroNativeValue" },
4824
+ { type: "error", inputs: [], name: "PoolNotInitialized" },
4825
+ { type: "error", inputs: [], name: "ProtocolFeeCurrencySynced" },
4826
+ {
4827
+ type: "error",
4828
+ inputs: [{ name: "fee", internalType: "uint24", type: "uint24" }],
4829
+ name: "ProtocolFeeTooLarge"
4830
+ },
4831
+ { type: "error", inputs: [], name: "SwapAmountCannotBeZero" },
4832
+ {
4833
+ type: "error",
4834
+ inputs: [{ name: "tickSpacing", internalType: "int24", type: "int24" }],
4835
+ name: "TickSpacingTooLarge"
4836
+ },
4837
+ {
4838
+ type: "error",
4839
+ inputs: [{ name: "tickSpacing", internalType: "int24", type: "int24" }],
4840
+ name: "TickSpacingTooSmall"
4841
+ },
4842
+ { type: "error", inputs: [], name: "UnauthorizedDynamicLPFeeUpdate" }
4843
+ ];
4844
+ var iUniswapV3PoolABI = [
4845
+ {
4846
+ type: "function",
4847
+ inputs: [
4848
+ { name: "tickLower", internalType: "int24", type: "int24" },
4849
+ { name: "tickUpper", internalType: "int24", type: "int24" },
4850
+ { name: "amount", internalType: "uint128", type: "uint128" }
4851
+ ],
4852
+ name: "burn",
4853
+ outputs: [
4854
+ { name: "amount0", internalType: "uint256", type: "uint256" },
4855
+ { name: "amount1", internalType: "uint256", type: "uint256" }
4856
+ ],
4857
+ stateMutability: "nonpayable"
4858
+ },
4859
+ {
4860
+ type: "function",
4861
+ inputs: [
4862
+ { name: "recipient", internalType: "address", type: "address" },
4863
+ { name: "tickLower", internalType: "int24", type: "int24" },
4864
+ { name: "tickUpper", internalType: "int24", type: "int24" },
4865
+ { name: "amount0Requested", internalType: "uint128", type: "uint128" },
4866
+ { name: "amount1Requested", internalType: "uint128", type: "uint128" }
4867
+ ],
4868
+ name: "collect",
4869
+ outputs: [
4870
+ { name: "amount0", internalType: "uint128", type: "uint128" },
4871
+ { name: "amount1", internalType: "uint128", type: "uint128" }
4872
+ ],
4873
+ stateMutability: "nonpayable"
4874
+ },
4875
+ {
4876
+ type: "function",
4877
+ inputs: [],
4878
+ name: "feeGrowthGlobal0X128",
4879
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
4880
+ stateMutability: "view"
4881
+ },
4882
+ {
4883
+ type: "function",
4884
+ inputs: [],
4885
+ name: "feeGrowthGlobal1X128",
4886
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
4887
+ stateMutability: "view"
4888
+ },
4889
+ {
4890
+ type: "function",
4891
+ inputs: [
4892
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" }
4893
+ ],
4894
+ name: "initialize",
4895
+ outputs: [],
4896
+ stateMutability: "nonpayable"
4897
+ },
4898
+ {
4899
+ type: "function",
4900
+ inputs: [
4901
+ { name: "recipient", internalType: "address", type: "address" },
4902
+ { name: "tickLower", internalType: "int24", type: "int24" },
4903
+ { name: "tickUpper", internalType: "int24", type: "int24" },
4904
+ { name: "amount", internalType: "uint128", type: "uint128" },
4905
+ { name: "data", internalType: "bytes", type: "bytes" }
4906
+ ],
4907
+ name: "mint",
4908
+ outputs: [
4909
+ { name: "amount0", internalType: "uint256", type: "uint256" },
4910
+ { name: "amount1", internalType: "uint256", type: "uint256" }
4911
+ ],
4912
+ stateMutability: "nonpayable"
4913
+ },
4914
+ {
4915
+ type: "function",
4916
+ inputs: [],
4917
+ name: "slot0",
4918
+ outputs: [
4919
+ {
4920
+ name: "slot0",
4921
+ internalType: "struct IUniswapV3Pool.Slot0",
4922
+ type: "tuple",
4923
+ components: [
4924
+ { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" },
4925
+ { name: "tick", internalType: "int24", type: "int24" },
4926
+ { name: "observationIndex", internalType: "uint16", type: "uint16" },
4927
+ {
4928
+ name: "observationCardinality",
4929
+ internalType: "uint16",
4930
+ type: "uint16"
4931
+ },
4932
+ {
4933
+ name: "observationCardinalityNext",
4934
+ internalType: "uint16",
4935
+ type: "uint16"
4936
+ },
4937
+ { name: "feeProtocol", internalType: "uint8", type: "uint8" },
4938
+ { name: "unlocked", internalType: "bool", type: "bool" }
4939
+ ]
4940
+ }
4941
+ ],
4942
+ stateMutability: "view"
4943
+ },
4944
+ {
4945
+ type: "function",
4946
+ inputs: [
4947
+ { name: "recipient", internalType: "address", type: "address" },
4948
+ { name: "zeroForOne", internalType: "bool", type: "bool" },
4949
+ { name: "amountSpecified", internalType: "int256", type: "int256" },
4950
+ { name: "sqrtPriceLimitX96", internalType: "uint160", type: "uint160" },
4951
+ { name: "data", internalType: "bytes", type: "bytes" }
4952
+ ],
4953
+ name: "swap",
4954
+ outputs: [
4955
+ { name: "amount0", internalType: "int256", type: "int256" },
4956
+ { name: "amount1", internalType: "int256", type: "int256" }
4957
+ ],
4958
+ stateMutability: "nonpayable"
4959
+ },
4960
+ {
4961
+ type: "function",
4962
+ inputs: [],
4963
+ name: "token0",
4964
+ outputs: [{ name: "", internalType: "address", type: "address" }],
4965
+ stateMutability: "nonpayable"
4966
+ },
4967
+ {
4968
+ type: "function",
4969
+ inputs: [],
4970
+ name: "token1",
4971
+ outputs: [{ name: "", internalType: "address", type: "address" }],
4972
+ stateMutability: "nonpayable"
4973
+ }
4974
+ ];
4975
+ var iUniversalRouterABI = [
4976
+ {
4977
+ type: "function",
4978
+ inputs: [
4979
+ { name: "commands", internalType: "bytes", type: "bytes" },
4980
+ { name: "inputs", internalType: "bytes[]", type: "bytes[]" },
4981
+ { name: "deadline", internalType: "uint256", type: "uint256" }
4982
+ ],
4983
+ name: "execute",
4984
+ outputs: [],
4985
+ stateMutability: "payable"
4986
+ },
4987
+ { type: "error", inputs: [], name: "ETHNotAccepted" },
4988
+ {
4989
+ type: "error",
4990
+ inputs: [
4991
+ { name: "commandIndex", internalType: "uint256", type: "uint256" },
4992
+ { name: "message", internalType: "bytes", type: "bytes" }
4993
+ ],
4994
+ name: "ExecutionFailed"
4995
+ },
4996
+ { type: "error", inputs: [], name: "InvalidEthSender" },
4997
+ { type: "error", inputs: [], name: "LengthMismatch" },
4998
+ { type: "error", inputs: [], name: "TransactionDeadlinePassed" }
4999
+ ];
5000
+ var zoraFactoryImplABI = [
5001
+ {
5002
+ type: "constructor",
5003
+ inputs: [
5004
+ { name: "coinV4Impl_", internalType: "address", type: "address" },
5005
+ { name: "creatorCoinImpl_", internalType: "address", type: "address" },
5006
+ { name: "trendCoinImpl_", internalType: "address", type: "address" },
5007
+ { name: "hook_", internalType: "address", type: "address" },
5008
+ { name: "zoraHookRegistry_", internalType: "address", type: "address" }
5009
+ ],
5010
+ stateMutability: "nonpayable"
5011
+ },
5012
+ {
5013
+ type: "function",
5014
+ inputs: [],
5015
+ name: "UPGRADE_INTERFACE_VERSION",
5016
+ outputs: [{ name: "", internalType: "string", type: "string" }],
5017
+ stateMutability: "view"
5018
+ },
5019
+ {
5020
+ type: "function",
5021
+ inputs: [],
5022
+ name: "acceptOwnership",
5023
+ outputs: [],
5024
+ stateMutability: "nonpayable"
5025
+ },
5026
+ {
5027
+ type: "function",
5028
+ inputs: [
5029
+ { name: "msgSender", internalType: "address", type: "address" },
5030
+ { name: "name", internalType: "string", type: "string" },
5031
+ { name: "symbol", internalType: "string", type: "string" },
5032
+ { name: "poolConfig", internalType: "bytes", type: "bytes" },
5033
+ { name: "platformReferrer", internalType: "address", type: "address" },
5034
+ { name: "coinSalt", internalType: "bytes32", type: "bytes32" }
5035
+ ],
5036
+ name: "coinAddress",
5037
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5038
+ stateMutability: "view"
5039
+ },
5040
+ {
5041
+ type: "function",
5042
+ inputs: [],
5043
+ name: "coinV4Impl",
5044
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5045
+ stateMutability: "view"
5046
+ },
5047
+ {
5048
+ type: "function",
5049
+ inputs: [],
5050
+ name: "contentCoinHook",
5051
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5052
+ stateMutability: "view"
5053
+ },
5054
+ {
5055
+ type: "function",
5056
+ inputs: [],
5057
+ name: "contractName",
5058
+ outputs: [{ name: "", internalType: "string", type: "string" }],
5059
+ stateMutability: "pure"
5060
+ },
5061
+ {
5062
+ type: "function",
5063
+ inputs: [],
5064
+ name: "contractVersion",
5065
+ outputs: [{ name: "", internalType: "string", type: "string" }],
5066
+ stateMutability: "pure"
5067
+ },
5068
+ {
5069
+ type: "function",
5070
+ inputs: [],
5071
+ name: "creatorCoinHook",
5072
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5073
+ stateMutability: "view"
5074
+ },
5075
+ {
5076
+ type: "function",
5077
+ inputs: [],
5078
+ name: "creatorCoinImpl",
5079
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5080
+ stateMutability: "view"
4373
5081
  },
4374
5082
  {
4375
5083
  type: "function",
@@ -4468,6 +5176,20 @@ var zoraFactoryImplABI = [
4468
5176
  ],
4469
5177
  stateMutability: "payable"
4470
5178
  },
5179
+ {
5180
+ type: "function",
5181
+ inputs: [
5182
+ { name: "symbol", internalType: "string", type: "string" },
5183
+ { name: "postDeployHook", internalType: "address", type: "address" },
5184
+ { name: "postDeployHookData", internalType: "bytes", type: "bytes" }
5185
+ ],
5186
+ name: "deployTrendCoin",
5187
+ outputs: [
5188
+ { name: "coin", internalType: "address", type: "address" },
5189
+ { name: "postDeployHookDataOut", internalType: "bytes", type: "bytes" }
5190
+ ],
5191
+ stateMutability: "payable"
5192
+ },
4471
5193
  {
4472
5194
  type: "function",
4473
5195
  inputs: [
@@ -4546,6 +5268,27 @@ var zoraFactoryImplABI = [
4546
5268
  outputs: [],
4547
5269
  stateMutability: "nonpayable"
4548
5270
  },
5271
+ {
5272
+ type: "function",
5273
+ inputs: [
5274
+ { name: "currency", internalType: "address", type: "address" },
5275
+ { name: "tickLower", internalType: "int24[]", type: "int24[]" },
5276
+ { name: "tickUpper", internalType: "int24[]", type: "int24[]" },
5277
+ {
5278
+ name: "numDiscoveryPositions",
5279
+ internalType: "uint16[]",
5280
+ type: "uint16[]"
5281
+ },
5282
+ {
5283
+ name: "maxDiscoverySupplyShare",
5284
+ internalType: "uint256[]",
5285
+ type: "uint256[]"
5286
+ }
5287
+ ],
5288
+ name: "setTrendCoinPoolConfig",
5289
+ outputs: [],
5290
+ stateMutability: "nonpayable"
5291
+ },
4549
5292
  {
4550
5293
  type: "function",
4551
5294
  inputs: [{ name: "newOwner", internalType: "address", type: "address" }],
@@ -4553,6 +5296,27 @@ var zoraFactoryImplABI = [
4553
5296
  outputs: [],
4554
5297
  stateMutability: "nonpayable"
4555
5298
  },
5299
+ {
5300
+ type: "function",
5301
+ inputs: [{ name: "symbol", internalType: "string", type: "string" }],
5302
+ name: "trendCoinAddress",
5303
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5304
+ stateMutability: "view"
5305
+ },
5306
+ {
5307
+ type: "function",
5308
+ inputs: [],
5309
+ name: "trendCoinImpl",
5310
+ outputs: [{ name: "", internalType: "address", type: "address" }],
5311
+ stateMutability: "view"
5312
+ },
5313
+ {
5314
+ type: "function",
5315
+ inputs: [],
5316
+ name: "trendCoinPoolConfig",
5317
+ outputs: [{ name: "", internalType: "bytes", type: "bytes" }],
5318
+ stateMutability: "view"
5319
+ },
4556
5320
  {
4557
5321
  type: "function",
4558
5322
  inputs: [
@@ -4818,6 +5582,75 @@ var zoraFactoryImplABI = [
4818
5582
  ],
4819
5583
  name: "OwnershipTransferred"
4820
5584
  },
5585
+ {
5586
+ type: "event",
5587
+ anonymous: false,
5588
+ inputs: [
5589
+ {
5590
+ name: "caller",
5591
+ internalType: "address",
5592
+ type: "address",
5593
+ indexed: true
5594
+ },
5595
+ {
5596
+ name: "symbol",
5597
+ internalType: "string",
5598
+ type: "string",
5599
+ indexed: false
5600
+ },
5601
+ {
5602
+ name: "coin",
5603
+ internalType: "address",
5604
+ type: "address",
5605
+ indexed: false
5606
+ },
5607
+ {
5608
+ name: "poolKey",
5609
+ internalType: "struct PoolKey",
5610
+ type: "tuple",
5611
+ components: [
5612
+ { name: "currency0", internalType: "Currency", type: "address" },
5613
+ { name: "currency1", internalType: "Currency", type: "address" },
5614
+ { name: "fee", internalType: "uint24", type: "uint24" },
5615
+ { name: "tickSpacing", internalType: "int24", type: "int24" },
5616
+ { name: "hooks", internalType: "contract IHooks", type: "address" }
5617
+ ],
5618
+ indexed: false
5619
+ },
5620
+ {
5621
+ name: "poolKeyHash",
5622
+ internalType: "bytes32",
5623
+ type: "bytes32",
5624
+ indexed: false
5625
+ },
5626
+ {
5627
+ name: "poolConfig",
5628
+ internalType: "bytes",
5629
+ type: "bytes",
5630
+ indexed: false
5631
+ },
5632
+ {
5633
+ name: "version",
5634
+ internalType: "string",
5635
+ type: "string",
5636
+ indexed: false
5637
+ }
5638
+ ],
5639
+ name: "TrendCoinCreated"
5640
+ },
5641
+ {
5642
+ type: "event",
5643
+ anonymous: false,
5644
+ inputs: [
5645
+ {
5646
+ name: "poolConfig",
5647
+ internalType: "bytes",
5648
+ type: "bytes",
5649
+ indexed: false
5650
+ }
5651
+ ],
5652
+ name: "TrendCoinPoolConfigUpdated"
5653
+ },
4821
5654
  {
4822
5655
  type: "event",
4823
5656
  anonymous: false,
@@ -4870,6 +5703,7 @@ var zoraFactoryImplABI = [
4870
5703
  ],
4871
5704
  name: "InvalidTickRangeMisordered"
4872
5705
  },
5706
+ { type: "error", inputs: [], name: "InvalidTickerCharacters" },
4873
5707
  {
4874
5708
  type: "error",
4875
5709
  inputs: [
@@ -4891,6 +5725,12 @@ var zoraFactoryImplABI = [
4891
5725
  name: "OwnableUnauthorizedAccount"
4892
5726
  },
4893
5727
  { type: "error", inputs: [], name: "ReentrancyGuardReentrantCall" },
5728
+ {
5729
+ type: "error",
5730
+ inputs: [{ name: "symbol", internalType: "string", type: "string" }],
5731
+ name: "TickerAlreadyUsed"
5732
+ },
5733
+ { type: "error", inputs: [], name: "TrendCoinPoolConfigNotSet" },
4894
5734
  { type: "error", inputs: [], name: "UUPSUnauthorizedCallContext" },
4895
5735
  {
4896
5736
  type: "error",
@@ -4905,6 +5745,7 @@ var zoraFactoryImplABI = [
4905
5745
  ],
4906
5746
  name: "UpgradeToMismatchedContractName"
4907
5747
  },
5748
+ { type: "error", inputs: [], name: "UseSpecificTrendCoinInitialize" },
4908
5749
  { type: "error", inputs: [], name: "ZeroDiscoveryPositions" },
4909
5750
  { type: "error", inputs: [], name: "ZeroDiscoverySupplyShare" }
4910
5751
  ];
@@ -5852,7 +6693,9 @@ export {
5852
6693
  creatorCoinABI,
5853
6694
  iPermit2ABI,
5854
6695
  iPoolConfigEncodingABI,
6696
+ iPoolManagerABI,
5855
6697
  iUniswapV3PoolABI,
6698
+ iUniversalRouterABI,
5856
6699
  zoraFactoryImplABI,
5857
6700
  zoraV4CoinHookABI
5858
6701
  };