@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.
- package/lib/core/adapters.d.ts +14 -0
- package/lib/core/adapters.js +18 -0
- package/lib/core/contracts.d.ts +35 -66
- package/lib/core/contracts.js +174 -106
- package/lib/core/contractsRegister.js +28 -31
- package/lib/core/oracles.d.ts +5 -5
- package/lib/core/pathfinder.d.ts +5 -5
- package/lib/core/priceFeeds.d.ts +2 -2
- package/lib/core/priceFeeds.js +31 -0
- package/lib/core/protocols.d.ts +13 -0
- package/lib/core/protocols.js +39 -0
- package/lib/core/token.d.ts +43 -5
- package/lib/core/token.js +631 -44
- package/lib/core/tokenData.d.ts +2 -2
- package/lib/core/tradeTypes.d.ts +59 -0
- package/lib/core/tradeTypes.js +18 -0
- package/lib/index.d.ts +1 -2
- package/lib/index.js +2 -3
- package/package.json +1 -1
- package/src/core/adapters.ts +16 -0
- package/src/core/contracts.ts +252 -143
- package/src/core/contractsRegister.ts +10 -17
- package/src/core/oracles.ts +5 -5
- package/src/core/pathfinder.ts +5 -5
- package/src/core/priceFeeds.ts +442 -412
- package/src/core/protocols.ts +40 -0
- package/src/core/token.ts +724 -93
- package/src/core/tokenData.ts +2 -2
- package/src/core/tradeTypes.ts +83 -0
- package/src/index.ts +1 -2
- package/lib/devops/loggedDeployer.d.ts +0 -7
- package/lib/devops/loggedDeployer.js +0 -22
- package/lib/devops/verifierDeployer.d.ts +0 -13
- package/lib/devops/verifierDeployer.js +0 -160
- package/src/devops/loggedDeployer.ts +0 -22
- package/src/devops/verifierDeployer.ts +0 -74
|
@@ -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 = {}));
|
package/lib/core/contracts.d.ts
CHANGED
|
@@ -1,74 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
56
|
-
type: AdapterInterface.
|
|
16
|
+
protocol: Protocols.Uniswap;
|
|
17
|
+
type: AdapterInterface.UNISWAP_V3_ROUTER;
|
|
57
18
|
quoter: string;
|
|
58
|
-
icon: string;
|
|
59
19
|
} | {
|
|
60
|
-
|
|
61
|
-
type: AdapterInterface.CURVE_V1_2ASSETS;
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
66
|
-
type: AdapterInterface.
|
|
67
|
-
|
|
68
|
-
|
|
25
|
+
protocol: Protocols.Curve;
|
|
26
|
+
type: AdapterInterface.CURVE_V1_STECRV_POOL;
|
|
27
|
+
pool: string;
|
|
28
|
+
poolKovan?: string;
|
|
69
29
|
} | {
|
|
70
|
-
|
|
30
|
+
protocol: Protocols.Yearn;
|
|
71
31
|
type: AdapterInterface.YEARN_V2;
|
|
72
|
-
|
|
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
|
|
43
|
+
export declare const contractParams: Record<SupportedContract, ContractParams>;
|
package/lib/core/contracts.js
CHANGED
|
@@ -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.
|
|
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.
|
|
12
|
-
|
|
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.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
type: AdapterInterface.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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];
|
package/lib/core/oracles.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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:
|
|
20
|
+
token: SupportedToken;
|
|
21
21
|
deployed?: string;
|
|
22
22
|
deployedKovan?: string;
|
|
23
23
|
} | {
|
|
24
24
|
type: OracleType.CURVE_LP_ORACLE;
|
|
25
|
-
assets: Array<
|
|
25
|
+
assets: Array<SupportedToken>;
|
|
26
26
|
} | {
|
|
27
27
|
type: OracleType.YEARN_CURVE_LP_ORACLE;
|
|
28
|
-
curveSymbol:
|
|
28
|
+
curveSymbol: SupportedToken;
|
|
29
29
|
} | {
|
|
30
30
|
type: OracleType.ZERO_ORACLE;
|
|
31
31
|
} | {
|
|
32
32
|
type: OracleType.LIKE_CURVE_LP_ORACLE;
|
|
33
|
-
curveSymbol:
|
|
33
|
+
curveSymbol: SupportedToken;
|
|
34
34
|
};
|
|
35
35
|
export declare type TokenPriceFeedData = {
|
|
36
36
|
priceFeedETH?: PriceFeedData;
|
package/lib/core/pathfinder.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { BigNumber } from "ethers";
|
|
2
2
|
import { CreditManagerData } from "./creditManager";
|
|
3
3
|
import { MultiCall } from "./multicall";
|
|
4
|
-
import {
|
|
4
|
+
import { SupportedToken } from "./token";
|
|
5
5
|
export declare class Path {
|
|
6
6
|
readonly calls: Array<MultiCall>;
|
|
7
|
-
readonly balances: Record<
|
|
7
|
+
readonly balances: Record<SupportedToken, BigNumber>;
|
|
8
8
|
protected _gasUsed: number;
|
|
9
|
-
readonly pool:
|
|
9
|
+
readonly pool: SupportedToken;
|
|
10
10
|
readonly creditManager: CreditManagerData;
|
|
11
11
|
constructor(opts: {
|
|
12
12
|
gasUsed: number;
|
|
13
|
-
balances: Record<
|
|
14
|
-
pool:
|
|
13
|
+
balances: Record<SupportedToken, BigNumber>;
|
|
14
|
+
pool: SupportedToken;
|
|
15
15
|
creditManager: CreditManagerData;
|
|
16
16
|
});
|
|
17
17
|
getBestPath(): Promise<Path>;
|
package/lib/core/priceFeeds.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TokenPriceFeedData } from "../core/oracles";
|
|
2
|
-
import {
|
|
3
|
-
export declare const priceFeedsByNetwork: Record<
|
|
2
|
+
import { SupportedToken } from "./token";
|
|
3
|
+
export declare const priceFeedsByNetwork: Record<SupportedToken, TokenPriceFeedData>;
|
package/lib/core/priceFeeds.js
CHANGED
|
@@ -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>;
|