@ichidao/ichi-vaults-sdk 0.1.42 → 2.0.0

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 (215) hide show
  1. package/README.md +61 -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 +376 -700
  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 +211 -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 +3 -2
  147. package/dist/src/index.d.ts +1 -0
  148. package/dist/src/index.esm.js +3 -2
  149. package/dist/src/index.js +1 -0
  150. package/dist/src/index.js.map +1 -1
  151. package/dist/src/src/contracts/index.d.ts +1 -1
  152. package/dist/src/src/functions/_totalBalances.d.ts +2 -3
  153. package/dist/src/src/functions/_withdrawHelpers.d.ts +2 -3
  154. package/dist/src/src/functions/calculateApr.d.ts +1 -1
  155. package/dist/src/src/functions/calculateDtr.d.ts +1 -1
  156. package/dist/src/src/functions/calculateFees.d.ts +1 -1
  157. package/dist/src/src/functions/claimRewards.d.ts +3 -4
  158. package/dist/src/src/functions/deposit.d.ts +7 -9
  159. package/dist/src/src/functions/depositWithHtsWrapping.d.ts +4 -6
  160. package/dist/src/src/functions/getFeeAprs.d.ts +1 -1
  161. package/dist/src/src/functions/priceFromPool.d.ts +3 -4
  162. package/dist/src/src/functions/totalBalances.d.ts +2 -3
  163. package/dist/src/src/functions/userBalances.d.ts +2 -3
  164. package/dist/src/src/functions/userRewards.d.ts +1 -1
  165. package/dist/src/src/functions/vault.d.ts +1 -1
  166. package/dist/src/src/functions/vaultMetrics.d.ts +1 -1
  167. package/dist/src/src/functions/vaultPositions.d.ts +1 -1
  168. package/dist/src/src/functions/vaultTvl.d.ts +1 -1
  169. package/dist/src/src/functions/withdraw.d.ts +6 -8
  170. package/dist/src/src/functions/withdrawWithErc20Wrapping.d.ts +2 -4
  171. package/dist/src/src/index.d.ts +1 -0
  172. package/dist/src/src/types/calculateGasMargin.d.ts +1 -2
  173. package/dist/src/src/types/index.d.ts +11 -13
  174. package/dist/src/src/utils/amountWithSlippage.d.ts +1 -2
  175. package/dist/src/src/utils/config/addresses.d.ts +1 -1
  176. package/dist/src/src/utils/formatBigInt.d.ts +1 -2
  177. package/dist/src/src/utils/getConfigByFactory.d.ts +33 -0
  178. package/dist/src/src/utils/getPrice.d.ts +1 -2
  179. package/dist/src/src/utils/multicallUtils.d.ts +9 -10
  180. package/dist/src/src/utils/parseBigInt.d.ts +1 -2
  181. package/dist/src/types/calculateGasMargin.d.ts +1 -2
  182. package/dist/src/types/calculateGasMargin.js +4 -5
  183. package/dist/src/types/calculateGasMargin.js.map +1 -1
  184. package/dist/src/types/index.d.ts +11 -13
  185. package/dist/src/types/index.js.map +1 -1
  186. package/dist/src/utils/amountWithSlippage.d.ts +1 -2
  187. package/dist/src/utils/amountWithSlippage.js +1 -1
  188. package/dist/src/utils/amountWithSlippage.js.map +1 -1
  189. package/dist/src/utils/cache.js +2 -2
  190. package/dist/src/utils/cache.js.map +1 -1
  191. package/dist/src/utils/config/addresses.d.ts +1 -1
  192. package/dist/src/utils/config/addresses.js +267 -268
  193. package/dist/src/utils/config/addresses.js.map +1 -1
  194. package/dist/src/utils/formatBigInt.d.ts +1 -2
  195. package/dist/src/utils/formatBigInt.js +4 -5
  196. package/dist/src/utils/formatBigInt.js.map +1 -1
  197. package/dist/src/utils/getConfigByFactory.d.ts +33 -0
  198. package/dist/src/utils/getConfigByFactory.js +79 -0
  199. package/dist/src/utils/getConfigByFactory.js.map +1 -0
  200. package/dist/src/utils/getGraphUrls.js +8 -12
  201. package/dist/src/utils/getGraphUrls.js.map +1 -1
  202. package/dist/src/utils/getPrice.d.ts +1 -2
  203. package/dist/src/utils/getPrice.js +5 -6
  204. package/dist/src/utils/getPrice.js.map +1 -1
  205. package/dist/src/utils/isVelodrome.js +2 -3
  206. package/dist/src/utils/isVelodrome.js.map +1 -1
  207. package/dist/src/utils/multicallUtils.d.ts +9 -10
  208. package/dist/src/utils/multicallUtils.js +38 -93
  209. package/dist/src/utils/multicallUtils.js.map +1 -1
  210. package/dist/src/utils/parseBigInt.d.ts +1 -2
  211. package/dist/src/utils/parseBigInt.js +5 -7
  212. package/dist/src/utils/parseBigInt.js.map +1 -1
  213. package/dist/src/utils/positionKey.js +2 -4
  214. package/dist/src/utils/positionKey.js.map +1 -1
  215. package/package.json +5 -17
@@ -1,63 +1,21 @@
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
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
- if (ar || !(i in from)) {
41
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
- ar[i] = from[i];
43
- }
44
- }
45
- return to.concat(ar || Array.prototype.slice.call(from));
46
- };
47
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
48
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
49
4
  };
50
5
  Object.defineProperty(exports, "__esModule", { value: true });
51
6
  exports.getAllRewardVaults = exports.getChainByProvider = exports.validateVaultData = exports.getVaultsByPool = exports.getVaultsByTokens = exports.getIchiVaultInfo = void 0;
52
7
  // eslint-disable-next-line import/no-unresolved
53
- var graphql_request_1 = require("graphql-request");
54
- var types_1 = require("../types");
55
- var contracts_1 = require("../contracts");
56
- var queries_1 = require("../graphql/queries");
57
- var getGraphUrls_1 = require("../utils/getGraphUrls");
58
- var cache_1 = __importDefault(require("../utils/cache"));
8
+ const graphql_request_1 = require("graphql-request");
9
+ const types_1 = require("../types");
10
+ const contracts_1 = require("../contracts");
11
+ const queries_1 = require("../graphql/queries");
12
+ const getGraphUrls_1 = require("../utils/getGraphUrls");
13
+ const cache_1 = __importDefault(require("../utils/cache"));
59
14
  function normalizeVaultData(vaultData) {
60
- var _a, _b;
15
+ // If vaultData is null or undefined, throw an error
16
+ if (!vaultData) {
17
+ throw new Error('Vault data is null or undefined');
18
+ }
61
19
  // If it's a v2 response (has token0/token1)
62
20
  if ('token0' in vaultData && 'token1' in vaultData) {
63
21
  return {
@@ -68,359 +26,221 @@ function normalizeVaultData(vaultData) {
68
26
  allowTokenB: vaultData.allowToken1,
69
27
  fee: vaultData.fee,
70
28
  holdersCount: vaultData.holdersCount,
71
- farmingContract: (_a = vaultData.farmingContract) === null || _a === void 0 ? void 0 : _a.id,
72
- rewardTokens: (_b = vaultData.farmingContract) === null || _b === void 0 ? void 0 : _b.rewardTokens,
29
+ farmingContract: vaultData.farmingContract?.id,
30
+ rewardTokens: vaultData.farmingContract?.rewardTokens,
73
31
  };
74
32
  }
75
33
  // If it's a v1 response (already has tokenA/tokenB)
76
34
  return vaultData;
77
35
  }
78
- function getVaultInfoFromContract(vaultAddress, jsonProvider) {
79
- return __awaiter(this, void 0, void 0, function () {
80
- var vault, vaultContract, _a, _b, _c, _d, error_1;
81
- return __generator(this, function (_e) {
82
- switch (_e.label) {
83
- case 0:
84
- vault = {
85
- id: vaultAddress,
86
- tokenA: '',
87
- tokenB: '',
88
- allowTokenA: false,
89
- allowTokenB: false,
90
- };
91
- _e.label = 1;
92
- case 1:
93
- _e.trys.push([1, 6, , 7]);
94
- vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
95
- _a = vault;
96
- return [4 /*yield*/, vaultContract.token0()];
97
- case 2:
98
- _a.tokenA = _e.sent();
99
- _b = vault;
100
- return [4 /*yield*/, vaultContract.token1()];
101
- case 3:
102
- _b.tokenB = _e.sent();
103
- _c = vault;
104
- return [4 /*yield*/, vaultContract.allowToken0()];
105
- case 4:
106
- _c.allowTokenA = _e.sent();
107
- _d = vault;
108
- return [4 /*yield*/, vaultContract.allowToken1()];
109
- case 5:
110
- _d.allowTokenB = _e.sent();
111
- return [3 /*break*/, 7];
112
- case 6:
113
- error_1 = _e.sent();
114
- throw new Error("Could not get vault info for ".concat(vaultAddress));
115
- case 7: return [2 /*return*/, vault];
116
- }
117
- });
118
- });
36
+ async function getVaultInfoFromContract(vaultAddress, jsonProvider) {
37
+ const vault = {
38
+ id: vaultAddress,
39
+ tokenA: '',
40
+ tokenB: '',
41
+ allowTokenA: false,
42
+ allowTokenB: false,
43
+ };
44
+ try {
45
+ const vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
46
+ vault.tokenA = await vaultContract.token0();
47
+ vault.tokenB = await vaultContract.token1();
48
+ vault.allowTokenA = await vaultContract.allowToken0();
49
+ vault.allowTokenB = await vaultContract.allowToken1();
50
+ }
51
+ catch (error) {
52
+ throw new Error(`Could not get vault info for ${vaultAddress}`);
53
+ }
54
+ return vault;
119
55
  }
120
- function sendVaultQueryRequest(url, vaultAddress, query) {
121
- return __awaiter(this, void 0, void 0, function () {
122
- return __generator(this, function (_a) {
123
- return [2 /*return*/, (0, graphql_request_1.request)(url, query, {
124
- vaultAddress: vaultAddress.toLowerCase(),
125
- }).then(function (_a) {
126
- var ichiVault = _a.ichiVault;
127
- return ichiVault;
128
- })];
129
- });
130
- });
56
+ async function sendVaultQueryRequest(url, vaultAddress, query) {
57
+ return (0, graphql_request_1.request)(url, query, {
58
+ vaultAddress: vaultAddress.toLowerCase(),
59
+ }).then(({ ichiVault }) => ichiVault);
131
60
  }
132
- function sendVaultsByTokensRequest(url, token1, token2, query) {
133
- return __awaiter(this, void 0, void 0, function () {
134
- return __generator(this, function (_a) {
135
- return [2 /*return*/, (0, graphql_request_1.request)(url, query, {
136
- addressTokenA: token1,
137
- addressTokenB: token2,
138
- }).then(function (_a) {
139
- var ichiVaults = _a.ichiVaults;
140
- return ichiVaults;
141
- })];
142
- });
143
- });
61
+ async function sendVaultsByTokensRequest(url, token1, token2, query) {
62
+ return (0, graphql_request_1.request)(url, query, {
63
+ addressTokenA: token1,
64
+ addressTokenB: token2,
65
+ }).then(({ ichiVaults }) => ichiVaults);
144
66
  }
145
- function sendVaultsByPoolQueryRequest(url, poolAddress, query) {
146
- return __awaiter(this, void 0, void 0, function () {
147
- return __generator(this, function (_a) {
148
- return [2 /*return*/, (0, graphql_request_1.request)(url, query, {
149
- poolAddress: poolAddress.toLowerCase(),
150
- }).then(function (_a) {
151
- var deployICHIVaults = _a.deployICHIVaults;
152
- return deployICHIVaults;
153
- })];
154
- });
155
- });
67
+ async function sendVaultsByPoolQueryRequest(url, poolAddress, query) {
68
+ return (0, graphql_request_1.request)(url, query, {
69
+ poolAddress: poolAddress.toLowerCase(),
70
+ }).then(({ deployICHIVaults }) => deployICHIVaults);
156
71
  }
157
- function sendAllRewardVaultsQueryRequest(url, query) {
158
- return __awaiter(this, void 0, void 0, function () {
159
- return __generator(this, function (_a) {
160
- return [2 /*return*/, (0, graphql_request_1.request)(url, query).then(function (_a) {
161
- var ichiVaults = _a.ichiVaults;
162
- return ichiVaults;
163
- })];
164
- });
165
- });
72
+ async function sendAllRewardVaultsQueryRequest(url, query) {
73
+ return (0, graphql_request_1.request)(url, query).then(({ ichiVaults }) => ichiVaults);
166
74
  }
167
- function getIchiVaultInfo(chainId, dex, vaultAddress, jsonProvider) {
168
- return __awaiter(this, void 0, void 0, function () {
169
- var key, ttl, cachedData, _a, url, publishedUrl, thisQuery, result, result, normalizedResult, error_2, result, normalizedResult, error2_1, result;
170
- return __generator(this, function (_b) {
171
- switch (_b.label) {
172
- case 0:
173
- key = "vault-".concat(chainId, "-").concat(vaultAddress);
174
- ttl = 6 * 60 * 60 * 1000;
175
- cachedData = cache_1.default.get(key);
176
- if (cachedData) {
177
- return [2 /*return*/, cachedData];
178
- }
179
- _a = (0, getGraphUrls_1.getGraphUrls)(chainId, dex), url = _a.url, publishedUrl = _a.publishedUrl;
180
- thisQuery = (0, queries_1.getVaultQuery)(chainId, dex);
181
- if (!(url === 'none' && jsonProvider)) return [3 /*break*/, 2];
182
- return [4 /*yield*/, getVaultInfoFromContract(vaultAddress, jsonProvider)];
183
- case 1:
184
- result = _b.sent();
185
- cache_1.default.set(key, result, ttl);
186
- return [2 /*return*/, result];
187
- case 2:
188
- _b.trys.push([2, 5, , 13]);
189
- if (!publishedUrl) return [3 /*break*/, 4];
190
- return [4 /*yield*/, sendVaultQueryRequest(publishedUrl, vaultAddress, thisQuery)];
191
- case 3:
192
- result = _b.sent();
193
- normalizedResult = normalizeVaultData(result);
194
- cache_1.default.set(key, normalizedResult, ttl);
195
- return [2 /*return*/, normalizedResult];
196
- case 4: throw new Error("Published URL is invalid for ".concat(vaultAddress));
197
- case 5:
198
- error_2 = _b.sent();
199
- if (publishedUrl) {
200
- console.error('Request to published graph URL failed:', error_2);
201
- }
202
- _b.label = 6;
203
- case 6:
204
- _b.trys.push([6, 8, , 12]);
205
- return [4 /*yield*/, sendVaultQueryRequest(url, vaultAddress, thisQuery)];
206
- case 7:
207
- result = _b.sent();
208
- normalizedResult = normalizeVaultData(result);
209
- cache_1.default.set(key, normalizedResult, ttl);
210
- return [2 /*return*/, normalizedResult];
211
- case 8:
212
- error2_1 = _b.sent();
213
- console.error('Request to public graph URL failed:', error2_1);
214
- if (!jsonProvider) return [3 /*break*/, 10];
215
- return [4 /*yield*/, getVaultInfoFromContract(vaultAddress, jsonProvider)];
216
- case 9:
217
- result = _b.sent();
218
- cache_1.default.set(key, result, ttl);
219
- return [2 /*return*/, result];
220
- case 10: throw new Error("Could not get vault info for ".concat(vaultAddress));
221
- case 11: return [3 /*break*/, 12];
222
- case 12: return [3 /*break*/, 13];
223
- case 13: return [2 /*return*/];
75
+ async function getIchiVaultInfo(chainId, dex, vaultAddress, jsonProvider) {
76
+ const key = `vault-${chainId}-${vaultAddress}`;
77
+ const ttl = 6 * 60 * 60 * 1000; // 6 hours
78
+ const cachedData = cache_1.default.get(key);
79
+ if (cachedData) {
80
+ return cachedData;
81
+ }
82
+ const { url, publishedUrl } = (0, getGraphUrls_1.getGraphUrls)(chainId, dex);
83
+ const thisQuery = (0, queries_1.getVaultQuery)(chainId, dex);
84
+ if (url === 'none' && jsonProvider) {
85
+ const result = await getVaultInfoFromContract(vaultAddress, jsonProvider);
86
+ cache_1.default.set(key, result, ttl);
87
+ return result;
88
+ }
89
+ try {
90
+ if (publishedUrl) {
91
+ const result = await sendVaultQueryRequest(publishedUrl, vaultAddress, thisQuery);
92
+ const normalizedResult = normalizeVaultData(result);
93
+ cache_1.default.set(key, normalizedResult, ttl);
94
+ return normalizedResult;
95
+ }
96
+ throw new Error(`Published URL is invalid for ${vaultAddress}`);
97
+ }
98
+ catch (error) {
99
+ if (publishedUrl) {
100
+ console.error('Request to published graph URL failed:', error);
101
+ }
102
+ try {
103
+ const result = await sendVaultQueryRequest(url, vaultAddress, thisQuery);
104
+ const normalizedResult = normalizeVaultData(result);
105
+ cache_1.default.set(key, normalizedResult, ttl);
106
+ return normalizedResult;
107
+ }
108
+ catch (error2) {
109
+ console.error('Request to public graph URL failed:', error2);
110
+ if (jsonProvider) {
111
+ const result = await getVaultInfoFromContract(vaultAddress, jsonProvider);
112
+ cache_1.default.set(key, result, ttl);
113
+ return result;
114
+ }
115
+ else {
116
+ throw new Error(`Could not get vault info for ${vaultAddress}`);
224
117
  }
225
- });
226
- });
118
+ }
119
+ }
227
120
  }
228
121
  exports.getIchiVaultInfo = getIchiVaultInfo;
229
- function getVaultsByTokensAB(chainId, dex, tokenA, tokenB) {
230
- return __awaiter(this, void 0, void 0, function () {
231
- var key, cachedData, ttl, _a, url, publishedUrl, version, strVaultByTokensQuery, result, error_3, result, error2_2;
232
- return __generator(this, function (_b) {
233
- switch (_b.label) {
234
- case 0:
235
- key = "vaultByTokens-".concat(chainId, "-").concat(tokenA, "-").concat(tokenB);
236
- cachedData = cache_1.default.get(key);
237
- if (cachedData) {
238
- return [2 /*return*/, cachedData];
239
- }
240
- ttl = 3600000;
241
- _a = (0, getGraphUrls_1.getGraphUrls)(chainId, dex, true), url = _a.url, publishedUrl = _a.publishedUrl, version = _a.version;
242
- strVaultByTokensQuery = (0, queries_1.vaultByTokensQuery)(version);
243
- _b.label = 1;
244
- case 1:
245
- _b.trys.push([1, 5, , 10]);
246
- if (!publishedUrl) return [3 /*break*/, 3];
247
- return [4 /*yield*/, sendVaultsByTokensRequest(publishedUrl, tokenA, tokenB, strVaultByTokensQuery)];
248
- case 2:
249
- result = _b.sent();
250
- cache_1.default.set(key, result, ttl);
251
- return [2 /*return*/, result];
252
- case 3: throw new Error("Published URL is invalid for dex ".concat(dex, " on chain ").concat(chainId));
253
- case 4: return [3 /*break*/, 10];
254
- case 5:
255
- error_3 = _b.sent();
256
- if (publishedUrl) {
257
- console.error('Request to published graph URL failed:', error_3);
258
- }
259
- _b.label = 6;
260
- case 6:
261
- _b.trys.push([6, 8, , 9]);
262
- return [4 /*yield*/, sendVaultsByTokensRequest(url, tokenA, tokenB, strVaultByTokensQuery)];
263
- case 7:
264
- result = _b.sent();
265
- cache_1.default.set(key, result, ttl);
266
- return [2 /*return*/, result];
267
- case 8:
268
- error2_2 = _b.sent();
269
- console.error('Request to public graph URL failed:', error2_2);
270
- throw new Error("Could not get vaults by tokens, dex ".concat(dex, " on chain ").concat(chainId));
271
- case 9: return [3 /*break*/, 10];
272
- case 10: return [2 /*return*/];
273
- }
274
- });
275
- });
122
+ async function getVaultsByTokensAB(chainId, dex, tokenA, tokenB) {
123
+ const key = `vaultByTokens-${chainId}-${tokenA}-${tokenB}`;
124
+ const cachedData = cache_1.default.get(key);
125
+ if (cachedData) {
126
+ return cachedData;
127
+ }
128
+ const ttl = 3600000;
129
+ const { url, publishedUrl, version } = (0, getGraphUrls_1.getGraphUrls)(chainId, dex, true);
130
+ const strVaultByTokensQuery = (0, queries_1.vaultByTokensQuery)(version);
131
+ try {
132
+ if (publishedUrl) {
133
+ const result = await sendVaultsByTokensRequest(publishedUrl, tokenA, tokenB, strVaultByTokensQuery);
134
+ cache_1.default.set(key, result, ttl);
135
+ return result;
136
+ }
137
+ else {
138
+ throw new Error(`Published URL is invalid for dex ${dex} on chain ${chainId}`);
139
+ }
140
+ }
141
+ catch (error) {
142
+ if (publishedUrl) {
143
+ console.error('Request to published graph URL failed:', error);
144
+ }
145
+ try {
146
+ const result = await sendVaultsByTokensRequest(url, tokenA, tokenB, strVaultByTokensQuery);
147
+ cache_1.default.set(key, result, ttl);
148
+ return result;
149
+ }
150
+ catch (error2) {
151
+ console.error('Request to public graph URL failed:', error2);
152
+ throw new Error(`Could not get vaults by tokens, dex ${dex} on chain ${chainId}`);
153
+ }
154
+ }
276
155
  }
277
- function getVaultsByTokens(chainId, dex, depositTokenAddress, pairedTokenAddress) {
278
- return __awaiter(this, void 0, void 0, function () {
279
- var arrVaults1, arrVaults2;
280
- return __generator(this, function (_a) {
281
- switch (_a.label) {
282
- case 0: return [4 /*yield*/, getVaultsByTokensAB(chainId, dex, depositTokenAddress, pairedTokenAddress)];
283
- case 1:
284
- arrVaults1 = (_a.sent()).filter(function (v) { return v.allowTokenA; });
285
- return [4 /*yield*/, getVaultsByTokensAB(chainId, dex, pairedTokenAddress, depositTokenAddress)];
286
- case 2:
287
- arrVaults2 = (_a.sent()).filter(function (v) { return v.allowTokenB; });
288
- // eslint-disable-next-line no-return-await
289
- return [2 /*return*/, __spreadArray(__spreadArray([], arrVaults1, true), arrVaults2, true)];
290
- }
291
- });
292
- });
156
+ async function getVaultsByTokens(chainId, dex, depositTokenAddress, pairedTokenAddress) {
157
+ const arrVaults1 = (await getVaultsByTokensAB(chainId, dex, depositTokenAddress, pairedTokenAddress)).filter((v) => v.allowTokenA);
158
+ const arrVaults2 = (await getVaultsByTokensAB(chainId, dex, pairedTokenAddress, depositTokenAddress)).filter((v) => v.allowTokenB);
159
+ // eslint-disable-next-line no-return-await
160
+ return [...arrVaults1, ...arrVaults2];
293
161
  }
294
162
  exports.getVaultsByTokens = getVaultsByTokens;
295
- function getVaultsByPool(poolAddress, chainId, dex) {
296
- return __awaiter(this, void 0, void 0, function () {
297
- var key, cachedData, _a, url, publishedUrl, ttl, result, error_4, result, error2_3;
298
- return __generator(this, function (_b) {
299
- switch (_b.label) {
300
- case 0:
301
- key = "pool-".concat(chainId, "-").concat(poolAddress);
302
- cachedData = cache_1.default.get(key);
303
- if (cachedData) {
304
- return [2 /*return*/, cachedData];
305
- }
306
- _a = (0, getGraphUrls_1.getGraphUrls)(chainId, dex, true), url = _a.url, publishedUrl = _a.publishedUrl;
307
- ttl = 3600000;
308
- _b.label = 1;
309
- case 1:
310
- _b.trys.push([1, 4, , 9]);
311
- if (!publishedUrl) return [3 /*break*/, 3];
312
- return [4 /*yield*/, sendVaultsByPoolQueryRequest(publishedUrl, poolAddress, queries_1.vaultByPoolQuery)];
313
- case 2:
314
- result = _b.sent();
315
- cache_1.default.set(key, result, ttl);
316
- return [2 /*return*/, result];
317
- case 3: throw new Error("Published URL is invalid for dex ".concat(dex, " on chain ").concat(chainId));
318
- case 4:
319
- error_4 = _b.sent();
320
- if (publishedUrl) {
321
- console.error('Request to published graph URL failed:', error_4);
322
- }
323
- _b.label = 5;
324
- case 5:
325
- _b.trys.push([5, 7, , 8]);
326
- return [4 /*yield*/, sendVaultsByPoolQueryRequest(url, poolAddress, queries_1.vaultByPoolQuery)];
327
- case 6:
328
- result = _b.sent();
329
- cache_1.default.set(key, result, ttl);
330
- return [2 /*return*/, result];
331
- case 7:
332
- error2_3 = _b.sent();
333
- console.error('Request to public graph URL failed:', error2_3);
334
- throw new Error("Could not get vaults by pool ".concat(poolAddress));
335
- case 8: return [3 /*break*/, 9];
336
- case 9: return [2 /*return*/];
337
- }
338
- });
339
- });
163
+ async function getVaultsByPool(poolAddress, chainId, dex) {
164
+ const key = `pool-${chainId}-${poolAddress}`;
165
+ const cachedData = cache_1.default.get(key);
166
+ if (cachedData) {
167
+ return cachedData;
168
+ }
169
+ const { url, publishedUrl } = (0, getGraphUrls_1.getGraphUrls)(chainId, dex, true);
170
+ const ttl = 3600000;
171
+ try {
172
+ if (publishedUrl) {
173
+ const result = await sendVaultsByPoolQueryRequest(publishedUrl, poolAddress, queries_1.vaultByPoolQuery);
174
+ cache_1.default.set(key, result, ttl);
175
+ return result;
176
+ }
177
+ throw new Error(`Published URL is invalid for dex ${dex} on chain ${chainId}`);
178
+ }
179
+ catch (error) {
180
+ if (publishedUrl) {
181
+ console.error('Request to published graph URL failed:', error);
182
+ }
183
+ try {
184
+ const result = await sendVaultsByPoolQueryRequest(url, poolAddress, queries_1.vaultByPoolQuery);
185
+ cache_1.default.set(key, result, ttl);
186
+ return result;
187
+ }
188
+ catch (error2) {
189
+ console.error('Request to public graph URL failed:', error2);
190
+ throw new Error(`Could not get vaults by pool ${poolAddress}`);
191
+ }
192
+ }
340
193
  }
341
194
  exports.getVaultsByPool = getVaultsByPool;
342
- function validateVaultData(vaultAddress, jsonProvider, dex) {
343
- return __awaiter(this, void 0, void 0, function () {
344
- var chainId, vault;
345
- return __generator(this, function (_a) {
346
- switch (_a.label) {
347
- case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
348
- case 1:
349
- chainId = (_a.sent()).chainId;
350
- if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
351
- throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
352
- }
353
- return [4 /*yield*/, getIchiVaultInfo(chainId, dex, vaultAddress, jsonProvider)];
354
- case 2:
355
- vault = _a.sent();
356
- return [2 /*return*/, { chainId: chainId, vault: vault }];
357
- }
358
- });
359
- });
195
+ async function validateVaultData(vaultAddress, jsonProvider, dex) {
196
+ const network = await jsonProvider.getNetwork();
197
+ const chainId = Number(network.chainId);
198
+ if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
199
+ throw new Error(`Unsupported chainId: ${chainId ?? 'undefined'}`);
200
+ }
201
+ const vault = await getIchiVaultInfo(chainId, dex, vaultAddress, jsonProvider);
202
+ return { chainId, vault };
360
203
  }
361
204
  exports.validateVaultData = validateVaultData;
362
- function getChainByProvider(jsonProvider) {
363
- return __awaiter(this, void 0, void 0, function () {
364
- var chainId;
365
- return __generator(this, function (_a) {
366
- switch (_a.label) {
367
- case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
368
- case 1:
369
- chainId = (_a.sent()).chainId;
370
- if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
371
- throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
372
- }
373
- return [2 /*return*/, { chainId: chainId }];
374
- }
375
- });
376
- });
205
+ async function getChainByProvider(jsonProvider) {
206
+ const network = await jsonProvider.getNetwork();
207
+ const chainId = Number(network.chainId);
208
+ if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
209
+ throw new Error(`Unsupported chainId: ${chainId ?? 'undefined'}`);
210
+ }
211
+ return { chainId };
377
212
  }
378
213
  exports.getChainByProvider = getChainByProvider;
379
- function getAllRewardVaults(chainId, dex) {
380
- return __awaiter(this, void 0, void 0, function () {
381
- var key, cachedData, _a, url, publishedUrl, ttl, result, error_5, result, error2_4;
382
- return __generator(this, function (_b) {
383
- switch (_b.label) {
384
- case 0:
385
- key = "allvaults-".concat(chainId, "-").concat(dex);
386
- cachedData = cache_1.default.get(key);
387
- if (cachedData) {
388
- return [2 /*return*/, cachedData];
389
- }
390
- _a = (0, getGraphUrls_1.getGraphUrls)(chainId, dex, true), url = _a.url, publishedUrl = _a.publishedUrl;
391
- ttl = 3600000;
392
- _b.label = 1;
393
- case 1:
394
- _b.trys.push([1, 4, , 9]);
395
- if (!publishedUrl) return [3 /*break*/, 3];
396
- return [4 /*yield*/, sendAllRewardVaultsQueryRequest(publishedUrl, queries_1.allRewardVaults)];
397
- case 2:
398
- result = _b.sent();
399
- cache_1.default.set(key, result, ttl);
400
- return [2 /*return*/, result];
401
- case 3: throw new Error("Published URL is invalid for dex ".concat(dex, " on chain ").concat(chainId));
402
- case 4:
403
- error_5 = _b.sent();
404
- if (publishedUrl) {
405
- console.error('Request to published graph URL failed:', error_5);
406
- }
407
- _b.label = 5;
408
- case 5:
409
- _b.trys.push([5, 7, , 8]);
410
- return [4 /*yield*/, sendAllRewardVaultsQueryRequest(url, queries_1.allRewardVaults)];
411
- case 6:
412
- result = _b.sent();
413
- cache_1.default.set(key, result, ttl);
414
- return [2 /*return*/, result];
415
- case 7:
416
- error2_4 = _b.sent();
417
- console.error('Request to public graph URL failed:', error2_4);
418
- throw new Error("Could not get reward vaults on dex ".concat(dex));
419
- case 8: return [3 /*break*/, 9];
420
- case 9: return [2 /*return*/];
421
- }
422
- });
423
- });
214
+ async function getAllRewardVaults(chainId, dex) {
215
+ const key = `allvaults-${chainId}-${dex}`;
216
+ const cachedData = cache_1.default.get(key);
217
+ if (cachedData) {
218
+ return cachedData;
219
+ }
220
+ const { url, publishedUrl } = (0, getGraphUrls_1.getGraphUrls)(chainId, dex, true);
221
+ const ttl = 3600000;
222
+ try {
223
+ if (publishedUrl) {
224
+ const result = await sendAllRewardVaultsQueryRequest(publishedUrl, queries_1.allRewardVaults);
225
+ cache_1.default.set(key, result, ttl);
226
+ return result;
227
+ }
228
+ throw new Error(`Published URL is invalid for dex ${dex} on chain ${chainId}`);
229
+ }
230
+ catch (error) {
231
+ if (publishedUrl) {
232
+ console.error('Request to published graph URL failed:', error);
233
+ }
234
+ try {
235
+ const result = await sendAllRewardVaultsQueryRequest(url, queries_1.allRewardVaults);
236
+ cache_1.default.set(key, result, ttl);
237
+ return result;
238
+ }
239
+ catch (error2) {
240
+ console.error('Request to public graph URL failed:', error2);
241
+ throw new Error(`Could not get reward vaults on dex ${dex}`);
242
+ }
243
+ }
424
244
  }
425
245
  exports.getAllRewardVaults = getAllRewardVaults;
426
246
  //# sourceMappingURL=vault.js.map