@gearbox-protocol/sdk 0.0.41 → 0.0.44

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.
@@ -0,0 +1,14 @@
1
+ export declare enum AdapterInterface {
2
+ NO_SWAP = 0,
3
+ UNISWAP_V2_ROUTER = 1,
4
+ UNISWAP_V3_ROUTER = 2,
5
+ CURVE_V1_2ASSETS = 3,
6
+ CURVE_V1_3ASSETS = 4,
7
+ CURVE_V1_4ASSETS = 5,
8
+ CURVE_V1_STECRV_POOL = 6,
9
+ YEARN_V2 = 7,
10
+ CONVEX_V1_BASE_REWARD_POOL = 8,
11
+ CONVEX_V1_BOOSTER = 9,
12
+ CONVEX_V1_CLAIM_ZAP = 10,
13
+ LIDO_V1 = 11
14
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdapterInterface = void 0;
4
+ var AdapterInterface;
5
+ (function (AdapterInterface) {
6
+ AdapterInterface[AdapterInterface["NO_SWAP"] = 0] = "NO_SWAP";
7
+ AdapterInterface[AdapterInterface["UNISWAP_V2_ROUTER"] = 1] = "UNISWAP_V2_ROUTER";
8
+ AdapterInterface[AdapterInterface["UNISWAP_V3_ROUTER"] = 2] = "UNISWAP_V3_ROUTER";
9
+ AdapterInterface[AdapterInterface["CURVE_V1_2ASSETS"] = 3] = "CURVE_V1_2ASSETS";
10
+ AdapterInterface[AdapterInterface["CURVE_V1_3ASSETS"] = 4] = "CURVE_V1_3ASSETS";
11
+ AdapterInterface[AdapterInterface["CURVE_V1_4ASSETS"] = 5] = "CURVE_V1_4ASSETS";
12
+ AdapterInterface[AdapterInterface["CURVE_V1_STECRV_POOL"] = 6] = "CURVE_V1_STECRV_POOL";
13
+ AdapterInterface[AdapterInterface["YEARN_V2"] = 7] = "YEARN_V2";
14
+ AdapterInterface[AdapterInterface["CONVEX_V1_BASE_REWARD_POOL"] = 8] = "CONVEX_V1_BASE_REWARD_POOL";
15
+ AdapterInterface[AdapterInterface["CONVEX_V1_BOOSTER"] = 9] = "CONVEX_V1_BOOSTER";
16
+ AdapterInterface[AdapterInterface["CONVEX_V1_CLAIM_ZAP"] = 10] = "CONVEX_V1_CLAIM_ZAP";
17
+ AdapterInterface[AdapterInterface["LIDO_V1"] = 11] = "LIDO_V1"; // 11 - 2048
18
+ })(AdapterInterface = exports.AdapterInterface || (exports.AdapterInterface = {}));
@@ -1,74 +1,43 @@
1
- export declare const UNISWAP_V2_ROUTER = "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D";
2
- export declare const UNISWAP_V3_ROUTER = "0xE592427A0AEce92De3Edee1F18E0157C05861564";
1
+ import { AdapterInterface } from "./adapters";
2
+ import { NetworkType } from "./constants";
3
+ import { Protocols } from "./protocols";
4
+ import { ConvexStakedPhantomToken, CurveLPToken, NormalToken } from "./token";
5
+ export declare type UniswapV2Contract = "UNISWAP_V2_ROUTER" | "SUSHISWAP_ROUTER";
6
+ export declare type CurvePoolContract = "CURVE_3POOL" | "CURVE_STETH_GATEWAY" | "CURVE_FRAX" | "CURVE_LUSD" | "CURVE_GUSD" | "CURVE_SUSD";
7
+ export declare type YearnVaultContract = "YEARN_DAI" | "YEARN_USDC" | "YEARN_WETH" | "YEARN_WBTC" | "YEARN_CURVE_FRAX" | "YEARN_CURVE_STETH";
8
+ export declare type ConvexPoolContract = "CONVEX_3CRV" | "CONVEX_GUSD" | "CONVEX_SUSD" | "CONVEX_STECRV" | "CONVEX_FRAX3CRV";
9
+ export declare type SupportedContract = UniswapV2Contract | "UNISWAP_V3_ROUTER" | CurvePoolContract | YearnVaultContract | "CONVEX_BOOSTER" | ConvexPoolContract | "CONVEX_CLAIM_ZAP" | "LIDO_STETH_GATEWAY";
10
+ export declare const contractsByNetwork: Record<NetworkType, Record<SupportedContract, string>>;
3
11
  export declare const UNISWAP_V3_QUOTER = "0xb27308f9f90d607463bb33ea1bebb41c27ce5ab6";
4
- export declare const CURVE_3POOL_ADDRESS = "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7";
5
- export declare const CURVE_STETH_ADDRESS = "0xDC24316b9AE028F1497c275EB9192a3Ea0f67022";
6
- export declare const CURVE_STETH_GATEWAY_ADDRESS = "";
7
- export declare const CURVE_FRAX_ADDRESS = "0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B";
8
- export declare const CURVE_LUSD_ADDRESS = "0x5a6a4d54456819380173272a5e8e9b9904bdf41b";
9
- export declare const CURVE_SUSD_ADDRESS = "0x5a6a4d54456819380173272a5e8e9b9904bdf41b";
10
- export declare const CURVE_GUSD_ADDRESS = "0x5a6a4d54456819380173272a5e8e9b9904bdf41b";
11
- export declare const CURVE_3POOL_KOVAN_MOCK = "0x769C784D1e958672bDef04cf12Fd5399b3db0f27";
12
- export declare const CURVE_STE_CRV_KOVAN_MOCK = "0xF695d3aa358D5087A0C157DBb9449d4f0d8E534a";
13
- export declare const CURVE_SUSD_KOVAN_MOCK = "0x032f1cE00865F3499C0052ceBA5F2348842416DB";
14
- export declare const YEARN_DAI_ADDRESS = "0xdA816459F1AB5631232FE5e97a05BBBb94970c95";
15
- export declare const YEARN_USDC_ADDRESS = "0xa354F35829Ae975e850e23e9615b11Da1B3dC4DE";
16
- export declare const YEARN_WETH_ADDRESS = "0xa258C4606Ca8206D8aA700cE2143D7db854D168c";
17
- export declare const YEARN_WBTC_ADDRESS = "0xA696a63cc78DfFa1a63E9E50587C197387FF6C7E";
18
- export declare const YEARN_CURVE_FRAX_ADDRESS = "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139";
19
- export declare const YEARN_CURVE_STETH_ADDRESS = "0xdCD90C7f6324cfa40d7169ef80b12031770B4325";
20
- export declare const YEARN_DAI_KOVAN_MOCK: string;
21
- export declare const YEARN_USDC_KOVAN_MOCK: string;
22
- export declare const YEARN_WETH_KOVAN_MOCK: string;
23
- export declare const YEARN_WBTC_KOVAN_MOCK: string;
24
- export declare const YEARN_3POOL_KOVAN_MOCK: string;
25
- export declare const SUSHISWAP_MAINNET = "0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F";
26
- export declare const SUSHISWAP_KOVAN = "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506";
27
- export declare const CONVEX_BOOSTER_KOVAN_ADDRESS = "0x78A9261965F048b9FF055699569be4400EEC7005";
28
- export declare const CONVEX_3CRV_KOVAN_POOL_ADDRESS = "0x90D9E8ecc406cd7363C08fAdb4ac0f3994b4cA71";
29
- export declare const CONVEX_STECRV_POOL_ADDRESS = "0x0A760466E1B4621579a82a39CB56Dda2F4E70f03";
30
- export declare const CONVEX_STECRV_KOVAN_POOL_ADDRESS = "0x0f64e188BFF97e09C71FF85f30509f5596D420dD";
31
- export declare const CONVEX_BOOSTER_ADDRESS = "0xF403C135812408BFbE8713b5A23a04b3D48AAE31";
32
- export declare const CONVEX_3POOL_REWARD_POOL_ADDRESS = "0x689440f2Ff927E1f24c72F1087E1FAF471eCe1c8";
33
- export declare const CONVEX_FRAX3CRV_REWARD_POOL_ADDRESS = "0xB900EF131301B307dB5eFcbed9DBb50A3e209B2e";
34
- export declare const CONVEX_CLAIM_ZAP_ADDRESS = "0x92Cf9E5e4D1Dfbf7dA0d2BB3e884a68416a65070";
35
- export declare const LIDO_STETH_ADDRESS = "0xae7ab96520de3a18e5e111b5eaab095312d7fe84";
36
- export declare enum AdapterInterface {
37
- NO_SWAP = 0,
38
- UNISWAP_V2 = 1,
39
- UNISWAP_V3 = 2,
40
- CURVE_V1_2ASSETS = 3,
41
- CURVE_V1_3ASSETS = 4,
42
- CURVE_V1_4ASSETS = 5,
43
- CURVE_V1_STETH = 6,
44
- YEARN_V2 = 7,
45
- CONVEX_V1_BASE_REWARD_POOL = 8,
46
- CONVEX_V1_BOOSTER = 9,
47
- CONVEX_V1_CLAIM_ZAP = 10,
48
- LIDO_V1 = 11
49
- }
50
- export declare type AdapterParams = {
51
- name: string;
52
- type: AdapterInterface.UNISWAP_V2;
53
- icon: string;
12
+ export declare type ContractParams = {
13
+ protocol: Protocols.Uniswap | Protocols.Sushiswap;
14
+ type: AdapterInterface.UNISWAP_V2_ROUTER;
54
15
  } | {
55
- name: string;
56
- type: AdapterInterface.UNISWAP_V3;
16
+ protocol: Protocols.Uniswap;
17
+ type: AdapterInterface.UNISWAP_V3_ROUTER;
57
18
  quoter: string;
58
- icon: string;
59
19
  } | {
60
- name: string;
61
- type: AdapterInterface.CURVE_V1_2ASSETS;
62
- nCoins: number;
63
- icon: string;
20
+ protocol: Protocols.Curve;
21
+ type: AdapterInterface.CURVE_V1_2ASSETS | AdapterInterface.CURVE_V1_3ASSETS | AdapterInterface.CURVE_V1_4ASSETS;
22
+ lpToken: CurveLPToken;
23
+ tokens: Array<NormalToken | CurveLPToken>;
64
24
  } | {
65
- name: string;
66
- type: AdapterInterface.CURVE_V1_3ASSETS;
67
- nCoins: number;
68
- icon: string;
25
+ protocol: Protocols.Curve;
26
+ type: AdapterInterface.CURVE_V1_STECRV_POOL;
27
+ pool: string;
28
+ poolKovan?: string;
69
29
  } | {
70
- name: string;
30
+ protocol: Protocols.Yearn;
71
31
  type: AdapterInterface.YEARN_V2;
72
- icon: string;
32
+ } | {
33
+ protocol: Protocols.Convex;
34
+ type: AdapterInterface.CONVEX_V1_BOOSTER | AdapterInterface.CONVEX_V1_CLAIM_ZAP;
35
+ } | {
36
+ protocol: Protocols.Convex;
37
+ type: AdapterInterface.CONVEX_V1_BASE_REWARD_POOL;
38
+ stakedToken: ConvexStakedPhantomToken;
39
+ } | {
40
+ protocol: Protocols.Lido;
41
+ type: AdapterInterface.LIDO_V1;
73
42
  };
74
- export declare const knownContracts: Record<string, AdapterParams>;
43
+ export declare const contractParams: Record<SupportedContract, ContractParams>;
@@ -4,113 +4,181 @@
4
4
  * Gearbox. Generalized leverage protocol, which allows to take leverage and then use it across other DeFi protocols and platforms in a composable way.
5
5
  * (c) Gearbox.fi, 2021
6
6
  */
7
- var _a;
8
7
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.knownContracts = exports.AdapterInterface = exports.LIDO_STETH_ADDRESS = exports.CONVEX_CLAIM_ZAP_ADDRESS = exports.CONVEX_FRAX3CRV_REWARD_POOL_ADDRESS = exports.CONVEX_3POOL_REWARD_POOL_ADDRESS = exports.CONVEX_BOOSTER_ADDRESS = exports.CONVEX_STECRV_KOVAN_POOL_ADDRESS = exports.CONVEX_STECRV_POOL_ADDRESS = exports.CONVEX_3CRV_KOVAN_POOL_ADDRESS = exports.CONVEX_BOOSTER_KOVAN_ADDRESS = exports.SUSHISWAP_KOVAN = exports.SUSHISWAP_MAINNET = exports.YEARN_3POOL_KOVAN_MOCK = exports.YEARN_WBTC_KOVAN_MOCK = exports.YEARN_WETH_KOVAN_MOCK = exports.YEARN_USDC_KOVAN_MOCK = exports.YEARN_DAI_KOVAN_MOCK = exports.YEARN_CURVE_STETH_ADDRESS = exports.YEARN_CURVE_FRAX_ADDRESS = exports.YEARN_WBTC_ADDRESS = exports.YEARN_WETH_ADDRESS = exports.YEARN_USDC_ADDRESS = exports.YEARN_DAI_ADDRESS = exports.CURVE_SUSD_KOVAN_MOCK = exports.CURVE_STE_CRV_KOVAN_MOCK = exports.CURVE_3POOL_KOVAN_MOCK = exports.CURVE_GUSD_ADDRESS = exports.CURVE_SUSD_ADDRESS = exports.CURVE_LUSD_ADDRESS = exports.CURVE_FRAX_ADDRESS = exports.CURVE_STETH_GATEWAY_ADDRESS = exports.CURVE_STETH_ADDRESS = exports.CURVE_3POOL_ADDRESS = exports.UNISWAP_V3_QUOTER = exports.UNISWAP_V3_ROUTER = exports.UNISWAP_V2_ROUTER = void 0;
8
+ exports.contractParams = exports.UNISWAP_V3_QUOTER = exports.contractsByNetwork = void 0;
9
+ var adapters_1 = require("./adapters");
10
+ var protocols_1 = require("./protocols");
10
11
  var token_1 = require("./token");
11
- exports.UNISWAP_V2_ROUTER = "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D";
12
- exports.UNISWAP_V3_ROUTER = "0xE592427A0AEce92De3Edee1F18E0157C05861564";
12
+ exports.contractsByNetwork = {
13
+ Mainnet: {
14
+ UNISWAP_V2_ROUTER: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
15
+ UNISWAP_V3_ROUTER: "0xE592427A0AEce92De3Edee1F18E0157C05861564",
16
+ SUSHISWAP_ROUTER: "0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F",
17
+ // CURVE
18
+ CURVE_3POOL: "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7",
19
+ CURVE_STETH_GATEWAY: "0xDC24316b9AE028F1497c275EB9192a3Ea0f67022",
20
+ CURVE_FRAX: token_1.tokenDataByNetwork.Mainnet.FRAX3CRV,
21
+ CURVE_LUSD: token_1.tokenDataByNetwork.Mainnet.LUSD3CRV,
22
+ CURVE_SUSD: "0xA5407eAE9Ba41422680e2e00537571bcC53efBfD",
23
+ CURVE_GUSD: "0x4f062658EaAF2C1ccf8C8e36D6824CDf41167956",
24
+ // YEARN
25
+ YEARN_DAI: token_1.tokenDataByNetwork.Mainnet.yvDAI,
26
+ YEARN_USDC: token_1.tokenDataByNetwork.Mainnet.yvUSDC,
27
+ YEARN_WETH: token_1.tokenDataByNetwork.Mainnet.yvWETH,
28
+ YEARN_WBTC: token_1.tokenDataByNetwork.Mainnet.yvWBTC,
29
+ YEARN_CURVE_FRAX: token_1.tokenDataByNetwork.Mainnet.yvCurve_FRAX,
30
+ YEARN_CURVE_STETH: token_1.tokenDataByNetwork.Mainnet.yvCurve_stETH,
31
+ // CONVEX
32
+ CONVEX_BOOSTER: "0xF403C135812408BFbE8713b5A23a04b3D48AAE31",
33
+ CONVEX_3CRV: "0x689440f2Ff927E1f24c72F1087E1FAF471eCe1c8",
34
+ CONVEX_GUSD: "0x7A7bBf95C44b144979360C3300B54A7D34b44985",
35
+ CONVEX_SUSD: "0x22eE18aca7F3Ee920D01F25dA85840D12d98E8Ca",
36
+ CONVEX_STECRV: "0x0A760466E1B4621579a82a39CB56Dda2F4E70f03",
37
+ CONVEX_FRAX3CRV: "0xB900EF131301B307dB5eFcbed9DBb50A3e209B2e",
38
+ CONVEX_CLAIM_ZAP: "0x92Cf9E5e4D1Dfbf7dA0d2BB3e884a68416a65070",
39
+ // LIDO
40
+ LIDO_STETH_GATEWAY: "0xae7ab96520de3a18e5e111b5eaab095312d7fe84"
41
+ },
42
+ Kovan: {
43
+ UNISWAP_V2_ROUTER: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
44
+ UNISWAP_V3_ROUTER: "0xE592427A0AEce92De3Edee1F18E0157C05861564",
45
+ SUSHISWAP_ROUTER: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",
46
+ // CURVE
47
+ CURVE_3POOL: "0x769C784D1e958672bDef04cf12Fd5399b3db0f27",
48
+ CURVE_STETH_GATEWAY: "0xF695d3aa358D5087A0C157DBb9449d4f0d8E534a",
49
+ CURVE_FRAX: "",
50
+ CURVE_LUSD: token_1.tokenDataByNetwork.Kovan.LUSD3CRV,
51
+ CURVE_SUSD: "0x032f1cE00865F3499C0052ceBA5F2348842416DB",
52
+ CURVE_GUSD: "",
53
+ // YEARN
54
+ YEARN_DAI: token_1.tokenDataByNetwork.Kovan.yvDAI,
55
+ YEARN_USDC: token_1.tokenDataByNetwork.Kovan.yvUSDC,
56
+ YEARN_WETH: token_1.tokenDataByNetwork.Kovan.yvWETH,
57
+ YEARN_WBTC: token_1.tokenDataByNetwork.Kovan.yvWBTC,
58
+ YEARN_CURVE_FRAX: token_1.tokenDataByNetwork.Kovan.yvCurve_FRAX,
59
+ YEARN_CURVE_STETH: token_1.tokenDataByNetwork.Kovan.yvCurve_stETH,
60
+ // CONVEX
61
+ CONVEX_BOOSTER: "0x78A9261965F048b9FF055699569be4400EEC7005",
62
+ CONVEX_3CRV: "0x90D9E8ecc406cd7363C08fAdb4ac0f3994b4cA71",
63
+ CONVEX_GUSD: "",
64
+ CONVEX_SUSD: "",
65
+ CONVEX_STECRV: "0x0f64e188BFF97e09C71FF85f30509f5596D420dD",
66
+ CONVEX_FRAX3CRV: "",
67
+ CONVEX_CLAIM_ZAP: "",
68
+ // LIDO
69
+ LIDO_STETH_GATEWAY: ""
70
+ }
71
+ };
13
72
  exports.UNISWAP_V3_QUOTER = "0xb27308f9f90d607463bb33ea1bebb41c27ce5ab6";
14
- exports.CURVE_3POOL_ADDRESS = "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7";
15
- exports.CURVE_STETH_ADDRESS = "0xDC24316b9AE028F1497c275EB9192a3Ea0f67022";
16
- exports.CURVE_STETH_GATEWAY_ADDRESS = "";
17
- exports.CURVE_FRAX_ADDRESS = "0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B";
18
- exports.CURVE_LUSD_ADDRESS = "0x5a6a4d54456819380173272a5e8e9b9904bdf41b";
19
- exports.CURVE_SUSD_ADDRESS = "0x5a6a4d54456819380173272a5e8e9b9904bdf41b";
20
- exports.CURVE_GUSD_ADDRESS = "0x5a6a4d54456819380173272a5e8e9b9904bdf41b";
21
- exports.CURVE_3POOL_KOVAN_MOCK = "0x769C784D1e958672bDef04cf12Fd5399b3db0f27";
22
- exports.CURVE_STE_CRV_KOVAN_MOCK = "0xF695d3aa358D5087A0C157DBb9449d4f0d8E534a";
23
- exports.CURVE_SUSD_KOVAN_MOCK = "0x032f1cE00865F3499C0052ceBA5F2348842416DB";
24
- exports.YEARN_DAI_ADDRESS = "0xdA816459F1AB5631232FE5e97a05BBBb94970c95";
25
- exports.YEARN_USDC_ADDRESS = "0xa354F35829Ae975e850e23e9615b11Da1B3dC4DE";
26
- exports.YEARN_WETH_ADDRESS = "0xa258C4606Ca8206D8aA700cE2143D7db854D168c";
27
- exports.YEARN_WBTC_ADDRESS = "0xA696a63cc78DfFa1a63E9E50587C197387FF6C7E";
28
- exports.YEARN_CURVE_FRAX_ADDRESS = "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139";
29
- exports.YEARN_CURVE_STETH_ADDRESS = "0xdCD90C7f6324cfa40d7169ef80b12031770B4325";
30
- // KOVAN
31
- exports.YEARN_DAI_KOVAN_MOCK = token_1.tokenDataByNetwork.Kovan.yvDAI;
32
- exports.YEARN_USDC_KOVAN_MOCK = token_1.tokenDataByNetwork.Kovan.yvUSDC;
33
- exports.YEARN_WETH_KOVAN_MOCK = token_1.tokenDataByNetwork.Kovan.yvWETH;
34
- exports.YEARN_WBTC_KOVAN_MOCK = token_1.tokenDataByNetwork.Kovan.yvWBTC;
35
- exports.YEARN_3POOL_KOVAN_MOCK = token_1.tokenDataByNetwork.Kovan.yvCurve_stETH;
36
- exports.SUSHISWAP_MAINNET = "0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F";
37
- exports.SUSHISWAP_KOVAN = "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506";
38
- exports.CONVEX_BOOSTER_KOVAN_ADDRESS = "0x78A9261965F048b9FF055699569be4400EEC7005";
39
- exports.CONVEX_3CRV_KOVAN_POOL_ADDRESS = "0x90D9E8ecc406cd7363C08fAdb4ac0f3994b4cA71";
40
- exports.CONVEX_STECRV_POOL_ADDRESS = "0x0A760466E1B4621579a82a39CB56Dda2F4E70f03";
41
- exports.CONVEX_STECRV_KOVAN_POOL_ADDRESS = "0x0f64e188BFF97e09C71FF85f30509f5596D420dD";
42
- exports.CONVEX_BOOSTER_ADDRESS = "0xF403C135812408BFbE8713b5A23a04b3D48AAE31";
43
- exports.CONVEX_3POOL_REWARD_POOL_ADDRESS = "0x689440f2Ff927E1f24c72F1087E1FAF471eCe1c8";
44
- exports.CONVEX_FRAX3CRV_REWARD_POOL_ADDRESS = "0xB900EF131301B307dB5eFcbed9DBb50A3e209B2e";
45
- exports.CONVEX_CLAIM_ZAP_ADDRESS = "0x92Cf9E5e4D1Dfbf7dA0d2BB3e884a68416a65070";
46
- exports.LIDO_STETH_ADDRESS = "0xae7ab96520de3a18e5e111b5eaab095312d7fe84";
47
- var AdapterInterface;
48
- (function (AdapterInterface) {
49
- AdapterInterface[AdapterInterface["NO_SWAP"] = 0] = "NO_SWAP";
50
- AdapterInterface[AdapterInterface["UNISWAP_V2"] = 1] = "UNISWAP_V2";
51
- AdapterInterface[AdapterInterface["UNISWAP_V3"] = 2] = "UNISWAP_V3";
52
- AdapterInterface[AdapterInterface["CURVE_V1_2ASSETS"] = 3] = "CURVE_V1_2ASSETS";
53
- AdapterInterface[AdapterInterface["CURVE_V1_3ASSETS"] = 4] = "CURVE_V1_3ASSETS";
54
- AdapterInterface[AdapterInterface["CURVE_V1_4ASSETS"] = 5] = "CURVE_V1_4ASSETS";
55
- AdapterInterface[AdapterInterface["CURVE_V1_STETH"] = 6] = "CURVE_V1_STETH";
56
- AdapterInterface[AdapterInterface["YEARN_V2"] = 7] = "YEARN_V2";
57
- AdapterInterface[AdapterInterface["CONVEX_V1_BASE_REWARD_POOL"] = 8] = "CONVEX_V1_BASE_REWARD_POOL";
58
- AdapterInterface[AdapterInterface["CONVEX_V1_BOOSTER"] = 9] = "CONVEX_V1_BOOSTER";
59
- AdapterInterface[AdapterInterface["CONVEX_V1_CLAIM_ZAP"] = 10] = "CONVEX_V1_CLAIM_ZAP";
60
- AdapterInterface[AdapterInterface["LIDO_V1"] = 11] = "LIDO_V1"; // 11 - 2048
61
- })(AdapterInterface = exports.AdapterInterface || (exports.AdapterInterface = {}));
62
- exports.knownContracts = (_a = {},
63
- _a[exports.UNISWAP_V2_ROUTER] = {
64
- name: "UniswapV2",
65
- type: AdapterInterface.UNISWAP_V2,
66
- icon: "/protocols/uniswap.png"
67
- },
68
- _a[exports.UNISWAP_V3_ROUTER] = {
69
- name: "UniswapV3",
73
+ exports.contractParams = {
74
+ UNISWAP_V2_ROUTER: {
75
+ protocol: protocols_1.Protocols.Uniswap,
76
+ type: adapters_1.AdapterInterface.UNISWAP_V2_ROUTER
77
+ },
78
+ UNISWAP_V3_ROUTER: {
79
+ protocol: protocols_1.Protocols.Uniswap,
70
80
  quoter: exports.UNISWAP_V3_QUOTER,
71
- type: AdapterInterface.UNISWAP_V3,
72
- icon: "/protocols/uniswap.png"
73
- },
74
- _a[exports.SUSHISWAP_MAINNET] = {
75
- name: "Sushiswap",
76
- type: AdapterInterface.UNISWAP_V2,
77
- icon: "/protocols/sushi.svg"
78
- },
79
- _a[exports.CURVE_3POOL_ADDRESS] = {
80
- name: "Curve 3pool",
81
- type: AdapterInterface.CURVE_V1_3ASSETS,
82
- nCoins: 3,
83
- icon: "/protocols/curve.svg"
84
- },
85
- _a[exports.CURVE_STETH_ADDRESS] = {
86
- name: "Curve stETH",
87
- type: AdapterInterface.CURVE_V1_2ASSETS,
88
- nCoins: 2,
89
- icon: "/protocols/curve.svg"
90
- },
91
- _a[exports.YEARN_DAI_ADDRESS] = {
92
- name: "Yearn DAI",
93
- type: AdapterInterface.YEARN_V2,
94
- icon: "/protocols/yearn.svg"
95
- },
96
- _a[exports.YEARN_DAI_KOVAN_MOCK] = {
97
- name: "Yearn DAI",
98
- type: AdapterInterface.YEARN_V2,
99
- icon: "/protocols/yearn.svg"
100
- },
101
- _a[exports.YEARN_USDC_ADDRESS] = {
102
- name: "Yearn USDC",
103
- type: AdapterInterface.YEARN_V2,
104
- icon: "/protocols/yearn.svg"
105
- },
106
- _a[exports.YEARN_USDC_KOVAN_MOCK] = {
107
- name: "Yearn USDC",
108
- type: AdapterInterface.YEARN_V2,
109
- icon: "/protocols/yearn.svg"
110
- },
111
- _a[exports.SUSHISWAP_KOVAN] = {
112
- name: "Sushiswap",
113
- type: AdapterInterface.UNISWAP_V2,
114
- icon: "/protocols/sushi.svg"
115
- },
116
- _a);
81
+ type: adapters_1.AdapterInterface.UNISWAP_V3_ROUTER
82
+ },
83
+ SUSHISWAP_ROUTER: {
84
+ protocol: protocols_1.Protocols.Sushiswap,
85
+ type: adapters_1.AdapterInterface.UNISWAP_V2_ROUTER
86
+ },
87
+ CURVE_3POOL: {
88
+ protocol: protocols_1.Protocols.Curve,
89
+ type: adapters_1.AdapterInterface.CURVE_V1_3ASSETS,
90
+ lpToken: "3Crv",
91
+ tokens: ["DAI", "USDC", "USDT"]
92
+ },
93
+ CURVE_STETH_GATEWAY: {
94
+ protocol: protocols_1.Protocols.Curve,
95
+ type: adapters_1.AdapterInterface.CURVE_V1_STECRV_POOL,
96
+ pool: "",
97
+ poolKovan: ""
98
+ },
99
+ CURVE_FRAX: {
100
+ protocol: protocols_1.Protocols.Curve,
101
+ type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
102
+ lpToken: "FRAX3CRV",
103
+ tokens: ["3Crv", "FRAX"]
104
+ },
105
+ CURVE_LUSD: {
106
+ protocol: protocols_1.Protocols.Curve,
107
+ type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
108
+ lpToken: "LUSD3CRV",
109
+ tokens: ["3Crv", "FRAX"]
110
+ },
111
+ CURVE_SUSD: {
112
+ protocol: protocols_1.Protocols.Curve,
113
+ type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
114
+ lpToken: "crvPlain3andSUSD",
115
+ tokens: ["3Crv", "FRAX"]
116
+ },
117
+ CURVE_GUSD: {
118
+ protocol: protocols_1.Protocols.Curve,
119
+ type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
120
+ lpToken: "gusd3CRV",
121
+ tokens: ["3Crv", "FRAX"]
122
+ },
123
+ YEARN_DAI: {
124
+ protocol: protocols_1.Protocols.Yearn,
125
+ type: adapters_1.AdapterInterface.YEARN_V2
126
+ },
127
+ YEARN_USDC: {
128
+ protocol: protocols_1.Protocols.Yearn,
129
+ type: adapters_1.AdapterInterface.YEARN_V2
130
+ },
131
+ YEARN_WETH: {
132
+ protocol: protocols_1.Protocols.Yearn,
133
+ type: adapters_1.AdapterInterface.YEARN_V2
134
+ },
135
+ YEARN_WBTC: {
136
+ protocol: protocols_1.Protocols.Yearn,
137
+ type: adapters_1.AdapterInterface.YEARN_V2
138
+ },
139
+ YEARN_CURVE_FRAX: {
140
+ protocol: protocols_1.Protocols.Yearn,
141
+ type: adapters_1.AdapterInterface.YEARN_V2
142
+ },
143
+ YEARN_CURVE_STETH: {
144
+ protocol: protocols_1.Protocols.Yearn,
145
+ type: adapters_1.AdapterInterface.YEARN_V2
146
+ },
147
+ CONVEX_BOOSTER: {
148
+ protocol: protocols_1.Protocols.Convex,
149
+ type: adapters_1.AdapterInterface.CONVEX_V1_BOOSTER
150
+ },
151
+ CONVEX_3CRV: {
152
+ protocol: protocols_1.Protocols.Convex,
153
+ type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
154
+ stakedToken: "stkcvx3Crv"
155
+ },
156
+ CONVEX_GUSD: {
157
+ protocol: protocols_1.Protocols.Convex,
158
+ type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
159
+ stakedToken: "stkcvxgusd3CRV"
160
+ },
161
+ CONVEX_SUSD: {
162
+ protocol: protocols_1.Protocols.Convex,
163
+ type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
164
+ stakedToken: "stkcvxcrvPlain3andSUSD"
165
+ },
166
+ CONVEX_STECRV: {
167
+ protocol: protocols_1.Protocols.Convex,
168
+ type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
169
+ stakedToken: "stkcvxsteCRV"
170
+ },
171
+ CONVEX_FRAX3CRV: {
172
+ protocol: protocols_1.Protocols.Convex,
173
+ type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
174
+ stakedToken: "stkcvxFRAX3CRV"
175
+ },
176
+ CONVEX_CLAIM_ZAP: {
177
+ protocol: protocols_1.Protocols.Convex,
178
+ type: adapters_1.AdapterInterface.CONVEX_V1_CLAIM_ZAP
179
+ },
180
+ LIDO_STETH_GATEWAY: {
181
+ protocol: protocols_1.Protocols.Lido,
182
+ type: adapters_1.AdapterInterface.LIDO_V1
183
+ }
184
+ };
@@ -1,38 +1,35 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.getContractName = exports.deployedContracts = void 0;
5
- var contracts_1 = require("./contracts");
6
- exports.deployedContracts = (_a = {
7
- // MAINNET
8
- "0x24946bCbBd028D5ABb62ad9B635EB1b1a67AF668": "DAI",
9
- "0x777E23A2AcB2fCbB35f6ccF98272d03C722Ba6EB": "DAI",
10
- "0x86130bDD69143D8a4E5fc50bf4323D48049E98E4": "USDC",
11
- "0x2664cc24CBAd28749B3Dd6fC97A6B402484De527": "USDC",
12
- "0xB03670c20F87f2169A7c4eBE35746007e9575901": "WETH",
13
- "0x968f9a68a98819E2e6Bb910466e191A7b6cf02F0": "WETH",
14
- "0xB2A015c71c17bCAC6af36645DEad8c572bA08A08": "WBTC",
15
- "0xC38478B0A4bAFE964C3526EEFF534d70E1E09017": "WBTC"
16
- },
17
- _a[contracts_1.UNISWAP_V2_ROUTER] = "Uniswap V2",
18
- _a[contracts_1.UNISWAP_V3_ROUTER] = "Uniswap V3",
19
- _a[contracts_1.CURVE_3POOL_ADDRESS] = "Curve 3Pool",
20
- _a[contracts_1.SUSHISWAP_MAINNET] = "Sushiswap",
21
- _a[contracts_1.YEARN_DAI_ADDRESS] = "Yearn DAI",
22
- _a[contracts_1.YEARN_USDC_ADDRESS] = "Yearn USDC",
4
+ exports.deployedContracts = {
5
+ // MAINNET
6
+ "0x24946bCbBd028D5ABb62ad9B635EB1b1a67AF668": "DAI",
7
+ "0x777E23A2AcB2fCbB35f6ccF98272d03C722Ba6EB": "DAI",
8
+ "0x86130bDD69143D8a4E5fc50bf4323D48049E98E4": "USDC",
9
+ "0x2664cc24CBAd28749B3Dd6fC97A6B402484De527": "USDC",
10
+ "0xB03670c20F87f2169A7c4eBE35746007e9575901": "WETH",
11
+ "0x968f9a68a98819E2e6Bb910466e191A7b6cf02F0": "WETH",
12
+ "0xB2A015c71c17bCAC6af36645DEad8c572bA08A08": "WBTC",
13
+ "0xC38478B0A4bAFE964C3526EEFF534d70E1E09017": "WBTC",
14
+ // [UNISWAP_V2_ROUTER]: "Uniswap V2",
15
+ // [UNISWAP_V3_ROUTER]: "Uniswap V3",
16
+ // [CURVE_3POOL_ADDRESS]: "Curve 3Pool",
17
+ // [SUSHISWAP_MAINNET]: "Sushiswap",
18
+ // [YEARN_DAI_ADDRESS]: "Yearn DAI",
19
+ // [YEARN_USDC_ADDRESS]: "Yearn USDC",
23
20
  // KOVAN
24
- _a["0xc40B71BCcb749D91923654571f715Bf1FC464E66"] = "DAI",
25
- _a["0x1b0c9312FB74d08e57F49Ee5e4601a1846dc2207"] = "USDC",
26
- _a["0x4b20dD834B8898caC2c1B2C94163f14FA866AadC"] = "WETH",
27
- _a["0x2c52bc97485bcb3BeA763Fb5793eF15BA388D140"] = "WBTC",
28
- _a["0xe04b4db67127d1930D36f16B51653120C4285708"] = "WBTC",
29
- _a["0x600073357c29d169aAF3E543A4519749830553F1"] = "WETH",
30
- _a["0xdBAd1361d9A03B81Be8D3a54Ef0dc9e39a1bA5b3"] = "USDC",
31
- _a["0x50d1fA47b0D88BA0D108148B8481b4A762eFB99e"] = "DAI",
32
- _a[contracts_1.YEARN_DAI_KOVAN_MOCK] = "Yearn DAI",
33
- _a[contracts_1.YEARN_USDC_KOVAN_MOCK] = "Yearn USDC",
34
- _a[contracts_1.SUSHISWAP_KOVAN] = "Sushiswap",
35
- _a);
21
+ "0xc40B71BCcb749D91923654571f715Bf1FC464E66": "DAI",
22
+ "0x1b0c9312FB74d08e57F49Ee5e4601a1846dc2207": "USDC",
23
+ "0x4b20dD834B8898caC2c1B2C94163f14FA866AadC": "WETH",
24
+ "0x2c52bc97485bcb3BeA763Fb5793eF15BA388D140": "WBTC",
25
+ "0xe04b4db67127d1930D36f16B51653120C4285708": "WBTC",
26
+ "0x600073357c29d169aAF3E543A4519749830553F1": "WETH",
27
+ "0xdBAd1361d9A03B81Be8D3a54Ef0dc9e39a1bA5b3": "USDC",
28
+ "0x50d1fA47b0D88BA0D108148B8481b4A762eFB99e": "DAI",
29
+ // [YEARN_DAI_KOVAN_MOCK]: "Yearn DAI",
30
+ // [YEARN_USDC_KOVAN_MOCK]: "Yearn USDC",
31
+ // [SUSHISWAP_KOVAN]: "Sushiswap"
32
+ };
36
33
  function getContractName(address) {
37
34
  Object.entries(exports.deployedContracts).forEach(function (_a) {
38
35
  var addr = _a[0], name = _a[1];
@@ -1,4 +1,4 @@
1
- import { SupportedTokens } from "./token";
1
+ import { SupportedToken } from "./token";
2
2
  export interface PriceFeed {
3
3
  token: string;
4
4
  priceFeed: string;
@@ -17,20 +17,20 @@ export declare type PriceFeedData = {
17
17
  kovan?: string;
18
18
  } | {
19
19
  type: OracleType.YEARN_TOKEN_ORACLE;
20
- token: SupportedTokens;
20
+ token: SupportedToken;
21
21
  deployed?: string;
22
22
  deployedKovan?: string;
23
23
  } | {
24
24
  type: OracleType.CURVE_LP_ORACLE;
25
- assets: Array<SupportedTokens>;
25
+ assets: Array<SupportedToken>;
26
26
  } | {
27
27
  type: OracleType.YEARN_CURVE_LP_ORACLE;
28
- curveSymbol: SupportedTokens;
28
+ curveSymbol: SupportedToken;
29
29
  } | {
30
30
  type: OracleType.ZERO_ORACLE;
31
31
  } | {
32
32
  type: OracleType.LIKE_CURVE_LP_ORACLE;
33
- curveSymbol: SupportedTokens;
33
+ curveSymbol: SupportedToken;
34
34
  };
35
35
  export declare type TokenPriceFeedData = {
36
36
  priceFeedETH?: PriceFeedData;
@@ -1,17 +1,17 @@
1
1
  import { BigNumber } from "ethers";
2
2
  import { CreditManagerData } from "./creditManager";
3
3
  import { MultiCall } from "./multicall";
4
- import { SupportedTokens } from "./token";
4
+ import { SupportedToken } from "./token";
5
5
  export declare class Path {
6
6
  readonly calls: Array<MultiCall>;
7
- readonly balances: Record<SupportedTokens, BigNumber>;
7
+ readonly balances: Record<SupportedToken, BigNumber>;
8
8
  protected _gasUsed: number;
9
- readonly pool: SupportedTokens;
9
+ readonly pool: SupportedToken;
10
10
  readonly creditManager: CreditManagerData;
11
11
  constructor(opts: {
12
12
  gasUsed: number;
13
- balances: Record<SupportedTokens, BigNumber>;
14
- pool: SupportedTokens;
13
+ balances: Record<SupportedToken, BigNumber>;
14
+ pool: SupportedToken;
15
15
  creditManager: CreditManagerData;
16
16
  });
17
17
  getBestPath(): Promise<Path>;
@@ -1,3 +1,3 @@
1
1
  import { TokenPriceFeedData } from "../core/oracles";
2
- import { SupportedTokens } from "./token";
3
- export declare const priceFeedsByNetwork: Record<SupportedTokens, TokenPriceFeedData>;
2
+ import { SupportedToken } from "./token";
3
+ export declare const priceFeedsByNetwork: Record<SupportedToken, TokenPriceFeedData>;
@@ -396,5 +396,36 @@ exports.priceFeedsByNetwork = {
396
396
  type: oracles_1.OracleType.LIKE_CURVE_LP_ORACLE,
397
397
  curveSymbol: "gusd3CRV"
398
398
  }
399
+ },
400
+ // CVX tokens
401
+ stkcvx3Crv: {
402
+ priceFeedUSD: {
403
+ type: oracles_1.OracleType.LIKE_CURVE_LP_ORACLE,
404
+ curveSymbol: "3Crv"
405
+ }
406
+ },
407
+ stkcvxsteCRV: {
408
+ priceFeedUSD: {
409
+ type: oracles_1.OracleType.LIKE_CURVE_LP_ORACLE,
410
+ curveSymbol: "steCRV"
411
+ }
412
+ },
413
+ stkcvxFRAX3CRV: {
414
+ priceFeedUSD: {
415
+ type: oracles_1.OracleType.LIKE_CURVE_LP_ORACLE,
416
+ curveSymbol: "FRAX3CRV"
417
+ }
418
+ },
419
+ stkcvxcrvPlain3andSUSD: {
420
+ priceFeedUSD: {
421
+ type: oracles_1.OracleType.LIKE_CURVE_LP_ORACLE,
422
+ curveSymbol: "crvPlain3andSUSD"
423
+ }
424
+ },
425
+ stkcvxgusd3CRV: {
426
+ priceFeedUSD: {
427
+ type: oracles_1.OracleType.LIKE_CURVE_LP_ORACLE,
428
+ curveSymbol: "gusd3CRV"
429
+ }
399
430
  }
400
431
  };
@@ -0,0 +1,13 @@
1
+ export declare enum Protocols {
2
+ Uniswap = 0,
3
+ Sushiswap = 1,
4
+ Curve = 2,
5
+ Yearn = 3,
6
+ Convex = 4,
7
+ Lido = 5
8
+ }
9
+ export interface ProtocolData {
10
+ name: string;
11
+ icon: string;
12
+ }
13
+ export declare const protocolData: Record<Protocols, ProtocolData>;