@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
@@ -253,6 +253,20 @@ export declare const baseCoinABI: readonly [{
253
253
  readonly type: "string";
254
254
  }];
255
255
  readonly stateMutability: "pure";
256
+ }, {
257
+ readonly type: "function";
258
+ readonly inputs: readonly [];
259
+ readonly name: "creationInfo";
260
+ readonly outputs: readonly [{
261
+ readonly name: "creationTimestamp";
262
+ readonly internalType: "uint256";
263
+ readonly type: "uint256";
264
+ }, {
265
+ readonly name: "isDeploying";
266
+ readonly internalType: "bool";
267
+ readonly type: "bool";
268
+ }];
269
+ readonly stateMutability: "view";
256
270
  }, {
257
271
  readonly type: "function";
258
272
  readonly inputs: readonly [];
@@ -1464,6 +1478,10 @@ export declare const baseCoinABI: readonly [{
1464
1478
  readonly type: "uint256";
1465
1479
  }];
1466
1480
  readonly name: "InvalidAccountNonce";
1481
+ }, {
1482
+ readonly type: "error";
1483
+ readonly inputs: readonly [];
1484
+ readonly name: "InvalidCurrency";
1467
1485
  }, {
1468
1486
  readonly type: "error";
1469
1487
  readonly inputs: readonly [];
@@ -2029,6 +2047,20 @@ export declare const contentCoinABI: readonly [{
2029
2047
  readonly type: "string";
2030
2048
  }];
2031
2049
  readonly stateMutability: "pure";
2050
+ }, {
2051
+ readonly type: "function";
2052
+ readonly inputs: readonly [];
2053
+ readonly name: "creationInfo";
2054
+ readonly outputs: readonly [{
2055
+ readonly name: "creationTimestamp";
2056
+ readonly internalType: "uint256";
2057
+ readonly type: "uint256";
2058
+ }, {
2059
+ readonly name: "isDeploying";
2060
+ readonly internalType: "bool";
2061
+ readonly type: "bool";
2062
+ }];
2063
+ readonly stateMutability: "view";
2032
2064
  }, {
2033
2065
  readonly type: "function";
2034
2066
  readonly inputs: readonly [];
@@ -3240,6 +3272,10 @@ export declare const contentCoinABI: readonly [{
3240
3272
  readonly type: "uint256";
3241
3273
  }];
3242
3274
  readonly name: "InvalidAccountNonce";
3275
+ }, {
3276
+ readonly type: "error";
3277
+ readonly inputs: readonly [];
3278
+ readonly name: "InvalidCurrency";
3243
3279
  }, {
3244
3280
  readonly type: "error";
3245
3281
  readonly inputs: readonly [];
@@ -3509,6 +3545,20 @@ export declare const creatorCoinABI: readonly [{
3509
3545
  readonly type: "string";
3510
3546
  }];
3511
3547
  readonly stateMutability: "pure";
3548
+ }, {
3549
+ readonly type: "function";
3550
+ readonly inputs: readonly [];
3551
+ readonly name: "creationInfo";
3552
+ readonly outputs: readonly [{
3553
+ readonly name: "creationTimestamp";
3554
+ readonly internalType: "uint256";
3555
+ readonly type: "uint256";
3556
+ }, {
3557
+ readonly name: "isDeploying";
3558
+ readonly internalType: "bool";
3559
+ readonly type: "bool";
3560
+ }];
3561
+ readonly stateMutability: "view";
3512
3562
  }, {
3513
3563
  readonly type: "function";
3514
3564
  readonly inputs: readonly [];
@@ -5610,94 +5660,98 @@ export declare const iPoolConfigEncodingABI: readonly [{
5610
5660
  }];
5611
5661
  readonly stateMutability: "pure";
5612
5662
  }];
5613
- export declare const iUniswapV3PoolABI: readonly [{
5663
+ export declare const iPoolManagerABI: readonly [{
5614
5664
  readonly type: "function";
5615
5665
  readonly inputs: readonly [{
5616
- readonly name: "tickLower";
5617
- readonly internalType: "int24";
5618
- readonly type: "int24";
5666
+ readonly name: "owner";
5667
+ readonly internalType: "address";
5668
+ readonly type: "address";
5619
5669
  }, {
5620
- readonly name: "tickUpper";
5621
- readonly internalType: "int24";
5622
- readonly type: "int24";
5670
+ readonly name: "spender";
5671
+ readonly internalType: "address";
5672
+ readonly type: "address";
5623
5673
  }, {
5624
- readonly name: "amount";
5625
- readonly internalType: "uint128";
5626
- readonly type: "uint128";
5627
- }];
5628
- readonly name: "burn";
5629
- readonly outputs: readonly [{
5630
- readonly name: "amount0";
5674
+ readonly name: "id";
5631
5675
  readonly internalType: "uint256";
5632
5676
  readonly type: "uint256";
5633
- }, {
5634
- readonly name: "amount1";
5677
+ }];
5678
+ readonly name: "allowance";
5679
+ readonly outputs: readonly [{
5680
+ readonly name: "amount";
5635
5681
  readonly internalType: "uint256";
5636
5682
  readonly type: "uint256";
5637
5683
  }];
5638
- readonly stateMutability: "nonpayable";
5684
+ readonly stateMutability: "view";
5639
5685
  }, {
5640
5686
  readonly type: "function";
5641
5687
  readonly inputs: readonly [{
5642
- readonly name: "recipient";
5688
+ readonly name: "spender";
5643
5689
  readonly internalType: "address";
5644
5690
  readonly type: "address";
5645
5691
  }, {
5646
- readonly name: "tickLower";
5647
- readonly internalType: "int24";
5648
- readonly type: "int24";
5649
- }, {
5650
- readonly name: "tickUpper";
5651
- readonly internalType: "int24";
5652
- readonly type: "int24";
5653
- }, {
5654
- readonly name: "amount0Requested";
5655
- readonly internalType: "uint128";
5656
- readonly type: "uint128";
5692
+ readonly name: "id";
5693
+ readonly internalType: "uint256";
5694
+ readonly type: "uint256";
5657
5695
  }, {
5658
- readonly name: "amount1Requested";
5659
- readonly internalType: "uint128";
5660
- readonly type: "uint128";
5696
+ readonly name: "amount";
5697
+ readonly internalType: "uint256";
5698
+ readonly type: "uint256";
5661
5699
  }];
5662
- readonly name: "collect";
5700
+ readonly name: "approve";
5663
5701
  readonly outputs: readonly [{
5664
- readonly name: "amount0";
5665
- readonly internalType: "uint128";
5666
- readonly type: "uint128";
5667
- }, {
5668
- readonly name: "amount1";
5669
- readonly internalType: "uint128";
5670
- readonly type: "uint128";
5702
+ readonly name: "";
5703
+ readonly internalType: "bool";
5704
+ readonly type: "bool";
5671
5705
  }];
5672
5706
  readonly stateMutability: "nonpayable";
5673
5707
  }, {
5674
5708
  readonly type: "function";
5675
- readonly inputs: readonly [];
5676
- readonly name: "feeGrowthGlobal0X128";
5709
+ readonly inputs: readonly [{
5710
+ readonly name: "owner";
5711
+ readonly internalType: "address";
5712
+ readonly type: "address";
5713
+ }, {
5714
+ readonly name: "id";
5715
+ readonly internalType: "uint256";
5716
+ readonly type: "uint256";
5717
+ }];
5718
+ readonly name: "balanceOf";
5677
5719
  readonly outputs: readonly [{
5678
- readonly name: "";
5720
+ readonly name: "amount";
5679
5721
  readonly internalType: "uint256";
5680
5722
  readonly type: "uint256";
5681
5723
  }];
5682
5724
  readonly stateMutability: "view";
5683
5725
  }, {
5684
5726
  readonly type: "function";
5685
- readonly inputs: readonly [];
5686
- readonly name: "feeGrowthGlobal1X128";
5687
- readonly outputs: readonly [{
5688
- readonly name: "";
5727
+ readonly inputs: readonly [{
5728
+ readonly name: "from";
5729
+ readonly internalType: "address";
5730
+ readonly type: "address";
5731
+ }, {
5732
+ readonly name: "id";
5733
+ readonly internalType: "uint256";
5734
+ readonly type: "uint256";
5735
+ }, {
5736
+ readonly name: "amount";
5689
5737
  readonly internalType: "uint256";
5690
5738
  readonly type: "uint256";
5691
5739
  }];
5692
- readonly stateMutability: "view";
5740
+ readonly name: "burn";
5741
+ readonly outputs: readonly [];
5742
+ readonly stateMutability: "nonpayable";
5693
5743
  }, {
5694
5744
  readonly type: "function";
5695
5745
  readonly inputs: readonly [{
5696
- readonly name: "sqrtPriceX96";
5697
- readonly internalType: "uint160";
5698
- readonly type: "uint160";
5746
+ readonly name: "currency";
5747
+ readonly internalType: "Currency";
5748
+ readonly type: "address";
5749
+ }, {
5750
+ readonly name: "amount";
5751
+ readonly internalType: "uint256";
5752
+ readonly type: "uint256";
5699
5753
  }];
5700
- readonly name: "initialize";
5754
+ readonly name: "clear";
5701
5755
  readonly outputs: readonly [];
5702
5756
  readonly stateMutability: "nonpayable";
5703
5757
  }, {
@@ -5707,114 +5761,1105 @@ export declare const iUniswapV3PoolABI: readonly [{
5707
5761
  readonly internalType: "address";
5708
5762
  readonly type: "address";
5709
5763
  }, {
5710
- readonly name: "tickLower";
5711
- readonly internalType: "int24";
5712
- readonly type: "int24";
5713
- }, {
5714
- readonly name: "tickUpper";
5715
- readonly internalType: "int24";
5716
- readonly type: "int24";
5764
+ readonly name: "currency";
5765
+ readonly internalType: "Currency";
5766
+ readonly type: "address";
5717
5767
  }, {
5718
5768
  readonly name: "amount";
5719
- readonly internalType: "uint128";
5720
- readonly type: "uint128";
5721
- }, {
5722
- readonly name: "data";
5723
- readonly internalType: "bytes";
5724
- readonly type: "bytes";
5725
- }];
5726
- readonly name: "mint";
5727
- readonly outputs: readonly [{
5728
- readonly name: "amount0";
5729
5769
  readonly internalType: "uint256";
5730
5770
  readonly type: "uint256";
5731
- }, {
5732
- readonly name: "amount1";
5771
+ }];
5772
+ readonly name: "collectProtocolFees";
5773
+ readonly outputs: readonly [{
5774
+ readonly name: "amountCollected";
5733
5775
  readonly internalType: "uint256";
5734
5776
  readonly type: "uint256";
5735
5777
  }];
5736
5778
  readonly stateMutability: "nonpayable";
5737
5779
  }, {
5738
5780
  readonly type: "function";
5739
- readonly inputs: readonly [];
5740
- readonly name: "slot0";
5741
- readonly outputs: readonly [{
5742
- readonly name: "slot0";
5743
- readonly internalType: "struct IUniswapV3Pool.Slot0";
5781
+ readonly inputs: readonly [{
5782
+ readonly name: "key";
5783
+ readonly internalType: "struct PoolKey";
5744
5784
  readonly type: "tuple";
5745
5785
  readonly components: readonly [{
5746
- readonly name: "sqrtPriceX96";
5747
- readonly internalType: "uint160";
5748
- readonly type: "uint160";
5749
- }, {
5750
- readonly name: "tick";
5751
- readonly internalType: "int24";
5752
- readonly type: "int24";
5753
- }, {
5754
- readonly name: "observationIndex";
5755
- readonly internalType: "uint16";
5756
- readonly type: "uint16";
5786
+ readonly name: "currency0";
5787
+ readonly internalType: "Currency";
5788
+ readonly type: "address";
5757
5789
  }, {
5758
- readonly name: "observationCardinality";
5759
- readonly internalType: "uint16";
5760
- readonly type: "uint16";
5790
+ readonly name: "currency1";
5791
+ readonly internalType: "Currency";
5792
+ readonly type: "address";
5761
5793
  }, {
5762
- readonly name: "observationCardinalityNext";
5763
- readonly internalType: "uint16";
5764
- readonly type: "uint16";
5794
+ readonly name: "fee";
5795
+ readonly internalType: "uint24";
5796
+ readonly type: "uint24";
5765
5797
  }, {
5766
- readonly name: "feeProtocol";
5767
- readonly internalType: "uint8";
5768
- readonly type: "uint8";
5798
+ readonly name: "tickSpacing";
5799
+ readonly internalType: "int24";
5800
+ readonly type: "int24";
5769
5801
  }, {
5770
- readonly name: "unlocked";
5771
- readonly internalType: "bool";
5772
- readonly type: "bool";
5802
+ readonly name: "hooks";
5803
+ readonly internalType: "contract IHooks";
5804
+ readonly type: "address";
5773
5805
  }];
5774
- }];
5775
- readonly stateMutability: "view";
5776
- }, {
5777
- readonly type: "function";
5778
- readonly inputs: readonly [{
5779
- readonly name: "recipient";
5780
- readonly internalType: "address";
5781
- readonly type: "address";
5782
- }, {
5783
- readonly name: "zeroForOne";
5784
- readonly internalType: "bool";
5785
- readonly type: "bool";
5786
5806
  }, {
5787
- readonly name: "amountSpecified";
5788
- readonly internalType: "int256";
5789
- readonly type: "int256";
5807
+ readonly name: "amount0";
5808
+ readonly internalType: "uint256";
5809
+ readonly type: "uint256";
5790
5810
  }, {
5791
- readonly name: "sqrtPriceLimitX96";
5792
- readonly internalType: "uint160";
5793
- readonly type: "uint160";
5811
+ readonly name: "amount1";
5812
+ readonly internalType: "uint256";
5813
+ readonly type: "uint256";
5794
5814
  }, {
5795
- readonly name: "data";
5815
+ readonly name: "hookData";
5796
5816
  readonly internalType: "bytes";
5797
5817
  readonly type: "bytes";
5798
5818
  }];
5799
- readonly name: "swap";
5819
+ readonly name: "donate";
5800
5820
  readonly outputs: readonly [{
5801
- readonly name: "amount0";
5802
- readonly internalType: "int256";
5803
- readonly type: "int256";
5804
- }, {
5805
- readonly name: "amount1";
5806
- readonly internalType: "int256";
5821
+ readonly name: "";
5822
+ readonly internalType: "BalanceDelta";
5807
5823
  readonly type: "int256";
5808
5824
  }];
5809
5825
  readonly stateMutability: "nonpayable";
5810
5826
  }, {
5811
5827
  readonly type: "function";
5812
- readonly inputs: readonly [];
5813
- readonly name: "token0";
5814
- readonly outputs: readonly [{
5815
- readonly name: "";
5816
- readonly internalType: "address";
5817
- readonly type: "address";
5828
+ readonly inputs: readonly [{
5829
+ readonly name: "slot";
5830
+ readonly internalType: "bytes32";
5831
+ readonly type: "bytes32";
5832
+ }];
5833
+ readonly name: "extsload";
5834
+ readonly outputs: readonly [{
5835
+ readonly name: "value";
5836
+ readonly internalType: "bytes32";
5837
+ readonly type: "bytes32";
5838
+ }];
5839
+ readonly stateMutability: "view";
5840
+ }, {
5841
+ readonly type: "function";
5842
+ readonly inputs: readonly [{
5843
+ readonly name: "startSlot";
5844
+ readonly internalType: "bytes32";
5845
+ readonly type: "bytes32";
5846
+ }, {
5847
+ readonly name: "nSlots";
5848
+ readonly internalType: "uint256";
5849
+ readonly type: "uint256";
5850
+ }];
5851
+ readonly name: "extsload";
5852
+ readonly outputs: readonly [{
5853
+ readonly name: "values";
5854
+ readonly internalType: "bytes32[]";
5855
+ readonly type: "bytes32[]";
5856
+ }];
5857
+ readonly stateMutability: "view";
5858
+ }, {
5859
+ readonly type: "function";
5860
+ readonly inputs: readonly [{
5861
+ readonly name: "slots";
5862
+ readonly internalType: "bytes32[]";
5863
+ readonly type: "bytes32[]";
5864
+ }];
5865
+ readonly name: "extsload";
5866
+ readonly outputs: readonly [{
5867
+ readonly name: "values";
5868
+ readonly internalType: "bytes32[]";
5869
+ readonly type: "bytes32[]";
5870
+ }];
5871
+ readonly stateMutability: "view";
5872
+ }, {
5873
+ readonly type: "function";
5874
+ readonly inputs: readonly [{
5875
+ readonly name: "slots";
5876
+ readonly internalType: "bytes32[]";
5877
+ readonly type: "bytes32[]";
5878
+ }];
5879
+ readonly name: "exttload";
5880
+ readonly outputs: readonly [{
5881
+ readonly name: "values";
5882
+ readonly internalType: "bytes32[]";
5883
+ readonly type: "bytes32[]";
5884
+ }];
5885
+ readonly stateMutability: "view";
5886
+ }, {
5887
+ readonly type: "function";
5888
+ readonly inputs: readonly [{
5889
+ readonly name: "slot";
5890
+ readonly internalType: "bytes32";
5891
+ readonly type: "bytes32";
5892
+ }];
5893
+ readonly name: "exttload";
5894
+ readonly outputs: readonly [{
5895
+ readonly name: "value";
5896
+ readonly internalType: "bytes32";
5897
+ readonly type: "bytes32";
5898
+ }];
5899
+ readonly stateMutability: "view";
5900
+ }, {
5901
+ readonly type: "function";
5902
+ readonly inputs: readonly [{
5903
+ readonly name: "key";
5904
+ readonly internalType: "struct PoolKey";
5905
+ readonly type: "tuple";
5906
+ readonly components: readonly [{
5907
+ readonly name: "currency0";
5908
+ readonly internalType: "Currency";
5909
+ readonly type: "address";
5910
+ }, {
5911
+ readonly name: "currency1";
5912
+ readonly internalType: "Currency";
5913
+ readonly type: "address";
5914
+ }, {
5915
+ readonly name: "fee";
5916
+ readonly internalType: "uint24";
5917
+ readonly type: "uint24";
5918
+ }, {
5919
+ readonly name: "tickSpacing";
5920
+ readonly internalType: "int24";
5921
+ readonly type: "int24";
5922
+ }, {
5923
+ readonly name: "hooks";
5924
+ readonly internalType: "contract IHooks";
5925
+ readonly type: "address";
5926
+ }];
5927
+ }, {
5928
+ readonly name: "sqrtPriceX96";
5929
+ readonly internalType: "uint160";
5930
+ readonly type: "uint160";
5931
+ }];
5932
+ readonly name: "initialize";
5933
+ readonly outputs: readonly [{
5934
+ readonly name: "tick";
5935
+ readonly internalType: "int24";
5936
+ readonly type: "int24";
5937
+ }];
5938
+ readonly stateMutability: "nonpayable";
5939
+ }, {
5940
+ readonly type: "function";
5941
+ readonly inputs: readonly [{
5942
+ readonly name: "owner";
5943
+ readonly internalType: "address";
5944
+ readonly type: "address";
5945
+ }, {
5946
+ readonly name: "spender";
5947
+ readonly internalType: "address";
5948
+ readonly type: "address";
5949
+ }];
5950
+ readonly name: "isOperator";
5951
+ readonly outputs: readonly [{
5952
+ readonly name: "approved";
5953
+ readonly internalType: "bool";
5954
+ readonly type: "bool";
5955
+ }];
5956
+ readonly stateMutability: "view";
5957
+ }, {
5958
+ readonly type: "function";
5959
+ readonly inputs: readonly [{
5960
+ readonly name: "to";
5961
+ readonly internalType: "address";
5962
+ readonly type: "address";
5963
+ }, {
5964
+ readonly name: "id";
5965
+ readonly internalType: "uint256";
5966
+ readonly type: "uint256";
5967
+ }, {
5968
+ readonly name: "amount";
5969
+ readonly internalType: "uint256";
5970
+ readonly type: "uint256";
5971
+ }];
5972
+ readonly name: "mint";
5973
+ readonly outputs: readonly [];
5974
+ readonly stateMutability: "nonpayable";
5975
+ }, {
5976
+ readonly type: "function";
5977
+ readonly inputs: readonly [{
5978
+ readonly name: "key";
5979
+ readonly internalType: "struct PoolKey";
5980
+ readonly type: "tuple";
5981
+ readonly components: readonly [{
5982
+ readonly name: "currency0";
5983
+ readonly internalType: "Currency";
5984
+ readonly type: "address";
5985
+ }, {
5986
+ readonly name: "currency1";
5987
+ readonly internalType: "Currency";
5988
+ readonly type: "address";
5989
+ }, {
5990
+ readonly name: "fee";
5991
+ readonly internalType: "uint24";
5992
+ readonly type: "uint24";
5993
+ }, {
5994
+ readonly name: "tickSpacing";
5995
+ readonly internalType: "int24";
5996
+ readonly type: "int24";
5997
+ }, {
5998
+ readonly name: "hooks";
5999
+ readonly internalType: "contract IHooks";
6000
+ readonly type: "address";
6001
+ }];
6002
+ }, {
6003
+ readonly name: "params";
6004
+ readonly internalType: "struct ModifyLiquidityParams";
6005
+ readonly type: "tuple";
6006
+ readonly components: readonly [{
6007
+ readonly name: "tickLower";
6008
+ readonly internalType: "int24";
6009
+ readonly type: "int24";
6010
+ }, {
6011
+ readonly name: "tickUpper";
6012
+ readonly internalType: "int24";
6013
+ readonly type: "int24";
6014
+ }, {
6015
+ readonly name: "liquidityDelta";
6016
+ readonly internalType: "int256";
6017
+ readonly type: "int256";
6018
+ }, {
6019
+ readonly name: "salt";
6020
+ readonly internalType: "bytes32";
6021
+ readonly type: "bytes32";
6022
+ }];
6023
+ }, {
6024
+ readonly name: "hookData";
6025
+ readonly internalType: "bytes";
6026
+ readonly type: "bytes";
6027
+ }];
6028
+ readonly name: "modifyLiquidity";
6029
+ readonly outputs: readonly [{
6030
+ readonly name: "callerDelta";
6031
+ readonly internalType: "BalanceDelta";
6032
+ readonly type: "int256";
6033
+ }, {
6034
+ readonly name: "feesAccrued";
6035
+ readonly internalType: "BalanceDelta";
6036
+ readonly type: "int256";
6037
+ }];
6038
+ readonly stateMutability: "nonpayable";
6039
+ }, {
6040
+ readonly type: "function";
6041
+ readonly inputs: readonly [];
6042
+ readonly name: "protocolFeeController";
6043
+ readonly outputs: readonly [{
6044
+ readonly name: "";
6045
+ readonly internalType: "address";
6046
+ readonly type: "address";
6047
+ }];
6048
+ readonly stateMutability: "view";
6049
+ }, {
6050
+ readonly type: "function";
6051
+ readonly inputs: readonly [{
6052
+ readonly name: "currency";
6053
+ readonly internalType: "Currency";
6054
+ readonly type: "address";
6055
+ }];
6056
+ readonly name: "protocolFeesAccrued";
6057
+ readonly outputs: readonly [{
6058
+ readonly name: "amount";
6059
+ readonly internalType: "uint256";
6060
+ readonly type: "uint256";
6061
+ }];
6062
+ readonly stateMutability: "view";
6063
+ }, {
6064
+ readonly type: "function";
6065
+ readonly inputs: readonly [{
6066
+ readonly name: "operator";
6067
+ readonly internalType: "address";
6068
+ readonly type: "address";
6069
+ }, {
6070
+ readonly name: "approved";
6071
+ readonly internalType: "bool";
6072
+ readonly type: "bool";
6073
+ }];
6074
+ readonly name: "setOperator";
6075
+ readonly outputs: readonly [{
6076
+ readonly name: "";
6077
+ readonly internalType: "bool";
6078
+ readonly type: "bool";
6079
+ }];
6080
+ readonly stateMutability: "nonpayable";
6081
+ }, {
6082
+ readonly type: "function";
6083
+ readonly inputs: readonly [{
6084
+ readonly name: "key";
6085
+ readonly internalType: "struct PoolKey";
6086
+ readonly type: "tuple";
6087
+ readonly components: readonly [{
6088
+ readonly name: "currency0";
6089
+ readonly internalType: "Currency";
6090
+ readonly type: "address";
6091
+ }, {
6092
+ readonly name: "currency1";
6093
+ readonly internalType: "Currency";
6094
+ readonly type: "address";
6095
+ }, {
6096
+ readonly name: "fee";
6097
+ readonly internalType: "uint24";
6098
+ readonly type: "uint24";
6099
+ }, {
6100
+ readonly name: "tickSpacing";
6101
+ readonly internalType: "int24";
6102
+ readonly type: "int24";
6103
+ }, {
6104
+ readonly name: "hooks";
6105
+ readonly internalType: "contract IHooks";
6106
+ readonly type: "address";
6107
+ }];
6108
+ }, {
6109
+ readonly name: "newProtocolFee";
6110
+ readonly internalType: "uint24";
6111
+ readonly type: "uint24";
6112
+ }];
6113
+ readonly name: "setProtocolFee";
6114
+ readonly outputs: readonly [];
6115
+ readonly stateMutability: "nonpayable";
6116
+ }, {
6117
+ readonly type: "function";
6118
+ readonly inputs: readonly [{
6119
+ readonly name: "controller";
6120
+ readonly internalType: "address";
6121
+ readonly type: "address";
6122
+ }];
6123
+ readonly name: "setProtocolFeeController";
6124
+ readonly outputs: readonly [];
6125
+ readonly stateMutability: "nonpayable";
6126
+ }, {
6127
+ readonly type: "function";
6128
+ readonly inputs: readonly [];
6129
+ readonly name: "settle";
6130
+ readonly outputs: readonly [{
6131
+ readonly name: "paid";
6132
+ readonly internalType: "uint256";
6133
+ readonly type: "uint256";
6134
+ }];
6135
+ readonly stateMutability: "payable";
6136
+ }, {
6137
+ readonly type: "function";
6138
+ readonly inputs: readonly [{
6139
+ readonly name: "recipient";
6140
+ readonly internalType: "address";
6141
+ readonly type: "address";
6142
+ }];
6143
+ readonly name: "settleFor";
6144
+ readonly outputs: readonly [{
6145
+ readonly name: "paid";
6146
+ readonly internalType: "uint256";
6147
+ readonly type: "uint256";
6148
+ }];
6149
+ readonly stateMutability: "payable";
6150
+ }, {
6151
+ readonly type: "function";
6152
+ readonly inputs: readonly [{
6153
+ readonly name: "key";
6154
+ readonly internalType: "struct PoolKey";
6155
+ readonly type: "tuple";
6156
+ readonly components: readonly [{
6157
+ readonly name: "currency0";
6158
+ readonly internalType: "Currency";
6159
+ readonly type: "address";
6160
+ }, {
6161
+ readonly name: "currency1";
6162
+ readonly internalType: "Currency";
6163
+ readonly type: "address";
6164
+ }, {
6165
+ readonly name: "fee";
6166
+ readonly internalType: "uint24";
6167
+ readonly type: "uint24";
6168
+ }, {
6169
+ readonly name: "tickSpacing";
6170
+ readonly internalType: "int24";
6171
+ readonly type: "int24";
6172
+ }, {
6173
+ readonly name: "hooks";
6174
+ readonly internalType: "contract IHooks";
6175
+ readonly type: "address";
6176
+ }];
6177
+ }, {
6178
+ readonly name: "params";
6179
+ readonly internalType: "struct SwapParams";
6180
+ readonly type: "tuple";
6181
+ readonly components: readonly [{
6182
+ readonly name: "zeroForOne";
6183
+ readonly internalType: "bool";
6184
+ readonly type: "bool";
6185
+ }, {
6186
+ readonly name: "amountSpecified";
6187
+ readonly internalType: "int256";
6188
+ readonly type: "int256";
6189
+ }, {
6190
+ readonly name: "sqrtPriceLimitX96";
6191
+ readonly internalType: "uint160";
6192
+ readonly type: "uint160";
6193
+ }];
6194
+ }, {
6195
+ readonly name: "hookData";
6196
+ readonly internalType: "bytes";
6197
+ readonly type: "bytes";
6198
+ }];
6199
+ readonly name: "swap";
6200
+ readonly outputs: readonly [{
6201
+ readonly name: "swapDelta";
6202
+ readonly internalType: "BalanceDelta";
6203
+ readonly type: "int256";
6204
+ }];
6205
+ readonly stateMutability: "nonpayable";
6206
+ }, {
6207
+ readonly type: "function";
6208
+ readonly inputs: readonly [{
6209
+ readonly name: "currency";
6210
+ readonly internalType: "Currency";
6211
+ readonly type: "address";
6212
+ }];
6213
+ readonly name: "sync";
6214
+ readonly outputs: readonly [];
6215
+ readonly stateMutability: "nonpayable";
6216
+ }, {
6217
+ readonly type: "function";
6218
+ readonly inputs: readonly [{
6219
+ readonly name: "currency";
6220
+ readonly internalType: "Currency";
6221
+ readonly type: "address";
6222
+ }, {
6223
+ readonly name: "to";
6224
+ readonly internalType: "address";
6225
+ readonly type: "address";
6226
+ }, {
6227
+ readonly name: "amount";
6228
+ readonly internalType: "uint256";
6229
+ readonly type: "uint256";
6230
+ }];
6231
+ readonly name: "take";
6232
+ readonly outputs: readonly [];
6233
+ readonly stateMutability: "nonpayable";
6234
+ }, {
6235
+ readonly type: "function";
6236
+ readonly inputs: readonly [{
6237
+ readonly name: "receiver";
6238
+ readonly internalType: "address";
6239
+ readonly type: "address";
6240
+ }, {
6241
+ readonly name: "id";
6242
+ readonly internalType: "uint256";
6243
+ readonly type: "uint256";
6244
+ }, {
6245
+ readonly name: "amount";
6246
+ readonly internalType: "uint256";
6247
+ readonly type: "uint256";
6248
+ }];
6249
+ readonly name: "transfer";
6250
+ readonly outputs: readonly [{
6251
+ readonly name: "";
6252
+ readonly internalType: "bool";
6253
+ readonly type: "bool";
6254
+ }];
6255
+ readonly stateMutability: "nonpayable";
6256
+ }, {
6257
+ readonly type: "function";
6258
+ readonly inputs: readonly [{
6259
+ readonly name: "sender";
6260
+ readonly internalType: "address";
6261
+ readonly type: "address";
6262
+ }, {
6263
+ readonly name: "receiver";
6264
+ readonly internalType: "address";
6265
+ readonly type: "address";
6266
+ }, {
6267
+ readonly name: "id";
6268
+ readonly internalType: "uint256";
6269
+ readonly type: "uint256";
6270
+ }, {
6271
+ readonly name: "amount";
6272
+ readonly internalType: "uint256";
6273
+ readonly type: "uint256";
6274
+ }];
6275
+ readonly name: "transferFrom";
6276
+ readonly outputs: readonly [{
6277
+ readonly name: "";
6278
+ readonly internalType: "bool";
6279
+ readonly type: "bool";
6280
+ }];
6281
+ readonly stateMutability: "nonpayable";
6282
+ }, {
6283
+ readonly type: "function";
6284
+ readonly inputs: readonly [{
6285
+ readonly name: "data";
6286
+ readonly internalType: "bytes";
6287
+ readonly type: "bytes";
6288
+ }];
6289
+ readonly name: "unlock";
6290
+ readonly outputs: readonly [{
6291
+ readonly name: "";
6292
+ readonly internalType: "bytes";
6293
+ readonly type: "bytes";
6294
+ }];
6295
+ readonly stateMutability: "nonpayable";
6296
+ }, {
6297
+ readonly type: "function";
6298
+ readonly inputs: readonly [{
6299
+ readonly name: "key";
6300
+ readonly internalType: "struct PoolKey";
6301
+ readonly type: "tuple";
6302
+ readonly components: readonly [{
6303
+ readonly name: "currency0";
6304
+ readonly internalType: "Currency";
6305
+ readonly type: "address";
6306
+ }, {
6307
+ readonly name: "currency1";
6308
+ readonly internalType: "Currency";
6309
+ readonly type: "address";
6310
+ }, {
6311
+ readonly name: "fee";
6312
+ readonly internalType: "uint24";
6313
+ readonly type: "uint24";
6314
+ }, {
6315
+ readonly name: "tickSpacing";
6316
+ readonly internalType: "int24";
6317
+ readonly type: "int24";
6318
+ }, {
6319
+ readonly name: "hooks";
6320
+ readonly internalType: "contract IHooks";
6321
+ readonly type: "address";
6322
+ }];
6323
+ }, {
6324
+ readonly name: "newDynamicLPFee";
6325
+ readonly internalType: "uint24";
6326
+ readonly type: "uint24";
6327
+ }];
6328
+ readonly name: "updateDynamicLPFee";
6329
+ readonly outputs: readonly [];
6330
+ readonly stateMutability: "nonpayable";
6331
+ }, {
6332
+ readonly type: "event";
6333
+ readonly anonymous: false;
6334
+ readonly inputs: readonly [{
6335
+ readonly name: "owner";
6336
+ readonly internalType: "address";
6337
+ readonly type: "address";
6338
+ readonly indexed: true;
6339
+ }, {
6340
+ readonly name: "spender";
6341
+ readonly internalType: "address";
6342
+ readonly type: "address";
6343
+ readonly indexed: true;
6344
+ }, {
6345
+ readonly name: "id";
6346
+ readonly internalType: "uint256";
6347
+ readonly type: "uint256";
6348
+ readonly indexed: true;
6349
+ }, {
6350
+ readonly name: "amount";
6351
+ readonly internalType: "uint256";
6352
+ readonly type: "uint256";
6353
+ readonly indexed: false;
6354
+ }];
6355
+ readonly name: "Approval";
6356
+ }, {
6357
+ readonly type: "event";
6358
+ readonly anonymous: false;
6359
+ readonly inputs: readonly [{
6360
+ readonly name: "id";
6361
+ readonly internalType: "PoolId";
6362
+ readonly type: "bytes32";
6363
+ readonly indexed: true;
6364
+ }, {
6365
+ readonly name: "sender";
6366
+ readonly internalType: "address";
6367
+ readonly type: "address";
6368
+ readonly indexed: true;
6369
+ }, {
6370
+ readonly name: "amount0";
6371
+ readonly internalType: "uint256";
6372
+ readonly type: "uint256";
6373
+ readonly indexed: false;
6374
+ }, {
6375
+ readonly name: "amount1";
6376
+ readonly internalType: "uint256";
6377
+ readonly type: "uint256";
6378
+ readonly indexed: false;
6379
+ }];
6380
+ readonly name: "Donate";
6381
+ }, {
6382
+ readonly type: "event";
6383
+ readonly anonymous: false;
6384
+ readonly inputs: readonly [{
6385
+ readonly name: "id";
6386
+ readonly internalType: "PoolId";
6387
+ readonly type: "bytes32";
6388
+ readonly indexed: true;
6389
+ }, {
6390
+ readonly name: "currency0";
6391
+ readonly internalType: "Currency";
6392
+ readonly type: "address";
6393
+ readonly indexed: true;
6394
+ }, {
6395
+ readonly name: "currency1";
6396
+ readonly internalType: "Currency";
6397
+ readonly type: "address";
6398
+ readonly indexed: true;
6399
+ }, {
6400
+ readonly name: "fee";
6401
+ readonly internalType: "uint24";
6402
+ readonly type: "uint24";
6403
+ readonly indexed: false;
6404
+ }, {
6405
+ readonly name: "tickSpacing";
6406
+ readonly internalType: "int24";
6407
+ readonly type: "int24";
6408
+ readonly indexed: false;
6409
+ }, {
6410
+ readonly name: "hooks";
6411
+ readonly internalType: "contract IHooks";
6412
+ readonly type: "address";
6413
+ readonly indexed: false;
6414
+ }, {
6415
+ readonly name: "sqrtPriceX96";
6416
+ readonly internalType: "uint160";
6417
+ readonly type: "uint160";
6418
+ readonly indexed: false;
6419
+ }, {
6420
+ readonly name: "tick";
6421
+ readonly internalType: "int24";
6422
+ readonly type: "int24";
6423
+ readonly indexed: false;
6424
+ }];
6425
+ readonly name: "Initialize";
6426
+ }, {
6427
+ readonly type: "event";
6428
+ readonly anonymous: false;
6429
+ readonly inputs: readonly [{
6430
+ readonly name: "id";
6431
+ readonly internalType: "PoolId";
6432
+ readonly type: "bytes32";
6433
+ readonly indexed: true;
6434
+ }, {
6435
+ readonly name: "sender";
6436
+ readonly internalType: "address";
6437
+ readonly type: "address";
6438
+ readonly indexed: true;
6439
+ }, {
6440
+ readonly name: "tickLower";
6441
+ readonly internalType: "int24";
6442
+ readonly type: "int24";
6443
+ readonly indexed: false;
6444
+ }, {
6445
+ readonly name: "tickUpper";
6446
+ readonly internalType: "int24";
6447
+ readonly type: "int24";
6448
+ readonly indexed: false;
6449
+ }, {
6450
+ readonly name: "liquidityDelta";
6451
+ readonly internalType: "int256";
6452
+ readonly type: "int256";
6453
+ readonly indexed: false;
6454
+ }, {
6455
+ readonly name: "salt";
6456
+ readonly internalType: "bytes32";
6457
+ readonly type: "bytes32";
6458
+ readonly indexed: false;
6459
+ }];
6460
+ readonly name: "ModifyLiquidity";
6461
+ }, {
6462
+ readonly type: "event";
6463
+ readonly anonymous: false;
6464
+ readonly inputs: readonly [{
6465
+ readonly name: "owner";
6466
+ readonly internalType: "address";
6467
+ readonly type: "address";
6468
+ readonly indexed: true;
6469
+ }, {
6470
+ readonly name: "operator";
6471
+ readonly internalType: "address";
6472
+ readonly type: "address";
6473
+ readonly indexed: true;
6474
+ }, {
6475
+ readonly name: "approved";
6476
+ readonly internalType: "bool";
6477
+ readonly type: "bool";
6478
+ readonly indexed: false;
6479
+ }];
6480
+ readonly name: "OperatorSet";
6481
+ }, {
6482
+ readonly type: "event";
6483
+ readonly anonymous: false;
6484
+ readonly inputs: readonly [{
6485
+ readonly name: "protocolFeeController";
6486
+ readonly internalType: "address";
6487
+ readonly type: "address";
6488
+ readonly indexed: true;
6489
+ }];
6490
+ readonly name: "ProtocolFeeControllerUpdated";
6491
+ }, {
6492
+ readonly type: "event";
6493
+ readonly anonymous: false;
6494
+ readonly inputs: readonly [{
6495
+ readonly name: "id";
6496
+ readonly internalType: "PoolId";
6497
+ readonly type: "bytes32";
6498
+ readonly indexed: true;
6499
+ }, {
6500
+ readonly name: "protocolFee";
6501
+ readonly internalType: "uint24";
6502
+ readonly type: "uint24";
6503
+ readonly indexed: false;
6504
+ }];
6505
+ readonly name: "ProtocolFeeUpdated";
6506
+ }, {
6507
+ readonly type: "event";
6508
+ readonly anonymous: false;
6509
+ readonly inputs: readonly [{
6510
+ readonly name: "id";
6511
+ readonly internalType: "PoolId";
6512
+ readonly type: "bytes32";
6513
+ readonly indexed: true;
6514
+ }, {
6515
+ readonly name: "sender";
6516
+ readonly internalType: "address";
6517
+ readonly type: "address";
6518
+ readonly indexed: true;
6519
+ }, {
6520
+ readonly name: "amount0";
6521
+ readonly internalType: "int128";
6522
+ readonly type: "int128";
6523
+ readonly indexed: false;
6524
+ }, {
6525
+ readonly name: "amount1";
6526
+ readonly internalType: "int128";
6527
+ readonly type: "int128";
6528
+ readonly indexed: false;
6529
+ }, {
6530
+ readonly name: "sqrtPriceX96";
6531
+ readonly internalType: "uint160";
6532
+ readonly type: "uint160";
6533
+ readonly indexed: false;
6534
+ }, {
6535
+ readonly name: "liquidity";
6536
+ readonly internalType: "uint128";
6537
+ readonly type: "uint128";
6538
+ readonly indexed: false;
6539
+ }, {
6540
+ readonly name: "tick";
6541
+ readonly internalType: "int24";
6542
+ readonly type: "int24";
6543
+ readonly indexed: false;
6544
+ }, {
6545
+ readonly name: "fee";
6546
+ readonly internalType: "uint24";
6547
+ readonly type: "uint24";
6548
+ readonly indexed: false;
6549
+ }];
6550
+ readonly name: "Swap";
6551
+ }, {
6552
+ readonly type: "event";
6553
+ readonly anonymous: false;
6554
+ readonly inputs: readonly [{
6555
+ readonly name: "caller";
6556
+ readonly internalType: "address";
6557
+ readonly type: "address";
6558
+ readonly indexed: false;
6559
+ }, {
6560
+ readonly name: "from";
6561
+ readonly internalType: "address";
6562
+ readonly type: "address";
6563
+ readonly indexed: true;
6564
+ }, {
6565
+ readonly name: "to";
6566
+ readonly internalType: "address";
6567
+ readonly type: "address";
6568
+ readonly indexed: true;
6569
+ }, {
6570
+ readonly name: "id";
6571
+ readonly internalType: "uint256";
6572
+ readonly type: "uint256";
6573
+ readonly indexed: true;
6574
+ }, {
6575
+ readonly name: "amount";
6576
+ readonly internalType: "uint256";
6577
+ readonly type: "uint256";
6578
+ readonly indexed: false;
6579
+ }];
6580
+ readonly name: "Transfer";
6581
+ }, {
6582
+ readonly type: "error";
6583
+ readonly inputs: readonly [];
6584
+ readonly name: "AlreadyUnlocked";
6585
+ }, {
6586
+ readonly type: "error";
6587
+ readonly inputs: readonly [{
6588
+ readonly name: "currency0";
6589
+ readonly internalType: "address";
6590
+ readonly type: "address";
6591
+ }, {
6592
+ readonly name: "currency1";
6593
+ readonly internalType: "address";
6594
+ readonly type: "address";
6595
+ }];
6596
+ readonly name: "CurrenciesOutOfOrderOrEqual";
6597
+ }, {
6598
+ readonly type: "error";
6599
+ readonly inputs: readonly [];
6600
+ readonly name: "CurrencyNotSettled";
6601
+ }, {
6602
+ readonly type: "error";
6603
+ readonly inputs: readonly [];
6604
+ readonly name: "InvalidCaller";
6605
+ }, {
6606
+ readonly type: "error";
6607
+ readonly inputs: readonly [];
6608
+ readonly name: "ManagerLocked";
6609
+ }, {
6610
+ readonly type: "error";
6611
+ readonly inputs: readonly [];
6612
+ readonly name: "MustClearExactPositiveDelta";
6613
+ }, {
6614
+ readonly type: "error";
6615
+ readonly inputs: readonly [];
6616
+ readonly name: "NonzeroNativeValue";
6617
+ }, {
6618
+ readonly type: "error";
6619
+ readonly inputs: readonly [];
6620
+ readonly name: "PoolNotInitialized";
6621
+ }, {
6622
+ readonly type: "error";
6623
+ readonly inputs: readonly [];
6624
+ readonly name: "ProtocolFeeCurrencySynced";
6625
+ }, {
6626
+ readonly type: "error";
6627
+ readonly inputs: readonly [{
6628
+ readonly name: "fee";
6629
+ readonly internalType: "uint24";
6630
+ readonly type: "uint24";
6631
+ }];
6632
+ readonly name: "ProtocolFeeTooLarge";
6633
+ }, {
6634
+ readonly type: "error";
6635
+ readonly inputs: readonly [];
6636
+ readonly name: "SwapAmountCannotBeZero";
6637
+ }, {
6638
+ readonly type: "error";
6639
+ readonly inputs: readonly [{
6640
+ readonly name: "tickSpacing";
6641
+ readonly internalType: "int24";
6642
+ readonly type: "int24";
6643
+ }];
6644
+ readonly name: "TickSpacingTooLarge";
6645
+ }, {
6646
+ readonly type: "error";
6647
+ readonly inputs: readonly [{
6648
+ readonly name: "tickSpacing";
6649
+ readonly internalType: "int24";
6650
+ readonly type: "int24";
6651
+ }];
6652
+ readonly name: "TickSpacingTooSmall";
6653
+ }, {
6654
+ readonly type: "error";
6655
+ readonly inputs: readonly [];
6656
+ readonly name: "UnauthorizedDynamicLPFeeUpdate";
6657
+ }];
6658
+ export declare const iUniswapV3PoolABI: readonly [{
6659
+ readonly type: "function";
6660
+ readonly inputs: readonly [{
6661
+ readonly name: "tickLower";
6662
+ readonly internalType: "int24";
6663
+ readonly type: "int24";
6664
+ }, {
6665
+ readonly name: "tickUpper";
6666
+ readonly internalType: "int24";
6667
+ readonly type: "int24";
6668
+ }, {
6669
+ readonly name: "amount";
6670
+ readonly internalType: "uint128";
6671
+ readonly type: "uint128";
6672
+ }];
6673
+ readonly name: "burn";
6674
+ readonly outputs: readonly [{
6675
+ readonly name: "amount0";
6676
+ readonly internalType: "uint256";
6677
+ readonly type: "uint256";
6678
+ }, {
6679
+ readonly name: "amount1";
6680
+ readonly internalType: "uint256";
6681
+ readonly type: "uint256";
6682
+ }];
6683
+ readonly stateMutability: "nonpayable";
6684
+ }, {
6685
+ readonly type: "function";
6686
+ readonly inputs: readonly [{
6687
+ readonly name: "recipient";
6688
+ readonly internalType: "address";
6689
+ readonly type: "address";
6690
+ }, {
6691
+ readonly name: "tickLower";
6692
+ readonly internalType: "int24";
6693
+ readonly type: "int24";
6694
+ }, {
6695
+ readonly name: "tickUpper";
6696
+ readonly internalType: "int24";
6697
+ readonly type: "int24";
6698
+ }, {
6699
+ readonly name: "amount0Requested";
6700
+ readonly internalType: "uint128";
6701
+ readonly type: "uint128";
6702
+ }, {
6703
+ readonly name: "amount1Requested";
6704
+ readonly internalType: "uint128";
6705
+ readonly type: "uint128";
6706
+ }];
6707
+ readonly name: "collect";
6708
+ readonly outputs: readonly [{
6709
+ readonly name: "amount0";
6710
+ readonly internalType: "uint128";
6711
+ readonly type: "uint128";
6712
+ }, {
6713
+ readonly name: "amount1";
6714
+ readonly internalType: "uint128";
6715
+ readonly type: "uint128";
6716
+ }];
6717
+ readonly stateMutability: "nonpayable";
6718
+ }, {
6719
+ readonly type: "function";
6720
+ readonly inputs: readonly [];
6721
+ readonly name: "feeGrowthGlobal0X128";
6722
+ readonly outputs: readonly [{
6723
+ readonly name: "";
6724
+ readonly internalType: "uint256";
6725
+ readonly type: "uint256";
6726
+ }];
6727
+ readonly stateMutability: "view";
6728
+ }, {
6729
+ readonly type: "function";
6730
+ readonly inputs: readonly [];
6731
+ readonly name: "feeGrowthGlobal1X128";
6732
+ readonly outputs: readonly [{
6733
+ readonly name: "";
6734
+ readonly internalType: "uint256";
6735
+ readonly type: "uint256";
6736
+ }];
6737
+ readonly stateMutability: "view";
6738
+ }, {
6739
+ readonly type: "function";
6740
+ readonly inputs: readonly [{
6741
+ readonly name: "sqrtPriceX96";
6742
+ readonly internalType: "uint160";
6743
+ readonly type: "uint160";
6744
+ }];
6745
+ readonly name: "initialize";
6746
+ readonly outputs: readonly [];
6747
+ readonly stateMutability: "nonpayable";
6748
+ }, {
6749
+ readonly type: "function";
6750
+ readonly inputs: readonly [{
6751
+ readonly name: "recipient";
6752
+ readonly internalType: "address";
6753
+ readonly type: "address";
6754
+ }, {
6755
+ readonly name: "tickLower";
6756
+ readonly internalType: "int24";
6757
+ readonly type: "int24";
6758
+ }, {
6759
+ readonly name: "tickUpper";
6760
+ readonly internalType: "int24";
6761
+ readonly type: "int24";
6762
+ }, {
6763
+ readonly name: "amount";
6764
+ readonly internalType: "uint128";
6765
+ readonly type: "uint128";
6766
+ }, {
6767
+ readonly name: "data";
6768
+ readonly internalType: "bytes";
6769
+ readonly type: "bytes";
6770
+ }];
6771
+ readonly name: "mint";
6772
+ readonly outputs: readonly [{
6773
+ readonly name: "amount0";
6774
+ readonly internalType: "uint256";
6775
+ readonly type: "uint256";
6776
+ }, {
6777
+ readonly name: "amount1";
6778
+ readonly internalType: "uint256";
6779
+ readonly type: "uint256";
6780
+ }];
6781
+ readonly stateMutability: "nonpayable";
6782
+ }, {
6783
+ readonly type: "function";
6784
+ readonly inputs: readonly [];
6785
+ readonly name: "slot0";
6786
+ readonly outputs: readonly [{
6787
+ readonly name: "slot0";
6788
+ readonly internalType: "struct IUniswapV3Pool.Slot0";
6789
+ readonly type: "tuple";
6790
+ readonly components: readonly [{
6791
+ readonly name: "sqrtPriceX96";
6792
+ readonly internalType: "uint160";
6793
+ readonly type: "uint160";
6794
+ }, {
6795
+ readonly name: "tick";
6796
+ readonly internalType: "int24";
6797
+ readonly type: "int24";
6798
+ }, {
6799
+ readonly name: "observationIndex";
6800
+ readonly internalType: "uint16";
6801
+ readonly type: "uint16";
6802
+ }, {
6803
+ readonly name: "observationCardinality";
6804
+ readonly internalType: "uint16";
6805
+ readonly type: "uint16";
6806
+ }, {
6807
+ readonly name: "observationCardinalityNext";
6808
+ readonly internalType: "uint16";
6809
+ readonly type: "uint16";
6810
+ }, {
6811
+ readonly name: "feeProtocol";
6812
+ readonly internalType: "uint8";
6813
+ readonly type: "uint8";
6814
+ }, {
6815
+ readonly name: "unlocked";
6816
+ readonly internalType: "bool";
6817
+ readonly type: "bool";
6818
+ }];
6819
+ }];
6820
+ readonly stateMutability: "view";
6821
+ }, {
6822
+ readonly type: "function";
6823
+ readonly inputs: readonly [{
6824
+ readonly name: "recipient";
6825
+ readonly internalType: "address";
6826
+ readonly type: "address";
6827
+ }, {
6828
+ readonly name: "zeroForOne";
6829
+ readonly internalType: "bool";
6830
+ readonly type: "bool";
6831
+ }, {
6832
+ readonly name: "amountSpecified";
6833
+ readonly internalType: "int256";
6834
+ readonly type: "int256";
6835
+ }, {
6836
+ readonly name: "sqrtPriceLimitX96";
6837
+ readonly internalType: "uint160";
6838
+ readonly type: "uint160";
6839
+ }, {
6840
+ readonly name: "data";
6841
+ readonly internalType: "bytes";
6842
+ readonly type: "bytes";
6843
+ }];
6844
+ readonly name: "swap";
6845
+ readonly outputs: readonly [{
6846
+ readonly name: "amount0";
6847
+ readonly internalType: "int256";
6848
+ readonly type: "int256";
6849
+ }, {
6850
+ readonly name: "amount1";
6851
+ readonly internalType: "int256";
6852
+ readonly type: "int256";
6853
+ }];
6854
+ readonly stateMutability: "nonpayable";
6855
+ }, {
6856
+ readonly type: "function";
6857
+ readonly inputs: readonly [];
6858
+ readonly name: "token0";
6859
+ readonly outputs: readonly [{
6860
+ readonly name: "";
6861
+ readonly internalType: "address";
6862
+ readonly type: "address";
5818
6863
  }];
5819
6864
  readonly stateMutability: "nonpayable";
5820
6865
  }, {
@@ -5828,6 +6873,53 @@ export declare const iUniswapV3PoolABI: readonly [{
5828
6873
  }];
5829
6874
  readonly stateMutability: "nonpayable";
5830
6875
  }];
6876
+ export declare const iUniversalRouterABI: readonly [{
6877
+ readonly type: "function";
6878
+ readonly inputs: readonly [{
6879
+ readonly name: "commands";
6880
+ readonly internalType: "bytes";
6881
+ readonly type: "bytes";
6882
+ }, {
6883
+ readonly name: "inputs";
6884
+ readonly internalType: "bytes[]";
6885
+ readonly type: "bytes[]";
6886
+ }, {
6887
+ readonly name: "deadline";
6888
+ readonly internalType: "uint256";
6889
+ readonly type: "uint256";
6890
+ }];
6891
+ readonly name: "execute";
6892
+ readonly outputs: readonly [];
6893
+ readonly stateMutability: "payable";
6894
+ }, {
6895
+ readonly type: "error";
6896
+ readonly inputs: readonly [];
6897
+ readonly name: "ETHNotAccepted";
6898
+ }, {
6899
+ readonly type: "error";
6900
+ readonly inputs: readonly [{
6901
+ readonly name: "commandIndex";
6902
+ readonly internalType: "uint256";
6903
+ readonly type: "uint256";
6904
+ }, {
6905
+ readonly name: "message";
6906
+ readonly internalType: "bytes";
6907
+ readonly type: "bytes";
6908
+ }];
6909
+ readonly name: "ExecutionFailed";
6910
+ }, {
6911
+ readonly type: "error";
6912
+ readonly inputs: readonly [];
6913
+ readonly name: "InvalidEthSender";
6914
+ }, {
6915
+ readonly type: "error";
6916
+ readonly inputs: readonly [];
6917
+ readonly name: "LengthMismatch";
6918
+ }, {
6919
+ readonly type: "error";
6920
+ readonly inputs: readonly [];
6921
+ readonly name: "TransactionDeadlinePassed";
6922
+ }];
5831
6923
  export declare const zoraFactoryImplABI: readonly [{
5832
6924
  readonly type: "constructor";
5833
6925
  readonly inputs: readonly [{
@@ -5838,6 +6930,10 @@ export declare const zoraFactoryImplABI: readonly [{
5838
6930
  readonly name: "creatorCoinImpl_";
5839
6931
  readonly internalType: "address";
5840
6932
  readonly type: "address";
6933
+ }, {
6934
+ readonly name: "trendCoinImpl_";
6935
+ readonly internalType: "address";
6936
+ readonly type: "address";
5841
6937
  }, {
5842
6938
  readonly name: "hook_";
5843
6939
  readonly internalType: "address";
@@ -6204,6 +7300,32 @@ export declare const zoraFactoryImplABI: readonly [{
6204
7300
  readonly type: "bytes";
6205
7301
  }];
6206
7302
  readonly stateMutability: "payable";
7303
+ }, {
7304
+ readonly type: "function";
7305
+ readonly inputs: readonly [{
7306
+ readonly name: "symbol";
7307
+ readonly internalType: "string";
7308
+ readonly type: "string";
7309
+ }, {
7310
+ readonly name: "postDeployHook";
7311
+ readonly internalType: "address";
7312
+ readonly type: "address";
7313
+ }, {
7314
+ readonly name: "postDeployHookData";
7315
+ readonly internalType: "bytes";
7316
+ readonly type: "bytes";
7317
+ }];
7318
+ readonly name: "deployTrendCoin";
7319
+ readonly outputs: readonly [{
7320
+ readonly name: "coin";
7321
+ readonly internalType: "address";
7322
+ readonly type: "address";
7323
+ }, {
7324
+ readonly name: "postDeployHookDataOut";
7325
+ readonly internalType: "bytes";
7326
+ readonly type: "bytes";
7327
+ }];
7328
+ readonly stateMutability: "payable";
6207
7329
  }, {
6208
7330
  readonly type: "function";
6209
7331
  readonly inputs: readonly [{
@@ -6334,6 +7456,32 @@ export declare const zoraFactoryImplABI: readonly [{
6334
7456
  readonly name: "renounceOwnership";
6335
7457
  readonly outputs: readonly [];
6336
7458
  readonly stateMutability: "nonpayable";
7459
+ }, {
7460
+ readonly type: "function";
7461
+ readonly inputs: readonly [{
7462
+ readonly name: "currency";
7463
+ readonly internalType: "address";
7464
+ readonly type: "address";
7465
+ }, {
7466
+ readonly name: "tickLower";
7467
+ readonly internalType: "int24[]";
7468
+ readonly type: "int24[]";
7469
+ }, {
7470
+ readonly name: "tickUpper";
7471
+ readonly internalType: "int24[]";
7472
+ readonly type: "int24[]";
7473
+ }, {
7474
+ readonly name: "numDiscoveryPositions";
7475
+ readonly internalType: "uint16[]";
7476
+ readonly type: "uint16[]";
7477
+ }, {
7478
+ readonly name: "maxDiscoverySupplyShare";
7479
+ readonly internalType: "uint256[]";
7480
+ readonly type: "uint256[]";
7481
+ }];
7482
+ readonly name: "setTrendCoinPoolConfig";
7483
+ readonly outputs: readonly [];
7484
+ readonly stateMutability: "nonpayable";
6337
7485
  }, {
6338
7486
  readonly type: "function";
6339
7487
  readonly inputs: readonly [{
@@ -6344,6 +7492,40 @@ export declare const zoraFactoryImplABI: readonly [{
6344
7492
  readonly name: "transferOwnership";
6345
7493
  readonly outputs: readonly [];
6346
7494
  readonly stateMutability: "nonpayable";
7495
+ }, {
7496
+ readonly type: "function";
7497
+ readonly inputs: readonly [{
7498
+ readonly name: "symbol";
7499
+ readonly internalType: "string";
7500
+ readonly type: "string";
7501
+ }];
7502
+ readonly name: "trendCoinAddress";
7503
+ readonly outputs: readonly [{
7504
+ readonly name: "";
7505
+ readonly internalType: "address";
7506
+ readonly type: "address";
7507
+ }];
7508
+ readonly stateMutability: "view";
7509
+ }, {
7510
+ readonly type: "function";
7511
+ readonly inputs: readonly [];
7512
+ readonly name: "trendCoinImpl";
7513
+ readonly outputs: readonly [{
7514
+ readonly name: "";
7515
+ readonly internalType: "address";
7516
+ readonly type: "address";
7517
+ }];
7518
+ readonly stateMutability: "view";
7519
+ }, {
7520
+ readonly type: "function";
7521
+ readonly inputs: readonly [];
7522
+ readonly name: "trendCoinPoolConfig";
7523
+ readonly outputs: readonly [{
7524
+ readonly name: "";
7525
+ readonly internalType: "bytes";
7526
+ readonly type: "bytes";
7527
+ }];
7528
+ readonly stateMutability: "view";
6347
7529
  }, {
6348
7530
  readonly type: "function";
6349
7531
  readonly inputs: readonly [{
@@ -6625,6 +7807,77 @@ export declare const zoraFactoryImplABI: readonly [{
6625
7807
  readonly indexed: true;
6626
7808
  }];
6627
7809
  readonly name: "OwnershipTransferred";
7810
+ }, {
7811
+ readonly type: "event";
7812
+ readonly anonymous: false;
7813
+ readonly inputs: readonly [{
7814
+ readonly name: "caller";
7815
+ readonly internalType: "address";
7816
+ readonly type: "address";
7817
+ readonly indexed: true;
7818
+ }, {
7819
+ readonly name: "symbol";
7820
+ readonly internalType: "string";
7821
+ readonly type: "string";
7822
+ readonly indexed: false;
7823
+ }, {
7824
+ readonly name: "coin";
7825
+ readonly internalType: "address";
7826
+ readonly type: "address";
7827
+ readonly indexed: false;
7828
+ }, {
7829
+ readonly name: "poolKey";
7830
+ readonly internalType: "struct PoolKey";
7831
+ readonly type: "tuple";
7832
+ readonly components: readonly [{
7833
+ readonly name: "currency0";
7834
+ readonly internalType: "Currency";
7835
+ readonly type: "address";
7836
+ }, {
7837
+ readonly name: "currency1";
7838
+ readonly internalType: "Currency";
7839
+ readonly type: "address";
7840
+ }, {
7841
+ readonly name: "fee";
7842
+ readonly internalType: "uint24";
7843
+ readonly type: "uint24";
7844
+ }, {
7845
+ readonly name: "tickSpacing";
7846
+ readonly internalType: "int24";
7847
+ readonly type: "int24";
7848
+ }, {
7849
+ readonly name: "hooks";
7850
+ readonly internalType: "contract IHooks";
7851
+ readonly type: "address";
7852
+ }];
7853
+ readonly indexed: false;
7854
+ }, {
7855
+ readonly name: "poolKeyHash";
7856
+ readonly internalType: "bytes32";
7857
+ readonly type: "bytes32";
7858
+ readonly indexed: false;
7859
+ }, {
7860
+ readonly name: "poolConfig";
7861
+ readonly internalType: "bytes";
7862
+ readonly type: "bytes";
7863
+ readonly indexed: false;
7864
+ }, {
7865
+ readonly name: "version";
7866
+ readonly internalType: "string";
7867
+ readonly type: "string";
7868
+ readonly indexed: false;
7869
+ }];
7870
+ readonly name: "TrendCoinCreated";
7871
+ }, {
7872
+ readonly type: "event";
7873
+ readonly anonymous: false;
7874
+ readonly inputs: readonly [{
7875
+ readonly name: "poolConfig";
7876
+ readonly internalType: "bytes";
7877
+ readonly type: "bytes";
7878
+ readonly indexed: false;
7879
+ }];
7880
+ readonly name: "TrendCoinPoolConfigUpdated";
6628
7881
  }, {
6629
7882
  readonly type: "event";
6630
7883
  readonly anonymous: false;
@@ -6719,6 +7972,10 @@ export declare const zoraFactoryImplABI: readonly [{
6719
7972
  readonly type: "int24";
6720
7973
  }];
6721
7974
  readonly name: "InvalidTickRangeMisordered";
7975
+ }, {
7976
+ readonly type: "error";
7977
+ readonly inputs: readonly [];
7978
+ readonly name: "InvalidTickerCharacters";
6722
7979
  }, {
6723
7980
  readonly type: "error";
6724
7981
  readonly inputs: readonly [{
@@ -6759,6 +8016,18 @@ export declare const zoraFactoryImplABI: readonly [{
6759
8016
  readonly type: "error";
6760
8017
  readonly inputs: readonly [];
6761
8018
  readonly name: "ReentrancyGuardReentrantCall";
8019
+ }, {
8020
+ readonly type: "error";
8021
+ readonly inputs: readonly [{
8022
+ readonly name: "symbol";
8023
+ readonly internalType: "string";
8024
+ readonly type: "string";
8025
+ }];
8026
+ readonly name: "TickerAlreadyUsed";
8027
+ }, {
8028
+ readonly type: "error";
8029
+ readonly inputs: readonly [];
8030
+ readonly name: "TrendCoinPoolConfigNotSet";
6762
8031
  }, {
6763
8032
  readonly type: "error";
6764
8033
  readonly inputs: readonly [];
@@ -6783,6 +8052,10 @@ export declare const zoraFactoryImplABI: readonly [{
6783
8052
  readonly type: "string";
6784
8053
  }];
6785
8054
  readonly name: "UpgradeToMismatchedContractName";
8055
+ }, {
8056
+ readonly type: "error";
8057
+ readonly inputs: readonly [];
8058
+ readonly name: "UseSpecificTrendCoinInitialize";
6786
8059
  }, {
6787
8060
  readonly type: "error";
6788
8061
  readonly inputs: readonly [];