@ichidao/ichi-vaults-sdk 0.0.20 → 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 (35) hide show
  1. package/README.md +41 -4
  2. package/dist/src/functions/calculateDtr.d.ts +3 -0
  3. package/dist/src/functions/calculateDtr.js +220 -0
  4. package/dist/src/functions/calculateDtr.js.map +1 -0
  5. package/dist/src/functions/calculateFees.d.ts +2 -1
  6. package/dist/src/functions/calculateFees.js +20 -121
  7. package/dist/src/functions/calculateFees.js.map +1 -1
  8. package/dist/src/functions/priceFromPool.d.ts +7 -0
  9. package/dist/src/functions/priceFromPool.js +199 -0
  10. package/dist/src/functions/priceFromPool.js.map +1 -0
  11. package/dist/src/functions/vaultEvents.d.ts +6 -0
  12. package/dist/src/functions/{fees.js → vaultEvents.js} +132 -4
  13. package/dist/src/functions/vaultEvents.js.map +1 -0
  14. package/dist/src/graphql/queries.d.ts +2 -0
  15. package/dist/src/graphql/queries.js +8 -4
  16. package/dist/src/graphql/queries.js.map +1 -1
  17. package/dist/src/index.cjs.js +2 -1
  18. package/dist/src/index.d.ts +1 -0
  19. package/dist/src/index.esm.js +2 -1
  20. package/dist/src/index.js +1 -0
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/src/functions/calculateDtr.d.ts +3 -0
  23. package/dist/src/src/functions/calculateFees.d.ts +2 -1
  24. package/dist/src/src/functions/priceFromPool.d.ts +7 -0
  25. package/dist/src/src/functions/vaultEvents.d.ts +6 -0
  26. package/dist/src/src/graphql/queries.d.ts +2 -0
  27. package/dist/src/src/index.d.ts +1 -0
  28. package/dist/src/src/types/index.d.ts +19 -0
  29. package/dist/src/src/types/vaultQueryData.d.ts +7 -1
  30. package/dist/src/types/index.d.ts +19 -0
  31. package/dist/src/types/vaultQueryData.d.ts +7 -1
  32. package/package.json +1 -1
  33. package/dist/src/functions/fees.d.ts +0 -4
  34. package/dist/src/functions/fees.js.map +0 -1
  35. package/dist/src/src/functions/fees.d.ts +0 -4
package/README.md CHANGED
@@ -21,8 +21,9 @@ This sdk contains collection of functions to interact with IchiVault's smart con
21
21
  * [`getTotalAmounts()`](#10-getTotalAmounts)
22
22
  * [`getFeesCollected()`](#11-getFeesCollected)
23
23
  * [`getFeesCollectedInfo()`](#12-getFeesCollectedInfo)
24
- * [`getIchiVaultInfo()`](#13-getIchiVaultInfo)
25
- * [`getVaultsByTokens()`](#14-getVaultsByTokens)
24
+ * [`getAverageDepositTokenRatios()`](#13-getAverageDepositTokenRatios)
25
+ * [`getIchiVaultInfo()`](#14-getIchiVaultInfo)
26
+ * [`getVaultsByTokens()`](#15-getVaultsByTokens)
26
27
 
27
28
  ## Installation
28
29
  Install with
@@ -490,7 +491,43 @@ const feesInfo: FeesInfo[] = await getFeesCollectedInfo(
490
491
  )
491
492
  ```
492
493
 
493
- #### 13. `getIchiVaultInfo()`
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()`
494
531
 
495
532
  | param | type | default | required
496
533
  | -------- | -------- | -------- | --------
@@ -515,7 +552,7 @@ if (vaultInfo) {
515
552
  }
516
553
  ```
517
554
 
518
- #### 14. `getVaultsByTokens()`
555
+ #### 15. `getVaultsByTokens()`
519
556
 
520
557
  | param | type | default | required
521
558
  | -------- | -------- | -------- | --------
@@ -0,0 +1,3 @@
1
+ import { JsonRpcProvider } from '@ethersproject/providers';
2
+ import { AverageDepositTokenRatio, SupportedDex } from '../types';
3
+ export declare function getAverageDepositTokenRatios(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, timeIntervals?: number[]): Promise<AverageDepositTokenRatio[]>;
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ /* eslint-disable no-redeclare */
3
+ /* eslint-disable import/prefer-default-export */
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
13
+ var __generator = (this && this.__generator) || function (thisArg, body) {
14
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
15
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
16
+ function verb(n) { return function (v) { return step([n, v]); }; }
17
+ function step(op) {
18
+ if (f) throw new TypeError("Generator is already executing.");
19
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
20
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
21
+ if (y = 0, t) op = [op[0] & 2, t.value];
22
+ switch (op[0]) {
23
+ case 0: case 1: t = op; break;
24
+ case 4: _.label++; return { value: op[1], done: false };
25
+ case 5: _.label++; y = op[1]; op = [0]; continue;
26
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
27
+ default:
28
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
29
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
30
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
31
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
32
+ if (t[2]) _.ops.pop();
33
+ _.trys.pop(); continue;
34
+ }
35
+ op = body.call(thisArg, _);
36
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
37
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
38
+ }
39
+ };
40
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
41
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
42
+ if (ar || !(i in from)) {
43
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
44
+ ar[i] = from[i];
45
+ }
46
+ }
47
+ return to.concat(ar || Array.prototype.slice.call(from));
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.getAverageDepositTokenRatios = void 0;
54
+ var bignumber_1 = require("@ethersproject/bignumber");
55
+ var types_1 = require("../types");
56
+ // eslint-disable-next-line import/no-cycle
57
+ var vault_1 = require("./vault");
58
+ var vaultEvents_1 = require("./vaultEvents");
59
+ var balances_1 = require("./balances");
60
+ var formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
61
+ var timestamps_1 = __importDefault(require("../utils/timestamps"));
62
+ var deposit_1 = require("./deposit");
63
+ var getPrice_1 = __importDefault(require("../utils/getPrice"));
64
+ var calculateFees_1 = require("./calculateFees");
65
+ var priceFromPool_1 = require("./priceFromPool");
66
+ // total amounts at deposit or withdrawal in deposit tokens
67
+ function getTotalAmountsAtTransactionEvent(objTransactionEvent, isVaultInverted, token0Decimals, token1Decimals, beforeEvent) {
68
+ var price0 = !isVaultInverted
69
+ ? 1
70
+ : (0, getPrice_1.default)(isVaultInverted, bignumber_1.BigNumber.from(objTransactionEvent.sqrtPrice), token0Decimals, token1Decimals);
71
+ var price1 = isVaultInverted
72
+ ? 1
73
+ : (0, getPrice_1.default)(isVaultInverted, bignumber_1.BigNumber.from(objTransactionEvent.sqrtPrice), token0Decimals, token1Decimals);
74
+ var amount0 = beforeEvent
75
+ ? Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objTransactionEvent.totalAmount0BeforeEvent), token0Decimals)) * price0
76
+ : Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objTransactionEvent.totalAmount0), token0Decimals)) * price0;
77
+ var amount1 = beforeEvent
78
+ ? Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objTransactionEvent.totalAmount1BeforeEvent), token1Decimals)) * price1
79
+ : Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objTransactionEvent.totalAmount1), token1Decimals)) * price1;
80
+ return [amount0, amount1];
81
+ }
82
+ function getDtrAtTransactionEvent(objTransactionEvent, isVaultInverted, token0Decimals, token1Decimals, beforeEvent) {
83
+ if (beforeEvent === void 0) { beforeEvent = false; }
84
+ var timestamp = objTransactionEvent.createdAtTimestamp;
85
+ var totalAmounts = getTotalAmountsAtTransactionEvent(objTransactionEvent, isVaultInverted, token0Decimals, token1Decimals, beforeEvent);
86
+ var dtr = isVaultInverted
87
+ ? (totalAmounts[1] / (totalAmounts[0] + totalAmounts[1])) * 100
88
+ : (totalAmounts[0] / (totalAmounts[0] + totalAmounts[1])) * 100;
89
+ return { atTimestamp: timestamp, percent: dtr };
90
+ }
91
+ function getDtrAtFeeCollectionEvent(objFeeCollectionEvent, isVaultInverted, token0Decimals, token1Decimals) {
92
+ var timestamp = objFeeCollectionEvent.createdAtTimestamp;
93
+ var totalAmounts = (0, calculateFees_1.getTotalAmountsAtFeeCollectionEvent)(objFeeCollectionEvent, isVaultInverted, token0Decimals, token1Decimals);
94
+ var dtr = isVaultInverted
95
+ ? (totalAmounts[1] / (totalAmounts[0] + totalAmounts[1])) * 100
96
+ : (totalAmounts[0] / (totalAmounts[0] + totalAmounts[1])) * 100;
97
+ return { atTimestamp: timestamp, percent: dtr };
98
+ }
99
+ // time Interval in days
100
+ function getAllDtrsForTimeInterval(vaultAddress, jsonProvider, dex, timeInterval) {
101
+ return __awaiter(this, void 0, void 0, function () {
102
+ var chainId, vault, token0Decimals, token1Decimals, isVaultInverted, rebalances, collectedFees, deposits, withdraws, arrRebalances, arrOtherFees, arrDeposits, arrWithdraws, currentDtr, result;
103
+ var _a;
104
+ return __generator(this, function (_b) {
105
+ switch (_b.label) {
106
+ case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
107
+ case 1:
108
+ chainId = (_b.sent()).chainId;
109
+ if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
110
+ throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
111
+ }
112
+ return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress, jsonProvider)];
113
+ case 2:
114
+ vault = _b.sent();
115
+ if (!vault)
116
+ throw new Error("Vault ".concat(vaultAddress, " not found on chain ").concat(chainId, " and dex ").concat(dex));
117
+ return [4 /*yield*/, (0, balances_1.getTokenDecimals)(vault.tokenA, jsonProvider)];
118
+ case 3:
119
+ token0Decimals = _b.sent();
120
+ return [4 /*yield*/, (0, balances_1.getTokenDecimals)(vault.tokenB, jsonProvider)];
121
+ case 4:
122
+ token1Decimals = _b.sent();
123
+ return [4 /*yield*/, (0, deposit_1.isTokenAllowed)(1, vaultAddress, jsonProvider, dex)];
124
+ case 5:
125
+ isVaultInverted = _b.sent();
126
+ return [4 /*yield*/, (0, vaultEvents_1.getRebalances)(vaultAddress, jsonProvider, dex, timeInterval)];
127
+ case 6:
128
+ rebalances = _b.sent();
129
+ if (!rebalances)
130
+ throw new Error("Error getting vault rebalances on ".concat(chainId, " for ").concat(vaultAddress));
131
+ return [4 /*yield*/, (0, vaultEvents_1.getFeesCollectedEvents)(vaultAddress, jsonProvider, dex, timeInterval)];
132
+ case 7:
133
+ collectedFees = _b.sent();
134
+ if (!collectedFees)
135
+ throw new Error("Error getting vault collected fees on ".concat(chainId, " for ").concat(vaultAddress));
136
+ return [4 /*yield*/, (0, vaultEvents_1.getDeposits)(vaultAddress, jsonProvider, dex, timeInterval)];
137
+ case 8:
138
+ deposits = _b.sent();
139
+ if (!deposits)
140
+ throw new Error("Error getting vault deposits on ".concat(chainId, " for ").concat(vaultAddress));
141
+ return [4 /*yield*/, (0, vaultEvents_1.getWithdraws)(vaultAddress, jsonProvider, dex, timeInterval)];
142
+ case 9:
143
+ withdraws = _b.sent();
144
+ if (!withdraws)
145
+ throw new Error("Error getting vault withdraws on ".concat(chainId, " for ").concat(vaultAddress));
146
+ arrRebalances = rebalances
147
+ .slice()
148
+ .filter(function (r) { return Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.default)(timeInterval); })
149
+ .map(function (e) { return getDtrAtFeeCollectionEvent(e, isVaultInverted, token0Decimals, token1Decimals); });
150
+ arrOtherFees = collectedFees
151
+ .slice()
152
+ .filter(function (r) { return Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.default)(timeInterval); })
153
+ .map(function (e) { return getDtrAtFeeCollectionEvent(e, isVaultInverted, token0Decimals, token1Decimals); });
154
+ arrDeposits = deposits
155
+ .slice()
156
+ .filter(function (r) { return Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.default)(timeInterval); })
157
+ .map(function (e) { return getDtrAtTransactionEvent(e, isVaultInverted, token0Decimals, token1Decimals); });
158
+ arrWithdraws = withdraws
159
+ .slice()
160
+ .filter(function (r) { return Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.default)(timeInterval); })
161
+ .map(function (e) { return getDtrAtTransactionEvent(e, isVaultInverted, token0Decimals, token1Decimals); });
162
+ _a = {
163
+ atTimestamp: Math.floor(Date.now() / 1000).toString()
164
+ };
165
+ return [4 /*yield*/, (0, priceFromPool_1.getCurrentDtr)(vaultAddress, jsonProvider, dex, isVaultInverted, token0Decimals, token1Decimals)];
166
+ case 10:
167
+ currentDtr = (_a.percent = _b.sent(),
168
+ _a);
169
+ result = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], arrDeposits, true), arrWithdraws, true), arrRebalances, true), arrOtherFees, true), [currentDtr], false).sort(function (a, b) { return Number(b.atTimestamp) - Number(a.atTimestamp); });
170
+ return [2 /*return*/, result];
171
+ }
172
+ });
173
+ });
174
+ }
175
+ function getAverageDtr(allDtrs) {
176
+ if (allDtrs.length === 0) {
177
+ return 0;
178
+ }
179
+ if (allDtrs.length === 1) {
180
+ return allDtrs[0].percent; // current value
181
+ }
182
+ var dtrsSum = 0;
183
+ for (var i = 0; i < allDtrs.length - 1; i += 1) {
184
+ dtrsSum +=
185
+ ((allDtrs[i].percent + allDtrs[i + 1].percent) / 2) *
186
+ (Number(allDtrs[i + 1].atTimestamp) - Number(allDtrs[i].atTimestamp));
187
+ }
188
+ return dtrsSum / (Number(allDtrs[allDtrs.length - 1].atTimestamp) - Number(allDtrs[0].atTimestamp));
189
+ }
190
+ // timeInterval in days
191
+ function getAverageDepositTokenRatios(vaultAddress, jsonProvider, dex, timeIntervals) {
192
+ if (timeIntervals === void 0) { timeIntervals = [1, 7, 30]; }
193
+ return __awaiter(this, void 0, void 0, function () {
194
+ var forTimeIntervals, maxTimeInterval, allDtrs, result;
195
+ return __generator(this, function (_a) {
196
+ switch (_a.label) {
197
+ case 0:
198
+ forTimeIntervals = timeIntervals;
199
+ if (timeIntervals.length === 0) {
200
+ forTimeIntervals = [0];
201
+ }
202
+ maxTimeInterval = Math.max.apply(Math, forTimeIntervals);
203
+ return [4 /*yield*/, getAllDtrsForTimeInterval(vaultAddress, jsonProvider, dex, maxTimeInterval)];
204
+ case 1:
205
+ allDtrs = _a.sent();
206
+ result = [];
207
+ forTimeIntervals.forEach(function (interval) {
208
+ var dtrsForTimeInterval = interval === 0
209
+ ? [allDtrs[0]]
210
+ : allDtrs.filter(function (elem) { return Number(elem.atTimestamp) * 1000 >= Date.now() - (0, timestamps_1.default)(interval); });
211
+ var averageDtr = getAverageDtr(dtrsForTimeInterval);
212
+ result.push({ timePeriod: interval, percent: averageDtr });
213
+ });
214
+ return [2 /*return*/, result];
215
+ }
216
+ });
217
+ });
218
+ }
219
+ exports.getAverageDepositTokenRatios = getAverageDepositTokenRatios;
220
+ //# sourceMappingURL=calculateDtr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateDtr.js","sourceRoot":"","sources":["../../../src/functions/calculateDtr.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGjD,sDAAqD;AACrD,kCAOkB;AAClB,2CAA2C;AAC3C,iCAA2C;AAC3C,6CAAiG;AACjG,uCAA8C;AAC9C,uEAAiD;AACjD,mEAAqD;AACrD,qCAA2C;AAC3C,+DAAyC;AACzC,iDAAsE;AACtE,iDAAgD;AAEhD,2DAA2D;AAC3D,SAAS,iCAAiC,CACxC,mBAA0C,EAC1C,eAAwB,EACxB,cAAsB,EACtB,cAAsB,EACtB,WAAoB;IAEpB,IAAM,MAAM,GAAG,CAAC,eAAe;QAC7B,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,IAAA,kBAAQ,EAAC,eAAe,EAAE,qBAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAC7G,IAAM,MAAM,GAAG,eAAe;QAC5B,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,IAAA,kBAAQ,EAAC,eAAe,EAAE,qBAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAC7G,IAAM,OAAO,GAAG,WAAW;QACzB,CAAC,CAAC,MAAM,CAAC,IAAA,sBAAY,EAAC,qBAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,MAAM;QAC5G,CAAC,CAAC,MAAM,CAAC,IAAA,sBAAY,EAAC,qBAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC;IACpG,IAAM,OAAO,GAAG,WAAW;QACzB,CAAC,CAAC,MAAM,CAAC,IAAA,sBAAY,EAAC,qBAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,MAAM;QAC5G,CAAC,CAAC,MAAM,CAAC,IAAA,sBAAY,EAAC,qBAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC;IACpG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,wBAAwB,CAC/B,mBAA0C,EAC1C,eAAwB,EACxB,cAAsB,EACtB,cAAsB,EACtB,WAA4B;IAA5B,4BAAA,EAAA,mBAA4B;IAE5B,IAAM,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,CAAC;IACzD,IAAM,YAAY,GAAG,iCAAiC,CACpD,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,CACZ,CAAC;IACF,IAAM,GAAG,GAAG,eAAe;QACzB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;QAC/D,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,0BAA0B,CACjC,qBAA2B,EAC3B,eAAwB,EACxB,cAAsB,EACtB,cAAsB;IAEtB,IAAM,SAAS,GAAG,qBAAqB,CAAC,kBAAkB,CAAC;IAC3D,IAAM,YAAY,GAAG,IAAA,mDAAmC,EACtD,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,cAAc,CACf,CAAC;IACF,IAAM,GAAG,GAAG,eAAe;QACzB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;QAC/D,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAClD,CAAC;AAED,wBAAwB;AACxB,SAAe,yBAAyB,CACtC,YAAoB,EACpB,YAA6B,EAC7B,GAAiB,EACjB,YAAoB;;;;;;wBAEA,qBAAM,YAAY,CAAC,UAAU,EAAE,EAAA;;oBAA3C,OAAO,GAAK,CAAA,SAA+B,CAAA,QAApC;oBAEf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;wBACtD,MAAM,IAAI,KAAK,CAAC,+BAAwB,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,WAAW,CAAE,CAAC,CAAC;qBACnE;oBAEa,qBAAM,IAAA,wBAAgB,EAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,CAAC,EAAA;;oBAAxE,KAAK,GAAG,SAAgE;oBAC9E,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,gBAAS,YAAY,iCAAuB,OAAO,sBAAY,GAAG,CAAE,CAAC,CAAC;oBAC3E,qBAAM,IAAA,2BAAgB,EAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAA;;oBAAnE,cAAc,GAAG,SAAkD;oBAClD,qBAAM,IAAA,2BAAgB,EAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAA;;oBAAnE,cAAc,GAAG,SAAkD;oBACjD,qBAAM,IAAA,wBAAc,EAAC,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,CAAC,EAAA;;oBAA1E,eAAe,GAAG,SAAwD;oBAE7D,qBAAM,IAAA,2BAAa,EAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,EAAA;;oBAA/E,UAAU,GAAG,SAAkE;oBACrF,IAAI,CAAC,UAAU;wBAAE,MAAM,IAAI,KAAK,CAAC,4CAAqC,OAAO,kBAAQ,YAAY,CAAE,CAAC,CAAC;oBAC/E,qBAAM,IAAA,oCAAsB,EAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,EAAA;;oBAA3F,aAAa,GAAG,SAA2E;oBACjG,IAAI,CAAC,aAAa;wBAAE,MAAM,IAAI,KAAK,CAAC,gDAAyC,OAAO,kBAAQ,YAAY,CAAE,CAAC,CAAC;oBAC3F,qBAAM,IAAA,yBAAW,EAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,EAAA;;oBAA3E,QAAQ,GAAG,SAAgE;oBACjF,IAAI,CAAC,QAAQ;wBAAE,MAAM,IAAI,KAAK,CAAC,0CAAmC,OAAO,kBAAQ,YAAY,CAAE,CAAC,CAAC;oBAC/E,qBAAM,IAAA,0BAAY,EAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,EAAA;;oBAA7E,SAAS,GAAG,SAAiE;oBACnF,IAAI,CAAC,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,2CAAoC,OAAO,kBAAQ,YAAY,CAAE,CAAC,CAAC;oBAE7F,aAAa,GAAG,UAAU;yBAC7B,KAAK,EAAE;yBACP,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAA,oBAAkB,EAAC,YAAY,CAAC,EAAnF,CAAmF,CAAC;yBAClG,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,0BAA0B,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC,EAA9E,CAA8E,CAAC,CAAC;oBACxF,YAAY,GAAG,aAAa;yBAC/B,KAAK,EAAE;yBACP,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAA,oBAAkB,EAAC,YAAY,CAAC,EAAnF,CAAmF,CAAC;yBAClG,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,0BAA0B,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC,EAA9E,CAA8E,CAAC,CAAC;oBACxF,WAAW,GAAG,QAAQ;yBACzB,KAAK,EAAE;yBACP,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAA,oBAAkB,EAAC,YAAY,CAAC,EAAnF,CAAmF,CAAC;yBAClG,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,wBAAwB,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC,EAA5E,CAA4E,CAAC,CAAC;oBACtF,YAAY,GAAG,SAAS;yBAC3B,KAAK,EAAE;yBACP,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAA,oBAAkB,EAAC,YAAY,CAAC,EAAnF,CAAmF,CAAC;yBAClG,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,wBAAwB,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC,EAA5E,CAA4E,CAAC,CAAC;;wBAE1F,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE;;oBAC5C,qBAAM,IAAA,6BAAa,EAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC,EAAA;;oBAF1G,UAAU,GAAG,CAEjB,UAAO,GAAE,SAAqG;0BAC1F,CAAA;oBAEhB,MAAM,GAAG,0EAAI,WAAW,SAAK,YAAY,SAAK,aAAa,SAAK,YAAY,UAAE,UAAU,UAAE,IAAI,CAClG,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAA7C,CAA6C,CACxD,CAAC;oBAEF,sBAAO,MAAM,EAAC;;;;CACf;AAED,SAAS,aAAa,CAAC,OAA4B;IACjD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,CAAC,CAAC;KACV;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB;KAC5C;IACD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QAC9C,OAAO;YACL,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;KACzE;IACD,OAAO,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,uBAAuB;AACvB,SAAsB,4BAA4B,CAChD,YAAoB,EACpB,YAA6B,EAC7B,GAAiB,EACjB,aAAoC;IAApC,8BAAA,EAAA,iBAA2B,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;;;;;;oBAEhC,gBAAgB,GAAG,aAAa,CAAC;oBACrC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC9B,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC;qBACxB;oBACK,eAAe,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,gBAAgB,CAAC,CAAC;oBACtC,qBAAM,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,CAAC,EAAA;;oBAA3F,OAAO,GAAG,SAAiF;oBAC3F,MAAM,GAAG,EAAgC,CAAC;oBAChD,gBAAgB,CAAC,OAAO,CAAC,UAAC,QAAQ;wBAChC,IAAM,mBAAmB,GACvB,QAAQ,KAAK,CAAC;4BACZ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;4BACd,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAA,oBAAkB,EAAC,QAAQ,CAAC,EAA5E,CAA4E,CAAC,CAAC;wBAC7G,IAAM,UAAU,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;wBACtD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC7D,CAAC,CAAC,CAAC;oBACH,sBAAO,MAAM,EAAC;;;;CACf;AAtBD,oEAsBC"}
@@ -1,5 +1,6 @@
1
1
  import { JsonRpcProvider } from '@ethersproject/providers';
2
- import { FeesInfo, SupportedDex, TotalAmounts, TotalAmountsBN } from '../types';
2
+ import { Fees, FeesInfo, SupportedDex, TotalAmounts, TotalAmountsBN } from '../types';
3
+ export declare function getTotalAmountsAtFeeCollectionEvent(objFees: Fees, isVaultInverted: boolean, token0Decimals: number, token1Decimals: number): [number, number];
3
4
  export declare function getFeesCollected(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, days?: number): Promise<TotalAmounts>;
4
5
  export declare function getFeesCollected(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true, days?: number): Promise<TotalAmountsBN>;
5
6
  export declare function getFeesCollectedInfo(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, forDays?: number[]): Promise<FeesInfo[]>;
@@ -41,27 +41,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  return (mod && mod.__esModule) ? mod : { "default": mod };
42
42
  };
43
43
  Object.defineProperty(exports, "__esModule", { value: true });
44
- exports.getFeesCollectedInfo = exports.getFeesCollected = void 0;
44
+ exports.getFeesCollectedInfo = exports.getFeesCollected = exports.getTotalAmountsAtFeeCollectionEvent = void 0;
45
45
  var bignumber_1 = require("@ethersproject/bignumber");
46
46
  var types_1 = require("../types");
47
47
  // eslint-disable-next-line import/no-cycle
48
48
  var vault_1 = require("./vault");
49
- var fees_1 = require("./fees");
49
+ var vaultEvents_1 = require("./vaultEvents");
50
50
  var balances_1 = require("./balances");
51
51
  var formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
52
52
  var timestamps_1 = __importDefault(require("../utils/timestamps"));
53
53
  var deposit_1 = require("./deposit");
54
54
  var getPrice_1 = __importDefault(require("../utils/getPrice"));
55
- var contracts_1 = require("../contracts");
56
- var addresses_1 = __importDefault(require("../utils/config/addresses"));
55
+ var priceFromPool_1 = require("./priceFromPool");
57
56
  function getCollectedTokenAmountBN(ind, feesDataset) {
58
- // const filteredDataset = feesDataset.filter((f) => f.createdAtTimestamp> now-days)
59
57
  var amounts = ind === 0
60
58
  ? feesDataset.map(function (r) { return bignumber_1.BigNumber.from(r.feeAmount0); })
61
59
  : feesDataset.map(function (r) { return bignumber_1.BigNumber.from(r.feeAmount1); });
62
60
  var amountBN = amounts.reduce(function (total, curr) { return total.add(curr); }, bignumber_1.BigNumber.from(0));
63
61
  return amountBN;
64
62
  }
63
+ function getTotalAmountsAtFeeCollectionEvent(objFees, isVaultInverted, token0Decimals, token1Decimals) {
64
+ var price0 = !isVaultInverted
65
+ ? 1
66
+ : (0, getPrice_1.default)(isVaultInverted, bignumber_1.BigNumber.from(objFees.sqrtPrice), token0Decimals, token1Decimals);
67
+ var price1 = isVaultInverted
68
+ ? 1
69
+ : (0, getPrice_1.default)(isVaultInverted, bignumber_1.BigNumber.from(objFees.sqrtPrice), token0Decimals, token1Decimals);
70
+ var amount0 = Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objFees.totalAmount0), token0Decimals)) * price0;
71
+ var amount1 = Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objFees.totalAmount1), token1Decimals)) * price1;
72
+ return [amount0, amount1];
73
+ }
74
+ exports.getTotalAmountsAtFeeCollectionEvent = getTotalAmountsAtFeeCollectionEvent;
65
75
  function getFeesAmountInBaseTokens(objFees, isVaultInverted, token0Decimals, token1Decimals) {
66
76
  var price0 = !isVaultInverted
67
77
  ? 1
@@ -77,117 +87,6 @@ function getTotalFeesAmountInBaseTokens(feesDataset, t0decimals, t1decimals, isI
77
87
  var amount = feesDataset.reduce(function (total, curr) { return total + getFeesAmountInBaseTokens(curr, isInverted, t0decimals, t1decimals); }, 0);
78
88
  return amount;
79
89
  }
80
- function getSqrtPriceFromPool(vaultAddress, jsonProvider, dex) {
81
- var _a;
82
- return __awaiter(this, void 0, void 0, function () {
83
- var chainId, vault, vaultContract, poolAddress, poolContract, globalState, poolContract, slot0, e_1;
84
- return __generator(this, function (_b) {
85
- switch (_b.label) {
86
- case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
87
- case 1:
88
- chainId = (_b.sent()).chainId;
89
- if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
90
- throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
91
- }
92
- return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress, jsonProvider)];
93
- case 2:
94
- vault = _b.sent();
95
- if (!vault)
96
- throw new Error("Vault ".concat(vaultAddress, " not found on chain ").concat(chainId, " and dex ").concat(dex));
97
- _b.label = 3;
98
- case 3:
99
- _b.trys.push([3, 9, , 10]);
100
- vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
101
- return [4 /*yield*/, vaultContract.pool()];
102
- case 4:
103
- poolAddress = _b.sent();
104
- if (!((_a = addresses_1.default[chainId][dex]) === null || _a === void 0 ? void 0 : _a.isAlgebra)) return [3 /*break*/, 6];
105
- poolContract = (0, contracts_1.getAlgebraPoolContract)(poolAddress, jsonProvider);
106
- return [4 /*yield*/, poolContract.globalState()];
107
- case 5:
108
- globalState = _b.sent();
109
- return [2 /*return*/, globalState.price];
110
- case 6:
111
- poolContract = (0, contracts_1.getUniswapV3PoolContract)(poolAddress, jsonProvider);
112
- return [4 /*yield*/, poolContract.slot0()];
113
- case 7:
114
- slot0 = _b.sent();
115
- return [2 /*return*/, slot0[0]];
116
- case 8: return [3 /*break*/, 10];
117
- case 9:
118
- e_1 = _b.sent();
119
- console.error("Could not get price from vault ".concat(vaultAddress, " "));
120
- throw e_1;
121
- case 10: return [2 /*return*/];
122
- }
123
- });
124
- });
125
- }
126
- function getCurrPrice(vaultAddress, jsonProvider, dex, isVaultInverted, token0decimals, token1decimals) {
127
- return __awaiter(this, void 0, void 0, function () {
128
- var chainId, vault, sqrtPrice, depositTokenDecimals, scarseTokenDecimals, price, e_2;
129
- return __generator(this, function (_a) {
130
- switch (_a.label) {
131
- case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
132
- case 1:
133
- chainId = (_a.sent()).chainId;
134
- if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
135
- throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
136
- }
137
- return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress, jsonProvider)];
138
- case 2:
139
- vault = _a.sent();
140
- if (!vault)
141
- throw new Error("Vault ".concat(vaultAddress, " not found on chain ").concat(chainId, " and dex ").concat(dex));
142
- _a.label = 3;
143
- case 3:
144
- _a.trys.push([3, 5, , 6]);
145
- return [4 /*yield*/, getSqrtPriceFromPool(vaultAddress, jsonProvider, dex)];
146
- case 4:
147
- sqrtPrice = _a.sent();
148
- depositTokenDecimals = isVaultInverted ? token1decimals : token0decimals;
149
- scarseTokenDecimals = isVaultInverted ? token0decimals : token1decimals;
150
- price = (0, getPrice_1.default)(isVaultInverted, sqrtPrice, depositTokenDecimals, scarseTokenDecimals, 15);
151
- return [2 /*return*/, price];
152
- case 5:
153
- e_2 = _a.sent();
154
- console.error("Could not get price from vault ".concat(vaultAddress, " "));
155
- throw e_2;
156
- case 6: return [2 /*return*/];
157
- }
158
- });
159
- });
160
- }
161
- function getVaultTvl(vaultAddress, jsonProvider, dex, isVaultInverted, token0decimals, token1decimals) {
162
- return __awaiter(this, void 0, void 0, function () {
163
- var chainId, vault, totalAmounts, price, tvl;
164
- return __generator(this, function (_a) {
165
- switch (_a.label) {
166
- case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
167
- case 1:
168
- chainId = (_a.sent()).chainId;
169
- if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
170
- throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
171
- }
172
- return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress, jsonProvider)];
173
- case 2:
174
- vault = _a.sent();
175
- if (!vault)
176
- throw new Error("Vault ".concat(vaultAddress, " not found on chain ").concat(chainId, " and dex ").concat(dex));
177
- return [4 /*yield*/, (0, balances_1.getTotalAmounts)(vaultAddress, jsonProvider, dex)];
178
- case 3:
179
- totalAmounts = _a.sent();
180
- return [4 /*yield*/, getCurrPrice(vaultAddress, jsonProvider, dex, isVaultInverted, token0decimals, token1decimals)];
181
- case 4:
182
- price = _a.sent();
183
- tvl = !isVaultInverted
184
- ? Number(totalAmounts.total0) + Number(totalAmounts.total1) * price
185
- : Number(totalAmounts.total1) + Number(totalAmounts.total0) * price;
186
- return [2 /*return*/, tvl];
187
- }
188
- });
189
- });
190
- }
191
90
  function getFeesCollected(vaultAddress, jsonProvider, dex, rawOrDays, days) {
192
91
  return __awaiter(this, void 0, void 0, function () {
193
92
  var chainId, vault, token0Decimals, token1Decimals, numOfDays, rebalances, collectedFees, amount0BN, amount1BN, feeAmountsBN, feeAmounts;
@@ -211,12 +110,12 @@ function getFeesCollected(vaultAddress, jsonProvider, dex, rawOrDays, days) {
211
110
  case 4:
212
111
  token1Decimals = _a.sent();
213
112
  numOfDays = typeof rawOrDays === 'boolean' ? days : rawOrDays;
214
- return [4 /*yield*/, (0, fees_1.getRebalances)(vaultAddress, jsonProvider, dex, numOfDays)];
113
+ return [4 /*yield*/, (0, vaultEvents_1.getRebalances)(vaultAddress, jsonProvider, dex, numOfDays)];
215
114
  case 5:
216
115
  rebalances = _a.sent();
217
116
  if (!rebalances)
218
117
  throw new Error("Error getting vault rebalances on ".concat(chainId, " for ").concat(vaultAddress));
219
- return [4 /*yield*/, (0, fees_1.getFeesCollectedEvents)(vaultAddress, jsonProvider, dex, numOfDays)];
118
+ return [4 /*yield*/, (0, vaultEvents_1.getFeesCollectedEvents)(vaultAddress, jsonProvider, dex, numOfDays)];
220
119
  case 6:
221
120
  collectedFees = _a.sent();
222
121
  if (!collectedFees)
@@ -269,18 +168,18 @@ function getFeesCollectedInfo(vaultAddress, jsonProvider, dex, forDays) {
269
168
  return [4 /*yield*/, (0, deposit_1.isTokenAllowed)(1, vaultAddress, jsonProvider, dex)];
270
169
  case 5:
271
170
  isVaultInverted = _a.sent();
272
- return [4 /*yield*/, getVaultTvl(vaultAddress, jsonProvider, dex, isVaultInverted, token0Decimals, token1Decimals)];
171
+ return [4 /*yield*/, (0, priceFromPool_1.getVaultTvl)(vaultAddress, jsonProvider, dex, isVaultInverted, token0Decimals, token1Decimals)];
273
172
  case 6:
274
173
  tvl = _a.sent();
275
174
  defaultArrayDays = [1, 7, 30];
276
175
  arrayDays = forDays && forDays.length > 0 ? forDays : defaultArrayDays;
277
176
  maxTimePeriod = Math.max.apply(Math, arrayDays);
278
- return [4 /*yield*/, (0, fees_1.getRebalances)(vaultAddress, jsonProvider, dex, maxTimePeriod)];
177
+ return [4 /*yield*/, (0, vaultEvents_1.getRebalances)(vaultAddress, jsonProvider, dex, maxTimePeriod)];
279
178
  case 7:
280
179
  rebalances = _a.sent();
281
180
  if (!rebalances)
282
181
  throw new Error("Error getting vault rebalances on ".concat(chainId, " for ").concat(vaultAddress));
283
- return [4 /*yield*/, (0, fees_1.getFeesCollectedEvents)(vaultAddress, jsonProvider, dex, maxTimePeriod)];
182
+ return [4 /*yield*/, (0, vaultEvents_1.getFeesCollectedEvents)(vaultAddress, jsonProvider, dex, maxTimePeriod)];
284
183
  case 8:
285
184
  collectedFees = _a.sent();
286
185
  if (!collectedFees)
@@ -1 +1 @@
1
- {"version":3,"file":"calculateFees.js","sourceRoot":"","sources":["../../../src/functions/calculateFees.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculateFees.js","sourceRoot":"","sources":["../../../src/functions/calculateFees.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { JsonRpcProvider } from '@ethersproject/providers';
2
+ import { BigNumber } from '@ethersproject/bignumber';
3
+ import { SupportedDex } from '../types';
4
+ export declare function getSqrtPriceFromPool(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<BigNumber>;
5
+ export declare function getCurrPrice(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, isVaultInverted: boolean, token0decimals: number, token1decimals: number): Promise<number>;
6
+ export declare function getCurrentDtr(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, isVaultInverted: boolean, token0decimals: number, token1decimals: number): Promise<number>;
7
+ export declare function getVaultTvl(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, isVaultInverted: boolean, token0decimals: number, token1decimals: number): Promise<number>;