@zoralabs/coins 2.4.0 → 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.
- package/.turbo/turbo-build$colon$js.log +116 -124
- package/CHANGELOG.md +6 -0
- package/abis/Address.json +0 -16
- package/abis/BuySupplyWithSwapRouterHook.json +0 -27
- package/abis/BuySupplyWithV4SwapHook.json +0 -32
- package/abis/Clones.json +1 -1
- package/abis/CoinDopplerMultiCurve.json +109 -0
- package/abis/Create2.json +0 -21
- package/abis/ERC1967Proxy.json +1 -1
- package/abis/ERC1967Utils.json +0 -45
- package/abis/{UpgradeCoinImpl.json → Errors.json} +14 -10
- package/abis/{MockERC20.json → IERC1363.json} +134 -104
- package/abis/IERC1967.json +47 -0
- package/abis/IERC20.json +0 -36
- package/abis/IProtocolRewards.json +0 -258
- package/abis/{Script.json → ISupportsLimitOrderFill.json} +2 -2
- package/abis/IZoraLimitOrderBookCoinsInterface.json +67 -0
- package/abis/IZoraV4CoinHook.json +10 -0
- package/abis/ProxyShim.json +15 -16
- package/abis/SafeCast.json +51 -0
- package/abis/{AddressConstants.json → SafeCast160.json} +1 -1
- package/abis/Strings.json +10 -0
- package/abis/UUPSUpgradeable.json +1 -1
- package/abis/V3ToV4SwapLib.json +28 -0
- package/abis/ZoraFactory.json +1 -1
- package/abis/ZoraFactoryImpl.json +22 -6
- package/abis/ZoraV4CoinHook.json +20 -48
- package/dist/index.cjs +950 -43
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +948 -41
- package/dist/index.js.map +1 -1
- package/dist/wagmiGenerated.d.ts +1459 -76
- package/dist/wagmiGenerated.d.ts.map +1 -1
- package/package/wagmiGenerated.ts +951 -44
- package/package.json +9 -9
- package/remappings.txt +2 -1
- package/src/ZoraFactoryImpl.sol +8 -0
- package/src/deployment/ForkedCoinsAddresses.sol +54 -0
- package/src/hooks/ZoraV4CoinHook.sol +74 -20
- package/src/hooks/deployment/BuySupplyWithV4SwapHook.sol +20 -142
- package/src/interfaces/ISupportsLimitOrderFill.sol +11 -0
- package/src/interfaces/IZoraLimitOrderBookCoinsInterface.sol +21 -0
- package/src/interfaces/IZoraV4CoinHook.sol +6 -0
- package/src/libs/CoinConstants.sol +6 -0
- package/src/libs/CoinDopplerMultiCurve.sol +1 -1
- package/src/libs/CoinRewardsV4.sol +0 -1
- package/src/libs/HooksDeployment.sol +20 -8
- package/src/libs/UniV4SwapHelper.sol +35 -0
- package/src/libs/V3ToV4SwapLib.sol +261 -0
- package/src/version/ContractVersionBase.sol +1 -1
- package/test/BuySupplyWithV4SwapHook.t.sol +4 -3
- package/test/Coin.t.sol +7 -1
- package/test/CoinUniV4.t.sol +2 -1
- package/test/ContentCoinRewards.t.sol +5 -1
- package/test/CreatorCoin.t.sol +3 -1
- package/test/CreatorCoinRewards.t.sol +3 -1
- package/test/Factory.t.sol +20 -7
- package/test/HooksDeployment.t.sol +16 -3
- package/test/LiquidityMigration.t.sol +52 -44
- package/test/MultiOwnable.t.sol +2 -1
- package/test/Upgrades.t.sol +110 -81
- package/test/V4Liquidity.t.sol +1 -1
- package/test/mocks/MockSwapRouter.sol +33 -0
- package/test/mocks/MockZoraLimitOrderBook.sol +14 -0
- package/test/utils/BaseTest.sol +14 -448
- package/test/utils/FeeEstimatorHook.sol +6 -2
- package/test/utils/V4TestSetup.sol +595 -0
- package/wagmi.config.ts +1 -1
- package/abis/BaseTest.json +0 -718
- package/abis/DeterministicDeployerAndCaller.json +0 -315
- package/abis/DeterministicUUPSProxyDeployer.json +0 -167
- package/abis/EIP712.json +0 -67
- package/abis/ERC20.json +0 -310
- package/abis/FeeEstimatorHook.json +0 -1938
- package/abis/IERC721.json +0 -287
- package/abis/IERC721Enumerable.json +0 -343
- package/abis/IERC721Metadata.json +0 -332
- package/abis/IERC721TokenReceiver.json +0 -36
- package/abis/IImmutableCreate2Factory.json +0 -93
- package/abis/IMulticall3.json +0 -440
- package/abis/ISafe.json +0 -15
- package/abis/ISymbol.json +0 -15
- package/abis/IUniswapV4Router04.json +0 -484
- package/abis/IUniversalRouter.json +0 -61
- package/abis/IV4Quoter.json +0 -310
- package/abis/ImmutableCreate2FactoryUtils.json +0 -15
- package/abis/LibString.json +0 -7
- package/abis/Math.json +0 -7
- package/abis/MockAirlock.json +0 -39
- package/abis/MockERC721.json +0 -350
- package/abis/ProtocolRewards.json +0 -494
- package/abis/ShortStrings.json +0 -18
- package/abis/SimpleERC20.json +0 -326
- package/abis/StdAssertions.json +0 -379
- package/abis/StdInvariant.json +0 -180
- package/abis/Test.json +0 -570
- package/abis/VmContractHelper235.json +0 -233
- package/abis/VmContractHelper242.json +0 -233
- package/abis/stdError.json +0 -119
- package/abis/stdStorageSafe.json +0 -52
- package/addresses/8453.json +0 -13
- package/addresses/84532.json +0 -10
- package/deterministicConfig/deployerAndCaller.json +0 -5
- package/deterministicConfig/zoraFactory.json +0 -8
- package/script/Deploy.s.sol +0 -23
- package/script/DeployAutoSwapper.s.sol +0 -30
- package/script/DeployDevFactory.s.sol +0 -21
- package/script/DeployPostDeploymentHooks.s.sol +0 -20
- package/script/DeployTrustedMsgSenderLookup.s.sol +0 -20
- package/script/DeployUpgradeGate.s.sol +0 -21
- package/script/GenerateDeterministicParams.s.sol +0 -43
- package/script/PrintRegisterUpgradePath.s.sol +0 -28
- package/script/PrintUpgradeCommand.s.sol +0 -13
- package/script/TestBackingCoinSwap.s.sol +0 -144
- package/script/TestV4Swap.s.sol +0 -133
- package/script/UpgradeCoinImpl.sol +0 -23
- package/script/UpgradeFactoryImpl.s.sol +0 -28
- package/script/UpgradeHooks.s.sol +0 -23
- package/src/deployment/CoinsDeployerBase.sol +0 -297
- /package/{test → src}/utils/ProxyShim.sol +0 -0
|
@@ -1357,18 +1357,7 @@ export const buySupplyWithV4SwapHookABI = [
|
|
|
1357
1357
|
],
|
|
1358
1358
|
name: 'BuyInitialSupply',
|
|
1359
1359
|
},
|
|
1360
|
-
{
|
|
1361
|
-
type: 'error',
|
|
1362
|
-
inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
|
|
1363
|
-
name: 'AddressEmptyCode',
|
|
1364
|
-
},
|
|
1365
|
-
{
|
|
1366
|
-
type: 'error',
|
|
1367
|
-
inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
|
|
1368
|
-
name: 'AddressInsufficientBalance',
|
|
1369
|
-
},
|
|
1370
1360
|
{ type: 'error', inputs: [], name: 'AddressZero' },
|
|
1371
|
-
{ type: 'error', inputs: [], name: 'FailedInnerCall' },
|
|
1372
1361
|
{ type: 'error', inputs: [], name: 'HookNotImplemented' },
|
|
1373
1362
|
{
|
|
1374
1363
|
type: 'error',
|
|
@@ -1386,7 +1375,6 @@ export const buySupplyWithV4SwapHookABI = [
|
|
|
1386
1375
|
inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
|
|
1387
1376
|
name: 'SafeERC20FailedOperation',
|
|
1388
1377
|
},
|
|
1389
|
-
{ type: 'error', inputs: [], name: 'V3RouteCannotStartWithInputCurrency' },
|
|
1390
1378
|
{ type: 'error', inputs: [], name: 'V3RouteDoesNotConnectToV4RouteStart' },
|
|
1391
1379
|
] as const
|
|
1392
1380
|
|
|
@@ -4341,36 +4329,6 @@ export const iUniswapV3PoolABI = [
|
|
|
4341
4329
|
},
|
|
4342
4330
|
] as const
|
|
4343
4331
|
|
|
4344
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
4345
|
-
// IUniversalRouter
|
|
4346
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
4347
|
-
|
|
4348
|
-
export const iUniversalRouterABI = [
|
|
4349
|
-
{
|
|
4350
|
-
type: 'function',
|
|
4351
|
-
inputs: [
|
|
4352
|
-
{ name: 'commands', internalType: 'bytes', type: 'bytes' },
|
|
4353
|
-
{ name: 'inputs', internalType: 'bytes[]', type: 'bytes[]' },
|
|
4354
|
-
{ name: 'deadline', internalType: 'uint256', type: 'uint256' },
|
|
4355
|
-
],
|
|
4356
|
-
name: 'execute',
|
|
4357
|
-
outputs: [],
|
|
4358
|
-
stateMutability: 'payable',
|
|
4359
|
-
},
|
|
4360
|
-
{ type: 'error', inputs: [], name: 'ETHNotAccepted' },
|
|
4361
|
-
{
|
|
4362
|
-
type: 'error',
|
|
4363
|
-
inputs: [
|
|
4364
|
-
{ name: 'commandIndex', internalType: 'uint256', type: 'uint256' },
|
|
4365
|
-
{ name: 'message', internalType: 'bytes', type: 'bytes' },
|
|
4366
|
-
],
|
|
4367
|
-
name: 'ExecutionFailed',
|
|
4368
|
-
},
|
|
4369
|
-
{ type: 'error', inputs: [], name: 'InvalidEthSender' },
|
|
4370
|
-
{ type: 'error', inputs: [], name: 'LengthMismatch' },
|
|
4371
|
-
{ type: 'error', inputs: [], name: 'TransactionDeadlinePassed' },
|
|
4372
|
-
] as const
|
|
4373
|
-
|
|
4374
4332
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
4375
4333
|
// ZoraFactoryImpl
|
|
4376
4334
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -4924,7 +4882,6 @@ export const zoraFactoryImplABI = [
|
|
|
4924
4882
|
{ type: 'error', inputs: [], name: 'ArrayLengthMismatch' },
|
|
4925
4883
|
{ type: 'error', inputs: [], name: 'ConfigTickLowerMustBeLessThanTickUpper' },
|
|
4926
4884
|
{ type: 'error', inputs: [], name: 'Deprecated' },
|
|
4927
|
-
{ type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' },
|
|
4928
4885
|
{
|
|
4929
4886
|
type: 'error',
|
|
4930
4887
|
inputs: [
|
|
@@ -4934,7 +4891,16 @@ export const zoraFactoryImplABI = [
|
|
|
4934
4891
|
},
|
|
4935
4892
|
{ type: 'error', inputs: [], name: 'ERC1967NonPayable' },
|
|
4936
4893
|
{ type: 'error', inputs: [], name: 'EthTransferInvalid' },
|
|
4937
|
-
{ type: 'error', inputs: [], name: '
|
|
4894
|
+
{ type: 'error', inputs: [], name: 'FailedCall' },
|
|
4895
|
+
{ type: 'error', inputs: [], name: 'FailedDeployment' },
|
|
4896
|
+
{
|
|
4897
|
+
type: 'error',
|
|
4898
|
+
inputs: [
|
|
4899
|
+
{ name: 'balance', internalType: 'uint256', type: 'uint256' },
|
|
4900
|
+
{ name: 'needed', internalType: 'uint256', type: 'uint256' },
|
|
4901
|
+
],
|
|
4902
|
+
name: 'InsufficientBalance',
|
|
4903
|
+
},
|
|
4938
4904
|
{ type: 'error', inputs: [], name: 'InvalidConfig' },
|
|
4939
4905
|
{ type: 'error', inputs: [], name: 'InvalidHook' },
|
|
4940
4906
|
{ type: 'error', inputs: [], name: 'InvalidInitialization' },
|
|
@@ -4985,3 +4951,944 @@ export const zoraFactoryImplABI = [
|
|
|
4985
4951
|
{ type: 'error', inputs: [], name: 'ZeroDiscoveryPositions' },
|
|
4986
4952
|
{ type: 'error', inputs: [], name: 'ZeroDiscoverySupplyShare' },
|
|
4987
4953
|
] as const
|
|
4954
|
+
|
|
4955
|
+
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
4956
|
+
// ZoraV4CoinHook
|
|
4957
|
+
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
4958
|
+
|
|
4959
|
+
export const zoraV4CoinHookABI = [
|
|
4960
|
+
{
|
|
4961
|
+
type: 'constructor',
|
|
4962
|
+
inputs: [
|
|
4963
|
+
{
|
|
4964
|
+
name: 'poolManager_',
|
|
4965
|
+
internalType: 'contract IPoolManager',
|
|
4966
|
+
type: 'address',
|
|
4967
|
+
},
|
|
4968
|
+
{
|
|
4969
|
+
name: 'coinVersionLookup_',
|
|
4970
|
+
internalType: 'contract IDeployedCoinVersionLookup',
|
|
4971
|
+
type: 'address',
|
|
4972
|
+
},
|
|
4973
|
+
{
|
|
4974
|
+
name: 'trustedMsgSenderLookup_',
|
|
4975
|
+
internalType: 'contract ITrustedMsgSenderProviderLookup',
|
|
4976
|
+
type: 'address',
|
|
4977
|
+
},
|
|
4978
|
+
{
|
|
4979
|
+
name: 'upgradeGate_',
|
|
4980
|
+
internalType: 'contract IHooksUpgradeGate',
|
|
4981
|
+
type: 'address',
|
|
4982
|
+
},
|
|
4983
|
+
{
|
|
4984
|
+
name: 'zoraLimitOrderBook_',
|
|
4985
|
+
internalType: 'contract IZoraLimitOrderBookCoinsInterface',
|
|
4986
|
+
type: 'address',
|
|
4987
|
+
},
|
|
4988
|
+
{
|
|
4989
|
+
name: 'zoraHookRegistry_',
|
|
4990
|
+
internalType: 'contract IZoraHookRegistry',
|
|
4991
|
+
type: 'address',
|
|
4992
|
+
},
|
|
4993
|
+
],
|
|
4994
|
+
stateMutability: 'nonpayable',
|
|
4995
|
+
},
|
|
4996
|
+
{ type: 'receive', stateMutability: 'payable' },
|
|
4997
|
+
{
|
|
4998
|
+
type: 'function',
|
|
4999
|
+
inputs: [
|
|
5000
|
+
{ name: 'sender', internalType: 'address', type: 'address' },
|
|
5001
|
+
{
|
|
5002
|
+
name: 'key',
|
|
5003
|
+
internalType: 'struct PoolKey',
|
|
5004
|
+
type: 'tuple',
|
|
5005
|
+
components: [
|
|
5006
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5007
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5008
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5009
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5010
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5011
|
+
],
|
|
5012
|
+
},
|
|
5013
|
+
{
|
|
5014
|
+
name: 'params',
|
|
5015
|
+
internalType: 'struct ModifyLiquidityParams',
|
|
5016
|
+
type: 'tuple',
|
|
5017
|
+
components: [
|
|
5018
|
+
{ name: 'tickLower', internalType: 'int24', type: 'int24' },
|
|
5019
|
+
{ name: 'tickUpper', internalType: 'int24', type: 'int24' },
|
|
5020
|
+
{ name: 'liquidityDelta', internalType: 'int256', type: 'int256' },
|
|
5021
|
+
{ name: 'salt', internalType: 'bytes32', type: 'bytes32' },
|
|
5022
|
+
],
|
|
5023
|
+
},
|
|
5024
|
+
{ name: 'delta', internalType: 'BalanceDelta', type: 'int256' },
|
|
5025
|
+
{ name: 'feesAccrued', internalType: 'BalanceDelta', type: 'int256' },
|
|
5026
|
+
{ name: 'hookData', internalType: 'bytes', type: 'bytes' },
|
|
5027
|
+
],
|
|
5028
|
+
name: 'afterAddLiquidity',
|
|
5029
|
+
outputs: [
|
|
5030
|
+
{ name: '', internalType: 'bytes4', type: 'bytes4' },
|
|
5031
|
+
{ name: '', internalType: 'BalanceDelta', type: 'int256' },
|
|
5032
|
+
],
|
|
5033
|
+
stateMutability: 'nonpayable',
|
|
5034
|
+
},
|
|
5035
|
+
{
|
|
5036
|
+
type: 'function',
|
|
5037
|
+
inputs: [
|
|
5038
|
+
{ name: 'sender', internalType: 'address', type: 'address' },
|
|
5039
|
+
{
|
|
5040
|
+
name: 'key',
|
|
5041
|
+
internalType: 'struct PoolKey',
|
|
5042
|
+
type: 'tuple',
|
|
5043
|
+
components: [
|
|
5044
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5045
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5046
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5047
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5048
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5049
|
+
],
|
|
5050
|
+
},
|
|
5051
|
+
{ name: 'amount0', internalType: 'uint256', type: 'uint256' },
|
|
5052
|
+
{ name: 'amount1', internalType: 'uint256', type: 'uint256' },
|
|
5053
|
+
{ name: 'hookData', internalType: 'bytes', type: 'bytes' },
|
|
5054
|
+
],
|
|
5055
|
+
name: 'afterDonate',
|
|
5056
|
+
outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
|
|
5057
|
+
stateMutability: 'nonpayable',
|
|
5058
|
+
},
|
|
5059
|
+
{
|
|
5060
|
+
type: 'function',
|
|
5061
|
+
inputs: [
|
|
5062
|
+
{ name: 'sender', internalType: 'address', type: 'address' },
|
|
5063
|
+
{
|
|
5064
|
+
name: 'key',
|
|
5065
|
+
internalType: 'struct PoolKey',
|
|
5066
|
+
type: 'tuple',
|
|
5067
|
+
components: [
|
|
5068
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5069
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5070
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5071
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5072
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5073
|
+
],
|
|
5074
|
+
},
|
|
5075
|
+
{ name: 'sqrtPriceX96', internalType: 'uint160', type: 'uint160' },
|
|
5076
|
+
{ name: 'tick', internalType: 'int24', type: 'int24' },
|
|
5077
|
+
],
|
|
5078
|
+
name: 'afterInitialize',
|
|
5079
|
+
outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
|
|
5080
|
+
stateMutability: 'nonpayable',
|
|
5081
|
+
},
|
|
5082
|
+
{
|
|
5083
|
+
type: 'function',
|
|
5084
|
+
inputs: [
|
|
5085
|
+
{ name: 'sender', internalType: 'address', type: 'address' },
|
|
5086
|
+
{
|
|
5087
|
+
name: 'key',
|
|
5088
|
+
internalType: 'struct PoolKey',
|
|
5089
|
+
type: 'tuple',
|
|
5090
|
+
components: [
|
|
5091
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5092
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5093
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5094
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5095
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5096
|
+
],
|
|
5097
|
+
},
|
|
5098
|
+
{
|
|
5099
|
+
name: 'params',
|
|
5100
|
+
internalType: 'struct ModifyLiquidityParams',
|
|
5101
|
+
type: 'tuple',
|
|
5102
|
+
components: [
|
|
5103
|
+
{ name: 'tickLower', internalType: 'int24', type: 'int24' },
|
|
5104
|
+
{ name: 'tickUpper', internalType: 'int24', type: 'int24' },
|
|
5105
|
+
{ name: 'liquidityDelta', internalType: 'int256', type: 'int256' },
|
|
5106
|
+
{ name: 'salt', internalType: 'bytes32', type: 'bytes32' },
|
|
5107
|
+
],
|
|
5108
|
+
},
|
|
5109
|
+
{ name: 'delta', internalType: 'BalanceDelta', type: 'int256' },
|
|
5110
|
+
{ name: 'feesAccrued', internalType: 'BalanceDelta', type: 'int256' },
|
|
5111
|
+
{ name: 'hookData', internalType: 'bytes', type: 'bytes' },
|
|
5112
|
+
],
|
|
5113
|
+
name: 'afterRemoveLiquidity',
|
|
5114
|
+
outputs: [
|
|
5115
|
+
{ name: '', internalType: 'bytes4', type: 'bytes4' },
|
|
5116
|
+
{ name: '', internalType: 'BalanceDelta', type: 'int256' },
|
|
5117
|
+
],
|
|
5118
|
+
stateMutability: 'nonpayable',
|
|
5119
|
+
},
|
|
5120
|
+
{
|
|
5121
|
+
type: 'function',
|
|
5122
|
+
inputs: [
|
|
5123
|
+
{ name: 'sender', internalType: 'address', type: 'address' },
|
|
5124
|
+
{
|
|
5125
|
+
name: 'key',
|
|
5126
|
+
internalType: 'struct PoolKey',
|
|
5127
|
+
type: 'tuple',
|
|
5128
|
+
components: [
|
|
5129
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5130
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5131
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5132
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5133
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5134
|
+
],
|
|
5135
|
+
},
|
|
5136
|
+
{
|
|
5137
|
+
name: 'params',
|
|
5138
|
+
internalType: 'struct SwapParams',
|
|
5139
|
+
type: 'tuple',
|
|
5140
|
+
components: [
|
|
5141
|
+
{ name: 'zeroForOne', internalType: 'bool', type: 'bool' },
|
|
5142
|
+
{ name: 'amountSpecified', internalType: 'int256', type: 'int256' },
|
|
5143
|
+
{
|
|
5144
|
+
name: 'sqrtPriceLimitX96',
|
|
5145
|
+
internalType: 'uint160',
|
|
5146
|
+
type: 'uint160',
|
|
5147
|
+
},
|
|
5148
|
+
],
|
|
5149
|
+
},
|
|
5150
|
+
{ name: 'delta', internalType: 'BalanceDelta', type: 'int256' },
|
|
5151
|
+
{ name: 'hookData', internalType: 'bytes', type: 'bytes' },
|
|
5152
|
+
],
|
|
5153
|
+
name: 'afterSwap',
|
|
5154
|
+
outputs: [
|
|
5155
|
+
{ name: '', internalType: 'bytes4', type: 'bytes4' },
|
|
5156
|
+
{ name: '', internalType: 'int128', type: 'int128' },
|
|
5157
|
+
],
|
|
5158
|
+
stateMutability: 'nonpayable',
|
|
5159
|
+
},
|
|
5160
|
+
{
|
|
5161
|
+
type: 'function',
|
|
5162
|
+
inputs: [
|
|
5163
|
+
{ name: 'sender', internalType: 'address', type: 'address' },
|
|
5164
|
+
{
|
|
5165
|
+
name: 'key',
|
|
5166
|
+
internalType: 'struct PoolKey',
|
|
5167
|
+
type: 'tuple',
|
|
5168
|
+
components: [
|
|
5169
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5170
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5171
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5172
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5173
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5174
|
+
],
|
|
5175
|
+
},
|
|
5176
|
+
{
|
|
5177
|
+
name: 'params',
|
|
5178
|
+
internalType: 'struct ModifyLiquidityParams',
|
|
5179
|
+
type: 'tuple',
|
|
5180
|
+
components: [
|
|
5181
|
+
{ name: 'tickLower', internalType: 'int24', type: 'int24' },
|
|
5182
|
+
{ name: 'tickUpper', internalType: 'int24', type: 'int24' },
|
|
5183
|
+
{ name: 'liquidityDelta', internalType: 'int256', type: 'int256' },
|
|
5184
|
+
{ name: 'salt', internalType: 'bytes32', type: 'bytes32' },
|
|
5185
|
+
],
|
|
5186
|
+
},
|
|
5187
|
+
{ name: 'hookData', internalType: 'bytes', type: 'bytes' },
|
|
5188
|
+
],
|
|
5189
|
+
name: 'beforeAddLiquidity',
|
|
5190
|
+
outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
|
|
5191
|
+
stateMutability: 'nonpayable',
|
|
5192
|
+
},
|
|
5193
|
+
{
|
|
5194
|
+
type: 'function',
|
|
5195
|
+
inputs: [
|
|
5196
|
+
{ name: 'sender', internalType: 'address', type: 'address' },
|
|
5197
|
+
{
|
|
5198
|
+
name: 'key',
|
|
5199
|
+
internalType: 'struct PoolKey',
|
|
5200
|
+
type: 'tuple',
|
|
5201
|
+
components: [
|
|
5202
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5203
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5204
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5205
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5206
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5207
|
+
],
|
|
5208
|
+
},
|
|
5209
|
+
{ name: 'amount0', internalType: 'uint256', type: 'uint256' },
|
|
5210
|
+
{ name: 'amount1', internalType: 'uint256', type: 'uint256' },
|
|
5211
|
+
{ name: 'hookData', internalType: 'bytes', type: 'bytes' },
|
|
5212
|
+
],
|
|
5213
|
+
name: 'beforeDonate',
|
|
5214
|
+
outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
|
|
5215
|
+
stateMutability: 'nonpayable',
|
|
5216
|
+
},
|
|
5217
|
+
{
|
|
5218
|
+
type: 'function',
|
|
5219
|
+
inputs: [
|
|
5220
|
+
{ name: 'sender', internalType: 'address', type: 'address' },
|
|
5221
|
+
{
|
|
5222
|
+
name: 'key',
|
|
5223
|
+
internalType: 'struct PoolKey',
|
|
5224
|
+
type: 'tuple',
|
|
5225
|
+
components: [
|
|
5226
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5227
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5228
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5229
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5230
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5231
|
+
],
|
|
5232
|
+
},
|
|
5233
|
+
{ name: 'sqrtPriceX96', internalType: 'uint160', type: 'uint160' },
|
|
5234
|
+
],
|
|
5235
|
+
name: 'beforeInitialize',
|
|
5236
|
+
outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
|
|
5237
|
+
stateMutability: 'nonpayable',
|
|
5238
|
+
},
|
|
5239
|
+
{
|
|
5240
|
+
type: 'function',
|
|
5241
|
+
inputs: [
|
|
5242
|
+
{ name: 'sender', internalType: 'address', type: 'address' },
|
|
5243
|
+
{
|
|
5244
|
+
name: 'key',
|
|
5245
|
+
internalType: 'struct PoolKey',
|
|
5246
|
+
type: 'tuple',
|
|
5247
|
+
components: [
|
|
5248
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5249
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5250
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5251
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5252
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5253
|
+
],
|
|
5254
|
+
},
|
|
5255
|
+
{
|
|
5256
|
+
name: 'params',
|
|
5257
|
+
internalType: 'struct ModifyLiquidityParams',
|
|
5258
|
+
type: 'tuple',
|
|
5259
|
+
components: [
|
|
5260
|
+
{ name: 'tickLower', internalType: 'int24', type: 'int24' },
|
|
5261
|
+
{ name: 'tickUpper', internalType: 'int24', type: 'int24' },
|
|
5262
|
+
{ name: 'liquidityDelta', internalType: 'int256', type: 'int256' },
|
|
5263
|
+
{ name: 'salt', internalType: 'bytes32', type: 'bytes32' },
|
|
5264
|
+
],
|
|
5265
|
+
},
|
|
5266
|
+
{ name: 'hookData', internalType: 'bytes', type: 'bytes' },
|
|
5267
|
+
],
|
|
5268
|
+
name: 'beforeRemoveLiquidity',
|
|
5269
|
+
outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
|
|
5270
|
+
stateMutability: 'nonpayable',
|
|
5271
|
+
},
|
|
5272
|
+
{
|
|
5273
|
+
type: 'function',
|
|
5274
|
+
inputs: [
|
|
5275
|
+
{ name: 'sender', internalType: 'address', type: 'address' },
|
|
5276
|
+
{
|
|
5277
|
+
name: 'key',
|
|
5278
|
+
internalType: 'struct PoolKey',
|
|
5279
|
+
type: 'tuple',
|
|
5280
|
+
components: [
|
|
5281
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5282
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5283
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5284
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5285
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5286
|
+
],
|
|
5287
|
+
},
|
|
5288
|
+
{
|
|
5289
|
+
name: 'params',
|
|
5290
|
+
internalType: 'struct SwapParams',
|
|
5291
|
+
type: 'tuple',
|
|
5292
|
+
components: [
|
|
5293
|
+
{ name: 'zeroForOne', internalType: 'bool', type: 'bool' },
|
|
5294
|
+
{ name: 'amountSpecified', internalType: 'int256', type: 'int256' },
|
|
5295
|
+
{
|
|
5296
|
+
name: 'sqrtPriceLimitX96',
|
|
5297
|
+
internalType: 'uint160',
|
|
5298
|
+
type: 'uint160',
|
|
5299
|
+
},
|
|
5300
|
+
],
|
|
5301
|
+
},
|
|
5302
|
+
{ name: 'hookData', internalType: 'bytes', type: 'bytes' },
|
|
5303
|
+
],
|
|
5304
|
+
name: 'beforeSwap',
|
|
5305
|
+
outputs: [
|
|
5306
|
+
{ name: '', internalType: 'bytes4', type: 'bytes4' },
|
|
5307
|
+
{ name: '', internalType: 'BeforeSwapDelta', type: 'int256' },
|
|
5308
|
+
{ name: '', internalType: 'uint24', type: 'uint24' },
|
|
5309
|
+
],
|
|
5310
|
+
stateMutability: 'nonpayable',
|
|
5311
|
+
},
|
|
5312
|
+
{
|
|
5313
|
+
type: 'function',
|
|
5314
|
+
inputs: [],
|
|
5315
|
+
name: 'contractVersion',
|
|
5316
|
+
outputs: [{ name: '', internalType: 'string', type: 'string' }],
|
|
5317
|
+
stateMutability: 'pure',
|
|
5318
|
+
},
|
|
5319
|
+
{
|
|
5320
|
+
type: 'function',
|
|
5321
|
+
inputs: [],
|
|
5322
|
+
name: 'getHookPermissions',
|
|
5323
|
+
outputs: [
|
|
5324
|
+
{
|
|
5325
|
+
name: '',
|
|
5326
|
+
internalType: 'struct Hooks.Permissions',
|
|
5327
|
+
type: 'tuple',
|
|
5328
|
+
components: [
|
|
5329
|
+
{ name: 'beforeInitialize', internalType: 'bool', type: 'bool' },
|
|
5330
|
+
{ name: 'afterInitialize', internalType: 'bool', type: 'bool' },
|
|
5331
|
+
{ name: 'beforeAddLiquidity', internalType: 'bool', type: 'bool' },
|
|
5332
|
+
{ name: 'afterAddLiquidity', internalType: 'bool', type: 'bool' },
|
|
5333
|
+
{ name: 'beforeRemoveLiquidity', internalType: 'bool', type: 'bool' },
|
|
5334
|
+
{ name: 'afterRemoveLiquidity', internalType: 'bool', type: 'bool' },
|
|
5335
|
+
{ name: 'beforeSwap', internalType: 'bool', type: 'bool' },
|
|
5336
|
+
{ name: 'afterSwap', internalType: 'bool', type: 'bool' },
|
|
5337
|
+
{ name: 'beforeDonate', internalType: 'bool', type: 'bool' },
|
|
5338
|
+
{ name: 'afterDonate', internalType: 'bool', type: 'bool' },
|
|
5339
|
+
{ name: 'beforeSwapReturnDelta', internalType: 'bool', type: 'bool' },
|
|
5340
|
+
{ name: 'afterSwapReturnDelta', internalType: 'bool', type: 'bool' },
|
|
5341
|
+
{
|
|
5342
|
+
name: 'afterAddLiquidityReturnDelta',
|
|
5343
|
+
internalType: 'bool',
|
|
5344
|
+
type: 'bool',
|
|
5345
|
+
},
|
|
5346
|
+
{
|
|
5347
|
+
name: 'afterRemoveLiquidityReturnDelta',
|
|
5348
|
+
internalType: 'bool',
|
|
5349
|
+
type: 'bool',
|
|
5350
|
+
},
|
|
5351
|
+
],
|
|
5352
|
+
},
|
|
5353
|
+
],
|
|
5354
|
+
stateMutability: 'pure',
|
|
5355
|
+
},
|
|
5356
|
+
{
|
|
5357
|
+
type: 'function',
|
|
5358
|
+
inputs: [
|
|
5359
|
+
{
|
|
5360
|
+
name: 'key',
|
|
5361
|
+
internalType: 'struct PoolKey',
|
|
5362
|
+
type: 'tuple',
|
|
5363
|
+
components: [
|
|
5364
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5365
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5366
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5367
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5368
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5369
|
+
],
|
|
5370
|
+
},
|
|
5371
|
+
],
|
|
5372
|
+
name: 'getPoolCoin',
|
|
5373
|
+
outputs: [
|
|
5374
|
+
{
|
|
5375
|
+
name: '',
|
|
5376
|
+
internalType: 'struct IZoraV4CoinHook.PoolCoin',
|
|
5377
|
+
type: 'tuple',
|
|
5378
|
+
components: [
|
|
5379
|
+
{ name: 'coin', internalType: 'address', type: 'address' },
|
|
5380
|
+
{
|
|
5381
|
+
name: 'positions',
|
|
5382
|
+
internalType: 'struct LpPosition[]',
|
|
5383
|
+
type: 'tuple[]',
|
|
5384
|
+
components: [
|
|
5385
|
+
{ name: 'tickLower', internalType: 'int24', type: 'int24' },
|
|
5386
|
+
{ name: 'tickUpper', internalType: 'int24', type: 'int24' },
|
|
5387
|
+
{ name: 'liquidity', internalType: 'uint128', type: 'uint128' },
|
|
5388
|
+
],
|
|
5389
|
+
},
|
|
5390
|
+
],
|
|
5391
|
+
},
|
|
5392
|
+
],
|
|
5393
|
+
stateMutability: 'view',
|
|
5394
|
+
},
|
|
5395
|
+
{
|
|
5396
|
+
type: 'function',
|
|
5397
|
+
inputs: [{ name: 'poolKeyHash', internalType: 'bytes32', type: 'bytes32' }],
|
|
5398
|
+
name: 'getPoolCoinByHash',
|
|
5399
|
+
outputs: [
|
|
5400
|
+
{
|
|
5401
|
+
name: '',
|
|
5402
|
+
internalType: 'struct IZoraV4CoinHook.PoolCoin',
|
|
5403
|
+
type: 'tuple',
|
|
5404
|
+
components: [
|
|
5405
|
+
{ name: 'coin', internalType: 'address', type: 'address' },
|
|
5406
|
+
{
|
|
5407
|
+
name: 'positions',
|
|
5408
|
+
internalType: 'struct LpPosition[]',
|
|
5409
|
+
type: 'tuple[]',
|
|
5410
|
+
components: [
|
|
5411
|
+
{ name: 'tickLower', internalType: 'int24', type: 'int24' },
|
|
5412
|
+
{ name: 'tickUpper', internalType: 'int24', type: 'int24' },
|
|
5413
|
+
{ name: 'liquidity', internalType: 'uint128', type: 'uint128' },
|
|
5414
|
+
],
|
|
5415
|
+
},
|
|
5416
|
+
],
|
|
5417
|
+
},
|
|
5418
|
+
],
|
|
5419
|
+
stateMutability: 'view',
|
|
5420
|
+
},
|
|
5421
|
+
{
|
|
5422
|
+
type: 'function',
|
|
5423
|
+
inputs: [],
|
|
5424
|
+
name: 'getTrustedMsgSenderLookup',
|
|
5425
|
+
outputs: [
|
|
5426
|
+
{
|
|
5427
|
+
name: '',
|
|
5428
|
+
internalType: 'contract ITrustedMsgSenderProviderLookup',
|
|
5429
|
+
type: 'address',
|
|
5430
|
+
},
|
|
5431
|
+
],
|
|
5432
|
+
stateMutability: 'view',
|
|
5433
|
+
},
|
|
5434
|
+
{
|
|
5435
|
+
type: 'function',
|
|
5436
|
+
inputs: [
|
|
5437
|
+
{
|
|
5438
|
+
name: 'poolKey',
|
|
5439
|
+
internalType: 'struct PoolKey',
|
|
5440
|
+
type: 'tuple',
|
|
5441
|
+
components: [
|
|
5442
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5443
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5444
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5445
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5446
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5447
|
+
],
|
|
5448
|
+
},
|
|
5449
|
+
{ name: 'coin', internalType: 'address', type: 'address' },
|
|
5450
|
+
{ name: 'sqrtPriceX96', internalType: 'uint160', type: 'uint160' },
|
|
5451
|
+
{
|
|
5452
|
+
name: 'migratedLiquidity',
|
|
5453
|
+
internalType: 'struct BurnedPosition[]',
|
|
5454
|
+
type: 'tuple[]',
|
|
5455
|
+
components: [
|
|
5456
|
+
{ name: 'tickLower', internalType: 'int24', type: 'int24' },
|
|
5457
|
+
{ name: 'tickUpper', internalType: 'int24', type: 'int24' },
|
|
5458
|
+
{ name: 'amount0Received', internalType: 'uint128', type: 'uint128' },
|
|
5459
|
+
{ name: 'amount1Received', internalType: 'uint128', type: 'uint128' },
|
|
5460
|
+
],
|
|
5461
|
+
},
|
|
5462
|
+
{ name: 'additionalData', internalType: 'bytes', type: 'bytes' },
|
|
5463
|
+
],
|
|
5464
|
+
name: 'initializeFromMigration',
|
|
5465
|
+
outputs: [],
|
|
5466
|
+
stateMutability: 'nonpayable',
|
|
5467
|
+
},
|
|
5468
|
+
{
|
|
5469
|
+
type: 'function',
|
|
5470
|
+
inputs: [
|
|
5471
|
+
{
|
|
5472
|
+
name: 'poolKey',
|
|
5473
|
+
internalType: 'struct PoolKey',
|
|
5474
|
+
type: 'tuple',
|
|
5475
|
+
components: [
|
|
5476
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5477
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5478
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5479
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5480
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5481
|
+
],
|
|
5482
|
+
},
|
|
5483
|
+
{ name: 'coin', internalType: 'address', type: 'address' },
|
|
5484
|
+
{ name: 'sqrtPriceX96', internalType: 'uint160', type: 'uint160' },
|
|
5485
|
+
{
|
|
5486
|
+
name: 'migratedLiquidity',
|
|
5487
|
+
internalType: 'struct BurnedPosition[]',
|
|
5488
|
+
type: 'tuple[]',
|
|
5489
|
+
components: [
|
|
5490
|
+
{ name: 'tickLower', internalType: 'int24', type: 'int24' },
|
|
5491
|
+
{ name: 'tickUpper', internalType: 'int24', type: 'int24' },
|
|
5492
|
+
{ name: 'amount0Received', internalType: 'uint128', type: 'uint128' },
|
|
5493
|
+
{ name: 'amount1Received', internalType: 'uint128', type: 'uint128' },
|
|
5494
|
+
],
|
|
5495
|
+
},
|
|
5496
|
+
{ name: 'additionalData', internalType: 'bytes', type: 'bytes' },
|
|
5497
|
+
],
|
|
5498
|
+
name: 'initializeFromMigrationWithUpdateableFee',
|
|
5499
|
+
outputs: [
|
|
5500
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5501
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5502
|
+
],
|
|
5503
|
+
stateMutability: 'nonpayable',
|
|
5504
|
+
},
|
|
5505
|
+
{
|
|
5506
|
+
type: 'function',
|
|
5507
|
+
inputs: [{ name: 'sender', internalType: 'address', type: 'address' }],
|
|
5508
|
+
name: 'isTrustedMessageSender',
|
|
5509
|
+
outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
|
|
5510
|
+
stateMutability: 'view',
|
|
5511
|
+
},
|
|
5512
|
+
{
|
|
5513
|
+
type: 'function',
|
|
5514
|
+
inputs: [
|
|
5515
|
+
{ name: 'newHook', internalType: 'address', type: 'address' },
|
|
5516
|
+
{
|
|
5517
|
+
name: 'poolKey',
|
|
5518
|
+
internalType: 'struct PoolKey',
|
|
5519
|
+
type: 'tuple',
|
|
5520
|
+
components: [
|
|
5521
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5522
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5523
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5524
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5525
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5526
|
+
],
|
|
5527
|
+
},
|
|
5528
|
+
{ name: 'additionalData', internalType: 'bytes', type: 'bytes' },
|
|
5529
|
+
],
|
|
5530
|
+
name: 'migrateLiquidity',
|
|
5531
|
+
outputs: [
|
|
5532
|
+
{
|
|
5533
|
+
name: 'newPoolKey',
|
|
5534
|
+
internalType: 'struct PoolKey',
|
|
5535
|
+
type: 'tuple',
|
|
5536
|
+
components: [
|
|
5537
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5538
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5539
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5540
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5541
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5542
|
+
],
|
|
5543
|
+
},
|
|
5544
|
+
],
|
|
5545
|
+
stateMutability: 'nonpayable',
|
|
5546
|
+
},
|
|
5547
|
+
{
|
|
5548
|
+
type: 'function',
|
|
5549
|
+
inputs: [],
|
|
5550
|
+
name: 'poolManager',
|
|
5551
|
+
outputs: [
|
|
5552
|
+
{ name: '', internalType: 'contract IPoolManager', type: 'address' },
|
|
5553
|
+
],
|
|
5554
|
+
stateMutability: 'view',
|
|
5555
|
+
},
|
|
5556
|
+
{
|
|
5557
|
+
type: 'function',
|
|
5558
|
+
inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
|
|
5559
|
+
name: 'supportsInterface',
|
|
5560
|
+
outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
|
|
5561
|
+
stateMutability: 'view',
|
|
5562
|
+
},
|
|
5563
|
+
{
|
|
5564
|
+
type: 'function',
|
|
5565
|
+
inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
|
|
5566
|
+
name: 'unlockCallback',
|
|
5567
|
+
outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
|
|
5568
|
+
stateMutability: 'nonpayable',
|
|
5569
|
+
},
|
|
5570
|
+
{
|
|
5571
|
+
type: 'event',
|
|
5572
|
+
anonymous: false,
|
|
5573
|
+
inputs: [
|
|
5574
|
+
{
|
|
5575
|
+
name: 'coin',
|
|
5576
|
+
internalType: 'address',
|
|
5577
|
+
type: 'address',
|
|
5578
|
+
indexed: false,
|
|
5579
|
+
},
|
|
5580
|
+
{
|
|
5581
|
+
name: 'currency',
|
|
5582
|
+
internalType: 'address',
|
|
5583
|
+
type: 'address',
|
|
5584
|
+
indexed: false,
|
|
5585
|
+
},
|
|
5586
|
+
{
|
|
5587
|
+
name: 'payoutRecipient',
|
|
5588
|
+
internalType: 'address',
|
|
5589
|
+
type: 'address',
|
|
5590
|
+
indexed: false,
|
|
5591
|
+
},
|
|
5592
|
+
{
|
|
5593
|
+
name: 'platformReferrer',
|
|
5594
|
+
internalType: 'address',
|
|
5595
|
+
type: 'address',
|
|
5596
|
+
indexed: false,
|
|
5597
|
+
},
|
|
5598
|
+
{
|
|
5599
|
+
name: 'tradeReferrer',
|
|
5600
|
+
internalType: 'address',
|
|
5601
|
+
type: 'address',
|
|
5602
|
+
indexed: false,
|
|
5603
|
+
},
|
|
5604
|
+
{
|
|
5605
|
+
name: 'protocolRewardRecipient',
|
|
5606
|
+
internalType: 'address',
|
|
5607
|
+
type: 'address',
|
|
5608
|
+
indexed: false,
|
|
5609
|
+
},
|
|
5610
|
+
{
|
|
5611
|
+
name: 'dopplerRecipient',
|
|
5612
|
+
internalType: 'address',
|
|
5613
|
+
type: 'address',
|
|
5614
|
+
indexed: false,
|
|
5615
|
+
},
|
|
5616
|
+
{
|
|
5617
|
+
name: 'marketRewards',
|
|
5618
|
+
internalType: 'struct IZoraV4CoinHook.MarketRewardsV4',
|
|
5619
|
+
type: 'tuple',
|
|
5620
|
+
components: [
|
|
5621
|
+
{
|
|
5622
|
+
name: 'creatorPayoutAmountCurrency',
|
|
5623
|
+
internalType: 'uint256',
|
|
5624
|
+
type: 'uint256',
|
|
5625
|
+
},
|
|
5626
|
+
{
|
|
5627
|
+
name: 'creatorPayoutAmountCoin',
|
|
5628
|
+
internalType: 'uint256',
|
|
5629
|
+
type: 'uint256',
|
|
5630
|
+
},
|
|
5631
|
+
{
|
|
5632
|
+
name: 'platformReferrerAmountCurrency',
|
|
5633
|
+
internalType: 'uint256',
|
|
5634
|
+
type: 'uint256',
|
|
5635
|
+
},
|
|
5636
|
+
{
|
|
5637
|
+
name: 'platformReferrerAmountCoin',
|
|
5638
|
+
internalType: 'uint256',
|
|
5639
|
+
type: 'uint256',
|
|
5640
|
+
},
|
|
5641
|
+
{
|
|
5642
|
+
name: 'tradeReferrerAmountCurrency',
|
|
5643
|
+
internalType: 'uint256',
|
|
5644
|
+
type: 'uint256',
|
|
5645
|
+
},
|
|
5646
|
+
{
|
|
5647
|
+
name: 'tradeReferrerAmountCoin',
|
|
5648
|
+
internalType: 'uint256',
|
|
5649
|
+
type: 'uint256',
|
|
5650
|
+
},
|
|
5651
|
+
{
|
|
5652
|
+
name: 'protocolAmountCurrency',
|
|
5653
|
+
internalType: 'uint256',
|
|
5654
|
+
type: 'uint256',
|
|
5655
|
+
},
|
|
5656
|
+
{
|
|
5657
|
+
name: 'protocolAmountCoin',
|
|
5658
|
+
internalType: 'uint256',
|
|
5659
|
+
type: 'uint256',
|
|
5660
|
+
},
|
|
5661
|
+
{
|
|
5662
|
+
name: 'dopplerAmountCurrency',
|
|
5663
|
+
internalType: 'uint256',
|
|
5664
|
+
type: 'uint256',
|
|
5665
|
+
},
|
|
5666
|
+
{
|
|
5667
|
+
name: 'dopplerAmountCoin',
|
|
5668
|
+
internalType: 'uint256',
|
|
5669
|
+
type: 'uint256',
|
|
5670
|
+
},
|
|
5671
|
+
],
|
|
5672
|
+
indexed: false,
|
|
5673
|
+
},
|
|
5674
|
+
],
|
|
5675
|
+
name: 'CoinMarketRewardsV4',
|
|
5676
|
+
},
|
|
5677
|
+
{
|
|
5678
|
+
type: 'event',
|
|
5679
|
+
anonymous: false,
|
|
5680
|
+
inputs: [
|
|
5681
|
+
{ name: 'coin', internalType: 'address', type: 'address', indexed: true },
|
|
5682
|
+
{
|
|
5683
|
+
name: 'currency',
|
|
5684
|
+
internalType: 'address',
|
|
5685
|
+
type: 'address',
|
|
5686
|
+
indexed: false,
|
|
5687
|
+
},
|
|
5688
|
+
{
|
|
5689
|
+
name: 'creator',
|
|
5690
|
+
internalType: 'address',
|
|
5691
|
+
type: 'address',
|
|
5692
|
+
indexed: false,
|
|
5693
|
+
},
|
|
5694
|
+
{
|
|
5695
|
+
name: 'protocol',
|
|
5696
|
+
internalType: 'address',
|
|
5697
|
+
type: 'address',
|
|
5698
|
+
indexed: false,
|
|
5699
|
+
},
|
|
5700
|
+
{
|
|
5701
|
+
name: 'creatorAmount',
|
|
5702
|
+
internalType: 'uint256',
|
|
5703
|
+
type: 'uint256',
|
|
5704
|
+
indexed: false,
|
|
5705
|
+
},
|
|
5706
|
+
{
|
|
5707
|
+
name: 'protocolAmount',
|
|
5708
|
+
internalType: 'uint256',
|
|
5709
|
+
type: 'uint256',
|
|
5710
|
+
indexed: false,
|
|
5711
|
+
},
|
|
5712
|
+
],
|
|
5713
|
+
name: 'CreatorCoinRewards',
|
|
5714
|
+
},
|
|
5715
|
+
{
|
|
5716
|
+
type: 'event',
|
|
5717
|
+
anonymous: false,
|
|
5718
|
+
inputs: [
|
|
5719
|
+
{ name: 'coin', internalType: 'address', type: 'address', indexed: true },
|
|
5720
|
+
{
|
|
5721
|
+
name: 'currency',
|
|
5722
|
+
internalType: 'address',
|
|
5723
|
+
type: 'address',
|
|
5724
|
+
indexed: true,
|
|
5725
|
+
},
|
|
5726
|
+
{
|
|
5727
|
+
name: 'amountCurrency',
|
|
5728
|
+
internalType: 'uint256',
|
|
5729
|
+
type: 'uint256',
|
|
5730
|
+
indexed: false,
|
|
5731
|
+
},
|
|
5732
|
+
{ name: 'tick', internalType: 'int24', type: 'int24', indexed: false },
|
|
5733
|
+
{
|
|
5734
|
+
name: 'liquidity',
|
|
5735
|
+
internalType: 'uint128',
|
|
5736
|
+
type: 'uint128',
|
|
5737
|
+
indexed: false,
|
|
5738
|
+
},
|
|
5739
|
+
],
|
|
5740
|
+
name: 'LpReward',
|
|
5741
|
+
},
|
|
5742
|
+
{
|
|
5743
|
+
type: 'event',
|
|
5744
|
+
anonymous: false,
|
|
5745
|
+
inputs: [
|
|
5746
|
+
{
|
|
5747
|
+
name: 'sender',
|
|
5748
|
+
internalType: 'address',
|
|
5749
|
+
type: 'address',
|
|
5750
|
+
indexed: true,
|
|
5751
|
+
},
|
|
5752
|
+
{
|
|
5753
|
+
name: 'swapSender',
|
|
5754
|
+
internalType: 'address',
|
|
5755
|
+
type: 'address',
|
|
5756
|
+
indexed: true,
|
|
5757
|
+
},
|
|
5758
|
+
{
|
|
5759
|
+
name: 'isTrustedSwapSenderAddress',
|
|
5760
|
+
internalType: 'bool',
|
|
5761
|
+
type: 'bool',
|
|
5762
|
+
indexed: false,
|
|
5763
|
+
},
|
|
5764
|
+
{
|
|
5765
|
+
name: 'key',
|
|
5766
|
+
internalType: 'struct PoolKey',
|
|
5767
|
+
type: 'tuple',
|
|
5768
|
+
components: [
|
|
5769
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5770
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5771
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5772
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5773
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5774
|
+
],
|
|
5775
|
+
indexed: false,
|
|
5776
|
+
},
|
|
5777
|
+
{
|
|
5778
|
+
name: 'poolKeyHash',
|
|
5779
|
+
internalType: 'bytes32',
|
|
5780
|
+
type: 'bytes32',
|
|
5781
|
+
indexed: true,
|
|
5782
|
+
},
|
|
5783
|
+
{
|
|
5784
|
+
name: 'params',
|
|
5785
|
+
internalType: 'struct SwapParams',
|
|
5786
|
+
type: 'tuple',
|
|
5787
|
+
components: [
|
|
5788
|
+
{ name: 'zeroForOne', internalType: 'bool', type: 'bool' },
|
|
5789
|
+
{ name: 'amountSpecified', internalType: 'int256', type: 'int256' },
|
|
5790
|
+
{
|
|
5791
|
+
name: 'sqrtPriceLimitX96',
|
|
5792
|
+
internalType: 'uint160',
|
|
5793
|
+
type: 'uint160',
|
|
5794
|
+
},
|
|
5795
|
+
],
|
|
5796
|
+
indexed: false,
|
|
5797
|
+
},
|
|
5798
|
+
{
|
|
5799
|
+
name: 'amount0',
|
|
5800
|
+
internalType: 'int128',
|
|
5801
|
+
type: 'int128',
|
|
5802
|
+
indexed: false,
|
|
5803
|
+
},
|
|
5804
|
+
{
|
|
5805
|
+
name: 'amount1',
|
|
5806
|
+
internalType: 'int128',
|
|
5807
|
+
type: 'int128',
|
|
5808
|
+
indexed: false,
|
|
5809
|
+
},
|
|
5810
|
+
{ name: 'isCoinBuy', internalType: 'bool', type: 'bool', indexed: false },
|
|
5811
|
+
{
|
|
5812
|
+
name: 'hookData',
|
|
5813
|
+
internalType: 'bytes',
|
|
5814
|
+
type: 'bytes',
|
|
5815
|
+
indexed: false,
|
|
5816
|
+
},
|
|
5817
|
+
{
|
|
5818
|
+
name: 'sqrtPriceX96',
|
|
5819
|
+
internalType: 'uint160',
|
|
5820
|
+
type: 'uint160',
|
|
5821
|
+
indexed: false,
|
|
5822
|
+
},
|
|
5823
|
+
],
|
|
5824
|
+
name: 'Swapped',
|
|
5825
|
+
},
|
|
5826
|
+
{ type: 'error', inputs: [], name: 'CoinVersionLookupCannotBeZeroAddress' },
|
|
5827
|
+
{ type: 'error', inputs: [], name: 'EthTransferFailed' },
|
|
5828
|
+
{ type: 'error', inputs: [], name: 'HookNotImplemented' },
|
|
5829
|
+
{
|
|
5830
|
+
type: 'error',
|
|
5831
|
+
inputs: [{ name: 'callbackId', internalType: 'uint8', type: 'uint8' }],
|
|
5832
|
+
name: 'InvalidCallbackId',
|
|
5833
|
+
},
|
|
5834
|
+
{
|
|
5835
|
+
type: 'error',
|
|
5836
|
+
inputs: [{ name: 'newHook', internalType: 'address', type: 'address' }],
|
|
5837
|
+
name: 'InvalidNewHook',
|
|
5838
|
+
},
|
|
5839
|
+
{
|
|
5840
|
+
type: 'error',
|
|
5841
|
+
inputs: [
|
|
5842
|
+
{
|
|
5843
|
+
name: 'key',
|
|
5844
|
+
internalType: 'struct PoolKey',
|
|
5845
|
+
type: 'tuple',
|
|
5846
|
+
components: [
|
|
5847
|
+
{ name: 'currency0', internalType: 'Currency', type: 'address' },
|
|
5848
|
+
{ name: 'currency1', internalType: 'Currency', type: 'address' },
|
|
5849
|
+
{ name: 'fee', internalType: 'uint24', type: 'uint24' },
|
|
5850
|
+
{ name: 'tickSpacing', internalType: 'int24', type: 'int24' },
|
|
5851
|
+
{ name: 'hooks', internalType: 'contract IHooks', type: 'address' },
|
|
5852
|
+
],
|
|
5853
|
+
},
|
|
5854
|
+
],
|
|
5855
|
+
name: 'NoCoinForHook',
|
|
5856
|
+
},
|
|
5857
|
+
{
|
|
5858
|
+
type: 'error',
|
|
5859
|
+
inputs: [{ name: 'coin', internalType: 'address', type: 'address' }],
|
|
5860
|
+
name: 'NotACoin',
|
|
5861
|
+
},
|
|
5862
|
+
{ type: 'error', inputs: [], name: 'NotPoolManager' },
|
|
5863
|
+
{
|
|
5864
|
+
type: 'error',
|
|
5865
|
+
inputs: [
|
|
5866
|
+
{ name: 'caller', internalType: 'address', type: 'address' },
|
|
5867
|
+
{ name: 'expectedCoin', internalType: 'address', type: 'address' },
|
|
5868
|
+
],
|
|
5869
|
+
name: 'OnlyCoin',
|
|
5870
|
+
},
|
|
5871
|
+
{ type: 'error', inputs: [], name: 'PathMustHaveAtLeastOneStep' },
|
|
5872
|
+
{ type: 'error', inputs: [], name: 'SafeCastOverflow' },
|
|
5873
|
+
{
|
|
5874
|
+
type: 'error',
|
|
5875
|
+
inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
|
|
5876
|
+
name: 'SafeERC20FailedOperation',
|
|
5877
|
+
},
|
|
5878
|
+
{
|
|
5879
|
+
type: 'error',
|
|
5880
|
+
inputs: [],
|
|
5881
|
+
name: 'TrustedMsgSenderLookupCannotBeZeroAddress',
|
|
5882
|
+
},
|
|
5883
|
+
{ type: 'error', inputs: [], name: 'UpgradeGateCannotBeZeroAddress' },
|
|
5884
|
+
{
|
|
5885
|
+
type: 'error',
|
|
5886
|
+
inputs: [
|
|
5887
|
+
{ name: 'oldHook', internalType: 'address', type: 'address' },
|
|
5888
|
+
{ name: 'newHook', internalType: 'address', type: 'address' },
|
|
5889
|
+
],
|
|
5890
|
+
name: 'UpgradePathNotRegistered',
|
|
5891
|
+
},
|
|
5892
|
+
{ type: 'error', inputs: [], name: 'ZoraHookRegistryCannotBeZeroAddress' },
|
|
5893
|
+
{ type: 'error', inputs: [], name: 'ZoraLimitOrderBookCannotBeZeroAddress' },
|
|
5894
|
+
] as const
|