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