@curvefi/api 2.35.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/README.md +31 -1
- package/lib/constants/coins/ethereum.js +1 -1
- package/lib/constants/pools/ethereum.js +1 -1
- package/lib/curve.d.ts +2 -1
- package/lib/curve.js +2 -1
- package/lib/external-api.d.ts +1 -0
- package/lib/external-api.js +14 -0
- package/lib/factory/constants.js +1 -0
- package/lib/factory/deploy.d.ts +2 -2
- package/lib/factory/deploy.js +8 -2
- package/lib/index.d.ts +3 -2
- package/lib/index.js +1 -0
- package/lib/pools/PoolTemplate.js +8 -5
- package/lib/pools/utils.js +6 -21
- package/lib/utils.js +9 -33
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -189,7 +189,7 @@ import curve from "@curvefi/api";
|
|
|
189
189
|
await curve.crvUSDFactory.fetchPools();
|
|
190
190
|
await curve.cryptoFactory.fetchPools();
|
|
191
191
|
|
|
192
|
-
curve.
|
|
192
|
+
curve.getMainPoolList();
|
|
193
193
|
// [
|
|
194
194
|
// 'compound', 'usdt', 'y', 'busd',
|
|
195
195
|
// 'susd', 'pax', 'ren', 'sbtc',
|
|
@@ -263,6 +263,36 @@ import curve from "@curvefi/api";
|
|
|
263
263
|
// 'factory-crypto-57', 'factory-crypto-58', 'factory-crypto-59',
|
|
264
264
|
// 'factory-crypto-60', 'factory-crypto-61', 'factory-crypto-62'
|
|
265
265
|
// ]
|
|
266
|
+
|
|
267
|
+
curve.getPoolList();
|
|
268
|
+
// [
|
|
269
|
+
// 'compound', 'usdt', 'y', 'busd',
|
|
270
|
+
// 'susd', 'pax', 'ren', 'sbtc',
|
|
271
|
+
// 'hbtc', '3pool', 'gusd', 'husd',
|
|
272
|
+
// 'usdk', 'usdn', 'musd', 'rsv',
|
|
273
|
+
// 'tbtc', 'dusd', 'pbtc', 'bbtc',
|
|
274
|
+
// 'obtc', 'seth', 'eurs', 'ust',
|
|
275
|
+
// 'aave', 'steth', 'saave', 'ankreth',
|
|
276
|
+
// 'usdp', 'ib', 'link', 'tusd',
|
|
277
|
+
// 'frax', 'lusd', 'busdv2', 'reth',
|
|
278
|
+
// 'alusd', 'mim', 'tricrypto2', 'eurt',
|
|
279
|
+
// 'eurtusd', 'eursusd', 'crveth', 'rai',
|
|
280
|
+
// 'cvxeth', 'xautusd', 'spelleth', 'teth',
|
|
281
|
+
// '2pool', '4pool', 'fraxusdc', 'euroc',
|
|
282
|
+
// 'frxeth', 'sbtc2', 'fraxusdp', 'wbeth',
|
|
283
|
+
// 'factory-v2-2', 'factory-v2-3', 'factory-v2-5', 'factory-v2-7',
|
|
284
|
+
// 'factory-v2-9', 'factory-v2-10', 'factory-v2-11', 'factory-v2-14',
|
|
285
|
+
// 'factory-v2-21', 'factory-v2-22', 'factory-v2-23', 'factory-v2-24',
|
|
286
|
+
// 'factory-v2-25', 'factory-v2-27', 'factory-v2-28', 'factory-v2-29',
|
|
287
|
+
// 'factory-v2-30', 'factory-v2-31', 'factory-v2-32', 'factory-v2-33',
|
|
288
|
+
// 'factory-v2-34', 'factory-v2-35', 'factory-v2-37', 'factory-v2-38',
|
|
289
|
+
// 'factory-v2-41', 'factory-v2-42', 'factory-v2-43', 'factory-v2-44',
|
|
290
|
+
// 'factory-v2-45', 'factory-v2-47', 'factory-v2-48', 'factory-v2-49',
|
|
291
|
+
// 'factory-v2-50', 'factory-v2-51', 'factory-v2-52', 'factory-v2-53',
|
|
292
|
+
// 'factory-v2-55', 'factory-v2-56', 'factory-v2-57', 'factory-v2-58',
|
|
293
|
+
// 'factory-v2-59', 'factory-v2-60', 'factory-v2-61', 'factory-v2-62',
|
|
294
|
+
// ... 493 more items
|
|
295
|
+
// ]
|
|
266
296
|
})()
|
|
267
297
|
````
|
|
268
298
|
|
|
@@ -2,7 +2,7 @@ import { lowerCaseValues } from "../utils.js";
|
|
|
2
2
|
export var COINS_ETHEREUM = lowerCaseValues({
|
|
3
3
|
crv: "0xD533a949740bb3306d119CC777fa900bA034cd52",
|
|
4
4
|
// --- USD ---
|
|
5
|
-
'crvusd': "
|
|
5
|
+
'crvusd': "0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E",
|
|
6
6
|
'3crv': "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490",
|
|
7
7
|
ycdai: "0x99d1Fa417f94dcD62BfE781a1213c092a47041Bc",
|
|
8
8
|
ycusdc: "0x9777d7E2b60bB01759D0E2f8be2095df444cb07E",
|
|
@@ -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/curve.d.ts
CHANGED
|
@@ -81,10 +81,11 @@ declare class Curve implements ICurve {
|
|
|
81
81
|
fetchNewCryptoFactoryPools: () => Promise<string[]>;
|
|
82
82
|
fetchRecentlyDeployedFactoryPool: (poolAddress: string) => Promise<string>;
|
|
83
83
|
fetchRecentlyDeployedCryptoFactoryPool: (poolAddress: string) => Promise<string>;
|
|
84
|
-
|
|
84
|
+
getMainPoolList: () => string[];
|
|
85
85
|
getFactoryPoolList: () => string[];
|
|
86
86
|
getCrvusdFactoryPoolList: () => string[];
|
|
87
87
|
getCryptoFactoryPoolList: () => string[];
|
|
88
|
+
getPoolList: () => string[];
|
|
88
89
|
setCustomFeeData(customFeeData: {
|
|
89
90
|
gasPrice?: number;
|
|
90
91
|
maxFeePerGas?: number;
|
package/lib/curve.js
CHANGED
|
@@ -479,10 +479,11 @@ var Curve = /** @class */ (function () {
|
|
|
479
479
|
}
|
|
480
480
|
});
|
|
481
481
|
}); };
|
|
482
|
-
this.
|
|
482
|
+
this.getMainPoolList = function () { return Object.keys(_this.constants.POOLS_DATA); };
|
|
483
483
|
this.getFactoryPoolList = function () { return Object.keys(_this.constants.FACTORY_POOLS_DATA); };
|
|
484
484
|
this.getCrvusdFactoryPoolList = function () { return Object.keys(_this.constants.CRVUSD_FACTORY_POOLS_DATA); };
|
|
485
485
|
this.getCryptoFactoryPoolList = function () { return Object.keys(_this.constants.CRYPTO_FACTORY_POOLS_DATA); };
|
|
486
|
+
this.getPoolList = function () { return __spreadArray(__spreadArray(__spreadArray(__spreadArray([], _this.getMainPoolList(), true), _this.getFactoryPoolList(), true), _this.getCrvusdFactoryPoolList(), true), _this.getCryptoFactoryPoolList(), true); };
|
|
486
487
|
// @ts-ignore
|
|
487
488
|
this.provider = null;
|
|
488
489
|
// @ts-ignore
|
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;
|
package/lib/factory/constants.js
CHANGED
|
@@ -52,6 +52,7 @@ export var implementationABIDictEthereum = lowerCaseKeys({
|
|
|
52
52
|
"0x4A4d7868390EF5CaC51cDA262888f34bD3025C3F": Plain2OptimizedABI,
|
|
53
53
|
"0xc629a01eC23AB04E1050500A3717A2a5c0701497": Plain2BasicABI,
|
|
54
54
|
"0x94b4DFd9Ba5865Cc931195c99A2db42F3fc5d45B": Plain2ETHABI,
|
|
55
|
+
"0x847ee1227A9900B73aEeb3a47fAc92c52FD54ed9": Plain2ETHABI,
|
|
55
56
|
"0x67fe41A94e779CcFa22cff02cc2957DC9C0e4286": Plain2BasicABI,
|
|
56
57
|
"0x9B52F13DF69D79Ec5aAB6D1aCe3157d29B409cC3": Plain3BasicABI,
|
|
57
58
|
"0x50b085f2e5958C4A87baf93A8AB79F6bec068494": Plain3BalancesABI,
|
package/lib/factory/deploy.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ethers } from "ethers";
|
|
2
|
-
export declare const deployStablePlainPoolEstimateGas: (name: string, symbol: string, coins: string[], A: number | string, fee: number | string, assetType: 0 | 1 | 2 | 3, implementationIdx: 0 | 1 | 2 | 3) => Promise<number>;
|
|
3
|
-
export declare const deployStablePlainPool: (name: string, symbol: string, coins: string[], A: number | string, fee: number | string, assetType: 0 | 1 | 2 | 3, implementationIdx: 0 | 1 | 2 | 3) => Promise<ethers.ContractTransactionResponse>;
|
|
2
|
+
export declare const deployStablePlainPoolEstimateGas: (name: string, symbol: string, coins: string[], A: number | string, fee: number | string, assetType: 0 | 1 | 2 | 3, implementationIdx: 0 | 1 | 2 | 3 | 4 | 5) => Promise<number>;
|
|
3
|
+
export declare const deployStablePlainPool: (name: string, symbol: string, coins: string[], A: number | string, fee: number | string, assetType: 0 | 1 | 2 | 3, implementationIdx: 0 | 1 | 2 | 3 | 4 | 5) => Promise<ethers.ContractTransactionResponse>;
|
|
4
4
|
export declare const getDeployedStablePlainPoolAddress: (tx: ethers.ContractTransactionResponse) => Promise<string>;
|
|
5
5
|
export declare const deployStableMetaPoolEstimateGas: (basePool: string, name: string, symbol: string, coin: string, A: number | string, fee: number | string, implementationIdx: 0 | 1) => Promise<number>;
|
|
6
6
|
export declare const deployStableMetaPool: (basePool: string, name: string, symbol: string, coin: string, A: number | string, fee: number | string, implementationIdx: 0 | 1) => Promise<ethers.ContractTransactionResponse>;
|
package/lib/factory/deploy.js
CHANGED
|
@@ -68,8 +68,14 @@ assetType, implementationIdx, estimateGas) { return __awaiter(void 0, void 0, vo
|
|
|
68
68
|
throw Error("fee must be <= 1%. Passed fee = ".concat(fee));
|
|
69
69
|
if (![0, 1, 2, 3].includes(assetType))
|
|
70
70
|
throw Error("Invalid assetType. Must be one of: 0 = USD, 1 = ETH, 2 = BTC, 3 = Other");
|
|
71
|
-
if (
|
|
72
|
-
|
|
71
|
+
if (curve.chainId !== 1 || coins.length > 2) {
|
|
72
|
+
if (![0, 1, 2, 3].includes(implementationIdx))
|
|
73
|
+
throw Error("Invalid implementationIdx. Must be one 0, 1, 2 or 3");
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
if (![0, 1, 2, 3, 4, 5].includes(implementationIdx))
|
|
77
|
+
throw Error("Invalid implementationIdx. Must be one 0, 1, 2, 3, 4 or 5");
|
|
78
|
+
}
|
|
73
79
|
_A = parseUnits(A, 0);
|
|
74
80
|
_fee = parseUnits(fee, 8);
|
|
75
81
|
_coins = coins.concat(Array(4 - coins.length).fill(curve.constants.ZERO_ADDRESS));
|
package/lib/index.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ declare const curve: {
|
|
|
25
25
|
signerAddress: string;
|
|
26
26
|
setCustomFeeData: typeof setCustomFeeData;
|
|
27
27
|
getPoolList: () => string[];
|
|
28
|
+
getMainPoolList: () => string[];
|
|
28
29
|
getUserPoolListByLiquidity: (address?: string) => Promise<string[]>;
|
|
29
30
|
getUserPoolListByClaimable: (address?: string) => Promise<string[]>;
|
|
30
31
|
getUserPoolList: (address?: string, useApi?: boolean) => Promise<string[]>;
|
|
@@ -57,7 +58,7 @@ declare const curve: {
|
|
|
57
58
|
fetchPools: (useApi?: boolean) => Promise<void>;
|
|
58
59
|
fetchNewPools: () => Promise<string[]>;
|
|
59
60
|
getPoolList: () => string[];
|
|
60
|
-
deployPlainPool: (name: string, symbol: string, coins: string[], A: string | number, fee: string | number, assetType: 0 | 1 | 2 | 3, implementationIdx: 0 | 1 | 2 | 3) => Promise<ethers.ContractTransactionResponse>;
|
|
61
|
+
deployPlainPool: (name: string, symbol: string, coins: string[], A: string | number, fee: string | number, assetType: 0 | 1 | 2 | 3, implementationIdx: 0 | 1 | 2 | 3 | 4 | 5) => Promise<ethers.ContractTransactionResponse>;
|
|
61
62
|
deployMetaPool: (basePool: string, name: string, symbol: string, coin: string, A: string | number, fee: string | number, implementationIdx: 0 | 1) => Promise<ethers.ContractTransactionResponse>;
|
|
62
63
|
deployGauge: (poolAddress: string) => Promise<ethers.ContractTransactionResponse>;
|
|
63
64
|
getDeployedPlainPoolAddress: (tx: ethers.ContractTransactionResponse) => Promise<string>;
|
|
@@ -65,7 +66,7 @@ declare const curve: {
|
|
|
65
66
|
getDeployedGaugeAddress: (tx: ethers.ContractTransactionResponse) => Promise<string>;
|
|
66
67
|
fetchRecentlyDeployedPool: (poolAddress: string) => Promise<string>;
|
|
67
68
|
estimateGas: {
|
|
68
|
-
deployPlainPool: (name: string, symbol: string, coins: string[], A: string | number, fee: string | number, assetType: 0 | 1 | 2 | 3, implementationIdx: 0 | 1 | 2 | 3) => Promise<number>;
|
|
69
|
+
deployPlainPool: (name: string, symbol: string, coins: string[], A: string | number, fee: string | number, assetType: 0 | 1 | 2 | 3, implementationIdx: 0 | 1 | 2 | 3 | 4 | 5) => Promise<number>;
|
|
69
70
|
deployMetaPool: (basePool: string, name: string, symbol: string, coin: string, A: string | number, fee: string | number, implementationIdx: 0 | 1) => Promise<number>;
|
|
70
71
|
deployGauge: (poolAddress: string) => Promise<number>;
|
|
71
72
|
};
|
package/lib/index.js
CHANGED
|
@@ -67,6 +67,7 @@ var curve = {
|
|
|
67
67
|
signerAddress: '',
|
|
68
68
|
setCustomFeeData: setCustomFeeData,
|
|
69
69
|
getPoolList: _curve.getPoolList,
|
|
70
|
+
getMainPoolList: _curve.getMainPoolList,
|
|
70
71
|
getUserPoolListByLiquidity: getUserPoolListByLiquidity,
|
|
71
72
|
getUserPoolListByClaimable: getUserPoolListByClaimable,
|
|
72
73
|
getUserPoolList: getUserPoolList,
|
|
@@ -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
|
@@ -45,19 +45,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
45
45
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
49
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
50
|
-
if (ar || !(i in from)) {
|
|
51
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
52
|
-
ar[i] = from[i];
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
56
|
-
};
|
|
57
48
|
import { getPool } from "./poolConstructor.js";
|
|
58
49
|
import { curve } from "../curve.js";
|
|
59
50
|
import { _getRewardsFromApi, _getUsdRate, _setContracts, toBN } from "../utils.js";
|
|
60
|
-
import {
|
|
51
|
+
import { _getAllPoolsFromApi } from "../external-api.js";
|
|
61
52
|
import ERC20Abi from "../constants/abis/ERC20.json" assert { type: 'json' };
|
|
62
53
|
// _userLpBalance: { address: { poolId: { _lpBalance: 0, time: 0 } } }
|
|
63
54
|
var _userLpBalanceCache = {};
|
|
@@ -109,7 +100,7 @@ export var getUserPoolListByLiquidity = function (address) {
|
|
|
109
100
|
return __generator(this, function (_a) {
|
|
110
101
|
switch (_a.label) {
|
|
111
102
|
case 0:
|
|
112
|
-
pools =
|
|
103
|
+
pools = curve.getPoolList();
|
|
113
104
|
return [4 /*yield*/, _getUserLpBalances(pools, address, false)];
|
|
114
105
|
case 1:
|
|
115
106
|
_lpBalances = _a.sent();
|
|
@@ -405,7 +396,7 @@ export var getUserPoolListByClaimable = function (address) {
|
|
|
405
396
|
return __generator(this, function (_a) {
|
|
406
397
|
switch (_a.label) {
|
|
407
398
|
case 0:
|
|
408
|
-
pools =
|
|
399
|
+
pools = curve.getPoolList();
|
|
409
400
|
return [4 /*yield*/, _getUserClaimable(pools, address, false)];
|
|
410
401
|
case 1:
|
|
411
402
|
_claimable = _a.sent();
|
|
@@ -464,7 +455,7 @@ export var getUserPoolList = function (address, useApi) {
|
|
|
464
455
|
return __generator(this, function (_b) {
|
|
465
456
|
switch (_b.label) {
|
|
466
457
|
case 0:
|
|
467
|
-
pools =
|
|
458
|
+
pools = curve.getPoolList();
|
|
468
459
|
return [4 /*yield*/, Promise.all([
|
|
469
460
|
_getUserLpBalances(pools, address, false),
|
|
470
461
|
useApi ? _getUserClaimableUseApi(pools, address, false) : _getUserClaimable(pools, address, false),
|
|
@@ -483,18 +474,12 @@ export var getUserPoolList = function (address, useApi) {
|
|
|
483
474
|
});
|
|
484
475
|
};
|
|
485
476
|
export var _getAmplificationCoefficientsFromApi = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
486
|
-
var network,
|
|
477
|
+
var network, allTypesExtendedPoolData, amplificationCoefficientDict, _i, allTypesExtendedPoolData_1, extendedPoolData, _a, _b, pool;
|
|
487
478
|
return __generator(this, function (_c) {
|
|
488
479
|
switch (_c.label) {
|
|
489
480
|
case 0:
|
|
490
481
|
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)];
|
|
482
|
+
return [4 /*yield*/, _getAllPoolsFromApi(network)];
|
|
498
483
|
case 1:
|
|
499
484
|
allTypesExtendedPoolData = _c.sent();
|
|
500
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)];
|