@gearbox-protocol/sdk 0.0.100 → 0.0.103

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.
Files changed (163) hide show
  1. package/.eslintignore +4 -0
  2. package/.eslintrc.js +52 -0
  3. package/.husky/pre-push +4 -0
  4. package/lib/apy/convexAPY.d.ts +8 -0
  5. package/lib/apy/convexAPY.js +200 -0
  6. package/lib/apy/lidoAPY.d.ts +4 -0
  7. package/lib/apy/lidoAPY.js +103 -0
  8. package/lib/config.d.ts +1 -0
  9. package/lib/config.js +2 -1
  10. package/lib/contracts/contracts.d.ts +9 -4
  11. package/lib/contracts/contracts.js +52 -14
  12. package/lib/contracts/contractsRegister.js +16 -4
  13. package/lib/core/constants.d.ts +7 -1
  14. package/lib/core/constants.js +11 -5
  15. package/lib/core/creditAccount.d.ts +3 -1
  16. package/lib/core/creditAccount.js +33 -31
  17. package/lib/core/creditManager.d.ts +13 -2
  18. package/lib/core/creditManager.js +77 -33
  19. package/lib/core/creditSession.js +14 -3
  20. package/lib/core/errors.d.ts +10 -0
  21. package/lib/core/errors.js +16 -1
  22. package/lib/core/eventOrTx.d.ts +1 -1
  23. package/lib/core/events.d.ts +19 -19
  24. package/lib/core/events.js +32 -30
  25. package/lib/core/multicall.d.ts +1 -1
  26. package/lib/core/pool.d.ts +2 -2
  27. package/lib/core/pool.js +8 -12
  28. package/lib/core/price.d.ts +2 -0
  29. package/lib/core/price.js +14 -0
  30. package/lib/core/strategy.d.ts +36 -0
  31. package/lib/core/strategy.js +57 -0
  32. package/lib/core/tokenDistributor.js +1 -1
  33. package/lib/core/transactions.d.ts +18 -3
  34. package/lib/core/transactions.js +39 -3
  35. package/lib/index.d.ts +8 -3
  36. package/lib/index.js +9 -4
  37. package/lib/oracles/priceFeeds.js +1 -1
  38. package/lib/pathfinder/convexLP.d.ts +1 -1
  39. package/lib/pathfinder/convexLP.js +26 -29
  40. package/lib/pathfinder/curveLP.d.ts +1 -1
  41. package/lib/pathfinder/curveLP.js +5 -7
  42. package/lib/pathfinder/path.d.ts +1 -1
  43. package/lib/pathfinder/path.js +38 -42
  44. package/lib/pathfinder/trade.d.ts +1 -2
  45. package/lib/pathfinder/tradeTypes.d.ts +5 -5
  46. package/lib/pathfinder/yVault.d.ts +2 -2
  47. package/lib/pathfinder/yVault.js +22 -19
  48. package/lib/payload/creditAccount.d.ts +4 -26
  49. package/lib/payload/creditManager.d.ts +3 -25
  50. package/lib/payload/pool.d.ts +2 -17
  51. package/lib/payload/pool.js +0 -1
  52. package/lib/strategies/curve.d.ts +6 -60
  53. package/lib/strategies/curve.js +6 -0
  54. package/lib/strategies/uniswapV2.js +3 -19
  55. package/lib/strategies/uniswapV3.js +1 -1
  56. package/lib/strategies/yearn.js +15 -11
  57. package/lib/tokens/convex.d.ts +3 -3
  58. package/lib/tokens/curveLP.d.ts +2 -2
  59. package/lib/tokens/curveLP.js +1 -1
  60. package/lib/tokens/gear.d.ts +2 -2
  61. package/lib/tokens/gear.js +1 -1
  62. package/lib/tokens/normal.d.ts +1 -1
  63. package/lib/tokens/token.js +9 -9
  64. package/lib/tokens/tokenData.d.ts +3 -1
  65. package/lib/tokens/tokenData.js +10 -8
  66. package/lib/tokens/yearn.d.ts +3 -3
  67. package/lib/utils/errors.d.ts +6 -0
  68. package/lib/utils/errors.js +13 -0
  69. package/lib/utils/formatter.d.ts +2 -1
  70. package/lib/utils/formatter.js +23 -15
  71. package/lib/utils/loading.d.ts +2 -1
  72. package/lib/utils/loading.js +9 -13
  73. package/lib/utils/mappers.d.ts +2 -1
  74. package/lib/utils/mappers.js +13 -5
  75. package/lib/utils/multicall.js +4 -3
  76. package/lib/utils/network.js +2 -2
  77. package/lib/utils/repeater.js +12 -24
  78. package/lib/utils/types.d.ts +1 -0
  79. package/lib/utils/validate.js +1 -1
  80. package/package.json +26 -8
  81. package/src/apy/convexAPY.ts +250 -0
  82. package/src/apy/lidoAPY.ts +89 -0
  83. package/src/config.ts +2 -1
  84. package/src/contracts/contracts.ts +73 -19
  85. package/src/contracts/contractsRegister.ts +19 -4
  86. package/src/core/constants.ts +11 -4
  87. package/src/core/creditAccount.ts +69 -37
  88. package/src/core/creditManager.ts +256 -148
  89. package/src/core/creditOperation.ts +7 -7
  90. package/src/core/creditSession.ts +25 -5
  91. package/src/core/errors.ts +25 -0
  92. package/src/core/eventOrTx.ts +8 -5
  93. package/src/core/events.ts +978 -911
  94. package/src/core/history.ts +46 -46
  95. package/src/core/multicall.ts +1 -1
  96. package/src/core/operations.ts +6 -0
  97. package/src/core/pool.ts +75 -58
  98. package/src/core/price.ts +13 -0
  99. package/src/core/strategy.ts +134 -0
  100. package/src/core/tokenDistributor.ts +2 -2
  101. package/src/core/transactions.ts +427 -350
  102. package/src/index.ts +9 -4
  103. package/src/oracles/priceFeeds.ts +523 -523
  104. package/src/pathfinder/contracts.ts +15 -13
  105. package/src/pathfinder/convexLP.ts +29 -25
  106. package/src/pathfinder/curveLP.ts +57 -53
  107. package/src/pathfinder/path.ts +158 -150
  108. package/src/pathfinder/priority.ts +11 -11
  109. package/src/pathfinder/trade.ts +84 -77
  110. package/src/pathfinder/tradeTypes.ts +98 -94
  111. package/src/pathfinder/yVault.ts +79 -63
  112. package/src/payload/creditAccount.ts +4 -26
  113. package/src/payload/creditManager.ts +4 -26
  114. package/src/payload/pool.ts +2 -19
  115. package/src/payload/token.ts +3 -3
  116. package/src/strategies/convex.ts +217 -210
  117. package/src/strategies/creditFacade.ts +70 -53
  118. package/src/strategies/curve.ts +263 -194
  119. package/src/strategies/lido.ts +33 -37
  120. package/src/strategies/uniswapV2.ts +90 -112
  121. package/src/strategies/uniswapV3.ts +114 -91
  122. package/src/strategies/yearn.ts +58 -62
  123. package/src/tokens/connectors.ts +6 -6
  124. package/src/tokens/convex.ts +297 -296
  125. package/src/tokens/curveLP.ts +170 -165
  126. package/src/tokens/gear.ts +47 -45
  127. package/src/tokens/normal.ts +801 -802
  128. package/src/tokens/token.ts +19 -10
  129. package/src/tokens/tokenData.ts +19 -9
  130. package/src/tokens/tokenType.ts +11 -11
  131. package/src/tokens/yearn.ts +126 -124
  132. package/src/utils/errors.ts +11 -0
  133. package/src/utils/formatter.ts +26 -18
  134. package/src/utils/loading.ts +14 -6
  135. package/src/utils/mappers.ts +15 -6
  136. package/src/utils/multicall.ts +6 -9
  137. package/src/utils/network.ts +21 -21
  138. package/src/utils/repeater.ts +2 -2
  139. package/src/utils/types.ts +6 -2
  140. package/src/utils/validate.ts +1 -1
  141. package/lib/core/adapters.d.ts +0 -15
  142. package/lib/core/adapters.js +0 -19
  143. package/lib/core/contracts.d.ts +0 -67
  144. package/lib/core/contracts.js +0 -254
  145. package/lib/core/contractsRegister.d.ts +0 -2
  146. package/lib/core/contractsRegister.js +0 -58
  147. package/lib/core/creditCard.d.ts +0 -13
  148. package/lib/core/creditCard.js +0 -2
  149. package/lib/core/oracles.d.ts +0 -38
  150. package/lib/core/oracles.js +0 -12
  151. package/lib/core/priceFeeds.d.ts +0 -3
  152. package/lib/core/priceFeeds.js +0 -492
  153. package/lib/core/protocols.d.ts +0 -13
  154. package/lib/core/protocols.js +0 -39
  155. package/lib/core/swap.d.ts +0 -4
  156. package/lib/core/swap.js +0 -8
  157. package/lib/core/trade.d.ts +0 -35
  158. package/lib/core/trade.js +0 -62
  159. package/lib/core/tradeTypes.d.ts +0 -79
  160. package/lib/core/tradeTypes.js +0 -21
  161. package/lib/utils/events.d.ts +0 -2
  162. package/lib/utils/events.js +0 -13
  163. package/src/utils/events.ts +0 -10
@@ -4,9 +4,9 @@ export async function callRepeater<T>(
4
4
  call: () => Promise<T>,
5
5
  step: number = 0
6
6
  ): Promise<T> {
7
- return new Promise<T>(async (resolve, reject) => {
7
+ return new Promise<T>((resolve, reject) => {
8
8
  try {
9
- resolve(await call());
9
+ call().then(r => resolve(r));
10
10
  } catch (e) {
11
11
  console.error(`Error ${step}: ${e}`);
12
12
  if (step > 5 || (e as MetamaskError).code !== -32000) reject(e);
@@ -1,3 +1,7 @@
1
1
  export type PartialRecord<K extends keyof any, T> = {
2
- [P in K]?: T;
3
- };
2
+ [P in K]?: T;
3
+ };
4
+
5
+ export type AwaitedRes<T extends (...args: any) => any> = Awaited<
6
+ ReturnType<T>
7
+ >;
@@ -3,6 +3,6 @@ export function isPositiveFloat(val: string): boolean {
3
3
  if (!floatRegex.test(val)) return false;
4
4
 
5
5
  const valF = parseFloat(val);
6
- if (isNaN(valF)) return false;
6
+ if (Number.isNaN(valF)) return false;
7
7
  return true;
8
8
  }
@@ -1,15 +0,0 @@
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_WRAPPER = 6,
9
- CURVE_V1_STECRV_POOL = 7,
10
- YEARN_V2 = 8,
11
- CONVEX_V1_BASE_REWARD_POOL = 9,
12
- CONVEX_V1_BOOSTER = 10,
13
- CONVEX_V1_CLAIM_ZAP = 11,
14
- LIDO_V1 = 12
15
- }
@@ -1,19 +0,0 @@
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_WRAPPER"] = 6] = "CURVE_V1_WRAPPER";
13
- AdapterInterface[AdapterInterface["CURVE_V1_STECRV_POOL"] = 7] = "CURVE_V1_STECRV_POOL";
14
- AdapterInterface[AdapterInterface["YEARN_V2"] = 8] = "YEARN_V2";
15
- AdapterInterface[AdapterInterface["CONVEX_V1_BASE_REWARD_POOL"] = 9] = "CONVEX_V1_BASE_REWARD_POOL";
16
- AdapterInterface[AdapterInterface["CONVEX_V1_BOOSTER"] = 10] = "CONVEX_V1_BOOSTER";
17
- AdapterInterface[AdapterInterface["CONVEX_V1_CLAIM_ZAP"] = 11] = "CONVEX_V1_CLAIM_ZAP";
18
- AdapterInterface[AdapterInterface["LIDO_V1"] = 12] = "LIDO_V1"; // 11 - 2048
19
- })(AdapterInterface = exports.AdapterInterface || (exports.AdapterInterface = {}));
@@ -1,67 +0,0 @@
1
- import { AdapterInterface } from "./adapters";
2
- import { NetworkType } from "./constants";
3
- import { Protocols } from "./protocols";
4
- import { ConvexStakedPhantomToken } from "../tokens/convex";
5
- import { CurveLPToken } from "../tokens/curveLP";
6
- import { NormalToken } from "../tokens/normal";
7
- export declare type UniswapV2Contract = "UNISWAP_V2_ROUTER" | "SUSHISWAP_ROUTER";
8
- export declare type CurvePoolContract = "CURVE_3CRV_POOL" | "CURVE_STETH_GATEWAY" | "CURVE_FRAX_POOL" | "CURVE_LUSD_POOL" | "CURVE_GUSD_POOL" | "CURVE_SUSD_POOL" | "CURVE_SUSD_DEPOSIT";
9
- export declare type YearnVaultContract = "YEARN_DAI_VAULT" | "YEARN_USDC_VAULT" | "YEARN_WETH_VAULT" | "YEARN_WBTC_VAULT" | "YEARN_CURVE_FRAX_VAULT" | "YEARN_CURVE_STETH_VAULT";
10
- export declare type ConvexPoolContract = "CONVEX_3CRV_POOL" | "CONVEX_GUSD_POOL" | "CONVEX_SUSD_POOL" | "CONVEX_STECRV_POOL" | "CONVEX_FRAX3CRV_POOL";
11
- export declare type SupportedContract = UniswapV2Contract | "UNISWAP_V3_ROUTER" | CurvePoolContract | YearnVaultContract | "CONVEX_BOOSTER" | ConvexPoolContract | "CONVEX_CLAIM_ZAP" | "LIDO_STETH_GATEWAY";
12
- export declare const contractsByNetwork: Record<NetworkType, Record<SupportedContract, string>>;
13
- export declare const UNISWAP_V3_QUOTER = "0xb27308f9f90d607463bb33ea1bebb41c27ce5ab6";
14
- export interface BaseContractParams {
15
- name: string;
16
- }
17
- declare type UniswapV2Params = {
18
- protocol: Protocols.Uniswap | Protocols.Sushiswap;
19
- type: AdapterInterface.UNISWAP_V2_ROUTER;
20
- } & BaseContractParams;
21
- declare type UniswapV3Params = {
22
- protocol: Protocols.Uniswap;
23
- type: AdapterInterface.UNISWAP_V3_ROUTER;
24
- quoter: string;
25
- } & BaseContractParams;
26
- export declare type CurveParams = {
27
- protocol: Protocols.Curve;
28
- type: AdapterInterface.CURVE_V1_2ASSETS | AdapterInterface.CURVE_V1_3ASSETS | AdapterInterface.CURVE_V1_4ASSETS | AdapterInterface.CURVE_V1_WRAPPER;
29
- lpToken: CurveLPToken;
30
- tokens: Array<NormalToken | CurveLPToken>;
31
- wrapper?: CurvePoolContract;
32
- } & BaseContractParams;
33
- export declare type CurveSteCRVPoolParams = {
34
- protocol: Protocols.Curve;
35
- type: AdapterInterface.CURVE_V1_STECRV_POOL;
36
- pool: Record<NetworkType, string>;
37
- lpToken: "steCRV";
38
- } & BaseContractParams;
39
- export declare type CurveDepositParams = {
40
- protocol: Protocols.Curve;
41
- type: AdapterInterface.CURVE_V1_DEPOSIT;
42
- pool: Record<NetworkType, string>;
43
- lpToken: CurveLPToken;
44
- nCoins: number;
45
- } & BaseContractParams;
46
- declare type YearnParams = {
47
- protocol: Protocols.Yearn;
48
- type: AdapterInterface.YEARN_V2;
49
- } & BaseContractParams;
50
- declare type ConvexParams = {
51
- protocol: Protocols.Convex;
52
- type: AdapterInterface.CONVEX_V1_BOOSTER | AdapterInterface.CONVEX_V1_CLAIM_ZAP;
53
- } & BaseContractParams;
54
- declare type ConvexPoolParams = {
55
- protocol: Protocols.Convex;
56
- type: AdapterInterface.CONVEX_V1_BASE_REWARD_POOL;
57
- stakedToken: ConvexStakedPhantomToken;
58
- } & BaseContractParams;
59
- export declare type LidoParams = {
60
- protocol: Protocols.Lido;
61
- type: AdapterInterface.LIDO_V1;
62
- lpToken: "steCRV";
63
- } & BaseContractParams;
64
- export declare type ContractParams = UniswapV2Params | UniswapV3Params | CurveParams | CurveSteCRVPoolParams | CurveDepositParams | YearnParams | ConvexParams | ConvexPoolParams | LidoParams;
65
- export declare const contractParams: Record<SupportedContract, ContractParams>;
66
- export declare const contractsByAddress: Record<string, SupportedContract>;
67
- export {};
@@ -1,254 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.contractsByAddress = exports.contractParams = exports.UNISWAP_V3_QUOTER = exports.contractsByNetwork = void 0;
15
- /*
16
- * SPDX-License-Identifier: BSL-1.1
17
- * Gearbox. Generalized leverage protocol, which allows to take leverage and then use it across other DeFi protocols and platforms in a composable way.
18
- * (c) Gearbox.fi, 2021
19
- */
20
- var mappers_1 = require("../utils/mappers");
21
- var adapters_1 = require("./adapters");
22
- var protocols_1 = require("./protocols");
23
- var token_1 = require("../tokens/token");
24
- exports.contractsByNetwork = {
25
- Mainnet: {
26
- UNISWAP_V2_ROUTER: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
27
- UNISWAP_V3_ROUTER: "0xE592427A0AEce92De3Edee1F18E0157C05861564",
28
- SUSHISWAP_ROUTER: "0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F",
29
- // CURVE
30
- CURVE_3CRV_POOL: "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7",
31
- CURVE_STETH_GATEWAY: "0xB949Ef5b39164537ee97BF17b968e465368C97AD",
32
- CURVE_FRAX_POOL: token_1.tokenDataByNetwork.Mainnet.FRAX3CRV,
33
- CURVE_LUSD_POOL: token_1.tokenDataByNetwork.Mainnet.LUSD3CRV,
34
- CURVE_SUSD_POOL: "0xA5407eAE9Ba41422680e2e00537571bcC53efBfD",
35
- CURVE_SUSD_DEPOSIT: "0xFCBa3E75865d2d561BE8D220616520c171F12851",
36
- CURVE_GUSD_POOL: "0x4f062658EaAF2C1ccf8C8e36D6824CDf41167956",
37
- // YEARN
38
- YEARN_DAI_VAULT: token_1.tokenDataByNetwork.Mainnet.yvDAI,
39
- YEARN_USDC_VAULT: token_1.tokenDataByNetwork.Mainnet.yvUSDC,
40
- YEARN_WETH_VAULT: token_1.tokenDataByNetwork.Mainnet.yvWETH,
41
- YEARN_WBTC_VAULT: token_1.tokenDataByNetwork.Mainnet.yvWBTC,
42
- YEARN_CURVE_FRAX_VAULT: token_1.tokenDataByNetwork.Mainnet.yvCURVE_FRAX_POOL,
43
- YEARN_CURVE_STETH_VAULT: token_1.tokenDataByNetwork.Mainnet.yvCurve_stETH,
44
- // CONVEX
45
- CONVEX_BOOSTER: "0xF403C135812408BFbE8713b5A23a04b3D48AAE31",
46
- CONVEX_3CRV_POOL: "0x689440f2Ff927E1f24c72F1087E1FAF471eCe1c8",
47
- CONVEX_GUSD_POOL: "0x7A7bBf95C44b144979360C3300B54A7D34b44985",
48
- CONVEX_SUSD_POOL: "0x22eE18aca7F3Ee920D01F25dA85840D12d98E8Ca",
49
- CURVE_SUSD_DEPOSIT: "0xFCBa3E75865d2d561BE8D220616520c171F12851",
50
- CONVEX_STECRV_POOL: "0x0A760466E1B4621579a82a39CB56Dda2F4E70f03",
51
- CONVEX_FRAX3CRV_POOL: "0xB900EF131301B307dB5eFcbed9DBb50A3e209B2e",
52
- CONVEX_CLAIM_ZAP: "0x92Cf9E5e4D1Dfbf7dA0d2BB3e884a68416a65070",
53
- // LIDO
54
- LIDO_STETH_GATEWAY: "0x55045Eaae19d92680E02231e4Ce7bBEB4814ca64",
55
- },
56
- Kovan: {
57
- UNISWAP_V2_ROUTER: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
58
- UNISWAP_V3_ROUTER: "0xE592427A0AEce92De3Edee1F18E0157C05861564",
59
- SUSHISWAP_ROUTER: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",
60
- // CURVE
61
- CURVE_3CRV_POOL: "0x5544FDA32B8F64262295DD0720A4D36BEB3F438c",
62
- CURVE_STETH_GATEWAY: "0xa5F7C2D7A1125ae47818A7371F9c48553305b077",
63
- CURVE_FRAX_POOL: token_1.tokenDataByNetwork.Kovan.FRAX3CRV,
64
- CURVE_LUSD_POOL: token_1.tokenDataByNetwork.Kovan.LUSD3CRV,
65
- CURVE_SUSD_POOL: "0xf4fD22A7c99D389e4ddBb8185B59F9D6eF6775c0",
66
- CURVE_SUSD_DEPOSIT: "0x0558CBb362fbDff28c913D91d0ec11315Ff69b4A",
67
- CURVE_GUSD_POOL: "0xeB9D96059bd466EBbd0E5EeBdD596566f31EbB7B",
68
- // YEARN
69
- YEARN_DAI_VAULT: token_1.tokenDataByNetwork.Kovan.yvDAI,
70
- YEARN_USDC_VAULT: token_1.tokenDataByNetwork.Kovan.yvUSDC,
71
- YEARN_WETH_VAULT: token_1.tokenDataByNetwork.Kovan.yvWETH,
72
- YEARN_WBTC_VAULT: token_1.tokenDataByNetwork.Kovan.yvWBTC,
73
- YEARN_CURVE_FRAX_VAULT: token_1.tokenDataByNetwork.Kovan.yvCURVE_FRAX_POOL,
74
- YEARN_CURVE_STETH_VAULT: token_1.tokenDataByNetwork.Kovan.yvCurve_stETH,
75
- // CONVEX
76
- CONVEX_BOOSTER: "",
77
- CONVEX_3CRV_POOL: "",
78
- CONVEX_GUSD_POOL: "",
79
- CONVEX_SUSD_POOL: "",
80
- CONVEX_STECRV_POOL: "",
81
- CONVEX_FRAX3CRV_POOL: "",
82
- CONVEX_CLAIM_ZAP: "",
83
- // LIDO
84
- LIDO_STETH_GATEWAY: "0x0aaEB0372c2a32088D4F2c9a6ECfB3fFc7Fa2ffF",
85
- }
86
- };
87
- exports.UNISWAP_V3_QUOTER = "0xb27308f9f90d607463bb33ea1bebb41c27ce5ab6";
88
- exports.contractParams = {
89
- UNISWAP_V2_ROUTER: {
90
- name: "Uniswap V2",
91
- protocol: protocols_1.Protocols.Uniswap,
92
- type: adapters_1.AdapterInterface.UNISWAP_V2_ROUTER
93
- },
94
- UNISWAP_V3_ROUTER: {
95
- name: "Uniswap V3",
96
- protocol: protocols_1.Protocols.Uniswap,
97
- quoter: exports.UNISWAP_V3_QUOTER,
98
- type: adapters_1.AdapterInterface.UNISWAP_V3_ROUTER
99
- },
100
- SUSHISWAP_ROUTER: {
101
- name: "Sushiswap",
102
- protocol: protocols_1.Protocols.Sushiswap,
103
- type: adapters_1.AdapterInterface.UNISWAP_V2_ROUTER
104
- },
105
- CURVE_3CRV_POOL: {
106
- name: "Curve 3Pool",
107
- protocol: protocols_1.Protocols.Curve,
108
- type: adapters_1.AdapterInterface.CURVE_V1_3ASSETS,
109
- lpToken: "3Crv",
110
- tokens: ["DAI", "USDC", "USDT"]
111
- },
112
- CURVE_STETH_GATEWAY: {
113
- name: "Curve stETH",
114
- protocol: protocols_1.Protocols.Curve,
115
- type: adapters_1.AdapterInterface.CURVE_V1_STECRV_POOL,
116
- pool: {
117
- Mainnet: "0xDC24316b9AE028F1497c275EB9192a3Ea0f67022",
118
- Kovan: "0x39311C60F6EC014b2c954aD469CE61946A3Ee460"
119
- },
120
- lpToken: "steCRV"
121
- },
122
- CURVE_FRAX_POOL: {
123
- name: "Curve FRAX",
124
- protocol: protocols_1.Protocols.Curve,
125
- type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
126
- lpToken: "FRAX3CRV",
127
- tokens: ["3Crv", "FRAX"]
128
- },
129
- CURVE_LUSD_POOL: {
130
- name: "Curve LUSD",
131
- protocol: protocols_1.Protocols.Curve,
132
- type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
133
- lpToken: "LUSD3CRV",
134
- tokens: ["3Crv", "LUSD"]
135
- },
136
- CURVE_SUSD_POOL: {
137
- name: "Curve SUSD",
138
- protocol: protocols_1.Protocols.Curve,
139
- type: adapters_1.AdapterInterface.CURVE_V1_4ASSETS,
140
- lpToken: "crvPlain3andSUSD",
141
- tokens: ["DAI", "USDC", "USDT", "sUSD"],
142
- wrapper: "CURVE_SUSD_DEPOSIT"
143
- },
144
- CURVE_SUSD_DEPOSIT: {
145
- name: "Curve SUSD",
146
- protocol: protocols_1.Protocols.Curve,
147
- type: adapters_1.AdapterInterface.CURVE_V1_WRAPPER,
148
- lpToken: "crvPlain3andSUSD",
149
- tokens: ["DAI", "USDC", "USDT", "sUSD"],
150
- wrapper: "CURVE_SUSD_DEPOSIT"
151
- },
152
- CURVE_SUSD_DEPOSIT: {
153
- name: "Curve SUSD Deposit",
154
- protocol: protocols_1.Protocols.Curve,
155
- type: adapters_1.AdapterInterface.CURVE_V1_DEPOSIT,
156
- lpToken: "crvPlain3andSUSD",
157
- pool: {
158
- Mainnet: "0x22eE18aca7F3Ee920D01F25dA85840D12d98E8Ca",
159
- Kovan: ""
160
- },
161
- nCoins: 4
162
- },
163
- CURVE_GUSD_POOL: {
164
- name: "Curve GUSD",
165
- protocol: protocols_1.Protocols.Curve,
166
- type: adapters_1.AdapterInterface.CURVE_V1_2ASSETS,
167
- lpToken: "gusd3CRV",
168
- tokens: ["3Crv", "GUSD"]
169
- },
170
- YEARN_DAI_VAULT: {
171
- name: "Yearn DAI",
172
- protocol: protocols_1.Protocols.Yearn,
173
- type: adapters_1.AdapterInterface.YEARN_V2
174
- },
175
- YEARN_USDC_VAULT: {
176
- name: "Yearn USDC",
177
- protocol: protocols_1.Protocols.Yearn,
178
- type: adapters_1.AdapterInterface.YEARN_V2
179
- },
180
- YEARN_WETH_VAULT: {
181
- name: "Yearn WETH",
182
- protocol: protocols_1.Protocols.Yearn,
183
- type: adapters_1.AdapterInterface.YEARN_V2
184
- },
185
- YEARN_WBTC_VAULT: {
186
- name: "Yearn WBTC",
187
- protocol: protocols_1.Protocols.Yearn,
188
- type: adapters_1.AdapterInterface.YEARN_V2
189
- },
190
- YEARN_CURVE_FRAX_VAULT: {
191
- name: "Yearn Curve FRAX",
192
- protocol: protocols_1.Protocols.Yearn,
193
- type: adapters_1.AdapterInterface.YEARN_V2
194
- },
195
- YEARN_CURVE_STETH_VAULT: {
196
- name: "Yearn Curve STETH",
197
- protocol: protocols_1.Protocols.Yearn,
198
- type: adapters_1.AdapterInterface.YEARN_V2
199
- },
200
- CONVEX_BOOSTER: {
201
- name: "Convex BOOSTER",
202
- protocol: protocols_1.Protocols.Convex,
203
- type: adapters_1.AdapterInterface.CONVEX_V1_BOOSTER
204
- },
205
- CONVEX_3CRV_POOL: {
206
- name: "Convex 3crv",
207
- protocol: protocols_1.Protocols.Convex,
208
- type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
209
- stakedToken: "stkcvx3Crv"
210
- },
211
- CONVEX_GUSD_POOL: {
212
- name: "Convex GUSD",
213
- protocol: protocols_1.Protocols.Convex,
214
- type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
215
- stakedToken: "stkcvxgusd3CRV"
216
- },
217
- CONVEX_SUSD_POOL: {
218
- name: "Convex SUSD",
219
- protocol: protocols_1.Protocols.Convex,
220
- type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
221
- stakedToken: "stkcvxcrvPlain3andSUSD"
222
- },
223
- CONVEX_STECRV_POOL: {
224
- name: "Convex STECRV",
225
- protocol: protocols_1.Protocols.Convex,
226
- type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
227
- stakedToken: "stkcvxsteCRV"
228
- },
229
- CONVEX_FRAX3CRV_POOL: {
230
- name: "Convex FRAX3CRV",
231
- protocol: protocols_1.Protocols.Convex,
232
- type: adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
233
- stakedToken: "stkcvxFRAX3CRV"
234
- },
235
- CONVEX_CLAIM_ZAP: {
236
- name: "Convex ZAP",
237
- protocol: protocols_1.Protocols.Convex,
238
- type: adapters_1.AdapterInterface.CONVEX_V1_CLAIM_ZAP
239
- },
240
- LIDO_STETH_GATEWAY: {
241
- name: "Lido STETH",
242
- protocol: protocols_1.Protocols.Lido,
243
- type: adapters_1.AdapterInterface.LIDO_V1,
244
- // contract: {
245
- // Mainnet: "0xae7ab96520de3a18e5e111b5eaab095312d7fe84",
246
- // Kovan: ""
247
- // },
248
- lpToken: "steCRV"
249
- }
250
- };
251
- exports.contractsByAddress = (0, mappers_1.objectEntries)(exports.contractsByNetwork).reduce(function (sum, _a) {
252
- var _ = _a[0], contracts = _a[1];
253
- return __assign(__assign({}, sum), (0, mappers_1.keyToLowercase)((0, mappers_1.swapKeyValue)(contracts)));
254
- }, {});
@@ -1,2 +0,0 @@
1
- export declare const deployedContracts: Record<string, string>;
2
- export declare function getContractName(address: string): string;
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.getContractName = exports.deployedContracts = void 0;
15
- var mappers_1 = require("../utils/mappers");
16
- var contracts_1 = require("./contracts");
17
- exports.deployedContracts = {
18
- // MAINNET
19
- "0x24946bCbBd028D5ABb62ad9B635EB1b1a67AF668": "DAI",
20
- "0x777E23A2AcB2fCbB35f6ccF98272d03C722Ba6EB": "DAI",
21
- "0x86130bDD69143D8a4E5fc50bf4323D48049E98E4": "USDC",
22
- "0x2664cc24CBAd28749B3Dd6fC97A6B402484De527": "USDC",
23
- "0xB03670c20F87f2169A7c4eBE35746007e9575901": "WETH",
24
- "0x968f9a68a98819E2e6Bb910466e191A7b6cf02F0": "WETH",
25
- "0xB2A015c71c17bCAC6af36645DEad8c572bA08A08": "WBTC",
26
- "0xC38478B0A4bAFE964C3526EEFF534d70E1E09017": "WBTC",
27
- // [UNISWAP_V2_ROUTER]: "Uniswap V2",
28
- // [UNISWAP_V3_ROUTER]: "Uniswap V3",
29
- // [CURVE_3CRV_POOL_ADDRESS]: "Curve 3Pool",
30
- // [SUSHISWAP_MAINNET]: "Sushiswap",
31
- // [YEARN_DAI_VAULT_ADDRESS]: "Yearn DAI",
32
- // [YEARN_USDC_VAULT_ADDRESS]: "Yearn USDC",
33
- // KOVAN
34
- "0xc40B71BCcb749D91923654571f715Bf1FC464E66": "DAI",
35
- "0x1b0c9312FB74d08e57F49Ee5e4601a1846dc2207": "USDC",
36
- "0x4b20dD834B8898caC2c1B2C94163f14FA866AadC": "WETH",
37
- "0x2c52bc97485bcb3BeA763Fb5793eF15BA388D140": "WBTC",
38
- "0xe04b4db67127d1930D36f16B51653120C4285708": "WBTC",
39
- "0x600073357c29d169aAF3E543A4519749830553F1": "WETH",
40
- "0xdBAd1361d9A03B81Be8D3a54Ef0dc9e39a1bA5b3": "USDC",
41
- "0x50d1fA47b0D88BA0D108148B8481b4A762eFB99e": "DAI"
42
- // [YEARN_DAI_VAULT_KOVAN_MOCK]: "Yearn DAI",
43
- // [YEARN_USDC_VAULT_KOVAN_MOCK]: "Yearn USDC",
44
- // [SUSHISWAP_KOVAN]: "Sushiswap"
45
- };
46
- var contractNames = Object.entries(contracts_1.contractsByAddress).reduce(function (sum, _a) {
47
- var _b;
48
- var addr = _a[0], cSymbol = _a[1];
49
- var params = contracts_1.contractParams[cSymbol];
50
- if (!params)
51
- return sum;
52
- return __assign(__assign({}, sum), (_b = {}, _b[addr] = params.name, _b));
53
- }, {});
54
- var contractsFullList = __assign(__assign({}, (0, mappers_1.keyToLowercase)(exports.deployedContracts)), contractNames);
55
- function getContractName(address) {
56
- return contractsFullList[address.toLowerCase()] || address;
57
- }
58
- exports.getContractName = getContractName;
@@ -1,13 +0,0 @@
1
- export interface CardCustomisation {
2
- id: string;
3
- name: string;
4
- background: string;
5
- }
6
- export interface CardBackground {
7
- id: string;
8
- background: string;
9
- }
10
- export interface CardCollection {
11
- id: string;
12
- backgrounds: Array<CardBackground>;
13
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,38 +0,0 @@
1
- import { SupportedToken } from "../tokens/token";
2
- export interface PriceFeed {
3
- token: string;
4
- priceFeed: string;
5
- }
6
- export declare enum OracleType {
7
- CHAINLINK_ORACLE = 0,
8
- YEARN_TOKEN_ORACLE = 1,
9
- CURVE_LP_ORACLE = 2,
10
- YEARN_CURVE_LP_ORACLE = 3,
11
- ZERO_ORACLE = 4,
12
- LIKE_CURVE_LP_ORACLE = 5
13
- }
14
- export declare type PriceFeedData = {
15
- type: OracleType.CHAINLINK_ORACLE;
16
- address: string;
17
- kovan?: string;
18
- } | {
19
- type: OracleType.YEARN_TOKEN_ORACLE;
20
- token: SupportedToken;
21
- deployed?: string;
22
- deployedKovan?: string;
23
- } | {
24
- type: OracleType.CURVE_LP_ORACLE;
25
- assets: Array<SupportedToken>;
26
- } | {
27
- type: OracleType.YEARN_CURVE_LP_ORACLE;
28
- curveSymbol: SupportedToken;
29
- } | {
30
- type: OracleType.ZERO_ORACLE;
31
- } | {
32
- type: OracleType.LIKE_CURVE_LP_ORACLE;
33
- curveSymbol: SupportedToken;
34
- };
35
- export declare type TokenPriceFeedData = {
36
- priceFeedETH?: PriceFeedData;
37
- priceFeedUSD?: PriceFeedData;
38
- };
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OracleType = void 0;
4
- var OracleType;
5
- (function (OracleType) {
6
- OracleType[OracleType["CHAINLINK_ORACLE"] = 0] = "CHAINLINK_ORACLE";
7
- OracleType[OracleType["YEARN_TOKEN_ORACLE"] = 1] = "YEARN_TOKEN_ORACLE";
8
- OracleType[OracleType["CURVE_LP_ORACLE"] = 2] = "CURVE_LP_ORACLE";
9
- OracleType[OracleType["YEARN_CURVE_LP_ORACLE"] = 3] = "YEARN_CURVE_LP_ORACLE";
10
- OracleType[OracleType["ZERO_ORACLE"] = 4] = "ZERO_ORACLE";
11
- OracleType[OracleType["LIKE_CURVE_LP_ORACLE"] = 5] = "LIKE_CURVE_LP_ORACLE";
12
- })(OracleType = exports.OracleType || (exports.OracleType = {}));
@@ -1,3 +0,0 @@
1
- import { TokenPriceFeedData } from "../core/oracles";
2
- import { SupportedToken } from "../tokens/token";
3
- export declare const priceFeedsByNetwork: Record<SupportedToken, TokenPriceFeedData>;