@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 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/const/network.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPoolSharkProtocol = exports.isAlgebraIntegralProtocol = exports.isAlgebraDirectionProtocol = exports.isThickV2Protocol = exports.isAlgebraProtocol = exports.ALGEBRA_INTEGRAL_PROTOCOLS = exports.POOLSHARK_PROTOCOLS = exports.DIRECTIONAL_ALGEBRA_PROTOCOLS = exports.ALGEBRA_PROTOCOLS = void 0;
4
+ const chain_1 = require("./chain");
5
+ exports.ALGEBRA_PROTOCOLS = [
6
+ chain_1.Protocol.QuickSwap,
7
+ chain_1.Protocol.Beam,
8
+ chain_1.Protocol.QuickSwapIntegral,
9
+ chain_1.Protocol.SilverSwap,
10
+ chain_1.Protocol.Ocelex,
11
+ chain_1.Protocol.Henjin,
12
+ chain_1.Protocol.Camelot,
13
+ chain_1.Protocol.Ocelex,
14
+ chain_1.Protocol.Lynex,
15
+ chain_1.Protocol.Thena,
16
+ chain_1.Protocol.Hercules,
17
+ chain_1.Protocol.QuickSwapAlgebra,
18
+ chain_1.Protocol.Kim,
19
+ chain_1.Protocol.Swapsicle,
20
+ chain_1.Protocol.Fenix,
21
+ chain_1.Protocol.StellaSwap,
22
+ ];
23
+ exports.DIRECTIONAL_ALGEBRA_PROTOCOLS = [chain_1.Protocol.Camelot, chain_1.Protocol.Hercules];
24
+ exports.POOLSHARK_PROTOCOLS = [chain_1.Protocol.PoolShark];
25
+ exports.ALGEBRA_INTEGRAL_PROTOCOLS = [
26
+ chain_1.Protocol.Kim,
27
+ chain_1.Protocol.Swapsicle,
28
+ chain_1.Protocol.QuickSwapIntegral,
29
+ chain_1.Protocol.Fenix,
30
+ chain_1.Protocol.Henjin,
31
+ chain_1.Protocol.SilverSwap,
32
+ chain_1.Protocol.Beam,
33
+ ];
34
+ const THICK_PROTOCOLS = [chain_1.Protocol.ThickV2];
35
+ const isAlgebraProtocol = (protocol) => {
36
+ return exports.ALGEBRA_PROTOCOLS.includes(protocol);
37
+ };
38
+ exports.isAlgebraProtocol = isAlgebraProtocol;
39
+ const isThickV2Protocol = (protocol) => {
40
+ return THICK_PROTOCOLS.includes(protocol);
41
+ };
42
+ exports.isThickV2Protocol = isThickV2Protocol;
43
+ const isAlgebraDirectionProtocol = (protocol) => {
44
+ return exports.DIRECTIONAL_ALGEBRA_PROTOCOLS.includes(protocol);
45
+ };
46
+ exports.isAlgebraDirectionProtocol = isAlgebraDirectionProtocol;
47
+ const isAlgebraIntegralProtocol = (protocol) => {
48
+ return exports.ALGEBRA_INTEGRAL_PROTOCOLS.includes(protocol);
49
+ };
50
+ exports.isAlgebraIntegralProtocol = isAlgebraIntegralProtocol;
51
+ const isPoolSharkProtocol = (protocol) => {
52
+ return exports.POOLSHARK_PROTOCOLS.includes(protocol);
53
+ };
54
+ exports.isPoolSharkProtocol = isPoolSharkProtocol;
55
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/const/protocol.ts"],"names":[],"mappings":";;;AACA,mCAAmC;AAItB,QAAA,iBAAiB,GAAG;IAC/B,gBAAQ,CAAC,SAAS;IAClB,gBAAQ,CAAC,IAAI;IACb,gBAAQ,CAAC,iBAAiB;IAC1B,gBAAQ,CAAC,UAAU;IACnB,gBAAQ,CAAC,MAAM;IACf,gBAAQ,CAAC,MAAM;IACf,gBAAQ,CAAC,OAAO;IAChB,gBAAQ,CAAC,MAAM;IACf,gBAAQ,CAAC,KAAK;IACd,gBAAQ,CAAC,KAAK;IACd,gBAAQ,CAAC,QAAQ;IACjB,gBAAQ,CAAC,gBAAgB;IACzB,gBAAQ,CAAC,GAAG;IACZ,gBAAQ,CAAC,SAAS;IAClB,gBAAQ,CAAC,KAAK;IACd,gBAAQ,CAAC,UAAU;CACpB,CAAC;AAEW,QAAA,6BAA6B,GAAG,CAAC,gBAAQ,CAAC,OAAO,EAAE,gBAAQ,CAAC,QAAQ,CAAC,CAAC;AAEtE,QAAA,mBAAmB,GAAG,CAAC,gBAAQ,CAAC,SAAS,CAAC,CAAC;AAE3C,QAAA,0BAA0B,GAAG;IACxC,gBAAQ,CAAC,GAAG;IACZ,gBAAQ,CAAC,SAAS;IAClB,gBAAQ,CAAC,iBAAiB;IAC1B,gBAAQ,CAAC,KAAK;IACd,gBAAQ,CAAC,MAAM;IACf,gBAAQ,CAAC,UAAU;IACnB,gBAAQ,CAAC,IAAI;CACd,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,gBAAQ,CAAC,OAAO,CAAC,CAAC;AAEpC,MAAM,iBAAiB,GAAG,CAAC,QAA2B,EAAE,EAAE;IAC/D,OAAO,yBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,iBAAiB,GAAG,CAAC,QAA2B,EAAE,EAAE;IAC/D,OAAO,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,0BAA0B,GAAG,CAAC,QAA2B,EAAE,EAAE;IACxE,OAAO,qCAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC,CAAC;AAFW,QAAA,0BAA0B,8BAErC;AAEK,MAAM,yBAAyB,GAAG,CAAC,QAA2B,EAAE,EAAE;IACvE,OAAO,kCAA0B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC,CAAC;AAFW,QAAA,yBAAyB,6BAEpC;AAEK,MAAM,mBAAmB,GAAG,CAAC,QAA2B,EAAE,EAAE;IACjE,OAAO,2BAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B"}
package/dist/cjs/index.js CHANGED
@@ -20,6 +20,9 @@ __exportStar(require("./types"), exports);
20
20
  __exportStar(require("./const"), exports);
21
21
  __exportStar(require("./const/subgraph"), exports);
22
22
  __exportStar(require("./const/api"), exports);
23
+ __exportStar(require("./base/VaultClient"), exports);
24
+ __exportStar(require("./base/SubgraphClient"), exports);
25
+ __exportStar(require("./base/StakingClient"), exports);
23
26
  /**
24
27
  * @packageDocumentation
25
28
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,mDAAiC;AACjC,8CAA4B;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,mDAAiC;AACjC,8CAA4B;AAC5B,qDAAmC;AACnC,wDAAsC;AACtC,uDAAqC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG"}
@@ -0,0 +1,341 @@
1
+ import { SubgraphClient } from './SubgraphClient';
2
+ // ABIs for staking contracts
3
+ const SINGLE_REWARD_ABI = [
4
+ {
5
+ "inputs": [],
6
+ "name": "lastTimeRewardApplicable",
7
+ "outputs": [{ "type": "uint256" }],
8
+ "stateMutability": "view",
9
+ "type": "function"
10
+ },
11
+ {
12
+ "inputs": [{ "type": "address" }],
13
+ "name": "earned",
14
+ "outputs": [{ "type": "uint256" }],
15
+ "stateMutability": "view",
16
+ "type": "function"
17
+ },
18
+ {
19
+ "inputs": [],
20
+ "name": "totalSupply",
21
+ "outputs": [{ "type": "uint256" }],
22
+ "stateMutability": "view",
23
+ "type": "function"
24
+ },
25
+ {
26
+ "inputs": [{ "type": "address" }],
27
+ "name": "balanceOf",
28
+ "outputs": [{ "type": "uint256" }],
29
+ "stateMutability": "view",
30
+ "type": "function"
31
+ },
32
+ {
33
+ "inputs": [{ "type": "uint256" }],
34
+ "name": "stake",
35
+ "outputs": [],
36
+ "stateMutability": "nonpayable",
37
+ "type": "function"
38
+ },
39
+ {
40
+ "inputs": [{ "type": "uint256" }],
41
+ "name": "withdraw",
42
+ "outputs": [],
43
+ "stateMutability": "nonpayable",
44
+ "type": "function"
45
+ },
46
+ {
47
+ "inputs": [],
48
+ "name": "getReward",
49
+ "outputs": [],
50
+ "stateMutability": "nonpayable",
51
+ "type": "function"
52
+ },
53
+ {
54
+ "inputs": [],
55
+ "name": "exit",
56
+ "outputs": [],
57
+ "stateMutability": "nonpayable",
58
+ "type": "function"
59
+ }
60
+ ];
61
+ const DUAL_REWARD_ABI = [
62
+ ...SINGLE_REWARD_ABI,
63
+ {
64
+ "inputs": [{ "type": "address" }],
65
+ "name": "earnedA",
66
+ "outputs": [{ "type": "uint256" }],
67
+ "stateMutability": "view",
68
+ "type": "function"
69
+ },
70
+ {
71
+ "inputs": [{ "type": "address" }],
72
+ "name": "earnedB",
73
+ "outputs": [{ "type": "uint256" }],
74
+ "stateMutability": "view",
75
+ "type": "function"
76
+ }
77
+ ];
78
+ export class StakingClient extends SubgraphClient {
79
+ constructor(client) {
80
+ super(client);
81
+ this.stakingPoolsEndpoint = 'https://9i52h964s3.execute-api.us-east-1.amazonaws.com/dev/staking-pools';
82
+ this.publicClient = client;
83
+ this.walletClient = client;
84
+ }
85
+ /**
86
+ * Fetches staking pool data from the API
87
+ * @param chainId Optional chain ID to filter pools
88
+ * @param protocol Optional protocol name to filter pools
89
+ */
90
+ async getStakingPools(chainId, protocol) {
91
+ try {
92
+ const response = await fetch(this.stakingPoolsEndpoint);
93
+ if (!response.ok) {
94
+ throw new Error('Failed to fetch staking pools');
95
+ }
96
+ let pools = await response.json();
97
+ // Apply filters if provided
98
+ if (chainId) {
99
+ pools = pools.filter(pool => pool.chainId === chainId);
100
+ }
101
+ if (protocol) {
102
+ pools = pools.filter(pool => pool.protocol === protocol);
103
+ }
104
+ return {
105
+ data: pools,
106
+ status: 200,
107
+ success: true,
108
+ };
109
+ }
110
+ catch (error) {
111
+ return {
112
+ data: null,
113
+ status: 500,
114
+ success: false,
115
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
116
+ };
117
+ }
118
+ }
119
+ /**
120
+ * Stakes tokens in a staking pool
121
+ * @param params The staking parameters
122
+ */
123
+ async stake(params) {
124
+ try {
125
+ const account = await this.walletClient.getAddresses();
126
+ if (!account[0])
127
+ throw new Error('No account found');
128
+ const { request } = await this.publicClient.simulateContract({
129
+ address: params.stakingPool,
130
+ abi: SINGLE_REWARD_ABI,
131
+ functionName: 'stake',
132
+ args: [params.amount],
133
+ account: account[0],
134
+ });
135
+ const hash = await this.walletClient.writeContract(request);
136
+ return {
137
+ data: hash,
138
+ status: 200,
139
+ success: true,
140
+ };
141
+ }
142
+ catch (error) {
143
+ return {
144
+ data: null,
145
+ status: 500,
146
+ success: false,
147
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
148
+ };
149
+ }
150
+ }
151
+ /**
152
+ * Withdraws tokens from a staking pool
153
+ * @param params The withdrawal parameters
154
+ */
155
+ async withdraw(params) {
156
+ try {
157
+ const account = await this.walletClient.getAddresses();
158
+ if (!account[0])
159
+ throw new Error('No account found');
160
+ const { request } = await this.publicClient.simulateContract({
161
+ address: params.stakingPool,
162
+ abi: SINGLE_REWARD_ABI,
163
+ functionName: 'withdraw',
164
+ args: [params.amount],
165
+ account: account[0],
166
+ });
167
+ const hash = await this.walletClient.writeContract(request);
168
+ return {
169
+ data: hash,
170
+ status: 200,
171
+ success: true,
172
+ };
173
+ }
174
+ catch (error) {
175
+ return {
176
+ data: null,
177
+ status: 500,
178
+ success: false,
179
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
180
+ };
181
+ }
182
+ }
183
+ /**
184
+ * Claims rewards from a staking pool
185
+ * @param params The reward claim parameters
186
+ */
187
+ async getReward(params) {
188
+ try {
189
+ const account = await this.walletClient.getAddresses();
190
+ if (!account[0])
191
+ throw new Error('No account found');
192
+ const { request } = await this.publicClient.simulateContract({
193
+ address: params.stakingPool,
194
+ abi: SINGLE_REWARD_ABI,
195
+ functionName: 'getReward',
196
+ args: [],
197
+ account: account[0],
198
+ });
199
+ const hash = await this.walletClient.writeContract(request);
200
+ return {
201
+ data: hash,
202
+ status: 200,
203
+ success: true,
204
+ };
205
+ }
206
+ catch (error) {
207
+ return {
208
+ data: null,
209
+ status: 500,
210
+ success: false,
211
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
212
+ };
213
+ }
214
+ }
215
+ /**
216
+ * Gets the earned rewards for an account in a staking pool
217
+ * @param stakingPool The staking pool address
218
+ * @param account The account to check rewards for
219
+ */
220
+ async earned(stakingPool, account) {
221
+ try {
222
+ // First try to read as single reward
223
+ try {
224
+ const reward = await this.publicClient.readContract({
225
+ address: stakingPool,
226
+ abi: SINGLE_REWARD_ABI,
227
+ functionName: 'earned',
228
+ args: [account],
229
+ });
230
+ return {
231
+ data: { rewardA: reward },
232
+ status: 200,
233
+ success: true,
234
+ };
235
+ }
236
+ catch {
237
+ // If single reward fails, try dual rewards
238
+ const [rewardA, rewardB] = await Promise.all([
239
+ this.publicClient.readContract({
240
+ address: stakingPool,
241
+ abi: DUAL_REWARD_ABI,
242
+ functionName: 'earnedA',
243
+ args: [account],
244
+ }),
245
+ this.publicClient.readContract({
246
+ address: stakingPool,
247
+ abi: DUAL_REWARD_ABI,
248
+ functionName: 'earnedB',
249
+ args: [account],
250
+ }),
251
+ ]);
252
+ return {
253
+ data: { rewardA, rewardB },
254
+ status: 200,
255
+ success: true,
256
+ };
257
+ }
258
+ }
259
+ catch (error) {
260
+ return {
261
+ data: null,
262
+ status: 500,
263
+ success: false,
264
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
265
+ };
266
+ }
267
+ }
268
+ /**
269
+ * Gets the total supply of staked tokens in a pool
270
+ * @param stakingPool The staking pool address
271
+ */
272
+ async totalSupply(stakingPool) {
273
+ try {
274
+ const totalSupply = await this.publicClient.readContract({
275
+ address: stakingPool,
276
+ abi: SINGLE_REWARD_ABI,
277
+ functionName: 'totalSupply',
278
+ });
279
+ return {
280
+ data: totalSupply,
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 the staked balance of an account in a pool
296
+ * @param stakingPool The staking pool address
297
+ * @param account The account to check balance for
298
+ */
299
+ async balanceOf(stakingPool, account) {
300
+ try {
301
+ const balance = await this.publicClient.readContract({
302
+ address: stakingPool,
303
+ abi: SINGLE_REWARD_ABI,
304
+ functionName: 'balanceOf',
305
+ args: [account],
306
+ });
307
+ return {
308
+ data: balance,
309
+ status: 200,
310
+ success: true,
311
+ };
312
+ }
313
+ catch (error) {
314
+ return {
315
+ data: null,
316
+ status: 500,
317
+ success: false,
318
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
319
+ };
320
+ }
321
+ }
322
+ /**
323
+ * Calculates the APR for a staking pool
324
+ * @param pool The staking pool data
325
+ * @param rewardTokenPriceUSD The price of the reward token in USD
326
+ * @param totalStakedUSD The total value staked in USD
327
+ */
328
+ calculateAPR(pool, rewardTokenPriceUSD, totalStakedUSD) {
329
+ if (totalStakedUSD === 0) {
330
+ return 0;
331
+ }
332
+ const dailyRewardUSD = pool.dailyEmissionRewardA * rewardTokenPriceUSD;
333
+ let apr = (dailyRewardUSD * 365 * 100) / totalStakedUSD;
334
+ if (pool.isDualFactory && pool.dailyEmissionRewardB) {
335
+ const dailyRewardBUSD = pool.dailyEmissionRewardB * rewardTokenPriceUSD;
336
+ apr += (dailyRewardBUSD * 365 * 100) / totalStakedUSD;
337
+ }
338
+ return apr;
339
+ }
340
+ }
341
+ //# sourceMappingURL=StakingClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StakingClient.js","sourceRoot":"","sources":["../../../src/base/StakingClient.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- import { SubgraphClient } from './SubgraphClient';
2
1
  import { abis } from '../const/deployments/abis';
3
- import { UniswapV3PoolABI } from '../const/abis/UniswapPool';
2
+ import { SubgraphClient } from './SubgraphClient';
3
+ import { VaultDepositClient } from './vault/deposit';
4
+ import { VaultWithdrawClient } from './vault/withdraw';
4
5
  const VAULT_ABI = abis.QuickSwapUniv3MultiPositionLiquidityManager;
5
- const PERIPHERY_ABI = abis.SteerPeriphery;
6
6
  export class VaultClient extends SubgraphClient {
7
7
  constructor(client) {
8
8
  super(client);
9
9
  this.publicClient = client;
10
10
  this.walletClient = client;
11
+ this.depositClient = new VaultDepositClient(client, client);
12
+ this.withdrawClient = new VaultWithdrawClient(client, client);
11
13
  }
12
14
  /**
13
15
  * Gets the latest vaults from the subgraph
@@ -45,94 +47,30 @@ export class VaultClient extends SubgraphClient {
45
47
  * @param params The deposit parameters
46
48
  */
47
49
  async deposit(params) {
48
- try {
49
- const account = await this.walletClient.getAddresses();
50
- if (!account[0])
51
- throw new Error('No account found');
52
- // Calculate min amounts based on slippage
53
- const amount0Min = params.amount0Desired * BigInt(Math.floor((1 - params.slippage) * 1000)) / 1000n;
54
- const amount1Min = params.amount1Desired * BigInt(Math.floor((1 - params.slippage) * 1000)) / 1000n;
55
- const { request } = await this.publicClient.simulateContract({
56
- address: params.vaultAddress,
57
- abi: PERIPHERY_ABI,
58
- functionName: 'deposit',
59
- args: [
60
- params.vaultAddress,
61
- params.amount0Desired,
62
- params.amount1Desired,
63
- amount0Min,
64
- amount1Min,
65
- params.to ?? account[0]
66
- ],
67
- account: account[0],
68
- });
69
- const hash = await this.walletClient.writeContract(request);
70
- return {
71
- data: hash,
72
- status: 200,
73
- success: true,
74
- };
75
- }
76
- catch (error) {
77
- return {
78
- data: null,
79
- status: 500,
80
- success: false,
81
- error: error instanceof Error ? error.message : 'Unknown error occurred',
82
- };
83
- }
50
+ return this.depositClient.deposit(params);
51
+ }
52
+ /**
53
+ * Prepares the transaction data for depositing tokens into a vault without executing it
54
+ * @param params The deposit parameters
55
+ */
56
+ async prepareDepositTx(params) {
57
+ return this.depositClient.prepareDepositTx(params);
84
58
  }
85
- async getDepositRatio(vaultAddress) {
59
+ /**
60
+ * Gets the deposit ratio for a vault
61
+ * @param vaultAddress The vault address
62
+ */
63
+ async getDepositRatio(vaultAddress, zeroForOne) {
86
64
  try {
87
- // Get vault details to check balances and decimals
88
- const vaultDetails = await this.publicClient.readContract({
89
- address: vaultAddress,
90
- abi: PERIPHERY_ABI,
91
- functionName: 'vaultDetailsByAddress',
92
- args: [vaultAddress]
93
- });
94
- const token0Balance = vaultDetails.token0Balance;
95
- const token1Balance = vaultDetails.token1Balance;
96
- const token0Decimals = vaultDetails.token0Decimals;
97
- const token1Decimals = vaultDetails.token1Decimals;
98
- // Case 1: No liquidity in the vault
99
- if (token0Balance === 0n && token1Balance === 0n) {
100
- // Get the pool contract to fetch current price
101
- const pool = await this.pool(vaultAddress);
102
- if (!pool.data)
103
- throw new Error('Failed to retrieve pool for ratio calculation');
104
- // Get current sqrtPriceX96
105
- const [sqrtPriceX96] = await this.publicClient.readContract({
106
- address: pool.data,
107
- abi: UniswapV3PoolABI,
108
- functionName: 'slot0'
109
- });
110
- // Calculate price = (sqrtPriceX96^2) / 2^192
111
- const price = (sqrtPriceX96 * sqrtPriceX96) / (2n ** 192n);
112
- // Adjust for decimal differences
113
- const decimalAdjustment = 10n ** BigInt(token1Decimals - token0Decimals);
114
- const nativeTokenRatio = price / decimalAdjustment;
115
- return {
116
- data: nativeTokenRatio,
117
- status: 200,
118
- success: true
119
- };
120
- }
121
- // Case 2: Vault has liquidity
122
- // If token1Balance is 0, return token0Balance
123
- if (token1Balance === 0n) {
124
- return {
125
- data: token0Balance,
126
- status: 200,
127
- success: true
128
- };
65
+ const ratioResponse = await this.depositClient.getDepositRatio(vaultAddress, zeroForOne);
66
+ if (!ratioResponse.success || !ratioResponse.data) {
67
+ throw new Error(ratioResponse.error || 'Failed to get deposit ratio');
129
68
  }
130
- // Calculate ratio = token0Balance / token1Balance
131
- // Adjust for decimal precision
132
- const decimalAdjustment = 10n ** BigInt(token1Decimals - token0Decimals);
133
- const ratio = (token0Balance * decimalAdjustment) / token1Balance;
134
69
  return {
135
- data: ratio,
70
+ data: {
71
+ details: ratioResponse.data.vaultDetails,
72
+ ratio: ratioResponse.data.ratio,
73
+ },
136
74
  status: 200,
137
75
  success: true
138
76
  };
@@ -151,37 +89,22 @@ export class VaultClient extends SubgraphClient {
151
89
  * @param params The withdrawal parameters
152
90
  */
153
91
  async withdraw(params) {
154
- try {
155
- const account = await this.walletClient.getAddresses();
156
- if (!account[0])
157
- throw new Error('No account found');
158
- const { request } = await this.publicClient.simulateContract({
159
- address: params.vaultAddress,
160
- abi: VAULT_ABI,
161
- functionName: 'withdraw',
162
- args: [
163
- params.shares,
164
- params.amount0Min,
165
- params.amount1Min,
166
- params.to ?? account[0]
167
- ],
168
- account: account[0],
169
- });
170
- const hash = await this.walletClient.writeContract(request);
171
- return {
172
- data: hash,
173
- status: 200,
174
- success: true,
175
- };
176
- }
177
- catch (error) {
178
- return {
179
- data: null,
180
- status: 500,
181
- success: false,
182
- error: error instanceof Error ? error.message : 'Unknown error occurred',
183
- };
184
- }
92
+ return this.withdrawClient.withdraw(params);
93
+ }
94
+ /**
95
+ * Prepares the transaction data for withdrawing tokens from a vault without executing it
96
+ * @param params The withdrawal parameters
97
+ */
98
+ async prepareWithdrawTx(params) {
99
+ return this.withdrawClient.prepareWithdrawTx(params);
100
+ }
101
+ /**
102
+ * Calculates the amount of tokens that would be received for a given amount of LP tokens
103
+ * @param vaultAddress The vault address
104
+ * @param lpToken The amount of LP tokens to calculate for
105
+ */
106
+ async getTokensFromLp(vaultAddress, lpToken) {
107
+ return this.withdrawClient.getTokensFromLp(vaultAddress, lpToken);
185
108
  }
186
109
  /**
187
110
  * Approves spending of tokens for a vault
@@ -395,5 +318,21 @@ export class VaultClient extends SubgraphClient {
395
318
  };
396
319
  }
397
320
  }
321
+ /**
322
+ * Gets a pool instance for a vault
323
+ * @param params The pool instance parameters
324
+ */
325
+ async getPoolInstance(params) {
326
+ return this.depositClient.getPoolInstance(params);
327
+ }
328
+ /**
329
+ * Gets the corresponding token amount based on the provided token amount and ratio
330
+ * @param vaultAddress The vault address
331
+ * @param amount The amount of token to calculate the corresponding amount for
332
+ * @param zeroForOne If true, calculates token1 amount for given token0, if false calculates token0 amount for given token1
333
+ */
334
+ async getCorrespondingTokenAmount(vaultAddress, amount, zeroForOne) {
335
+ return this.depositClient.getCorrespondingTokenAmount(vaultAddress, amount, zeroForOne);
336
+ }
398
337
  }
399
338
  //# sourceMappingURL=VaultClient.js.map