@ichidao/ichi-vaults-sdk 0.0.19 → 0.0.21

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