@curvefi/api 2.21.0 → 2.21.2

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 (33) hide show
  1. package/lib/boosting.js +1 -1
  2. package/lib/curve.js +47 -16
  3. package/lib/external-api.d.ts +7 -0
  4. package/lib/external-api.js +18 -2
  5. package/lib/factory/deploy.js +1 -1
  6. package/lib/factory/factory-api.js +1 -1
  7. package/lib/factory/factory-crypto.js +1 -1
  8. package/lib/factory/factory.js +1 -1
  9. package/lib/index.js +1 -1
  10. package/lib/interfaces.d.ts +2 -2
  11. package/lib/pools/PoolTemplate.js +36 -27
  12. package/lib/pools/mixins/common.js +1 -1
  13. package/lib/pools/mixins/depositBalancedAmountsMixins.js +1 -1
  14. package/lib/pools/mixins/depositBonusMixins.js +1 -1
  15. package/lib/pools/mixins/depositMixins.js +1 -1
  16. package/lib/pools/mixins/depositWrappedMixins.js +1 -1
  17. package/lib/pools/mixins/poolBalancesMixin.js +1 -1
  18. package/lib/pools/mixins/swapMixins.js +1 -1
  19. package/lib/pools/mixins/swapWrappedMixins.js +1 -1
  20. package/lib/pools/mixins/withdrawBonusMixins.js +1 -1
  21. package/lib/pools/mixins/withdrawExpectedMixins.js +1 -1
  22. package/lib/pools/mixins/withdrawImbalanceMixins.js +1 -1
  23. package/lib/pools/mixins/withdrawImbalanceWrappedMixins.js +1 -1
  24. package/lib/pools/mixins/withdrawMixins.js +1 -1
  25. package/lib/pools/mixins/withdrawOneCoinExpectedMixins.js +1 -1
  26. package/lib/pools/mixins/withdrawOneCoinMixins.js +1 -1
  27. package/lib/pools/mixins/withdrawOneCoinWrappedExpectedMixins.js +1 -1
  28. package/lib/pools/mixins/withdrawOneCoinWrappedMixins.js +1 -1
  29. package/lib/pools/mixins/withdrawWrappedMixins.js +1 -1
  30. package/lib/pools/utils.js +1 -1
  31. package/lib/router.js +1 -1
  32. package/lib/utils.js +1 -1
  33. package/package.json +1 -1
package/lib/boosting.js CHANGED
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
package/lib/curve.js CHANGED
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -94,6 +94,28 @@ var aurora_1 = require("./constants/coins/aurora");
94
94
  var kava_1 = require("./constants/coins/kava");
95
95
  var celo_1 = require("./constants/coins/celo");
96
96
  var utils_1 = require("./constants/utils");
97
+ var external_api_1 = require("./external-api");
98
+ var _killGauges = function (poolsData) { return __awaiter(void 0, void 0, void 0, function () {
99
+ var gaugeData, isKilled, poolId;
100
+ return __generator(this, function (_a) {
101
+ switch (_a.label) {
102
+ case 0: return [4 /*yield*/, (0, external_api_1._getAllGauges)()];
103
+ case 1:
104
+ gaugeData = _a.sent();
105
+ isKilled = {};
106
+ Object.values(gaugeData).forEach(function (d) {
107
+ var _a;
108
+ isKilled[d.gauge.toLowerCase()] = (_a = d.is_killed) !== null && _a !== void 0 ? _a : false;
109
+ });
110
+ for (poolId in poolsData) {
111
+ if (isKilled[poolsData[poolId].gauge_address]) {
112
+ poolsData[poolId].gauge_address = ethers_1.ethers.constants.AddressZero;
113
+ }
114
+ }
115
+ return [2 /*return*/];
116
+ }
117
+ });
118
+ }); };
97
119
  exports.NATIVE_TOKENS = {
98
120
  1: {
99
121
  symbol: 'ETH',
@@ -393,31 +415,34 @@ var Curve = /** @class */ (function () {
393
415
  exports.NETWORK_CONSTANTS[this.chainId].aTokens,
394
416
  ], cTokens = _c[0], yTokens = _c[1], ycTokens = _c[2], aTokens = _c[3];
395
417
  customAbiTokens = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], cTokens, true), yTokens, true), ycTokens, true), aTokens, true);
396
- this.multicallProvider = new ethcall_1.Provider();
397
- return [4 /*yield*/, this.multicallProvider.init(this.provider)];
418
+ return [4 /*yield*/, _killGauges(this.constants.POOLS_DATA)];
398
419
  case 3:
399
420
  _o.sent();
400
- if (!this.signer) return [3 /*break*/, 8];
401
- _o.label = 4;
421
+ this.multicallProvider = new ethcall_1.Provider();
422
+ return [4 /*yield*/, this.multicallProvider.init(this.provider)];
402
423
  case 4:
403
- _o.trys.push([4, 6, , 7]);
424
+ _o.sent();
425
+ if (!this.signer) return [3 /*break*/, 9];
426
+ _o.label = 5;
427
+ case 5:
428
+ _o.trys.push([5, 7, , 8]);
404
429
  _d = this;
405
430
  return [4 /*yield*/, this.signer.getAddress()];
406
- case 5:
407
- _d.signerAddress = _o.sent();
408
- return [3 /*break*/, 7];
409
431
  case 6:
432
+ _d.signerAddress = _o.sent();
433
+ return [3 /*break*/, 8];
434
+ case 7:
410
435
  err_1 = _o.sent();
411
436
  this.signer = null;
412
- return [3 /*break*/, 7];
413
- case 7: return [3 /*break*/, 9];
414
- case 8:
415
- this.signerAddress = '';
416
- _o.label = 9;
437
+ return [3 /*break*/, 8];
438
+ case 8: return [3 /*break*/, 10];
417
439
  case 9:
440
+ this.signerAddress = '';
441
+ _o.label = 10;
442
+ case 10:
418
443
  this.feeData = { gasPrice: options.gasPrice, maxFeePerGas: options.maxFeePerGas, maxPriorityFeePerGas: options.maxPriorityFeePerGas };
419
444
  return [4 /*yield*/, this.updateFeeData()];
420
- case 10:
445
+ case 11:
421
446
  _o.sent();
422
447
  for (_i = 0, _e = Object.values(this.constants.POOLS_DATA); _i < _e.length; _i++) {
423
448
  pool = _e[_i];
@@ -534,7 +559,7 @@ var Curve = /** @class */ (function () {
534
559
  addressProviderContract = this.contracts[this.constants.ALIASES.address_provider].contract;
535
560
  _m = this.constants.ALIASES;
536
561
  return [4 /*yield*/, addressProviderContract.get_address(2, this.constantOptions)];
537
- case 11:
562
+ case 12:
538
563
  _m.registry_exchange = _o.sent();
539
564
  this.contracts[this.constants.ALIASES.registry_exchange] = {
540
565
  contract: new ethers_1.Contract(this.constants.ALIASES.registry_exchange, registry_exchange_json_1.default, this.signer || this.provider),
@@ -621,6 +646,9 @@ var Curve = /** @class */ (function () {
621
646
  case 4:
622
647
  this.constants.DECIMALS = __assign(__assign({}, this.constants.DECIMALS), (0, utils_1.extractDecimals)(this.constants.FACTORY_POOLS_DATA));
623
648
  this.constants.GAUGES = __spreadArray(__spreadArray([], this.constants.GAUGES, true), (0, utils_1.extractGauges)(this.constants.FACTORY_POOLS_DATA), true);
649
+ return [4 /*yield*/, _killGauges(this.constants.FACTORY_POOLS_DATA)];
650
+ case 5:
651
+ _e.sent();
624
652
  return [2 /*return*/];
625
653
  }
626
654
  });
@@ -652,6 +680,9 @@ var Curve = /** @class */ (function () {
652
680
  case 4:
653
681
  this.constants.DECIMALS = __assign(__assign({}, this.constants.DECIMALS), (0, utils_1.extractDecimals)(this.constants.CRYPTO_FACTORY_POOLS_DATA));
654
682
  this.constants.GAUGES = __spreadArray(__spreadArray([], this.constants.GAUGES, true), (0, utils_1.extractGauges)(this.constants.CRYPTO_FACTORY_POOLS_DATA), true);
683
+ return [4 /*yield*/, _killGauges(this.constants.CRYPTO_FACTORY_POOLS_DATA)];
684
+ case 5:
685
+ _e.sent();
655
686
  return [2 /*return*/];
656
687
  }
657
688
  });
@@ -25,3 +25,10 @@ export declare const _getFactoryAPYsAndVolumes: ((network: string) => Promise<{
25
25
  apy: number;
26
26
  volume: number;
27
27
  }[]>>;
28
+ export declare const _getAllGauges: (() => Promise<IDict<{
29
+ gauge: string;
30
+ is_killed?: boolean;
31
+ }>>) & memoize.Memoized<() => Promise<IDict<{
32
+ gauge: string;
33
+ is_killed?: boolean;
34
+ }>>>;
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
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
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -39,7 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports._getFactoryAPYsAndVolumes = exports._getLegacyAPYsAndVolumes = exports._getMainPoolsGaugeRewards = exports._getSubgraphData = exports._getPoolsFromApi = void 0;
42
+ exports._getAllGauges = exports._getFactoryAPYsAndVolumes = exports._getLegacyAPYsAndVolumes = exports._getMainPoolsGaugeRewards = exports._getSubgraphData = exports._getPoolsFromApi = void 0;
43
43
  var axios_1 = __importDefault(require("axios"));
44
44
  var memoizee_1 = __importDefault(require("memoizee"));
45
45
  var curve_1 = require("./curve");
@@ -139,3 +139,19 @@ exports._getFactoryAPYsAndVolumes = (0, memoizee_1.default)(function (network) {
139
139
  promise: true,
140
140
  maxAge: 5 * 60 * 1000, // 5m
141
141
  });
142
+ exports._getAllGauges = (0, memoizee_1.default)(function () { return __awaiter(void 0, void 0, void 0, function () {
143
+ var url, response;
144
+ return __generator(this, function (_a) {
145
+ switch (_a.label) {
146
+ case 0:
147
+ url = "https://api.curve.fi/api/getAllGauges";
148
+ return [4 /*yield*/, axios_1.default.get(url, { validateStatus: function () { return true; } })];
149
+ case 1:
150
+ response = _a.sent();
151
+ return [2 /*return*/, response.data.data];
152
+ }
153
+ });
154
+ }); }, {
155
+ promise: true,
156
+ maxAge: 5 * 60 * 1000, // 5m
157
+ });
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
package/lib/index.js CHANGED
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
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
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -3,8 +3,8 @@ import { Contract as MulticallContract, Provider as MulticallProvider } from "et
3
3
  export interface IDict<T> {
4
4
  [index: string]: T;
5
5
  }
6
- export declare type INetworkName = "ethereum" | "polygon" | "avalanche";
7
- export declare type REFERENCE_ASSET = 'USD' | 'EUR' | 'BTC' | 'ETH' | 'LINK' | 'CRYPTO' | 'OTHER';
6
+ export type INetworkName = "ethereum" | "polygon" | "avalanche";
7
+ export type REFERENCE_ASSET = 'USD' | 'EUR' | 'BTC' | 'ETH' | 'LINK' | 'CRYPTO' | 'OTHER';
8
8
  export interface IPoolData {
9
9
  name: string;
10
10
  full_name: string;
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -74,15 +74,16 @@ var PoolTemplate = /** @class */ (function () {
74
74
  function PoolTemplate(id) {
75
75
  var _this = this;
76
76
  this.statsParameters = function () { return __awaiter(_this, void 0, void 0, function () {
77
- var multicallContract, lpMulticallContract, calls, additionalCalls, _c, _lpTokenSupply, _virtualPrice, _fee, _adminFee, _A, _gamma, _d, lpTokenSupply, virtualPrice, fee, adminFee, A, gamma, A_PRECISION, _e, _future_A, _initial_A, _future_A_time, _initial_A_time, _f, future_A, initial_A, future_A_time, initial_A_time;
78
- return __generator(this, function (_g) {
79
- switch (_g.label) {
77
+ var multicallContract, lpMulticallContract, calls, additionalCalls, _c, _virtualPrice, _lpTokenSupply, _fee, _adminFee, _A, _gamma, e_1, _d, virtualPrice, lpTokenSupply, fee, adminFee, A, gamma, A_PRECISION, _e, _future_A, _initial_A, _future_A_time, _initial_A_time, _f, future_A, initial_A, future_A_time, initial_A_time;
78
+ var _g, _h;
79
+ return __generator(this, function (_j) {
80
+ switch (_j.label) {
80
81
  case 0:
81
82
  multicallContract = curve_1.curve.contracts[this.address].multicallContract;
82
83
  lpMulticallContract = curve_1.curve.contracts[this.lpToken].multicallContract;
83
84
  calls = [
84
- lpMulticallContract.totalSupply(),
85
85
  multicallContract.get_virtual_price(),
86
+ lpMulticallContract.totalSupply(),
86
87
  multicallContract.fee(),
87
88
  multicallContract.admin_fee(),
88
89
  multicallContract.A(),
@@ -93,28 +94,41 @@ var PoolTemplate = /** @class */ (function () {
93
94
  if ('initial_A' in multicallContract) {
94
95
  additionalCalls.push(multicallContract.initial_A(), multicallContract.future_A_time(), multicallContract.initial_A_time());
95
96
  }
96
- return [4 /*yield*/, curve_1.curve.multicallProvider.all(calls)];
97
+ _c = Array(6).fill(ethers_1.ethers.BigNumber.from(0)), _virtualPrice = _c[0], _lpTokenSupply = _c[1], _fee = _c[2], _adminFee = _c[3], _A = _c[4], _gamma = _c[5];
98
+ _j.label = 1;
97
99
  case 1:
98
- _c = _g.sent(), _lpTokenSupply = _c[0], _virtualPrice = _c[1], _fee = _c[2], _adminFee = _c[3], _A = _c[4], _gamma = _c[5];
100
+ _j.trys.push([1, 3, , 5]);
101
+ return [4 /*yield*/, curve_1.curve.multicallProvider.all(calls)];
102
+ case 2:
103
+ _g = (_j.sent()), _virtualPrice = _g[0], _lpTokenSupply = _g[1], _fee = _g[2], _adminFee = _g[3], _A = _g[4], _gamma = _g[5];
104
+ return [3 /*break*/, 5];
105
+ case 3:
106
+ e_1 = _j.sent();
107
+ calls.shift();
108
+ return [4 /*yield*/, curve_1.curve.multicallProvider.all(calls)];
109
+ case 4:
110
+ _h = (_j.sent()), _lpTokenSupply = _h[0], _fee = _h[1], _adminFee = _h[2], _A = _h[3], _gamma = _h[4];
111
+ return [3 /*break*/, 5];
112
+ case 5:
99
113
  _d = [
100
- ethers_1.ethers.utils.formatUnits(_lpTokenSupply),
101
114
  ethers_1.ethers.utils.formatUnits(_virtualPrice),
115
+ ethers_1.ethers.utils.formatUnits(_lpTokenSupply),
102
116
  ethers_1.ethers.utils.formatUnits(_fee, 8),
103
117
  ethers_1.ethers.utils.formatUnits(_adminFee.mul(_fee)),
104
118
  ethers_1.ethers.utils.formatUnits(_A, 0),
105
119
  _gamma ? ethers_1.ethers.utils.formatUnits(_gamma) : _gamma,
106
- ], lpTokenSupply = _d[0], virtualPrice = _d[1], fee = _d[2], adminFee = _d[3], A = _d[4], gamma = _d[5];
120
+ ], virtualPrice = _d[0], lpTokenSupply = _d[1], fee = _d[2], adminFee = _d[3], A = _d[4], gamma = _d[5];
107
121
  A_PRECISION = curve_1.curve.chainId === 1 && ['compound', 'usdt', 'y', 'busd', 'susd', 'pax', 'ren', 'sbtc', 'hbtc', '3pool'].includes(this.id) ? 1 : 100;
108
122
  return [4 /*yield*/, curve_1.curve.multicallProvider.all(additionalCalls)];
109
- case 2:
110
- _e = _g.sent(), _future_A = _e[0], _initial_A = _e[1], _future_A_time = _e[2], _initial_A_time = _e[3];
123
+ case 6:
124
+ _e = _j.sent(), _future_A = _e[0], _initial_A = _e[1], _future_A_time = _e[2], _initial_A_time = _e[3];
111
125
  _f = [
112
126
  _future_A ? String(Number(ethers_1.ethers.utils.formatUnits(_future_A, 0)) / A_PRECISION) : undefined,
113
127
  _initial_A ? String(Number(ethers_1.ethers.utils.formatUnits(_initial_A, 0)) / A_PRECISION) : undefined,
114
128
  _future_A_time ? Number(ethers_1.ethers.utils.formatUnits(_future_A_time, 0)) * 1000 : undefined,
115
129
  _initial_A_time ? Number(ethers_1.ethers.utils.formatUnits(_initial_A_time, 0)) * 1000 : undefined,
116
130
  ], future_A = _f[0], initial_A = _f[1], future_A_time = _f[2], initial_A_time = _f[3];
117
- return [2 /*return*/, { lpTokenSupply: lpTokenSupply, virtualPrice: virtualPrice, fee: fee, adminFee: adminFee, A: A, future_A: future_A, initial_A: initial_A, future_A_time: future_A_time, initial_A_time: initial_A_time, gamma: gamma }];
131
+ return [2 /*return*/, { virtualPrice: virtualPrice, lpTokenSupply: lpTokenSupply, fee: fee, adminFee: adminFee, A: A, future_A: future_A, initial_A: initial_A, future_A_time: future_A_time, initial_A_time: initial_A_time, gamma: gamma }];
118
132
  }
119
133
  });
120
134
  }); };
@@ -365,7 +379,7 @@ var PoolTemplate = /** @class */ (function () {
365
379
  if (isDeposit === void 0) { isDeposit = true; }
366
380
  if (useUnderlying === void 0) { useUnderlying = true; }
367
381
  return __awaiter(_this, void 0, void 0, function () {
368
- var _rates, e_1, lpContract, _lpTotalSupply, decimals_1, amounts, seedAmounts_1, N_coins, decimals_2, calcContractAddress, calcContract, poolContract, lpContract, calls, res, _c, _totalSupply, _fee, _lpTokenAmount, balances, _d, totalSupplyBN, feeBN, lpTokenAmountBN, balancesBN, amountsBN, feesBN, i, _fees, _lpTokenFee, e_2, lpContract, _lpTotalSupply, decimals_3, amounts_1, _amounts18Decimals;
382
+ var _rates, e_2, lpContract, _lpTotalSupply, decimals_1, amounts, seedAmounts_1, N_coins, decimals_2, calcContractAddress, calcContract, poolContract, lpContract, calls, res, _c, _totalSupply, _fee, _lpTokenAmount, balances, _d, totalSupplyBN, feeBN, lpTokenAmountBN, balancesBN, amountsBN, feesBN, i, _fees, _lpTokenFee, e_3, lpContract, _lpTotalSupply, decimals_3, amounts_1, _amounts18Decimals;
369
383
  return __generator(this, function (_e) {
370
384
  switch (_e.label) {
371
385
  case 0:
@@ -387,13 +401,13 @@ var PoolTemplate = /** @class */ (function () {
387
401
  return [4 /*yield*/, this._pureCalcLpTokenAmount(_amounts, isDeposit, useUnderlying)];
388
402
  case 4: return [2 /*return*/, _e.sent()];
389
403
  case 5:
390
- e_1 = _e.sent();
404
+ e_2 = _e.sent();
391
405
  lpContract = curve_1.curve.contracts[this.lpToken].contract;
392
406
  return [4 /*yield*/, lpContract.totalSupply(curve_1.curve.constantOptions)];
393
407
  case 6:
394
408
  _lpTotalSupply = _e.sent();
395
409
  if (_lpTotalSupply.gt(0))
396
- throw e_1; // Already seeded
410
+ throw e_2; // Already seeded
397
411
  if (this.isMeta && useUnderlying)
398
412
  throw Error("Initial deposit for crypto meta pools must be in wrapped coins");
399
413
  decimals_1 = useUnderlying ? this.underlyingDecimals : this.wrappedDecimals;
@@ -408,8 +422,8 @@ var PoolTemplate = /** @class */ (function () {
408
422
  return [2 /*return*/, (0, utils_1.parseUnits)(Math.sqrt(Number(amounts[0]) * Number(amounts[1])))];
409
423
  case 8:
410
424
  _e.trys.push([8, 11, , 13]);
411
- N_coins = useUnderlying ? this.underlyingCoins.length : this.wrappedCoins.length;
412
- decimals_2 = useUnderlying ? this.underlyingDecimals : this.wrappedDecimals;
425
+ N_coins = this.isMeta && useUnderlying ? this.underlyingCoins.length : this.wrappedCoins.length;
426
+ decimals_2 = this.isMeta && useUnderlying ? this.underlyingDecimals : this.wrappedDecimals;
413
427
  calcContractAddress = this.isMeta && useUnderlying ? this.zap : this.address;
414
428
  calcContract = curve_1.curve.contracts[calcContractAddress].multicallContract;
415
429
  poolContract = curve_1.curve.contracts[this.address].multicallContract;
@@ -427,7 +441,7 @@ var PoolTemplate = /** @class */ (function () {
427
441
  }
428
442
  return [4 /*yield*/, Promise.all([
429
443
  curve_1.curve.multicallProvider.all(calls),
430
- useUnderlying ? this.stats.underlyingBalances() : this.stats.wrappedBalances(),
444
+ this.isMeta && useUnderlying ? this.stats.underlyingBalances() : this.stats.wrappedBalances(),
431
445
  ])];
432
446
  case 9:
433
447
  res = _e.sent();
@@ -445,27 +459,22 @@ var PoolTemplate = /** @class */ (function () {
445
459
  }
446
460
  }
447
461
  _fees = feesBN.map(function (fBN, i) { return (0, utils_1.fromBN)(fBN, decimals_2[i]); });
448
- if (!this.isMeta && useUnderlying) {
449
- _fees = _fees.map(function (_fee, i) {
450
- return _fee.mul(ethers_1.ethers.BigNumber.from(10).pow(18)).div(_rates[i]);
451
- });
452
- }
453
- return [4 /*yield*/, this._pureCalcLpTokenAmount(_fees, !isDeposit, useUnderlying)];
462
+ return [4 /*yield*/, this._pureCalcLpTokenAmount(_fees, !isDeposit, this.isMeta && useUnderlying)];
454
463
  case 10:
455
464
  _lpTokenFee = _e.sent();
456
465
  if (isDeposit)
457
466
  _lpTokenFee = _lpTokenFee.mul(-1);
458
467
  return [2 /*return*/, _lpTokenAmount.add(_lpTokenFee)];
459
468
  case 11:
460
- e_2 = _e.sent();
469
+ e_3 = _e.sent();
461
470
  if (!isDeposit)
462
- throw e_2; // Seeding is only for deposit
471
+ throw e_3; // Seeding is only for deposit
463
472
  lpContract = curve_1.curve.contracts[this.lpToken].contract;
464
473
  return [4 /*yield*/, lpContract.totalSupply(curve_1.curve.constantOptions)];
465
474
  case 12:
466
475
  _lpTotalSupply = _e.sent();
467
476
  if (_lpTotalSupply.gt(0))
468
- throw e_2; // Already seeded
477
+ throw e_3; // Already seeded
469
478
  decimals_3 = useUnderlying ? this.underlyingDecimals : this.wrappedDecimals;
470
479
  amounts_1 = _amounts.map(function (_a, i) { return ethers_1.ethers.utils.formatUnits(_a, decimals_3[i]); });
471
480
  amounts_1.forEach(function (a) {
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
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
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
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
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
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
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
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
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
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
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
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
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
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
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
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
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
package/lib/router.js CHANGED
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
package/lib/utils.js CHANGED
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curvefi/api",
3
- "version": "2.21.0",
3
+ "version": "2.21.2",
4
4
  "description": "JavaScript library for curve.fi",
5
5
  "main": "lib/index.js",
6
6
  "author": "Macket",