@gearbox-protocol/sdk 1.20.24 → 1.21.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.
package/README.md CHANGED
@@ -5,4 +5,5 @@ Contains core datastructures which are used across multiple gearbox services
5
5
 
6
6
 
7
7
  ### Important information for contributors
8
+
8
9
  As a contributor to the Gearbox Protocol GitHub repository, your pull requests indicate acceptance of our Gearbox Contribution Agreement. This agreement outlines that you assign the Intellectual Property Rights of your contributions to the Gearbox Foundation. This helps safeguard the Gearbox protocol and ensure the accumulation of its intellectual property. Contributions become part of the repository and may be used for various purposes, including commercial. As recognition for your expertise and work, you receive the opportunity to participate in the protocol's development and the potential to see your work integrated within it. The full Gearbox Contribution Agreement is accessible within the [repository](/ContributionAgreement) for comprehensive understanding. [Let's innovate together!]
@@ -8,5 +8,5 @@ interface CurveAPY {
8
8
  gauge: Array<[string, BigNumber]>;
9
9
  }
10
10
  export type CurveAPYResult = Record<CurveAPYTokens, CurveAPY>;
11
- export declare function getCurveAPY(): Promise<CurveAPYResult>;
11
+ export declare function getCurveAPY(): Promise<CurveAPYResult | null>;
12
12
  export {};
@@ -50,7 +50,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
50
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
51
  exports.getCurveAPY = void 0;
52
52
  var axios_1 = __importDefault(require("axios"));
53
- var ethers_1 = require("ethers");
54
53
  var constants_1 = require("../core/constants");
55
54
  var formatter_1 = require("../utils/formatter");
56
55
  var mappers_1 = require("../utils/mappers");
@@ -63,14 +62,14 @@ var APY_DICTIONARY = {
63
62
  steCRV: "14",
64
63
  crvFRAX: "44",
65
64
  GEAR: "factory-crypto-192",
66
- OHMFRAXBP: "factory-crypto-158", // 0xfc1e8bf3e81383ef07be24c3fd146745719de48d
65
+ OHMFRAXBP: "factory-crypto-158",
66
+ MIM_3LP3CRV: "40",
67
+ crvCRVETH: "crypto-3",
68
+ crvCVXETH: "crypto-4",
69
+ crvUSDTWBTCWETH: "factory-tricrypto-1",
70
+ LDOETH: "factory-crypto-204",
67
71
  };
68
72
  var CRV_APY_RESPONSE_DECIMALS = 100;
69
- var ZERO = {
70
- base: ethers_1.BigNumber.from(0),
71
- crv: ethers_1.BigNumber.from(0),
72
- gauge: [],
73
- };
74
73
  // const CRYPTO = "https://api.curve.fi/api/getPools/ethereum/crypto";
75
74
  // const FACTORY = "https://api.curve.fi/api/getPools/ethereum/factory";
76
75
  var CURVE_FACTORY_CRYPTO_URL = "https://api.curve.fi/api/getPools/ethereum/factory-crypto";
@@ -122,17 +121,7 @@ function getCurveAPY() {
122
121
  case 2:
123
122
  e_1 = _d.sent();
124
123
  console.error(e_1);
125
- return [2 /*return*/, {
126
- "3Crv": ZERO,
127
- crvFRAX: ZERO,
128
- FRAX3CRV: ZERO,
129
- gusd3CRV: ZERO,
130
- LUSD3CRV: ZERO,
131
- crvPlain3andSUSD: ZERO,
132
- steCRV: ZERO,
133
- GEAR: ZERO,
134
- OHMFRAXBP: ZERO,
135
- }];
124
+ return [2 /*return*/, null];
136
125
  case 3: return [2 /*return*/];
137
126
  }
138
127
  });
@@ -6,10 +6,10 @@ import type { YearnLPToken } from "../tokens/yearn";
6
6
  import { AdapterInterface } from "./adapters";
7
7
  import { Protocols } from "./protocols";
8
8
  export type UniswapV2Contract = "UNISWAP_V2_ROUTER" | "SUSHISWAP_ROUTER";
9
- export type CurvePoolContract = "CURVE_3CRV_POOL" | "CURVE_FRAX_USDC_POOL" | "CURVE_STETH_GATEWAY" | "CURVE_FRAX_POOL" | "CURVE_LUSD_POOL" | "CURVE_GUSD_POOL" | "CURVE_SUSD_POOL" | "CURVE_SUSD_DEPOSIT" | "CURVE_OHM_FRAXBP";
9
+ export type CurvePoolContract = "CURVE_3CRV_POOL" | "CURVE_FRAX_USDC_POOL" | "CURVE_STETH_GATEWAY" | "CURVE_FRAX_POOL" | "CURVE_LUSD_POOL" | "CURVE_GUSD_POOL" | "CURVE_SUSD_POOL" | "CURVE_SUSD_DEPOSIT" | "CURVE_OHMFRAXBP_POOL" | "CURVE_CRVETH_POOL" | "CURVE_CVXETH_POOL" | "CURVE_3CRYPTO_POOL" | "CURVE_MIM_POOL" | "CURVE_LDOETH_POOL";
10
10
  export type YearnVaultContract = "YEARN_DAI_VAULT" | "YEARN_USDC_VAULT" | "YEARN_WETH_VAULT" | "YEARN_WBTC_VAULT" | "YEARN_CURVE_FRAX_VAULT" | "YEARN_CURVE_STETH_VAULT";
11
- export type ConvexPoolContract = "CONVEX_3CRV_POOL" | "CONVEX_FRAX_USDC_POOL" | "CONVEX_GUSD_POOL" | "CONVEX_SUSD_POOL" | "CONVEX_STECRV_POOL" | "CONVEX_FRAX3CRV_POOL" | "CONVEX_LUSD3CRV_POOL" | "CONVEX_OHMFRAXBP_POOL";
12
- export type SupportedContract = UniswapV2Contract | "UNISWAP_V3_ROUTER" | CurvePoolContract | "CURVE_GEAR_POOL" | YearnVaultContract | "CONVEX_BOOSTER" | ConvexPoolContract | "CONVEX_CLAIM_ZAP" | "LIDO_STETH_GATEWAY" | "LIDO_WSTETH" | "BALANCER_VAULT";
11
+ export type ConvexPoolContract = "CONVEX_3CRV_POOL" | "CONVEX_FRAX_USDC_POOL" | "CONVEX_GUSD_POOL" | "CONVEX_SUSD_POOL" | "CONVEX_STECRV_POOL" | "CONVEX_FRAX3CRV_POOL" | "CONVEX_LUSD3CRV_POOL" | "CONVEX_OHMFRAXBP_POOL" | "CONVEX_MIM3CRV_POOL" | "CONVEX_CRVETH_POOL" | "CONVEX_CVXETH_POOL" | "CONVEX_3CRYPTO_POOL" | "CONVEX_LDOETH_POOL";
12
+ export type SupportedContract = UniswapV2Contract | "UNISWAP_V3_ROUTER" | CurvePoolContract | "CURVE_GEAR_POOL" | YearnVaultContract | "CONVEX_BOOSTER" | ConvexPoolContract | "CONVEX_CLAIM_ZAP" | "LIDO_STETH_GATEWAY" | "LIDO_WSTETH" | "UNIVERSAL_ADAPTER" | "BALANCER_VAULT";
13
13
  export declare const contractsByNetwork: Record<NetworkType, Record<SupportedContract, string>>;
14
14
  export declare const UNISWAP_V3_QUOTER = "0xb27308f9f90d607463bb33ea1bebb41c27ce5ab6";
15
15
  export interface BaseContractParams {
@@ -30,8 +30,13 @@ exports.contractsByNetwork = {
30
30
  CURVE_SUSD_POOL: "0xA5407eAE9Ba41422680e2e00537571bcC53efBfD",
31
31
  CURVE_SUSD_DEPOSIT: "0xFCBa3E75865d2d561BE8D220616520c171F12851",
32
32
  CURVE_GUSD_POOL: "0x4f062658EaAF2C1ccf8C8e36D6824CDf41167956",
33
+ CURVE_MIM_POOL: token_1.tokenDataByNetwork.Mainnet.MIM_3LP3CRV,
34
+ CURVE_OHMFRAXBP_POOL: "0xFc1e8bf3E81383Ef07Be24c3FD146745719DE48D",
35
+ CURVE_CRVETH_POOL: "0x8301AE4fc9c624d1D396cbDAa1ed877821D7C511",
36
+ CURVE_CVXETH_POOL: "0xb576491f1e6e5e62f1d8f26062ee822b40b0e0d4",
37
+ CURVE_3CRYPTO_POOL: token_1.tokenDataByNetwork.Mainnet.crvUSDTWBTCWETH,
38
+ CURVE_LDOETH_POOL: "0x9409280dc1e6d33ab7a8c6ec03e5763fb61772b5",
33
39
  CURVE_GEAR_POOL: "0x0e9b5b092cad6f1c5e6bc7f89ffe1abb5c95f1c2",
34
- CURVE_OHM_FRAXBP: "0xFc1e8bf3E81383Ef07Be24c3FD146745719DE48D",
35
40
  // YEARN
36
41
  YEARN_DAI_VAULT: token_1.tokenDataByNetwork.Mainnet.yvDAI,
37
42
  YEARN_USDC_VAULT: token_1.tokenDataByNetwork.Mainnet.yvUSDC,
@@ -50,11 +55,18 @@ exports.contractsByNetwork = {
50
55
  CONVEX_LUSD3CRV_POOL: "0x2ad92A7aE036a038ff02B96c88de868ddf3f8190",
51
56
  CONVEX_CLAIM_ZAP: "0x92Cf9E5e4D1Dfbf7dA0d2BB3e884a68416a65070",
52
57
  CONVEX_OHMFRAXBP_POOL: "0x27A8c58e3DE84280826d615D80ddb33930383fE9",
58
+ CONVEX_MIM3CRV_POOL: "0xFd5AbF66b003881b88567EB9Ed9c651F14Dc4771",
59
+ CONVEX_CRVETH_POOL: "0x085A2054c51eA5c91dbF7f90d65e728c0f2A270f",
60
+ CONVEX_CVXETH_POOL: "0xb1Fb0BA0676A1fFA83882c7F4805408bA232C1fA",
61
+ CONVEX_3CRYPTO_POOL: "0xb05262D4aaAA38D0Af4AaB244D446ebDb5afd4A7",
62
+ CONVEX_LDOETH_POOL: "0x8CA990E954611E5E3d2cc51C013fCC372c8c1D38",
53
63
  // LIDO
54
64
  LIDO_STETH_GATEWAY: "0x6f4b4aB5142787c05b7aB9A9692A0f46b997C29D",
55
65
  LIDO_WSTETH: token_1.tokenDataByNetwork.Mainnet.wstETH,
56
66
  // BALANCER
57
67
  BALANCER_VAULT: "0xba12222222228d8ba445958a75a0704d566bf2c8",
68
+ // GEARBOX
69
+ UNIVERSAL_ADAPTER: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC",
58
70
  },
59
71
  //
60
72
  //
@@ -78,8 +90,13 @@ exports.contractsByNetwork = {
78
90
  CURVE_SUSD_POOL: "0x2A1b874C86734feA5be050d32fAb02FCF9eB1Bc2",
79
91
  CURVE_SUSD_DEPOSIT: "0x9782f1fF1AEFb387F01cae72F668F13E8061d9Dd",
80
92
  CURVE_GUSD_POOL: "0x8C954d89C2fB2c96F0195738b8c5538B34D5344E",
93
+ CURVE_MIM_POOL: token_1.tokenDataByNetwork.Goerli.MIM_3LP3CRV,
94
+ CURVE_OHMFRAXBP_POOL: "deploy me",
95
+ CURVE_CRVETH_POOL: "deploy me",
96
+ CURVE_CVXETH_POOL: "deploy me",
97
+ CURVE_3CRYPTO_POOL: "deploy me",
98
+ CURVE_LDOETH_POOL: "deploy me",
81
99
  CURVE_GEAR_POOL: "deploy me",
82
- CURVE_OHM_FRAXBP: "deploy me",
83
100
  // YEARN
84
101
  YEARN_DAI_VAULT: token_1.tokenDataByNetwork.Goerli.yvDAI,
85
102
  YEARN_USDC_VAULT: token_1.tokenDataByNetwork.Goerli.yvUSDC,
@@ -98,11 +115,18 @@ exports.contractsByNetwork = {
98
115
  CONVEX_GUSD_POOL: "0xa8eD353f56BB2e1063B8a011F0491a1703998De4",
99
116
  CONVEX_CLAIM_ZAP: "0x74C7Bb6493C5EcfDb49E3ED5Ee4B60012b724b4b",
100
117
  CONVEX_OHMFRAXBP_POOL: "deploy me",
118
+ CONVEX_MIM3CRV_POOL: "deploy me",
119
+ CONVEX_CRVETH_POOL: "deploy me",
120
+ CONVEX_CVXETH_POOL: "deploy me",
121
+ CONVEX_3CRYPTO_POOL: "deploy me",
122
+ CONVEX_LDOETH_POOL: "deploy me",
101
123
  // LIDO
102
124
  LIDO_STETH_GATEWAY: "0x9290E44f5f819b7de0Fb88b10641f9F08a999BF7",
103
125
  LIDO_WSTETH: token_1.tokenDataByNetwork.Goerli.wstETH,
104
126
  // BALANCER
105
127
  BALANCER_VAULT: "deploy me",
128
+ // GEARBOX
129
+ UNIVERSAL_ADAPTER: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC",
106
130
  },
107
131
  };
108
132
  exports.UNISWAP_V3_QUOTER = "0xb27308f9f90d607463bb33ea1bebb41c27ce5ab6";
@@ -198,7 +222,7 @@ exports.contractParams = {
198
222
  tokens: ["GUSD", "3Crv"],
199
223
  underlyings: ["GUSD", "DAI", "USDC", "USDT"],
200
224
  },
201
- CURVE_OHM_FRAXBP: {
225
+ CURVE_OHMFRAXBP_POOL: {
202
226
  name: "Curve OHM_FRAXBP",
203
227
  protocol: protocols_1.Protocols.Curve,
204
228
  type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
@@ -206,6 +230,42 @@ exports.contractParams = {
206
230
  tokens: ["OHM", "crvFRAX"],
207
231
  underlyings: ["OHM", "FRAX", "USDC"],
208
232
  },
233
+ CURVE_MIM_POOL: {
234
+ name: "Curve MIM",
235
+ protocol: protocols_1.Protocols.Curve,
236
+ type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
237
+ lpToken: "MIM_3LP3CRV",
238
+ tokens: ["MIM", "3Crv"],
239
+ underlyings: ["MIM", "DAI", "USDC", "USDT"],
240
+ },
241
+ CURVE_CRVETH_POOL: {
242
+ name: "Curve CRVETH",
243
+ protocol: protocols_1.Protocols.Curve,
244
+ type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
245
+ lpToken: "crvCRVETH",
246
+ tokens: ["WETH", "CRV"],
247
+ },
248
+ CURVE_CVXETH_POOL: {
249
+ name: "Curve CVXETH",
250
+ protocol: protocols_1.Protocols.Curve,
251
+ type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
252
+ lpToken: "crvCVXETH",
253
+ tokens: ["WETH", "CVX"],
254
+ },
255
+ CURVE_3CRYPTO_POOL: {
256
+ name: "Curve 3Crypto",
257
+ protocol: protocols_1.Protocols.Curve,
258
+ type: adapters_1.AdapterInterface.CURVE_V1_3ASSETS,
259
+ lpToken: "crvUSDTWBTCWETH",
260
+ tokens: ["USDT", "WBTC", "WETH"],
261
+ },
262
+ CURVE_LDOETH_POOL: {
263
+ name: "Curve LDOETH",
264
+ protocol: protocols_1.Protocols.Curve,
265
+ type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
266
+ lpToken: "LDOETH",
267
+ tokens: ["WETH", "LDO"],
268
+ },
209
269
  YEARN_DAI_VAULT: {
210
270
  name: "Yearn DAI",
211
271
  protocol: protocols_1.Protocols.Yearn,
@@ -340,6 +400,73 @@ exports.contractParams = {
340
400
  stakedToken: "stkcvxOHMFRAXBP",
341
401
  extraRewards: [],
342
402
  },
403
+ CONVEX_MIM3CRV_POOL: {
404
+ name: "Convex MIM3CRV",
405
+ protocol: protocols_1.Protocols.Convex,
406
+ type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
407
+ stakedToken: "stkcvxMIM_3LP3CRV",
408
+ extraRewards: [
409
+ {
410
+ rewardToken: "SPELL",
411
+ poolAddress: {
412
+ Mainnet: "0x69a92f1656cd2e193797546cFe2EaF32EACcf6f7",
413
+ Goerli: "deploy me",
414
+ },
415
+ },
416
+ ],
417
+ },
418
+ CONVEX_CRVETH_POOL: {
419
+ name: "Convex crvCRVETH",
420
+ protocol: protocols_1.Protocols.Convex,
421
+ type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
422
+ stakedToken: "stkcvxcrvCRVETH",
423
+ extraRewards: [
424
+ {
425
+ rewardToken: "CVX",
426
+ poolAddress: {
427
+ Mainnet: "0xE1eCBB4181378E2346EAC90Eb5606c01Aa08f052",
428
+ Goerli: "deploy me",
429
+ },
430
+ },
431
+ ],
432
+ },
433
+ CONVEX_CVXETH_POOL: {
434
+ name: "Convex crvCVXETH",
435
+ protocol: protocols_1.Protocols.Convex,
436
+ type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
437
+ stakedToken: "stkcvxcrvCVXETH",
438
+ extraRewards: [
439
+ {
440
+ rewardToken: "CVX",
441
+ poolAddress: {
442
+ Mainnet: "0x834B9147Fd23bF131644aBC6e557Daf99C5cDa15",
443
+ Goerli: "deploy me",
444
+ },
445
+ },
446
+ ],
447
+ },
448
+ CONVEX_3CRYPTO_POOL: {
449
+ name: "Convex 3Crypto",
450
+ protocol: protocols_1.Protocols.Convex,
451
+ type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
452
+ stakedToken: "stkcvxcrvUSDTWBTCWETH",
453
+ extraRewards: [],
454
+ },
455
+ CONVEX_LDOETH_POOL: {
456
+ name: "Convex LDOETH",
457
+ protocol: protocols_1.Protocols.Convex,
458
+ type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
459
+ stakedToken: "stkcvxLDOETH",
460
+ extraRewards: [
461
+ {
462
+ rewardToken: "LDO",
463
+ poolAddress: {
464
+ Mainnet: "0x95e6092449a0f3946A5a0f308Ead4adcff244E2B",
465
+ Goerli: "deploy me",
466
+ },
467
+ },
468
+ ],
469
+ },
343
470
  LIDO_STETH_GATEWAY: {
344
471
  name: "Lido STETH",
345
472
  protocol: protocols_1.Protocols.Lido,
@@ -355,6 +482,11 @@ exports.contractParams = {
355
482
  protocol: protocols_1.Protocols.Lido,
356
483
  type: adapters_1.AdapterInterface.LIDO_WSTETH_V1,
357
484
  },
485
+ UNIVERSAL_ADAPTER: {
486
+ name: "Gearbox universal adapter",
487
+ protocol: protocols_1.Protocols.Gearbox,
488
+ type: adapters_1.AdapterInterface.UNIVERSAL,
489
+ },
358
490
  BALANCER_VAULT: {
359
491
  name: "Balancer Vault",
360
492
  protocol: protocols_1.Protocols.Balancer,
@@ -342,6 +342,44 @@ exports.priceFeedsByNetwork = {
342
342
  type: oracles_1.OracleType.ZERO_ORACLE,
343
343
  },
344
344
  },
345
+ OHM: {
346
+ priceFeedETH: {
347
+ type: oracles_1.OracleType.CHAINLINK_ORACLE,
348
+ address: {
349
+ Mainnet: "0x9a72298ae3886221820b1c878d12d872087d3a23",
350
+ Goerli: "deploy me",
351
+ },
352
+ },
353
+ priceFeedUSD: {
354
+ type: oracles_1.OracleType.COMPOSITE_ORACLE,
355
+ targetToBasePriceFeed: {
356
+ Mainnet: "0x9a72298ae3886221820b1c878d12d872087d3a23",
357
+ Goerli: "deploy me",
358
+ },
359
+ baseToUsdPriceFeed: {
360
+ Mainnet: "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419",
361
+ Goerli: "0x491741d9F426130d1bC27Aee82f8b4Bd4E6E5f5D",
362
+ },
363
+ },
364
+ },
365
+ MIM: {
366
+ priceFeedUSD: {
367
+ type: oracles_1.OracleType.CHAINLINK_ORACLE,
368
+ address: {
369
+ Mainnet: "0x7A364e8770418566e3eb2001A96116E6138Eb32F",
370
+ Goerli: "deploy me",
371
+ },
372
+ },
373
+ },
374
+ SPELL: {
375
+ priceFeedUSD: {
376
+ type: oracles_1.OracleType.CHAINLINK_ORACLE,
377
+ address: {
378
+ Mainnet: "0x8c110b94c5f1d347facf5e1e938ab2db60e3c9a8",
379
+ Goerli: "deploy me",
380
+ },
381
+ },
382
+ },
345
383
  yvDAI: {
346
384
  priceFeedETH: {
347
385
  type: oracles_1.OracleType.YEARN_TOKEN_ORACLE,
@@ -417,6 +455,36 @@ exports.priceFeedsByNetwork = {
417
455
  assets: ["GUSD", "DAI", "USDC", "USDT"],
418
456
  },
419
457
  },
458
+ OHMFRAXBP: {
459
+ priceFeedUSD: {
460
+ type: oracles_1.OracleType.CURVE_CRYPTO_ORACLE,
461
+ assets: ["OHM", "crvFRAX"],
462
+ },
463
+ },
464
+ crvCRVETH: {
465
+ priceFeedUSD: {
466
+ type: oracles_1.OracleType.CURVE_CRYPTO_ORACLE,
467
+ assets: ["WETH", "CRV"],
468
+ },
469
+ },
470
+ crvCVXETH: {
471
+ priceFeedUSD: {
472
+ type: oracles_1.OracleType.CURVE_CRYPTO_ORACLE,
473
+ assets: ["WETH", "CVX"],
474
+ },
475
+ },
476
+ crvUSDTWBTCWETH: {
477
+ priceFeedUSD: {
478
+ type: oracles_1.OracleType.CURVE_CRYPTO_ORACLE,
479
+ assets: ["USDT", "WBTC", "WETH"],
480
+ },
481
+ },
482
+ LDOETH: {
483
+ priceFeedUSD: {
484
+ type: oracles_1.OracleType.CURVE_CRYPTO_ORACLE,
485
+ assets: ["LDO", "WETH"],
486
+ },
487
+ },
420
488
  // YEARN- CURVE TOKENS
421
489
  yvCurve_stETH: {
422
490
  priceFeedUSD: {
@@ -479,6 +547,36 @@ exports.priceFeedsByNetwork = {
479
547
  curveSymbol: "OHMFRAXBP",
480
548
  },
481
549
  },
550
+ cvxMIM_3LP3CRV: {
551
+ priceFeedUSD: {
552
+ type: oracles_1.OracleType.LIKE_CURVE_LP_TOKEN_ORACLE,
553
+ curveSymbol: "MIM_3LP3CRV",
554
+ },
555
+ },
556
+ cvxcrvCRVETH: {
557
+ priceFeedUSD: {
558
+ type: oracles_1.OracleType.LIKE_CURVE_LP_TOKEN_ORACLE,
559
+ curveSymbol: "crvCRVETH",
560
+ },
561
+ },
562
+ cvxcrvCVXETH: {
563
+ priceFeedUSD: {
564
+ type: oracles_1.OracleType.LIKE_CURVE_LP_TOKEN_ORACLE,
565
+ curveSymbol: "crvCVXETH",
566
+ },
567
+ },
568
+ cvxcrvUSDTWBTCWETH: {
569
+ priceFeedUSD: {
570
+ type: oracles_1.OracleType.LIKE_CURVE_LP_TOKEN_ORACLE,
571
+ curveSymbol: "crvUSDTWBTCWETH",
572
+ },
573
+ },
574
+ cvxLDOETH: {
575
+ priceFeedUSD: {
576
+ type: oracles_1.OracleType.LIKE_CURVE_LP_TOKEN_ORACLE,
577
+ curveSymbol: "LDOETH",
578
+ },
579
+ },
482
580
  // CVX tokens
483
581
  stkcvx3Crv: {
484
582
  priceFeedUSD: {
@@ -528,6 +626,36 @@ exports.priceFeedsByNetwork = {
528
626
  curveSymbol: "OHMFRAXBP",
529
627
  },
530
628
  },
629
+ stkcvxMIM_3LP3CRV: {
630
+ priceFeedUSD: {
631
+ type: oracles_1.OracleType.LIKE_CURVE_LP_TOKEN_ORACLE,
632
+ curveSymbol: "MIM_3LP3CRV",
633
+ },
634
+ },
635
+ stkcvxcrvCRVETH: {
636
+ priceFeedUSD: {
637
+ type: oracles_1.OracleType.LIKE_CURVE_LP_TOKEN_ORACLE,
638
+ curveSymbol: "crvCRVETH",
639
+ },
640
+ },
641
+ stkcvxcrvCVXETH: {
642
+ priceFeedUSD: {
643
+ type: oracles_1.OracleType.LIKE_CURVE_LP_TOKEN_ORACLE,
644
+ curveSymbol: "crvCVXETH",
645
+ },
646
+ },
647
+ stkcvxcrvUSDTWBTCWETH: {
648
+ priceFeedUSD: {
649
+ type: oracles_1.OracleType.LIKE_CURVE_LP_TOKEN_ORACLE,
650
+ curveSymbol: "crvUSDTWBTCWETH",
651
+ },
652
+ },
653
+ stkcvxLDOETH: {
654
+ priceFeedUSD: {
655
+ type: oracles_1.OracleType.LIKE_CURVE_LP_TOKEN_ORACLE,
656
+ curveSymbol: "LDOETH",
657
+ },
658
+ },
531
659
  // GEARBOX
532
660
  dDAI: {
533
661
  priceFeedETH: {
@@ -599,30 +727,10 @@ exports.priceFeedsByNetwork = {
599
727
  address: { Mainnet: "", Goerli: "" },
600
728
  },
601
729
  },
602
- OHM: {
603
- priceFeedETH: {
604
- type: oracles_1.OracleType.CHAINLINK_ORACLE,
605
- address: {
606
- Mainnet: "0x9a72298ae3886221820b1c878d12d872087d3a23",
607
- Goerli: "deploy me",
608
- },
609
- },
610
- priceFeedUSD: {
611
- type: oracles_1.OracleType.COMPOSITE_ORACLE,
612
- targetToBasePriceFeed: {
613
- Mainnet: "0x9a72298ae3886221820b1c878d12d872087d3a23",
614
- Goerli: "deploy me",
615
- },
616
- baseToUsdPriceFeed: {
617
- Mainnet: "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419",
618
- Goerli: "0x491741d9F426130d1bC27Aee82f8b4Bd4E6E5f5D",
619
- },
620
- },
621
- },
622
- OHMFRAXBP: {
730
+ MIM_3LP3CRV: {
623
731
  priceFeedUSD: {
624
732
  type: oracles_1.OracleType.CURVE_CRYPTO_ORACLE,
625
- assets: ["OHM", "crvFRAX"],
733
+ assets: ["MIM", "3Crv"],
626
734
  },
627
735
  },
628
736
  "50OHM_50DAI": {
@@ -3,8 +3,8 @@ import { TradeAction } from "../pathfinder/tradeTypes";
3
3
  import type { CurveLPToken } from "./curveLP";
4
4
  import type { SupportedToken, TokenBase } from "./token";
5
5
  import { TokenType } from "./tokenType";
6
- export type ConvexLPToken = "cvx3Crv" | "cvxcrvFRAX" | "cvxsteCRV" | "cvxFRAX3CRV" | "cvxLUSD3CRV" | "cvxcrvPlain3andSUSD" | "cvxgusd3CRV" | "cvxOHMFRAXBP";
7
- export type ConvexStakedPhantomToken = "stkcvx3Crv" | "stkcvxcrvFRAX" | "stkcvxsteCRV" | "stkcvxFRAX3CRV" | "stkcvxLUSD3CRV" | "stkcvxcrvPlain3andSUSD" | "stkcvxgusd3CRV" | "stkcvxOHMFRAXBP";
6
+ export type ConvexLPToken = "cvx3Crv" | "cvxcrvFRAX" | "cvxsteCRV" | "cvxFRAX3CRV" | "cvxLUSD3CRV" | "cvxcrvPlain3andSUSD" | "cvxgusd3CRV" | "cvxOHMFRAXBP" | "cvxMIM_3LP3CRV" | "cvxcrvCRVETH" | "cvxcrvCVXETH" | "cvxcrvUSDTWBTCWETH" | "cvxLDOETH";
7
+ export type ConvexStakedPhantomToken = "stkcvx3Crv" | "stkcvxcrvFRAX" | "stkcvxsteCRV" | "stkcvxFRAX3CRV" | "stkcvxLUSD3CRV" | "stkcvxcrvPlain3andSUSD" | "stkcvxgusd3CRV" | "stkcvxOHMFRAXBP" | "stkcvxMIM_3LP3CRV" | "stkcvxcrvCRVETH" | "stkcvxcrvCVXETH" | "stkcvxcrvUSDTWBTCWETH" | "stkcvxLDOETH";
8
8
  type BaseConvexToken = {
9
9
  pool: ConvexPoolContract;
10
10
  pid: number;
@@ -183,6 +183,111 @@ var convexLpTokens = {
183
183
  },
184
184
  ],
185
185
  },
186
+ cvxMIM_3LP3CRV: {
187
+ name: "Convex cvxMIM-3LP3CRV-f",
188
+ symbol: "cvxMIM_3LP3CRV",
189
+ type: tokenType_1.TokenType.CONVEX_LP_TOKEN,
190
+ pool: "CONVEX_MIM3CRV_POOL",
191
+ pid: 40,
192
+ underlying: "MIM_3LP3CRV",
193
+ stakedToken: "stkcvxMIM_3LP3CRV",
194
+ lpActions: [
195
+ {
196
+ type: tradeTypes_1.TradeType.ConvexWithdrawLP,
197
+ contract: "CONVEX_BOOSTER",
198
+ tokenOut: "MIM_3LP3CRV",
199
+ },
200
+ {
201
+ type: tradeTypes_1.TradeType.ConvexStake,
202
+ contract: "CONVEX_MIM3CRV_POOL",
203
+ tokenOut: "stkcvxMIM_3LP3CRV",
204
+ },
205
+ ],
206
+ },
207
+ cvxcrvCRVETH: {
208
+ name: "Convex cvxcrvCRVETH",
209
+ symbol: "cvxcrvCRVETH",
210
+ type: tokenType_1.TokenType.CONVEX_LP_TOKEN,
211
+ pool: "CONVEX_CRVETH_POOL",
212
+ pid: 61,
213
+ underlying: "crvCRVETH",
214
+ stakedToken: "stkcvxcrvCRVETH",
215
+ lpActions: [
216
+ {
217
+ type: tradeTypes_1.TradeType.ConvexWithdrawLP,
218
+ contract: "CONVEX_BOOSTER",
219
+ tokenOut: "crvCRVETH",
220
+ },
221
+ {
222
+ type: tradeTypes_1.TradeType.ConvexStake,
223
+ contract: "CONVEX_OHMFRAXBP_POOL",
224
+ tokenOut: "stkcvxcrvCRVETH",
225
+ },
226
+ ],
227
+ },
228
+ cvxcrvCVXETH: {
229
+ name: "Convex cvxcrvCVXETH",
230
+ symbol: "cvxcrvCVXETH",
231
+ type: tokenType_1.TokenType.CONVEX_LP_TOKEN,
232
+ pool: "CONVEX_CVXETH_POOL",
233
+ pid: 64,
234
+ underlying: "crvCVXETH",
235
+ stakedToken: "stkcvxcrvCVXETH",
236
+ lpActions: [
237
+ {
238
+ type: tradeTypes_1.TradeType.ConvexWithdrawLP,
239
+ contract: "CONVEX_BOOSTER",
240
+ tokenOut: "crvCVXETH",
241
+ },
242
+ {
243
+ type: tradeTypes_1.TradeType.ConvexStake,
244
+ contract: "CONVEX_CVXETH_POOL",
245
+ tokenOut: "stkcvxcrvCVXETH",
246
+ },
247
+ ],
248
+ },
249
+ cvxcrvUSDTWBTCWETH: {
250
+ name: "Convex cvxcrvUSDTWBTCWETH",
251
+ symbol: "cvxcrvUSDTWBTCWETH",
252
+ type: tokenType_1.TokenType.CONVEX_LP_TOKEN,
253
+ pool: "CONVEX_3CRYPTO_POOL",
254
+ pid: 188,
255
+ underlying: "crvUSDTWBTCWETH",
256
+ stakedToken: "stkcvxcrvUSDTWBTCWETH",
257
+ lpActions: [
258
+ {
259
+ type: tradeTypes_1.TradeType.ConvexWithdrawLP,
260
+ contract: "CONVEX_BOOSTER",
261
+ tokenOut: "crvUSDTWBTCWETH",
262
+ },
263
+ {
264
+ type: tradeTypes_1.TradeType.ConvexStake,
265
+ contract: "CONVEX_3CRYPTO_POOL",
266
+ tokenOut: "stkcvxcrvUSDTWBTCWETH",
267
+ },
268
+ ],
269
+ },
270
+ cvxLDOETH: {
271
+ name: "Convex cvxLDOETH",
272
+ symbol: "cvxLDOETH",
273
+ type: tokenType_1.TokenType.CONVEX_LP_TOKEN,
274
+ pool: "CONVEX_LDOETH_POOL",
275
+ pid: 149,
276
+ underlying: "LDOETH",
277
+ stakedToken: "stkcvxLDOETH",
278
+ lpActions: [
279
+ {
280
+ type: tradeTypes_1.TradeType.ConvexWithdrawLP,
281
+ contract: "CONVEX_BOOSTER",
282
+ tokenOut: "LDOETH",
283
+ },
284
+ {
285
+ type: tradeTypes_1.TradeType.ConvexStake,
286
+ contract: "CONVEX_3CRYPTO_POOL",
287
+ tokenOut: "stkcvxLDOETH",
288
+ },
289
+ ],
290
+ },
186
291
  };
187
292
  var convexStakedPhantomTokens = {
188
293
  stkcvx3Crv: {
@@ -353,6 +458,111 @@ var convexStakedPhantomTokens = {
353
458
  },
354
459
  ],
355
460
  },
461
+ stkcvxMIM_3LP3CRV: {
462
+ name: "Convex stkcvxMIM_3LP3CRV-f",
463
+ symbol: "stkcvxMIM_3LP3CRV",
464
+ type: tokenType_1.TokenType.CONVEX_STAKED_TOKEN,
465
+ pool: "CONVEX_MIM3CRV_POOL",
466
+ pid: 40,
467
+ underlying: "MIM_3LP3CRV",
468
+ lpToken: "cvxMIM_3LP3CRV",
469
+ lpActions: [
470
+ {
471
+ type: tradeTypes_1.TradeType.ConvexWithdraw,
472
+ contract: "CONVEX_MIM3CRV_POOL",
473
+ tokenOut: "cvxMIM_3LP3CRV",
474
+ },
475
+ {
476
+ type: tradeTypes_1.TradeType.ConvexWithdrawAndUnwrap,
477
+ contract: "CONVEX_MIM3CRV_POOL",
478
+ tokenOut: "MIM_3LP3CRV",
479
+ },
480
+ ],
481
+ },
482
+ stkcvxcrvCRVETH: {
483
+ name: "Convex stkcvxcrvCRVETH",
484
+ symbol: "stkcvxcrvCRVETH",
485
+ type: tokenType_1.TokenType.CONVEX_STAKED_TOKEN,
486
+ pool: "CONVEX_CRVETH_POOL",
487
+ pid: 61,
488
+ underlying: "crvCRVETH",
489
+ lpToken: "cvxcrvCRVETH",
490
+ lpActions: [
491
+ {
492
+ type: tradeTypes_1.TradeType.ConvexWithdraw,
493
+ contract: "CONVEX_CRVETH_POOL",
494
+ tokenOut: "cvxcrvCRVETH",
495
+ },
496
+ {
497
+ type: tradeTypes_1.TradeType.ConvexWithdrawAndUnwrap,
498
+ contract: "CONVEX_CRVETH_POOL",
499
+ tokenOut: "crvCRVETH",
500
+ },
501
+ ],
502
+ },
503
+ stkcvxcrvCVXETH: {
504
+ name: "Convex stkcvxcrvCVXETH",
505
+ symbol: "stkcvxcrvCVXETH",
506
+ type: tokenType_1.TokenType.CONVEX_STAKED_TOKEN,
507
+ pool: "CONVEX_CVXETH_POOL",
508
+ pid: 64,
509
+ underlying: "crvCVXETH",
510
+ lpToken: "cvxcrvCVXETH",
511
+ lpActions: [
512
+ {
513
+ type: tradeTypes_1.TradeType.ConvexWithdraw,
514
+ contract: "CONVEX_CVXETH_POOL",
515
+ tokenOut: "cvxcrvCVXETH",
516
+ },
517
+ {
518
+ type: tradeTypes_1.TradeType.ConvexWithdrawAndUnwrap,
519
+ contract: "CONVEX_CVXETH_POOL",
520
+ tokenOut: "crvCVXETH",
521
+ },
522
+ ],
523
+ },
524
+ stkcvxcrvUSDTWBTCWETH: {
525
+ name: "Convex stkcvxcrv3crypto",
526
+ symbol: "stkcvxcrvUSDTWBTCWETH",
527
+ type: tokenType_1.TokenType.CONVEX_STAKED_TOKEN,
528
+ pool: "CONVEX_3CRYPTO_POOL",
529
+ pid: 188,
530
+ underlying: "crvUSDTWBTCWETH",
531
+ lpToken: "cvxcrvUSDTWBTCWETH",
532
+ lpActions: [
533
+ {
534
+ type: tradeTypes_1.TradeType.ConvexWithdraw,
535
+ contract: "CONVEX_3CRYPTO_POOL",
536
+ tokenOut: "cvxcrvUSDTWBTCWETH",
537
+ },
538
+ {
539
+ type: tradeTypes_1.TradeType.ConvexWithdrawAndUnwrap,
540
+ contract: "CONVEX_3CRYPTO_POOL",
541
+ tokenOut: "crvUSDTWBTCWETH",
542
+ },
543
+ ],
544
+ },
545
+ stkcvxLDOETH: {
546
+ name: "Convex stkcvxLDOETH",
547
+ symbol: "stkcvxLDOETH",
548
+ type: tokenType_1.TokenType.CONVEX_STAKED_TOKEN,
549
+ pool: "CONVEX_LDOETH_POOL",
550
+ pid: 149,
551
+ underlying: "LDOETH",
552
+ lpToken: "cvxLDOETH",
553
+ lpActions: [
554
+ {
555
+ type: tradeTypes_1.TradeType.ConvexWithdraw,
556
+ contract: "CONVEX_3CRYPTO_POOL",
557
+ tokenOut: "cvxLDOETH",
558
+ },
559
+ {
560
+ type: tradeTypes_1.TradeType.ConvexWithdrawAndUnwrap,
561
+ contract: "CONVEX_3CRYPTO_POOL",
562
+ tokenOut: "LDOETH",
563
+ },
564
+ ],
565
+ },
356
566
  };
357
567
  exports.convexTokens = __assign(__assign({}, convexLpTokens), convexStakedPhantomTokens);
358
568
  var isConvexToken = function (t) {
@@ -4,8 +4,8 @@ import { TradeAction } from "../pathfinder/tradeTypes";
4
4
  import { PartialRecord } from "../utils/types";
5
5
  import type { SupportedToken, TokenBase } from "./token";
6
6
  import { TokenType } from "./tokenType";
7
- export type CurveMetaTokens = "FRAX3CRV" | "LUSD3CRV" | "gusd3CRV";
8
- export type CurveLPToken = "3Crv" | "steCRV" | "crvPlain3andSUSD" | "crvFRAX" | "OHMFRAXBP" | CurveMetaTokens;
7
+ export type CurveMetaTokens = "FRAX3CRV" | "LUSD3CRV" | "gusd3CRV" | "MIM_3LP3CRV";
8
+ export type CurveLPToken = "3Crv" | "steCRV" | "crvPlain3andSUSD" | "crvFRAX" | "OHMFRAXBP" | "crvCRVETH" | "crvCVXETH" | "crvUSDTWBTCWETH" | "LDOETH" | CurveMetaTokens;
9
9
  export type CurveLPTokenData = {
10
10
  symbol: CurveLPToken;
11
11
  type: TokenType.CURVE_LP_TOKEN;
@@ -81,6 +81,29 @@ exports.curveMetaTokens = {
81
81
  },
82
82
  ],
83
83
  },
84
+ MIM_3LP3CRV: {
85
+ name: "Curve MIM_3LP3CRV",
86
+ symbol: "MIM_3LP3CRV",
87
+ type: tokenType_1.TokenType.CURVE_LP_TOKEN,
88
+ pool: "CURVE_MIM_POOL",
89
+ lpActions: [
90
+ {
91
+ type: tradeTypes_1.TradeType.CurveWithdrawLP,
92
+ contract: "CURVE_MIM_POOL",
93
+ tokenOut: ["MIM", "3Crv"],
94
+ },
95
+ {
96
+ type: tradeTypes_1.TradeType.ConvexDepositLP,
97
+ contract: "CONVEX_BOOSTER",
98
+ tokenOut: "cvxMIM_3LP3CRV",
99
+ },
100
+ {
101
+ type: tradeTypes_1.TradeType.ConvexDepositLPAndStake,
102
+ contract: "CONVEX_BOOSTER",
103
+ tokenOut: "stkcvxMIM_3LP3CRV",
104
+ },
105
+ ],
106
+ },
84
107
  };
85
108
  exports.curveTokens = __assign({
86
109
  // CURVE LP TOKENS
@@ -177,12 +200,11 @@ exports.curveTokens = __assign({
177
200
  name: "Curve.fi Factory Crypto Pool: OHM/FRAXBP",
178
201
  symbol: "OHMFRAXBP",
179
202
  type: tokenType_1.TokenType.CURVE_LP_TOKEN,
180
- pool: "CURVE_OHM_FRAXBP",
181
- wrapper: "CURVE_OHM_FRAXBP",
203
+ pool: "CURVE_OHMFRAXBP_POOL",
182
204
  lpActions: [
183
205
  {
184
206
  type: tradeTypes_1.TradeType.CurveWithdrawLP,
185
- contract: "CURVE_OHM_FRAXBP",
207
+ contract: "CURVE_OHMFRAXBP_POOL",
186
208
  tokenOut: ["OHM", "FRAX", "USDC"],
187
209
  },
188
210
  {
@@ -196,6 +218,94 @@ exports.curveTokens = __assign({
196
218
  tokenOut: "stkcvxOHMFRAXBP",
197
219
  },
198
220
  ],
221
+ }, crvCRVETH: {
222
+ name: "Curve CRV-ETH",
223
+ symbol: "crvCRVETH",
224
+ type: tokenType_1.TokenType.CURVE_LP_TOKEN,
225
+ pool: "CURVE_CRVETH_POOL",
226
+ lpActions: [
227
+ {
228
+ type: tradeTypes_1.TradeType.CurveWithdrawLP,
229
+ contract: "CURVE_CRVETH_POOL",
230
+ tokenOut: ["WETH", "CRV"],
231
+ },
232
+ {
233
+ type: tradeTypes_1.TradeType.ConvexDepositLP,
234
+ contract: "CONVEX_BOOSTER",
235
+ tokenOut: "cvxcrvCRVETH",
236
+ },
237
+ {
238
+ type: tradeTypes_1.TradeType.ConvexDepositLPAndStake,
239
+ contract: "CONVEX_BOOSTER",
240
+ tokenOut: "stkcvxcrvCRVETH",
241
+ },
242
+ ],
243
+ }, crvCVXETH: {
244
+ name: "Curve CVX-ETH",
245
+ symbol: "crvCVXETH",
246
+ type: tokenType_1.TokenType.CURVE_LP_TOKEN,
247
+ pool: "CURVE_CVXETH_POOL",
248
+ lpActions: [
249
+ {
250
+ type: tradeTypes_1.TradeType.CurveWithdrawLP,
251
+ contract: "CURVE_CVXETH_POOL",
252
+ tokenOut: ["WETH", "CVX"],
253
+ },
254
+ {
255
+ type: tradeTypes_1.TradeType.ConvexDepositLP,
256
+ contract: "CONVEX_BOOSTER",
257
+ tokenOut: "cvxcrvCVXETH",
258
+ },
259
+ {
260
+ type: tradeTypes_1.TradeType.ConvexDepositLPAndStake,
261
+ contract: "CONVEX_BOOSTER",
262
+ tokenOut: "stkcvxcrvCVXETH",
263
+ },
264
+ ],
265
+ }, crvUSDTWBTCWETH: {
266
+ name: "Curve USDT/WBTC/WETH",
267
+ symbol: "crvUSDTWBTCWETH",
268
+ type: tokenType_1.TokenType.CURVE_LP_TOKEN,
269
+ pool: "CURVE_3CRYPTO_POOL",
270
+ lpActions: [
271
+ {
272
+ type: tradeTypes_1.TradeType.CurveWithdrawLP,
273
+ contract: "CURVE_3CRYPTO_POOL",
274
+ tokenOut: ["USDT", "WBTC", "WETH"],
275
+ },
276
+ {
277
+ type: tradeTypes_1.TradeType.ConvexDepositLP,
278
+ contract: "CONVEX_BOOSTER",
279
+ tokenOut: "cvxcrvUSDTWBTCWETH",
280
+ },
281
+ {
282
+ type: tradeTypes_1.TradeType.ConvexDepositLPAndStake,
283
+ contract: "CONVEX_BOOSTER",
284
+ tokenOut: "stkcvxcrvUSDTWBTCWETH",
285
+ },
286
+ ],
287
+ }, LDOETH: {
288
+ name: "Curve LDOETH",
289
+ symbol: "LDOETH",
290
+ type: tokenType_1.TokenType.CURVE_LP_TOKEN,
291
+ pool: "CURVE_LDOETH_POOL",
292
+ lpActions: [
293
+ {
294
+ type: tradeTypes_1.TradeType.CurveWithdrawLP,
295
+ contract: "CURVE_LDOETH_POOL",
296
+ tokenOut: ["LDO", "WETH"],
297
+ },
298
+ {
299
+ type: tradeTypes_1.TradeType.ConvexDepositLP,
300
+ contract: "CONVEX_BOOSTER",
301
+ tokenOut: "cvxLDOETH",
302
+ },
303
+ {
304
+ type: tradeTypes_1.TradeType.ConvexDepositLPAndStake,
305
+ contract: "CONVEX_BOOSTER",
306
+ tokenOut: "stkcvxLDOETH",
307
+ },
308
+ ],
199
309
  } }, exports.curveMetaTokens);
200
310
  var isCurveLPToken = function (t) {
201
311
  return typeof t === "string" && !!exports.curveTokens[t];
@@ -28,6 +28,8 @@ exports.decimals = {
28
28
  GUSD: 2,
29
29
  LQTY: 18,
30
30
  OHM: 9,
31
+ MIM: 18,
32
+ SPELL: 18,
31
33
  "3Crv": 18,
32
34
  crvFRAX: 18,
33
35
  OHMFRAXBP: 18,
@@ -36,6 +38,11 @@ exports.decimals = {
36
38
  FRAX3CRV: 18,
37
39
  LUSD3CRV: 18,
38
40
  gusd3CRV: 18,
41
+ MIM_3LP3CRV: 18,
42
+ crvCRVETH: 18,
43
+ crvCVXETH: 18,
44
+ crvUSDTWBTCWETH: 18,
45
+ LDOETH: 18,
39
46
  cvx3Crv: 18,
40
47
  cvxcrvFRAX: 18,
41
48
  cvxsteCRV: 18,
@@ -44,6 +51,11 @@ exports.decimals = {
44
51
  cvxcrvPlain3andSUSD: 18,
45
52
  cvxgusd3CRV: 18,
46
53
  cvxOHMFRAXBP: 18,
54
+ cvxMIM_3LP3CRV: 18,
55
+ cvxcrvCRVETH: 18,
56
+ cvxcrvCVXETH: 18,
57
+ cvxcrvUSDTWBTCWETH: 18,
58
+ cvxLDOETH: 18,
47
59
  stkcvx3Crv: 18,
48
60
  stkcvxcrvFRAX: 18,
49
61
  stkcvxsteCRV: 18,
@@ -52,6 +64,11 @@ exports.decimals = {
52
64
  stkcvxcrvPlain3andSUSD: 18,
53
65
  stkcvxgusd3CRV: 18,
54
66
  stkcvxOHMFRAXBP: 18,
67
+ stkcvxMIM_3LP3CRV: 18,
68
+ stkcvxcrvCRVETH: 18,
69
+ stkcvxcrvCVXETH: 18,
70
+ stkcvxcrvUSDTWBTCWETH: 18,
71
+ stkcvxLDOETH: 18,
55
72
  yvDAI: 18,
56
73
  yvUSDC: 6,
57
74
  yvWETH: 18,
@@ -1,7 +1,7 @@
1
1
  import { TradeAction } from "../pathfinder/tradeTypes";
2
2
  import type { TokenBase } from "./token";
3
3
  import { TokenType } from "./tokenType";
4
- export type NormalToken = "1INCH" | "AAVE" | "COMP" | "CRV" | "DPI" | "FEI" | "LINK" | "SNX" | "UNI" | "USDT" | "USDC" | "DAI" | "WETH" | "WBTC" | "YFI" | "STETH" | "wstETH" | "CVX" | "FRAX" | "FXS" | "LDO" | "LUSD" | "sUSD" | "GUSD" | "LQTY" | "OHM";
4
+ export type NormalToken = "1INCH" | "AAVE" | "COMP" | "CRV" | "DPI" | "FEI" | "LINK" | "SNX" | "UNI" | "USDT" | "USDC" | "DAI" | "WETH" | "WBTC" | "YFI" | "STETH" | "wstETH" | "CVX" | "FRAX" | "FXS" | "LDO" | "LUSD" | "sUSD" | "GUSD" | "LQTY" | "OHM" | "MIM" | "SPELL";
5
5
  export type NormalTokenData = {
6
6
  symbol: NormalToken;
7
7
  type: TokenType.NORMAL_TOKEN;
@@ -676,6 +676,57 @@ exports.normalTokens = {
676
676
  },
677
677
  ],
678
678
  },
679
+ MIM: {
680
+ name: "MIM",
681
+ symbol: "MIM",
682
+ type: tokenType_1.TokenType.NORMAL_TOKEN,
683
+ swapActions: [
684
+ {
685
+ type: tradeTypes_1.TradeType.UniswapV3Swap,
686
+ contract: "UNISWAP_V3_ROUTER",
687
+ },
688
+ {
689
+ type: tradeTypes_1.TradeType.UniswapV2Swap,
690
+ contract: "UNISWAP_V2_ROUTER",
691
+ },
692
+ {
693
+ type: tradeTypes_1.TradeType.UniswapV2Swap,
694
+ contract: "SUSHISWAP_ROUTER",
695
+ },
696
+ {
697
+ type: tradeTypes_1.TradeType.CurveExchange,
698
+ contract: "CURVE_MIM_POOL",
699
+ tokenOut: ["3Crv"],
700
+ },
701
+ ],
702
+ lpActions: [
703
+ {
704
+ type: tradeTypes_1.TradeType.CurveDepositLP,
705
+ contract: "CURVE_MIM_POOL",
706
+ tokenOut: "MIM_3LP3CRV",
707
+ },
708
+ ],
709
+ },
710
+ SPELL: {
711
+ name: "SPELL",
712
+ symbol: "SPELL",
713
+ type: tokenType_1.TokenType.NORMAL_TOKEN,
714
+ swapActions: [
715
+ {
716
+ type: tradeTypes_1.TradeType.UniswapV3Swap,
717
+ contract: "UNISWAP_V3_ROUTER",
718
+ },
719
+ {
720
+ type: tradeTypes_1.TradeType.UniswapV2Swap,
721
+ contract: "UNISWAP_V2_ROUTER",
722
+ },
723
+ {
724
+ type: tradeTypes_1.TradeType.UniswapV2Swap,
725
+ contract: "SUSHISWAP_ROUTER",
726
+ },
727
+ ],
728
+ lpActions: [],
729
+ },
679
730
  };
680
731
  var isNormalToken = function (t) {
681
732
  return typeof t === "string" && !!exports.normalTokens[t];
@@ -42,6 +42,8 @@ exports.tokenDataByNetwork = {
42
42
  WETH: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
43
43
  YFI: "0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e",
44
44
  OHM: "0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5",
45
+ MIM: "0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3",
46
+ SPELL: "0x090185f2135308BaD17527004364eBcC2D37e5F6",
45
47
  /// UPDATE
46
48
  STETH: "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",
47
49
  wstETH: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
@@ -62,6 +64,11 @@ exports.tokenDataByNetwork = {
62
64
  crvPlain3andSUSD: "0xC25a3A3b969415c80451098fa907EC722572917F",
63
65
  gusd3CRV: "0xD2967f45c4f384DEEa880F807Be904762a3DeA07",
64
66
  OHMFRAXBP: "0x5271045F7B73c17825A7A7aee6917eE46b0B7520",
67
+ MIM_3LP3CRV: "0x5a6A4D54456819380173272A5E8E9B9904BdF41B",
68
+ crvCRVETH: "0xEd4064f376cB8d68F770FB1Ff088a3d0F3FF5c4d",
69
+ crvCVXETH: "0x3A283D9c08E8b55966afb64C515f5143cf907611",
70
+ crvUSDTWBTCWETH: "0xf5f5b97624542d72a9e06f04804bf81baa15e2b4",
71
+ LDOETH: "0xb79565c01b7ae53618d9b847b9443aaf4f9011e7",
65
72
  // CONVEX LP TOKENS
66
73
  cvx3Crv: "0x30D9410ED1D5DA1F6C8391af5338C93ab8d4035C",
67
74
  cvxcrvFRAX: "0x117A0bab81F25e60900787d98061cCFae023560c",
@@ -71,6 +78,11 @@ exports.tokenDataByNetwork = {
71
78
  cvxcrvPlain3andSUSD: "0x11D200ef1409cecA8D6d23e6496550f707772F11",
72
79
  cvxgusd3CRV: "0x15c2471ef46Fa721990730cfa526BcFb45574576",
73
80
  cvxOHMFRAXBP: "0xd8F1B275c320819c7D752ef79988d0780bf00446",
81
+ cvxMIM_3LP3CRV: "0xabB54222c2b77158CC975a2b715a3d703c256F05",
82
+ cvxcrvCRVETH: "0x0Fb8dcdD95e4C48D3dD0eFA4086512f6F8FD4565",
83
+ cvxcrvCVXETH: "0x0bC857f97c0554d1d0D602b56F2EEcE682016fBA",
84
+ cvxcrvUSDTWBTCWETH: "0xB77BA8B4b9d981269466eE95796A9Af57d4E82DB",
85
+ cvxLDOETH: "0xD533a949740bb3306d119CC777fa900bA034cd52",
74
86
  // CONVEX PHANTOM TOKEN ADDRESSES
75
87
  stkcvx3Crv: "0xbAc7a431146aeAf3F57A16b9954f332Fd292F270",
76
88
  stkcvxFRAX3CRV: "0xaF314b088B53835d5cF4e4CB81beABa5934a61fe",
@@ -79,7 +91,12 @@ exports.tokenDataByNetwork = {
79
91
  stkcvxcrvPlain3andSUSD: "0x7e1992A7F28dAA5f6a2d34e2cd40f962f37B172C",
80
92
  stkcvxLUSD3CRV: "0x0A1D4A25d0390899b90bCD22E1Ef155003EA76d7",
81
93
  stkcvxcrvFRAX: "0x276187f24D41745513cbE2Bd5dFC33a4d8CDc9ed",
82
- stkcvxOHMFRAXBP: "deploy me",
94
+ stkcvxOHMFRAXBP: "0x888407AabAfa936B90acF65C4Db19370A01d9bd8",
95
+ stkcvxMIM_3LP3CRV: "0x1aAbe1B22a290cCB39FD77440D5eb96Cf40079f4",
96
+ stkcvxcrvCRVETH: "0xfC4b109D46e12170DF31AF8ba39403fAC2b8c0cf",
97
+ stkcvxcrvCVXETH: "0x948bEd0211076b05d22e98929217d0f04D068C5c",
98
+ stkcvxcrvUSDTWBTCWETH: "0xEE3EE8373384BBfea3227E527C1B9b4e7821273E",
99
+ stkcvxLDOETH: "0x2Fd6bD5b81c1060039D619E76e4e1f924B173006",
83
100
  // YEARN TOKENS
84
101
  yvDAI: "0xdA816459F1AB5631232FE5e97a05BBBb94970c95",
85
102
  yvUSDC: "0xa354F35829Ae975e850e23e9615b11Da1B3dC4DE",
@@ -122,6 +139,8 @@ exports.tokenDataByNetwork = {
122
139
  WETH: "0x595DFFf822767c2E14CFB7D5e0b5a5e23eCfACdd",
123
140
  YFI: "0xCad5D7701e0A85fe50B3aCaBDcdF7e75672F326e",
124
141
  OHM: "deploy me",
142
+ MIM: "deploy me",
143
+ SPELL: "deploy me",
125
144
  /// UPDATE
126
145
  STETH: "0xd628baa42b3080593a231016bF3F229161C9F745",
127
146
  wstETH: "0x5E590e6c887A84098F3fa465267a44AaE058eBbb",
@@ -149,6 +168,11 @@ exports.tokenDataByNetwork = {
149
168
  FRAX3CRV: "0x12Ad3125C67eC5325Cc94AFdA8B26cd12BCe1E9b",
150
169
  LUSD3CRV: "0x348B1846b87cA12D23A9A4E73B1CfAc2Aad49cf4",
151
170
  OHMFRAXBP: "deploy me",
171
+ MIM_3LP3CRV: "deploy me",
172
+ crvCRVETH: "deploy me",
173
+ crvCVXETH: "deploy me",
174
+ crvUSDTWBTCWETH: "deploy me",
175
+ LDOETH: "deploy me",
152
176
  // CONVEX LP TOKENS
153
177
  cvx3Crv: "0xe12bFD868a81D1AD147731D0eC164d9C4A397FCd",
154
178
  cvxcrvFRAX: "0x68345E6C192f97A7334a96ceda94e2486c08Fa0c",
@@ -158,6 +182,11 @@ exports.tokenDataByNetwork = {
158
182
  cvxLUSD3CRV: "0xD944F38aa81804313db028924Cf0695B26B67e6E",
159
183
  cvxgusd3CRV: "0xBA9e6B05b0F2C5B41Df2d56c0b1ddaFa03d53fed",
160
184
  cvxOHMFRAXBP: "deploy me",
185
+ cvxMIM_3LP3CRV: "deploy me",
186
+ cvxcrvCRVETH: "deploy me",
187
+ cvxcrvCVXETH: "deploy me",
188
+ cvxcrvUSDTWBTCWETH: "deploy me",
189
+ cvxLDOETH: "deploy me",
161
190
  // CONVEX PHANTOM TOKEN ADDRESSES
162
191
  stkcvx3Crv: "0xEB763389772eA09eddFcfed3EC571Bb20c187763",
163
192
  stkcvxcrvFRAX: "0x6784ED28285ECd58F76f3A85F39A293E15080964",
@@ -167,6 +196,11 @@ exports.tokenDataByNetwork = {
167
196
  stkcvxcrvPlain3andSUSD: "0x49416516604eF33383Bd9F3a94fEcd4ee36E2d88",
168
197
  stkcvxLUSD3CRV: "0x84c04976BA15AE880B8D6daC9CE1075D0eFD0d4D",
169
198
  stkcvxOHMFRAXBP: "deploy me",
199
+ stkcvxMIM_3LP3CRV: "deploy me",
200
+ stkcvxcrvCRVETH: "deploy me",
201
+ stkcvxcrvCVXETH: "deploy me",
202
+ stkcvxcrvUSDTWBTCWETH: "deploy me",
203
+ stkcvxLDOETH: "deploy me",
170
204
  // BALANCER TOKENS
171
205
  "50OHM_50DAI": "deploy me",
172
206
  "50OHM_50WETH": "deploy me",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "1.20.24",
3
+ "version": "1.21.0",
4
4
  "description": "Gearbox SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",