@rabby-wallet/staking-sdk 0.1.0-alpha.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 (134) hide show
  1. package/README.md +25 -0
  2. package/dist/addresses/deployments.d.ts +200 -0
  3. package/dist/addresses/deployments.d.ts.map +1 -0
  4. package/dist/addresses/deployments.js +223 -0
  5. package/dist/addresses/deployments.js.map +1 -0
  6. package/dist/addresses/erc4626.d.ts +74 -0
  7. package/dist/addresses/erc4626.d.ts.map +1 -0
  8. package/dist/addresses/erc4626.js +83 -0
  9. package/dist/addresses/erc4626.js.map +1 -0
  10. package/dist/addresses/index.d.ts +78 -0
  11. package/dist/addresses/index.d.ts.map +1 -0
  12. package/dist/addresses/index.js +13 -0
  13. package/dist/addresses/index.js.map +1 -0
  14. package/dist/addresses/univ2.d.ts +2 -0
  15. package/dist/addresses/univ2.d.ts.map +1 -0
  16. package/dist/addresses/univ2.js +2 -0
  17. package/dist/addresses/univ2.js.map +1 -0
  18. package/dist/addresses/univ3.d.ts +2 -0
  19. package/dist/addresses/univ3.d.ts.map +1 -0
  20. package/dist/addresses/univ3.js +2 -0
  21. package/dist/addresses/univ3.js.map +1 -0
  22. package/dist/core/abi/erc20.d.ts +13 -0
  23. package/dist/core/abi/erc20.d.ts.map +1 -0
  24. package/dist/core/abi/erc20.js +15 -0
  25. package/dist/core/abi/erc20.js.map +1 -0
  26. package/dist/core/abi/erc4626.d.ts +194 -0
  27. package/dist/core/abi/erc4626.d.ts.map +1 -0
  28. package/dist/core/abi/erc4626.js +191 -0
  29. package/dist/core/abi/erc4626.js.map +1 -0
  30. package/dist/core/abi/univ2.d.ts +181 -0
  31. package/dist/core/abi/univ2.d.ts.map +1 -0
  32. package/dist/core/abi/univ2.js +161 -0
  33. package/dist/core/abi/univ2.js.map +1 -0
  34. package/dist/core/abi/univ3.d.ts +369 -0
  35. package/dist/core/abi/univ3.d.ts.map +1 -0
  36. package/dist/core/abi/univ3.js +319 -0
  37. package/dist/core/abi/univ3.js.map +1 -0
  38. package/dist/core/chains.d.ts +3 -0
  39. package/dist/core/chains.d.ts.map +1 -0
  40. package/dist/core/chains.js +19 -0
  41. package/dist/core/chains.js.map +1 -0
  42. package/dist/core/errors.d.ts +30 -0
  43. package/dist/core/errors.d.ts.map +1 -0
  44. package/dist/core/errors.js +49 -0
  45. package/dist/core/errors.js.map +1 -0
  46. package/dist/core/read/erc20.d.ts +7 -0
  47. package/dist/core/read/erc20.d.ts.map +1 -0
  48. package/dist/core/read/erc20.js +7 -0
  49. package/dist/core/read/erc20.js.map +1 -0
  50. package/dist/core/types.d.ts +172 -0
  51. package/dist/core/types.d.ts.map +1 -0
  52. package/dist/core/types.js +2 -0
  53. package/dist/core/types.js.map +1 -0
  54. package/dist/core/utils/abi.d.ts +9 -0
  55. package/dist/core/utils/abi.d.ts.map +1 -0
  56. package/dist/core/utils/abi.js +70 -0
  57. package/dist/core/utils/abi.js.map +1 -0
  58. package/dist/core/utils/address.d.ts +7 -0
  59. package/dist/core/utils/address.d.ts.map +1 -0
  60. package/dist/core/utils/address.js +17 -0
  61. package/dist/core/utils/address.js.map +1 -0
  62. package/dist/core/validation/allowlist.d.ts +18 -0
  63. package/dist/core/validation/allowlist.d.ts.map +1 -0
  64. package/dist/core/validation/allowlist.js +42 -0
  65. package/dist/core/validation/allowlist.js.map +1 -0
  66. package/dist/core/validation/deployments.d.ts +16 -0
  67. package/dist/core/validation/deployments.d.ts.map +1 -0
  68. package/dist/core/validation/deployments.js +65 -0
  69. package/dist/core/validation/deployments.js.map +1 -0
  70. package/dist/index.d.ts +17 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +17 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/protocols/erc4626/builders.d.ts +23 -0
  75. package/dist/protocols/erc4626/builders.d.ts.map +1 -0
  76. package/dist/protocols/erc4626/builders.js +94 -0
  77. package/dist/protocols/erc4626/builders.js.map +1 -0
  78. package/dist/protocols/erc4626/index.d.ts +3 -0
  79. package/dist/protocols/erc4626/index.d.ts.map +1 -0
  80. package/dist/protocols/erc4626/index.js +3 -0
  81. package/dist/protocols/erc4626/index.js.map +1 -0
  82. package/dist/protocols/erc4626/read.d.ts +17 -0
  83. package/dist/protocols/erc4626/read.d.ts.map +1 -0
  84. package/dist/protocols/erc4626/read.js +46 -0
  85. package/dist/protocols/erc4626/read.js.map +1 -0
  86. package/dist/protocols/univ2/builders.d.ts +24 -0
  87. package/dist/protocols/univ2/builders.d.ts.map +1 -0
  88. package/dist/protocols/univ2/builders.js +94 -0
  89. package/dist/protocols/univ2/builders.js.map +1 -0
  90. package/dist/protocols/univ2/index.d.ts +5 -0
  91. package/dist/protocols/univ2/index.d.ts.map +1 -0
  92. package/dist/protocols/univ2/index.js +5 -0
  93. package/dist/protocols/univ2/index.js.map +1 -0
  94. package/dist/protocols/univ2/math.d.ts +24 -0
  95. package/dist/protocols/univ2/math.d.ts.map +1 -0
  96. package/dist/protocols/univ2/math.js +70 -0
  97. package/dist/protocols/univ2/math.js.map +1 -0
  98. package/dist/protocols/univ2/read.d.ts +22 -0
  99. package/dist/protocols/univ2/read.d.ts.map +1 -0
  100. package/dist/protocols/univ2/read.js +52 -0
  101. package/dist/protocols/univ2/read.js.map +1 -0
  102. package/dist/protocols/univ2/resolve.d.ts +34 -0
  103. package/dist/protocols/univ2/resolve.d.ts.map +1 -0
  104. package/dist/protocols/univ2/resolve.js +130 -0
  105. package/dist/protocols/univ2/resolve.js.map +1 -0
  106. package/dist/protocols/univ3/builders.d.ts +56 -0
  107. package/dist/protocols/univ3/builders.d.ts.map +1 -0
  108. package/dist/protocols/univ3/builders.js +197 -0
  109. package/dist/protocols/univ3/builders.js.map +1 -0
  110. package/dist/protocols/univ3/index.d.ts +7 -0
  111. package/dist/protocols/univ3/index.d.ts.map +1 -0
  112. package/dist/protocols/univ3/index.js +7 -0
  113. package/dist/protocols/univ3/index.js.map +1 -0
  114. package/dist/protocols/univ3/math.d.ts +45 -0
  115. package/dist/protocols/univ3/math.d.ts.map +1 -0
  116. package/dist/protocols/univ3/math.js +219 -0
  117. package/dist/protocols/univ3/math.js.map +1 -0
  118. package/dist/protocols/univ3/quote.d.ts +117 -0
  119. package/dist/protocols/univ3/quote.d.ts.map +1 -0
  120. package/dist/protocols/univ3/quote.js +315 -0
  121. package/dist/protocols/univ3/quote.js.map +1 -0
  122. package/dist/protocols/univ3/read.d.ts +28 -0
  123. package/dist/protocols/univ3/read.d.ts.map +1 -0
  124. package/dist/protocols/univ3/read.js +73 -0
  125. package/dist/protocols/univ3/read.js.map +1 -0
  126. package/dist/protocols/univ3/resolve.d.ts +38 -0
  127. package/dist/protocols/univ3/resolve.d.ts.map +1 -0
  128. package/dist/protocols/univ3/resolve.js +166 -0
  129. package/dist/protocols/univ3/resolve.js.map +1 -0
  130. package/dist/protocols/univ3/ticks.d.ts +15 -0
  131. package/dist/protocols/univ3/ticks.d.ts.map +1 -0
  132. package/dist/protocols/univ3/ticks.js +61 -0
  133. package/dist/protocols/univ3/ticks.js.map +1 -0
  134. package/package.json +49 -0
@@ -0,0 +1,369 @@
1
+ import type { Hex } from '../types.js';
2
+ export declare const UNIV3_FACTORY_ABI: readonly [{
3
+ readonly type: "function";
4
+ readonly name: "getPool";
5
+ readonly stateMutability: "view";
6
+ readonly inputs: readonly [{
7
+ readonly name: "tokenA";
8
+ readonly type: "address";
9
+ }, {
10
+ readonly name: "tokenB";
11
+ readonly type: "address";
12
+ }, {
13
+ readonly name: "fee";
14
+ readonly type: "uint24";
15
+ }];
16
+ readonly outputs: readonly [{
17
+ readonly name: "pool";
18
+ readonly type: "address";
19
+ }];
20
+ }];
21
+ export declare const UNIV3_POOL_ABI: readonly [{
22
+ readonly type: "function";
23
+ readonly name: "factory";
24
+ readonly stateMutability: "view";
25
+ readonly inputs: readonly [];
26
+ readonly outputs: readonly [{
27
+ readonly name: "factory";
28
+ readonly type: "address";
29
+ }];
30
+ }, {
31
+ readonly type: "function";
32
+ readonly name: "token0";
33
+ readonly stateMutability: "view";
34
+ readonly inputs: readonly [];
35
+ readonly outputs: readonly [{
36
+ readonly name: "token0";
37
+ readonly type: "address";
38
+ }];
39
+ }, {
40
+ readonly type: "function";
41
+ readonly name: "token1";
42
+ readonly stateMutability: "view";
43
+ readonly inputs: readonly [];
44
+ readonly outputs: readonly [{
45
+ readonly name: "token1";
46
+ readonly type: "address";
47
+ }];
48
+ }, {
49
+ readonly type: "function";
50
+ readonly name: "fee";
51
+ readonly stateMutability: "view";
52
+ readonly inputs: readonly [];
53
+ readonly outputs: readonly [{
54
+ readonly name: "fee";
55
+ readonly type: "uint24";
56
+ }];
57
+ }, {
58
+ readonly type: "function";
59
+ readonly name: "tickSpacing";
60
+ readonly stateMutability: "view";
61
+ readonly inputs: readonly [];
62
+ readonly outputs: readonly [{
63
+ readonly name: "tickSpacing";
64
+ readonly type: "int24";
65
+ }];
66
+ }, {
67
+ readonly type: "function";
68
+ readonly name: "liquidity";
69
+ readonly stateMutability: "view";
70
+ readonly inputs: readonly [];
71
+ readonly outputs: readonly [{
72
+ readonly name: "liquidity";
73
+ readonly type: "uint128";
74
+ }];
75
+ }, {
76
+ readonly type: "function";
77
+ readonly name: "slot0";
78
+ readonly stateMutability: "view";
79
+ readonly inputs: readonly [];
80
+ readonly outputs: readonly [{
81
+ readonly name: "sqrtPriceX96";
82
+ readonly type: "uint160";
83
+ }, {
84
+ readonly name: "tick";
85
+ readonly type: "int24";
86
+ }, {
87
+ readonly name: "observationIndex";
88
+ readonly type: "uint16";
89
+ }, {
90
+ readonly name: "observationCardinality";
91
+ readonly type: "uint16";
92
+ }, {
93
+ readonly name: "observationCardinalityNext";
94
+ readonly type: "uint16";
95
+ }, {
96
+ readonly name: "feeProtocol";
97
+ readonly type: "uint8";
98
+ }, {
99
+ readonly name: "unlocked";
100
+ readonly type: "bool";
101
+ }];
102
+ }];
103
+ export declare const UNIV3_NPM_ABI: readonly [{
104
+ readonly type: "function";
105
+ readonly name: "positions";
106
+ readonly stateMutability: "view";
107
+ readonly inputs: readonly [{
108
+ readonly name: "tokenId";
109
+ readonly type: "uint256";
110
+ }];
111
+ readonly outputs: readonly [{
112
+ readonly name: "nonce";
113
+ readonly type: "uint96";
114
+ }, {
115
+ readonly name: "operator";
116
+ readonly type: "address";
117
+ }, {
118
+ readonly name: "token0";
119
+ readonly type: "address";
120
+ }, {
121
+ readonly name: "token1";
122
+ readonly type: "address";
123
+ }, {
124
+ readonly name: "fee";
125
+ readonly type: "uint24";
126
+ }, {
127
+ readonly name: "tickLower";
128
+ readonly type: "int24";
129
+ }, {
130
+ readonly name: "tickUpper";
131
+ readonly type: "int24";
132
+ }, {
133
+ readonly name: "liquidity";
134
+ readonly type: "uint128";
135
+ }, {
136
+ readonly name: "feeGrowthInside0LastX128";
137
+ readonly type: "uint256";
138
+ }, {
139
+ readonly name: "feeGrowthInside1LastX128";
140
+ readonly type: "uint256";
141
+ }, {
142
+ readonly name: "tokensOwed0";
143
+ readonly type: "uint128";
144
+ }, {
145
+ readonly name: "tokensOwed1";
146
+ readonly type: "uint128";
147
+ }];
148
+ }, {
149
+ readonly type: "function";
150
+ readonly name: "ownerOf";
151
+ readonly stateMutability: "view";
152
+ readonly inputs: readonly [{
153
+ readonly name: "tokenId";
154
+ readonly type: "uint256";
155
+ }];
156
+ readonly outputs: readonly [{
157
+ readonly name: "owner";
158
+ readonly type: "address";
159
+ }];
160
+ }, {
161
+ readonly type: "function";
162
+ readonly name: "mint";
163
+ readonly stateMutability: "payable";
164
+ readonly inputs: readonly [{
165
+ readonly name: "params";
166
+ readonly type: "tuple";
167
+ readonly components: readonly [{
168
+ readonly name: "token0";
169
+ readonly type: "address";
170
+ }, {
171
+ readonly name: "token1";
172
+ readonly type: "address";
173
+ }, {
174
+ readonly name: "fee";
175
+ readonly type: "uint24";
176
+ }, {
177
+ readonly name: "tickLower";
178
+ readonly type: "int24";
179
+ }, {
180
+ readonly name: "tickUpper";
181
+ readonly type: "int24";
182
+ }, {
183
+ readonly name: "amount0Desired";
184
+ readonly type: "uint256";
185
+ }, {
186
+ readonly name: "amount1Desired";
187
+ readonly type: "uint256";
188
+ }, {
189
+ readonly name: "amount0Min";
190
+ readonly type: "uint256";
191
+ }, {
192
+ readonly name: "amount1Min";
193
+ readonly type: "uint256";
194
+ }, {
195
+ readonly name: "recipient";
196
+ readonly type: "address";
197
+ }, {
198
+ readonly name: "deadline";
199
+ readonly type: "uint256";
200
+ }];
201
+ }];
202
+ readonly outputs: readonly [{
203
+ readonly name: "tokenId";
204
+ readonly type: "uint256";
205
+ }, {
206
+ readonly name: "liquidity";
207
+ readonly type: "uint128";
208
+ }, {
209
+ readonly name: "amount0";
210
+ readonly type: "uint256";
211
+ }, {
212
+ readonly name: "amount1";
213
+ readonly type: "uint256";
214
+ }];
215
+ }, {
216
+ readonly type: "function";
217
+ readonly name: "increaseLiquidity";
218
+ readonly stateMutability: "payable";
219
+ readonly inputs: readonly [{
220
+ readonly name: "params";
221
+ readonly type: "tuple";
222
+ readonly components: readonly [{
223
+ readonly name: "tokenId";
224
+ readonly type: "uint256";
225
+ }, {
226
+ readonly name: "amount0Desired";
227
+ readonly type: "uint256";
228
+ }, {
229
+ readonly name: "amount1Desired";
230
+ readonly type: "uint256";
231
+ }, {
232
+ readonly name: "amount0Min";
233
+ readonly type: "uint256";
234
+ }, {
235
+ readonly name: "amount1Min";
236
+ readonly type: "uint256";
237
+ }, {
238
+ readonly name: "deadline";
239
+ readonly type: "uint256";
240
+ }];
241
+ }];
242
+ readonly outputs: readonly [{
243
+ readonly name: "liquidity";
244
+ readonly type: "uint128";
245
+ }, {
246
+ readonly name: "amount0";
247
+ readonly type: "uint256";
248
+ }, {
249
+ readonly name: "amount1";
250
+ readonly type: "uint256";
251
+ }];
252
+ }, {
253
+ readonly type: "function";
254
+ readonly name: "decreaseLiquidity";
255
+ readonly stateMutability: "payable";
256
+ readonly inputs: readonly [{
257
+ readonly name: "params";
258
+ readonly type: "tuple";
259
+ readonly components: readonly [{
260
+ readonly name: "tokenId";
261
+ readonly type: "uint256";
262
+ }, {
263
+ readonly name: "liquidity";
264
+ readonly type: "uint128";
265
+ }, {
266
+ readonly name: "amount0Min";
267
+ readonly type: "uint256";
268
+ }, {
269
+ readonly name: "amount1Min";
270
+ readonly type: "uint256";
271
+ }, {
272
+ readonly name: "deadline";
273
+ readonly type: "uint256";
274
+ }];
275
+ }];
276
+ readonly outputs: readonly [{
277
+ readonly name: "amount0";
278
+ readonly type: "uint256";
279
+ }, {
280
+ readonly name: "amount1";
281
+ readonly type: "uint256";
282
+ }];
283
+ }, {
284
+ readonly type: "function";
285
+ readonly name: "collect";
286
+ readonly stateMutability: "payable";
287
+ readonly inputs: readonly [{
288
+ readonly name: "params";
289
+ readonly type: "tuple";
290
+ readonly components: readonly [{
291
+ readonly name: "tokenId";
292
+ readonly type: "uint256";
293
+ }, {
294
+ readonly name: "recipient";
295
+ readonly type: "address";
296
+ }, {
297
+ readonly name: "amount0Max";
298
+ readonly type: "uint128";
299
+ }, {
300
+ readonly name: "amount1Max";
301
+ readonly type: "uint128";
302
+ }];
303
+ }];
304
+ readonly outputs: readonly [{
305
+ readonly name: "amount0";
306
+ readonly type: "uint256";
307
+ }, {
308
+ readonly name: "amount1";
309
+ readonly type: "uint256";
310
+ }];
311
+ }, {
312
+ readonly type: "function";
313
+ readonly name: "multicall";
314
+ readonly stateMutability: "payable";
315
+ readonly inputs: readonly [{
316
+ readonly name: "data";
317
+ readonly type: "bytes[]";
318
+ }];
319
+ readonly outputs: readonly [{
320
+ readonly name: "results";
321
+ readonly type: "bytes[]";
322
+ }];
323
+ }];
324
+ export declare const encodeUniv3FactoryGetPool: (tokenA: string, tokenB: string, fee: string | number | bigint) => Hex;
325
+ export declare const encodeUniv3PoolFactory: () => Hex;
326
+ export declare const encodeUniv3PoolToken0: () => Hex;
327
+ export declare const encodeUniv3PoolToken1: () => Hex;
328
+ export declare const encodeUniv3PoolFee: () => Hex;
329
+ export declare const encodeUniv3PoolTickSpacing: () => Hex;
330
+ export declare const encodeUniv3PoolLiquidity: () => Hex;
331
+ export declare const encodeUniv3PoolSlot0: () => Hex;
332
+ export declare const encodeUniv3NpmPositions: (tokenId: string | bigint) => Hex;
333
+ export declare const encodeUniv3NpmOwnerOf: (tokenId: string | bigint) => Hex;
334
+ export declare const encodeUniv3Mint: ({ token0, token1, fee, tickLower, tickUpper, amount0Desired, amount1Desired, amount0Min, amount1Min, receiver, deadline, }: {
335
+ token0: string;
336
+ token1: string;
337
+ fee: string | number | bigint;
338
+ tickLower: string | number | bigint;
339
+ tickUpper: string | number | bigint;
340
+ amount0Desired: string | bigint;
341
+ amount1Desired: string | bigint;
342
+ amount0Min: string | bigint;
343
+ amount1Min: string | bigint;
344
+ receiver: string;
345
+ deadline: string | bigint;
346
+ }) => Hex;
347
+ export declare const encodeUniv3IncreaseLiquidity: ({ tokenId, amount0Desired, amount1Desired, amount0Min, amount1Min, deadline, }: {
348
+ tokenId: string | bigint;
349
+ amount0Desired: string | bigint;
350
+ amount1Desired: string | bigint;
351
+ amount0Min: string | bigint;
352
+ amount1Min: string | bigint;
353
+ deadline: string | bigint;
354
+ }) => Hex;
355
+ export declare const encodeUniv3DecreaseLiquidity: ({ tokenId, liquidity, amount0Min, amount1Min, deadline, }: {
356
+ tokenId: string | bigint;
357
+ liquidity: string | bigint;
358
+ amount0Min: string | bigint;
359
+ amount1Min: string | bigint;
360
+ deadline: string | bigint;
361
+ }) => Hex;
362
+ export declare const encodeUniv3Collect: ({ tokenId, receiver, amount0Max, amount1Max, }: {
363
+ tokenId: string | bigint;
364
+ receiver: string;
365
+ amount0Max?: string | bigint;
366
+ amount1Max?: string | bigint;
367
+ }) => Hex;
368
+ export declare const encodeUniv3Multicall: (data: readonly Hex[]) => Hex;
369
+ //# sourceMappingURL=univ3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"univ3.d.ts","sourceRoot":"","sources":["../../../src/core/abi/univ3.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,319 @@
1
+ import { encodeFunctionData } from 'viem';
2
+ import { MAX_UINT128, parseRawInt24, parseRawUint128, parseRawUint24, parseRawUint256, } from '../utils/abi.js';
3
+ import { normalizeAddress } from '../utils/address.js';
4
+ export const UNIV3_FACTORY_ABI = [
5
+ {
6
+ type: 'function',
7
+ name: 'getPool',
8
+ stateMutability: 'view',
9
+ inputs: [
10
+ { name: 'tokenA', type: 'address' },
11
+ { name: 'tokenB', type: 'address' },
12
+ { name: 'fee', type: 'uint24' },
13
+ ],
14
+ outputs: [{ name: 'pool', type: 'address' }],
15
+ },
16
+ ];
17
+ export const UNIV3_POOL_ABI = [
18
+ {
19
+ type: 'function',
20
+ name: 'factory',
21
+ stateMutability: 'view',
22
+ inputs: [],
23
+ outputs: [{ name: 'factory', type: 'address' }],
24
+ },
25
+ {
26
+ type: 'function',
27
+ name: 'token0',
28
+ stateMutability: 'view',
29
+ inputs: [],
30
+ outputs: [{ name: 'token0', type: 'address' }],
31
+ },
32
+ {
33
+ type: 'function',
34
+ name: 'token1',
35
+ stateMutability: 'view',
36
+ inputs: [],
37
+ outputs: [{ name: 'token1', type: 'address' }],
38
+ },
39
+ {
40
+ type: 'function',
41
+ name: 'fee',
42
+ stateMutability: 'view',
43
+ inputs: [],
44
+ outputs: [{ name: 'fee', type: 'uint24' }],
45
+ },
46
+ {
47
+ type: 'function',
48
+ name: 'tickSpacing',
49
+ stateMutability: 'view',
50
+ inputs: [],
51
+ outputs: [{ name: 'tickSpacing', type: 'int24' }],
52
+ },
53
+ {
54
+ type: 'function',
55
+ name: 'liquidity',
56
+ stateMutability: 'view',
57
+ inputs: [],
58
+ outputs: [{ name: 'liquidity', type: 'uint128' }],
59
+ },
60
+ {
61
+ type: 'function',
62
+ name: 'slot0',
63
+ stateMutability: 'view',
64
+ inputs: [],
65
+ outputs: [
66
+ { name: 'sqrtPriceX96', type: 'uint160' },
67
+ { name: 'tick', type: 'int24' },
68
+ { name: 'observationIndex', type: 'uint16' },
69
+ { name: 'observationCardinality', type: 'uint16' },
70
+ { name: 'observationCardinalityNext', type: 'uint16' },
71
+ { name: 'feeProtocol', type: 'uint8' },
72
+ { name: 'unlocked', type: 'bool' },
73
+ ],
74
+ },
75
+ ];
76
+ export const UNIV3_NPM_ABI = [
77
+ {
78
+ type: 'function',
79
+ name: 'positions',
80
+ stateMutability: 'view',
81
+ inputs: [{ name: 'tokenId', type: 'uint256' }],
82
+ outputs: [
83
+ { name: 'nonce', type: 'uint96' },
84
+ { name: 'operator', type: 'address' },
85
+ { name: 'token0', type: 'address' },
86
+ { name: 'token1', type: 'address' },
87
+ { name: 'fee', type: 'uint24' },
88
+ { name: 'tickLower', type: 'int24' },
89
+ { name: 'tickUpper', type: 'int24' },
90
+ { name: 'liquidity', type: 'uint128' },
91
+ { name: 'feeGrowthInside0LastX128', type: 'uint256' },
92
+ { name: 'feeGrowthInside1LastX128', type: 'uint256' },
93
+ { name: 'tokensOwed0', type: 'uint128' },
94
+ { name: 'tokensOwed1', type: 'uint128' },
95
+ ],
96
+ },
97
+ {
98
+ type: 'function',
99
+ name: 'ownerOf',
100
+ stateMutability: 'view',
101
+ inputs: [{ name: 'tokenId', type: 'uint256' }],
102
+ outputs: [{ name: 'owner', type: 'address' }],
103
+ },
104
+ {
105
+ type: 'function',
106
+ name: 'mint',
107
+ stateMutability: 'payable',
108
+ inputs: [
109
+ {
110
+ name: 'params',
111
+ type: 'tuple',
112
+ components: [
113
+ { name: 'token0', type: 'address' },
114
+ { name: 'token1', type: 'address' },
115
+ { name: 'fee', type: 'uint24' },
116
+ { name: 'tickLower', type: 'int24' },
117
+ { name: 'tickUpper', type: 'int24' },
118
+ { name: 'amount0Desired', type: 'uint256' },
119
+ { name: 'amount1Desired', type: 'uint256' },
120
+ { name: 'amount0Min', type: 'uint256' },
121
+ { name: 'amount1Min', type: 'uint256' },
122
+ { name: 'recipient', type: 'address' },
123
+ { name: 'deadline', type: 'uint256' },
124
+ ],
125
+ },
126
+ ],
127
+ outputs: [
128
+ { name: 'tokenId', type: 'uint256' },
129
+ { name: 'liquidity', type: 'uint128' },
130
+ { name: 'amount0', type: 'uint256' },
131
+ { name: 'amount1', type: 'uint256' },
132
+ ],
133
+ },
134
+ {
135
+ type: 'function',
136
+ name: 'increaseLiquidity',
137
+ stateMutability: 'payable',
138
+ inputs: [
139
+ {
140
+ name: 'params',
141
+ type: 'tuple',
142
+ components: [
143
+ { name: 'tokenId', type: 'uint256' },
144
+ { name: 'amount0Desired', type: 'uint256' },
145
+ { name: 'amount1Desired', type: 'uint256' },
146
+ { name: 'amount0Min', type: 'uint256' },
147
+ { name: 'amount1Min', type: 'uint256' },
148
+ { name: 'deadline', type: 'uint256' },
149
+ ],
150
+ },
151
+ ],
152
+ outputs: [
153
+ { name: 'liquidity', type: 'uint128' },
154
+ { name: 'amount0', type: 'uint256' },
155
+ { name: 'amount1', type: 'uint256' },
156
+ ],
157
+ },
158
+ {
159
+ type: 'function',
160
+ name: 'decreaseLiquidity',
161
+ stateMutability: 'payable',
162
+ inputs: [
163
+ {
164
+ name: 'params',
165
+ type: 'tuple',
166
+ components: [
167
+ { name: 'tokenId', type: 'uint256' },
168
+ { name: 'liquidity', type: 'uint128' },
169
+ { name: 'amount0Min', type: 'uint256' },
170
+ { name: 'amount1Min', type: 'uint256' },
171
+ { name: 'deadline', type: 'uint256' },
172
+ ],
173
+ },
174
+ ],
175
+ outputs: [
176
+ { name: 'amount0', type: 'uint256' },
177
+ { name: 'amount1', type: 'uint256' },
178
+ ],
179
+ },
180
+ {
181
+ type: 'function',
182
+ name: 'collect',
183
+ stateMutability: 'payable',
184
+ inputs: [
185
+ {
186
+ name: 'params',
187
+ type: 'tuple',
188
+ components: [
189
+ { name: 'tokenId', type: 'uint256' },
190
+ { name: 'recipient', type: 'address' },
191
+ { name: 'amount0Max', type: 'uint128' },
192
+ { name: 'amount1Max', type: 'uint128' },
193
+ ],
194
+ },
195
+ ],
196
+ outputs: [
197
+ { name: 'amount0', type: 'uint256' },
198
+ { name: 'amount1', type: 'uint256' },
199
+ ],
200
+ },
201
+ {
202
+ type: 'function',
203
+ name: 'multicall',
204
+ stateMutability: 'payable',
205
+ inputs: [{ name: 'data', type: 'bytes[]' }],
206
+ outputs: [{ name: 'results', type: 'bytes[]' }],
207
+ },
208
+ ];
209
+ export const encodeUniv3FactoryGetPool = (tokenA, tokenB, fee) => encodeFunctionData({
210
+ abi: UNIV3_FACTORY_ABI,
211
+ functionName: 'getPool',
212
+ args: [
213
+ normalizeAddress('tokenA', tokenA),
214
+ normalizeAddress('tokenB', tokenB),
215
+ parseRawUint24(fee),
216
+ ],
217
+ });
218
+ export const encodeUniv3PoolFactory = () => encodeFunctionData({
219
+ abi: UNIV3_POOL_ABI,
220
+ functionName: 'factory',
221
+ });
222
+ export const encodeUniv3PoolToken0 = () => encodeFunctionData({
223
+ abi: UNIV3_POOL_ABI,
224
+ functionName: 'token0',
225
+ });
226
+ export const encodeUniv3PoolToken1 = () => encodeFunctionData({
227
+ abi: UNIV3_POOL_ABI,
228
+ functionName: 'token1',
229
+ });
230
+ export const encodeUniv3PoolFee = () => encodeFunctionData({
231
+ abi: UNIV3_POOL_ABI,
232
+ functionName: 'fee',
233
+ });
234
+ export const encodeUniv3PoolTickSpacing = () => encodeFunctionData({
235
+ abi: UNIV3_POOL_ABI,
236
+ functionName: 'tickSpacing',
237
+ });
238
+ export const encodeUniv3PoolLiquidity = () => encodeFunctionData({
239
+ abi: UNIV3_POOL_ABI,
240
+ functionName: 'liquidity',
241
+ });
242
+ export const encodeUniv3PoolSlot0 = () => encodeFunctionData({
243
+ abi: UNIV3_POOL_ABI,
244
+ functionName: 'slot0',
245
+ });
246
+ export const encodeUniv3NpmPositions = (tokenId) => encodeFunctionData({
247
+ abi: UNIV3_NPM_ABI,
248
+ functionName: 'positions',
249
+ args: [parseRawUint256(tokenId)],
250
+ });
251
+ export const encodeUniv3NpmOwnerOf = (tokenId) => encodeFunctionData({
252
+ abi: UNIV3_NPM_ABI,
253
+ functionName: 'ownerOf',
254
+ args: [parseRawUint256(tokenId)],
255
+ });
256
+ export const encodeUniv3Mint = ({ token0, token1, fee, tickLower, tickUpper, amount0Desired, amount1Desired, amount0Min, amount1Min, receiver, deadline, }) => encodeFunctionData({
257
+ abi: UNIV3_NPM_ABI,
258
+ functionName: 'mint',
259
+ args: [
260
+ {
261
+ token0: normalizeAddress('token0', token0),
262
+ token1: normalizeAddress('token1', token1),
263
+ fee: parseRawUint24(fee),
264
+ tickLower: parseRawInt24(tickLower),
265
+ tickUpper: parseRawInt24(tickUpper),
266
+ amount0Desired: parseRawUint256(amount0Desired),
267
+ amount1Desired: parseRawUint256(amount1Desired),
268
+ amount0Min: parseRawUint256(amount0Min),
269
+ amount1Min: parseRawUint256(amount1Min),
270
+ recipient: normalizeAddress('receiver', receiver),
271
+ deadline: parseRawUint256(deadline),
272
+ },
273
+ ],
274
+ });
275
+ export const encodeUniv3IncreaseLiquidity = ({ tokenId, amount0Desired, amount1Desired, amount0Min, amount1Min, deadline, }) => encodeFunctionData({
276
+ abi: UNIV3_NPM_ABI,
277
+ functionName: 'increaseLiquidity',
278
+ args: [
279
+ {
280
+ tokenId: parseRawUint256(tokenId),
281
+ amount0Desired: parseRawUint256(amount0Desired),
282
+ amount1Desired: parseRawUint256(amount1Desired),
283
+ amount0Min: parseRawUint256(amount0Min),
284
+ amount1Min: parseRawUint256(amount1Min),
285
+ deadline: parseRawUint256(deadline),
286
+ },
287
+ ],
288
+ });
289
+ export const encodeUniv3DecreaseLiquidity = ({ tokenId, liquidity, amount0Min, amount1Min, deadline, }) => encodeFunctionData({
290
+ abi: UNIV3_NPM_ABI,
291
+ functionName: 'decreaseLiquidity',
292
+ args: [
293
+ {
294
+ tokenId: parseRawUint256(tokenId),
295
+ liquidity: parseRawUint128(liquidity),
296
+ amount0Min: parseRawUint256(amount0Min),
297
+ amount1Min: parseRawUint256(amount1Min),
298
+ deadline: parseRawUint256(deadline),
299
+ },
300
+ ],
301
+ });
302
+ export const encodeUniv3Collect = ({ tokenId, receiver, amount0Max = MAX_UINT128, amount1Max = MAX_UINT128, }) => encodeFunctionData({
303
+ abi: UNIV3_NPM_ABI,
304
+ functionName: 'collect',
305
+ args: [
306
+ {
307
+ tokenId: parseRawUint256(tokenId),
308
+ recipient: normalizeAddress('receiver', receiver),
309
+ amount0Max: parseRawUint128(amount0Max),
310
+ amount1Max: parseRawUint128(amount1Max),
311
+ },
312
+ ],
313
+ });
314
+ export const encodeUniv3Multicall = (data) => encodeFunctionData({
315
+ abi: UNIV3_NPM_ABI,
316
+ functionName: 'multicall',
317
+ args: [[...data]],
318
+ });
319
+ //# sourceMappingURL=univ3.js.map