@curvefi/api 2.21.1 → 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.
- package/lib/boosting.js +1 -1
- package/lib/curve.js +47 -16
- package/lib/external-api.d.ts +7 -0
- package/lib/external-api.js +18 -2
- package/lib/factory/deploy.js +1 -1
- package/lib/factory/factory-api.js +1 -1
- package/lib/factory/factory-crypto.js +1 -1
- package/lib/factory/factory.js +1 -1
- package/lib/index.js +1 -1
- package/lib/interfaces.d.ts +2 -2
- package/lib/pools/PoolTemplate.js +32 -18
- package/lib/pools/mixins/common.js +1 -1
- package/lib/pools/mixins/depositBalancedAmountsMixins.js +1 -1
- package/lib/pools/mixins/depositBonusMixins.js +1 -1
- package/lib/pools/mixins/depositMixins.js +1 -1
- package/lib/pools/mixins/depositWrappedMixins.js +1 -1
- package/lib/pools/mixins/poolBalancesMixin.js +1 -1
- package/lib/pools/mixins/swapMixins.js +1 -1
- package/lib/pools/mixins/swapWrappedMixins.js +1 -1
- package/lib/pools/mixins/withdrawBonusMixins.js +1 -1
- package/lib/pools/mixins/withdrawExpectedMixins.js +1 -1
- package/lib/pools/mixins/withdrawImbalanceMixins.js +1 -1
- package/lib/pools/mixins/withdrawImbalanceWrappedMixins.js +1 -1
- package/lib/pools/mixins/withdrawMixins.js +1 -1
- package/lib/pools/mixins/withdrawOneCoinExpectedMixins.js +1 -1
- package/lib/pools/mixins/withdrawOneCoinMixins.js +1 -1
- package/lib/pools/mixins/withdrawOneCoinWrappedExpectedMixins.js +1 -1
- package/lib/pools/mixins/withdrawOneCoinWrappedMixins.js +1 -1
- package/lib/pools/mixins/withdrawWrappedMixins.js +1 -1
- package/lib/pools/utils.js +1 -1
- package/lib/router.js +1 -1
- package/lib/utils.js +1 -1
- 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
|
-
|
|
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
|
-
|
|
401
|
-
|
|
421
|
+
this.multicallProvider = new ethcall_1.Provider();
|
|
422
|
+
return [4 /*yield*/, this.multicallProvider.init(this.provider)];
|
|
402
423
|
case 4:
|
|
403
|
-
_o.
|
|
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*/,
|
|
413
|
-
case
|
|
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
|
|
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
|
|
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
|
});
|
package/lib/external-api.d.ts
CHANGED
|
@@ -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
|
+
}>>>;
|
package/lib/external-api.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]) {
|
|
@@ -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
|
+
});
|
package/lib/factory/deploy.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]) {
|
|
@@ -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/factory/factory.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/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]) {
|
package/lib/interfaces.d.ts
CHANGED
|
@@ -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
|
|
7
|
-
export
|
|
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,
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
],
|
|
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
|
|
110
|
-
_e =
|
|
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*/, {
|
|
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,
|
|
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
|
-
|
|
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
|
|
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;
|
|
@@ -452,15 +466,15 @@ var PoolTemplate = /** @class */ (function () {
|
|
|
452
466
|
_lpTokenFee = _lpTokenFee.mul(-1);
|
|
453
467
|
return [2 /*return*/, _lpTokenAmount.add(_lpTokenFee)];
|
|
454
468
|
case 11:
|
|
455
|
-
|
|
469
|
+
e_3 = _e.sent();
|
|
456
470
|
if (!isDeposit)
|
|
457
|
-
throw
|
|
471
|
+
throw e_3; // Seeding is only for deposit
|
|
458
472
|
lpContract = curve_1.curve.contracts[this.lpToken].contract;
|
|
459
473
|
return [4 /*yield*/, lpContract.totalSupply(curve_1.curve.constantOptions)];
|
|
460
474
|
case 12:
|
|
461
475
|
_lpTotalSupply = _e.sent();
|
|
462
476
|
if (_lpTotalSupply.gt(0))
|
|
463
|
-
throw
|
|
477
|
+
throw e_3; // Already seeded
|
|
464
478
|
decimals_3 = useUnderlying ? this.underlyingDecimals : this.wrappedDecimals;
|
|
465
479
|
amounts_1 = _amounts.map(function (_a, i) { return ethers_1.ethers.utils.formatUnits(_a, decimals_3[i]); });
|
|
466
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]) {
|
package/lib/pools/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/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]) {
|