@zoralabs/coins 2.5.0 → 2.6.1

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 (48) hide show
  1. package/.turbo/turbo-build$colon$js.log +136 -130
  2. package/CHANGELOG.md +28 -17
  3. package/abis/BaseCoin.json +5 -0
  4. package/abis/ContentCoin.json +5 -0
  5. package/abis/ICoin.json +5 -0
  6. package/abis/ICoinV3.json +5 -0
  7. package/abis/ITrendCoin.json +140 -0
  8. package/abis/ITrendCoinErrors.json +33 -0
  9. package/abis/IUniversalRouter.json +61 -0
  10. package/abis/IZoraFactory.json +237 -0
  11. package/abis/TrendCoin.json +2053 -0
  12. package/abis/ZoraFactoryImpl.json +242 -0
  13. package/dist/index.cjs +955 -138
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.js +953 -138
  16. package/dist/index.js.map +1 -1
  17. package/dist/wagmiGenerated.d.ts +1388 -149
  18. package/dist/wagmiGenerated.d.ts.map +1 -1
  19. package/foundry.toml +1 -0
  20. package/package/wagmiGenerated.ts +962 -139
  21. package/package.json +2 -2
  22. package/src/BaseCoin.sol +12 -12
  23. package/src/ContentCoin.sol +20 -1
  24. package/src/CreatorCoin.sol +3 -0
  25. package/src/TrendCoin.sol +117 -0
  26. package/src/ZoraFactoryImpl.sol +142 -1
  27. package/src/hooks/ZoraV4CoinHook.sol +17 -7
  28. package/src/interfaces/ICoin.sol +5 -1
  29. package/src/interfaces/ICreatorCoin.sol +0 -3
  30. package/src/interfaces/IPoolManager.sol +13 -0
  31. package/src/interfaces/ITrendCoin.sol +26 -0
  32. package/src/interfaces/ITrendCoinErrors.sol +24 -0
  33. package/src/interfaces/IZoraFactory.sol +60 -1
  34. package/src/libs/CoinConstants.sol +13 -1
  35. package/src/libs/CoinRewardsV4.sol +82 -21
  36. package/src/libs/TickerUtils.sol +66 -0
  37. package/src/libs/UniV4SwapToCurrency.sol +2 -1
  38. package/src/version/ContractVersionBase.sol +1 -1
  39. package/test/CoinRewardsV4.t.sol +48 -0
  40. package/test/CreatorCoin.t.sol +2 -1
  41. package/test/Factory.t.sol +31 -5
  42. package/test/LaunchFee.t.sol +0 -2
  43. package/test/LiquidityMigration.t.sol +0 -2
  44. package/test/TrendCoin.t.sol +1128 -0
  45. package/test/Upgrades.t.sol +16 -3
  46. package/test/utils/FeeEstimatorHook.sol +36 -10
  47. package/test/utils/V4TestSetup.sol +36 -4
  48. package/wagmi.config.ts +2 -0
package/dist/index.js CHANGED
@@ -1136,6 +1136,7 @@ var baseCoinABI = [
1136
1136
  ],
1137
1137
  name: "InvalidAccountNonce"
1138
1138
  },
1139
+ { type: "error", inputs: [], name: "InvalidCurrency" },
1139
1140
  { type: "error", inputs: [], name: "InvalidCurrencyLowerTick" },
1140
1141
  { type: "error", inputs: [], name: "InvalidInitialization" },
1141
1142
  { type: "error", inputs: [], name: "InvalidMarketType" },
@@ -2437,6 +2438,7 @@ var contentCoinABI = [
2437
2438
  ],
2438
2439
  name: "InvalidAccountNonce"
2439
2440
  },
2441
+ { type: "error", inputs: [], name: "InvalidCurrency" },
2440
2442
  { type: "error", inputs: [], name: "InvalidCurrencyLowerTick" },
2441
2443
  { type: "error", inputs: [], name: "InvalidInitialization" },
2442
2444
  { type: "error", inputs: [], name: "InvalidMarketType" },
@@ -4189,57 +4191,57 @@ var iPoolConfigEncodingABI = [
4189
4191
  stateMutability: "pure"
4190
4192
  }
4191
4193
  ];
4192
- var iUniswapV3PoolABI = [
4194
+ var iPoolManagerABI = [
4193
4195
  {
4194
4196
  type: "function",
4195
4197
  inputs: [
4196
- { name: "tickLower", internalType: "int24", type: "int24" },
4197
- { name: "tickUpper", internalType: "int24", type: "int24" },
4198
- { name: "amount", internalType: "uint128", type: "uint128" }
4199
- ],
4200
- name: "burn",
4201
- outputs: [
4202
- { name: "amount0", internalType: "uint256", type: "uint256" },
4203
- { 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" }
4204
4201
  ],
4205
- stateMutability: "nonpayable"
4202
+ name: "allowance",
4203
+ outputs: [{ name: "amount", internalType: "uint256", type: "uint256" }],
4204
+ stateMutability: "view"
4206
4205
  },
4207
4206
  {
4208
4207
  type: "function",
4209
4208
  inputs: [
4210
- { name: "recipient", internalType: "address", type: "address" },
4211
- { name: "tickLower", internalType: "int24", type: "int24" },
4212
- { name: "tickUpper", internalType: "int24", type: "int24" },
4213
- { name: "amount0Requested", internalType: "uint128", type: "uint128" },
4214
- { name: "amount1Requested", internalType: "uint128", type: "uint128" }
4215
- ],
4216
- name: "collect",
4217
- outputs: [
4218
- { name: "amount0", internalType: "uint128", type: "uint128" },
4219
- { 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" }
4220
4212
  ],
4213
+ name: "approve",
4214
+ outputs: [{ name: "", internalType: "bool", type: "bool" }],
4221
4215
  stateMutability: "nonpayable"
4222
4216
  },
4223
4217
  {
4224
4218
  type: "function",
4225
- inputs: [],
4226
- name: "feeGrowthGlobal0X128",
4227
- 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" }],
4228
4225
  stateMutability: "view"
4229
4226
  },
4230
4227
  {
4231
4228
  type: "function",
4232
- inputs: [],
4233
- name: "feeGrowthGlobal1X128",
4234
- outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
4235
- 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"
4236
4237
  },
4237
4238
  {
4238
4239
  type: "function",
4239
4240
  inputs: [
4240
- { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" }
4241
+ { name: "currency", internalType: "Currency", type: "address" },
4242
+ { name: "amount", internalType: "uint256", type: "uint256" }
4241
4243
  ],
4242
- name: "initialize",
4244
+ name: "clear",
4243
4245
  outputs: [],
4244
4246
  stateMutability: "nonpayable"
4245
4247
  },
@@ -4247,188 +4249,864 @@ var iUniswapV3PoolABI = [
4247
4249
  type: "function",
4248
4250
  inputs: [
4249
4251
  { name: "recipient", internalType: "address", type: "address" },
4250
- { name: "tickLower", internalType: "int24", type: "int24" },
4251
- { name: "tickUpper", internalType: "int24", type: "int24" },
4252
- { name: "amount", internalType: "uint128", type: "uint128" },
4253
- { name: "data", internalType: "bytes", type: "bytes" }
4252
+ { name: "currency", internalType: "Currency", type: "address" },
4253
+ { name: "amount", internalType: "uint256", type: "uint256" }
4254
4254
  ],
4255
- name: "mint",
4255
+ name: "collectProtocolFees",
4256
4256
  outputs: [
4257
- { name: "amount0", internalType: "uint256", type: "uint256" },
4258
- { name: "amount1", internalType: "uint256", type: "uint256" }
4257
+ { name: "amountCollected", internalType: "uint256", type: "uint256" }
4259
4258
  ],
4260
4259
  stateMutability: "nonpayable"
4261
4260
  },
4262
4261
  {
4263
4262
  type: "function",
4264
- inputs: [],
4265
- name: "slot0",
4266
- outputs: [
4263
+ inputs: [
4267
4264
  {
4268
- name: "slot0",
4269
- internalType: "struct IUniswapV3Pool.Slot0",
4265
+ name: "key",
4266
+ internalType: "struct PoolKey",
4270
4267
  type: "tuple",
4271
4268
  components: [
4272
- { name: "sqrtPriceX96", internalType: "uint160", type: "uint160" },
4273
- { name: "tick", internalType: "int24", type: "int24" },
4274
- { name: "observationIndex", internalType: "uint16", type: "uint16" },
4275
- {
4276
- name: "observationCardinality",
4277
- internalType: "uint16",
4278
- type: "uint16"
4279
- },
4280
- {
4281
- name: "observationCardinalityNext",
4282
- internalType: "uint16",
4283
- type: "uint16"
4284
- },
4285
- { name: "feeProtocol", internalType: "uint8", type: "uint8" },
4286
- { 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" }
4287
4274
  ]
4288
- }
4275
+ },
4276
+ { name: "amount0", internalType: "uint256", type: "uint256" },
4277
+ { name: "amount1", internalType: "uint256", type: "uint256" },
4278
+ { name: "hookData", internalType: "bytes", type: "bytes" }
4289
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" }],
4290
4289
  stateMutability: "view"
4291
4290
  },
4292
4291
  {
4293
4292
  type: "function",
4294
4293
  inputs: [
4295
- { name: "recipient", internalType: "address", type: "address" },
4296
- { name: "zeroForOne", internalType: "bool", type: "bool" },
4297
- { name: "amountSpecified", internalType: "int256", type: "int256" },
4298
- { name: "sqrtPriceLimitX96", internalType: "uint160", type: "uint160" },
4299
- { name: "data", internalType: "bytes", type: "bytes" }
4300
- ],
4301
- name: "swap",
4302
- outputs: [
4303
- { name: "amount0", internalType: "int256", type: "int256" },
4304
- { name: "amount1", internalType: "int256", type: "int256" }
4294
+ { name: "startSlot", internalType: "bytes32", type: "bytes32" },
4295
+ { name: "nSlots", internalType: "uint256", type: "uint256" }
4305
4296
  ],
4306
- stateMutability: "nonpayable"
4297
+ name: "extsload",
4298
+ outputs: [{ name: "values", internalType: "bytes32[]", type: "bytes32[]" }],
4299
+ stateMutability: "view"
4307
4300
  },
4308
4301
  {
4309
4302
  type: "function",
4310
- inputs: [],
4311
- name: "token0",
4312
- outputs: [{ name: "", internalType: "address", type: "address" }],
4313
- stateMutability: "nonpayable"
4303
+ inputs: [{ name: "slots", internalType: "bytes32[]", type: "bytes32[]" }],
4304
+ name: "extsload",
4305
+ outputs: [{ name: "values", internalType: "bytes32[]", type: "bytes32[]" }],
4306
+ stateMutability: "view"
4314
4307
  },
4315
4308
  {
4316
4309
  type: "function",
4317
- inputs: [],
4318
- name: "token1",
4319
- outputs: [{ name: "", internalType: "address", type: "address" }],
4320
- stateMutability: "nonpayable"
4321
- }
4322
- ];
4323
- 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
+ },
4324
4315
  {
4325
- 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",
4326
4324
  inputs: [
4327
- { name: "coinV4Impl_", internalType: "address", type: "address" },
4328
- { name: "creatorCoinImpl_", internalType: "address", type: "address" },
4329
- { name: "hook_", internalType: "address", type: "address" },
4330
- { 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" }
4331
4338
  ],
4339
+ name: "initialize",
4340
+ outputs: [{ name: "tick", internalType: "int24", type: "int24" }],
4332
4341
  stateMutability: "nonpayable"
4333
4342
  },
4334
4343
  {
4335
4344
  type: "function",
4336
- inputs: [],
4337
- name: "UPGRADE_INTERFACE_VERSION",
4338
- 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" }],
4339
4351
  stateMutability: "view"
4340
4352
  },
4341
4353
  {
4342
4354
  type: "function",
4343
- inputs: [],
4344
- 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",
4345
4361
  outputs: [],
4346
4362
  stateMutability: "nonpayable"
4347
4363
  },
4348
4364
  {
4349
4365
  type: "function",
4350
4366
  inputs: [
4351
- { name: "msgSender", internalType: "address", type: "address" },
4352
- { name: "name", internalType: "string", type: "string" },
4353
- { name: "symbol", internalType: "string", type: "string" },
4354
- { name: "poolConfig", internalType: "bytes", type: "bytes" },
4355
- { name: "platformReferrer", internalType: "address", type: "address" },
4356
- { 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" }
4357
4391
  ],
4358
- name: "coinAddress",
4359
- outputs: [{ name: "", internalType: "address", type: "address" }],
4360
- 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"
4361
4398
  },
4362
4399
  {
4363
4400
  type: "function",
4364
4401
  inputs: [],
4365
- name: "coinV4Impl",
4402
+ name: "protocolFeeController",
4366
4403
  outputs: [{ name: "", internalType: "address", type: "address" }],
4367
4404
  stateMutability: "view"
4368
4405
  },
4369
4406
  {
4370
4407
  type: "function",
4371
- inputs: [],
4372
- name: "contentCoinHook",
4373
- 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" }],
4374
4411
  stateMutability: "view"
4375
4412
  },
4376
4413
  {
4377
4414
  type: "function",
4378
- inputs: [],
4379
- name: "contractName",
4380
- outputs: [{ name: "", internalType: "string", type: "string" }],
4381
- 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"
4382
4422
  },
4383
4423
  {
4384
4424
  type: "function",
4385
- inputs: [],
4386
- name: "contractVersion",
4387
- outputs: [{ name: "", internalType: "string", type: "string" }],
4388
- 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"
4389
4443
  },
4390
4444
  {
4391
4445
  type: "function",
4392
- inputs: [],
4393
- name: "creatorCoinHook",
4394
- outputs: [{ name: "", internalType: "address", type: "address" }],
4395
- stateMutability: "view"
4446
+ inputs: [{ name: "controller", internalType: "address", type: "address" }],
4447
+ name: "setProtocolFeeController",
4448
+ outputs: [],
4449
+ stateMutability: "nonpayable"
4396
4450
  },
4397
4451
  {
4398
4452
  type: "function",
4399
4453
  inputs: [],
4400
- name: "creatorCoinImpl",
4401
- outputs: [{ name: "", internalType: "address", type: "address" }],
4402
- stateMutability: "view"
4454
+ name: "settle",
4455
+ outputs: [{ name: "paid", internalType: "uint256", type: "uint256" }],
4456
+ stateMutability: "payable"
4403
4457
  },
4404
4458
  {
4405
4459
  type: "function",
4406
- inputs: [
4407
- { name: "payoutRecipient", internalType: "address", type: "address" },
4408
- { name: "owners", internalType: "address[]", type: "address[]" },
4409
- { name: "uri", internalType: "string", type: "string" },
4410
- { name: "name", internalType: "string", type: "string" },
4411
- { name: "symbol", internalType: "string", type: "string" },
4412
- { name: "platformReferrer", internalType: "address", type: "address" },
4413
- { name: "currency", internalType: "address", type: "address" },
4414
- { name: "", internalType: "int24", type: "int24" },
4415
- { name: "", internalType: "uint256", type: "uint256" }
4416
- ],
4417
- name: "deploy",
4418
- outputs: [
4419
- { name: "", internalType: "address", type: "address" },
4420
- { name: "", internalType: "uint256", type: "uint256" }
4421
- ],
4460
+ inputs: [{ name: "recipient", internalType: "address", type: "address" }],
4461
+ name: "settleFor",
4462
+ outputs: [{ name: "paid", internalType: "uint256", type: "uint256" }],
4422
4463
  stateMutability: "payable"
4423
4464
  },
4424
4465
  {
4425
4466
  type: "function",
4426
4467
  inputs: [
4427
- { name: "payoutRecipient", internalType: "address", type: "address" },
4428
- { name: "owners", internalType: "address[]", type: "address[]" },
4429
- { name: "uri", internalType: "string", type: "string" },
4430
- { name: "name", internalType: "string", type: "string" },
4431
- { name: "symbol", internalType: "string", type: "string" },
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"
5081
+ },
5082
+ {
5083
+ type: "function",
5084
+ inputs: [
5085
+ { name: "payoutRecipient", internalType: "address", type: "address" },
5086
+ { name: "owners", internalType: "address[]", type: "address[]" },
5087
+ { name: "uri", internalType: "string", type: "string" },
5088
+ { name: "name", internalType: "string", type: "string" },
5089
+ { name: "symbol", internalType: "string", type: "string" },
5090
+ { name: "platformReferrer", internalType: "address", type: "address" },
5091
+ { name: "currency", internalType: "address", type: "address" },
5092
+ { name: "", internalType: "int24", type: "int24" },
5093
+ { name: "", internalType: "uint256", type: "uint256" }
5094
+ ],
5095
+ name: "deploy",
5096
+ outputs: [
5097
+ { name: "", internalType: "address", type: "address" },
5098
+ { name: "", internalType: "uint256", type: "uint256" }
5099
+ ],
5100
+ stateMutability: "payable"
5101
+ },
5102
+ {
5103
+ type: "function",
5104
+ inputs: [
5105
+ { name: "payoutRecipient", internalType: "address", type: "address" },
5106
+ { name: "owners", internalType: "address[]", type: "address[]" },
5107
+ { name: "uri", internalType: "string", type: "string" },
5108
+ { name: "name", internalType: "string", type: "string" },
5109
+ { name: "symbol", internalType: "string", type: "string" },
4432
5110
  { name: "poolConfig", internalType: "bytes", type: "bytes" },
4433
5111
  { name: "platformReferrer", internalType: "address", type: "address" },
4434
5112
  { name: "postDeployHook", internalType: "address", type: "address" },
@@ -4498,6 +5176,20 @@ var zoraFactoryImplABI = [
4498
5176
  ],
4499
5177
  stateMutability: "payable"
4500
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
+ },
4501
5193
  {
4502
5194
  type: "function",
4503
5195
  inputs: [
@@ -4576,6 +5268,27 @@ var zoraFactoryImplABI = [
4576
5268
  outputs: [],
4577
5269
  stateMutability: "nonpayable"
4578
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
+ },
4579
5292
  {
4580
5293
  type: "function",
4581
5294
  inputs: [{ name: "newOwner", internalType: "address", type: "address" }],
@@ -4583,6 +5296,27 @@ var zoraFactoryImplABI = [
4583
5296
  outputs: [],
4584
5297
  stateMutability: "nonpayable"
4585
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
+ },
4586
5320
  {
4587
5321
  type: "function",
4588
5322
  inputs: [
@@ -4848,6 +5582,75 @@ var zoraFactoryImplABI = [
4848
5582
  ],
4849
5583
  name: "OwnershipTransferred"
4850
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
+ },
4851
5654
  {
4852
5655
  type: "event",
4853
5656
  anonymous: false,
@@ -4921,6 +5724,15 @@ var zoraFactoryImplABI = [
4921
5724
  name: "OwnableUnauthorizedAccount"
4922
5725
  },
4923
5726
  { type: "error", inputs: [], name: "ReentrancyGuardReentrantCall" },
5727
+ {
5728
+ type: "error",
5729
+ inputs: [{ name: "symbol", internalType: "string", type: "string" }],
5730
+ name: "TickerAlreadyUsed"
5731
+ },
5732
+ { type: "error", inputs: [], name: "TickerInvalidCharacters" },
5733
+ { type: "error", inputs: [], name: "TickerTooLong" },
5734
+ { type: "error", inputs: [], name: "TickerTooShort" },
5735
+ { type: "error", inputs: [], name: "TrendCoinPoolConfigNotSet" },
4924
5736
  { type: "error", inputs: [], name: "UUPSUnauthorizedCallContext" },
4925
5737
  {
4926
5738
  type: "error",
@@ -4935,6 +5747,7 @@ var zoraFactoryImplABI = [
4935
5747
  ],
4936
5748
  name: "UpgradeToMismatchedContractName"
4937
5749
  },
5750
+ { type: "error", inputs: [], name: "UseSpecificTrendCoinInitialize" },
4938
5751
  { type: "error", inputs: [], name: "ZeroDiscoveryPositions" },
4939
5752
  { type: "error", inputs: [], name: "ZeroDiscoverySupplyShare" }
4940
5753
  ];
@@ -5882,7 +6695,9 @@ export {
5882
6695
  creatorCoinABI,
5883
6696
  iPermit2ABI,
5884
6697
  iPoolConfigEncodingABI,
6698
+ iPoolManagerABI,
5885
6699
  iUniswapV3PoolABI,
6700
+ iUniversalRouterABI,
5886
6701
  zoraFactoryImplABI,
5887
6702
  zoraV4CoinHookABI
5888
6703
  };