@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,163 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ISelfPermit",
4
+ "sourceName": "contracts/interfaces/ISelfPermit.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "token",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "value",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "deadline",
21
+ "type": "uint256"
22
+ },
23
+ {
24
+ "internalType": "uint8",
25
+ "name": "v",
26
+ "type": "uint8"
27
+ },
28
+ {
29
+ "internalType": "bytes32",
30
+ "name": "r",
31
+ "type": "bytes32"
32
+ },
33
+ {
34
+ "internalType": "bytes32",
35
+ "name": "s",
36
+ "type": "bytes32"
37
+ }
38
+ ],
39
+ "name": "selfPermit",
40
+ "outputs": [],
41
+ "stateMutability": "payable",
42
+ "type": "function"
43
+ },
44
+ {
45
+ "inputs": [
46
+ {
47
+ "internalType": "address",
48
+ "name": "token",
49
+ "type": "address"
50
+ },
51
+ {
52
+ "internalType": "uint256",
53
+ "name": "nonce",
54
+ "type": "uint256"
55
+ },
56
+ {
57
+ "internalType": "uint256",
58
+ "name": "expiry",
59
+ "type": "uint256"
60
+ },
61
+ {
62
+ "internalType": "uint8",
63
+ "name": "v",
64
+ "type": "uint8"
65
+ },
66
+ {
67
+ "internalType": "bytes32",
68
+ "name": "r",
69
+ "type": "bytes32"
70
+ },
71
+ {
72
+ "internalType": "bytes32",
73
+ "name": "s",
74
+ "type": "bytes32"
75
+ }
76
+ ],
77
+ "name": "selfPermitAllowed",
78
+ "outputs": [],
79
+ "stateMutability": "payable",
80
+ "type": "function"
81
+ },
82
+ {
83
+ "inputs": [
84
+ {
85
+ "internalType": "address",
86
+ "name": "token",
87
+ "type": "address"
88
+ },
89
+ {
90
+ "internalType": "uint256",
91
+ "name": "nonce",
92
+ "type": "uint256"
93
+ },
94
+ {
95
+ "internalType": "uint256",
96
+ "name": "expiry",
97
+ "type": "uint256"
98
+ },
99
+ {
100
+ "internalType": "uint8",
101
+ "name": "v",
102
+ "type": "uint8"
103
+ },
104
+ {
105
+ "internalType": "bytes32",
106
+ "name": "r",
107
+ "type": "bytes32"
108
+ },
109
+ {
110
+ "internalType": "bytes32",
111
+ "name": "s",
112
+ "type": "bytes32"
113
+ }
114
+ ],
115
+ "name": "selfPermitAllowedIfNecessary",
116
+ "outputs": [],
117
+ "stateMutability": "payable",
118
+ "type": "function"
119
+ },
120
+ {
121
+ "inputs": [
122
+ {
123
+ "internalType": "address",
124
+ "name": "token",
125
+ "type": "address"
126
+ },
127
+ {
128
+ "internalType": "uint256",
129
+ "name": "value",
130
+ "type": "uint256"
131
+ },
132
+ {
133
+ "internalType": "uint256",
134
+ "name": "deadline",
135
+ "type": "uint256"
136
+ },
137
+ {
138
+ "internalType": "uint8",
139
+ "name": "v",
140
+ "type": "uint8"
141
+ },
142
+ {
143
+ "internalType": "bytes32",
144
+ "name": "r",
145
+ "type": "bytes32"
146
+ },
147
+ {
148
+ "internalType": "bytes32",
149
+ "name": "s",
150
+ "type": "bytes32"
151
+ }
152
+ ],
153
+ "name": "selfPermitIfNecessary",
154
+ "outputs": [],
155
+ "stateMutability": "payable",
156
+ "type": "function"
157
+ }
158
+ ],
159
+ "bytecode": "0x",
160
+ "deployedBytecode": "0x",
161
+ "linkReferences": {},
162
+ "deployedLinkReferences": {}
163
+ }
@@ -0,0 +1,248 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ISwapRouter",
4
+ "sourceName": "contracts/interfaces/ISwapRouter.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "components": [
10
+ {
11
+ "internalType": "bytes",
12
+ "name": "path",
13
+ "type": "bytes"
14
+ },
15
+ {
16
+ "internalType": "address",
17
+ "name": "recipient",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "internalType": "uint256",
22
+ "name": "deadline",
23
+ "type": "uint256"
24
+ },
25
+ {
26
+ "internalType": "uint256",
27
+ "name": "amountIn",
28
+ "type": "uint256"
29
+ },
30
+ {
31
+ "internalType": "uint256",
32
+ "name": "amountOutMinimum",
33
+ "type": "uint256"
34
+ }
35
+ ],
36
+ "internalType": "struct ISwapRouter.ExactInputParams",
37
+ "name": "params",
38
+ "type": "tuple"
39
+ }
40
+ ],
41
+ "name": "exactInput",
42
+ "outputs": [
43
+ {
44
+ "internalType": "uint256",
45
+ "name": "amountOut",
46
+ "type": "uint256"
47
+ }
48
+ ],
49
+ "stateMutability": "payable",
50
+ "type": "function"
51
+ },
52
+ {
53
+ "inputs": [
54
+ {
55
+ "components": [
56
+ {
57
+ "internalType": "address",
58
+ "name": "tokenIn",
59
+ "type": "address"
60
+ },
61
+ {
62
+ "internalType": "address",
63
+ "name": "tokenOut",
64
+ "type": "address"
65
+ },
66
+ {
67
+ "internalType": "uint24",
68
+ "name": "fee",
69
+ "type": "uint24"
70
+ },
71
+ {
72
+ "internalType": "address",
73
+ "name": "recipient",
74
+ "type": "address"
75
+ },
76
+ {
77
+ "internalType": "uint256",
78
+ "name": "deadline",
79
+ "type": "uint256"
80
+ },
81
+ {
82
+ "internalType": "uint256",
83
+ "name": "amountIn",
84
+ "type": "uint256"
85
+ },
86
+ {
87
+ "internalType": "uint256",
88
+ "name": "amountOutMinimum",
89
+ "type": "uint256"
90
+ },
91
+ {
92
+ "internalType": "uint160",
93
+ "name": "sqrtPriceLimitX96",
94
+ "type": "uint160"
95
+ }
96
+ ],
97
+ "internalType": "struct ISwapRouter.ExactInputSingleParams",
98
+ "name": "params",
99
+ "type": "tuple"
100
+ }
101
+ ],
102
+ "name": "exactInputSingle",
103
+ "outputs": [
104
+ {
105
+ "internalType": "uint256",
106
+ "name": "amountOut",
107
+ "type": "uint256"
108
+ }
109
+ ],
110
+ "stateMutability": "payable",
111
+ "type": "function"
112
+ },
113
+ {
114
+ "inputs": [
115
+ {
116
+ "components": [
117
+ {
118
+ "internalType": "bytes",
119
+ "name": "path",
120
+ "type": "bytes"
121
+ },
122
+ {
123
+ "internalType": "address",
124
+ "name": "recipient",
125
+ "type": "address"
126
+ },
127
+ {
128
+ "internalType": "uint256",
129
+ "name": "deadline",
130
+ "type": "uint256"
131
+ },
132
+ {
133
+ "internalType": "uint256",
134
+ "name": "amountOut",
135
+ "type": "uint256"
136
+ },
137
+ {
138
+ "internalType": "uint256",
139
+ "name": "amountInMaximum",
140
+ "type": "uint256"
141
+ }
142
+ ],
143
+ "internalType": "struct ISwapRouter.ExactOutputParams",
144
+ "name": "params",
145
+ "type": "tuple"
146
+ }
147
+ ],
148
+ "name": "exactOutput",
149
+ "outputs": [
150
+ {
151
+ "internalType": "uint256",
152
+ "name": "amountIn",
153
+ "type": "uint256"
154
+ }
155
+ ],
156
+ "stateMutability": "payable",
157
+ "type": "function"
158
+ },
159
+ {
160
+ "inputs": [
161
+ {
162
+ "components": [
163
+ {
164
+ "internalType": "address",
165
+ "name": "tokenIn",
166
+ "type": "address"
167
+ },
168
+ {
169
+ "internalType": "address",
170
+ "name": "tokenOut",
171
+ "type": "address"
172
+ },
173
+ {
174
+ "internalType": "uint24",
175
+ "name": "fee",
176
+ "type": "uint24"
177
+ },
178
+ {
179
+ "internalType": "address",
180
+ "name": "recipient",
181
+ "type": "address"
182
+ },
183
+ {
184
+ "internalType": "uint256",
185
+ "name": "deadline",
186
+ "type": "uint256"
187
+ },
188
+ {
189
+ "internalType": "uint256",
190
+ "name": "amountOut",
191
+ "type": "uint256"
192
+ },
193
+ {
194
+ "internalType": "uint256",
195
+ "name": "amountInMaximum",
196
+ "type": "uint256"
197
+ },
198
+ {
199
+ "internalType": "uint160",
200
+ "name": "sqrtPriceLimitX96",
201
+ "type": "uint160"
202
+ }
203
+ ],
204
+ "internalType": "struct ISwapRouter.ExactOutputSingleParams",
205
+ "name": "params",
206
+ "type": "tuple"
207
+ }
208
+ ],
209
+ "name": "exactOutputSingle",
210
+ "outputs": [
211
+ {
212
+ "internalType": "uint256",
213
+ "name": "amountIn",
214
+ "type": "uint256"
215
+ }
216
+ ],
217
+ "stateMutability": "payable",
218
+ "type": "function"
219
+ },
220
+ {
221
+ "inputs": [
222
+ {
223
+ "internalType": "int256",
224
+ "name": "amount0Delta",
225
+ "type": "int256"
226
+ },
227
+ {
228
+ "internalType": "int256",
229
+ "name": "amount1Delta",
230
+ "type": "int256"
231
+ },
232
+ {
233
+ "internalType": "bytes",
234
+ "name": "data",
235
+ "type": "bytes"
236
+ }
237
+ ],
238
+ "name": "uniswapV3SwapCallback",
239
+ "outputs": [],
240
+ "stateMutability": "nonpayable",
241
+ "type": "function"
242
+ }
243
+ ],
244
+ "bytecode": "0x",
245
+ "deployedBytecode": "0x",
246
+ "linkReferences": {},
247
+ "deployedLinkReferences": {}
248
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ITickLens",
4
+ "sourceName": "contracts/interfaces/ITickLens.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "pool",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "int16",
15
+ "name": "tickBitmapIndex",
16
+ "type": "int16"
17
+ }
18
+ ],
19
+ "name": "getPopulatedTicksInWord",
20
+ "outputs": [
21
+ {
22
+ "components": [
23
+ {
24
+ "internalType": "int24",
25
+ "name": "tick",
26
+ "type": "int24"
27
+ },
28
+ {
29
+ "internalType": "int128",
30
+ "name": "liquidityNet",
31
+ "type": "int128"
32
+ },
33
+ {
34
+ "internalType": "uint128",
35
+ "name": "liquidityGross",
36
+ "type": "uint128"
37
+ }
38
+ ],
39
+ "internalType": "struct ITickLens.PopulatedTick[]",
40
+ "name": "populatedTicks",
41
+ "type": "tuple[]"
42
+ }
43
+ ],
44
+ "stateMutability": "view",
45
+ "type": "function"
46
+ }
47
+ ],
48
+ "bytecode": "0x",
49
+ "deployedBytecode": "0x",
50
+ "linkReferences": {},
51
+ "deployedLinkReferences": {}
52
+ }