@gearbox-protocol/sdk 0.0.41 → 0.0.42
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 +32 -66
- package/lib/core/contracts.js +169 -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 +30 -5
- package/lib/core/token.js +119 -11
- package/lib/core/tokenData.d.ts +2 -2
- package/lib/devops/verifierDeployer.js +3 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/package.json +1 -1
- package/src/core/adapters.ts +16 -0
- package/src/core/contracts.ts +241 -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 +200 -60
- package/src/core/tokenData.ts +2 -2
- package/src/devops/verifierDeployer.ts +7 -2
- package/src/index.ts +1 -1
|
@@ -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,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { AdapterInterface } from "./adapters";
|
|
2
|
+
import { NetworkType } from "./constants";
|
|
3
|
+
import { Protocols } from "./protocols";
|
|
4
|
+
import { CurveLPToken, NormalToken } from "./token";
|
|
5
|
+
export declare type CurvePoolContract = "CURVE_3POOL" | "CURVE_STETH_GATEWAY" | "CURVE_FRAX" | "CURVE_LUSD" | "CURVE_GUSD" | "CURVE_SUSD";
|
|
6
|
+
export declare type ConvexPoolContract = "CONVEX_3CRV" | "CONVEX_GUSD" | "CONVEX_SUSD" | "CONVEX_STECRV" | "CONVEX_FRAX3CRV";
|
|
7
|
+
export declare type SupportedContract = "UNISWAP_V2_ROUTER" | "UNISWAP_V3_ROUTER" | "SUSHISWAP_ROUTER" | CurvePoolContract | "YEARN_DAI" | "YEARN_USDC" | "YEARN_WETH" | "YEARN_WBTC" | "YEARN_CURVE_FRAX" | "YEARN_CURVE_STETH" | "CONVEX_BOOSTER" | ConvexPoolContract | "CONVEX_CLAIM_ZAP" | "LIDO_STETH_GATEWAY";
|
|
8
|
+
export declare const contractsByNetwork: Record<NetworkType, Record<SupportedContract, string>>;
|
|
3
9
|
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;
|
|
10
|
+
export declare type ContractParams = {
|
|
11
|
+
protocol: Protocols.Uniswap | Protocols.Sushiswap;
|
|
12
|
+
type: AdapterInterface.UNISWAP_V2_ROUTER;
|
|
54
13
|
} | {
|
|
55
|
-
|
|
56
|
-
type: AdapterInterface.
|
|
14
|
+
protocol: Protocols.Uniswap;
|
|
15
|
+
type: AdapterInterface.UNISWAP_V3_ROUTER;
|
|
57
16
|
quoter: string;
|
|
58
|
-
icon: string;
|
|
59
17
|
} | {
|
|
60
|
-
|
|
61
|
-
type: AdapterInterface.CURVE_V1_2ASSETS;
|
|
62
|
-
|
|
63
|
-
|
|
18
|
+
protocol: Protocols.Curve;
|
|
19
|
+
type: AdapterInterface.CURVE_V1_2ASSETS | AdapterInterface.CURVE_V1_3ASSETS | AdapterInterface.CURVE_V1_4ASSETS;
|
|
20
|
+
lpToken: CurveLPToken;
|
|
21
|
+
tokens: Array<NormalToken | CurveLPToken>;
|
|
64
22
|
} | {
|
|
65
|
-
|
|
66
|
-
type: AdapterInterface.
|
|
67
|
-
|
|
68
|
-
|
|
23
|
+
protocol: Protocols.Curve;
|
|
24
|
+
type: AdapterInterface.CURVE_V1_STECRV_POOL;
|
|
25
|
+
pool: string;
|
|
26
|
+
poolKovan?: string;
|
|
69
27
|
} | {
|
|
70
|
-
|
|
28
|
+
protocol: Protocols.Yearn;
|
|
71
29
|
type: AdapterInterface.YEARN_V2;
|
|
72
|
-
|
|
30
|
+
} | {
|
|
31
|
+
protocol: Protocols.Convex;
|
|
32
|
+
type: AdapterInterface.CONVEX_V1_BOOSTER | AdapterInterface.CONVEX_V1_CLAIM_ZAP;
|
|
33
|
+
} | {
|
|
34
|
+
protocol: Protocols.Convex;
|
|
35
|
+
type: AdapterInterface.CONVEX_V1_BASE_REWARD_POOL;
|
|
36
|
+
} | {
|
|
37
|
+
protocol: Protocols.Lido;
|
|
38
|
+
type: AdapterInterface.LIDO_V1;
|
|
73
39
|
};
|
|
74
|
-
export declare const knownContracts: Record<
|
|
40
|
+
export declare const knownContracts: Record<SupportedContract, ContractParams>;
|
package/lib/core/contracts.js
CHANGED
|
@@ -4,113 +4,176 @@
|
|
|
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.
|
|
8
|
+
exports.knownContracts = 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.knownContracts = {
|
|
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
|
+
},
|
|
155
|
+
CONVEX_GUSD: {
|
|
156
|
+
protocol: protocols_1.Protocols.Convex,
|
|
157
|
+
type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL
|
|
158
|
+
},
|
|
159
|
+
CONVEX_SUSD: {
|
|
160
|
+
protocol: protocols_1.Protocols.Convex,
|
|
161
|
+
type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL
|
|
162
|
+
},
|
|
163
|
+
CONVEX_STECRV: {
|
|
164
|
+
protocol: protocols_1.Protocols.Convex,
|
|
165
|
+
type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL
|
|
166
|
+
},
|
|
167
|
+
CONVEX_FRAX3CRV: {
|
|
168
|
+
protocol: protocols_1.Protocols.Convex,
|
|
169
|
+
type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL
|
|
170
|
+
},
|
|
171
|
+
CONVEX_CLAIM_ZAP: {
|
|
172
|
+
protocol: protocols_1.Protocols.Convex,
|
|
173
|
+
type: adapters_1.AdapterInterface.CONVEX_V1_CLAIM_ZAP
|
|
174
|
+
},
|
|
175
|
+
LIDO_STETH_GATEWAY: {
|
|
176
|
+
protocol: protocols_1.Protocols.Lido,
|
|
177
|
+
type: adapters_1.AdapterInterface.LIDO_V1
|
|
178
|
+
}
|
|
179
|
+
};
|
|
@@ -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>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.protocolData = exports.Protocols = void 0;
|
|
5
|
+
var Protocols;
|
|
6
|
+
(function (Protocols) {
|
|
7
|
+
Protocols[Protocols["Uniswap"] = 0] = "Uniswap";
|
|
8
|
+
Protocols[Protocols["Sushiswap"] = 1] = "Sushiswap";
|
|
9
|
+
Protocols[Protocols["Curve"] = 2] = "Curve";
|
|
10
|
+
Protocols[Protocols["Yearn"] = 3] = "Yearn";
|
|
11
|
+
Protocols[Protocols["Convex"] = 4] = "Convex";
|
|
12
|
+
Protocols[Protocols["Lido"] = 5] = "Lido";
|
|
13
|
+
})(Protocols = exports.Protocols || (exports.Protocols = {}));
|
|
14
|
+
exports.protocolData = (_a = {},
|
|
15
|
+
_a[Protocols.Uniswap] = {
|
|
16
|
+
name: "Uniswap",
|
|
17
|
+
icon: "/protocols/uniswap.png"
|
|
18
|
+
},
|
|
19
|
+
_a[Protocols.Sushiswap] = {
|
|
20
|
+
name: "Sushiswap",
|
|
21
|
+
icon: "/protocols/sushi.svg"
|
|
22
|
+
},
|
|
23
|
+
_a[Protocols.Curve] = {
|
|
24
|
+
name: "Curve",
|
|
25
|
+
icon: "/protocols/curve.svg"
|
|
26
|
+
},
|
|
27
|
+
_a[Protocols.Yearn] = {
|
|
28
|
+
name: "Yearn",
|
|
29
|
+
icon: "/protocols/yearn.svg"
|
|
30
|
+
},
|
|
31
|
+
_a[Protocols.Convex] = {
|
|
32
|
+
name: "Convex",
|
|
33
|
+
icon: "/protocols/convex.svg"
|
|
34
|
+
},
|
|
35
|
+
_a[Protocols.Lido] = {
|
|
36
|
+
name: "Lido",
|
|
37
|
+
icon: "/protocols/lido.svg"
|
|
38
|
+
},
|
|
39
|
+
_a);
|