@curvefi/api 2.8.1 → 2.8.4

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.
@@ -1,3 +1,4 @@
1
1
  import { ethers } from "ethers";
2
2
  import { PoolTemplate } from "../PoolTemplate";
3
3
  export declare function _calcExpectedAmounts(this: PoolTemplate, _lpTokenAmount: ethers.BigNumber): Promise<ethers.BigNumber[]>;
4
+ export declare function _atricrypto3CalcExpectedAmounts(this: PoolTemplate, _lpTokenAmount: ethers.BigNumber): Promise<ethers.BigNumber[]>;
@@ -35,8 +35,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
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
+ };
38
47
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports._calcExpectedAmounts = void 0;
48
+ exports._atricrypto3CalcExpectedAmounts = exports._calcExpectedAmounts = void 0;
49
+ var PoolTemplate_1 = require("../PoolTemplate");
40
50
  var curve_1 = require("../../curve");
41
51
  var utils_1 = require("../../utils");
42
52
  function _calcExpectedAmounts(_lpTokenAmount) {
@@ -75,3 +85,22 @@ function _calcExpectedAmounts(_lpTokenAmount) {
75
85
  });
76
86
  }
77
87
  exports._calcExpectedAmounts = _calcExpectedAmounts;
88
+ function _atricrypto3CalcExpectedAmounts(_lpTokenAmount) {
89
+ return __awaiter(this, void 0, void 0, function () {
90
+ var _expectedWrappedAmounts, _expectedMetaCoinAmount, _expectedUnderlyingAmounts, basePool, _basePoolExpectedAmounts;
91
+ return __generator(this, function (_a) {
92
+ switch (_a.label) {
93
+ case 0: return [4 /*yield*/, _calcExpectedAmounts.call(this, _lpTokenAmount)];
94
+ case 1:
95
+ _expectedWrappedAmounts = _a.sent();
96
+ _expectedMetaCoinAmount = _expectedWrappedAmounts[0], _expectedUnderlyingAmounts = _expectedWrappedAmounts.slice(1);
97
+ basePool = new PoolTemplate_1.PoolTemplate(this.basePool);
98
+ return [4 /*yield*/, _calcExpectedAmounts.call(basePool, _expectedMetaCoinAmount)];
99
+ case 2:
100
+ _basePoolExpectedAmounts = _a.sent();
101
+ return [2 /*return*/, __spreadArray(__spreadArray([], _basePoolExpectedAmounts, true), _expectedUnderlyingAmounts, true)];
102
+ }
103
+ });
104
+ });
105
+ }
106
+ exports._atricrypto3CalcExpectedAmounts = _atricrypto3CalcExpectedAmounts;
@@ -80,22 +80,30 @@ exports.poolBalancesAtricrypto3Mixin = {
80
80
  exports.poolBalancesMetaMixin = {
81
81
  statsUnderlyingBalances: function () {
82
82
  return __awaiter(this, void 0, void 0, function () {
83
- var swapContract, contractCalls, _poolWrappedBalances, _poolMetaCoinBalance, _poolNonMetaBalance, basePool, _basePoolExpectedAmounts, _poolUnderlyingBalances;
83
+ var swapContract, contractCalls, _poolWrappedBalances, _poolMetaCoinBalance, _poolNonMetaBalance, basePool, _basePoolExpectedAmounts, _a, _poolUnderlyingBalances;
84
84
  var _this = this;
85
- return __generator(this, function (_a) {
86
- switch (_a.label) {
85
+ return __generator(this, function (_c) {
86
+ switch (_c.label) {
87
87
  case 0:
88
88
  swapContract = curve_1.curve.contracts[this.address].multicallContract;
89
89
  contractCalls = this.wrappedCoins.map(function (_, i) { return swapContract.balances(i); });
90
90
  return [4 /*yield*/, curve_1.curve.multicallProvider.all(contractCalls)];
91
91
  case 1:
92
- _poolWrappedBalances = _a.sent();
92
+ _poolWrappedBalances = _c.sent();
93
93
  _poolWrappedBalances.unshift(_poolWrappedBalances.pop());
94
94
  _poolMetaCoinBalance = _poolWrappedBalances[0], _poolNonMetaBalance = _poolWrappedBalances.slice(1);
95
95
  basePool = new PoolTemplate_1.PoolTemplate(this.basePool);
96
- return [4 /*yield*/, common_1._calcExpectedAmounts.call(basePool, _poolMetaCoinBalance)];
96
+ if (!(this.basePool === "atricrypto3")) return [3 /*break*/, 3];
97
+ return [4 /*yield*/, common_1._atricrypto3CalcExpectedAmounts.call(basePool, _poolMetaCoinBalance)];
97
98
  case 2:
98
- _basePoolExpectedAmounts = _a.sent();
99
+ _a = _c.sent();
100
+ return [3 /*break*/, 5];
101
+ case 3: return [4 /*yield*/, common_1._calcExpectedAmounts.call(basePool, _poolMetaCoinBalance)];
102
+ case 4:
103
+ _a = _c.sent();
104
+ _c.label = 5;
105
+ case 5:
106
+ _basePoolExpectedAmounts = _a;
99
107
  _poolUnderlyingBalances = __spreadArray(__spreadArray([], _poolNonMetaBalance, true), _basePoolExpectedAmounts, true);
100
108
  return [2 /*return*/, _poolUnderlyingBalances.map(function (_b, i) { return ethers_1.ethers.utils.formatUnits(_b, _this.underlyingDecimals[i]); })];
101
109
  }
@@ -96,21 +96,29 @@ exports.withdrawExpectedLendingOrCryptoMixin = {
96
96
  exports.withdrawExpectedMetaMixin = {
97
97
  withdrawExpected: function (lpTokenAmount) {
98
98
  return __awaiter(this, void 0, void 0, function () {
99
- var _lpTokenAmount, _expectedWrappedAmounts, _expectedMetaCoinAmount, _expectedUnderlyingAmounts, basePool, _basePoolExpectedAmounts, _expected;
99
+ var _lpTokenAmount, _expectedWrappedAmounts, _expectedMetaCoinAmount, _expectedUnderlyingAmounts, basePool, _basePoolExpectedAmounts, _a, _expected;
100
100
  var _this = this;
101
- return __generator(this, function (_a) {
102
- switch (_a.label) {
101
+ return __generator(this, function (_b) {
102
+ switch (_b.label) {
103
103
  case 0:
104
104
  _lpTokenAmount = (0, utils_1.parseUnits)(lpTokenAmount);
105
105
  return [4 /*yield*/, common_1._calcExpectedAmounts.call(this, _lpTokenAmount)];
106
106
  case 1:
107
- _expectedWrappedAmounts = _a.sent();
107
+ _expectedWrappedAmounts = _b.sent();
108
108
  _expectedWrappedAmounts.unshift(_expectedWrappedAmounts.pop());
109
109
  _expectedMetaCoinAmount = _expectedWrappedAmounts[0], _expectedUnderlyingAmounts = _expectedWrappedAmounts.slice(1);
110
110
  basePool = new PoolTemplate_1.PoolTemplate(this.basePool);
111
- return [4 /*yield*/, common_1._calcExpectedAmounts.call(basePool, _expectedMetaCoinAmount)];
111
+ if (!(this.basePool === "atricrypto3")) return [3 /*break*/, 3];
112
+ return [4 /*yield*/, common_1._atricrypto3CalcExpectedAmounts.call(basePool, _expectedMetaCoinAmount)];
112
113
  case 2:
113
- _basePoolExpectedAmounts = _a.sent();
114
+ _a = _b.sent();
115
+ return [3 /*break*/, 5];
116
+ case 3: return [4 /*yield*/, common_1._calcExpectedAmounts.call(basePool, _expectedMetaCoinAmount)];
117
+ case 4:
118
+ _a = _b.sent();
119
+ _b.label = 5;
120
+ case 5:
121
+ _basePoolExpectedAmounts = _a;
114
122
  _expected = __spreadArray(__spreadArray([], _expectedUnderlyingAmounts, true), _basePoolExpectedAmounts, true);
115
123
  return [2 /*return*/, _expected.map(function (amount, i) { return ethers_1.ethers.utils.formatUnits(amount, _this.underlyingDecimals[i]); })];
116
124
  }
@@ -122,21 +130,15 @@ exports.withdrawExpectedMetaMixin = {
122
130
  exports.withdrawExpectedAtricrypto3Mixin = {
123
131
  withdrawExpected: function (lpTokenAmount) {
124
132
  return __awaiter(this, void 0, void 0, function () {
125
- var _lpTokenAmount, _expectedWrappedAmounts, _expectedMetaCoinAmount, _expectedUnderlyingAmounts, basePool, _basePoolExpectedAmounts, _expected;
133
+ var _lpTokenAmount, _expected;
126
134
  var _this = this;
127
135
  return __generator(this, function (_a) {
128
136
  switch (_a.label) {
129
137
  case 0:
130
138
  _lpTokenAmount = (0, utils_1.parseUnits)(lpTokenAmount);
131
- return [4 /*yield*/, common_1._calcExpectedAmounts.call(this, _lpTokenAmount)];
139
+ return [4 /*yield*/, common_1._atricrypto3CalcExpectedAmounts.call(this, _lpTokenAmount)];
132
140
  case 1:
133
- _expectedWrappedAmounts = _a.sent();
134
- _expectedMetaCoinAmount = _expectedWrappedAmounts[0], _expectedUnderlyingAmounts = _expectedWrappedAmounts.slice(1);
135
- basePool = new PoolTemplate_1.PoolTemplate(this.basePool);
136
- return [4 /*yield*/, common_1._calcExpectedAmounts.call(basePool, _expectedMetaCoinAmount)];
137
- case 2:
138
- _basePoolExpectedAmounts = _a.sent();
139
- _expected = __spreadArray(__spreadArray([], _basePoolExpectedAmounts, true), _expectedUnderlyingAmounts, true);
141
+ _expected = _a.sent();
140
142
  return [2 /*return*/, _expected.map(function (amount, i) { return ethers_1.ethers.utils.formatUnits(amount, _this.underlyingDecimals[i]); })];
141
143
  }
142
144
  });
@@ -230,7 +230,7 @@ var getPool = function (poolId) {
230
230
  if ('exchange(uint256,uint256,uint256,uint256,bool)' in curve_1.curve.contracts[poolDummy.address].contract) { // tricrypto2 (eth), tricrypto (arbitrum)
231
231
  Object.assign(Pool.prototype, swapMixins_1.swapTricrypto2Mixin);
232
232
  }
233
- else if (poolDummy.isMetaFactory && (0, exports.getPool)(poolDummy.basePool).isLending) {
233
+ else if (poolDummy.isMetaFactory && ((0, exports.getPool)(poolDummy.basePool).isLending || (0, exports.getPool)(poolDummy.basePool).isFake)) {
234
234
  Object.assign(Pool.prototype, swapMixins_1.swapMetaFactoryMixin);
235
235
  }
236
236
  else {
package/lib/utils.js CHANGED
@@ -473,11 +473,11 @@ var _getUsdRate = function (assetId) { return __awaiter(void 0, void 0, void 0,
473
473
  }
474
474
  assetId = {
475
475
  'CRV': 'curve-dao-token',
476
- 'EUR': curve_1.curve.constants.COINS.eurt,
476
+ 'EUR': 'stasis-eurs',
477
477
  'BTC': 'bitcoin',
478
478
  'ETH': 'ethereum',
479
479
  'LINK': 'link',
480
- }[assetId] || assetId;
480
+ }[assetId.toUpperCase()] || assetId;
481
481
  assetId = (0, exports.isEth)(assetId) ? nativeTokenName : assetId.toLowerCase();
482
482
  // No EURT on Coingecko Polygon
483
483
  if (curve_1.curve.chainId === 137 && assetId.toLowerCase() === curve_1.curve.constants.COINS.eurt) {
@@ -489,7 +489,7 @@ var _getUsdRate = function (assetId) { return __awaiter(void 0, void 0, void 0,
489
489
  assetId = 'curve-dao-token';
490
490
  }
491
491
  if (!((((_a = _usdRatesCache[assetId]) === null || _a === void 0 ? void 0 : _a.time) || 0) + 600000 < Date.now())) return [3 /*break*/, 3];
492
- url = [nativeTokenName, 'bitcoin', 'link', 'curve-dao-token'].includes(assetId.toLowerCase()) ?
492
+ url = [nativeTokenName, 'ethereum', 'bitcoin', 'link', 'curve-dao-token', 'stasis-eurs'].includes(assetId.toLowerCase()) ?
493
493
  "https://api.coingecko.com/api/v3/simple/price?ids=".concat(assetId, "&vs_currencies=usd") :
494
494
  "https://api.coingecko.com/api/v3/simple/token_price/".concat(chainName, "?contract_addresses=").concat(assetId, "&vs_currencies=usd");
495
495
  return [4 /*yield*/, axios_1.default.get(url)];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curvefi/api",
3
- "version": "2.8.1",
3
+ "version": "2.8.4",
4
4
  "description": "JavaScript library for curve.fi",
5
5
  "main": "lib/index.js",
6
6
  "author": "Macket",