@zoralabs/coins 2.3.1 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/.turbo/turbo-build$colon$js.log +119 -128
  2. package/CHANGELOG.md +30 -0
  3. package/abis/Address.json +0 -16
  4. package/abis/BuySupplyWithSwapRouterHook.json +0 -27
  5. package/abis/BuySupplyWithV4SwapHook.json +0 -32
  6. package/abis/Clones.json +1 -1
  7. package/abis/CoinDopplerMultiCurve.json +109 -0
  8. package/abis/Create2.json +0 -21
  9. package/abis/ERC1967Proxy.json +1 -1
  10. package/abis/ERC1967Utils.json +0 -45
  11. package/abis/{UpgradeCoinImpl.json → Errors.json} +14 -10
  12. package/abis/{MockERC20.json → IERC1363.json} +134 -104
  13. package/abis/IERC1967.json +47 -0
  14. package/abis/IERC20.json +0 -36
  15. package/abis/IProtocolRewards.json +0 -258
  16. package/abis/{Script.json → ISupportsLimitOrderFill.json} +2 -2
  17. package/abis/ITrustedMsgSenderProviderLookup.json +21 -0
  18. package/abis/IZoraLimitOrderBookCoinsInterface.json +67 -0
  19. package/abis/IZoraV4CoinHook.json +15 -0
  20. package/abis/ProxyShim.json +15 -16
  21. package/abis/SafeCast.json +51 -0
  22. package/abis/{AddressConstants.json → SafeCast160.json} +1 -1
  23. package/abis/Strings.json +10 -0
  24. package/abis/TrustedMsgSenderProviderLookup.json +215 -0
  25. package/abis/UUPSUpgradeable.json +1 -1
  26. package/abis/V3ToV4SwapLib.json +28 -0
  27. package/abis/ZoraFactory.json +1 -1
  28. package/abis/ZoraFactoryImpl.json +22 -6
  29. package/abis/ZoraV4CoinHook.json +41 -51
  30. package/dist/index.cjs +950 -43
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.js +948 -41
  33. package/dist/index.js.map +1 -1
  34. package/dist/wagmiGenerated.d.ts +1459 -76
  35. package/dist/wagmiGenerated.d.ts.map +1 -1
  36. package/foundry.toml +5 -1
  37. package/package/wagmiGenerated.ts +951 -44
  38. package/package.json +7 -7
  39. package/remappings.txt +2 -1
  40. package/src/ZoraFactoryImpl.sol +8 -0
  41. package/src/deployment/ForkedCoinsAddresses.sol +54 -0
  42. package/src/hooks/ZoraV4CoinHook.sol +92 -74
  43. package/src/hooks/deployment/BuySupplyWithV4SwapHook.sol +20 -142
  44. package/src/interfaces/ISupportsLimitOrderFill.sol +11 -0
  45. package/src/interfaces/ITrustedMsgSenderProviderLookup.sol +18 -0
  46. package/src/interfaces/IZoraLimitOrderBookCoinsInterface.sol +21 -0
  47. package/src/interfaces/IZoraV4CoinHook.sol +9 -0
  48. package/src/libs/CoinConstants.sol +6 -0
  49. package/src/libs/CoinDopplerMultiCurve.sol +1 -1
  50. package/src/libs/CoinRewardsV4.sol +0 -1
  51. package/src/libs/HooksDeployment.sol +25 -12
  52. package/src/libs/UniV4SwapHelper.sol +35 -0
  53. package/src/libs/V3ToV4SwapLib.sol +261 -0
  54. package/src/libs/V4Liquidity.sol +50 -6
  55. package/src/utils/TrustedMsgSenderProviderLookup.sol +73 -0
  56. package/src/version/ContractVersionBase.sol +1 -1
  57. package/test/BuySupplyWithV4SwapHook.t.sol +4 -3
  58. package/test/Coin.t.sol +7 -1
  59. package/test/CoinUniV4.t.sol +2 -1
  60. package/test/ContentCoinRewards.t.sol +5 -1
  61. package/test/CreatorCoin.t.sol +3 -1
  62. package/test/CreatorCoinRewards.t.sol +7 -1
  63. package/test/Factory.t.sol +20 -7
  64. package/test/HooksDeployment.t.sol +73 -8
  65. package/test/LiquidityMigration.t.sol +55 -43
  66. package/test/MultiOwnable.t.sol +2 -1
  67. package/test/TrustedMsgSenderProviderLookup.t.sol +112 -0
  68. package/test/Upgrades.t.sol +112 -78
  69. package/test/V4Liquidity.t.sol +1 -1
  70. package/test/mocks/MockSwapRouter.sol +33 -0
  71. package/test/mocks/MockZoraLimitOrderBook.sol +14 -0
  72. package/test/utils/BaseTest.sol +17 -425
  73. package/test/utils/FeeEstimatorHook.sol +8 -2
  74. package/test/utils/TrustedSenderTestHelper.sol +18 -0
  75. package/test/utils/V4TestSetup.sol +595 -0
  76. package/wagmi.config.ts +1 -1
  77. package/abis/BaseTest.json +0 -718
  78. package/abis/DeterministicDeployerAndCaller.json +0 -315
  79. package/abis/DeterministicUUPSProxyDeployer.json +0 -167
  80. package/abis/EIP712.json +0 -67
  81. package/abis/ERC20.json +0 -310
  82. package/abis/FeeEstimatorHook.json +0 -1915
  83. package/abis/IERC721.json +0 -287
  84. package/abis/IERC721Enumerable.json +0 -343
  85. package/abis/IERC721Metadata.json +0 -332
  86. package/abis/IERC721TokenReceiver.json +0 -36
  87. package/abis/IImmutableCreate2Factory.json +0 -93
  88. package/abis/IMulticall3.json +0 -440
  89. package/abis/ISafe.json +0 -15
  90. package/abis/ISymbol.json +0 -15
  91. package/abis/IUniswapV4Router04.json +0 -484
  92. package/abis/IUniversalRouter.json +0 -61
  93. package/abis/IV4Quoter.json +0 -310
  94. package/abis/ImmutableCreate2FactoryUtils.json +0 -15
  95. package/abis/LibString.json +0 -7
  96. package/abis/Math.json +0 -7
  97. package/abis/MockAirlock.json +0 -39
  98. package/abis/MockERC721.json +0 -350
  99. package/abis/ProtocolRewards.json +0 -494
  100. package/abis/ShortStrings.json +0 -18
  101. package/abis/SimpleERC20.json +0 -326
  102. package/abis/StdAssertions.json +0 -379
  103. package/abis/StdInvariant.json +0 -180
  104. package/abis/Test.json +0 -570
  105. package/abis/VmContractHelper239.json +0 -233
  106. package/abis/stdError.json +0 -119
  107. package/abis/stdStorageSafe.json +0 -52
  108. package/addresses/8453.json +0 -13
  109. package/addresses/84532.json +0 -10
  110. package/deterministicConfig/deployerAndCaller.json +0 -5
  111. package/deterministicConfig/zoraFactory.json +0 -8
  112. package/script/Deploy.s.sol +0 -23
  113. package/script/DeployAutoSwapper.s.sol +0 -30
  114. package/script/DeployDevFactory.s.sol +0 -21
  115. package/script/DeployPostDeploymentHooks.s.sol +0 -20
  116. package/script/DeployUpgradeGate.s.sol +0 -21
  117. package/script/GenerateDeterministicParams.s.sol +0 -43
  118. package/script/PrintRegisterUpgradePath.s.sol +0 -28
  119. package/script/PrintUpgradeCommand.s.sol +0 -13
  120. package/script/TestBackingCoinSwap.s.sol +0 -144
  121. package/script/TestV4Swap.s.sol +0 -133
  122. package/script/UpgradeCoinImpl.sol +0 -23
  123. package/script/UpgradeFactoryImpl.s.sol +0 -28
  124. package/script/UpgradeHooks.s.sol +0 -23
  125. package/src/deployment/CoinsDeployerBase.sol +0 -276
  126. /package/{test → src}/utils/ProxyShim.sol +0 -0
@@ -1834,30 +1834,10 @@ export declare const buySupplyWithV4SwapHookABI: readonly [{
1834
1834
  readonly indexed: false;
1835
1835
  }];
1836
1836
  readonly name: "BuyInitialSupply";
1837
- }, {
1838
- readonly type: "error";
1839
- readonly inputs: readonly [{
1840
- readonly name: "target";
1841
- readonly internalType: "address";
1842
- readonly type: "address";
1843
- }];
1844
- readonly name: "AddressEmptyCode";
1845
- }, {
1846
- readonly type: "error";
1847
- readonly inputs: readonly [{
1848
- readonly name: "account";
1849
- readonly internalType: "address";
1850
- readonly type: "address";
1851
- }];
1852
- readonly name: "AddressInsufficientBalance";
1853
1837
  }, {
1854
1838
  readonly type: "error";
1855
1839
  readonly inputs: readonly [];
1856
1840
  readonly name: "AddressZero";
1857
- }, {
1858
- readonly type: "error";
1859
- readonly inputs: readonly [];
1860
- readonly name: "FailedInnerCall";
1861
1841
  }, {
1862
1842
  readonly type: "error";
1863
1843
  readonly inputs: readonly [];
@@ -1894,10 +1874,6 @@ export declare const buySupplyWithV4SwapHookABI: readonly [{
1894
1874
  readonly type: "address";
1895
1875
  }];
1896
1876
  readonly name: "SafeERC20FailedOperation";
1897
- }, {
1898
- readonly type: "error";
1899
- readonly inputs: readonly [];
1900
- readonly name: "V3RouteCannotStartWithInputCurrency";
1901
1877
  }, {
1902
1878
  readonly type: "error";
1903
1879
  readonly inputs: readonly [];
@@ -5852,53 +5828,6 @@ export declare const iUniswapV3PoolABI: readonly [{
5852
5828
  }];
5853
5829
  readonly stateMutability: "nonpayable";
5854
5830
  }];
5855
- export declare const iUniversalRouterABI: readonly [{
5856
- readonly type: "function";
5857
- readonly inputs: readonly [{
5858
- readonly name: "commands";
5859
- readonly internalType: "bytes";
5860
- readonly type: "bytes";
5861
- }, {
5862
- readonly name: "inputs";
5863
- readonly internalType: "bytes[]";
5864
- readonly type: "bytes[]";
5865
- }, {
5866
- readonly name: "deadline";
5867
- readonly internalType: "uint256";
5868
- readonly type: "uint256";
5869
- }];
5870
- readonly name: "execute";
5871
- readonly outputs: readonly [];
5872
- readonly stateMutability: "payable";
5873
- }, {
5874
- readonly type: "error";
5875
- readonly inputs: readonly [];
5876
- readonly name: "ETHNotAccepted";
5877
- }, {
5878
- readonly type: "error";
5879
- readonly inputs: readonly [{
5880
- readonly name: "commandIndex";
5881
- readonly internalType: "uint256";
5882
- readonly type: "uint256";
5883
- }, {
5884
- readonly name: "message";
5885
- readonly internalType: "bytes";
5886
- readonly type: "bytes";
5887
- }];
5888
- readonly name: "ExecutionFailed";
5889
- }, {
5890
- readonly type: "error";
5891
- readonly inputs: readonly [];
5892
- readonly name: "InvalidEthSender";
5893
- }, {
5894
- readonly type: "error";
5895
- readonly inputs: readonly [];
5896
- readonly name: "LengthMismatch";
5897
- }, {
5898
- readonly type: "error";
5899
- readonly inputs: readonly [];
5900
- readonly name: "TransactionDeadlinePassed";
5901
- }];
5902
5831
  export declare const zoraFactoryImplABI: readonly [{
5903
5832
  readonly type: "constructor";
5904
5833
  readonly inputs: readonly [{
@@ -6726,10 +6655,6 @@ export declare const zoraFactoryImplABI: readonly [{
6726
6655
  readonly type: "error";
6727
6656
  readonly inputs: readonly [];
6728
6657
  readonly name: "Deprecated";
6729
- }, {
6730
- readonly type: "error";
6731
- readonly inputs: readonly [];
6732
- readonly name: "ERC1167FailedCreateClone";
6733
6658
  }, {
6734
6659
  readonly type: "error";
6735
6660
  readonly inputs: readonly [{
@@ -6749,7 +6674,23 @@ export declare const zoraFactoryImplABI: readonly [{
6749
6674
  }, {
6750
6675
  readonly type: "error";
6751
6676
  readonly inputs: readonly [];
6752
- readonly name: "FailedInnerCall";
6677
+ readonly name: "FailedCall";
6678
+ }, {
6679
+ readonly type: "error";
6680
+ readonly inputs: readonly [];
6681
+ readonly name: "FailedDeployment";
6682
+ }, {
6683
+ readonly type: "error";
6684
+ readonly inputs: readonly [{
6685
+ readonly name: "balance";
6686
+ readonly internalType: "uint256";
6687
+ readonly type: "uint256";
6688
+ }, {
6689
+ readonly name: "needed";
6690
+ readonly internalType: "uint256";
6691
+ readonly type: "uint256";
6692
+ }];
6693
+ readonly name: "InsufficientBalance";
6753
6694
  }, {
6754
6695
  readonly type: "error";
6755
6696
  readonly inputs: readonly [];
@@ -6851,4 +6792,1446 @@ export declare const zoraFactoryImplABI: readonly [{
6851
6792
  readonly inputs: readonly [];
6852
6793
  readonly name: "ZeroDiscoverySupplyShare";
6853
6794
  }];
6795
+ export declare const zoraV4CoinHookABI: readonly [{
6796
+ readonly type: "constructor";
6797
+ readonly inputs: readonly [{
6798
+ readonly name: "poolManager_";
6799
+ readonly internalType: "contract IPoolManager";
6800
+ readonly type: "address";
6801
+ }, {
6802
+ readonly name: "coinVersionLookup_";
6803
+ readonly internalType: "contract IDeployedCoinVersionLookup";
6804
+ readonly type: "address";
6805
+ }, {
6806
+ readonly name: "trustedMsgSenderLookup_";
6807
+ readonly internalType: "contract ITrustedMsgSenderProviderLookup";
6808
+ readonly type: "address";
6809
+ }, {
6810
+ readonly name: "upgradeGate_";
6811
+ readonly internalType: "contract IHooksUpgradeGate";
6812
+ readonly type: "address";
6813
+ }, {
6814
+ readonly name: "zoraLimitOrderBook_";
6815
+ readonly internalType: "contract IZoraLimitOrderBookCoinsInterface";
6816
+ readonly type: "address";
6817
+ }, {
6818
+ readonly name: "zoraHookRegistry_";
6819
+ readonly internalType: "contract IZoraHookRegistry";
6820
+ readonly type: "address";
6821
+ }];
6822
+ readonly stateMutability: "nonpayable";
6823
+ }, {
6824
+ readonly type: "receive";
6825
+ readonly stateMutability: "payable";
6826
+ }, {
6827
+ readonly type: "function";
6828
+ readonly inputs: readonly [{
6829
+ readonly name: "sender";
6830
+ readonly internalType: "address";
6831
+ readonly type: "address";
6832
+ }, {
6833
+ readonly name: "key";
6834
+ readonly internalType: "struct PoolKey";
6835
+ readonly type: "tuple";
6836
+ readonly components: readonly [{
6837
+ readonly name: "currency0";
6838
+ readonly internalType: "Currency";
6839
+ readonly type: "address";
6840
+ }, {
6841
+ readonly name: "currency1";
6842
+ readonly internalType: "Currency";
6843
+ readonly type: "address";
6844
+ }, {
6845
+ readonly name: "fee";
6846
+ readonly internalType: "uint24";
6847
+ readonly type: "uint24";
6848
+ }, {
6849
+ readonly name: "tickSpacing";
6850
+ readonly internalType: "int24";
6851
+ readonly type: "int24";
6852
+ }, {
6853
+ readonly name: "hooks";
6854
+ readonly internalType: "contract IHooks";
6855
+ readonly type: "address";
6856
+ }];
6857
+ }, {
6858
+ readonly name: "params";
6859
+ readonly internalType: "struct ModifyLiquidityParams";
6860
+ readonly type: "tuple";
6861
+ readonly components: readonly [{
6862
+ readonly name: "tickLower";
6863
+ readonly internalType: "int24";
6864
+ readonly type: "int24";
6865
+ }, {
6866
+ readonly name: "tickUpper";
6867
+ readonly internalType: "int24";
6868
+ readonly type: "int24";
6869
+ }, {
6870
+ readonly name: "liquidityDelta";
6871
+ readonly internalType: "int256";
6872
+ readonly type: "int256";
6873
+ }, {
6874
+ readonly name: "salt";
6875
+ readonly internalType: "bytes32";
6876
+ readonly type: "bytes32";
6877
+ }];
6878
+ }, {
6879
+ readonly name: "delta";
6880
+ readonly internalType: "BalanceDelta";
6881
+ readonly type: "int256";
6882
+ }, {
6883
+ readonly name: "feesAccrued";
6884
+ readonly internalType: "BalanceDelta";
6885
+ readonly type: "int256";
6886
+ }, {
6887
+ readonly name: "hookData";
6888
+ readonly internalType: "bytes";
6889
+ readonly type: "bytes";
6890
+ }];
6891
+ readonly name: "afterAddLiquidity";
6892
+ readonly outputs: readonly [{
6893
+ readonly name: "";
6894
+ readonly internalType: "bytes4";
6895
+ readonly type: "bytes4";
6896
+ }, {
6897
+ readonly name: "";
6898
+ readonly internalType: "BalanceDelta";
6899
+ readonly type: "int256";
6900
+ }];
6901
+ readonly stateMutability: "nonpayable";
6902
+ }, {
6903
+ readonly type: "function";
6904
+ readonly inputs: readonly [{
6905
+ readonly name: "sender";
6906
+ readonly internalType: "address";
6907
+ readonly type: "address";
6908
+ }, {
6909
+ readonly name: "key";
6910
+ readonly internalType: "struct PoolKey";
6911
+ readonly type: "tuple";
6912
+ readonly components: readonly [{
6913
+ readonly name: "currency0";
6914
+ readonly internalType: "Currency";
6915
+ readonly type: "address";
6916
+ }, {
6917
+ readonly name: "currency1";
6918
+ readonly internalType: "Currency";
6919
+ readonly type: "address";
6920
+ }, {
6921
+ readonly name: "fee";
6922
+ readonly internalType: "uint24";
6923
+ readonly type: "uint24";
6924
+ }, {
6925
+ readonly name: "tickSpacing";
6926
+ readonly internalType: "int24";
6927
+ readonly type: "int24";
6928
+ }, {
6929
+ readonly name: "hooks";
6930
+ readonly internalType: "contract IHooks";
6931
+ readonly type: "address";
6932
+ }];
6933
+ }, {
6934
+ readonly name: "amount0";
6935
+ readonly internalType: "uint256";
6936
+ readonly type: "uint256";
6937
+ }, {
6938
+ readonly name: "amount1";
6939
+ readonly internalType: "uint256";
6940
+ readonly type: "uint256";
6941
+ }, {
6942
+ readonly name: "hookData";
6943
+ readonly internalType: "bytes";
6944
+ readonly type: "bytes";
6945
+ }];
6946
+ readonly name: "afterDonate";
6947
+ readonly outputs: readonly [{
6948
+ readonly name: "";
6949
+ readonly internalType: "bytes4";
6950
+ readonly type: "bytes4";
6951
+ }];
6952
+ readonly stateMutability: "nonpayable";
6953
+ }, {
6954
+ readonly type: "function";
6955
+ readonly inputs: readonly [{
6956
+ readonly name: "sender";
6957
+ readonly internalType: "address";
6958
+ readonly type: "address";
6959
+ }, {
6960
+ readonly name: "key";
6961
+ readonly internalType: "struct PoolKey";
6962
+ readonly type: "tuple";
6963
+ readonly components: readonly [{
6964
+ readonly name: "currency0";
6965
+ readonly internalType: "Currency";
6966
+ readonly type: "address";
6967
+ }, {
6968
+ readonly name: "currency1";
6969
+ readonly internalType: "Currency";
6970
+ readonly type: "address";
6971
+ }, {
6972
+ readonly name: "fee";
6973
+ readonly internalType: "uint24";
6974
+ readonly type: "uint24";
6975
+ }, {
6976
+ readonly name: "tickSpacing";
6977
+ readonly internalType: "int24";
6978
+ readonly type: "int24";
6979
+ }, {
6980
+ readonly name: "hooks";
6981
+ readonly internalType: "contract IHooks";
6982
+ readonly type: "address";
6983
+ }];
6984
+ }, {
6985
+ readonly name: "sqrtPriceX96";
6986
+ readonly internalType: "uint160";
6987
+ readonly type: "uint160";
6988
+ }, {
6989
+ readonly name: "tick";
6990
+ readonly internalType: "int24";
6991
+ readonly type: "int24";
6992
+ }];
6993
+ readonly name: "afterInitialize";
6994
+ readonly outputs: readonly [{
6995
+ readonly name: "";
6996
+ readonly internalType: "bytes4";
6997
+ readonly type: "bytes4";
6998
+ }];
6999
+ readonly stateMutability: "nonpayable";
7000
+ }, {
7001
+ readonly type: "function";
7002
+ readonly inputs: readonly [{
7003
+ readonly name: "sender";
7004
+ readonly internalType: "address";
7005
+ readonly type: "address";
7006
+ }, {
7007
+ readonly name: "key";
7008
+ readonly internalType: "struct PoolKey";
7009
+ readonly type: "tuple";
7010
+ readonly components: readonly [{
7011
+ readonly name: "currency0";
7012
+ readonly internalType: "Currency";
7013
+ readonly type: "address";
7014
+ }, {
7015
+ readonly name: "currency1";
7016
+ readonly internalType: "Currency";
7017
+ readonly type: "address";
7018
+ }, {
7019
+ readonly name: "fee";
7020
+ readonly internalType: "uint24";
7021
+ readonly type: "uint24";
7022
+ }, {
7023
+ readonly name: "tickSpacing";
7024
+ readonly internalType: "int24";
7025
+ readonly type: "int24";
7026
+ }, {
7027
+ readonly name: "hooks";
7028
+ readonly internalType: "contract IHooks";
7029
+ readonly type: "address";
7030
+ }];
7031
+ }, {
7032
+ readonly name: "params";
7033
+ readonly internalType: "struct ModifyLiquidityParams";
7034
+ readonly type: "tuple";
7035
+ readonly components: readonly [{
7036
+ readonly name: "tickLower";
7037
+ readonly internalType: "int24";
7038
+ readonly type: "int24";
7039
+ }, {
7040
+ readonly name: "tickUpper";
7041
+ readonly internalType: "int24";
7042
+ readonly type: "int24";
7043
+ }, {
7044
+ readonly name: "liquidityDelta";
7045
+ readonly internalType: "int256";
7046
+ readonly type: "int256";
7047
+ }, {
7048
+ readonly name: "salt";
7049
+ readonly internalType: "bytes32";
7050
+ readonly type: "bytes32";
7051
+ }];
7052
+ }, {
7053
+ readonly name: "delta";
7054
+ readonly internalType: "BalanceDelta";
7055
+ readonly type: "int256";
7056
+ }, {
7057
+ readonly name: "feesAccrued";
7058
+ readonly internalType: "BalanceDelta";
7059
+ readonly type: "int256";
7060
+ }, {
7061
+ readonly name: "hookData";
7062
+ readonly internalType: "bytes";
7063
+ readonly type: "bytes";
7064
+ }];
7065
+ readonly name: "afterRemoveLiquidity";
7066
+ readonly outputs: readonly [{
7067
+ readonly name: "";
7068
+ readonly internalType: "bytes4";
7069
+ readonly type: "bytes4";
7070
+ }, {
7071
+ readonly name: "";
7072
+ readonly internalType: "BalanceDelta";
7073
+ readonly type: "int256";
7074
+ }];
7075
+ readonly stateMutability: "nonpayable";
7076
+ }, {
7077
+ readonly type: "function";
7078
+ readonly inputs: readonly [{
7079
+ readonly name: "sender";
7080
+ readonly internalType: "address";
7081
+ readonly type: "address";
7082
+ }, {
7083
+ readonly name: "key";
7084
+ readonly internalType: "struct PoolKey";
7085
+ readonly type: "tuple";
7086
+ readonly components: readonly [{
7087
+ readonly name: "currency0";
7088
+ readonly internalType: "Currency";
7089
+ readonly type: "address";
7090
+ }, {
7091
+ readonly name: "currency1";
7092
+ readonly internalType: "Currency";
7093
+ readonly type: "address";
7094
+ }, {
7095
+ readonly name: "fee";
7096
+ readonly internalType: "uint24";
7097
+ readonly type: "uint24";
7098
+ }, {
7099
+ readonly name: "tickSpacing";
7100
+ readonly internalType: "int24";
7101
+ readonly type: "int24";
7102
+ }, {
7103
+ readonly name: "hooks";
7104
+ readonly internalType: "contract IHooks";
7105
+ readonly type: "address";
7106
+ }];
7107
+ }, {
7108
+ readonly name: "params";
7109
+ readonly internalType: "struct SwapParams";
7110
+ readonly type: "tuple";
7111
+ readonly components: readonly [{
7112
+ readonly name: "zeroForOne";
7113
+ readonly internalType: "bool";
7114
+ readonly type: "bool";
7115
+ }, {
7116
+ readonly name: "amountSpecified";
7117
+ readonly internalType: "int256";
7118
+ readonly type: "int256";
7119
+ }, {
7120
+ readonly name: "sqrtPriceLimitX96";
7121
+ readonly internalType: "uint160";
7122
+ readonly type: "uint160";
7123
+ }];
7124
+ }, {
7125
+ readonly name: "delta";
7126
+ readonly internalType: "BalanceDelta";
7127
+ readonly type: "int256";
7128
+ }, {
7129
+ readonly name: "hookData";
7130
+ readonly internalType: "bytes";
7131
+ readonly type: "bytes";
7132
+ }];
7133
+ readonly name: "afterSwap";
7134
+ readonly outputs: readonly [{
7135
+ readonly name: "";
7136
+ readonly internalType: "bytes4";
7137
+ readonly type: "bytes4";
7138
+ }, {
7139
+ readonly name: "";
7140
+ readonly internalType: "int128";
7141
+ readonly type: "int128";
7142
+ }];
7143
+ readonly stateMutability: "nonpayable";
7144
+ }, {
7145
+ readonly type: "function";
7146
+ readonly inputs: readonly [{
7147
+ readonly name: "sender";
7148
+ readonly internalType: "address";
7149
+ readonly type: "address";
7150
+ }, {
7151
+ readonly name: "key";
7152
+ readonly internalType: "struct PoolKey";
7153
+ readonly type: "tuple";
7154
+ readonly components: readonly [{
7155
+ readonly name: "currency0";
7156
+ readonly internalType: "Currency";
7157
+ readonly type: "address";
7158
+ }, {
7159
+ readonly name: "currency1";
7160
+ readonly internalType: "Currency";
7161
+ readonly type: "address";
7162
+ }, {
7163
+ readonly name: "fee";
7164
+ readonly internalType: "uint24";
7165
+ readonly type: "uint24";
7166
+ }, {
7167
+ readonly name: "tickSpacing";
7168
+ readonly internalType: "int24";
7169
+ readonly type: "int24";
7170
+ }, {
7171
+ readonly name: "hooks";
7172
+ readonly internalType: "contract IHooks";
7173
+ readonly type: "address";
7174
+ }];
7175
+ }, {
7176
+ readonly name: "params";
7177
+ readonly internalType: "struct ModifyLiquidityParams";
7178
+ readonly type: "tuple";
7179
+ readonly components: readonly [{
7180
+ readonly name: "tickLower";
7181
+ readonly internalType: "int24";
7182
+ readonly type: "int24";
7183
+ }, {
7184
+ readonly name: "tickUpper";
7185
+ readonly internalType: "int24";
7186
+ readonly type: "int24";
7187
+ }, {
7188
+ readonly name: "liquidityDelta";
7189
+ readonly internalType: "int256";
7190
+ readonly type: "int256";
7191
+ }, {
7192
+ readonly name: "salt";
7193
+ readonly internalType: "bytes32";
7194
+ readonly type: "bytes32";
7195
+ }];
7196
+ }, {
7197
+ readonly name: "hookData";
7198
+ readonly internalType: "bytes";
7199
+ readonly type: "bytes";
7200
+ }];
7201
+ readonly name: "beforeAddLiquidity";
7202
+ readonly outputs: readonly [{
7203
+ readonly name: "";
7204
+ readonly internalType: "bytes4";
7205
+ readonly type: "bytes4";
7206
+ }];
7207
+ readonly stateMutability: "nonpayable";
7208
+ }, {
7209
+ readonly type: "function";
7210
+ readonly inputs: readonly [{
7211
+ readonly name: "sender";
7212
+ readonly internalType: "address";
7213
+ readonly type: "address";
7214
+ }, {
7215
+ readonly name: "key";
7216
+ readonly internalType: "struct PoolKey";
7217
+ readonly type: "tuple";
7218
+ readonly components: readonly [{
7219
+ readonly name: "currency0";
7220
+ readonly internalType: "Currency";
7221
+ readonly type: "address";
7222
+ }, {
7223
+ readonly name: "currency1";
7224
+ readonly internalType: "Currency";
7225
+ readonly type: "address";
7226
+ }, {
7227
+ readonly name: "fee";
7228
+ readonly internalType: "uint24";
7229
+ readonly type: "uint24";
7230
+ }, {
7231
+ readonly name: "tickSpacing";
7232
+ readonly internalType: "int24";
7233
+ readonly type: "int24";
7234
+ }, {
7235
+ readonly name: "hooks";
7236
+ readonly internalType: "contract IHooks";
7237
+ readonly type: "address";
7238
+ }];
7239
+ }, {
7240
+ readonly name: "amount0";
7241
+ readonly internalType: "uint256";
7242
+ readonly type: "uint256";
7243
+ }, {
7244
+ readonly name: "amount1";
7245
+ readonly internalType: "uint256";
7246
+ readonly type: "uint256";
7247
+ }, {
7248
+ readonly name: "hookData";
7249
+ readonly internalType: "bytes";
7250
+ readonly type: "bytes";
7251
+ }];
7252
+ readonly name: "beforeDonate";
7253
+ readonly outputs: readonly [{
7254
+ readonly name: "";
7255
+ readonly internalType: "bytes4";
7256
+ readonly type: "bytes4";
7257
+ }];
7258
+ readonly stateMutability: "nonpayable";
7259
+ }, {
7260
+ readonly type: "function";
7261
+ readonly inputs: readonly [{
7262
+ readonly name: "sender";
7263
+ readonly internalType: "address";
7264
+ readonly type: "address";
7265
+ }, {
7266
+ readonly name: "key";
7267
+ readonly internalType: "struct PoolKey";
7268
+ readonly type: "tuple";
7269
+ readonly components: readonly [{
7270
+ readonly name: "currency0";
7271
+ readonly internalType: "Currency";
7272
+ readonly type: "address";
7273
+ }, {
7274
+ readonly name: "currency1";
7275
+ readonly internalType: "Currency";
7276
+ readonly type: "address";
7277
+ }, {
7278
+ readonly name: "fee";
7279
+ readonly internalType: "uint24";
7280
+ readonly type: "uint24";
7281
+ }, {
7282
+ readonly name: "tickSpacing";
7283
+ readonly internalType: "int24";
7284
+ readonly type: "int24";
7285
+ }, {
7286
+ readonly name: "hooks";
7287
+ readonly internalType: "contract IHooks";
7288
+ readonly type: "address";
7289
+ }];
7290
+ }, {
7291
+ readonly name: "sqrtPriceX96";
7292
+ readonly internalType: "uint160";
7293
+ readonly type: "uint160";
7294
+ }];
7295
+ readonly name: "beforeInitialize";
7296
+ readonly outputs: readonly [{
7297
+ readonly name: "";
7298
+ readonly internalType: "bytes4";
7299
+ readonly type: "bytes4";
7300
+ }];
7301
+ readonly stateMutability: "nonpayable";
7302
+ }, {
7303
+ readonly type: "function";
7304
+ readonly inputs: readonly [{
7305
+ readonly name: "sender";
7306
+ readonly internalType: "address";
7307
+ readonly type: "address";
7308
+ }, {
7309
+ readonly name: "key";
7310
+ readonly internalType: "struct PoolKey";
7311
+ readonly type: "tuple";
7312
+ readonly components: readonly [{
7313
+ readonly name: "currency0";
7314
+ readonly internalType: "Currency";
7315
+ readonly type: "address";
7316
+ }, {
7317
+ readonly name: "currency1";
7318
+ readonly internalType: "Currency";
7319
+ readonly type: "address";
7320
+ }, {
7321
+ readonly name: "fee";
7322
+ readonly internalType: "uint24";
7323
+ readonly type: "uint24";
7324
+ }, {
7325
+ readonly name: "tickSpacing";
7326
+ readonly internalType: "int24";
7327
+ readonly type: "int24";
7328
+ }, {
7329
+ readonly name: "hooks";
7330
+ readonly internalType: "contract IHooks";
7331
+ readonly type: "address";
7332
+ }];
7333
+ }, {
7334
+ readonly name: "params";
7335
+ readonly internalType: "struct ModifyLiquidityParams";
7336
+ readonly type: "tuple";
7337
+ readonly components: readonly [{
7338
+ readonly name: "tickLower";
7339
+ readonly internalType: "int24";
7340
+ readonly type: "int24";
7341
+ }, {
7342
+ readonly name: "tickUpper";
7343
+ readonly internalType: "int24";
7344
+ readonly type: "int24";
7345
+ }, {
7346
+ readonly name: "liquidityDelta";
7347
+ readonly internalType: "int256";
7348
+ readonly type: "int256";
7349
+ }, {
7350
+ readonly name: "salt";
7351
+ readonly internalType: "bytes32";
7352
+ readonly type: "bytes32";
7353
+ }];
7354
+ }, {
7355
+ readonly name: "hookData";
7356
+ readonly internalType: "bytes";
7357
+ readonly type: "bytes";
7358
+ }];
7359
+ readonly name: "beforeRemoveLiquidity";
7360
+ readonly outputs: readonly [{
7361
+ readonly name: "";
7362
+ readonly internalType: "bytes4";
7363
+ readonly type: "bytes4";
7364
+ }];
7365
+ readonly stateMutability: "nonpayable";
7366
+ }, {
7367
+ readonly type: "function";
7368
+ readonly inputs: readonly [{
7369
+ readonly name: "sender";
7370
+ readonly internalType: "address";
7371
+ readonly type: "address";
7372
+ }, {
7373
+ readonly name: "key";
7374
+ readonly internalType: "struct PoolKey";
7375
+ readonly type: "tuple";
7376
+ readonly components: readonly [{
7377
+ readonly name: "currency0";
7378
+ readonly internalType: "Currency";
7379
+ readonly type: "address";
7380
+ }, {
7381
+ readonly name: "currency1";
7382
+ readonly internalType: "Currency";
7383
+ readonly type: "address";
7384
+ }, {
7385
+ readonly name: "fee";
7386
+ readonly internalType: "uint24";
7387
+ readonly type: "uint24";
7388
+ }, {
7389
+ readonly name: "tickSpacing";
7390
+ readonly internalType: "int24";
7391
+ readonly type: "int24";
7392
+ }, {
7393
+ readonly name: "hooks";
7394
+ readonly internalType: "contract IHooks";
7395
+ readonly type: "address";
7396
+ }];
7397
+ }, {
7398
+ readonly name: "params";
7399
+ readonly internalType: "struct SwapParams";
7400
+ readonly type: "tuple";
7401
+ readonly components: readonly [{
7402
+ readonly name: "zeroForOne";
7403
+ readonly internalType: "bool";
7404
+ readonly type: "bool";
7405
+ }, {
7406
+ readonly name: "amountSpecified";
7407
+ readonly internalType: "int256";
7408
+ readonly type: "int256";
7409
+ }, {
7410
+ readonly name: "sqrtPriceLimitX96";
7411
+ readonly internalType: "uint160";
7412
+ readonly type: "uint160";
7413
+ }];
7414
+ }, {
7415
+ readonly name: "hookData";
7416
+ readonly internalType: "bytes";
7417
+ readonly type: "bytes";
7418
+ }];
7419
+ readonly name: "beforeSwap";
7420
+ readonly outputs: readonly [{
7421
+ readonly name: "";
7422
+ readonly internalType: "bytes4";
7423
+ readonly type: "bytes4";
7424
+ }, {
7425
+ readonly name: "";
7426
+ readonly internalType: "BeforeSwapDelta";
7427
+ readonly type: "int256";
7428
+ }, {
7429
+ readonly name: "";
7430
+ readonly internalType: "uint24";
7431
+ readonly type: "uint24";
7432
+ }];
7433
+ readonly stateMutability: "nonpayable";
7434
+ }, {
7435
+ readonly type: "function";
7436
+ readonly inputs: readonly [];
7437
+ readonly name: "contractVersion";
7438
+ readonly outputs: readonly [{
7439
+ readonly name: "";
7440
+ readonly internalType: "string";
7441
+ readonly type: "string";
7442
+ }];
7443
+ readonly stateMutability: "pure";
7444
+ }, {
7445
+ readonly type: "function";
7446
+ readonly inputs: readonly [];
7447
+ readonly name: "getHookPermissions";
7448
+ readonly outputs: readonly [{
7449
+ readonly name: "";
7450
+ readonly internalType: "struct Hooks.Permissions";
7451
+ readonly type: "tuple";
7452
+ readonly components: readonly [{
7453
+ readonly name: "beforeInitialize";
7454
+ readonly internalType: "bool";
7455
+ readonly type: "bool";
7456
+ }, {
7457
+ readonly name: "afterInitialize";
7458
+ readonly internalType: "bool";
7459
+ readonly type: "bool";
7460
+ }, {
7461
+ readonly name: "beforeAddLiquidity";
7462
+ readonly internalType: "bool";
7463
+ readonly type: "bool";
7464
+ }, {
7465
+ readonly name: "afterAddLiquidity";
7466
+ readonly internalType: "bool";
7467
+ readonly type: "bool";
7468
+ }, {
7469
+ readonly name: "beforeRemoveLiquidity";
7470
+ readonly internalType: "bool";
7471
+ readonly type: "bool";
7472
+ }, {
7473
+ readonly name: "afterRemoveLiquidity";
7474
+ readonly internalType: "bool";
7475
+ readonly type: "bool";
7476
+ }, {
7477
+ readonly name: "beforeSwap";
7478
+ readonly internalType: "bool";
7479
+ readonly type: "bool";
7480
+ }, {
7481
+ readonly name: "afterSwap";
7482
+ readonly internalType: "bool";
7483
+ readonly type: "bool";
7484
+ }, {
7485
+ readonly name: "beforeDonate";
7486
+ readonly internalType: "bool";
7487
+ readonly type: "bool";
7488
+ }, {
7489
+ readonly name: "afterDonate";
7490
+ readonly internalType: "bool";
7491
+ readonly type: "bool";
7492
+ }, {
7493
+ readonly name: "beforeSwapReturnDelta";
7494
+ readonly internalType: "bool";
7495
+ readonly type: "bool";
7496
+ }, {
7497
+ readonly name: "afterSwapReturnDelta";
7498
+ readonly internalType: "bool";
7499
+ readonly type: "bool";
7500
+ }, {
7501
+ readonly name: "afterAddLiquidityReturnDelta";
7502
+ readonly internalType: "bool";
7503
+ readonly type: "bool";
7504
+ }, {
7505
+ readonly name: "afterRemoveLiquidityReturnDelta";
7506
+ readonly internalType: "bool";
7507
+ readonly type: "bool";
7508
+ }];
7509
+ }];
7510
+ readonly stateMutability: "pure";
7511
+ }, {
7512
+ readonly type: "function";
7513
+ readonly inputs: readonly [{
7514
+ readonly name: "key";
7515
+ readonly internalType: "struct PoolKey";
7516
+ readonly type: "tuple";
7517
+ readonly components: readonly [{
7518
+ readonly name: "currency0";
7519
+ readonly internalType: "Currency";
7520
+ readonly type: "address";
7521
+ }, {
7522
+ readonly name: "currency1";
7523
+ readonly internalType: "Currency";
7524
+ readonly type: "address";
7525
+ }, {
7526
+ readonly name: "fee";
7527
+ readonly internalType: "uint24";
7528
+ readonly type: "uint24";
7529
+ }, {
7530
+ readonly name: "tickSpacing";
7531
+ readonly internalType: "int24";
7532
+ readonly type: "int24";
7533
+ }, {
7534
+ readonly name: "hooks";
7535
+ readonly internalType: "contract IHooks";
7536
+ readonly type: "address";
7537
+ }];
7538
+ }];
7539
+ readonly name: "getPoolCoin";
7540
+ readonly outputs: readonly [{
7541
+ readonly name: "";
7542
+ readonly internalType: "struct IZoraV4CoinHook.PoolCoin";
7543
+ readonly type: "tuple";
7544
+ readonly components: readonly [{
7545
+ readonly name: "coin";
7546
+ readonly internalType: "address";
7547
+ readonly type: "address";
7548
+ }, {
7549
+ readonly name: "positions";
7550
+ readonly internalType: "struct LpPosition[]";
7551
+ readonly type: "tuple[]";
7552
+ readonly components: readonly [{
7553
+ readonly name: "tickLower";
7554
+ readonly internalType: "int24";
7555
+ readonly type: "int24";
7556
+ }, {
7557
+ readonly name: "tickUpper";
7558
+ readonly internalType: "int24";
7559
+ readonly type: "int24";
7560
+ }, {
7561
+ readonly name: "liquidity";
7562
+ readonly internalType: "uint128";
7563
+ readonly type: "uint128";
7564
+ }];
7565
+ }];
7566
+ }];
7567
+ readonly stateMutability: "view";
7568
+ }, {
7569
+ readonly type: "function";
7570
+ readonly inputs: readonly [{
7571
+ readonly name: "poolKeyHash";
7572
+ readonly internalType: "bytes32";
7573
+ readonly type: "bytes32";
7574
+ }];
7575
+ readonly name: "getPoolCoinByHash";
7576
+ readonly outputs: readonly [{
7577
+ readonly name: "";
7578
+ readonly internalType: "struct IZoraV4CoinHook.PoolCoin";
7579
+ readonly type: "tuple";
7580
+ readonly components: readonly [{
7581
+ readonly name: "coin";
7582
+ readonly internalType: "address";
7583
+ readonly type: "address";
7584
+ }, {
7585
+ readonly name: "positions";
7586
+ readonly internalType: "struct LpPosition[]";
7587
+ readonly type: "tuple[]";
7588
+ readonly components: readonly [{
7589
+ readonly name: "tickLower";
7590
+ readonly internalType: "int24";
7591
+ readonly type: "int24";
7592
+ }, {
7593
+ readonly name: "tickUpper";
7594
+ readonly internalType: "int24";
7595
+ readonly type: "int24";
7596
+ }, {
7597
+ readonly name: "liquidity";
7598
+ readonly internalType: "uint128";
7599
+ readonly type: "uint128";
7600
+ }];
7601
+ }];
7602
+ }];
7603
+ readonly stateMutability: "view";
7604
+ }, {
7605
+ readonly type: "function";
7606
+ readonly inputs: readonly [];
7607
+ readonly name: "getTrustedMsgSenderLookup";
7608
+ readonly outputs: readonly [{
7609
+ readonly name: "";
7610
+ readonly internalType: "contract ITrustedMsgSenderProviderLookup";
7611
+ readonly type: "address";
7612
+ }];
7613
+ readonly stateMutability: "view";
7614
+ }, {
7615
+ readonly type: "function";
7616
+ readonly inputs: readonly [{
7617
+ readonly name: "poolKey";
7618
+ readonly internalType: "struct PoolKey";
7619
+ readonly type: "tuple";
7620
+ readonly components: readonly [{
7621
+ readonly name: "currency0";
7622
+ readonly internalType: "Currency";
7623
+ readonly type: "address";
7624
+ }, {
7625
+ readonly name: "currency1";
7626
+ readonly internalType: "Currency";
7627
+ readonly type: "address";
7628
+ }, {
7629
+ readonly name: "fee";
7630
+ readonly internalType: "uint24";
7631
+ readonly type: "uint24";
7632
+ }, {
7633
+ readonly name: "tickSpacing";
7634
+ readonly internalType: "int24";
7635
+ readonly type: "int24";
7636
+ }, {
7637
+ readonly name: "hooks";
7638
+ readonly internalType: "contract IHooks";
7639
+ readonly type: "address";
7640
+ }];
7641
+ }, {
7642
+ readonly name: "coin";
7643
+ readonly internalType: "address";
7644
+ readonly type: "address";
7645
+ }, {
7646
+ readonly name: "sqrtPriceX96";
7647
+ readonly internalType: "uint160";
7648
+ readonly type: "uint160";
7649
+ }, {
7650
+ readonly name: "migratedLiquidity";
7651
+ readonly internalType: "struct BurnedPosition[]";
7652
+ readonly type: "tuple[]";
7653
+ readonly components: readonly [{
7654
+ readonly name: "tickLower";
7655
+ readonly internalType: "int24";
7656
+ readonly type: "int24";
7657
+ }, {
7658
+ readonly name: "tickUpper";
7659
+ readonly internalType: "int24";
7660
+ readonly type: "int24";
7661
+ }, {
7662
+ readonly name: "amount0Received";
7663
+ readonly internalType: "uint128";
7664
+ readonly type: "uint128";
7665
+ }, {
7666
+ readonly name: "amount1Received";
7667
+ readonly internalType: "uint128";
7668
+ readonly type: "uint128";
7669
+ }];
7670
+ }, {
7671
+ readonly name: "additionalData";
7672
+ readonly internalType: "bytes";
7673
+ readonly type: "bytes";
7674
+ }];
7675
+ readonly name: "initializeFromMigration";
7676
+ readonly outputs: readonly [];
7677
+ readonly stateMutability: "nonpayable";
7678
+ }, {
7679
+ readonly type: "function";
7680
+ readonly inputs: readonly [{
7681
+ readonly name: "poolKey";
7682
+ readonly internalType: "struct PoolKey";
7683
+ readonly type: "tuple";
7684
+ readonly components: readonly [{
7685
+ readonly name: "currency0";
7686
+ readonly internalType: "Currency";
7687
+ readonly type: "address";
7688
+ }, {
7689
+ readonly name: "currency1";
7690
+ readonly internalType: "Currency";
7691
+ readonly type: "address";
7692
+ }, {
7693
+ readonly name: "fee";
7694
+ readonly internalType: "uint24";
7695
+ readonly type: "uint24";
7696
+ }, {
7697
+ readonly name: "tickSpacing";
7698
+ readonly internalType: "int24";
7699
+ readonly type: "int24";
7700
+ }, {
7701
+ readonly name: "hooks";
7702
+ readonly internalType: "contract IHooks";
7703
+ readonly type: "address";
7704
+ }];
7705
+ }, {
7706
+ readonly name: "coin";
7707
+ readonly internalType: "address";
7708
+ readonly type: "address";
7709
+ }, {
7710
+ readonly name: "sqrtPriceX96";
7711
+ readonly internalType: "uint160";
7712
+ readonly type: "uint160";
7713
+ }, {
7714
+ readonly name: "migratedLiquidity";
7715
+ readonly internalType: "struct BurnedPosition[]";
7716
+ readonly type: "tuple[]";
7717
+ readonly components: readonly [{
7718
+ readonly name: "tickLower";
7719
+ readonly internalType: "int24";
7720
+ readonly type: "int24";
7721
+ }, {
7722
+ readonly name: "tickUpper";
7723
+ readonly internalType: "int24";
7724
+ readonly type: "int24";
7725
+ }, {
7726
+ readonly name: "amount0Received";
7727
+ readonly internalType: "uint128";
7728
+ readonly type: "uint128";
7729
+ }, {
7730
+ readonly name: "amount1Received";
7731
+ readonly internalType: "uint128";
7732
+ readonly type: "uint128";
7733
+ }];
7734
+ }, {
7735
+ readonly name: "additionalData";
7736
+ readonly internalType: "bytes";
7737
+ readonly type: "bytes";
7738
+ }];
7739
+ readonly name: "initializeFromMigrationWithUpdateableFee";
7740
+ readonly outputs: readonly [{
7741
+ readonly name: "fee";
7742
+ readonly internalType: "uint24";
7743
+ readonly type: "uint24";
7744
+ }, {
7745
+ readonly name: "tickSpacing";
7746
+ readonly internalType: "int24";
7747
+ readonly type: "int24";
7748
+ }];
7749
+ readonly stateMutability: "nonpayable";
7750
+ }, {
7751
+ readonly type: "function";
7752
+ readonly inputs: readonly [{
7753
+ readonly name: "sender";
7754
+ readonly internalType: "address";
7755
+ readonly type: "address";
7756
+ }];
7757
+ readonly name: "isTrustedMessageSender";
7758
+ readonly outputs: readonly [{
7759
+ readonly name: "";
7760
+ readonly internalType: "bool";
7761
+ readonly type: "bool";
7762
+ }];
7763
+ readonly stateMutability: "view";
7764
+ }, {
7765
+ readonly type: "function";
7766
+ readonly inputs: readonly [{
7767
+ readonly name: "newHook";
7768
+ readonly internalType: "address";
7769
+ readonly type: "address";
7770
+ }, {
7771
+ readonly name: "poolKey";
7772
+ readonly internalType: "struct PoolKey";
7773
+ readonly type: "tuple";
7774
+ readonly components: readonly [{
7775
+ readonly name: "currency0";
7776
+ readonly internalType: "Currency";
7777
+ readonly type: "address";
7778
+ }, {
7779
+ readonly name: "currency1";
7780
+ readonly internalType: "Currency";
7781
+ readonly type: "address";
7782
+ }, {
7783
+ readonly name: "fee";
7784
+ readonly internalType: "uint24";
7785
+ readonly type: "uint24";
7786
+ }, {
7787
+ readonly name: "tickSpacing";
7788
+ readonly internalType: "int24";
7789
+ readonly type: "int24";
7790
+ }, {
7791
+ readonly name: "hooks";
7792
+ readonly internalType: "contract IHooks";
7793
+ readonly type: "address";
7794
+ }];
7795
+ }, {
7796
+ readonly name: "additionalData";
7797
+ readonly internalType: "bytes";
7798
+ readonly type: "bytes";
7799
+ }];
7800
+ readonly name: "migrateLiquidity";
7801
+ readonly outputs: readonly [{
7802
+ readonly name: "newPoolKey";
7803
+ readonly internalType: "struct PoolKey";
7804
+ readonly type: "tuple";
7805
+ readonly components: readonly [{
7806
+ readonly name: "currency0";
7807
+ readonly internalType: "Currency";
7808
+ readonly type: "address";
7809
+ }, {
7810
+ readonly name: "currency1";
7811
+ readonly internalType: "Currency";
7812
+ readonly type: "address";
7813
+ }, {
7814
+ readonly name: "fee";
7815
+ readonly internalType: "uint24";
7816
+ readonly type: "uint24";
7817
+ }, {
7818
+ readonly name: "tickSpacing";
7819
+ readonly internalType: "int24";
7820
+ readonly type: "int24";
7821
+ }, {
7822
+ readonly name: "hooks";
7823
+ readonly internalType: "contract IHooks";
7824
+ readonly type: "address";
7825
+ }];
7826
+ }];
7827
+ readonly stateMutability: "nonpayable";
7828
+ }, {
7829
+ readonly type: "function";
7830
+ readonly inputs: readonly [];
7831
+ readonly name: "poolManager";
7832
+ readonly outputs: readonly [{
7833
+ readonly name: "";
7834
+ readonly internalType: "contract IPoolManager";
7835
+ readonly type: "address";
7836
+ }];
7837
+ readonly stateMutability: "view";
7838
+ }, {
7839
+ readonly type: "function";
7840
+ readonly inputs: readonly [{
7841
+ readonly name: "interfaceId";
7842
+ readonly internalType: "bytes4";
7843
+ readonly type: "bytes4";
7844
+ }];
7845
+ readonly name: "supportsInterface";
7846
+ readonly outputs: readonly [{
7847
+ readonly name: "";
7848
+ readonly internalType: "bool";
7849
+ readonly type: "bool";
7850
+ }];
7851
+ readonly stateMutability: "view";
7852
+ }, {
7853
+ readonly type: "function";
7854
+ readonly inputs: readonly [{
7855
+ readonly name: "data";
7856
+ readonly internalType: "bytes";
7857
+ readonly type: "bytes";
7858
+ }];
7859
+ readonly name: "unlockCallback";
7860
+ readonly outputs: readonly [{
7861
+ readonly name: "";
7862
+ readonly internalType: "bytes";
7863
+ readonly type: "bytes";
7864
+ }];
7865
+ readonly stateMutability: "nonpayable";
7866
+ }, {
7867
+ readonly type: "event";
7868
+ readonly anonymous: false;
7869
+ readonly inputs: readonly [{
7870
+ readonly name: "coin";
7871
+ readonly internalType: "address";
7872
+ readonly type: "address";
7873
+ readonly indexed: false;
7874
+ }, {
7875
+ readonly name: "currency";
7876
+ readonly internalType: "address";
7877
+ readonly type: "address";
7878
+ readonly indexed: false;
7879
+ }, {
7880
+ readonly name: "payoutRecipient";
7881
+ readonly internalType: "address";
7882
+ readonly type: "address";
7883
+ readonly indexed: false;
7884
+ }, {
7885
+ readonly name: "platformReferrer";
7886
+ readonly internalType: "address";
7887
+ readonly type: "address";
7888
+ readonly indexed: false;
7889
+ }, {
7890
+ readonly name: "tradeReferrer";
7891
+ readonly internalType: "address";
7892
+ readonly type: "address";
7893
+ readonly indexed: false;
7894
+ }, {
7895
+ readonly name: "protocolRewardRecipient";
7896
+ readonly internalType: "address";
7897
+ readonly type: "address";
7898
+ readonly indexed: false;
7899
+ }, {
7900
+ readonly name: "dopplerRecipient";
7901
+ readonly internalType: "address";
7902
+ readonly type: "address";
7903
+ readonly indexed: false;
7904
+ }, {
7905
+ readonly name: "marketRewards";
7906
+ readonly internalType: "struct IZoraV4CoinHook.MarketRewardsV4";
7907
+ readonly type: "tuple";
7908
+ readonly components: readonly [{
7909
+ readonly name: "creatorPayoutAmountCurrency";
7910
+ readonly internalType: "uint256";
7911
+ readonly type: "uint256";
7912
+ }, {
7913
+ readonly name: "creatorPayoutAmountCoin";
7914
+ readonly internalType: "uint256";
7915
+ readonly type: "uint256";
7916
+ }, {
7917
+ readonly name: "platformReferrerAmountCurrency";
7918
+ readonly internalType: "uint256";
7919
+ readonly type: "uint256";
7920
+ }, {
7921
+ readonly name: "platformReferrerAmountCoin";
7922
+ readonly internalType: "uint256";
7923
+ readonly type: "uint256";
7924
+ }, {
7925
+ readonly name: "tradeReferrerAmountCurrency";
7926
+ readonly internalType: "uint256";
7927
+ readonly type: "uint256";
7928
+ }, {
7929
+ readonly name: "tradeReferrerAmountCoin";
7930
+ readonly internalType: "uint256";
7931
+ readonly type: "uint256";
7932
+ }, {
7933
+ readonly name: "protocolAmountCurrency";
7934
+ readonly internalType: "uint256";
7935
+ readonly type: "uint256";
7936
+ }, {
7937
+ readonly name: "protocolAmountCoin";
7938
+ readonly internalType: "uint256";
7939
+ readonly type: "uint256";
7940
+ }, {
7941
+ readonly name: "dopplerAmountCurrency";
7942
+ readonly internalType: "uint256";
7943
+ readonly type: "uint256";
7944
+ }, {
7945
+ readonly name: "dopplerAmountCoin";
7946
+ readonly internalType: "uint256";
7947
+ readonly type: "uint256";
7948
+ }];
7949
+ readonly indexed: false;
7950
+ }];
7951
+ readonly name: "CoinMarketRewardsV4";
7952
+ }, {
7953
+ readonly type: "event";
7954
+ readonly anonymous: false;
7955
+ readonly inputs: readonly [{
7956
+ readonly name: "coin";
7957
+ readonly internalType: "address";
7958
+ readonly type: "address";
7959
+ readonly indexed: true;
7960
+ }, {
7961
+ readonly name: "currency";
7962
+ readonly internalType: "address";
7963
+ readonly type: "address";
7964
+ readonly indexed: false;
7965
+ }, {
7966
+ readonly name: "creator";
7967
+ readonly internalType: "address";
7968
+ readonly type: "address";
7969
+ readonly indexed: false;
7970
+ }, {
7971
+ readonly name: "protocol";
7972
+ readonly internalType: "address";
7973
+ readonly type: "address";
7974
+ readonly indexed: false;
7975
+ }, {
7976
+ readonly name: "creatorAmount";
7977
+ readonly internalType: "uint256";
7978
+ readonly type: "uint256";
7979
+ readonly indexed: false;
7980
+ }, {
7981
+ readonly name: "protocolAmount";
7982
+ readonly internalType: "uint256";
7983
+ readonly type: "uint256";
7984
+ readonly indexed: false;
7985
+ }];
7986
+ readonly name: "CreatorCoinRewards";
7987
+ }, {
7988
+ readonly type: "event";
7989
+ readonly anonymous: false;
7990
+ readonly inputs: readonly [{
7991
+ readonly name: "coin";
7992
+ readonly internalType: "address";
7993
+ readonly type: "address";
7994
+ readonly indexed: true;
7995
+ }, {
7996
+ readonly name: "currency";
7997
+ readonly internalType: "address";
7998
+ readonly type: "address";
7999
+ readonly indexed: true;
8000
+ }, {
8001
+ readonly name: "amountCurrency";
8002
+ readonly internalType: "uint256";
8003
+ readonly type: "uint256";
8004
+ readonly indexed: false;
8005
+ }, {
8006
+ readonly name: "tick";
8007
+ readonly internalType: "int24";
8008
+ readonly type: "int24";
8009
+ readonly indexed: false;
8010
+ }, {
8011
+ readonly name: "liquidity";
8012
+ readonly internalType: "uint128";
8013
+ readonly type: "uint128";
8014
+ readonly indexed: false;
8015
+ }];
8016
+ readonly name: "LpReward";
8017
+ }, {
8018
+ readonly type: "event";
8019
+ readonly anonymous: false;
8020
+ readonly inputs: readonly [{
8021
+ readonly name: "sender";
8022
+ readonly internalType: "address";
8023
+ readonly type: "address";
8024
+ readonly indexed: true;
8025
+ }, {
8026
+ readonly name: "swapSender";
8027
+ readonly internalType: "address";
8028
+ readonly type: "address";
8029
+ readonly indexed: true;
8030
+ }, {
8031
+ readonly name: "isTrustedSwapSenderAddress";
8032
+ readonly internalType: "bool";
8033
+ readonly type: "bool";
8034
+ readonly indexed: false;
8035
+ }, {
8036
+ readonly name: "key";
8037
+ readonly internalType: "struct PoolKey";
8038
+ readonly type: "tuple";
8039
+ readonly components: readonly [{
8040
+ readonly name: "currency0";
8041
+ readonly internalType: "Currency";
8042
+ readonly type: "address";
8043
+ }, {
8044
+ readonly name: "currency1";
8045
+ readonly internalType: "Currency";
8046
+ readonly type: "address";
8047
+ }, {
8048
+ readonly name: "fee";
8049
+ readonly internalType: "uint24";
8050
+ readonly type: "uint24";
8051
+ }, {
8052
+ readonly name: "tickSpacing";
8053
+ readonly internalType: "int24";
8054
+ readonly type: "int24";
8055
+ }, {
8056
+ readonly name: "hooks";
8057
+ readonly internalType: "contract IHooks";
8058
+ readonly type: "address";
8059
+ }];
8060
+ readonly indexed: false;
8061
+ }, {
8062
+ readonly name: "poolKeyHash";
8063
+ readonly internalType: "bytes32";
8064
+ readonly type: "bytes32";
8065
+ readonly indexed: true;
8066
+ }, {
8067
+ readonly name: "params";
8068
+ readonly internalType: "struct SwapParams";
8069
+ readonly type: "tuple";
8070
+ readonly components: readonly [{
8071
+ readonly name: "zeroForOne";
8072
+ readonly internalType: "bool";
8073
+ readonly type: "bool";
8074
+ }, {
8075
+ readonly name: "amountSpecified";
8076
+ readonly internalType: "int256";
8077
+ readonly type: "int256";
8078
+ }, {
8079
+ readonly name: "sqrtPriceLimitX96";
8080
+ readonly internalType: "uint160";
8081
+ readonly type: "uint160";
8082
+ }];
8083
+ readonly indexed: false;
8084
+ }, {
8085
+ readonly name: "amount0";
8086
+ readonly internalType: "int128";
8087
+ readonly type: "int128";
8088
+ readonly indexed: false;
8089
+ }, {
8090
+ readonly name: "amount1";
8091
+ readonly internalType: "int128";
8092
+ readonly type: "int128";
8093
+ readonly indexed: false;
8094
+ }, {
8095
+ readonly name: "isCoinBuy";
8096
+ readonly internalType: "bool";
8097
+ readonly type: "bool";
8098
+ readonly indexed: false;
8099
+ }, {
8100
+ readonly name: "hookData";
8101
+ readonly internalType: "bytes";
8102
+ readonly type: "bytes";
8103
+ readonly indexed: false;
8104
+ }, {
8105
+ readonly name: "sqrtPriceX96";
8106
+ readonly internalType: "uint160";
8107
+ readonly type: "uint160";
8108
+ readonly indexed: false;
8109
+ }];
8110
+ readonly name: "Swapped";
8111
+ }, {
8112
+ readonly type: "error";
8113
+ readonly inputs: readonly [];
8114
+ readonly name: "CoinVersionLookupCannotBeZeroAddress";
8115
+ }, {
8116
+ readonly type: "error";
8117
+ readonly inputs: readonly [];
8118
+ readonly name: "EthTransferFailed";
8119
+ }, {
8120
+ readonly type: "error";
8121
+ readonly inputs: readonly [];
8122
+ readonly name: "HookNotImplemented";
8123
+ }, {
8124
+ readonly type: "error";
8125
+ readonly inputs: readonly [{
8126
+ readonly name: "callbackId";
8127
+ readonly internalType: "uint8";
8128
+ readonly type: "uint8";
8129
+ }];
8130
+ readonly name: "InvalidCallbackId";
8131
+ }, {
8132
+ readonly type: "error";
8133
+ readonly inputs: readonly [{
8134
+ readonly name: "newHook";
8135
+ readonly internalType: "address";
8136
+ readonly type: "address";
8137
+ }];
8138
+ readonly name: "InvalidNewHook";
8139
+ }, {
8140
+ readonly type: "error";
8141
+ readonly inputs: readonly [{
8142
+ readonly name: "key";
8143
+ readonly internalType: "struct PoolKey";
8144
+ readonly type: "tuple";
8145
+ readonly components: readonly [{
8146
+ readonly name: "currency0";
8147
+ readonly internalType: "Currency";
8148
+ readonly type: "address";
8149
+ }, {
8150
+ readonly name: "currency1";
8151
+ readonly internalType: "Currency";
8152
+ readonly type: "address";
8153
+ }, {
8154
+ readonly name: "fee";
8155
+ readonly internalType: "uint24";
8156
+ readonly type: "uint24";
8157
+ }, {
8158
+ readonly name: "tickSpacing";
8159
+ readonly internalType: "int24";
8160
+ readonly type: "int24";
8161
+ }, {
8162
+ readonly name: "hooks";
8163
+ readonly internalType: "contract IHooks";
8164
+ readonly type: "address";
8165
+ }];
8166
+ }];
8167
+ readonly name: "NoCoinForHook";
8168
+ }, {
8169
+ readonly type: "error";
8170
+ readonly inputs: readonly [{
8171
+ readonly name: "coin";
8172
+ readonly internalType: "address";
8173
+ readonly type: "address";
8174
+ }];
8175
+ readonly name: "NotACoin";
8176
+ }, {
8177
+ readonly type: "error";
8178
+ readonly inputs: readonly [];
8179
+ readonly name: "NotPoolManager";
8180
+ }, {
8181
+ readonly type: "error";
8182
+ readonly inputs: readonly [{
8183
+ readonly name: "caller";
8184
+ readonly internalType: "address";
8185
+ readonly type: "address";
8186
+ }, {
8187
+ readonly name: "expectedCoin";
8188
+ readonly internalType: "address";
8189
+ readonly type: "address";
8190
+ }];
8191
+ readonly name: "OnlyCoin";
8192
+ }, {
8193
+ readonly type: "error";
8194
+ readonly inputs: readonly [];
8195
+ readonly name: "PathMustHaveAtLeastOneStep";
8196
+ }, {
8197
+ readonly type: "error";
8198
+ readonly inputs: readonly [];
8199
+ readonly name: "SafeCastOverflow";
8200
+ }, {
8201
+ readonly type: "error";
8202
+ readonly inputs: readonly [{
8203
+ readonly name: "token";
8204
+ readonly internalType: "address";
8205
+ readonly type: "address";
8206
+ }];
8207
+ readonly name: "SafeERC20FailedOperation";
8208
+ }, {
8209
+ readonly type: "error";
8210
+ readonly inputs: readonly [];
8211
+ readonly name: "TrustedMsgSenderLookupCannotBeZeroAddress";
8212
+ }, {
8213
+ readonly type: "error";
8214
+ readonly inputs: readonly [];
8215
+ readonly name: "UpgradeGateCannotBeZeroAddress";
8216
+ }, {
8217
+ readonly type: "error";
8218
+ readonly inputs: readonly [{
8219
+ readonly name: "oldHook";
8220
+ readonly internalType: "address";
8221
+ readonly type: "address";
8222
+ }, {
8223
+ readonly name: "newHook";
8224
+ readonly internalType: "address";
8225
+ readonly type: "address";
8226
+ }];
8227
+ readonly name: "UpgradePathNotRegistered";
8228
+ }, {
8229
+ readonly type: "error";
8230
+ readonly inputs: readonly [];
8231
+ readonly name: "ZoraHookRegistryCannotBeZeroAddress";
8232
+ }, {
8233
+ readonly type: "error";
8234
+ readonly inputs: readonly [];
8235
+ readonly name: "ZoraLimitOrderBookCannotBeZeroAddress";
8236
+ }];
6854
8237
  //# sourceMappingURL=wagmiGenerated.d.ts.map