@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.
- package/README.md +147 -58
- 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/calculateDtr.d.ts +3 -0
- package/dist/src/functions/calculateDtr.js +220 -0
- package/dist/src/functions/calculateDtr.js.map +1 -0
- package/dist/src/functions/calculateFees.d.ts +3 -1
- package/dist/src/functions/calculateFees.js +113 -17
- package/dist/src/functions/calculateFees.js.map +1 -1
- package/dist/src/functions/deposit.js +8 -8
- package/dist/src/functions/deposit.js.map +1 -1
- package/dist/src/functions/priceFromPool.d.ts +7 -0
- package/dist/src/functions/priceFromPool.js +199 -0
- package/dist/src/functions/priceFromPool.js.map +1 -0
- package/dist/src/functions/vault.js +2 -2
- package/dist/src/functions/vault.js.map +1 -1
- package/dist/src/functions/vaultEvents.d.ts +6 -0
- package/dist/src/functions/vaultEvents.js +317 -0
- package/dist/src/functions/vaultEvents.js.map +1 -0
- package/dist/src/functions/withdraw.js +1 -1
- package/dist/src/functions/withdraw.js.map +1 -1
- package/dist/src/graphql/constants.js +18 -12
- package/dist/src/graphql/constants.js.map +1 -1
- package/dist/src/graphql/queries.d.ts +4 -2
- package/dist/src/graphql/queries.js +10 -4
- 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/calculateDtr.d.ts +3 -0
- package/dist/src/src/functions/calculateFees.d.ts +3 -1
- package/dist/src/src/functions/priceFromPool.d.ts +7 -0
- package/dist/src/src/functions/vaultEvents.d.ts +6 -0
- package/dist/src/src/graphql/queries.d.ts +4 -2
- package/dist/src/src/index.d.ts +1 -0
- package/dist/src/src/types/index.d.ts +28 -0
- package/dist/src/src/types/vaultQueryData.d.ts +7 -1
- 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 +28 -0
- package/dist/src/types/index.js +2 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/vaultQueryData.d.ts +7 -1
- 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/fees.d.ts +0 -5
- package/dist/src/functions/fees.js +0 -153
- package/dist/src/functions/fees.js.map +0 -1
- 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
|
-
* [`
|
24
|
-
* [`
|
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. `
|
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
|
-
####
|
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
|
+
```
|