@ichidao/ichi-vaults-sdk 0.1.43 → 2.0.1

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 (210) hide show
  1. package/README.md +62 -208
  2. package/dist/abis/types/AlgebraIntegralPool.d.ts +702 -793
  3. package/dist/abis/types/AlgebraPool.d.ts +693 -730
  4. package/dist/abis/types/ClPool.d.ts +789 -871
  5. package/dist/abis/types/DepositGuard.d.ts +193 -178
  6. package/dist/abis/types/DepositGuardWithHtsWrapping.d.ts +300 -297
  7. package/dist/abis/types/ERC20.d.ts +120 -147
  8. package/dist/abis/types/ERC20Wrapper.d.ts +147 -155
  9. package/dist/abis/types/IchiVault.d.ts +598 -728
  10. package/dist/abis/types/MultiFeeDistributer.d.ts +314 -423
  11. package/dist/abis/types/Multicall.d.ts +58 -73
  12. package/dist/abis/types/UniswapV3Pool.d.ts +654 -693
  13. package/dist/abis/types/common.d.ts +40 -12
  14. package/dist/abis/types/factories/AlgebraIntegralPool__factory.d.ts +2 -3
  15. package/dist/abis/types/factories/AlgebraIntegralPool__factory.js +10 -13
  16. package/dist/abis/types/factories/AlgebraIntegralPool__factory.js.map +1 -1
  17. package/dist/abis/types/factories/AlgebraPool__factory.d.ts +2 -3
  18. package/dist/abis/types/factories/AlgebraPool__factory.js +10 -13
  19. package/dist/abis/types/factories/AlgebraPool__factory.js.map +1 -1
  20. package/dist/abis/types/factories/ClPool__factory.d.ts +2 -3
  21. package/dist/abis/types/factories/ClPool__factory.js +10 -13
  22. package/dist/abis/types/factories/ClPool__factory.js.map +1 -1
  23. package/dist/abis/types/factories/DepositGuardWithHtsWrapping__factory.d.ts +2 -3
  24. package/dist/abis/types/factories/DepositGuardWithHtsWrapping__factory.js +10 -13
  25. package/dist/abis/types/factories/DepositGuardWithHtsWrapping__factory.js.map +1 -1
  26. package/dist/abis/types/factories/DepositGuard__factory.d.ts +2 -3
  27. package/dist/abis/types/factories/DepositGuard__factory.js +10 -13
  28. package/dist/abis/types/factories/DepositGuard__factory.js.map +1 -1
  29. package/dist/abis/types/factories/ERC20Wrapper__factory.d.ts +2 -3
  30. package/dist/abis/types/factories/ERC20Wrapper__factory.js +10 -13
  31. package/dist/abis/types/factories/ERC20Wrapper__factory.js.map +1 -1
  32. package/dist/abis/types/factories/ERC20__factory.d.ts +2 -3
  33. package/dist/abis/types/factories/ERC20__factory.js +10 -13
  34. package/dist/abis/types/factories/ERC20__factory.js.map +1 -1
  35. package/dist/abis/types/factories/IchiVault__factory.d.ts +2 -3
  36. package/dist/abis/types/factories/IchiVault__factory.js +10 -13
  37. package/dist/abis/types/factories/IchiVault__factory.js.map +1 -1
  38. package/dist/abis/types/factories/MultiFeeDistributer__factory.d.ts +2 -3
  39. package/dist/abis/types/factories/MultiFeeDistributer__factory.js +10 -13
  40. package/dist/abis/types/factories/MultiFeeDistributer__factory.js.map +1 -1
  41. package/dist/abis/types/factories/Multicall__factory.d.ts +2 -3
  42. package/dist/abis/types/factories/Multicall__factory.js +10 -13
  43. package/dist/abis/types/factories/Multicall__factory.js.map +1 -1
  44. package/dist/abis/types/factories/UniswapV3Pool__factory.d.ts +2 -3
  45. package/dist/abis/types/factories/UniswapV3Pool__factory.js +10 -13
  46. package/dist/abis/types/factories/UniswapV3Pool__factory.js.map +1 -1
  47. package/dist/src/__tests__/index.test.js +356 -738
  48. package/dist/src/__tests__/index.test.js.map +1 -1
  49. package/dist/src/abis/types/AlgebraIntegralPool.d.ts +702 -793
  50. package/dist/src/abis/types/AlgebraPool.d.ts +693 -730
  51. package/dist/src/abis/types/ClPool.d.ts +789 -871
  52. package/dist/src/abis/types/DepositGuard.d.ts +193 -178
  53. package/dist/src/abis/types/DepositGuardWithHtsWrapping.d.ts +300 -297
  54. package/dist/src/abis/types/ERC20.d.ts +120 -147
  55. package/dist/src/abis/types/ERC20Wrapper.d.ts +147 -155
  56. package/dist/src/abis/types/IchiVault.d.ts +598 -728
  57. package/dist/src/abis/types/MultiFeeDistributer.d.ts +314 -423
  58. package/dist/src/abis/types/Multicall.d.ts +58 -73
  59. package/dist/src/abis/types/UniswapV3Pool.d.ts +654 -693
  60. package/dist/src/abis/types/common.d.ts +40 -12
  61. package/dist/src/abis/types/factories/AlgebraIntegralPool__factory.d.ts +2 -3
  62. package/dist/src/abis/types/factories/AlgebraPool__factory.d.ts +2 -3
  63. package/dist/src/abis/types/factories/ClPool__factory.d.ts +2 -3
  64. package/dist/src/abis/types/factories/DepositGuardWithHtsWrapping__factory.d.ts +2 -3
  65. package/dist/src/abis/types/factories/DepositGuard__factory.d.ts +2 -3
  66. package/dist/src/abis/types/factories/ERC20Wrapper__factory.d.ts +2 -3
  67. package/dist/src/abis/types/factories/ERC20__factory.d.ts +2 -3
  68. package/dist/src/abis/types/factories/IchiVault__factory.d.ts +2 -3
  69. package/dist/src/abis/types/factories/MultiFeeDistributer__factory.d.ts +2 -3
  70. package/dist/src/abis/types/factories/Multicall__factory.d.ts +2 -3
  71. package/dist/src/abis/types/factories/UniswapV3Pool__factory.d.ts +2 -3
  72. package/dist/src/contracts/index.d.ts +1 -1
  73. package/dist/src/contracts/index.js +12 -12
  74. package/dist/src/contracts/index.js.map +1 -1
  75. package/dist/src/functions/_totalBalances.d.ts +2 -3
  76. package/dist/src/functions/_totalBalances.js +46 -117
  77. package/dist/src/functions/_totalBalances.js.map +1 -1
  78. package/dist/src/functions/_vaultEvents.js +347 -488
  79. package/dist/src/functions/_vaultEvents.js.map +1 -1
  80. package/dist/src/functions/_withdrawHelpers.d.ts +2 -3
  81. package/dist/src/functions/_withdrawHelpers.js +13 -62
  82. package/dist/src/functions/_withdrawHelpers.js.map +1 -1
  83. package/dist/src/functions/calculateApr.d.ts +1 -1
  84. package/dist/src/functions/calculateApr.js +77 -150
  85. package/dist/src/functions/calculateApr.js.map +1 -1
  86. package/dist/src/functions/calculateDtr.d.ts +1 -1
  87. package/dist/src/functions/calculateDtr.js +84 -169
  88. package/dist/src/functions/calculateDtr.js.map +1 -1
  89. package/dist/src/functions/calculateFees.d.ts +1 -1
  90. package/dist/src/functions/calculateFees.js +97 -172
  91. package/dist/src/functions/calculateFees.js.map +1 -1
  92. package/dist/src/functions/chains.js +6 -6
  93. package/dist/src/functions/chains.js.map +1 -1
  94. package/dist/src/functions/claimRewards.d.ts +3 -4
  95. package/dist/src/functions/claimRewards.js +29 -92
  96. package/dist/src/functions/claimRewards.js.map +1 -1
  97. package/dist/src/functions/deposit.d.ts +7 -9
  98. package/dist/src/functions/deposit.js +199 -364
  99. package/dist/src/functions/deposit.js.map +1 -1
  100. package/dist/src/functions/depositWithHtsWrapping.d.ts +4 -6
  101. package/dist/src/functions/depositWithHtsWrapping.js +109 -226
  102. package/dist/src/functions/depositWithHtsWrapping.js.map +1 -1
  103. package/dist/src/functions/getFeeAprs.d.ts +1 -1
  104. package/dist/src/functions/getFeeAprs.js +55 -111
  105. package/dist/src/functions/getFeeAprs.js.map +1 -1
  106. package/dist/src/functions/priceFromPool.d.ts +3 -4
  107. package/dist/src/functions/priceFromPool.js +99 -208
  108. package/dist/src/functions/priceFromPool.js.map +1 -1
  109. package/dist/src/functions/rewardInfo.js +79 -159
  110. package/dist/src/functions/rewardInfo.js.map +1 -1
  111. package/dist/src/functions/totalBalances.d.ts +2 -3
  112. package/dist/src/functions/totalBalances.js +14 -67
  113. package/dist/src/functions/totalBalances.js.map +1 -1
  114. package/dist/src/functions/userBalances.d.ts +2 -3
  115. package/dist/src/functions/userBalances.js +244 -368
  116. package/dist/src/functions/userBalances.js.map +1 -1
  117. package/dist/src/functions/userRewards.d.ts +1 -1
  118. package/dist/src/functions/userRewards.js +87 -145
  119. package/dist/src/functions/userRewards.js.map +1 -1
  120. package/dist/src/functions/vault.d.ts +1 -1
  121. package/dist/src/functions/vault.js +203 -383
  122. package/dist/src/functions/vault.js.map +1 -1
  123. package/dist/src/functions/vaultBasics.js +6 -7
  124. package/dist/src/functions/vaultBasics.js.map +1 -1
  125. package/dist/src/functions/vaultMetrics.d.ts +1 -1
  126. package/dist/src/functions/vaultMetrics.js +111 -189
  127. package/dist/src/functions/vaultMetrics.js.map +1 -1
  128. package/dist/src/functions/vaultPositions.d.ts +1 -1
  129. package/dist/src/functions/vaultPositions.js +69 -134
  130. package/dist/src/functions/vaultPositions.js.map +1 -1
  131. package/dist/src/functions/vaultTvl.d.ts +1 -1
  132. package/dist/src/functions/vaultTvl.js +80 -165
  133. package/dist/src/functions/vaultTvl.js.map +1 -1
  134. package/dist/src/functions/withdraw.d.ts +6 -8
  135. package/dist/src/functions/withdraw.js +165 -295
  136. package/dist/src/functions/withdraw.js.map +1 -1
  137. package/dist/src/functions/withdrawWithErc20Wrapping.d.ts +2 -4
  138. package/dist/src/functions/withdrawWithErc20Wrapping.js +59 -126
  139. package/dist/src/functions/withdrawWithErc20Wrapping.js.map +1 -1
  140. package/dist/src/graphql/constants.js +217 -212
  141. package/dist/src/graphql/constants.js.map +1 -1
  142. package/dist/src/graphql/functions.js +30 -102
  143. package/dist/src/graphql/functions.js.map +1 -1
  144. package/dist/src/graphql/queries.js +407 -42
  145. package/dist/src/graphql/queries.js.map +1 -1
  146. package/dist/src/index.cjs.js +2 -2
  147. package/dist/src/index.esm.js +2 -2
  148. package/dist/src/src/contracts/index.d.ts +1 -1
  149. package/dist/src/src/functions/_totalBalances.d.ts +2 -3
  150. package/dist/src/src/functions/_withdrawHelpers.d.ts +2 -3
  151. package/dist/src/src/functions/calculateApr.d.ts +1 -1
  152. package/dist/src/src/functions/calculateDtr.d.ts +1 -1
  153. package/dist/src/src/functions/calculateFees.d.ts +1 -1
  154. package/dist/src/src/functions/claimRewards.d.ts +3 -4
  155. package/dist/src/src/functions/deposit.d.ts +7 -9
  156. package/dist/src/src/functions/depositWithHtsWrapping.d.ts +4 -6
  157. package/dist/src/src/functions/getFeeAprs.d.ts +1 -1
  158. package/dist/src/src/functions/priceFromPool.d.ts +3 -4
  159. package/dist/src/src/functions/totalBalances.d.ts +2 -3
  160. package/dist/src/src/functions/userBalances.d.ts +2 -3
  161. package/dist/src/src/functions/userRewards.d.ts +1 -1
  162. package/dist/src/src/functions/vault.d.ts +1 -1
  163. package/dist/src/src/functions/vaultMetrics.d.ts +1 -1
  164. package/dist/src/src/functions/vaultPositions.d.ts +1 -1
  165. package/dist/src/src/functions/vaultTvl.d.ts +1 -1
  166. package/dist/src/src/functions/withdraw.d.ts +6 -8
  167. package/dist/src/src/functions/withdrawWithErc20Wrapping.d.ts +2 -4
  168. package/dist/src/src/types/calculateGasMargin.d.ts +1 -2
  169. package/dist/src/src/types/index.d.ts +12 -13
  170. package/dist/src/src/utils/amountWithSlippage.d.ts +1 -2
  171. package/dist/src/src/utils/config/addresses.d.ts +1 -1
  172. package/dist/src/src/utils/formatBigInt.d.ts +1 -2
  173. package/dist/src/src/utils/getPrice.d.ts +1 -2
  174. package/dist/src/src/utils/multicallUtils.d.ts +9 -10
  175. package/dist/src/src/utils/parseBigInt.d.ts +1 -2
  176. package/dist/src/types/calculateGasMargin.d.ts +1 -2
  177. package/dist/src/types/calculateGasMargin.js +4 -5
  178. package/dist/src/types/calculateGasMargin.js.map +1 -1
  179. package/dist/src/types/index.d.ts +12 -13
  180. package/dist/src/types/index.js +1 -0
  181. package/dist/src/types/index.js.map +1 -1
  182. package/dist/src/utils/amountWithSlippage.d.ts +1 -2
  183. package/dist/src/utils/amountWithSlippage.js +1 -1
  184. package/dist/src/utils/amountWithSlippage.js.map +1 -1
  185. package/dist/src/utils/cache.js +2 -2
  186. package/dist/src/utils/cache.js.map +1 -1
  187. package/dist/src/utils/config/addresses.d.ts +1 -1
  188. package/dist/src/utils/config/addresses.js +276 -268
  189. package/dist/src/utils/config/addresses.js.map +1 -1
  190. package/dist/src/utils/formatBigInt.d.ts +1 -2
  191. package/dist/src/utils/formatBigInt.js +4 -5
  192. package/dist/src/utils/formatBigInt.js.map +1 -1
  193. package/dist/src/utils/getConfigByFactory.js +24 -28
  194. package/dist/src/utils/getConfigByFactory.js.map +1 -1
  195. package/dist/src/utils/getGraphUrls.js +8 -12
  196. package/dist/src/utils/getGraphUrls.js.map +1 -1
  197. package/dist/src/utils/getPrice.d.ts +1 -2
  198. package/dist/src/utils/getPrice.js +5 -6
  199. package/dist/src/utils/getPrice.js.map +1 -1
  200. package/dist/src/utils/isVelodrome.js +2 -3
  201. package/dist/src/utils/isVelodrome.js.map +1 -1
  202. package/dist/src/utils/multicallUtils.d.ts +9 -10
  203. package/dist/src/utils/multicallUtils.js +38 -93
  204. package/dist/src/utils/multicallUtils.js.map +1 -1
  205. package/dist/src/utils/parseBigInt.d.ts +1 -2
  206. package/dist/src/utils/parseBigInt.js +5 -7
  207. package/dist/src/utils/parseBigInt.js.map +1 -1
  208. package/dist/src/utils/positionKey.js +2 -4
  209. package/dist/src/utils/positionKey.js.map +1 -1
  210. package/package.json +5 -17
@@ -1,153 +1,88 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
39
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
4
  };
41
5
  Object.defineProperty(exports, "__esModule", { value: true });
42
6
  exports.getVaultPositions = void 0;
43
7
  // eslint-disable-next-line import/no-cycle
44
- var vault_1 = require("./vault");
45
- var contracts_1 = require("../contracts");
46
- var _totalBalances_1 = require("./_totalBalances");
47
- var formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
48
- var univ3prices = require('@thanpolas/univ3prices');
8
+ const vault_1 = require("./vault");
9
+ const contracts_1 = require("../contracts");
10
+ const _totalBalances_1 = require("./_totalBalances");
11
+ const formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
12
+ const univ3prices = require('@thanpolas/univ3prices');
49
13
  function getPriceAtTick(decimals, tick) {
50
- var price = univ3prices.tickPrice(decimals, tick);
14
+ const price = univ3prices.tickPrice(decimals, tick);
51
15
  return price;
52
16
  }
53
17
  // get price at tick in deposit tokens
54
18
  function getPriceInDepositToken(isVaultInverted, decimals, tick) {
55
- var priceFromPool = getPriceAtTick(decimals, tick);
56
- var result = (isVaultInverted && tick > 0) || (!isVaultInverted && tick < 0)
19
+ const priceFromPool = getPriceAtTick(decimals, tick);
20
+ const result = (isVaultInverted && tick > 0) || (!isVaultInverted && tick < 0)
57
21
  ? Number(priceFromPool.toFixed())
58
22
  : 1 / Number(priceFromPool.toFixed());
59
23
  return result;
60
24
  }
61
- function getVaultPositions(vaultAddress, jsonProvider, dex) {
62
- return __awaiter(this, void 0, void 0, function () {
63
- var _a, chainId, vault, decimals0, decimals1, tokenDecimals, isInv, vaultContract, baseLower, baseUpper, limitLower, limitUpper, currentTick, basePosition, limitPosition, priceAtBaseLower, priceAtBaseUpper, priceAtLimitLower, priceAtLimitUpper, currentPrice, basePositionTvl, limitPositionTvl, e_1;
64
- return __generator(this, function (_b) {
65
- switch (_b.label) {
66
- case 0: return [4 /*yield*/, (0, vault_1.validateVaultData)(vaultAddress, jsonProvider, dex)];
67
- case 1:
68
- _a = _b.sent(), chainId = _a.chainId, vault = _a.vault;
69
- return [4 /*yield*/, (0, _totalBalances_1.getTokenDecimals)(vault.tokenA, jsonProvider, chainId)];
70
- case 2:
71
- decimals0 = _b.sent();
72
- return [4 /*yield*/, (0, _totalBalances_1.getTokenDecimals)(vault.tokenB, jsonProvider, chainId)];
73
- case 3:
74
- decimals1 = _b.sent();
75
- tokenDecimals = [decimals0, decimals1];
76
- isInv = vault.allowTokenB;
77
- vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
78
- _b.label = 4;
79
- case 4:
80
- _b.trys.push([4, 12, , 13]);
81
- return [4 /*yield*/, vaultContract.baseLower()];
82
- case 5:
83
- baseLower = _b.sent();
84
- return [4 /*yield*/, vaultContract.baseUpper()];
85
- case 6:
86
- baseUpper = _b.sent();
87
- return [4 /*yield*/, vaultContract.limitLower()];
88
- case 7:
89
- limitLower = _b.sent();
90
- return [4 /*yield*/, vaultContract.limitUpper()];
91
- case 8:
92
- limitUpper = _b.sent();
93
- return [4 /*yield*/, vaultContract.currentTick()];
94
- case 9:
95
- currentTick = _b.sent();
96
- return [4 /*yield*/, vaultContract.getBasePosition()];
97
- case 10:
98
- basePosition = _b.sent();
99
- return [4 /*yield*/, vaultContract.getLimitPosition()];
100
- case 11:
101
- limitPosition = _b.sent();
102
- priceAtBaseLower = getPriceInDepositToken(isInv, tokenDecimals, baseLower);
103
- priceAtBaseUpper = getPriceInDepositToken(isInv, tokenDecimals, baseUpper);
104
- priceAtLimitLower = getPriceInDepositToken(isInv, tokenDecimals, limitLower);
105
- priceAtLimitUpper = getPriceInDepositToken(isInv, tokenDecimals, limitUpper);
106
- currentPrice = getPriceInDepositToken(isInv, tokenDecimals, currentTick);
107
- basePositionTvl = !isInv
108
- ? Number((0, formatBigInt_1.default)(basePosition.amount0, decimals0)) +
109
- Number((0, formatBigInt_1.default)(basePosition.amount1, decimals1)) * currentPrice
110
- : Number((0, formatBigInt_1.default)(basePosition.amount1, decimals1)) +
111
- Number((0, formatBigInt_1.default)(basePosition.amount0, decimals0)) * currentPrice;
112
- limitPositionTvl = !isInv
113
- ? Number((0, formatBigInt_1.default)(limitPosition.amount0, decimals0)) +
114
- Number((0, formatBigInt_1.default)(limitPosition.amount1, decimals1)) * currentPrice
115
- : Number((0, formatBigInt_1.default)(limitPosition.amount1, decimals1)) +
116
- Number((0, formatBigInt_1.default)(limitPosition.amount0, decimals0)) * currentPrice;
117
- return [2 /*return*/, {
118
- currentTick: currentTick,
119
- currentPrice: currentPrice,
120
- positions: [
121
- {
122
- tickLower: baseLower,
123
- tickUpper: baseUpper,
124
- priceLower: priceAtBaseLower,
125
- priceUpper: priceAtBaseUpper,
126
- liquidity: basePosition.liquidity.toString(),
127
- amountToken0: basePosition.amount0.toString(),
128
- amountToken1: basePosition.amount1.toString(),
129
- positionTvl: basePositionTvl,
130
- },
131
- {
132
- tickLower: limitLower,
133
- tickUpper: limitUpper,
134
- priceLower: priceAtLimitLower,
135
- priceUpper: priceAtLimitUpper,
136
- liquidity: limitPosition.liquidity.toString(),
137
- amountToken0: limitPosition.amount0.toString(),
138
- amountToken1: limitPosition.amount1.toString(),
139
- positionTvl: limitPositionTvl,
140
- },
141
- ],
142
- }];
143
- case 12:
144
- e_1 = _b.sent();
145
- console.error("Could not get vault positions for vault ".concat(vaultAddress, " "));
146
- throw e_1;
147
- case 13: return [2 /*return*/];
148
- }
149
- });
150
- });
25
+ async function getVaultPositions(vaultAddress, jsonProvider, dex) {
26
+ const { chainId, vault } = await (0, vault_1.validateVaultData)(vaultAddress, jsonProvider, dex);
27
+ const decimals0 = await (0, _totalBalances_1.getTokenDecimals)(vault.tokenA, jsonProvider, chainId);
28
+ const decimals1 = await (0, _totalBalances_1.getTokenDecimals)(vault.tokenB, jsonProvider, chainId);
29
+ const tokenDecimals = [decimals0, decimals1];
30
+ const isInv = vault.allowTokenB;
31
+ const vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
32
+ try {
33
+ const baseLower = Number(await vaultContract.baseLower());
34
+ const baseUpper = Number(await vaultContract.baseUpper());
35
+ const limitLower = Number(await vaultContract.limitLower());
36
+ const limitUpper = Number(await vaultContract.limitUpper());
37
+ const currentTick = Number(await vaultContract.currentTick());
38
+ const basePosition = await vaultContract.getBasePosition();
39
+ const limitPosition = await vaultContract.getLimitPosition();
40
+ const priceAtBaseLower = getPriceInDepositToken(isInv, tokenDecimals, baseLower);
41
+ const priceAtBaseUpper = getPriceInDepositToken(isInv, tokenDecimals, baseUpper);
42
+ const priceAtLimitLower = getPriceInDepositToken(isInv, tokenDecimals, limitLower);
43
+ const priceAtLimitUpper = getPriceInDepositToken(isInv, tokenDecimals, limitUpper);
44
+ const currentPrice = getPriceInDepositToken(isInv, tokenDecimals, currentTick);
45
+ const basePositionTvl = !isInv
46
+ ? Number((0, formatBigInt_1.default)(basePosition.amount0, decimals0)) +
47
+ Number((0, formatBigInt_1.default)(basePosition.amount1, decimals1)) * currentPrice
48
+ : Number((0, formatBigInt_1.default)(basePosition.amount1, decimals1)) +
49
+ Number((0, formatBigInt_1.default)(basePosition.amount0, decimals0)) * currentPrice;
50
+ const limitPositionTvl = !isInv
51
+ ? Number((0, formatBigInt_1.default)(limitPosition.amount0, decimals0)) +
52
+ Number((0, formatBigInt_1.default)(limitPosition.amount1, decimals1)) * currentPrice
53
+ : Number((0, formatBigInt_1.default)(limitPosition.amount1, decimals1)) +
54
+ Number((0, formatBigInt_1.default)(limitPosition.amount0, decimals0)) * currentPrice;
55
+ return {
56
+ currentTick,
57
+ currentPrice,
58
+ positions: [
59
+ {
60
+ tickLower: baseLower,
61
+ tickUpper: baseUpper,
62
+ priceLower: priceAtBaseLower,
63
+ priceUpper: priceAtBaseUpper,
64
+ liquidity: basePosition.liquidity.toString(),
65
+ amountToken0: basePosition.amount0.toString(),
66
+ amountToken1: basePosition.amount1.toString(),
67
+ positionTvl: basePositionTvl,
68
+ },
69
+ {
70
+ tickLower: limitLower,
71
+ tickUpper: limitUpper,
72
+ priceLower: priceAtLimitLower,
73
+ priceUpper: priceAtLimitUpper,
74
+ liquidity: limitPosition.liquidity.toString(),
75
+ amountToken0: limitPosition.amount0.toString(),
76
+ amountToken1: limitPosition.amount1.toString(),
77
+ positionTvl: limitPositionTvl,
78
+ },
79
+ ],
80
+ };
81
+ }
82
+ catch (e) {
83
+ console.error(`Could not get vault positions for vault ${vaultAddress} `);
84
+ throw e;
85
+ }
151
86
  }
152
87
  exports.getVaultPositions = getVaultPositions;
153
88
  //# sourceMappingURL=vaultPositions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vaultPositions.js","sourceRoot":"","sources":["../../../src/functions/vaultPositions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vaultPositions.js","sourceRoot":"","sources":["../../../src/functions/vaultPositions.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { JsonRpcProvider } from '@ethersproject/providers';
1
+ import { JsonRpcProvider } from 'ethers';
2
2
  import { IchiVault, SupportedDex, VaultState, VaultTransactionEvent } from '../types';
3
3
  export type VaultEvent = {
4
4
  atTimestamp: string;
@@ -1,209 +1,124 @@
1
1
  "use strict";
2
2
  /* eslint-disable no-redeclare */
3
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
4
  var __importDefault = (this && this.__importDefault) || function (mod) {
50
5
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
6
  };
52
7
  Object.defineProperty(exports, "__esModule", { value: true });
53
8
  exports.getVaultEventsForTimeInterval = exports.getTvlAtFeeCollectionEvent = exports.getTvlAtTransactionEvent = void 0;
54
- var bignumber_1 = require("@ethersproject/bignumber");
55
9
  // eslint-disable-next-line import/no-cycle
56
- var vault_1 = require("./vault");
57
- var _totalBalances_1 = require("./_totalBalances");
58
- var formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
59
- var timestamps_1 = require("../utils/timestamps");
60
- var getPrice_1 = __importDefault(require("../utils/getPrice"));
61
- var calculateFees_1 = require("./calculateFees");
62
- var priceFromPool_1 = require("./priceFromPool");
63
- var _vaultEvents_1 = require("./_vaultEvents");
64
- var calculateDtr_1 = require("./calculateDtr");
10
+ const vault_1 = require("./vault");
11
+ const _totalBalances_1 = require("./_totalBalances");
12
+ const formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
13
+ const timestamps_1 = require("../utils/timestamps");
14
+ const getPrice_1 = __importDefault(require("../utils/getPrice"));
15
+ const calculateFees_1 = require("./calculateFees");
16
+ const priceFromPool_1 = require("./priceFromPool");
17
+ const _vaultEvents_1 = require("./_vaultEvents");
18
+ const calculateDtr_1 = require("./calculateDtr");
65
19
  function formatVaultEvent(dtr, tvl, fee, lpPrice, poolPrice) {
66
20
  return {
67
21
  atTimestamp: dtr.atTimestamp,
68
22
  dtr: dtr.percent,
69
- tvl: tvl,
23
+ tvl,
70
24
  feeAmount: fee,
71
- lpPrice: lpPrice,
72
- poolPrice: poolPrice,
25
+ lpPrice,
26
+ poolPrice,
73
27
  };
74
28
  }
75
29
  // get price from the pool/vault
76
30
  function getPoolPriceAtTransactionEvent(objTransactionEvent, isVaultInverted, token0Decimals, token1Decimals) {
77
- var depositTokenDecimals = isVaultInverted ? token1Decimals : token0Decimals;
78
- var scarceTokenDecimals = isVaultInverted ? token0Decimals : token1Decimals;
79
- var price = (0, getPrice_1.default)(isVaultInverted, bignumber_1.BigNumber.from(objTransactionEvent.sqrtPrice), depositTokenDecimals, scarceTokenDecimals, 15);
31
+ const depositTokenDecimals = isVaultInverted ? token1Decimals : token0Decimals;
32
+ const scarceTokenDecimals = isVaultInverted ? token0Decimals : token1Decimals;
33
+ const price = (0, getPrice_1.default)(isVaultInverted, BigInt(objTransactionEvent.sqrtPrice), depositTokenDecimals, scarceTokenDecimals, 15);
80
34
  return price;
81
35
  }
82
36
  // total amounts at deposit or withdrawal in deposit tokens
83
37
  function getTotalAmountsAtTransactionEvent(objTransactionEvent, isVaultInverted, token0Decimals, token1Decimals, beforeEvent) {
84
- var depositTokenDecimals = isVaultInverted ? token1Decimals : token0Decimals;
85
- var scarceTokenDecimals = isVaultInverted ? token0Decimals : token1Decimals;
86
- var price0 = !isVaultInverted
38
+ const depositTokenDecimals = isVaultInverted ? token1Decimals : token0Decimals;
39
+ const scarceTokenDecimals = isVaultInverted ? token0Decimals : token1Decimals;
40
+ const price0 = !isVaultInverted
87
41
  ? 1
88
- : (0, getPrice_1.default)(isVaultInverted, bignumber_1.BigNumber.from(objTransactionEvent.sqrtPrice), depositTokenDecimals, scarceTokenDecimals, 15);
89
- var price1 = isVaultInverted
42
+ : (0, getPrice_1.default)(isVaultInverted, BigInt(objTransactionEvent.sqrtPrice), depositTokenDecimals, scarceTokenDecimals, 15);
43
+ const price1 = isVaultInverted
90
44
  ? 1
91
- : (0, getPrice_1.default)(isVaultInverted, bignumber_1.BigNumber.from(objTransactionEvent.sqrtPrice), depositTokenDecimals, scarceTokenDecimals, 15);
92
- var amount0 = beforeEvent
93
- ? Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objTransactionEvent.totalAmount0BeforeEvent), token0Decimals)) * price0
94
- : Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objTransactionEvent.totalAmount0), token0Decimals)) * price0;
95
- var amount1 = beforeEvent
96
- ? Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objTransactionEvent.totalAmount1BeforeEvent), token1Decimals)) * price1
97
- : Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objTransactionEvent.totalAmount1), token1Decimals)) * price1;
45
+ : (0, getPrice_1.default)(isVaultInverted, BigInt(objTransactionEvent.sqrtPrice), depositTokenDecimals, scarceTokenDecimals, 15);
46
+ const amount0 = beforeEvent
47
+ ? Number((0, formatBigInt_1.default)(BigInt(objTransactionEvent.totalAmount0BeforeEvent), token0Decimals)) * price0
48
+ : Number((0, formatBigInt_1.default)(BigInt(objTransactionEvent.totalAmount0), token0Decimals)) * price0;
49
+ const amount1 = beforeEvent
50
+ ? Number((0, formatBigInt_1.default)(BigInt(objTransactionEvent.totalAmount1BeforeEvent), token1Decimals)) * price1
51
+ : Number((0, formatBigInt_1.default)(BigInt(objTransactionEvent.totalAmount1), token1Decimals)) * price1;
98
52
  return [amount0, amount1];
99
53
  }
100
54
  function getTvlAtTransactionEvent(objTransactionEvent, vault, token0decimals, token1decimals) {
101
- var isVaultInverted = vault.allowTokenB;
102
- var totalAmounts = getTotalAmountsAtTransactionEvent(objTransactionEvent, isVaultInverted, token0decimals, token1decimals, false);
103
- var tvl = totalAmounts[0] + totalAmounts[1];
55
+ const isVaultInverted = vault.allowTokenB;
56
+ const totalAmounts = getTotalAmountsAtTransactionEvent(objTransactionEvent, isVaultInverted, token0decimals, token1decimals, false);
57
+ const tvl = totalAmounts[0] + totalAmounts[1];
104
58
  return tvl;
105
59
  }
106
60
  exports.getTvlAtTransactionEvent = getTvlAtTransactionEvent;
107
61
  function getTvlAtFeeCollectionEvent(objFeeCollectionEvent, vault, token0decimals, token1decimals) {
108
- var isVaultInverted = vault.allowTokenB;
109
- var totalAmounts = (0, calculateFees_1.getTotalAmountsAtFeeCollectionEvent)(objFeeCollectionEvent, isVaultInverted, token0decimals, token1decimals);
110
- var tvl = totalAmounts[0] + totalAmounts[1];
62
+ const isVaultInverted = vault.allowTokenB;
63
+ const totalAmounts = (0, calculateFees_1.getTotalAmountsAtFeeCollectionEvent)(objFeeCollectionEvent, isVaultInverted, token0decimals, token1decimals);
64
+ const tvl = totalAmounts[0] + totalAmounts[1];
111
65
  return tvl;
112
66
  }
113
67
  exports.getTvlAtFeeCollectionEvent = getTvlAtFeeCollectionEvent;
114
68
  function getLpPriceAtFeeCollectionEvent(objTransactionEvent, vault, token0decimals, token1decimals) {
115
- var tvl = getTvlAtFeeCollectionEvent(objTransactionEvent, vault, token0decimals, token1decimals);
116
- var totalSupply = Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objTransactionEvent.totalSupply), 18));
69
+ const tvl = getTvlAtFeeCollectionEvent(objTransactionEvent, vault, token0decimals, token1decimals);
70
+ const totalSupply = Number((0, formatBigInt_1.default)(BigInt(objTransactionEvent.totalSupply), 18));
117
71
  return tvl / totalSupply;
118
72
  }
119
73
  function getLpPriceAtTransactionEvent(objTransactionEvent, vault, token0decimals, token1decimals) {
120
- var tvl = getTvlAtTransactionEvent(objTransactionEvent, vault, token0decimals, token1decimals);
121
- var totalSupply = Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objTransactionEvent.totalSupply), 18));
74
+ const tvl = getTvlAtTransactionEvent(objTransactionEvent, vault, token0decimals, token1decimals);
75
+ const totalSupply = Number((0, formatBigInt_1.default)(BigInt(objTransactionEvent.totalSupply), 18));
122
76
  return tvl / totalSupply;
123
77
  }
124
78
  // time Interval in days
125
- function getVaultEventsForTimeInterval(vaultAddress, jsonProvider, dex, timeInterval) {
126
- return __awaiter(this, void 0, void 0, function () {
127
- var _a, chainId, vault, token0Decimals, token1Decimals, isVaultInverted, rebalances, collectedFees, deposits, withdraws, arrRebalances, arrOtherFees, arrDeposits, arrWithdraws, currentVaultEvent, result;
128
- var _b;
129
- return __generator(this, function (_c) {
130
- switch (_c.label) {
131
- case 0: return [4 /*yield*/, (0, vault_1.validateVaultData)(vaultAddress, jsonProvider, dex)];
132
- case 1:
133
- _a = _c.sent(), chainId = _a.chainId, vault = _a.vault;
134
- return [4 /*yield*/, (0, _totalBalances_1.getTokenDecimals)(vault.tokenA, jsonProvider, chainId)];
135
- case 2:
136
- token0Decimals = _c.sent();
137
- return [4 /*yield*/, (0, _totalBalances_1.getTokenDecimals)(vault.tokenB, jsonProvider, chainId)];
138
- case 3:
139
- token1Decimals = _c.sent();
140
- isVaultInverted = vault.allowTokenB;
141
- return [4 /*yield*/, (0, _vaultEvents_1._getRebalances)(vaultAddress, chainId, dex, timeInterval)];
142
- case 4:
143
- rebalances = _c.sent();
144
- if (!rebalances)
145
- throw new Error("Error getting vault rebalances on ".concat(chainId, " for ").concat(vaultAddress));
146
- return [4 /*yield*/, (0, _vaultEvents_1._getFeesCollectedEvents)(vaultAddress, chainId, dex, timeInterval)];
147
- case 5:
148
- collectedFees = _c.sent();
149
- if (!collectedFees)
150
- throw new Error("Error getting vault collected fees on ".concat(chainId, " for ").concat(vaultAddress));
151
- return [4 /*yield*/, (0, _vaultEvents_1._getDeposits)(vaultAddress, chainId, dex, timeInterval)];
152
- case 6:
153
- deposits = _c.sent();
154
- if (!deposits)
155
- throw new Error("Error getting vault deposits on ".concat(chainId, " for ").concat(vaultAddress));
156
- return [4 /*yield*/, (0, _vaultEvents_1._getWithdraws)(vaultAddress, chainId, dex, timeInterval)];
157
- case 7:
158
- withdraws = _c.sent();
159
- if (!withdraws)
160
- throw new Error("Error getting vault withdraws on ".concat(chainId, " for ").concat(vaultAddress));
161
- arrRebalances = rebalances
162
- .slice()
163
- .filter(function (r) { return Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.daysToMilliseconds)(timeInterval); })
164
- .map(function (e) {
165
- return formatVaultEvent((0, calculateDtr_1.getDtrAtFeeCollectionEvent)(e, vault.allowTokenB, token0Decimals, token1Decimals), getTvlAtFeeCollectionEvent(e, vault, token0Decimals, token1Decimals), (0, calculateFees_1.getFeesAmountInBaseTokens)(e, vault.allowTokenB, token0Decimals, token1Decimals), getLpPriceAtFeeCollectionEvent(e, vault, token0Decimals, token1Decimals), getPoolPriceAtTransactionEvent(e, isVaultInverted, token0Decimals, token1Decimals));
166
- });
167
- arrOtherFees = collectedFees
168
- .slice()
169
- .filter(function (r) { return Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.daysToMilliseconds)(timeInterval); })
170
- .map(function (e) {
171
- return formatVaultEvent((0, calculateDtr_1.getDtrAtFeeCollectionEvent)(e, vault.allowTokenB, token0Decimals, token1Decimals), getTvlAtFeeCollectionEvent(e, vault, token0Decimals, token1Decimals), (0, calculateFees_1.getFeesAmountInBaseTokens)(e, vault.allowTokenB, token0Decimals, token1Decimals), getLpPriceAtFeeCollectionEvent(e, vault, token0Decimals, token1Decimals), getPoolPriceAtTransactionEvent(e, isVaultInverted, token0Decimals, token1Decimals));
172
- });
173
- arrDeposits = deposits
174
- .slice()
175
- .filter(function (r) { return Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.daysToMilliseconds)(timeInterval); })
176
- .map(function (e) {
177
- return formatVaultEvent((0, calculateDtr_1.getDtrAtTransactionEvent)(e, vault.allowTokenB, token0Decimals, token1Decimals), getTvlAtTransactionEvent(e, vault, token0Decimals, token1Decimals), 0, getLpPriceAtTransactionEvent(e, vault, token0Decimals, token1Decimals), getPoolPriceAtTransactionEvent(e, isVaultInverted, token0Decimals, token1Decimals));
178
- });
179
- arrWithdraws = withdraws
180
- .slice()
181
- .filter(function (r) { return Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.daysToMilliseconds)(timeInterval); })
182
- .map(function (e) {
183
- return formatVaultEvent((0, calculateDtr_1.getDtrAtTransactionEvent)(e, vault.allowTokenB, token0Decimals, token1Decimals), getTvlAtTransactionEvent(e, vault, token0Decimals, token1Decimals), 0, getLpPriceAtTransactionEvent(e, vault, token0Decimals, token1Decimals), getPoolPriceAtTransactionEvent(e, isVaultInverted, token0Decimals, token1Decimals));
184
- });
185
- _b = {
186
- atTimestamp: Math.floor(Date.now() / 1000).toString()
187
- };
188
- return [4 /*yield*/, (0, priceFromPool_1.getCurrentDtr)(vaultAddress, jsonProvider, dex, isVaultInverted, token0Decimals, token1Decimals)];
189
- case 8:
190
- _b.dtr = _c.sent();
191
- return [4 /*yield*/, (0, priceFromPool_1.getVaultTvl)(vault, jsonProvider, chainId, dex, isVaultInverted, token0Decimals, token1Decimals)];
192
- case 9:
193
- _b.tvl = _c.sent(),
194
- _b.feeAmount = 0;
195
- return [4 /*yield*/, (0, priceFromPool_1.getCurrLpPrice)(vault, jsonProvider, dex, chainId, isVaultInverted, token0Decimals, token1Decimals)];
196
- case 10:
197
- _b.lpPrice = _c.sent();
198
- return [4 /*yield*/, (0, priceFromPool_1.getCurrPrice)(vault, jsonProvider, chainId, dex, isVaultInverted, token0Decimals, token1Decimals)];
199
- case 11:
200
- currentVaultEvent = (_b.poolPrice = _c.sent(),
201
- _b);
202
- result = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], arrDeposits, true), arrWithdraws, true), arrRebalances, true), arrOtherFees, true), [currentVaultEvent], false).sort(function (a, b) { return Number(b.atTimestamp) - Number(a.atTimestamp); });
203
- return [2 /*return*/, result];
204
- }
205
- });
206
- });
79
+ async function getVaultEventsForTimeInterval(vaultAddress, jsonProvider, dex, timeInterval) {
80
+ const { chainId, vault } = await (0, vault_1.validateVaultData)(vaultAddress, jsonProvider, dex);
81
+ const token0Decimals = await (0, _totalBalances_1.getTokenDecimals)(vault.tokenA, jsonProvider, chainId);
82
+ const token1Decimals = await (0, _totalBalances_1.getTokenDecimals)(vault.tokenB, jsonProvider, chainId);
83
+ const isVaultInverted = vault.allowTokenB;
84
+ const rebalances = await (0, _vaultEvents_1._getRebalances)(vaultAddress, chainId, dex, timeInterval);
85
+ if (!rebalances)
86
+ throw new Error(`Error getting vault rebalances on ${chainId} for ${vaultAddress}`);
87
+ const collectedFees = await (0, _vaultEvents_1._getFeesCollectedEvents)(vaultAddress, chainId, dex, timeInterval);
88
+ if (!collectedFees)
89
+ throw new Error(`Error getting vault collected fees on ${chainId} for ${vaultAddress}`);
90
+ const deposits = await (0, _vaultEvents_1._getDeposits)(vaultAddress, chainId, dex, timeInterval);
91
+ if (!deposits)
92
+ throw new Error(`Error getting vault deposits on ${chainId} for ${vaultAddress}`);
93
+ const withdraws = await (0, _vaultEvents_1._getWithdraws)(vaultAddress, chainId, dex, timeInterval);
94
+ if (!withdraws)
95
+ throw new Error(`Error getting vault withdraws on ${chainId} for ${vaultAddress}`);
96
+ const arrRebalances = rebalances
97
+ .slice()
98
+ .filter((r) => Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.daysToMilliseconds)(timeInterval))
99
+ .map((e) => formatVaultEvent((0, calculateDtr_1.getDtrAtFeeCollectionEvent)(e, vault.allowTokenB, token0Decimals, token1Decimals), getTvlAtFeeCollectionEvent(e, vault, token0Decimals, token1Decimals), (0, calculateFees_1.getFeesAmountInBaseTokens)(e, vault.allowTokenB, token0Decimals, token1Decimals), getLpPriceAtFeeCollectionEvent(e, vault, token0Decimals, token1Decimals), getPoolPriceAtTransactionEvent(e, isVaultInverted, token0Decimals, token1Decimals)));
100
+ const arrOtherFees = collectedFees
101
+ .slice()
102
+ .filter((r) => Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.daysToMilliseconds)(timeInterval))
103
+ .map((e) => formatVaultEvent((0, calculateDtr_1.getDtrAtFeeCollectionEvent)(e, vault.allowTokenB, token0Decimals, token1Decimals), getTvlAtFeeCollectionEvent(e, vault, token0Decimals, token1Decimals), (0, calculateFees_1.getFeesAmountInBaseTokens)(e, vault.allowTokenB, token0Decimals, token1Decimals), getLpPriceAtFeeCollectionEvent(e, vault, token0Decimals, token1Decimals), getPoolPriceAtTransactionEvent(e, isVaultInverted, token0Decimals, token1Decimals)));
104
+ const arrDeposits = deposits
105
+ .slice()
106
+ .filter((r) => Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.daysToMilliseconds)(timeInterval))
107
+ .map((e) => formatVaultEvent((0, calculateDtr_1.getDtrAtTransactionEvent)(e, vault.allowTokenB, token0Decimals, token1Decimals), getTvlAtTransactionEvent(e, vault, token0Decimals, token1Decimals), 0, getLpPriceAtTransactionEvent(e, vault, token0Decimals, token1Decimals), getPoolPriceAtTransactionEvent(e, isVaultInverted, token0Decimals, token1Decimals)));
108
+ const arrWithdraws = withdraws
109
+ .slice()
110
+ .filter((r) => Number(r.createdAtTimestamp) * 1000 > Date.now() - (0, timestamps_1.daysToMilliseconds)(timeInterval))
111
+ .map((e) => formatVaultEvent((0, calculateDtr_1.getDtrAtTransactionEvent)(e, vault.allowTokenB, token0Decimals, token1Decimals), getTvlAtTransactionEvent(e, vault, token0Decimals, token1Decimals), 0, getLpPriceAtTransactionEvent(e, vault, token0Decimals, token1Decimals), getPoolPriceAtTransactionEvent(e, isVaultInverted, token0Decimals, token1Decimals)));
112
+ const currentVaultEvent = {
113
+ atTimestamp: Math.floor(Date.now() / 1000).toString(),
114
+ dtr: await (0, priceFromPool_1.getCurrentDtr)(vaultAddress, jsonProvider, dex, isVaultInverted, token0Decimals, token1Decimals),
115
+ tvl: await (0, priceFromPool_1.getVaultTvl)(vault, jsonProvider, chainId, dex, isVaultInverted, token0Decimals, token1Decimals),
116
+ feeAmount: 0,
117
+ lpPrice: await (0, priceFromPool_1.getCurrLpPrice)(vault, jsonProvider, dex, chainId, isVaultInverted, token0Decimals, token1Decimals),
118
+ poolPrice: await (0, priceFromPool_1.getCurrPrice)(vault, jsonProvider, chainId, dex, isVaultInverted, token0Decimals, token1Decimals),
119
+ };
120
+ const result = [...arrDeposits, ...arrWithdraws, ...arrRebalances, ...arrOtherFees, currentVaultEvent].sort((a, b) => Number(b.atTimestamp) - Number(a.atTimestamp));
121
+ return result;
207
122
  }
208
123
  exports.getVaultEventsForTimeInterval = getVaultEventsForTimeInterval;
209
124
  //# sourceMappingURL=vaultTvl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vaultTvl.js","sourceRoot":"","sources":["../../../src/functions/vaultTvl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vaultTvl.js","sourceRoot":"","sources":["../../../src/functions/vaultTvl.ts"],"names":[],"mappings":"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"}