@zoralabs/coins 2.5.0 → 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 (46) hide show
  1. package/.turbo/turbo-build$colon$js.log +143 -131
  2. package/CHANGELOG.md +20 -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 +130 -0
  8. package/abis/ITrendCoinErrors.json +23 -0
  9. package/abis/IUniversalRouter.json +61 -0
  10. package/abis/IZoraFactory.json +227 -0
  11. package/abis/TrendCoin.json +2043 -0
  12. package/abis/ZoraFactoryImpl.json +232 -0
  13. package/dist/index.cjs +953 -138
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.js +951 -138
  16. package/dist/index.js.map +1 -1
  17. package/dist/wagmiGenerated.d.ts +1380 -149
  18. package/dist/wagmiGenerated.d.ts.map +1 -1
  19. package/package/wagmiGenerated.ts +960 -139
  20. package/package.json +2 -2
  21. package/src/BaseCoin.sol +12 -12
  22. package/src/ContentCoin.sol +20 -1
  23. package/src/CreatorCoin.sol +3 -0
  24. package/src/TrendCoin.sol +117 -0
  25. package/src/ZoraFactoryImpl.sol +142 -1
  26. package/src/hooks/ZoraV4CoinHook.sol +14 -6
  27. package/src/interfaces/ICoin.sol +5 -1
  28. package/src/interfaces/ICreatorCoin.sol +0 -3
  29. package/src/interfaces/IPoolManager.sol +13 -0
  30. package/src/interfaces/ITrendCoin.sol +26 -0
  31. package/src/interfaces/ITrendCoinErrors.sol +18 -0
  32. package/src/interfaces/IZoraFactory.sol +60 -1
  33. package/src/libs/CoinConstants.sol +9 -1
  34. package/src/libs/CoinRewardsV4.sol +67 -19
  35. package/src/libs/TickerUtils.sol +84 -0
  36. package/src/libs/UniV4SwapToCurrency.sol +2 -1
  37. package/src/version/ContractVersionBase.sol +1 -1
  38. package/test/CreatorCoin.t.sol +2 -1
  39. package/test/Factory.t.sol +31 -5
  40. package/test/LaunchFee.t.sol +0 -2
  41. package/test/LiquidityMigration.t.sol +0 -2
  42. package/test/TrendCoin.t.sol +1077 -0
  43. package/test/Upgrades.t.sol +16 -3
  44. package/test/utils/FeeEstimatorHook.sol +33 -8
  45. package/test/utils/V4TestSetup.sol +36 -4
  46. package/wagmi.config.ts +2 -0
@@ -1478,6 +1478,10 @@ export declare const baseCoinABI: readonly [{
1478
1478
  readonly type: "uint256";
1479
1479
  }];
1480
1480
  readonly name: "InvalidAccountNonce";
1481
+ }, {
1482
+ readonly type: "error";
1483
+ readonly inputs: readonly [];
1484
+ readonly name: "InvalidCurrency";
1481
1485
  }, {
1482
1486
  readonly type: "error";
1483
1487
  readonly inputs: readonly [];
@@ -3268,6 +3272,10 @@ export declare const contentCoinABI: readonly [{
3268
3272
  readonly type: "uint256";
3269
3273
  }];
3270
3274
  readonly name: "InvalidAccountNonce";
3275
+ }, {
3276
+ readonly type: "error";
3277
+ readonly inputs: readonly [];
3278
+ readonly name: "InvalidCurrency";
3271
3279
  }, {
3272
3280
  readonly type: "error";
3273
3281
  readonly inputs: readonly [];
@@ -5652,94 +5660,98 @@ export declare const iPoolConfigEncodingABI: readonly [{
5652
5660
  }];
5653
5661
  readonly stateMutability: "pure";
5654
5662
  }];
5655
- export declare const iUniswapV3PoolABI: readonly [{
5663
+ export declare const iPoolManagerABI: readonly [{
5656
5664
  readonly type: "function";
5657
5665
  readonly inputs: readonly [{
5658
- readonly name: "tickLower";
5659
- readonly internalType: "int24";
5660
- readonly type: "int24";
5666
+ readonly name: "owner";
5667
+ readonly internalType: "address";
5668
+ readonly type: "address";
5661
5669
  }, {
5662
- readonly name: "tickUpper";
5663
- readonly internalType: "int24";
5664
- readonly type: "int24";
5670
+ readonly name: "spender";
5671
+ readonly internalType: "address";
5672
+ readonly type: "address";
5665
5673
  }, {
5666
- readonly name: "amount";
5667
- readonly internalType: "uint128";
5668
- readonly type: "uint128";
5669
- }];
5670
- readonly name: "burn";
5671
- readonly outputs: readonly [{
5672
- readonly name: "amount0";
5674
+ readonly name: "id";
5673
5675
  readonly internalType: "uint256";
5674
5676
  readonly type: "uint256";
5675
- }, {
5676
- readonly name: "amount1";
5677
+ }];
5678
+ readonly name: "allowance";
5679
+ readonly outputs: readonly [{
5680
+ readonly name: "amount";
5677
5681
  readonly internalType: "uint256";
5678
5682
  readonly type: "uint256";
5679
5683
  }];
5680
- readonly stateMutability: "nonpayable";
5684
+ readonly stateMutability: "view";
5681
5685
  }, {
5682
5686
  readonly type: "function";
5683
5687
  readonly inputs: readonly [{
5684
- readonly name: "recipient";
5688
+ readonly name: "spender";
5685
5689
  readonly internalType: "address";
5686
5690
  readonly type: "address";
5687
5691
  }, {
5688
- readonly name: "tickLower";
5689
- readonly internalType: "int24";
5690
- readonly type: "int24";
5691
- }, {
5692
- readonly name: "tickUpper";
5693
- readonly internalType: "int24";
5694
- readonly type: "int24";
5695
- }, {
5696
- readonly name: "amount0Requested";
5697
- readonly internalType: "uint128";
5698
- readonly type: "uint128";
5692
+ readonly name: "id";
5693
+ readonly internalType: "uint256";
5694
+ readonly type: "uint256";
5699
5695
  }, {
5700
- readonly name: "amount1Requested";
5701
- readonly internalType: "uint128";
5702
- readonly type: "uint128";
5696
+ readonly name: "amount";
5697
+ readonly internalType: "uint256";
5698
+ readonly type: "uint256";
5703
5699
  }];
5704
- readonly name: "collect";
5700
+ readonly name: "approve";
5705
5701
  readonly outputs: readonly [{
5706
- readonly name: "amount0";
5707
- readonly internalType: "uint128";
5708
- readonly type: "uint128";
5709
- }, {
5710
- readonly name: "amount1";
5711
- readonly internalType: "uint128";
5712
- readonly type: "uint128";
5702
+ readonly name: "";
5703
+ readonly internalType: "bool";
5704
+ readonly type: "bool";
5713
5705
  }];
5714
5706
  readonly stateMutability: "nonpayable";
5715
5707
  }, {
5716
5708
  readonly type: "function";
5717
- readonly inputs: readonly [];
5718
- 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";
5719
5719
  readonly outputs: readonly [{
5720
- readonly name: "";
5720
+ readonly name: "amount";
5721
5721
  readonly internalType: "uint256";
5722
5722
  readonly type: "uint256";
5723
5723
  }];
5724
5724
  readonly stateMutability: "view";
5725
5725
  }, {
5726
5726
  readonly type: "function";
5727
- readonly inputs: readonly [];
5728
- readonly name: "feeGrowthGlobal1X128";
5729
- readonly outputs: readonly [{
5730
- 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";
5731
5737
  readonly internalType: "uint256";
5732
5738
  readonly type: "uint256";
5733
5739
  }];
5734
- readonly stateMutability: "view";
5740
+ readonly name: "burn";
5741
+ readonly outputs: readonly [];
5742
+ readonly stateMutability: "nonpayable";
5735
5743
  }, {
5736
5744
  readonly type: "function";
5737
5745
  readonly inputs: readonly [{
5738
- readonly name: "sqrtPriceX96";
5739
- readonly internalType: "uint160";
5740
- 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";
5741
5753
  }];
5742
- readonly name: "initialize";
5754
+ readonly name: "clear";
5743
5755
  readonly outputs: readonly [];
5744
5756
  readonly stateMutability: "nonpayable";
5745
5757
  }, {
@@ -5749,139 +5761,1181 @@ export declare const iUniswapV3PoolABI: readonly [{
5749
5761
  readonly internalType: "address";
5750
5762
  readonly type: "address";
5751
5763
  }, {
5752
- readonly name: "tickLower";
5753
- readonly internalType: "int24";
5754
- readonly type: "int24";
5755
- }, {
5756
- readonly name: "tickUpper";
5757
- readonly internalType: "int24";
5758
- readonly type: "int24";
5764
+ readonly name: "currency";
5765
+ readonly internalType: "Currency";
5766
+ readonly type: "address";
5759
5767
  }, {
5760
5768
  readonly name: "amount";
5761
- readonly internalType: "uint128";
5762
- readonly type: "uint128";
5763
- }, {
5764
- readonly name: "data";
5765
- readonly internalType: "bytes";
5766
- readonly type: "bytes";
5767
- }];
5768
- readonly name: "mint";
5769
- readonly outputs: readonly [{
5770
- readonly name: "amount0";
5771
5769
  readonly internalType: "uint256";
5772
5770
  readonly type: "uint256";
5773
- }, {
5774
- readonly name: "amount1";
5771
+ }];
5772
+ readonly name: "collectProtocolFees";
5773
+ readonly outputs: readonly [{
5774
+ readonly name: "amountCollected";
5775
5775
  readonly internalType: "uint256";
5776
5776
  readonly type: "uint256";
5777
5777
  }];
5778
5778
  readonly stateMutability: "nonpayable";
5779
5779
  }, {
5780
5780
  readonly type: "function";
5781
- readonly inputs: readonly [];
5782
- readonly name: "slot0";
5783
- readonly outputs: readonly [{
5784
- readonly name: "slot0";
5785
- readonly internalType: "struct IUniswapV3Pool.Slot0";
5781
+ readonly inputs: readonly [{
5782
+ readonly name: "key";
5783
+ readonly internalType: "struct PoolKey";
5786
5784
  readonly type: "tuple";
5787
5785
  readonly components: readonly [{
5788
- readonly name: "sqrtPriceX96";
5789
- readonly internalType: "uint160";
5790
- readonly type: "uint160";
5791
- }, {
5792
- readonly name: "tick";
5793
- readonly internalType: "int24";
5794
- readonly type: "int24";
5795
- }, {
5796
- readonly name: "observationIndex";
5797
- readonly internalType: "uint16";
5798
- readonly type: "uint16";
5786
+ readonly name: "currency0";
5787
+ readonly internalType: "Currency";
5788
+ readonly type: "address";
5799
5789
  }, {
5800
- readonly name: "observationCardinality";
5801
- readonly internalType: "uint16";
5802
- readonly type: "uint16";
5790
+ readonly name: "currency1";
5791
+ readonly internalType: "Currency";
5792
+ readonly type: "address";
5803
5793
  }, {
5804
- readonly name: "observationCardinalityNext";
5805
- readonly internalType: "uint16";
5806
- readonly type: "uint16";
5794
+ readonly name: "fee";
5795
+ readonly internalType: "uint24";
5796
+ readonly type: "uint24";
5807
5797
  }, {
5808
- readonly name: "feeProtocol";
5809
- readonly internalType: "uint8";
5810
- readonly type: "uint8";
5798
+ readonly name: "tickSpacing";
5799
+ readonly internalType: "int24";
5800
+ readonly type: "int24";
5811
5801
  }, {
5812
- readonly name: "unlocked";
5813
- readonly internalType: "bool";
5814
- readonly type: "bool";
5802
+ readonly name: "hooks";
5803
+ readonly internalType: "contract IHooks";
5804
+ readonly type: "address";
5815
5805
  }];
5816
- }];
5817
- readonly stateMutability: "view";
5818
- }, {
5819
- readonly type: "function";
5820
- readonly inputs: readonly [{
5821
- readonly name: "recipient";
5822
- readonly internalType: "address";
5823
- readonly type: "address";
5824
- }, {
5825
- readonly name: "zeroForOne";
5826
- readonly internalType: "bool";
5827
- readonly type: "bool";
5828
5806
  }, {
5829
- readonly name: "amountSpecified";
5830
- readonly internalType: "int256";
5831
- readonly type: "int256";
5807
+ readonly name: "amount0";
5808
+ readonly internalType: "uint256";
5809
+ readonly type: "uint256";
5832
5810
  }, {
5833
- readonly name: "sqrtPriceLimitX96";
5834
- readonly internalType: "uint160";
5835
- readonly type: "uint160";
5811
+ readonly name: "amount1";
5812
+ readonly internalType: "uint256";
5813
+ readonly type: "uint256";
5836
5814
  }, {
5837
- readonly name: "data";
5815
+ readonly name: "hookData";
5838
5816
  readonly internalType: "bytes";
5839
5817
  readonly type: "bytes";
5840
5818
  }];
5841
- readonly name: "swap";
5819
+ readonly name: "donate";
5842
5820
  readonly outputs: readonly [{
5843
- readonly name: "amount0";
5844
- readonly internalType: "int256";
5845
- readonly type: "int256";
5846
- }, {
5847
- readonly name: "amount1";
5848
- readonly internalType: "int256";
5821
+ readonly name: "";
5822
+ readonly internalType: "BalanceDelta";
5849
5823
  readonly type: "int256";
5850
5824
  }];
5851
5825
  readonly stateMutability: "nonpayable";
5852
5826
  }, {
5853
5827
  readonly type: "function";
5854
- readonly inputs: readonly [];
5855
- readonly name: "token0";
5828
+ readonly inputs: readonly [{
5829
+ readonly name: "slot";
5830
+ readonly internalType: "bytes32";
5831
+ readonly type: "bytes32";
5832
+ }];
5833
+ readonly name: "extsload";
5856
5834
  readonly outputs: readonly [{
5857
- readonly name: "";
5858
- readonly internalType: "address";
5859
- readonly type: "address";
5835
+ readonly name: "value";
5836
+ readonly internalType: "bytes32";
5837
+ readonly type: "bytes32";
5860
5838
  }];
5861
- readonly stateMutability: "nonpayable";
5839
+ readonly stateMutability: "view";
5862
5840
  }, {
5863
5841
  readonly type: "function";
5864
- readonly inputs: readonly [];
5865
- readonly name: "token1";
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";
5866
5852
  readonly outputs: readonly [{
5867
- readonly name: "";
5868
- readonly internalType: "address";
5869
- readonly type: "address";
5853
+ readonly name: "values";
5854
+ readonly internalType: "bytes32[]";
5855
+ readonly type: "bytes32[]";
5870
5856
  }];
5871
- readonly stateMutability: "nonpayable";
5872
- }];
5873
- export declare const zoraFactoryImplABI: readonly [{
5874
- readonly type: "constructor";
5857
+ readonly stateMutability: "view";
5858
+ }, {
5859
+ readonly type: "function";
5875
5860
  readonly inputs: readonly [{
5876
- readonly name: "coinV4Impl_";
5877
- readonly internalType: "address";
5878
- readonly type: "address";
5879
- }, {
5880
- readonly name: "creatorCoinImpl_";
5881
- readonly internalType: "address";
5882
- readonly type: "address";
5883
- }, {
5884
- readonly name: "hook_";
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";
6863
+ }];
6864
+ readonly stateMutability: "nonpayable";
6865
+ }, {
6866
+ readonly type: "function";
6867
+ readonly inputs: readonly [];
6868
+ readonly name: "token1";
6869
+ readonly outputs: readonly [{
6870
+ readonly name: "";
6871
+ readonly internalType: "address";
6872
+ readonly type: "address";
6873
+ }];
6874
+ readonly stateMutability: "nonpayable";
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
+ }];
6923
+ export declare const zoraFactoryImplABI: readonly [{
6924
+ readonly type: "constructor";
6925
+ readonly inputs: readonly [{
6926
+ readonly name: "coinV4Impl_";
6927
+ readonly internalType: "address";
6928
+ readonly type: "address";
6929
+ }, {
6930
+ readonly name: "creatorCoinImpl_";
6931
+ readonly internalType: "address";
6932
+ readonly type: "address";
6933
+ }, {
6934
+ readonly name: "trendCoinImpl_";
6935
+ readonly internalType: "address";
6936
+ readonly type: "address";
6937
+ }, {
6938
+ readonly name: "hook_";
5885
6939
  readonly internalType: "address";
5886
6940
  readonly type: "address";
5887
6941
  }, {
@@ -6246,6 +7300,32 @@ export declare const zoraFactoryImplABI: readonly [{
6246
7300
  readonly type: "bytes";
6247
7301
  }];
6248
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";
6249
7329
  }, {
6250
7330
  readonly type: "function";
6251
7331
  readonly inputs: readonly [{
@@ -6376,6 +7456,32 @@ export declare const zoraFactoryImplABI: readonly [{
6376
7456
  readonly name: "renounceOwnership";
6377
7457
  readonly outputs: readonly [];
6378
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";
6379
7485
  }, {
6380
7486
  readonly type: "function";
6381
7487
  readonly inputs: readonly [{
@@ -6386,6 +7492,40 @@ export declare const zoraFactoryImplABI: readonly [{
6386
7492
  readonly name: "transferOwnership";
6387
7493
  readonly outputs: readonly [];
6388
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";
6389
7529
  }, {
6390
7530
  readonly type: "function";
6391
7531
  readonly inputs: readonly [{
@@ -6667,6 +7807,77 @@ export declare const zoraFactoryImplABI: readonly [{
6667
7807
  readonly indexed: true;
6668
7808
  }];
6669
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";
6670
7881
  }, {
6671
7882
  readonly type: "event";
6672
7883
  readonly anonymous: false;
@@ -6761,6 +7972,10 @@ export declare const zoraFactoryImplABI: readonly [{
6761
7972
  readonly type: "int24";
6762
7973
  }];
6763
7974
  readonly name: "InvalidTickRangeMisordered";
7975
+ }, {
7976
+ readonly type: "error";
7977
+ readonly inputs: readonly [];
7978
+ readonly name: "InvalidTickerCharacters";
6764
7979
  }, {
6765
7980
  readonly type: "error";
6766
7981
  readonly inputs: readonly [{
@@ -6801,6 +8016,18 @@ export declare const zoraFactoryImplABI: readonly [{
6801
8016
  readonly type: "error";
6802
8017
  readonly inputs: readonly [];
6803
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";
6804
8031
  }, {
6805
8032
  readonly type: "error";
6806
8033
  readonly inputs: readonly [];
@@ -6825,6 +8052,10 @@ export declare const zoraFactoryImplABI: readonly [{
6825
8052
  readonly type: "string";
6826
8053
  }];
6827
8054
  readonly name: "UpgradeToMismatchedContractName";
8055
+ }, {
8056
+ readonly type: "error";
8057
+ readonly inputs: readonly [];
8058
+ readonly name: "UseSpecificTrendCoinInitialize";
6828
8059
  }, {
6829
8060
  readonly type: "error";
6830
8061
  readonly inputs: readonly [];