@ichidao/ichi-vaults-sdk 0.0.18 → 0.0.20
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.
- package/README.md +157 -48
- package/dist/abis/types/AlgebraPool.d.ts +817 -0
- package/dist/abis/types/AlgebraPool.js +3 -0
- package/dist/abis/types/AlgebraPool.js.map +1 -0
- package/dist/abis/types/DepositGuard.d.ts +100 -13
- package/dist/abis/types/UniswapV3Pool.d.ts +771 -0
- package/dist/abis/types/UniswapV3Pool.js +3 -0
- package/dist/abis/types/UniswapV3Pool.js.map +1 -0
- package/dist/abis/types/factories/AlgebraPool__factory.d.ts +821 -0
- package/dist/abis/types/factories/AlgebraPool__factory.js +1062 -0
- package/dist/abis/types/factories/AlgebraPool__factory.js.map +1 -0
- package/dist/abis/types/factories/DepositGuard__factory.d.ts +124 -4
- package/dist/abis/types/factories/DepositGuard__factory.js +160 -5
- package/dist/abis/types/factories/DepositGuard__factory.js.map +1 -1
- package/dist/abis/types/factories/UniswapV3Pool__factory.d.ts +781 -0
- package/dist/abis/types/factories/UniswapV3Pool__factory.js +1009 -0
- package/dist/abis/types/factories/UniswapV3Pool__factory.js.map +1 -0
- package/dist/abis/types/factories/index.d.ts +2 -0
- package/dist/abis/types/factories/index.js +5 -1
- package/dist/abis/types/factories/index.js.map +1 -1
- package/dist/abis/types/index.d.ts +4 -0
- package/dist/abis/types/index.js +5 -1
- package/dist/abis/types/index.js.map +1 -1
- package/dist/src/__tests__/index.test.js +37 -41
- package/dist/src/__tests__/index.test.js.map +1 -1
- package/dist/src/abis/types/AlgebraPool.d.ts +817 -0
- package/dist/src/abis/types/DepositGuard.d.ts +100 -13
- package/dist/src/abis/types/UniswapV3Pool.d.ts +771 -0
- package/dist/src/abis/types/factories/AlgebraPool__factory.d.ts +821 -0
- package/dist/src/abis/types/factories/DepositGuard__factory.d.ts +124 -4
- package/dist/src/abis/types/factories/UniswapV3Pool__factory.d.ts +781 -0
- package/dist/src/abis/types/factories/index.d.ts +2 -0
- package/dist/src/abis/types/index.d.ts +4 -0
- package/dist/src/contracts/index.d.ts +4 -1
- package/dist/src/contracts/index.js +21 -1
- package/dist/src/contracts/index.js.map +1 -1
- package/dist/src/functions/balances.js +4 -4
- package/dist/src/functions/balances.js.map +1 -1
- package/dist/src/functions/{feesCollected.d.ts → calculateFees.d.ts} +2 -1
- package/dist/src/functions/calculateFees.js +315 -0
- package/dist/src/functions/calculateFees.js.map +1 -0
- package/dist/src/functions/deposit.js +8 -8
- package/dist/src/functions/deposit.js.map +1 -1
- package/dist/src/functions/fees.d.ts +4 -0
- package/dist/src/functions/fees.js +189 -0
- package/dist/src/functions/fees.js.map +1 -0
- package/dist/src/functions/vault.js +13 -11
- package/dist/src/functions/vault.js.map +1 -1
- package/dist/src/functions/withdraw.js +1 -1
- package/dist/src/functions/withdraw.js.map +1 -1
- package/dist/src/graphql/constants.d.ts +5 -1
- package/dist/src/graphql/constants.js +78 -24
- package/dist/src/graphql/constants.js.map +1 -1
- package/dist/src/graphql/queries.d.ts +2 -1
- package/dist/src/graphql/queries.js +6 -3
- package/dist/src/graphql/queries.js.map +1 -1
- package/dist/src/index.cjs.js +2 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.esm.js +2 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/src/contracts/index.d.ts +4 -1
- package/dist/src/src/functions/{feesCollected.d.ts → calculateFees.d.ts} +2 -1
- package/dist/src/src/functions/fees.d.ts +4 -0
- package/dist/src/src/graphql/constants.d.ts +5 -1
- package/dist/src/src/graphql/queries.d.ts +2 -1
- package/dist/src/src/index.d.ts +1 -0
- package/dist/src/src/types/index.d.ts +10 -1
- package/dist/src/src/types/vaultQueryData.d.ts +5 -2
- package/dist/src/src/utils/config/addresses.d.ts +5 -1
- package/dist/src/src/utils/getPrice.d.ts +2 -0
- package/dist/src/src/utils/timestamps.d.ts +1 -0
- package/dist/src/types/index.d.ts +10 -1
- package/dist/src/types/index.js +2 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/vaultQueryData.d.ts +5 -2
- package/dist/src/utils/config/addresses.d.ts +5 -1
- package/dist/src/utils/config/addresses.js +120 -33
- package/dist/src/utils/config/addresses.js.map +1 -1
- package/dist/src/utils/getPrice.d.ts +2 -0
- package/dist/src/utils/getPrice.js +18 -0
- package/dist/src/utils/getPrice.js.map +1 -0
- package/dist/src/utils/timestamps.d.ts +1 -0
- package/dist/src/utils/timestamps.js +7 -0
- package/dist/src/utils/timestamps.js.map +1 -0
- package/package.json +2 -1
- package/dist/src/functions/feesCollected.js +0 -109
- package/dist/src/functions/feesCollected.js.map +0 -1
- package/dist/src/functions/rebalances.d.ts +0 -4
- package/dist/src/functions/rebalances.js +0 -102
- package/dist/src/functions/rebalances.js.map +0 -1
- package/dist/src/src/functions/rebalances.d.ts +0 -4
package/README.md
CHANGED
@@ -19,8 +19,10 @@ This sdk contains collection of functions to interact with IchiVault's smart con
|
|
19
19
|
* [`getUserAmounts()`](#8-getUserAmounts)
|
20
20
|
* [`getTotalSupply()`](#9-getTotalSupply)
|
21
21
|
* [`getTotalAmounts()`](#10-getTotalAmounts)
|
22
|
-
* [`
|
23
|
-
* [`
|
22
|
+
* [`getFeesCollected()`](#11-getFeesCollected)
|
23
|
+
* [`getFeesCollectedInfo()`](#12-getFeesCollectedInfo)
|
24
|
+
* [`getIchiVaultInfo()`](#13-getIchiVaultInfo)
|
25
|
+
* [`getVaultsByTokens()`](#14-getVaultsByTokens)
|
24
26
|
|
25
27
|
## Installation
|
26
28
|
Install with
|
@@ -43,8 +45,8 @@ npm install @ichidao/ichi-vaults-sdk
|
|
43
45
|
| tokenIdx | 0 \| 1 | - | true
|
44
46
|
| vaultAddress | string | - | true |
|
45
47
|
| jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
|
46
|
-
| dex | SupportedDex | - | true |
|
47
|
-
| amount | string \| number | undefined | false |
|
48
|
+
| dex | SupportedDex | - | true |
|
49
|
+
| amount | string \| number | undefined | false |
|
48
50
|
| overrides | [Overrides](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/contracts/lib/index.d.ts#L7) | undefined | false
|
49
51
|
|
50
52
|
<br/>
|
@@ -60,17 +62,17 @@ const amount = 100
|
|
60
62
|
const dex = SupportedDex.UniswapV3
|
61
63
|
|
62
64
|
const txnDetails = await approveDepositToken(
|
63
|
-
accountAddress,
|
65
|
+
accountAddress,
|
64
66
|
0, // token idx can be 0 or 1
|
65
|
-
vaultAddress,
|
67
|
+
vaultAddress,
|
66
68
|
web3Provider,
|
67
69
|
dex,
|
68
70
|
amount // (optional)
|
69
71
|
);
|
70
72
|
|
71
|
-
await txnDetails.wait();
|
73
|
+
await txnDetails.wait();
|
72
74
|
|
73
|
-
// can now deposit token0
|
75
|
+
// can now deposit token0
|
74
76
|
// ...
|
75
77
|
```
|
76
78
|
|
@@ -81,10 +83,10 @@ await txnDetails.wait();
|
|
81
83
|
| accountAddress | string | - | true
|
82
84
|
| amount0 | string \| number | - | true
|
83
85
|
| amount1 | string \| number | - | true
|
84
|
-
| vaultAddress | string | - | true
|
86
|
+
| vaultAddress | string | - | true
|
85
87
|
| jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
|
86
|
-
| dex | SupportedDex | - | true
|
87
|
-
| percentSlippage | number | 1 | false
|
88
|
+
| dex | SupportedDex | - | true
|
89
|
+
| percentSlippage | number | 1 | false
|
88
90
|
| overrides | [Overrides](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/contracts/lib/index.d.ts#L7) | undefined | false
|
89
91
|
|
90
92
|
<br/>
|
@@ -99,13 +101,13 @@ const dex = SupportedDex.UniswapV3
|
|
99
101
|
const accountAddress = "0xaaaa...aaaaaa"
|
100
102
|
|
101
103
|
const amount0 = 100
|
102
|
-
const amount1 = 0
|
103
|
-
|
104
|
+
const amount1 = 0
|
105
|
+
|
104
106
|
const txnDetails = await deposit(
|
105
107
|
accountAddress,
|
106
108
|
amount0, // can be 0 when only depositing amount1
|
107
109
|
amount1, // can be 0 when only depositing amount0
|
108
|
-
vaultAddress,
|
110
|
+
vaultAddress,
|
109
111
|
web3Provider,
|
110
112
|
dex,
|
111
113
|
1 // acceptable slippage (percents)
|
@@ -118,9 +120,9 @@ const txnDetails = await deposit(
|
|
118
120
|
| -------- | -------- | -------- | --------
|
119
121
|
| accountAddress | string | - | true
|
120
122
|
| shares | string \| number | - | true
|
121
|
-
| vaultAddress | string | - | true
|
123
|
+
| vaultAddress | string | - | true
|
122
124
|
| jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
|
123
|
-
| dex | SupportedDex | - | true
|
125
|
+
| dex | SupportedDex | - | true
|
124
126
|
| overrides | [Overrides](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/contracts/lib/index.d.ts#L7) | undefined | false
|
125
127
|
|
126
128
|
<br/>
|
@@ -136,7 +138,7 @@ const accountAddress = "0xaaaa...aaaaaa"
|
|
136
138
|
|
137
139
|
const totalUserShares: string = await getUserBalance(
|
138
140
|
accountAddress,
|
139
|
-
vaultAddress,
|
141
|
+
vaultAddress,
|
140
142
|
web3Provider
|
141
143
|
dex,
|
142
144
|
)
|
@@ -145,8 +147,8 @@ let shares = Number(totalUserShare) * 0.5 // 50% of user deshare balance
|
|
145
147
|
|
146
148
|
const txnDetails = await withdraw(
|
147
149
|
accountAddress,
|
148
|
-
shares,
|
149
|
-
vaultAddress,
|
150
|
+
shares,
|
151
|
+
vaultAddress,
|
150
152
|
web3Provider,
|
151
153
|
dex
|
152
154
|
)
|
@@ -179,7 +181,7 @@ const isToken0Approved: boolean = await isDepositTokenApproved(
|
|
179
181
|
accountAddress,
|
180
182
|
0, // token idx can be 0 or 1
|
181
183
|
amount,
|
182
|
-
vaultAddress,
|
184
|
+
vaultAddress,
|
183
185
|
web3Provider,
|
184
186
|
dex
|
185
187
|
)
|
@@ -192,7 +194,7 @@ const isToken0Approved: boolean = await isDepositTokenApproved(
|
|
192
194
|
| tokenIdx | 0 \| 1 | - | true
|
193
195
|
| vaultAddress | string | - | true |
|
194
196
|
| jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
|
195
|
-
| dex | SupportedDex | - | true |
|
197
|
+
| dex | SupportedDex | - | true |
|
196
198
|
|
197
199
|
<br/>
|
198
200
|
|
@@ -206,7 +208,7 @@ const dex = SupportedDex.UniswapV3
|
|
206
208
|
|
207
209
|
const isAllowed = await isTokenAllowed(
|
208
210
|
0, // token idx can be 0 or 1
|
209
|
-
vaultAddress,
|
211
|
+
vaultAddress,
|
210
212
|
web3Provider,
|
211
213
|
dex
|
212
214
|
)
|
@@ -220,7 +222,7 @@ const isAllowed = await isTokenAllowed(
|
|
220
222
|
| tokenIdx | 0 \| 1 | - | true
|
221
223
|
| vaultAddress | string | - | true |
|
222
224
|
| jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
|
223
|
-
| dex | SupportedDex | - | true |
|
225
|
+
| dex | SupportedDex | - | true |
|
224
226
|
|
225
227
|
<br/>
|
226
228
|
|
@@ -234,7 +236,7 @@ const dex = SupportedDex.UniswapV3
|
|
234
236
|
|
235
237
|
const maxAmount = await getMaxDepositAmount(
|
236
238
|
0, // token idx can be 0 or 1
|
237
|
-
vaultAddress,
|
239
|
+
vaultAddress,
|
238
240
|
web3Provider,
|
239
241
|
dex
|
240
242
|
)
|
@@ -248,8 +250,8 @@ const maxAmount = await getMaxDepositAmount(
|
|
248
250
|
| accountAddress | string | - | true |
|
249
251
|
| vaultAddress | string | - | true |
|
250
252
|
| jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
|
251
|
-
| dex | SupportedDex | - | true
|
252
|
-
| raw | true | undefined | false |
|
253
|
+
| dex | SupportedDex | - | true
|
254
|
+
| raw | true | undefined | false |
|
253
255
|
|
254
256
|
<br/>
|
255
257
|
|
@@ -264,16 +266,16 @@ const accountAddress = "0xaaaa...aaaaaa"
|
|
264
266
|
|
265
267
|
const shares: string = await getUserBalance(
|
266
268
|
accountAddress,
|
267
|
-
vaultAddress,
|
269
|
+
vaultAddress,
|
268
270
|
web3Provider
|
269
271
|
dex
|
270
272
|
)
|
271
273
|
|
272
|
-
// - or -
|
274
|
+
// - or -
|
273
275
|
|
274
276
|
const sharesBN: BigNumber = await getUserBalance(
|
275
277
|
accountAddress,
|
276
|
-
vaultAddress,
|
278
|
+
vaultAddress,
|
277
279
|
web3Provider
|
278
280
|
dex,
|
279
281
|
true
|
@@ -287,8 +289,8 @@ const sharesBN: BigNumber = await getUserBalance(
|
|
287
289
|
| accountAddress | string | - | true |
|
288
290
|
| vaultAddress | string | - | true |
|
289
291
|
| jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
|
290
|
-
| dex | SupportedDex | - | true
|
291
|
-
| raw | true | undefined | false |
|
292
|
+
| dex | SupportedDex | - | true
|
293
|
+
| raw | true | undefined | false |
|
292
294
|
|
293
295
|
<br/>
|
294
296
|
|
@@ -303,16 +305,16 @@ const accountAddress = "0xaaaa...aaaaaa"
|
|
303
305
|
|
304
306
|
const amounts: [string, string] & {amount0: string, amount1: string} = await getUserAmounts(
|
305
307
|
accountAddress,
|
306
|
-
vaultAddress,
|
308
|
+
vaultAddress,
|
307
309
|
web3Provider
|
308
310
|
dex,
|
309
311
|
)
|
310
312
|
|
311
|
-
// - or -
|
313
|
+
// - or -
|
312
314
|
|
313
315
|
const amountsBN: [BigNumber, BigNumber] & {amount0: BigNumber, amount1: BigNumber} = await getUserAmounts(
|
314
316
|
accountAddress,
|
315
|
-
vaultAddress,
|
317
|
+
vaultAddress,
|
316
318
|
web3Provider
|
317
319
|
dex,
|
318
320
|
true
|
@@ -325,8 +327,8 @@ const amountsBN: [BigNumber, BigNumber] & {amount0: BigNumber, amount1: BigNumbe
|
|
325
327
|
| -------- | -------- | -------- | --------
|
326
328
|
| vaultAddress | string | - | true |
|
327
329
|
| jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
|
328
|
-
| dex | SupportedDex | - | true
|
329
|
-
| raw | true | undefined | false |
|
330
|
+
| dex | SupportedDex | - | true
|
331
|
+
| raw | true | undefined | false |
|
330
332
|
|
331
333
|
<br/>
|
332
334
|
|
@@ -340,16 +342,16 @@ const dex = SupportedDex.UniswapV3
|
|
340
342
|
|
341
343
|
const shares: string = await getTotalSupply(
|
342
344
|
accountAddress,
|
343
|
-
vaultAddress,
|
345
|
+
vaultAddress,
|
344
346
|
web3Provider
|
345
347
|
dex,
|
346
348
|
)
|
347
349
|
|
348
|
-
// - or -
|
350
|
+
// - or -
|
349
351
|
|
350
352
|
const sharesBN: BigNumber = await getTotalSupply(
|
351
353
|
accountAddress,
|
352
|
-
vaultAddress,
|
354
|
+
vaultAddress,
|
353
355
|
web3Provider
|
354
356
|
dex,
|
355
357
|
true
|
@@ -362,8 +364,8 @@ const sharesBN: BigNumber = await getTotalSupply(
|
|
362
364
|
| -------- | -------- | -------- | --------
|
363
365
|
| vaultAddress | string | - | true |
|
364
366
|
| jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
|
365
|
-
| dex | SupportedDex | - | true
|
366
|
-
| raw | true | undefined | false |
|
367
|
+
| dex | SupportedDex | - | true
|
368
|
+
| raw | true | undefined | false |
|
367
369
|
|
368
370
|
<br/>
|
369
371
|
|
@@ -378,28 +380,122 @@ const accountAddress = "0xaaaa...aaaaaa"
|
|
378
380
|
|
379
381
|
const amounts: [string, string] & {total0: string, total1: string} = await getTotalAmounts(
|
380
382
|
accountAddress,
|
381
|
-
vaultAddress,
|
383
|
+
vaultAddress,
|
382
384
|
web3Provider
|
383
385
|
dex,
|
384
386
|
)
|
385
387
|
|
386
|
-
// - or -
|
388
|
+
// - or -
|
387
389
|
|
388
390
|
const amountsBN: [BigNumber, BigNumber] & {total0: BigNumber, total1: BigNumber} = await getTotalAmounts(
|
389
391
|
accountAddress,
|
390
|
-
vaultAddress,
|
392
|
+
vaultAddress,
|
391
393
|
web3Provider
|
392
394
|
dex,
|
393
395
|
true
|
394
396
|
)
|
395
397
|
```
|
396
398
|
|
397
|
-
#### 11. `
|
399
|
+
#### 11. `getFeesCollected()`
|
400
|
+
|
401
|
+
| param | type | default | required
|
402
|
+
| -------- | -------- | -------- | --------
|
403
|
+
| vaultAddress | string | - | true |
|
404
|
+
| jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
|
405
|
+
| dex | SupportedDex | - | true
|
406
|
+
| rawOrDays | true or number | undefined | false |
|
407
|
+
| days | number | undefined | false |
|
408
|
+
|
409
|
+
<br/>
|
410
|
+
|
411
|
+
```typescript
|
412
|
+
import { Web3Provider } from '@ethersproject/providers';
|
413
|
+
import { getFeesCollected, SupportedDex } from '@ichidao/ichi-vaults-sdk';
|
414
|
+
|
415
|
+
const web3Provider = new Web3Provider(YOUR_WEB3_PROVIDER);
|
416
|
+
const vaultAddress = "0x3ac9...a5f132";
|
417
|
+
const dex = SupportedDex.UniswapV3;
|
418
|
+
const days = 7;
|
419
|
+
|
420
|
+
const amounts: [string, string] & {total0: string, total1: string} = await getFeesCollected(
|
421
|
+
vaultAddress,
|
422
|
+
web3Provider
|
423
|
+
dex,
|
424
|
+
)
|
425
|
+
|
426
|
+
// - or -
|
427
|
+
|
428
|
+
const amountsBN: [BigNumber, BigNumber] & {total0: BigNumber, total1: BigNumber} = await getFeesCollected(
|
429
|
+
vaultAddress,
|
430
|
+
web3Provider
|
431
|
+
dex,
|
432
|
+
true
|
433
|
+
)
|
434
|
+
|
435
|
+
// - or -
|
436
|
+
|
437
|
+
const amounts: [string, string] & {total0: string, total1: string} = await getFeesCollected(
|
438
|
+
vaultAddress,
|
439
|
+
web3Provider
|
440
|
+
dex,
|
441
|
+
days
|
442
|
+
)
|
443
|
+
|
444
|
+
// - or -
|
445
|
+
|
446
|
+
const amountsBN: [BigNumber, BigNumber] & {total0: BigNumber, total1: BigNumber} = await getFeesCollected(
|
447
|
+
vaultAddress,
|
448
|
+
web3Provider
|
449
|
+
dex,
|
450
|
+
true,
|
451
|
+
days
|
452
|
+
)
|
453
|
+
```
|
454
|
+
|
455
|
+
#### 12. `getFeesCollectedInfo()`
|
456
|
+
|
457
|
+
| param | type | default | required
|
458
|
+
| -------- | -------- | -------- | --------
|
459
|
+
| vaultAddress | string | - | true |
|
460
|
+
| jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
|
461
|
+
| dex | SupportedDex | - | true
|
462
|
+
| forDays | number[] | undefined | false |
|
463
|
+
|
464
|
+
<br/>
|
465
|
+
If forDays is not specified, returns FeesInfo for time periods of 1, 7, and 30 days.
|
466
|
+
<br/>
|
467
|
+
|
468
|
+
```typescript
|
469
|
+
import { Web3Provider } from '@ethersproject/providers';
|
470
|
+
import { getFeesCollectedInfo, SupportedDex } from '@ichidao/ichi-vaults-sdk';
|
471
|
+
|
472
|
+
const web3Provider = new Web3Provider(YOUR_WEB3_PROVIDER);
|
473
|
+
const vaultAddress = "0x3ac9...a5f132";
|
474
|
+
const dex = SupportedDex.UniswapV3;
|
475
|
+
const days = [2, 5, 14, 60];
|
476
|
+
|
477
|
+
const feesInfo: FeesInfo[] = await getFeesCollectedInfo(
|
478
|
+
vaultAddress,
|
479
|
+
web3Provider
|
480
|
+
dex,
|
481
|
+
)
|
482
|
+
|
483
|
+
// - or -
|
484
|
+
|
485
|
+
const feesInfo: FeesInfo[] = await getFeesCollectedInfo(
|
486
|
+
vaultAddress,
|
487
|
+
web3Provider
|
488
|
+
dex,
|
489
|
+
days,
|
490
|
+
)
|
491
|
+
```
|
492
|
+
|
493
|
+
#### 13. `getIchiVaultInfo()`
|
398
494
|
|
399
495
|
| param | type | default | required
|
400
496
|
| -------- | -------- | -------- | --------
|
401
497
|
| chain | SupportedChain | - | true
|
402
|
-
| dex | SupportedDex | - | true
|
498
|
+
| dex | SupportedDex | - | true
|
403
499
|
| vaultAddress | string | - | true |
|
404
500
|
| jsonProvider | JsonRpcProvider | - | false |
|
405
501
|
|
@@ -419,12 +515,12 @@ if (vaultInfo) {
|
|
419
515
|
}
|
420
516
|
```
|
421
517
|
|
422
|
-
####
|
518
|
+
#### 14. `getVaultsByTokens()`
|
423
519
|
|
424
520
|
| param | type | default | required
|
425
521
|
| -------- | -------- | -------- | --------
|
426
522
|
| chain | SupportedChain | - | true
|
427
|
-
| dex | SupportedDex | - | true
|
523
|
+
| dex | SupportedDex | - | true
|
428
524
|
| depositTokenAddress | string | - | true |
|
429
525
|
| pairedTokenAddress | string | - | true |
|
430
526
|
|
@@ -456,6 +552,7 @@ enum SupportedChainId {
|
|
456
552
|
arbitrum = 42161,
|
457
553
|
bsc = 56,
|
458
554
|
eon = 7332,
|
555
|
+
fantom = 250,
|
459
556
|
hedera_testnet = 296,
|
460
557
|
linea = 59144,
|
461
558
|
mainnet = 1,
|
@@ -471,6 +568,7 @@ enum SupportedChainId {
|
|
471
568
|
enum SupportedDex {
|
472
569
|
Ascent = 'Ascent',
|
473
570
|
Blueprint = 'Blueprint',
|
571
|
+
Equalizer = 'Equalizer',
|
474
572
|
Horiza = 'Horiza',
|
475
573
|
Lynex = 'Lynex',
|
476
574
|
Pancakeswap = 'PancakeSwap',
|
@@ -496,3 +594,14 @@ interface IchiVault {
|
|
496
594
|
allowTokenB: boolean;
|
497
595
|
}
|
498
596
|
```
|
597
|
+
|
598
|
+
### FeesInfo
|
599
|
+
|
600
|
+
```typescript
|
601
|
+
type FeesInfo = {
|
602
|
+
timePeriod: number; // in days
|
603
|
+
feeAmount0: string; // in token0
|
604
|
+
feeAmount1: string; // in token1
|
605
|
+
pctAPR: number; // yearly APR based on the timePeriod
|
606
|
+
}
|
607
|
+
```
|