@huuduynvc/v3-periphery 1.3.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 (88) hide show
  1. package/LICENSE +339 -0
  2. package/README.md +52 -0
  3. package/artifacts/contracts/NonfungiblePositionManager.sol/NonfungiblePositionManager.json +1230 -0
  4. package/artifacts/contracts/NonfungibleTokenPositionDescriptor.sol/NonfungibleTokenPositionDescriptor.json +161 -0
  5. package/artifacts/contracts/SwapRouter.sol/SwapRouter.json +574 -0
  6. package/artifacts/contracts/V3Migrator.sol/V3Migrator.json +360 -0
  7. package/artifacts/contracts/examples/PairFlash.sol/PairFlash.json +196 -0
  8. package/artifacts/contracts/interfaces/IERC20Metadata.sol/IERC20Metadata.json +233 -0
  9. package/artifacts/contracts/interfaces/IERC721Permit.sol/IERC721Permit.json +360 -0
  10. package/artifacts/contracts/interfaces/IMulticall.sol/IMulticall.json +30 -0
  11. package/artifacts/contracts/interfaces/INonfungiblePositionManager.sol/INonfungiblePositionManager.json +998 -0
  12. package/artifacts/contracts/interfaces/INonfungibleTokenPositionDescriptor.sol/INonfungibleTokenPositionDescriptor.json +35 -0
  13. package/artifacts/contracts/interfaces/IPeripheryImmutableState.sol/IPeripheryImmutableState.json +37 -0
  14. package/artifacts/contracts/interfaces/IPeripheryPayments.sol/IPeripheryPayments.json +59 -0
  15. package/artifacts/contracts/interfaces/IPeripheryPaymentsWithFee.sol/IPeripheryPaymentsWithFee.json +120 -0
  16. package/artifacts/contracts/interfaces/IPoolInitializer.sol/IPoolInitializer.json +45 -0
  17. package/artifacts/contracts/interfaces/IQuoter.sol/IQuoter.json +137 -0
  18. package/artifacts/contracts/interfaces/IQuoterV2.sol/IQuoterV2.json +211 -0
  19. package/artifacts/contracts/interfaces/ISelfPermit.sol/ISelfPermit.json +163 -0
  20. package/artifacts/contracts/interfaces/ISwapRouter.sol/ISwapRouter.json +248 -0
  21. package/artifacts/contracts/interfaces/ITickLens.sol/ITickLens.json +52 -0
  22. package/artifacts/contracts/interfaces/IV3Migrator.sol/IV3Migrator.json +296 -0
  23. package/artifacts/contracts/interfaces/external/IERC1271.sol/IERC1271.json +35 -0
  24. package/artifacts/contracts/interfaces/external/IERC20PermitAllowed.sol/IERC20PermitAllowed.json +59 -0
  25. package/artifacts/contracts/interfaces/external/IWETH9.sol/IWETH9.json +214 -0
  26. package/artifacts/contracts/lens/Quoter.sol/Quoter.json +202 -0
  27. package/artifacts/contracts/lens/QuoterV2.sol/QuoterV2.json +276 -0
  28. package/artifacts/contracts/lens/TickLens.sol/TickLens.json +52 -0
  29. package/artifacts/contracts/lens/UniswapInterfaceMulticall.sol/UniswapInterfaceMulticall.json +101 -0
  30. package/artifacts/contracts/libraries/BytesLib.sol/BytesLib.json +10 -0
  31. package/artifacts/contracts/libraries/CallbackValidation.sol/CallbackValidation.json +10 -0
  32. package/artifacts/contracts/libraries/ChainId.sol/ChainId.json +10 -0
  33. package/artifacts/contracts/libraries/HexStrings.sol/HexStrings.json +10 -0
  34. package/artifacts/contracts/libraries/LiquidityAmounts.sol/LiquidityAmounts.json +10 -0
  35. package/artifacts/contracts/libraries/NFTDescriptor.sol/NFTDescriptor.json +102 -0
  36. package/artifacts/contracts/libraries/NFTSVG.sol/NFTSVG.json +10 -0
  37. package/artifacts/contracts/libraries/OracleLibrary.sol/OracleLibrary.json +10 -0
  38. package/artifacts/contracts/libraries/Path.sol/Path.json +10 -0
  39. package/artifacts/contracts/libraries/PoolAddress.sol/PoolAddress.json +10 -0
  40. package/artifacts/contracts/libraries/PoolTicksCounter.sol/PoolTicksCounter.json +10 -0
  41. package/artifacts/contracts/libraries/PositionKey.sol/PositionKey.json +10 -0
  42. package/artifacts/contracts/libraries/PositionValue.sol/PositionValue.json +10 -0
  43. package/artifacts/contracts/libraries/TokenRatioSortOrder.sol/TokenRatioSortOrder.json +10 -0
  44. package/artifacts/contracts/libraries/TransferHelper.sol/TransferHelper.json +10 -0
  45. package/contracts/base/BlockTimestamp.sol +12 -0
  46. package/contracts/base/ERC721Permit.sol +86 -0
  47. package/contracts/base/LiquidityManagement.sol +90 -0
  48. package/contracts/base/Multicall.sol +28 -0
  49. package/contracts/base/PeripheryImmutableState.sol +18 -0
  50. package/contracts/base/PeripheryPayments.sol +70 -0
  51. package/contracts/base/PeripheryPaymentsWithFee.sol +55 -0
  52. package/contracts/base/PeripheryValidation.sol +11 -0
  53. package/contracts/base/PoolInitializer.sol +32 -0
  54. package/contracts/base/SelfPermit.sol +63 -0
  55. package/contracts/interfaces/IERC20Metadata.sol +18 -0
  56. package/contracts/interfaces/IERC721Permit.sol +32 -0
  57. package/contracts/interfaces/IMulticall.sol +13 -0
  58. package/contracts/interfaces/INonfungiblePositionManager.sol +180 -0
  59. package/contracts/interfaces/INonfungibleTokenPositionDescriptor.sol +17 -0
  60. package/contracts/interfaces/IPeripheryImmutableState.sol +12 -0
  61. package/contracts/interfaces/IPeripheryPayments.sol +28 -0
  62. package/contracts/interfaces/IPeripheryPaymentsWithFee.sol +29 -0
  63. package/contracts/interfaces/IPoolInitializer.sol +22 -0
  64. package/contracts/interfaces/IQuoter.sol +51 -0
  65. package/contracts/interfaces/IQuoterV2.sol +98 -0
  66. package/contracts/interfaces/ISelfPermit.sol +76 -0
  67. package/contracts/interfaces/ISwapRouter.sol +67 -0
  68. package/contracts/interfaces/ITickLens.sol +25 -0
  69. package/contracts/interfaces/IV3Migrator.sol +34 -0
  70. package/contracts/interfaces/external/IERC1271.sol +16 -0
  71. package/contracts/interfaces/external/IERC20PermitAllowed.sol +27 -0
  72. package/contracts/interfaces/external/IWETH9.sol +13 -0
  73. package/contracts/libraries/BytesLib.sol +101 -0
  74. package/contracts/libraries/CallbackValidation.sol +36 -0
  75. package/contracts/libraries/ChainId.sol +13 -0
  76. package/contracts/libraries/HexStrings.sol +29 -0
  77. package/contracts/libraries/LiquidityAmounts.sol +137 -0
  78. package/contracts/libraries/NFTDescriptor.sol +477 -0
  79. package/contracts/libraries/NFTSVG.sol +406 -0
  80. package/contracts/libraries/OracleLibrary.sol +161 -0
  81. package/contracts/libraries/Path.sol +69 -0
  82. package/contracts/libraries/PoolAddress.sol +48 -0
  83. package/contracts/libraries/PoolTicksCounter.sol +97 -0
  84. package/contracts/libraries/PositionKey.sol +13 -0
  85. package/contracts/libraries/PositionValue.sol +167 -0
  86. package/contracts/libraries/TokenRatioSortOrder.sol +12 -0
  87. package/contracts/libraries/TransferHelper.sol +60 -0
  88. package/package.json +68 -0
@@ -0,0 +1,35 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "INonfungibleTokenPositionDescriptor",
4
+ "sourceName": "contracts/interfaces/INonfungibleTokenPositionDescriptor.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract INonfungiblePositionManager",
10
+ "name": "positionManager",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "tokenId",
16
+ "type": "uint256"
17
+ }
18
+ ],
19
+ "name": "tokenURI",
20
+ "outputs": [
21
+ {
22
+ "internalType": "string",
23
+ "name": "",
24
+ "type": "string"
25
+ }
26
+ ],
27
+ "stateMutability": "view",
28
+ "type": "function"
29
+ }
30
+ ],
31
+ "bytecode": "0x",
32
+ "deployedBytecode": "0x",
33
+ "linkReferences": {},
34
+ "deployedLinkReferences": {}
35
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IPeripheryImmutableState",
4
+ "sourceName": "contracts/interfaces/IPeripheryImmutableState.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "WETH9",
9
+ "outputs": [
10
+ {
11
+ "internalType": "address",
12
+ "name": "",
13
+ "type": "address"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [],
21
+ "name": "factory",
22
+ "outputs": [
23
+ {
24
+ "internalType": "address",
25
+ "name": "",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "stateMutability": "view",
30
+ "type": "function"
31
+ }
32
+ ],
33
+ "bytecode": "0x",
34
+ "deployedBytecode": "0x",
35
+ "linkReferences": {},
36
+ "deployedLinkReferences": {}
37
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IPeripheryPayments",
4
+ "sourceName": "contracts/interfaces/IPeripheryPayments.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "refundETH",
9
+ "outputs": [],
10
+ "stateMutability": "payable",
11
+ "type": "function"
12
+ },
13
+ {
14
+ "inputs": [
15
+ {
16
+ "internalType": "address",
17
+ "name": "token",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "internalType": "uint256",
22
+ "name": "amountMinimum",
23
+ "type": "uint256"
24
+ },
25
+ {
26
+ "internalType": "address",
27
+ "name": "recipient",
28
+ "type": "address"
29
+ }
30
+ ],
31
+ "name": "sweepToken",
32
+ "outputs": [],
33
+ "stateMutability": "payable",
34
+ "type": "function"
35
+ },
36
+ {
37
+ "inputs": [
38
+ {
39
+ "internalType": "uint256",
40
+ "name": "amountMinimum",
41
+ "type": "uint256"
42
+ },
43
+ {
44
+ "internalType": "address",
45
+ "name": "recipient",
46
+ "type": "address"
47
+ }
48
+ ],
49
+ "name": "unwrapWETH9",
50
+ "outputs": [],
51
+ "stateMutability": "payable",
52
+ "type": "function"
53
+ }
54
+ ],
55
+ "bytecode": "0x",
56
+ "deployedBytecode": "0x",
57
+ "linkReferences": {},
58
+ "deployedLinkReferences": {}
59
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IPeripheryPaymentsWithFee",
4
+ "sourceName": "contracts/interfaces/IPeripheryPaymentsWithFee.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "refundETH",
9
+ "outputs": [],
10
+ "stateMutability": "payable",
11
+ "type": "function"
12
+ },
13
+ {
14
+ "inputs": [
15
+ {
16
+ "internalType": "address",
17
+ "name": "token",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "internalType": "uint256",
22
+ "name": "amountMinimum",
23
+ "type": "uint256"
24
+ },
25
+ {
26
+ "internalType": "address",
27
+ "name": "recipient",
28
+ "type": "address"
29
+ }
30
+ ],
31
+ "name": "sweepToken",
32
+ "outputs": [],
33
+ "stateMutability": "payable",
34
+ "type": "function"
35
+ },
36
+ {
37
+ "inputs": [
38
+ {
39
+ "internalType": "address",
40
+ "name": "token",
41
+ "type": "address"
42
+ },
43
+ {
44
+ "internalType": "uint256",
45
+ "name": "amountMinimum",
46
+ "type": "uint256"
47
+ },
48
+ {
49
+ "internalType": "address",
50
+ "name": "recipient",
51
+ "type": "address"
52
+ },
53
+ {
54
+ "internalType": "uint256",
55
+ "name": "feeBips",
56
+ "type": "uint256"
57
+ },
58
+ {
59
+ "internalType": "address",
60
+ "name": "feeRecipient",
61
+ "type": "address"
62
+ }
63
+ ],
64
+ "name": "sweepTokenWithFee",
65
+ "outputs": [],
66
+ "stateMutability": "payable",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "inputs": [
71
+ {
72
+ "internalType": "uint256",
73
+ "name": "amountMinimum",
74
+ "type": "uint256"
75
+ },
76
+ {
77
+ "internalType": "address",
78
+ "name": "recipient",
79
+ "type": "address"
80
+ }
81
+ ],
82
+ "name": "unwrapWETH9",
83
+ "outputs": [],
84
+ "stateMutability": "payable",
85
+ "type": "function"
86
+ },
87
+ {
88
+ "inputs": [
89
+ {
90
+ "internalType": "uint256",
91
+ "name": "amountMinimum",
92
+ "type": "uint256"
93
+ },
94
+ {
95
+ "internalType": "address",
96
+ "name": "recipient",
97
+ "type": "address"
98
+ },
99
+ {
100
+ "internalType": "uint256",
101
+ "name": "feeBips",
102
+ "type": "uint256"
103
+ },
104
+ {
105
+ "internalType": "address",
106
+ "name": "feeRecipient",
107
+ "type": "address"
108
+ }
109
+ ],
110
+ "name": "unwrapWETH9WithFee",
111
+ "outputs": [],
112
+ "stateMutability": "payable",
113
+ "type": "function"
114
+ }
115
+ ],
116
+ "bytecode": "0x",
117
+ "deployedBytecode": "0x",
118
+ "linkReferences": {},
119
+ "deployedLinkReferences": {}
120
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IPoolInitializer",
4
+ "sourceName": "contracts/interfaces/IPoolInitializer.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "token0",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "token1",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "uint24",
20
+ "name": "fee",
21
+ "type": "uint24"
22
+ },
23
+ {
24
+ "internalType": "uint160",
25
+ "name": "sqrtPriceX96",
26
+ "type": "uint160"
27
+ }
28
+ ],
29
+ "name": "createAndInitializePoolIfNecessary",
30
+ "outputs": [
31
+ {
32
+ "internalType": "address",
33
+ "name": "pool",
34
+ "type": "address"
35
+ }
36
+ ],
37
+ "stateMutability": "payable",
38
+ "type": "function"
39
+ }
40
+ ],
41
+ "bytecode": "0x",
42
+ "deployedBytecode": "0x",
43
+ "linkReferences": {},
44
+ "deployedLinkReferences": {}
45
+ }
@@ -0,0 +1,137 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IQuoter",
4
+ "sourceName": "contracts/interfaces/IQuoter.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "bytes",
10
+ "name": "path",
11
+ "type": "bytes"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "amountIn",
16
+ "type": "uint256"
17
+ }
18
+ ],
19
+ "name": "quoteExactInput",
20
+ "outputs": [
21
+ {
22
+ "internalType": "uint256",
23
+ "name": "amountOut",
24
+ "type": "uint256"
25
+ }
26
+ ],
27
+ "stateMutability": "nonpayable",
28
+ "type": "function"
29
+ },
30
+ {
31
+ "inputs": [
32
+ {
33
+ "internalType": "address",
34
+ "name": "tokenIn",
35
+ "type": "address"
36
+ },
37
+ {
38
+ "internalType": "address",
39
+ "name": "tokenOut",
40
+ "type": "address"
41
+ },
42
+ {
43
+ "internalType": "uint24",
44
+ "name": "fee",
45
+ "type": "uint24"
46
+ },
47
+ {
48
+ "internalType": "uint256",
49
+ "name": "amountIn",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "internalType": "uint160",
54
+ "name": "sqrtPriceLimitX96",
55
+ "type": "uint160"
56
+ }
57
+ ],
58
+ "name": "quoteExactInputSingle",
59
+ "outputs": [
60
+ {
61
+ "internalType": "uint256",
62
+ "name": "amountOut",
63
+ "type": "uint256"
64
+ }
65
+ ],
66
+ "stateMutability": "nonpayable",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "inputs": [
71
+ {
72
+ "internalType": "bytes",
73
+ "name": "path",
74
+ "type": "bytes"
75
+ },
76
+ {
77
+ "internalType": "uint256",
78
+ "name": "amountOut",
79
+ "type": "uint256"
80
+ }
81
+ ],
82
+ "name": "quoteExactOutput",
83
+ "outputs": [
84
+ {
85
+ "internalType": "uint256",
86
+ "name": "amountIn",
87
+ "type": "uint256"
88
+ }
89
+ ],
90
+ "stateMutability": "nonpayable",
91
+ "type": "function"
92
+ },
93
+ {
94
+ "inputs": [
95
+ {
96
+ "internalType": "address",
97
+ "name": "tokenIn",
98
+ "type": "address"
99
+ },
100
+ {
101
+ "internalType": "address",
102
+ "name": "tokenOut",
103
+ "type": "address"
104
+ },
105
+ {
106
+ "internalType": "uint24",
107
+ "name": "fee",
108
+ "type": "uint24"
109
+ },
110
+ {
111
+ "internalType": "uint256",
112
+ "name": "amountOut",
113
+ "type": "uint256"
114
+ },
115
+ {
116
+ "internalType": "uint160",
117
+ "name": "sqrtPriceLimitX96",
118
+ "type": "uint160"
119
+ }
120
+ ],
121
+ "name": "quoteExactOutputSingle",
122
+ "outputs": [
123
+ {
124
+ "internalType": "uint256",
125
+ "name": "amountIn",
126
+ "type": "uint256"
127
+ }
128
+ ],
129
+ "stateMutability": "nonpayable",
130
+ "type": "function"
131
+ }
132
+ ],
133
+ "bytecode": "0x",
134
+ "deployedBytecode": "0x",
135
+ "linkReferences": {},
136
+ "deployedLinkReferences": {}
137
+ }
@@ -0,0 +1,211 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IQuoterV2",
4
+ "sourceName": "contracts/interfaces/IQuoterV2.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "bytes",
10
+ "name": "path",
11
+ "type": "bytes"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "amountIn",
16
+ "type": "uint256"
17
+ }
18
+ ],
19
+ "name": "quoteExactInput",
20
+ "outputs": [
21
+ {
22
+ "internalType": "uint256",
23
+ "name": "amountOut",
24
+ "type": "uint256"
25
+ },
26
+ {
27
+ "internalType": "uint160[]",
28
+ "name": "sqrtPriceX96AfterList",
29
+ "type": "uint160[]"
30
+ },
31
+ {
32
+ "internalType": "uint32[]",
33
+ "name": "initializedTicksCrossedList",
34
+ "type": "uint32[]"
35
+ },
36
+ {
37
+ "internalType": "uint256",
38
+ "name": "gasEstimate",
39
+ "type": "uint256"
40
+ }
41
+ ],
42
+ "stateMutability": "nonpayable",
43
+ "type": "function"
44
+ },
45
+ {
46
+ "inputs": [
47
+ {
48
+ "components": [
49
+ {
50
+ "internalType": "address",
51
+ "name": "tokenIn",
52
+ "type": "address"
53
+ },
54
+ {
55
+ "internalType": "address",
56
+ "name": "tokenOut",
57
+ "type": "address"
58
+ },
59
+ {
60
+ "internalType": "uint256",
61
+ "name": "amountIn",
62
+ "type": "uint256"
63
+ },
64
+ {
65
+ "internalType": "uint24",
66
+ "name": "fee",
67
+ "type": "uint24"
68
+ },
69
+ {
70
+ "internalType": "uint160",
71
+ "name": "sqrtPriceLimitX96",
72
+ "type": "uint160"
73
+ }
74
+ ],
75
+ "internalType": "struct IQuoterV2.QuoteExactInputSingleParams",
76
+ "name": "params",
77
+ "type": "tuple"
78
+ }
79
+ ],
80
+ "name": "quoteExactInputSingle",
81
+ "outputs": [
82
+ {
83
+ "internalType": "uint256",
84
+ "name": "amountOut",
85
+ "type": "uint256"
86
+ },
87
+ {
88
+ "internalType": "uint160",
89
+ "name": "sqrtPriceX96After",
90
+ "type": "uint160"
91
+ },
92
+ {
93
+ "internalType": "uint32",
94
+ "name": "initializedTicksCrossed",
95
+ "type": "uint32"
96
+ },
97
+ {
98
+ "internalType": "uint256",
99
+ "name": "gasEstimate",
100
+ "type": "uint256"
101
+ }
102
+ ],
103
+ "stateMutability": "nonpayable",
104
+ "type": "function"
105
+ },
106
+ {
107
+ "inputs": [
108
+ {
109
+ "internalType": "bytes",
110
+ "name": "path",
111
+ "type": "bytes"
112
+ },
113
+ {
114
+ "internalType": "uint256",
115
+ "name": "amountOut",
116
+ "type": "uint256"
117
+ }
118
+ ],
119
+ "name": "quoteExactOutput",
120
+ "outputs": [
121
+ {
122
+ "internalType": "uint256",
123
+ "name": "amountIn",
124
+ "type": "uint256"
125
+ },
126
+ {
127
+ "internalType": "uint160[]",
128
+ "name": "sqrtPriceX96AfterList",
129
+ "type": "uint160[]"
130
+ },
131
+ {
132
+ "internalType": "uint32[]",
133
+ "name": "initializedTicksCrossedList",
134
+ "type": "uint32[]"
135
+ },
136
+ {
137
+ "internalType": "uint256",
138
+ "name": "gasEstimate",
139
+ "type": "uint256"
140
+ }
141
+ ],
142
+ "stateMutability": "nonpayable",
143
+ "type": "function"
144
+ },
145
+ {
146
+ "inputs": [
147
+ {
148
+ "components": [
149
+ {
150
+ "internalType": "address",
151
+ "name": "tokenIn",
152
+ "type": "address"
153
+ },
154
+ {
155
+ "internalType": "address",
156
+ "name": "tokenOut",
157
+ "type": "address"
158
+ },
159
+ {
160
+ "internalType": "uint256",
161
+ "name": "amount",
162
+ "type": "uint256"
163
+ },
164
+ {
165
+ "internalType": "uint24",
166
+ "name": "fee",
167
+ "type": "uint24"
168
+ },
169
+ {
170
+ "internalType": "uint160",
171
+ "name": "sqrtPriceLimitX96",
172
+ "type": "uint160"
173
+ }
174
+ ],
175
+ "internalType": "struct IQuoterV2.QuoteExactOutputSingleParams",
176
+ "name": "params",
177
+ "type": "tuple"
178
+ }
179
+ ],
180
+ "name": "quoteExactOutputSingle",
181
+ "outputs": [
182
+ {
183
+ "internalType": "uint256",
184
+ "name": "amountIn",
185
+ "type": "uint256"
186
+ },
187
+ {
188
+ "internalType": "uint160",
189
+ "name": "sqrtPriceX96After",
190
+ "type": "uint160"
191
+ },
192
+ {
193
+ "internalType": "uint32",
194
+ "name": "initializedTicksCrossed",
195
+ "type": "uint32"
196
+ },
197
+ {
198
+ "internalType": "uint256",
199
+ "name": "gasEstimate",
200
+ "type": "uint256"
201
+ }
202
+ ],
203
+ "stateMutability": "nonpayable",
204
+ "type": "function"
205
+ }
206
+ ],
207
+ "bytecode": "0x",
208
+ "deployedBytecode": "0x",
209
+ "linkReferences": {},
210
+ "deployedLinkReferences": {}
211
+ }