@steerprotocol/sdk 1.2.0 → 1.4.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 (70) hide show
  1. package/README.md +54 -0
  2. package/dist/cjs/base/StakingClient.js +345 -0
  3. package/dist/cjs/base/StakingClient.js.map +1 -0
  4. package/dist/cjs/base/VaultClient.js +57 -118
  5. package/dist/cjs/base/VaultClient.js.map +1 -1
  6. package/dist/cjs/base/vault/deposit/index.js +484 -0
  7. package/dist/cjs/base/vault/deposit/index.js.map +1 -0
  8. package/dist/cjs/base/vault/deposit/types.js +3 -0
  9. package/dist/cjs/base/vault/deposit/types.js.map +1 -0
  10. package/dist/cjs/base/vault/utils.js +432 -0
  11. package/dist/cjs/base/vault/utils.js.map +1 -0
  12. package/dist/cjs/base/vault/withdraw/index.js +155 -0
  13. package/dist/cjs/base/vault/withdraw/index.js.map +1 -0
  14. package/dist/cjs/base/vault/withdraw/types.js +3 -0
  15. package/dist/cjs/base/vault/withdraw/types.js.map +1 -0
  16. package/dist/cjs/const/chain.js +96 -0
  17. package/dist/cjs/const/chain.js.map +1 -0
  18. package/dist/cjs/const/network.js +801 -0
  19. package/dist/cjs/const/network.js.map +1 -0
  20. package/dist/cjs/const/protocol.js +55 -0
  21. package/dist/cjs/const/protocol.js.map +1 -0
  22. package/dist/cjs/index.js +3 -0
  23. package/dist/cjs/index.js.map +1 -1
  24. package/dist/esm/base/StakingClient.js +341 -0
  25. package/dist/esm/base/StakingClient.js.map +1 -0
  26. package/dist/esm/base/VaultClient.js +57 -118
  27. package/dist/esm/base/VaultClient.js.map +1 -1
  28. package/dist/esm/base/vault/deposit/index.js +480 -0
  29. package/dist/esm/base/vault/deposit/index.js.map +1 -0
  30. package/dist/esm/base/vault/deposit/types.js +2 -0
  31. package/dist/esm/base/vault/deposit/types.js.map +1 -0
  32. package/dist/esm/base/vault/utils.js +425 -0
  33. package/dist/esm/base/vault/utils.js.map +1 -0
  34. package/dist/esm/base/vault/withdraw/index.js +151 -0
  35. package/dist/esm/base/vault/withdraw/index.js.map +1 -0
  36. package/dist/esm/base/vault/withdraw/types.js +2 -0
  37. package/dist/esm/base/vault/withdraw/types.js.map +1 -0
  38. package/dist/esm/const/chain.js +93 -0
  39. package/dist/esm/const/chain.js.map +1 -0
  40. package/dist/esm/const/network.js +797 -0
  41. package/dist/esm/const/network.js.map +1 -0
  42. package/dist/esm/const/protocol.js +47 -0
  43. package/dist/esm/const/protocol.js.map +1 -0
  44. package/dist/esm/index.js +3 -0
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/types/base/StakingClient.d.ts +81 -0
  47. package/dist/types/base/StakingClient.d.ts.map +1 -0
  48. package/dist/types/base/VaultClient.d.ts +81 -16
  49. package/dist/types/base/VaultClient.d.ts.map +1 -1
  50. package/dist/types/base/vault/deposit/index.d.ts +74 -0
  51. package/dist/types/base/vault/deposit/index.d.ts.map +1 -0
  52. package/dist/types/base/vault/deposit/types.d.ts +42 -0
  53. package/dist/types/base/vault/deposit/types.d.ts.map +1 -0
  54. package/dist/types/base/vault/utils.d.ts +26 -0
  55. package/dist/types/base/vault/utils.d.ts.map +1 -0
  56. package/dist/types/base/vault/withdraw/index.d.ts +45 -0
  57. package/dist/types/base/vault/withdraw/index.d.ts.map +1 -0
  58. package/dist/types/base/vault/withdraw/types.d.ts +13 -0
  59. package/dist/types/base/vault/withdraw/types.d.ts.map +1 -0
  60. package/dist/types/const/chain.d.ts +88 -0
  61. package/dist/types/const/chain.d.ts.map +1 -0
  62. package/dist/types/const/network.d.ts +26 -0
  63. package/dist/types/const/network.d.ts.map +1 -0
  64. package/dist/types/const/protocol.d.ts +12 -0
  65. package/dist/types/const/protocol.d.ts.map +1 -0
  66. package/dist/types/index.d.ts +3 -0
  67. package/dist/types/index.d.ts.map +1 -1
  68. package/dist/types/types.d.ts +101 -1
  69. package/dist/types/types.d.ts.map +1 -1
  70. package/package.json +14 -13
@@ -0,0 +1,425 @@
1
+ import { Protocol } from '../../const/chain';
2
+ const SLOT0_ABI = [
3
+ {
4
+ inputs: [],
5
+ name: 'slot0',
6
+ outputs: [
7
+ { internalType: 'uint160', name: 'sqrtPriceX96', type: 'uint160' },
8
+ { internalType: 'int24', name: 'tick', type: 'int24' },
9
+ { internalType: 'uint16', name: 'observationIndex', type: 'uint16' },
10
+ { internalType: 'uint16', name: 'observationCardinality', type: 'uint16' },
11
+ { internalType: 'uint16', name: 'observationCardinalityNext', type: 'uint16' },
12
+ { internalType: 'uint8', name: 'feeProtocol', type: 'uint8' },
13
+ { internalType: 'bool', name: 'unlocked', type: 'bool' },
14
+ ],
15
+ stateMutability: 'view',
16
+ type: 'function',
17
+ },
18
+ ];
19
+ const GLOBAL_STATE_ABI = [
20
+ {
21
+ inputs: [],
22
+ name: 'globalState',
23
+ outputs: [
24
+ { internalType: 'uint160', name: 'price', type: 'uint160' },
25
+ { internalType: 'int24', name: 'tick', type: 'int24' },
26
+ { internalType: 'int24', name: 'prevInitializedTick', type: 'int24' },
27
+ { internalType: 'uint16', name: 'fee', type: 'uint16' },
28
+ { internalType: 'uint16', name: 'timepointIndex', type: 'uint16' },
29
+ { internalType: 'uint8', name: 'communityFee', type: 'uint8' },
30
+ { internalType: 'bool', name: 'unlocked', type: 'bool' },
31
+ ],
32
+ stateMutability: 'view',
33
+ type: 'function',
34
+ },
35
+ ];
36
+ const GLOBAL_STATE_DIRECTIONAL_ABI = [
37
+ {
38
+ inputs: [],
39
+ name: 'globalState',
40
+ outputs: [
41
+ { internalType: 'uint160', name: 'price', type: 'uint160' },
42
+ { internalType: 'int24', name: 'tick', type: 'int24' },
43
+ { internalType: 'uint16', name: 'feeZto', type: 'uint16' },
44
+ { internalType: 'uint16', name: 'feeOtz', type: 'uint16' },
45
+ { internalType: 'uint16', name: 'timepointIndex', type: 'uint16' },
46
+ { internalType: 'uint8', name: 'communityFeeToken0', type: 'uint8' },
47
+ { internalType: 'uint8', name: 'communityFeeToken1', type: 'uint8' },
48
+ { internalType: 'bool', name: 'unlocked', type: 'bool' },
49
+ ],
50
+ stateMutability: 'view',
51
+ type: 'function',
52
+ },
53
+ ];
54
+ const POOLSHARK_GLOBAL_STATE_ABI = [
55
+ {
56
+ inputs: [],
57
+ name: 'globalState',
58
+ outputs: [
59
+ {
60
+ components: [
61
+ {
62
+ components: [
63
+ { internalType: 'uint16', name: 'index', type: 'uint16' },
64
+ { internalType: 'uint16', name: 'count', type: 'uint16' },
65
+ { internalType: 'uint16', name: 'countMax', type: 'uint16' },
66
+ ],
67
+ internalType: 'struct PoolsharkStructs.SampleState',
68
+ name: 'samples',
69
+ type: 'tuple',
70
+ },
71
+ { internalType: 'uint200', name: 'feeGrowthGlobal0', type: 'uint200' },
72
+ { internalType: 'uint200', name: 'feeGrowthGlobal1', type: 'uint200' },
73
+ { internalType: 'uint160', name: 'secondsPerLiquidityAccum', type: 'uint160' },
74
+ { internalType: 'uint160', name: 'price', type: 'uint160' },
75
+ { internalType: 'uint128', name: 'liquidity', type: 'uint128' },
76
+ { internalType: 'int56', name: 'tickSecondsAccum', type: 'int56' },
77
+ { internalType: 'int24', name: 'tickAtPrice', type: 'int24' },
78
+ { internalType: 'uint16', name: 'protocolSwapFee0', type: 'uint16' },
79
+ { internalType: 'uint16', name: 'protocolSwapFee1', type: 'uint16' },
80
+ ],
81
+ internalType: 'struct PoolsharkStructs.RangePoolState',
82
+ name: 'pool',
83
+ type: 'tuple',
84
+ },
85
+ {
86
+ components: [
87
+ { internalType: 'uint160', name: 'price', type: 'uint160' },
88
+ { internalType: 'uint128', name: 'liquidity', type: 'uint128' },
89
+ { internalType: 'uint128', name: 'protocolFees', type: 'uint128' },
90
+ { internalType: 'uint16', name: 'protocolFillFee', type: 'uint16' },
91
+ { internalType: 'int24', name: 'tickAtPrice', type: 'int24' },
92
+ ],
93
+ internalType: 'struct PoolsharkStructs.LimitPoolState',
94
+ name: 'pool0',
95
+ type: 'tuple',
96
+ },
97
+ {
98
+ components: [
99
+ { internalType: 'uint160', name: 'price', type: 'uint160' },
100
+ { internalType: 'uint128', name: 'liquidity', type: 'uint128' },
101
+ { internalType: 'uint128', name: 'protocolFees', type: 'uint128' },
102
+ { internalType: 'uint16', name: 'protocolFillFee', type: 'uint16' },
103
+ { internalType: 'int24', name: 'tickAtPrice', type: 'int24' },
104
+ ],
105
+ internalType: 'struct PoolsharkStructs.LimitPoolState',
106
+ name: 'pool1',
107
+ type: 'tuple',
108
+ },
109
+ { internalType: 'uint128', name: 'liquidityGlobal', type: 'uint128' },
110
+ { internalType: 'uint32', name: 'positionIdNext', type: 'uint32' },
111
+ { internalType: 'uint32', name: 'epoch', type: 'uint32' },
112
+ { internalType: 'uint8', name: 'unlocked', type: 'uint8' },
113
+ ],
114
+ stateMutability: 'view',
115
+ type: 'function',
116
+ },
117
+ ];
118
+ export function getProtocolTypeByBeacon(beacon) {
119
+ if (beacon && beacon?.toLowerCase().indexOf('retro') !== -1) {
120
+ return Protocol.Retro;
121
+ }
122
+ if (beacon && beacon?.toLowerCase().indexOf('forge') !== -1) {
123
+ return Protocol.Forge;
124
+ }
125
+ if (beacon && beacon?.toLowerCase().indexOf('maia') !== -1) {
126
+ return Protocol.Maia;
127
+ }
128
+ if (beacon && beacon?.toLowerCase().indexOf('sushi') !== -1) {
129
+ return Protocol.Sushi;
130
+ }
131
+ if (beacon && beacon?.toLowerCase().indexOf('uniswap') !== -1) {
132
+ return Protocol.Uniswap;
133
+ }
134
+ if (beacon && beacon?.toLowerCase().indexOf('pancake') !== -1) {
135
+ return Protocol.PancakeSwap;
136
+ }
137
+ if (beacon && beacon?.toLowerCase().indexOf('quickswapintegral') !== -1) {
138
+ return Protocol.QuickSwapIntegral;
139
+ }
140
+ if (beacon && beacon?.toLowerCase().indexOf('quickswapuniv3') !== -1) {
141
+ return Protocol.QuickSwapUniv3;
142
+ }
143
+ if (beacon && beacon?.toLowerCase().indexOf('quickswap19') !== -1) {
144
+ return Protocol.QuickSwapAlgebra;
145
+ }
146
+ if (beacon && beacon?.toLowerCase().indexOf('quickswap') !== -1) {
147
+ return Protocol.QuickSwap;
148
+ }
149
+ if (beacon && beacon?.toLowerCase().indexOf('kinetix') !== -1) {
150
+ return Protocol.Kinetix;
151
+ }
152
+ if (beacon && beacon?.toLowerCase().indexOf('metavault') !== -1) {
153
+ return Protocol.MetaVault;
154
+ }
155
+ if (beacon && beacon?.toLowerCase().indexOf('camelot') !== -1) {
156
+ return Protocol.Camelot;
157
+ }
158
+ if (beacon && beacon?.toLowerCase().indexOf('lynex') !== -1) {
159
+ return Protocol.Lynex;
160
+ }
161
+ if (beacon && beacon?.toLowerCase().indexOf('thena') !== -1) {
162
+ return Protocol.Thena;
163
+ }
164
+ if (beacon && beacon?.toLowerCase().indexOf('horiza') !== -1) {
165
+ return Protocol.Horiza;
166
+ }
167
+ if (beacon && beacon?.toLowerCase().indexOf('basex') !== -1) {
168
+ return Protocol.BaseX;
169
+ }
170
+ if (beacon && beacon?.toLowerCase().indexOf('arthswap') !== -1) {
171
+ return Protocol.ArthSwap;
172
+ }
173
+ if (beacon && beacon?.toLowerCase().indexOf('hercules') !== -1) {
174
+ return Protocol.Hercules;
175
+ }
176
+ if (beacon && beacon?.toLowerCase().indexOf('thick') !== -1) {
177
+ return Protocol.Thick;
178
+ }
179
+ if (beacon && beacon?.toLowerCase().indexOf('crust') !== -1) {
180
+ return Protocol.Crust;
181
+ }
182
+ if (beacon && beacon?.toLowerCase().indexOf('thruster') !== -1) {
183
+ return Protocol.Thruster;
184
+ }
185
+ if (beacon && beacon?.toLowerCase().indexOf('fusionx') !== -1) {
186
+ return Protocol.FusionX;
187
+ }
188
+ if (beacon && beacon?.toLowerCase().indexOf('supswap') !== -1) {
189
+ return Protocol.SupSwap;
190
+ }
191
+ if (beacon && beacon?.toLowerCase().indexOf('swapmode') !== -1) {
192
+ return Protocol.SwapMode;
193
+ }
194
+ if (beacon && beacon?.toLowerCase().indexOf('baseswap') !== -1) {
195
+ return Protocol.BaseSwap;
196
+ }
197
+ if (beacon && beacon?.toLowerCase().indexOf('poolshark') !== -1) {
198
+ return Protocol.PoolShark;
199
+ }
200
+ if (beacon && beacon?.toLowerCase().indexOf('kim') !== -1) {
201
+ return Protocol.Kim;
202
+ }
203
+ if (beacon && beacon?.toLowerCase().indexOf('swapsicle') !== -1) {
204
+ return Protocol.Swapsicle;
205
+ }
206
+ if (beacon && beacon?.toLowerCase().indexOf('equilibre') !== -1) {
207
+ return Protocol.Equilibre;
208
+ }
209
+ if (beacon && beacon?.toLowerCase().indexOf('fenix') !== -1) {
210
+ return Protocol.Fenix;
211
+ }
212
+ if (beacon && beacon?.toLowerCase().indexOf('linehub') !== -1) {
213
+ return Protocol.LineHub;
214
+ }
215
+ if (beacon && beacon?.toLowerCase().indexOf('henjin') !== -1) {
216
+ return Protocol.Henjin;
217
+ }
218
+ if (beacon && beacon?.toLowerCase().indexOf('novaswap') !== -1) {
219
+ return Protocol.NovaSwap;
220
+ }
221
+ if (beacon && beacon?.toLowerCase().indexOf('spark32') !== -1) {
222
+ return Protocol.Spark32;
223
+ }
224
+ if (beacon && beacon?.toLowerCase().indexOf('spark') !== -1) {
225
+ return Protocol.Spark;
226
+ }
227
+ if (beacon && beacon?.toLowerCase().indexOf('kodiak') !== -1) {
228
+ return Protocol.Kodiak;
229
+ }
230
+ if (beacon && beacon?.toLowerCase().indexOf('ocelex') !== -1) {
231
+ return Protocol.Ocelex;
232
+ }
233
+ if (beacon && beacon?.toLowerCase().indexOf('stellaswap') !== -1) {
234
+ return Protocol.StellaSwap;
235
+ }
236
+ if (beacon && beacon?.toLowerCase().indexOf('beamswap') !== -1) {
237
+ return Protocol.BeamSwap;
238
+ }
239
+ if (beacon && beacon?.toLowerCase().indexOf('dragonswap') !== -1) {
240
+ return Protocol.DragonSwap;
241
+ }
242
+ if (beacon && beacon?.toLowerCase().indexOf('spookyswap') !== -1) {
243
+ return Protocol.SpookySwap;
244
+ }
245
+ if (beacon && beacon?.toLowerCase().indexOf('silver') !== -1) {
246
+ return Protocol.SilverSwap;
247
+ }
248
+ if (beacon && beacon?.toLowerCase().indexOf('thickv2') !== -1) {
249
+ return Protocol.ThickV2;
250
+ }
251
+ if (beacon && beacon?.toLowerCase().indexOf('beam') !== -1) {
252
+ return Protocol.Beam;
253
+ }
254
+ if (beacon && beacon?.toLowerCase().indexOf('kyo') !== -1) {
255
+ return Protocol.Kyo;
256
+ }
257
+ // Default to Uniswap
258
+ return Protocol.Uniswap;
259
+ }
260
+ /**
261
+ * Gets slot0 data from a standard Uniswap V3 pool
262
+ * @param poolAddress The pool address
263
+ */
264
+ export async function getSlot0(publicClient, poolAddress) {
265
+ try {
266
+ const slot0 = await publicClient.readContract({
267
+ address: poolAddress,
268
+ abi: SLOT0_ABI,
269
+ functionName: 'slot0',
270
+ });
271
+ return {
272
+ data: {
273
+ sqrtPriceX96: slot0[0],
274
+ tick: Number(slot0[1]),
275
+ observationIndex: slot0[2],
276
+ observationCardinality: slot0[3],
277
+ observationCardinalityNext: slot0[4],
278
+ feeProtocol: slot0[5],
279
+ unlocked: slot0[6],
280
+ },
281
+ status: 200,
282
+ success: true,
283
+ };
284
+ }
285
+ catch (error) {
286
+ return {
287
+ data: null,
288
+ status: 500,
289
+ success: false,
290
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
291
+ };
292
+ }
293
+ }
294
+ /**
295
+ * Gets global state from an Algebra pool
296
+ * @param poolAddress The pool address
297
+ * @param isDirectional Whether the pool is directional
298
+ */
299
+ export async function getGlobalState(publicClient, poolAddress, isDirectional = false) {
300
+ try {
301
+ const globalState = await publicClient.readContract({
302
+ address: poolAddress,
303
+ abi: isDirectional ? GLOBAL_STATE_DIRECTIONAL_ABI : GLOBAL_STATE_ABI,
304
+ functionName: 'globalState',
305
+ });
306
+ return {
307
+ data: {
308
+ price: globalState[0],
309
+ tick: Number(globalState[1]),
310
+ observationIndex: globalState[4], // timepointIndex
311
+ observationCardinality: 0, // Not available in Algebra
312
+ observationCardinalityNext: 0, // Not available in Algebra
313
+ feeProtocol: isDirectional ? Number(globalState[2]) : Number(globalState[3]), // fee or feeZto
314
+ unlocked: Boolean(globalState[isDirectional ? 7 : 6]),
315
+ },
316
+ status: 200,
317
+ success: true,
318
+ };
319
+ }
320
+ catch (error) {
321
+ return {
322
+ data: null,
323
+ status: 500,
324
+ success: false,
325
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
326
+ };
327
+ }
328
+ }
329
+ /**
330
+ * Gets global state from a PoolShark pool
331
+ * @param poolAddress The pool address
332
+ */
333
+ export async function getGlobalStatePoolShark(publicClient, poolAddress) {
334
+ try {
335
+ const globalState = await publicClient.readContract({
336
+ address: poolAddress,
337
+ abi: POOLSHARK_GLOBAL_STATE_ABI,
338
+ functionName: 'globalState',
339
+ });
340
+ return {
341
+ data: {
342
+ pool: {
343
+ samples: {
344
+ index: globalState[0].samples.index,
345
+ count: globalState[0].samples.count,
346
+ countMax: globalState[0].samples.countMax,
347
+ },
348
+ feeGrowthGlobal0: globalState[0].feeGrowthGlobal0,
349
+ feeGrowthGlobal1: globalState[0].feeGrowthGlobal1,
350
+ secondsPerLiquidityAccum: globalState[0].secondsPerLiquidityAccum,
351
+ price: globalState[0].price,
352
+ liquidity: globalState[0].liquidity,
353
+ tickSecondsAccum: Number(globalState[0].tickSecondsAccum),
354
+ tickAtPrice: globalState[0].tickAtPrice,
355
+ protocolSwapFee0: globalState[0].protocolSwapFee0,
356
+ protocolSwapFee1: globalState[0].protocolSwapFee1,
357
+ },
358
+ pool0: {
359
+ price: globalState[1].price,
360
+ liquidity: globalState[1].liquidity,
361
+ protocolFees: globalState[1].protocolFees,
362
+ protocolFillFee: globalState[1].protocolFillFee,
363
+ tickAtPrice: globalState[1].tickAtPrice,
364
+ },
365
+ pool1: {
366
+ price: globalState[2].price,
367
+ liquidity: globalState[2].liquidity,
368
+ protocolFees: globalState[2].protocolFees,
369
+ protocolFillFee: globalState[2].protocolFillFee,
370
+ tickAtPrice: globalState[2].tickAtPrice,
371
+ },
372
+ liquidityGlobal: globalState[3],
373
+ positionIdNext: Number(globalState[4]),
374
+ epoch: Number(globalState[5]),
375
+ unlocked: Number(globalState[6]),
376
+ },
377
+ status: 200,
378
+ success: true,
379
+ };
380
+ }
381
+ catch (error) {
382
+ return {
383
+ data: null,
384
+ status: 500,
385
+ success: false,
386
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
387
+ };
388
+ }
389
+ }
390
+ /**
391
+ * Gets global state from an Algebra Integral pool
392
+ * @param poolAddress The pool address
393
+ * @param isDirectional Whether the pool is directional
394
+ */
395
+ export async function getGlobalStateAlgebraIntegral(publicClient, poolAddress, isDirectional = false) {
396
+ try {
397
+ const globalState = await publicClient.readContract({
398
+ address: poolAddress,
399
+ abi: isDirectional ? GLOBAL_STATE_DIRECTIONAL_ABI : GLOBAL_STATE_ABI,
400
+ functionName: 'globalState',
401
+ });
402
+ return {
403
+ data: {
404
+ price: globalState[0],
405
+ tick: Number(globalState[1]),
406
+ observationIndex: globalState[4], // timepointIndex
407
+ observationCardinality: 0, // Not available in Algebra Integral
408
+ observationCardinalityNext: 0, // Not available in Algebra Integral
409
+ feeProtocol: isDirectional ? Number(globalState[2]) : Number(globalState[3]), // fee or feeZto
410
+ unlocked: Boolean(globalState[isDirectional ? 7 : 6]),
411
+ },
412
+ status: 200,
413
+ success: true,
414
+ };
415
+ }
416
+ catch (error) {
417
+ return {
418
+ data: null,
419
+ status: 500,
420
+ success: false,
421
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
422
+ };
423
+ }
424
+ }
425
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/base/vault/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { abis } from '../../../const/deployments/abis';
2
+ import { getContractAddressByChainIdAndContractName } from '../../../const/network';
3
+ const VAULT_ABI = abis.QuickSwapUniv3MultiPositionLiquidityManager;
4
+ const PERIPHERY_ABI = abis.SteerPeriphery;
5
+ export class VaultWithdrawClient {
6
+ constructor(publicClient, walletClient) {
7
+ this.publicClient = publicClient;
8
+ this.walletClient = walletClient;
9
+ }
10
+ /**
11
+ * Withdraws tokens from a vault
12
+ * @param params The withdrawal parameters
13
+ */
14
+ async withdraw(params) {
15
+ try {
16
+ const account = await this.walletClient.getAddresses();
17
+ if (!account[0])
18
+ throw new Error('No account found');
19
+ const { request } = await this.publicClient.simulateContract({
20
+ address: params.vaultAddress,
21
+ abi: VAULT_ABI,
22
+ functionName: 'withdraw',
23
+ args: [
24
+ params.shares,
25
+ params.amount0Min,
26
+ params.amount1Min,
27
+ params.to ?? account[0]
28
+ ],
29
+ account: account[0],
30
+ });
31
+ const hash = await this.walletClient.writeContract(request);
32
+ return {
33
+ data: hash,
34
+ status: 200,
35
+ success: true,
36
+ };
37
+ }
38
+ catch (error) {
39
+ return {
40
+ data: null,
41
+ status: 500,
42
+ success: false,
43
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
44
+ };
45
+ }
46
+ }
47
+ /**
48
+ * Prepares the transaction data for withdrawing tokens from a vault without executing it
49
+ * @param params The withdrawal parameters
50
+ */
51
+ async prepareWithdrawTx(params) {
52
+ try {
53
+ const account = await this.walletClient.getAddresses();
54
+ if (!account[0])
55
+ throw new Error('No account found');
56
+ // Prepare the complete contract interaction data
57
+ return {
58
+ data: {
59
+ address: params.vaultAddress,
60
+ abi: [{
61
+ type: 'function',
62
+ inputs: [
63
+ { name: 'shares', internalType: 'uint256', type: 'uint256' },
64
+ { name: 'amount0Min', internalType: 'uint256', type: 'uint256' },
65
+ { name: 'amount1Min', internalType: 'uint256', type: 'uint256' },
66
+ { name: 'to', internalType: 'address', type: 'address' }
67
+ ],
68
+ name: 'withdraw',
69
+ outputs: [],
70
+ stateMutability: 'nonpayable'
71
+ }],
72
+ functionName: 'withdraw',
73
+ args: [
74
+ params.shares,
75
+ params.amount0Min,
76
+ params.amount1Min,
77
+ params.to ?? account[0]
78
+ ]
79
+ },
80
+ status: 200,
81
+ success: true
82
+ };
83
+ }
84
+ catch (error) {
85
+ return {
86
+ data: null,
87
+ status: 500,
88
+ success: false,
89
+ error: error instanceof Error ? error.message : 'Unknown error occurred'
90
+ };
91
+ }
92
+ }
93
+ /**
94
+ * Calculates the amount of tokens that would be received for a given amount of LP tokens
95
+ * @param vaultAddress The vault address
96
+ * @param lpToken The amount of LP tokens to calculate for
97
+ */
98
+ async getTokensFromLp(vaultAddress, lpToken) {
99
+ try {
100
+ // Get chain ID and periphery address
101
+ const chainId = await this.publicClient.getChainId();
102
+ const steerPeripheryAddress = getContractAddressByChainIdAndContractName(chainId, 'SteerPeriphery');
103
+ if (!steerPeripheryAddress)
104
+ throw new Error('SteerPeriphery address not found');
105
+ // Try to get vault details, first attempt with regular vault
106
+ let vaultDetails;
107
+ try {
108
+ // First try regular vault
109
+ vaultDetails = await this.publicClient.readContract({
110
+ address: steerPeripheryAddress,
111
+ abi: PERIPHERY_ABI,
112
+ functionName: 'vaultDetailsByAddress',
113
+ args: [vaultAddress]
114
+ });
115
+ }
116
+ catch (error) {
117
+ // If regular vault fails, try Algebra vault
118
+ vaultDetails = await this.publicClient.readContract({
119
+ address: steerPeripheryAddress,
120
+ abi: PERIPHERY_ABI,
121
+ functionName: 'algebraVaultDetailsByAddress',
122
+ args: [vaultAddress]
123
+ });
124
+ }
125
+ // Calculate token amounts based on LP token proportion
126
+ const token0Val = vaultDetails.totalLPTokensIssued > 0n
127
+ ? (vaultDetails.token0Balance * lpToken) / vaultDetails.totalLPTokensIssued
128
+ : BigInt(1);
129
+ const token1Val = vaultDetails.totalLPTokensIssued > 0n
130
+ ? (vaultDetails.token1Balance * lpToken) / vaultDetails.totalLPTokensIssued
131
+ : BigInt(1);
132
+ return {
133
+ data: {
134
+ token0Val,
135
+ token1Val
136
+ },
137
+ status: 200,
138
+ success: true
139
+ };
140
+ }
141
+ catch (error) {
142
+ return {
143
+ data: null,
144
+ status: 500,
145
+ success: false,
146
+ error: error instanceof Error ? error.message : 'Unknown error occurred'
147
+ };
148
+ }
149
+ }
150
+ }
151
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/base/vault/withdraw/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/base/vault/withdraw/types.ts"],"names":[],"mappings":""}