@curvefi/api 2.10.0 → 2.11.0

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.
@@ -6,3 +6,4 @@ export declare const ALIASES_ARBITRUM: import("../interfaces").IDict<string>;
6
6
  export declare const ALIASES_OPTIMISM: import("../interfaces").IDict<string>;
7
7
  export declare const ALIASES_XDAI: import("../interfaces").IDict<string>;
8
8
  export declare const ALIASES_MOONBEAM: import("../interfaces").IDict<string>;
9
+ export declare const ALIASES_AURORA: import("../interfaces").IDict<string>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALIASES_MOONBEAM = exports.ALIASES_XDAI = exports.ALIASES_OPTIMISM = exports.ALIASES_ARBITRUM = exports.ALIASES_AVALANCHE = exports.ALIASES_FANTOM = exports.ALIASES_POLYGON = exports.ALIASES_ETHEREUM = void 0;
3
+ exports.ALIASES_AURORA = exports.ALIASES_MOONBEAM = exports.ALIASES_XDAI = exports.ALIASES_OPTIMISM = exports.ALIASES_ARBITRUM = exports.ALIASES_AVALANCHE = exports.ALIASES_FANTOM = exports.ALIASES_POLYGON = exports.ALIASES_ETHEREUM = void 0;
4
4
  var utils_1 = require("./utils");
5
5
  exports.ALIASES_ETHEREUM = (0, utils_1.lowerCaseValues)({
6
6
  "crv": "0xD533a949740bb3306d119CC777fa900bA034cd52",
@@ -98,3 +98,15 @@ exports.ALIASES_MOONBEAM = (0, utils_1.lowerCaseValues)({
98
98
  "crypto_factory": '0xF18056Bbd320E96A48e3Fbf8bC061322531aac99',
99
99
  "registry_exchange": "",
100
100
  });
101
+ exports.ALIASES_AURORA = (0, utils_1.lowerCaseValues)({
102
+ "crv": "0x64D5BaF5ac030e2b7c435aDD967f787ae94D0205",
103
+ "minter": "0xabC000d88f23Bb45525E447528DBF656A9D55bf5",
104
+ "voting_escrow": "0x5f3b5DfEb7B28CDbD7FAba78963EE202a494e2A2",
105
+ "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
106
+ "address_provider": "0x0000000022d53366457f9d5e68ec105046fc4383",
107
+ "router": "0xfA9a30350048B2BF66865ee20363067c66f67e58",
108
+ "deposit_and_stake": "0x271fbE8aB7f1fB262f81C77Ea5303F03DA9d3d6A",
109
+ "factory": '0xb9fc157394af804a3578134a6585c0dc9cc990d4',
110
+ "crypto_factory": '0xF18056Bbd320E96A48e3Fbf8bC061322531aac99',
111
+ "registry_exchange": "",
112
+ });
@@ -0,0 +1,7 @@
1
+ export declare const COINS_AURORA: {
2
+ [index: string]: string;
3
+ };
4
+ export declare const cTokensAurora: never[];
5
+ export declare const yTokensAurora: never[];
6
+ export declare const ycTokensAurora: never[];
7
+ export declare const aTokensAurora: never[];
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aTokensAurora = exports.ycTokensAurora = exports.yTokensAurora = exports.cTokensAurora = exports.COINS_AURORA = void 0;
4
+ var utils_1 = require("../utils");
5
+ exports.COINS_AURORA = (0, utils_1.lowerCaseValues)({
6
+ 'crv': '0x64D5BaF5ac030e2b7c435aDD967f787ae94D0205',
7
+ // --- USD ---
8
+ 'dai': '0xe3520349F477A5F6EB06107066048508498A291b',
9
+ 'usdc': '0xB12BFcA5A55806AaF64E99521918A4bf0fC40802',
10
+ 'usdt': '0x4988a896b1227218e4A686fdE5EabdcAbd91571f',
11
+ '3crv': '0xbF7E49483881C76487b0989CD7d9A8239B20CA41',
12
+ });
13
+ exports.cTokensAurora = []; //.map((a) => a.toLowerCase());
14
+ exports.yTokensAurora = []; //.map((a) => a.toLowerCase());
15
+ exports.ycTokensAurora = []; //.map((a) => a.toLowerCase());
16
+ exports.aTokensAurora = []; //.map((a) => a.toLowerCase());
@@ -0,0 +1,4 @@
1
+ import { IPoolData } from "../../interfaces";
2
+ export declare const POOLS_DATA_AURORA: {
3
+ [index: string]: IPoolData;
4
+ };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.POOLS_DATA_AURORA = void 0;
7
+ var swap_json_1 = __importDefault(require("../abis/3pool-optimism/swap.json"));
8
+ var gauge_rewards_only_json_1 = __importDefault(require("../abis/gauge_rewards_only.json"));
9
+ var utils_1 = require("../utils");
10
+ exports.POOLS_DATA_AURORA = (0, utils_1.lowerCasePoolDataAddresses)({
11
+ '3pool': {
12
+ name: "3pool",
13
+ full_name: "3pool",
14
+ symbol: "3pool",
15
+ reference_asset: 'USD',
16
+ swap_address: '0xbF7E49483881C76487b0989CD7d9A8239B20CA41',
17
+ token_address: '0xbF7E49483881C76487b0989CD7d9A8239B20CA41',
18
+ gauge_address: '0xC2b1DF84112619D190193E48148000e3990Bf627',
19
+ is_plain: true,
20
+ underlying_coins: ['DAI', 'USDC', 'USDT'],
21
+ wrapped_coins: ['DAI', 'USDC', 'USDT'],
22
+ underlying_coin_addresses: [
23
+ '0xe3520349F477A5F6EB06107066048508498A291b',
24
+ '0xB12BFcA5A55806AaF64E99521918A4bf0fC40802',
25
+ '0x4988a896b1227218e4A686fdE5EabdcAbd91571f',
26
+ ],
27
+ wrapped_coin_addresses: [
28
+ '0xe3520349F477A5F6EB06107066048508498A291b',
29
+ '0xB12BFcA5A55806AaF64E99521918A4bf0fC40802',
30
+ '0x4988a896b1227218e4A686fdE5EabdcAbd91571f',
31
+ ],
32
+ underlying_decimals: [18, 6, 6],
33
+ wrapped_decimals: [18, 6, 6],
34
+ swap_abi: swap_json_1.default,
35
+ gauge_abi: gauge_rewards_only_json_1.default,
36
+ },
37
+ });
@@ -6,4 +6,5 @@ import { POOLS_DATA_ARBITRUM } from "./arbitrum";
6
6
  import { POOLS_DATA_OPTIMISM } from "./optimism";
7
7
  import { POOLS_DATA_XDAI } from "./xdai";
8
8
  import { POOLS_DATA_MOONBEAM } from "./moonbeam";
9
- export { POOLS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_FANTOM, POOLS_DATA_AVALANCHE, POOLS_DATA_ARBITRUM, POOLS_DATA_OPTIMISM, POOLS_DATA_XDAI, POOLS_DATA_MOONBEAM, };
9
+ import { POOLS_DATA_AURORA } from "./aurora";
10
+ export { POOLS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_FANTOM, POOLS_DATA_AVALANCHE, POOLS_DATA_ARBITRUM, POOLS_DATA_OPTIMISM, POOLS_DATA_XDAI, POOLS_DATA_MOONBEAM, POOLS_DATA_AURORA, };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.POOLS_DATA_MOONBEAM = exports.POOLS_DATA_XDAI = exports.POOLS_DATA_OPTIMISM = exports.POOLS_DATA_ARBITRUM = exports.POOLS_DATA_AVALANCHE = exports.POOLS_DATA_FANTOM = exports.POOLS_DATA_POLYGON = exports.POOLS_DATA_ETHEREUM = void 0;
3
+ exports.POOLS_DATA_AURORA = exports.POOLS_DATA_MOONBEAM = exports.POOLS_DATA_XDAI = exports.POOLS_DATA_OPTIMISM = exports.POOLS_DATA_ARBITRUM = exports.POOLS_DATA_AVALANCHE = exports.POOLS_DATA_FANTOM = exports.POOLS_DATA_POLYGON = exports.POOLS_DATA_ETHEREUM = void 0;
4
4
  var ethereum_1 = require("./ethereum");
5
5
  Object.defineProperty(exports, "POOLS_DATA_ETHEREUM", { enumerable: true, get: function () { return ethereum_1.POOLS_DATA_ETHEREUM; } });
6
6
  var polygon_1 = require("./polygon");
@@ -17,3 +17,5 @@ var xdai_1 = require("./xdai");
17
17
  Object.defineProperty(exports, "POOLS_DATA_XDAI", { enumerable: true, get: function () { return xdai_1.POOLS_DATA_XDAI; } });
18
18
  var moonbeam_1 = require("./moonbeam");
19
19
  Object.defineProperty(exports, "POOLS_DATA_MOONBEAM", { enumerable: true, get: function () { return moonbeam_1.POOLS_DATA_MOONBEAM; } });
20
+ var aurora_1 = require("./aurora");
21
+ Object.defineProperty(exports, "POOLS_DATA_AURORA", { enumerable: true, get: function () { return aurora_1.POOLS_DATA_AURORA; } });
package/lib/curve.js CHANGED
@@ -89,6 +89,7 @@ var avalanche_1 = require("./constants/coins/avalanche");
89
89
  var arbitrum_1 = require("./constants/coins/arbitrum");
90
90
  var xdai_1 = require("./constants/coins/xdai");
91
91
  var moonbeam_1 = require("./constants/coins/moonbeam");
92
+ var aurora_1 = require("./constants/coins/aurora");
92
93
  var utils_1 = require("./constants/utils");
93
94
  exports.NETWORK_CONSTANTS = {
94
95
  1: {
@@ -171,6 +172,16 @@ exports.NETWORK_CONSTANTS = {
171
172
  ycTokens: arbitrum_1.ycTokensArbitrum,
172
173
  aTokens: arbitrum_1.aTokensArbitrum,
173
174
  },
175
+ 1313161554: {
176
+ NAME: 'aurora',
177
+ ALIASES: aliases_1.ALIASES_AURORA,
178
+ POOLS_DATA: pools_1.POOLS_DATA_AURORA,
179
+ COINS: aurora_1.COINS_AURORA,
180
+ cTokens: aurora_1.cTokensAurora,
181
+ yTokens: aurora_1.yTokensAurora,
182
+ ycTokens: aurora_1.ycTokensAurora,
183
+ aTokens: aurora_1.aTokensAurora,
184
+ },
174
185
  };
175
186
  var Curve = /** @class */ (function () {
176
187
  function Curve() {
@@ -496,6 +507,8 @@ var Curve = /** @class */ (function () {
496
507
  return __generator(this, function (_e) {
497
508
  switch (_e.label) {
498
509
  case 0:
510
+ if (this.chainId === 1313161554)
511
+ return [2 /*return*/];
499
512
  if (!useApi) return [3 /*break*/, 2];
500
513
  _a = this.constants;
501
514
  _b = utils_1.lowerCasePoolDataAddresses;
@@ -3,13 +3,13 @@ import memoize from "memoizee";
3
3
  export declare const _getPoolsFromApi: ((network: INetworkName, poolType: "main" | "crypto" | "factory" | "factory-crypto") => Promise<IExtendedPoolDataFromApi>) & memoize.Memoized<(network: INetworkName, poolType: "main" | "crypto" | "factory" | "factory-crypto") => Promise<IExtendedPoolDataFromApi>>;
4
4
  export declare const _getSubgraphData: ((network: INetworkName) => Promise<ISubgraphPoolData[]>) & memoize.Memoized<(network: INetworkName) => Promise<ISubgraphPoolData[]>>;
5
5
  export declare const _getMainPoolsGaugeRewards: (() => Promise<IDict<IReward[]>>) & memoize.Memoized<() => Promise<IDict<IReward[]>>>;
6
- export declare const _getMoonbeamLegacyAPYsAndVolumes: (() => Promise<IDict<{
6
+ export declare const _getLegacyAPYsAndVolumes: ((network: string) => Promise<IDict<{
7
7
  apy: {
8
8
  day: number;
9
9
  week: number;
10
10
  };
11
11
  volume: number;
12
- }>>) & memoize.Memoized<() => Promise<IDict<{
12
+ }>>) & memoize.Memoized<(network: string) => Promise<IDict<{
13
13
  apy: {
14
14
  day: number;
15
15
  week: number;
@@ -39,9 +39,10 @@ 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._getMoonbeamFactoryAPYsAndVolumes = exports._getMoonbeamLegacyAPYsAndVolumes = exports._getMainPoolsGaugeRewards = exports._getSubgraphData = exports._getPoolsFromApi = void 0;
42
+ exports._getMoonbeamFactoryAPYsAndVolumes = 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
+ var curve_1 = require("./curve");
45
46
  exports._getPoolsFromApi = (0, memoizee_1.default)(function (network, poolType) { return __awaiter(void 0, void 0, void 0, function () {
46
47
  var url, response;
47
48
  var _a;
@@ -92,12 +93,12 @@ exports._getMainPoolsGaugeRewards = (0, memoizee_1.default)(function () { return
92
93
  promise: true,
93
94
  maxAge: 5 * 60 * 1000, // 5m
94
95
  });
95
- exports._getMoonbeamLegacyAPYsAndVolumes = (0, memoizee_1.default)(function () { return __awaiter(void 0, void 0, void 0, function () {
96
+ exports._getLegacyAPYsAndVolumes = (0, memoizee_1.default)(function (network) { return __awaiter(void 0, void 0, void 0, function () {
96
97
  var url, data, result;
97
98
  return __generator(this, function (_a) {
98
99
  switch (_a.label) {
99
100
  case 0:
100
- url = "https://stats.curve.fi/raw-stats-moonbeam/apys.json";
101
+ url = "https://stats.curve.fi/raw-stats-".concat(network, "/apys.json");
101
102
  return [4 /*yield*/, axios_1.default.get(url, { validateStatus: function () { return true; } })];
102
103
  case 1:
103
104
  data = (_a.sent()).data;
@@ -121,6 +122,8 @@ exports._getMoonbeamFactoryAPYsAndVolumes = (0, memoizee_1.default)(function ()
121
122
  return __generator(this, function (_b) {
122
123
  switch (_b.label) {
123
124
  case 0:
125
+ if (curve_1.curve.chainId !== 1284)
126
+ return [2 /*return*/, []];
124
127
  url = "https://api.curve.fi/api/getFactoryAPYs-moonbeam";
125
128
  return [4 /*yield*/, axios_1.default.get(url, { validateStatus: function () { return true; } })];
126
129
  case 1:
@@ -346,11 +346,21 @@ exports.NATIVE_TOKENS = {
346
346
  wrappedSymbol: 'WGLMR',
347
347
  wrappedAddress: '0xAcc15dC74880C9944775448304B263D191c6077F'.toLowerCase(),
348
348
  },
349
+ 43114: {
350
+ symbol: 'AVAX',
351
+ wrappedSymbol: 'WAVAX',
352
+ wrappedAddress: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7'.toLowerCase(),
353
+ },
349
354
  42161: {
350
355
  symbol: 'ETH',
351
356
  wrappedSymbol: 'WETH',
352
357
  wrappedAddress: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1'.toLowerCase(),
353
358
  },
359
+ 1313161554: {
360
+ symbol: 'ETH',
361
+ wrappedSymbol: 'WETH',
362
+ wrappedAddress: '0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB'.toLowerCase(),
363
+ },
354
364
  };
355
365
  exports.FACTORY_CONSTANTS = {
356
366
  1: {
@@ -164,31 +164,32 @@ var PoolTemplate = /** @class */ (function () {
164
164
  this.statsVolume = function () { return __awaiter(_this, void 0, void 0, function () {
165
165
  var _c, mainPoolsData, factoryPoolsData, poolData_1, lpPrice, network, poolsData, poolData;
166
166
  var _this = this;
167
- return __generator(this, function (_d) {
168
- switch (_d.label) {
167
+ var _d;
168
+ return __generator(this, function (_e) {
169
+ switch (_e.label) {
169
170
  case 0:
170
- if (!(curve_1.curve.chainId === 1284)) return [3 /*break*/, 3];
171
+ if (!(curve_1.curve.chainId === 1284 || curve_1.curve.chainId === 1313161554)) return [3 /*break*/, 3];
171
172
  return [4 /*yield*/, Promise.all([
172
- (0, external_api_1._getMoonbeamLegacyAPYsAndVolumes)(),
173
+ (0, external_api_1._getLegacyAPYsAndVolumes)(curve_1.curve.constants.NETWORK_NAME),
173
174
  (0, external_api_1._getMoonbeamFactoryAPYsAndVolumes)(),
174
175
  ])];
175
176
  case 1:
176
- _c = _d.sent(), mainPoolsData = _c[0], factoryPoolsData = _c[1];
177
+ _c = _e.sent(), mainPoolsData = _c[0], factoryPoolsData = _c[1];
177
178
  if (this.id in mainPoolsData) {
178
- return [2 /*return*/, mainPoolsData[this.id].volume.toString()];
179
+ return [2 /*return*/, ((_d = mainPoolsData[this.id].volume) !== null && _d !== void 0 ? _d : 0).toString()];
179
180
  }
180
181
  poolData_1 = factoryPoolsData.find(function (d) { return d.poolAddress.toLowerCase() === _this.address; });
181
182
  if (!poolData_1)
182
183
  throw Error("Can't get Volume for ".concat(this.name, " (id: ").concat(this.id, ")"));
183
184
  return [4 /*yield*/, (0, utils_1._getUsdRate)(this.lpToken)];
184
185
  case 2:
185
- lpPrice = _d.sent();
186
+ lpPrice = _e.sent();
186
187
  return [2 /*return*/, (poolData_1.volume * lpPrice).toString()];
187
188
  case 3:
188
189
  network = curve_1.curve.constants.NETWORK_NAME;
189
190
  return [4 /*yield*/, (0, external_api_1._getSubgraphData)(network)];
190
191
  case 4:
191
- poolsData = (_d.sent());
192
+ poolsData = (_e.sent());
192
193
  poolData = poolsData.find(function (d) { return d.address.toLowerCase() === _this.address; });
193
194
  if (!poolData)
194
195
  throw Error("Can't get Volume for ".concat(this.name, " (id: ").concat(this.id, ")"));
@@ -202,9 +203,9 @@ var PoolTemplate = /** @class */ (function () {
202
203
  return __generator(this, function (_d) {
203
204
  switch (_d.label) {
204
205
  case 0:
205
- if (!(curve_1.curve.chainId === 1284)) return [3 /*break*/, 2];
206
+ if (!(curve_1.curve.chainId === 1284 || curve_1.curve.chainId === 1313161554)) return [3 /*break*/, 2];
206
207
  return [4 /*yield*/, Promise.all([
207
- (0, external_api_1._getMoonbeamLegacyAPYsAndVolumes)(),
208
+ (0, external_api_1._getLegacyAPYsAndVolumes)(curve_1.curve.constants.NETWORK_NAME),
208
209
  (0, external_api_1._getMoonbeamFactoryAPYsAndVolumes)(),
209
210
  ])];
210
211
  case 1:
@@ -301,7 +302,7 @@ var PoolTemplate = /** @class */ (function () {
301
302
  case 0:
302
303
  if (this.gauge === ethers_1.ethers.constants.AddressZero)
303
304
  return [2 /*return*/, []];
304
- if (![10, 100, 137, 250, 1284, 43114, 42161].includes(curve_1.curve.chainId)) return [3 /*break*/, 8];
305
+ if (!(curve_1.curve.chainId !== 1)) return [3 /*break*/, 8];
305
306
  apy = [];
306
307
  return [4 /*yield*/, this.rewardTokens()];
307
308
  case 1:
package/lib/router.js CHANGED
@@ -100,11 +100,21 @@ exports.NATIVE_TOKENS = {
100
100
  wrappedSymbol: 'WGLMR',
101
101
  wrappedAddress: '0xAcc15dC74880C9944775448304B263D191c6077F'.toLowerCase(),
102
102
  },
103
+ 43114: {
104
+ symbol: 'AVAX',
105
+ wrappedSymbol: 'WAVAX',
106
+ wrappedAddress: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7'.toLowerCase(),
107
+ },
103
108
  42161: {
104
109
  symbol: 'ETH',
105
110
  wrappedSymbol: 'WETH',
106
111
  wrappedAddress: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1'.toLowerCase(),
107
112
  },
113
+ 1313161554: {
114
+ symbol: 'ETH',
115
+ wrappedSymbol: 'WETH',
116
+ wrappedAddress: '0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB'.toLowerCase(),
117
+ },
108
118
  };
109
119
  var MAX_ROUTES_FOR_ONE_COIN = 3;
110
120
  // Inspired by Dijkstra's algorithm
package/lib/utils.js CHANGED
@@ -470,6 +470,7 @@ var _getUsdRate = function (assetId) { return __awaiter(void 0, void 0, void 0,
470
470
  1284: 'moonbeam',
471
471
  43114: 'avalanche',
472
472
  42161: 'arbitrum-one',
473
+ 1313161554: 'aurora',
473
474
  }[curve_1.curve.chainId];
474
475
  nativeTokenName = {
475
476
  1: 'ethereum',
@@ -480,6 +481,7 @@ var _getUsdRate = function (assetId) { return __awaiter(void 0, void 0, void 0,
480
481
  1284: 'moonbeam',
481
482
  43114: 'avalanche-2',
482
483
  42161: 'ethereum',
484
+ 1313161554: 'ethereum',
483
485
  }[curve_1.curve.chainId];
484
486
  if (chainName === undefined) {
485
487
  throw Error('curve object is not initialized');
@@ -549,6 +551,7 @@ var getTVL = function (chainId) {
549
551
  1284: "moonbeam",
550
552
  43114: "avalanche",
551
553
  42161: "arbitrum",
554
+ 1313161554: "aurora",
552
555
  }[chainId]) !== null && _a !== void 0 ? _a : "ethereum";
553
556
  promises = [
554
557
  (0, external_api_1._getPoolsFromApi)(network, "main"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curvefi/api",
3
- "version": "2.10.0",
3
+ "version": "2.11.0",
4
4
  "description": "JavaScript library for curve.fi",
5
5
  "main": "lib/index.js",
6
6
  "author": "Macket",