@ichidao/ichi-vaults-sdk 0.0.112 → 0.1.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 (72) hide show
  1. package/README.md +163 -0
  2. package/dist/abis/types/MultiFeeDistributer.d.ts +475 -0
  3. package/dist/abis/types/MultiFeeDistributer.js +3 -0
  4. package/dist/abis/types/MultiFeeDistributer.js.map +1 -0
  5. package/dist/abis/types/factories/MultiFeeDistributer__factory.d.ts +451 -0
  6. package/dist/abis/types/factories/MultiFeeDistributer__factory.js +596 -0
  7. package/dist/abis/types/factories/MultiFeeDistributer__factory.js.map +1 -0
  8. package/dist/abis/types/factories/index.d.ts +1 -0
  9. package/dist/abis/types/factories/index.js +3 -1
  10. package/dist/abis/types/factories/index.js.map +1 -1
  11. package/dist/abis/types/index.d.ts +2 -0
  12. package/dist/abis/types/index.js +3 -1
  13. package/dist/abis/types/index.js.map +1 -1
  14. package/dist/src/__tests__/index.test.js +74 -1
  15. package/dist/src/__tests__/index.test.js.map +1 -1
  16. package/dist/src/abis/types/MultiFeeDistributer.d.ts +475 -0
  17. package/dist/src/abis/types/factories/MultiFeeDistributer__factory.d.ts +451 -0
  18. package/dist/src/abis/types/factories/index.d.ts +1 -0
  19. package/dist/src/abis/types/index.d.ts +2 -0
  20. package/dist/src/contracts/index.d.ts +2 -1
  21. package/dist/src/contracts/index.js +11 -1
  22. package/dist/src/contracts/index.js.map +1 -1
  23. package/dist/src/functions/claimRewards.d.ts +14 -0
  24. package/dist/src/functions/claimRewards.js +108 -0
  25. package/dist/src/functions/claimRewards.js.map +1 -0
  26. package/dist/src/functions/rewardInfo.d.ts +3 -0
  27. package/dist/src/functions/rewardInfo.js +176 -0
  28. package/dist/src/functions/rewardInfo.js.map +1 -0
  29. package/dist/src/functions/userBalances.d.ts +1 -1
  30. package/dist/src/functions/userBalances.js +64 -29
  31. package/dist/src/functions/userBalances.js.map +1 -1
  32. package/dist/src/functions/userRewards.d.ts +7 -0
  33. package/dist/src/functions/userRewards.js +132 -0
  34. package/dist/src/functions/userRewards.js.map +1 -0
  35. package/dist/src/functions/vault.d.ts +2 -1
  36. package/dist/src/functions/vault.js +75 -26
  37. package/dist/src/functions/vault.js.map +1 -1
  38. package/dist/src/graphql/constants.js +53 -46
  39. package/dist/src/graphql/constants.js.map +1 -1
  40. package/dist/src/graphql/queries.d.ts +14 -1
  41. package/dist/src/graphql/queries.js +57 -18
  42. package/dist/src/graphql/queries.js.map +1 -1
  43. package/dist/src/index.cjs.js +4 -1
  44. package/dist/src/index.d.ts +3 -0
  45. package/dist/src/index.esm.js +4 -1
  46. package/dist/src/index.js +3 -0
  47. package/dist/src/index.js.map +1 -1
  48. package/dist/src/src/contracts/index.d.ts +2 -1
  49. package/dist/src/src/functions/claimRewards.d.ts +14 -0
  50. package/dist/src/src/functions/rewardInfo.d.ts +3 -0
  51. package/dist/src/src/functions/userBalances.d.ts +1 -1
  52. package/dist/src/src/functions/userRewards.d.ts +7 -0
  53. package/dist/src/src/functions/vault.d.ts +2 -1
  54. package/dist/src/src/graphql/queries.d.ts +14 -1
  55. package/dist/src/src/index.d.ts +3 -0
  56. package/dist/src/src/types/index.d.ts +39 -0
  57. package/dist/src/src/types/vaultQueryData.d.ts +10 -1
  58. package/dist/src/src/utils/isVelodrome.d.ts +2 -0
  59. package/dist/src/src/utils/multicallUtils.d.ts +2 -0
  60. package/dist/src/types/index.d.ts +39 -0
  61. package/dist/src/types/index.js +2 -0
  62. package/dist/src/types/index.js.map +1 -1
  63. package/dist/src/types/vaultQueryData.d.ts +10 -1
  64. package/dist/src/utils/config/addresses.js +113 -101
  65. package/dist/src/utils/config/addresses.js.map +1 -1
  66. package/dist/src/utils/isVelodrome.d.ts +2 -0
  67. package/dist/src/utils/isVelodrome.js +11 -0
  68. package/dist/src/utils/isVelodrome.js.map +1 -0
  69. package/dist/src/utils/multicallUtils.d.ts +2 -0
  70. package/dist/src/utils/multicallUtils.js +19 -1
  71. package/dist/src/utils/multicallUtils.js.map +1 -1
  72. package/package.json +1 -1
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ /* eslint-disable no-redeclare */
3
+ /* eslint-disable import/no-unresolved */
4
+ /* eslint-disable import/no-cycle */
5
+ /* eslint-disable import/prefer-default-export */
6
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8
+ return new (P || (P = Promise))(function (resolve, reject) {
9
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
10
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
11
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
13
+ });
14
+ };
15
+ var __generator = (this && this.__generator) || function (thisArg, body) {
16
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
17
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
18
+ function verb(n) { return function (v) { return step([n, v]); }; }
19
+ function step(op) {
20
+ if (f) throw new TypeError("Generator is already executing.");
21
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
22
+ 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;
23
+ if (y = 0, t) op = [op[0] & 2, t.value];
24
+ switch (op[0]) {
25
+ case 0: case 1: t = op; break;
26
+ case 4: _.label++; return { value: op[1], done: false };
27
+ case 5: _.label++; y = op[1]; op = [0]; continue;
28
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
29
+ default:
30
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
31
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
32
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
33
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
34
+ if (t[2]) _.ops.pop();
35
+ _.trys.pop(); continue;
36
+ }
37
+ op = body.call(thisArg, _);
38
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
39
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
40
+ }
41
+ };
42
+ var __importDefault = (this && this.__importDefault) || function (mod) {
43
+ return (mod && mod.__esModule) ? mod : { "default": mod };
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.getAllRewardInfo = exports.getRewardInfo = void 0;
47
+ var graphql_request_1 = __importDefault(require("graphql-request"));
48
+ var cache_1 = __importDefault(require("../utils/cache"));
49
+ var getGraphUrls_1 = __importDefault(require("../utils/getGraphUrls"));
50
+ var queries_1 = require("../graphql/queries");
51
+ var isVelodrome_1 = require("../utils/isVelodrome");
52
+ function sendRewardInfoQueryRequest(url, vaultAddress, query) {
53
+ return __awaiter(this, void 0, void 0, function () {
54
+ return __generator(this, function (_a) {
55
+ return [2 /*return*/, (0, graphql_request_1.default)(url, query, {
56
+ vaultAddress: vaultAddress.toLowerCase(),
57
+ }).then(function (_a) {
58
+ var ichiVault = _a.ichiVault;
59
+ return ichiVault;
60
+ })];
61
+ });
62
+ });
63
+ }
64
+ function sendAllRewardInfoQueryRequest(url, query) {
65
+ return __awaiter(this, void 0, void 0, function () {
66
+ return __generator(this, function (_a) {
67
+ return [2 /*return*/, (0, graphql_request_1.default)(url, query).then(function (_a) {
68
+ var ichiVaults = _a.ichiVaults;
69
+ return ichiVaults;
70
+ })];
71
+ });
72
+ });
73
+ }
74
+ function getRewardInfo(chainId, dex, vaultAddress) {
75
+ return __awaiter(this, void 0, void 0, function () {
76
+ var isVelodrome, key, ttl, cachedData, _a, url, publishedUrl, result, error_1, result, error2_1;
77
+ return __generator(this, function (_b) {
78
+ switch (_b.label) {
79
+ case 0:
80
+ isVelodrome = (0, isVelodrome_1.isVelodromeDex)(chainId, dex);
81
+ if (!isVelodrome) {
82
+ throw new Error("This function is not supported on chain ".concat(chainId, " and dex ").concat(dex));
83
+ }
84
+ key = "rewardinfo-".concat(chainId, "-").concat(vaultAddress);
85
+ ttl = 6 * 60 * 60 * 1000;
86
+ cachedData = cache_1.default.get(key);
87
+ if (cachedData) {
88
+ return [2 /*return*/, cachedData];
89
+ }
90
+ _a = (0, getGraphUrls_1.default)(chainId, dex), url = _a.url, publishedUrl = _a.publishedUrl;
91
+ _b.label = 1;
92
+ case 1:
93
+ _b.trys.push([1, 4, , 9]);
94
+ if (!publishedUrl) return [3 /*break*/, 3];
95
+ return [4 /*yield*/, sendRewardInfoQueryRequest(publishedUrl, vaultAddress, queries_1.rewardInfoQuery)];
96
+ case 2:
97
+ result = _b.sent();
98
+ cache_1.default.set(key, result, ttl);
99
+ return [2 /*return*/, result];
100
+ case 3: throw new Error("Published URL is invalid for ".concat(vaultAddress));
101
+ case 4:
102
+ error_1 = _b.sent();
103
+ if (publishedUrl) {
104
+ console.error('Request to published graph URL failed:', error_1);
105
+ }
106
+ _b.label = 5;
107
+ case 5:
108
+ _b.trys.push([5, 7, , 8]);
109
+ return [4 /*yield*/, sendRewardInfoQueryRequest(url, vaultAddress, queries_1.rewardInfoQuery)];
110
+ case 6:
111
+ result = _b.sent();
112
+ cache_1.default.set(key, result, ttl);
113
+ return [2 /*return*/, result];
114
+ case 7:
115
+ error2_1 = _b.sent();
116
+ console.error('Request to public graph URL failed:', error2_1);
117
+ throw new Error("Could not get Reward info for ".concat(vaultAddress));
118
+ case 8: return [3 /*break*/, 9];
119
+ case 9: return [2 /*return*/];
120
+ }
121
+ });
122
+ });
123
+ }
124
+ exports.getRewardInfo = getRewardInfo;
125
+ function getAllRewardInfo(chainId, dex) {
126
+ return __awaiter(this, void 0, void 0, function () {
127
+ var isVelodrome, key, ttl, cachedData, _a, url, publishedUrl, result, error_2, result, error2_2;
128
+ return __generator(this, function (_b) {
129
+ switch (_b.label) {
130
+ case 0:
131
+ isVelodrome = (0, isVelodrome_1.isVelodromeDex)(chainId, dex);
132
+ if (!isVelodrome) {
133
+ throw new Error("This function is not supported on chain ".concat(chainId, " and dex ").concat(dex));
134
+ }
135
+ key = "allrewardinfo-".concat(chainId, "-").concat(dex);
136
+ ttl = 6 * 60 * 60 * 1000;
137
+ cachedData = cache_1.default.get(key);
138
+ if (cachedData) {
139
+ return [2 /*return*/, cachedData];
140
+ }
141
+ _a = (0, getGraphUrls_1.default)(chainId, dex), url = _a.url, publishedUrl = _a.publishedUrl;
142
+ _b.label = 1;
143
+ case 1:
144
+ _b.trys.push([1, 4, , 9]);
145
+ if (!publishedUrl) return [3 /*break*/, 3];
146
+ return [4 /*yield*/, sendAllRewardInfoQueryRequest(publishedUrl, queries_1.allRewardInfoQuery)];
147
+ case 2:
148
+ result = _b.sent();
149
+ cache_1.default.set(key, result, ttl);
150
+ return [2 /*return*/, result];
151
+ case 3: throw new Error("Published URL is invalid for ".concat(dex));
152
+ case 4:
153
+ error_2 = _b.sent();
154
+ if (publishedUrl) {
155
+ console.error('Request to published graph URL failed:', error_2);
156
+ }
157
+ _b.label = 5;
158
+ case 5:
159
+ _b.trys.push([5, 7, , 8]);
160
+ return [4 /*yield*/, sendAllRewardInfoQueryRequest(url, queries_1.allRewardInfoQuery)];
161
+ case 6:
162
+ result = _b.sent();
163
+ cache_1.default.set(key, result, ttl);
164
+ return [2 /*return*/, result];
165
+ case 7:
166
+ error2_2 = _b.sent();
167
+ console.error('Request to public graph URL failed:', error2_2);
168
+ throw new Error("Could not get all Reward info for ".concat(dex));
169
+ case 8: return [3 /*break*/, 9];
170
+ case 9: return [2 /*return*/];
171
+ }
172
+ });
173
+ });
174
+ }
175
+ exports.getAllRewardInfo = getAllRewardInfo;
176
+ //# sourceMappingURL=rewardInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rewardInfo.js","sourceRoot":"","sources":["../../../src/functions/rewardInfo.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { SupportedDex, UserAmounts, UserAmountsBN, UserAmountsInVault, UserAmoun
4
4
  import { UserBalancesQueryData } from '../types/vaultQueryData';
5
5
  export declare function getUserBalance(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<string>;
6
6
  export declare function getUserBalance(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<BigNumber>;
7
- export declare function sendUserBalancesQueryRequest(url: string, accountAddress: string, query: string): Promise<UserBalancesQueryData['user']>;
7
+ export declare function sendUserBalancesQueryRequest(url: string, accountAddress: string, query: string, vaultAddress?: string): Promise<UserBalancesQueryData['user']>;
8
8
  export declare function getAllUserBalances(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<UserBalanceInVault[]>;
9
9
  export declare function getAllUserBalances(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<UserBalanceInVaultBN[]>;
10
10
  export declare function getUserAmounts(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<UserAmounts>;
@@ -55,6 +55,7 @@ var parseBigInt_1 = __importDefault(require("../utils/parseBigInt"));
55
55
  var getGraphUrls_1 = __importDefault(require("../utils/getGraphUrls"));
56
56
  var _totalBalances_1 = require("./_totalBalances");
57
57
  var multicallUtils_1 = require("../utils/multicallUtils");
58
+ var isVelodrome_1 = require("../utils/isVelodrome");
58
59
  var promises = {};
59
60
  /**
60
61
  * Helper function to get token address regardless of naming convention (token0/1 or tokenA/B)
@@ -71,48 +72,70 @@ function getTokenAddress(vault, index) {
71
72
  }
72
73
  }
73
74
  // eslint-disable-next-line no-underscore-dangle
74
- function _getUserBalance(accountAddress, vaultAddress, jsonProvider, raw) {
75
+ function _getUserBalance(accountAddress, vaultAddress, jsonProvider, farmingContract, raw) {
75
76
  return __awaiter(this, void 0, void 0, function () {
76
- var vaultContract, shares;
77
- return __generator(this, function (_a) {
78
- switch (_a.label) {
77
+ var shares, vaultContract, mdfContract, _a, _b, vaultContract;
78
+ return __generator(this, function (_c) {
79
+ switch (_c.label) {
79
80
  case 0:
81
+ if (!farmingContract) return [3 /*break*/, 3];
80
82
  vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
83
+ mdfContract = (0, contracts_1.getMultiFeeDistributorContract)(farmingContract, jsonProvider);
81
84
  return [4 /*yield*/, vaultContract.balanceOf(accountAddress)];
82
85
  case 1:
83
- shares = _a.sent();
84
- return [2 /*return*/, raw ? shares : (0, formatBigInt_1.default)(shares, types_1.ichiVaultDecimals)];
86
+ _b = (_a = (_c.sent())).add;
87
+ return [4 /*yield*/, mdfContract.totalBalance(accountAddress)];
88
+ case 2:
89
+ shares = _b.apply(_a, [_c.sent()]);
90
+ return [3 /*break*/, 5];
91
+ case 3:
92
+ vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
93
+ return [4 /*yield*/, vaultContract.balanceOf(accountAddress)];
94
+ case 4:
95
+ shares = _c.sent();
96
+ _c.label = 5;
97
+ case 5: return [2 /*return*/, raw ? shares : (0, formatBigInt_1.default)(shares, types_1.ichiVaultDecimals)];
85
98
  }
86
99
  });
87
100
  });
88
101
  }
89
102
  function getUserBalance(accountAddress, vaultAddress, jsonProvider, dex, raw) {
90
103
  return __awaiter(this, void 0, void 0, function () {
104
+ var vault;
91
105
  return __generator(this, function (_a) {
92
106
  switch (_a.label) {
93
- case 0:
94
- // eslint-disable-next-line no-return-await
95
- return [4 /*yield*/, (0, vault_1.validateVaultData)(vaultAddress, jsonProvider, dex)];
107
+ case 0: return [4 /*yield*/, (0, vault_1.validateVaultData)(vaultAddress, jsonProvider, dex)];
96
108
  case 1:
97
- // eslint-disable-next-line no-return-await
98
- _a.sent();
109
+ vault = (_a.sent()).vault;
99
110
  return [2 /*return*/, raw
100
- ? _getUserBalance(accountAddress, vaultAddress, jsonProvider, true)
101
- : _getUserBalance(accountAddress, vaultAddress, jsonProvider)];
111
+ ? _getUserBalance(accountAddress, vaultAddress, jsonProvider, vault.farmingContract || null, true)
112
+ : _getUserBalance(accountAddress, vaultAddress, jsonProvider, vault.farmingContract || null)];
102
113
  }
103
114
  });
104
115
  });
105
116
  }
106
117
  exports.getUserBalance = getUserBalance;
107
- function sendUserBalancesQueryRequest(url, accountAddress, query) {
118
+ function sendUserBalancesQueryRequest(url, accountAddress, query, vaultAddress) {
108
119
  return __awaiter(this, void 0, void 0, function () {
109
120
  return __generator(this, function (_a) {
110
- return [2 /*return*/, (0, graphql_request_1.request)(url, query, {
111
- accountAddress: accountAddress.toLowerCase(),
112
- }).then(function (_a) {
113
- var user = _a.user;
114
- return user;
115
- })];
121
+ if (vaultAddress) {
122
+ return [2 /*return*/, (0, graphql_request_1.request)(url, query, {
123
+ accountAddress: accountAddress.toLowerCase(),
124
+ vaultAddress: vaultAddress.toLowerCase(),
125
+ }).then(function (_a) {
126
+ var user = _a.user;
127
+ return user;
128
+ })];
129
+ }
130
+ else {
131
+ return [2 /*return*/, (0, graphql_request_1.request)(url, query, {
132
+ accountAddress: accountAddress.toLowerCase(),
133
+ }).then(function (_a) {
134
+ var user = _a.user;
135
+ return user;
136
+ })];
137
+ }
138
+ return [2 /*return*/];
116
139
  });
117
140
  });
118
141
  }
@@ -126,16 +149,17 @@ function storeResult(key, result) {
126
149
  }
127
150
  function getAllUserBalances(accountAddress, jsonProvider, dex, raw) {
128
151
  return __awaiter(this, void 0, void 0, function () {
129
- var chainId, _a, publishedUrl, url, version, shares, key, strUserBalancesQuery, result, error_1, result, error2_1, balances, userBalances;
152
+ var chainId, _a, publishedUrl, url, isVelodrome, shares, key, strUserBalancesQuery, result, error_1, result, error2_1, balances, userBalances;
130
153
  return __generator(this, function (_b) {
131
154
  switch (_b.label) {
132
155
  case 0: return [4 /*yield*/, (0, vault_1.getChainByProvider)(jsonProvider)];
133
156
  case 1:
134
157
  chainId = (_b.sent()).chainId;
135
- _a = (0, getGraphUrls_1.default)(chainId, dex, true), publishedUrl = _a.publishedUrl, url = _a.url, version = _a.version;
158
+ _a = (0, getGraphUrls_1.default)(chainId, dex, true), publishedUrl = _a.publishedUrl, url = _a.url;
159
+ isVelodrome = (0, isVelodrome_1.isVelodromeDex)(chainId, dex);
136
160
  key = "".concat(chainId + accountAddress, "-balances");
137
161
  if (!!Object.prototype.hasOwnProperty.call(promises, key)) return [3 /*break*/, 11];
138
- strUserBalancesQuery = (0, queries_1.userBalancesQuery)(version);
162
+ strUserBalancesQuery = (0, queries_1.getUserBalancesQuery)(chainId, dex);
139
163
  _b.label = 2;
140
164
  case 2:
141
165
  _b.trys.push([2, 6, , 11]);
@@ -171,11 +195,22 @@ function getAllUserBalances(accountAddress, jsonProvider, dex, raw) {
171
195
  if (balances) {
172
196
  userBalances = balances.vaultShares;
173
197
  shares = userBalances.map(function (balance) {
174
- return { vaultAddress: balance.vault.id, shares: balance.vaultShareBalance };
198
+ var vShares = isVelodrome
199
+ ? (Number(balance.vaultShareBalance) + Number(balance.stakedVaultShareBalance)).toString()
200
+ : balance.vaultShareBalance;
201
+ return isVelodrome
202
+ ? { vaultAddress: balance.vault.id, shares: vShares, stakedShares: balance.stakedVaultShareBalance }
203
+ : { vaultAddress: balance.vault.id, shares: balance.vaultShareBalance };
175
204
  });
176
205
  return [2 /*return*/, raw
177
206
  ? shares.map(function (s) {
178
- return { vaultAddress: s.vaultAddress, shares: (0, parseBigInt_1.default)(s.shares, types_1.ichiVaultDecimals) };
207
+ return isVelodrome
208
+ ? {
209
+ vaultAddress: s.vaultAddress,
210
+ shares: (0, parseBigInt_1.default)(s.shares, types_1.ichiVaultDecimals),
211
+ stakedShares: (0, parseBigInt_1.default)(s.stakedShares || '0', types_1.ichiVaultDecimals),
212
+ }
213
+ : { vaultAddress: s.vaultAddress, shares: (0, parseBigInt_1.default)(s.shares, types_1.ichiVaultDecimals) };
179
214
  })
180
215
  : shares];
181
216
  }
@@ -202,7 +237,7 @@ function getUserAmounts(accountAddress, vaultAddress, jsonProvider, dex, raw) {
202
237
  return [4 /*yield*/, (0, _totalBalances_1._getTotalSupply)(vaultAddress, jsonProvider, true)];
203
238
  case 3:
204
239
  totalSupplyBN = _b.sent();
205
- return [4 /*yield*/, _getUserBalance(accountAddress, vaultAddress, jsonProvider, true)];
240
+ return [4 /*yield*/, _getUserBalance(accountAddress, vaultAddress, jsonProvider, vault.farmingContract || null, true)];
206
241
  case 4:
207
242
  userBalanceBN = _b.sent();
208
243
  if (!!totalSupplyBN.isZero()) return [3 /*break*/, 9];
@@ -255,16 +290,16 @@ exports.getUserAmounts = getUserAmounts;
255
290
  function getAllUserAmounts(accountAddress, jsonProvider, dex, raw) {
256
291
  var _a;
257
292
  return __awaiter(this, void 0, void 0, function () {
258
- var chainId, _b, publishedUrl, url, version, key, strUserBalancesQuery, result, error_2, result, error2_2, balances, calls, signer, results_1, processedResults, error_3;
293
+ var chainId, _b, publishedUrl, url, key, strUserBalancesQuery, result, error_2, result, error2_2, balances, calls, signer, results_1, processedResults, error_3;
259
294
  return __generator(this, function (_c) {
260
295
  switch (_c.label) {
261
296
  case 0: return [4 /*yield*/, (0, vault_1.getChainByProvider)(jsonProvider)];
262
297
  case 1:
263
298
  chainId = (_c.sent()).chainId;
264
- _b = (0, getGraphUrls_1.default)(chainId, dex, true), publishedUrl = _b.publishedUrl, url = _b.url, version = _b.version;
299
+ _b = (0, getGraphUrls_1.default)(chainId, dex, true), publishedUrl = _b.publishedUrl, url = _b.url;
265
300
  key = "".concat(chainId + accountAddress, "-all-user-amounts");
266
301
  if (!!Object.prototype.hasOwnProperty.call(promises, key)) return [3 /*break*/, 11];
267
- strUserBalancesQuery = (0, queries_1.userBalancesQuery)(version);
302
+ strUserBalancesQuery = (0, queries_1.getUserBalancesQuery)(chainId, dex);
268
303
  _c.label = 2;
269
304
  case 2:
270
305
  _c.trys.push([2, 6, , 11]);
@@ -1 +1 @@
1
- {"version":3,"file":"userBalances.js","sourceRoot":"","sources":["../../../src/functions/userBalances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"userBalances.js","sourceRoot":"","sources":["../../../src/functions/userBalances.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { JsonRpcProvider } from '@ethersproject/providers';
2
+ import { BigNumber } from 'ethers';
3
+ import { SupportedDex, UserRewards, UserRewardsBN } from '../types';
4
+ export declare function getUserRewards(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<string>;
5
+ export declare function getUserRewards(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<BigNumber>;
6
+ export declare function getAllUserRewards(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<UserRewards[]>;
7
+ export declare function getAllUserRewards(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<UserRewardsBN[]>;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ /* eslint-disable no-redeclare */
3
+ /* eslint-disable import/no-cycle */
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 __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.getAllUserRewards = exports.getUserRewards = void 0;
45
+ var ethers_1 = require("ethers");
46
+ var vault_1 = require("./vault");
47
+ var types_1 = require("../types");
48
+ var isVelodrome_1 = require("../utils/isVelodrome");
49
+ var contracts_1 = require("../contracts");
50
+ var formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
51
+ var multicallUtils_1 = require("../utils/multicallUtils");
52
+ function getUserRewards(accountAddress, vaultAddress, jsonProvider, dex, raw) {
53
+ return __awaiter(this, void 0, void 0, function () {
54
+ var chainId, isVelodrome, vault, mdfContract, rewards;
55
+ return __generator(this, function (_a) {
56
+ switch (_a.label) {
57
+ case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
58
+ case 1:
59
+ chainId = (_a.sent()).chainId;
60
+ isVelodrome = (0, isVelodrome_1.isVelodromeDex)(chainId, dex);
61
+ if (!isVelodrome) {
62
+ throw new Error("This function is not supported on chain ".concat(chainId, " and dex ").concat(dex));
63
+ }
64
+ return [4 /*yield*/, (0, vault_1.validateVaultData)(vaultAddress, jsonProvider, dex)];
65
+ case 2:
66
+ vault = (_a.sent()).vault;
67
+ if (!vault.farmingContract) {
68
+ return [2 /*return*/, raw ? ethers_1.BigNumber.from(0) : '0'];
69
+ }
70
+ mdfContract = (0, contracts_1.getMultiFeeDistributorContract)(vault.farmingContract, jsonProvider);
71
+ return [4 /*yield*/, mdfContract.claimableRewards(accountAddress)];
72
+ case 3:
73
+ rewards = _a.sent();
74
+ return [2 /*return*/, raw ? rewards[1][0] : (0, formatBigInt_1.default)(rewards[1][0], types_1.ichiVaultDecimals)];
75
+ }
76
+ });
77
+ });
78
+ }
79
+ exports.getUserRewards = getUserRewards;
80
+ function getAllUserRewards(accountAddress, jsonProvider, dex, raw) {
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ var chainId, isVelodrome, vaults, farmingContractCalls, results, processedResults;
83
+ return __generator(this, function (_a) {
84
+ switch (_a.label) {
85
+ case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
86
+ case 1:
87
+ chainId = (_a.sent()).chainId;
88
+ isVelodrome = (0, isVelodrome_1.isVelodromeDex)(chainId, dex);
89
+ if (!isVelodrome) {
90
+ throw new Error("This function is not supported on chain ".concat(chainId, " and dex ").concat(dex));
91
+ }
92
+ return [4 /*yield*/, (0, vault_1.getAllRewardVaults)(chainId, dex)];
93
+ case 2:
94
+ vaults = _a.sent();
95
+ if (vaults.length === 0) {
96
+ return [2 /*return*/, []];
97
+ }
98
+ farmingContractCalls = vaults.map(function (v) {
99
+ return (0, multicallUtils_1.encodeFarmingRewardsCall)(v.farmingContract.id, accountAddress);
100
+ });
101
+ return [4 /*yield*/, (0, multicallUtils_1.multicall)(farmingContractCalls, chainId, jsonProvider)];
102
+ case 3:
103
+ results = _a.sent();
104
+ processedResults = vaults.map(function (vault, index) {
105
+ var rewards = (0, multicallUtils_1.decodeFarmingRewardsResult)(results[index], vault.farmingContract.id);
106
+ var decimals = vault.farmingContract.rewardTokenDecimals;
107
+ var token = rewards[0][0];
108
+ var amount = rewards[1][0];
109
+ if (raw) {
110
+ return {
111
+ vaultAddress: vault.id,
112
+ rewardToken: token,
113
+ rewardTokenDecimals: decimals,
114
+ rewardAmount: amount,
115
+ };
116
+ }
117
+ else {
118
+ return {
119
+ vaultAddress: vault.id,
120
+ rewardToken: token,
121
+ rewardTokenDecimals: decimals,
122
+ rewardAmount: (0, formatBigInt_1.default)(amount, decimals),
123
+ };
124
+ }
125
+ });
126
+ return [2 /*return*/, processedResults];
127
+ }
128
+ });
129
+ });
130
+ }
131
+ exports.getAllUserRewards = getAllUserRewards;
132
+ //# sourceMappingURL=userRewards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userRewards.js","sourceRoot":"","sources":["../../../src/functions/userRewards.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGpC,iCAAmC;AACnC,iCAAgE;AAChE,kCAAyG;AACzG,oDAAsD;AACtD,0CAA8D;AAC9D,uEAAiD;AACjD,0DAA0G;AAiB1G,SAAsB,cAAc,CAClC,cAAsB,EACtB,YAAoB,EACpB,YAA6B,EAC7B,GAAiB,EACjB,GAAU;;;;;wBAEU,qBAAM,YAAY,CAAC,UAAU,EAAE,EAAA;;oBAA3C,OAAO,GAAK,CAAA,SAA+B,CAAA,QAApC;oBACT,WAAW,GAAG,IAAA,4BAAc,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACjD,IAAI,CAAC,WAAW,EAAE;wBAChB,MAAM,IAAI,KAAK,CAAC,kDAA2C,OAAO,sBAAY,GAAG,CAAE,CAAC,CAAC;qBACtF;oBAGiB,qBAAM,IAAA,yBAAiB,EAAC,YAAY,EAAE,YAAY,EAAE,GAAG,CAAC,EAAA;;oBAAlE,KAAK,GAAK,CAAA,SAAwD,CAAA,MAA7D;oBACb,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;wBAC1B,sBAAO,GAAG,CAAC,CAAC,CAAC,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAC;qBACtC;oBAEK,WAAW,GAAG,IAAA,0CAA8B,EAAC,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBACxE,qBAAM,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAA;;oBAA5D,OAAO,GAAG,SAAkD;oBAElE,sBAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,yBAAiB,CAAC,EAAC;;;;CAC7E;AAvBD,wCAuBC;AAeD,SAAsB,iBAAiB,CACrC,cAAsB,EACtB,YAA6B,EAC7B,GAAiB,EACjB,GAAU;;;;;wBAEU,qBAAM,YAAY,CAAC,UAAU,EAAE,EAAA;;oBAA3C,OAAO,GAAK,CAAA,SAA+B,CAAA,QAApC;oBACT,WAAW,GAAG,IAAA,4BAAc,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACjD,IAAI,CAAC,WAAW,EAAE;wBAChB,MAAM,IAAI,KAAK,CAAC,kDAA2C,OAAO,sBAAY,GAAG,CAAE,CAAC,CAAC;qBACtF;oBAGc,qBAAM,IAAA,0BAAkB,EAAC,OAAO,EAAE,GAAG,CAAC,EAAA;;oBAA/C,MAAM,GAAG,SAAsC;oBAErD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;wBACvB,sBAAO,EAAE,EAAC;qBACX;oBAGK,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC;wBACxC,OAAO,IAAA,yCAAwB,EAAC,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;oBACxE,CAAC,CAAC,CAAC;oBAGa,qBAAM,IAAA,0BAAS,EAAC,oBAAoB,EAAE,OAAO,EAAE,YAAY,CAAC,EAAA;;oBAAtE,OAAO,GAAG,SAA4D;oBAGtE,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAuB,EAAE,KAAa;wBACzE,IAAM,OAAO,GAAG,IAAA,2CAA0B,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;wBACrF,IAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,mBAAmB,CAAC;wBAC3D,IAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5B,IAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7B,IAAI,GAAG,EAAE;4BACP,OAAO;gCACL,YAAY,EAAE,KAAK,CAAC,EAAE;gCACtB,WAAW,EAAE,KAAK;gCAClB,mBAAmB,EAAE,QAAQ;gCAC7B,YAAY,EAAE,MAAM;6BACrB,CAAC;yBACH;6BAAM;4BACL,OAAO;gCACL,YAAY,EAAE,KAAK,CAAC,EAAE;gCACtB,WAAW,EAAE,KAAK;gCAClB,mBAAmB,EAAE,QAAQ;gCAC7B,YAAY,EAAE,IAAA,sBAAY,EAAC,MAAM,EAAE,QAAQ,CAAC;6BAC7C,CAAC;yBACH;oBACH,CAAC,CAAC,CAAC;oBAEH,sBAAO,gBAAgB,EAAC;;;;CACzB;AAnDD,8CAmDC"}
@@ -1,5 +1,5 @@
1
1
  import { JsonRpcProvider } from '@ethersproject/providers';
2
- import { SupportedDex, SupportedChainId, IchiVault } from '../types';
2
+ import { SupportedDex, SupportedChainId, IchiVault, VaultWithRewards } from '../types';
3
3
  import { VaultsByPoolQueryData, VaultsByTokensQueryData } from '../types/vaultQueryData';
4
4
  export declare function getIchiVaultInfo(chainId: SupportedChainId, dex: SupportedDex, vaultAddress: string, jsonProvider?: JsonRpcProvider): Promise<IchiVault>;
5
5
  export declare function getVaultsByTokens(chainId: SupportedChainId, dex: SupportedDex, depositTokenAddress: string, pairedTokenAddress: string): Promise<VaultsByTokensQueryData['ichiVaults']>;
@@ -11,3 +11,4 @@ export declare function validateVaultData(vaultAddress: string, jsonProvider: Js
11
11
  export declare function getChainByProvider(jsonProvider: JsonRpcProvider): Promise<{
12
12
  chainId: SupportedChainId;
13
13
  }>;
14
+ export declare function getAllRewardVaults(chainId: SupportedChainId, dex: SupportedDex): Promise<VaultWithRewards[]>;