@curvefi/api 2.36.0 → 2.36.1
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/constants/pools/ethereum.js +1 -1
- package/lib/external-api.d.ts +1 -0
- package/lib/external-api.js +14 -0
- package/lib/pools/PoolTemplate.js +8 -5
- package/lib/pools/utils.js +3 -9
- package/lib/utils.js +9 -33
- package/package.json +1 -1
|
@@ -1626,7 +1626,7 @@ export var POOLS_DATA_ETHEREUM = lowerCasePoolDataAddresses({
|
|
|
1626
1626
|
reference_asset: 'ETH',
|
|
1627
1627
|
swap_address: '0xBfAb6FA95E0091ed66058ad493189D2cB29385E6',
|
|
1628
1628
|
token_address: '0xBfAb6FA95E0091ed66058ad493189D2cB29385E6',
|
|
1629
|
-
gauge_address: '
|
|
1629
|
+
gauge_address: '0x50161102a240b1456d770Dbb55c76d8dc2D160Aa',
|
|
1630
1630
|
is_plain: true,
|
|
1631
1631
|
underlying_coins: ['ETH', 'wBETH'],
|
|
1632
1632
|
wrapped_coins: ['ETH', 'wBETH'],
|
package/lib/external-api.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import memoize from "memoizee";
|
|
2
2
|
import { IExtendedPoolDataFromApi, ISubgraphPoolData, IDict, INetworkName } from "./interfaces";
|
|
3
3
|
export declare const _getPoolsFromApi: ((network: INetworkName, poolType: "main" | "crypto" | "factory" | "factory-crvusd" | "factory-crypto") => Promise<IExtendedPoolDataFromApi>) & memoize.Memoized<(network: INetworkName, poolType: "main" | "crypto" | "factory" | "factory-crvusd" | "factory-crypto") => Promise<IExtendedPoolDataFromApi>>;
|
|
4
|
+
export declare const _getAllPoolsFromApi: (network: INetworkName) => Promise<IExtendedPoolDataFromApi[]>;
|
|
4
5
|
export declare const _getSubgraphData: ((network: INetworkName) => Promise<{
|
|
5
6
|
poolsData: ISubgraphPoolData[];
|
|
6
7
|
totalVolume: number;
|
package/lib/external-api.js
CHANGED
|
@@ -53,6 +53,20 @@ export var _getPoolsFromApi = memoize(function (network, poolType) { return __aw
|
|
|
53
53
|
promise: true,
|
|
54
54
|
maxAge: 5 * 60 * 1000, // 5m
|
|
55
55
|
});
|
|
56
|
+
export var _getAllPoolsFromApi = function (network) { return __awaiter(void 0, void 0, void 0, function () {
|
|
57
|
+
return __generator(this, function (_a) {
|
|
58
|
+
switch (_a.label) {
|
|
59
|
+
case 0: return [4 /*yield*/, Promise.all([
|
|
60
|
+
_getPoolsFromApi(network, "main"),
|
|
61
|
+
_getPoolsFromApi(network, "crypto"),
|
|
62
|
+
_getPoolsFromApi(network, "factory"),
|
|
63
|
+
_getPoolsFromApi(network, "factory-crvusd"),
|
|
64
|
+
_getPoolsFromApi(network, "factory-crypto"),
|
|
65
|
+
])];
|
|
66
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}); };
|
|
56
70
|
export var _getSubgraphData = memoize(function (network) { return __awaiter(void 0, void 0, void 0, function () {
|
|
57
71
|
var url, response;
|
|
58
72
|
var _a, _b, _c, _d;
|
|
@@ -183,10 +183,13 @@ var PoolTemplate = /** @class */ (function () {
|
|
|
183
183
|
case 3:
|
|
184
184
|
if (!useApi) return [3 /*break*/, 5];
|
|
185
185
|
network = curve.constants.NETWORK_NAME;
|
|
186
|
-
poolType =
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
186
|
+
poolType = this.isCrypto ? "crypto" : "main";
|
|
187
|
+
if (this.id.startsWith("factory-v2-"))
|
|
188
|
+
poolType = "factory";
|
|
189
|
+
if (this.id.startsWith("factory-crvusd-"))
|
|
190
|
+
poolType = "factory-crvusd";
|
|
191
|
+
if (this.id.startsWith("factory-crypto-"))
|
|
192
|
+
poolType = "factory-crypto";
|
|
190
193
|
return [4 /*yield*/, _getPoolsFromApi(network, poolType)];
|
|
191
194
|
case 4:
|
|
192
195
|
poolsData = (_e.sent()).poolData;
|
|
@@ -436,7 +439,7 @@ var PoolTemplate = /** @class */ (function () {
|
|
|
436
439
|
return __generator(this, function (_c) {
|
|
437
440
|
switch (_c.label) {
|
|
438
441
|
case 0:
|
|
439
|
-
if (!this.isCrypto) return [3 /*break*/, 6];
|
|
442
|
+
if (!(this.isCrypto || this.id === "wbeth")) return [3 /*break*/, 6];
|
|
440
443
|
_c.label = 1;
|
|
441
444
|
case 1:
|
|
442
445
|
_c.trys.push([1, 3, , 6]);
|
package/lib/pools/utils.js
CHANGED
|
@@ -48,7 +48,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
48
48
|
import { getPool } from "./poolConstructor.js";
|
|
49
49
|
import { curve } from "../curve.js";
|
|
50
50
|
import { _getRewardsFromApi, _getUsdRate, _setContracts, toBN } from "../utils.js";
|
|
51
|
-
import {
|
|
51
|
+
import { _getAllPoolsFromApi } from "../external-api.js";
|
|
52
52
|
import ERC20Abi from "../constants/abis/ERC20.json" assert { type: 'json' };
|
|
53
53
|
// _userLpBalance: { address: { poolId: { _lpBalance: 0, time: 0 } } }
|
|
54
54
|
var _userLpBalanceCache = {};
|
|
@@ -474,18 +474,12 @@ export var getUserPoolList = function (address, useApi) {
|
|
|
474
474
|
});
|
|
475
475
|
};
|
|
476
476
|
export var _getAmplificationCoefficientsFromApi = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
477
|
-
var network,
|
|
477
|
+
var network, allTypesExtendedPoolData, amplificationCoefficientDict, _i, allTypesExtendedPoolData_1, extendedPoolData, _a, _b, pool;
|
|
478
478
|
return __generator(this, function (_c) {
|
|
479
479
|
switch (_c.label) {
|
|
480
480
|
case 0:
|
|
481
481
|
network = curve.constants.NETWORK_NAME;
|
|
482
|
-
|
|
483
|
-
_getPoolsFromApi(network, "main"),
|
|
484
|
-
_getPoolsFromApi(network, "crypto"),
|
|
485
|
-
_getPoolsFromApi(network, "factory"),
|
|
486
|
-
_getPoolsFromApi(network, "factory-crypto"),
|
|
487
|
-
];
|
|
488
|
-
return [4 /*yield*/, Promise.all(promises)];
|
|
482
|
+
return [4 /*yield*/, _getAllPoolsFromApi(network)];
|
|
489
483
|
case 1:
|
|
490
484
|
allTypesExtendedPoolData = _c.sent();
|
|
491
485
|
amplificationCoefficientDict = {};
|
package/lib/utils.js
CHANGED
|
@@ -59,7 +59,7 @@ import { Contract } from 'ethers';
|
|
|
59
59
|
import { Contract as MulticallContract } from "ethcall";
|
|
60
60
|
import BigNumber from 'bignumber.js';
|
|
61
61
|
import { curve, NETWORK_CONSTANTS } from "./curve.js";
|
|
62
|
-
import { _getFactoryAPYsAndVolumes, _getLegacyAPYsAndVolumes,
|
|
62
|
+
import { _getFactoryAPYsAndVolumes, _getLegacyAPYsAndVolumes, _getAllPoolsFromApi, _getSubgraphData } from "./external-api.js";
|
|
63
63
|
import ERC20Abi from './constants/abis/ERC20.json' assert { type: 'json' };
|
|
64
64
|
export var ETH_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
65
65
|
// export const MAX_ALLOWANCE = curve.parseUnits(new BigNumber(2).pow(256).minus(1).toFixed(), 0);
|
|
@@ -408,19 +408,13 @@ var _getTokenAddressBySwapAddress = function (swapAddress) {
|
|
|
408
408
|
return res[0][1].token_address;
|
|
409
409
|
};
|
|
410
410
|
export var _getUsdPricesFromApi = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
411
|
-
var network,
|
|
411
|
+
var network, allTypesExtendedPoolData, priceDict, _i, allTypesExtendedPoolData_1, extendedPoolData, _a, _b, pool, lpTokenAddress, totalSupply, _c, _d, coin, _e, _f, coin;
|
|
412
412
|
var _g, _h;
|
|
413
413
|
return __generator(this, function (_j) {
|
|
414
414
|
switch (_j.label) {
|
|
415
415
|
case 0:
|
|
416
416
|
network = curve.constants.NETWORK_NAME;
|
|
417
|
-
|
|
418
|
-
_getPoolsFromApi(network, "main"),
|
|
419
|
-
_getPoolsFromApi(network, "crypto"),
|
|
420
|
-
_getPoolsFromApi(network, "factory"),
|
|
421
|
-
_getPoolsFromApi(network, "factory-crypto"),
|
|
422
|
-
];
|
|
423
|
-
return [4 /*yield*/, Promise.all(promises)];
|
|
417
|
+
return [4 /*yield*/, _getAllPoolsFromApi(network)];
|
|
424
418
|
case 1:
|
|
425
419
|
allTypesExtendedPoolData = _j.sent();
|
|
426
420
|
priceDict = {};
|
|
@@ -448,19 +442,13 @@ export var _getUsdPricesFromApi = function () { return __awaiter(void 0, void 0,
|
|
|
448
442
|
});
|
|
449
443
|
}); };
|
|
450
444
|
export var _getCrvApyFromApi = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
451
|
-
var network,
|
|
445
|
+
var network, allTypesExtendedPoolData, apyDict, _i, allTypesExtendedPoolData_2, extendedPoolData, _a, _b, pool;
|
|
452
446
|
var _c, _d;
|
|
453
447
|
return __generator(this, function (_e) {
|
|
454
448
|
switch (_e.label) {
|
|
455
449
|
case 0:
|
|
456
450
|
network = curve.constants.NETWORK_NAME;
|
|
457
|
-
|
|
458
|
-
_getPoolsFromApi(network, "main"),
|
|
459
|
-
_getPoolsFromApi(network, "crypto"),
|
|
460
|
-
_getPoolsFromApi(network, "factory"),
|
|
461
|
-
_getPoolsFromApi(network, "factory-crypto"),
|
|
462
|
-
];
|
|
463
|
-
return [4 /*yield*/, Promise.all(promises)];
|
|
451
|
+
return [4 /*yield*/, _getAllPoolsFromApi(network)];
|
|
464
452
|
case 1:
|
|
465
453
|
allTypesExtendedPoolData = _e.sent();
|
|
466
454
|
apyDict = {};
|
|
@@ -483,18 +471,12 @@ export var _getCrvApyFromApi = function () { return __awaiter(void 0, void 0, vo
|
|
|
483
471
|
});
|
|
484
472
|
}); };
|
|
485
473
|
export var _getRewardsFromApi = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
486
|
-
var network,
|
|
474
|
+
var network, allTypesExtendedPoolData, rewardsDict, _i, allTypesExtendedPoolData_3, extendedPoolData, _a, _b, pool;
|
|
487
475
|
return __generator(this, function (_c) {
|
|
488
476
|
switch (_c.label) {
|
|
489
477
|
case 0:
|
|
490
478
|
network = curve.constants.NETWORK_NAME;
|
|
491
|
-
|
|
492
|
-
_getPoolsFromApi(network, "main"),
|
|
493
|
-
_getPoolsFromApi(network, "crypto"),
|
|
494
|
-
_getPoolsFromApi(network, "factory"),
|
|
495
|
-
_getPoolsFromApi(network, "factory-crypto"),
|
|
496
|
-
];
|
|
497
|
-
return [4 /*yield*/, Promise.all(promises)];
|
|
479
|
+
return [4 /*yield*/, _getAllPoolsFromApi(network)];
|
|
498
480
|
case 1:
|
|
499
481
|
allTypesExtendedPoolData = _c.sent();
|
|
500
482
|
rewardsDict = {};
|
|
@@ -630,18 +612,12 @@ var _getChainId = function (network) {
|
|
|
630
612
|
export var getTVL = function (network) {
|
|
631
613
|
if (network === void 0) { network = curve.chainId; }
|
|
632
614
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
633
|
-
var
|
|
615
|
+
var allTypesExtendedPoolData;
|
|
634
616
|
return __generator(this, function (_a) {
|
|
635
617
|
switch (_a.label) {
|
|
636
618
|
case 0:
|
|
637
619
|
network = _getNetworkName(network);
|
|
638
|
-
|
|
639
|
-
_getPoolsFromApi(network, "main"),
|
|
640
|
-
_getPoolsFromApi(network, "crypto"),
|
|
641
|
-
_getPoolsFromApi(network, "factory"),
|
|
642
|
-
_getPoolsFromApi(network, "factory-crypto"),
|
|
643
|
-
];
|
|
644
|
-
return [4 /*yield*/, Promise.all(promises)];
|
|
620
|
+
return [4 /*yield*/, _getAllPoolsFromApi(network)];
|
|
645
621
|
case 1:
|
|
646
622
|
allTypesExtendedPoolData = _a.sent();
|
|
647
623
|
return [2 /*return*/, allTypesExtendedPoolData.reduce(function (sum, data) { var _a, _b; return sum + ((_b = (_a = data.tvl) !== null && _a !== void 0 ? _a : data.tvlAll) !== null && _b !== void 0 ? _b : 0); }, 0)];
|