@defisaver/positions-sdk 0.0.200 → 0.0.201

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 (73) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +69 -69
  4. package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
  5. package/cjs/markets/aave/marketAssets.js +1 -1
  6. package/esm/helpers/morphoBlueHelpers/index.js +66 -66
  7. package/esm/markets/aave/marketAssets.js +1 -1
  8. package/package.json +49 -49
  9. package/src/aaveV2/index.ts +227 -227
  10. package/src/aaveV3/index.ts +625 -625
  11. package/src/assets/index.ts +60 -60
  12. package/src/chickenBonds/index.ts +123 -123
  13. package/src/compoundV2/index.ts +220 -220
  14. package/src/compoundV3/index.ts +291 -291
  15. package/src/config/contracts.js +1109 -1109
  16. package/src/constants/index.ts +6 -6
  17. package/src/contracts.ts +133 -133
  18. package/src/curveUsd/index.ts +229 -229
  19. package/src/eulerV2/index.ts +303 -303
  20. package/src/exchange/index.ts +17 -17
  21. package/src/helpers/aaveHelpers/index.ts +198 -198
  22. package/src/helpers/chickenBondsHelpers/index.ts +23 -23
  23. package/src/helpers/compoundHelpers/index.ts +246 -246
  24. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  25. package/src/helpers/eulerHelpers/index.ts +232 -232
  26. package/src/helpers/index.ts +10 -10
  27. package/src/helpers/liquityV2Helpers/index.ts +79 -79
  28. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  29. package/src/helpers/makerHelpers/index.ts +94 -94
  30. package/src/helpers/morphoBlueHelpers/index.ts +365 -365
  31. package/src/helpers/sparkHelpers/index.ts +150 -150
  32. package/src/index.ts +50 -50
  33. package/src/liquity/index.ts +116 -116
  34. package/src/liquityV2/index.ts +227 -227
  35. package/src/llamaLend/index.ts +275 -275
  36. package/src/maker/index.ts +117 -117
  37. package/src/markets/aave/index.ts +152 -152
  38. package/src/markets/aave/marketAssets.ts +44 -44
  39. package/src/markets/compound/index.ts +213 -213
  40. package/src/markets/compound/marketsAssets.ts +82 -82
  41. package/src/markets/curveUsd/index.ts +69 -69
  42. package/src/markets/euler/index.ts +26 -26
  43. package/src/markets/index.ts +24 -24
  44. package/src/markets/liquityV2/index.ts +43 -43
  45. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  46. package/src/markets/llamaLend/index.ts +235 -235
  47. package/src/markets/morphoBlue/index.ts +895 -895
  48. package/src/markets/spark/index.ts +29 -29
  49. package/src/markets/spark/marketAssets.ts +10 -10
  50. package/src/moneymarket/moneymarketCommonService.ts +80 -80
  51. package/src/morphoAaveV2/index.ts +256 -256
  52. package/src/morphoAaveV3/index.ts +631 -631
  53. package/src/morphoBlue/index.ts +204 -204
  54. package/src/multicall/index.ts +22 -22
  55. package/src/services/dsrService.ts +15 -15
  56. package/src/services/priceService.ts +62 -62
  57. package/src/services/utils.ts +56 -56
  58. package/src/setup.ts +8 -8
  59. package/src/spark/index.ts +461 -461
  60. package/src/staking/staking.ts +220 -220
  61. package/src/types/aave.ts +271 -271
  62. package/src/types/chickenBonds.ts +45 -45
  63. package/src/types/common.ts +84 -84
  64. package/src/types/compound.ts +131 -131
  65. package/src/types/curveUsd.ts +118 -118
  66. package/src/types/euler.ts +171 -171
  67. package/src/types/index.ts +10 -10
  68. package/src/types/liquity.ts +30 -30
  69. package/src/types/liquityV2.ts +118 -118
  70. package/src/types/llamaLend.ts +155 -155
  71. package/src/types/maker.ts +50 -50
  72. package/src/types/morphoBlue.ts +192 -192
  73. package/src/types/spark.ts +131 -131
@@ -1,70 +1,70 @@
1
- import { getConfigContractAddress } from '../../contracts';
2
- import { CrvUSDMarketData, CrvUSDVersions } from '../../types';
3
- import { NetworkNumber } from '../../types/common';
4
-
5
- export const CRVUSD_WSTETH_MARKET = (networkId: NetworkNumber): CrvUSDMarketData => ({
6
- chainIds: [1],
7
- label: 'CurveUSD - wstETH',
8
- shortLabel: 'wstETH',
9
- value: CrvUSDVersions.crvUSDwstETH,
10
- collAsset: 'wstETH',
11
- baseAsset: 'crvUSD',
12
- controllerAddress: getConfigContractAddress('crvUSDwstETHController', networkId),
13
- ammAddress: getConfigContractAddress('crvUSDwstETHAmm', networkId),
14
- createCollAssets: ['wstETH', 'ETH'],
15
- });
16
- export const CRVUSD_ETH_MARKET = (networkId: NetworkNumber): CrvUSDMarketData => ({
17
- chainIds: [1],
18
- label: 'CurveUSD - ETH',
19
- shortLabel: 'ETH',
20
- value: CrvUSDVersions.crvUSDETH,
21
- collAsset: 'ETH',
22
- baseAsset: 'crvUSD',
23
- controllerAddress: getConfigContractAddress('crvUSDETHController', networkId),
24
- ammAddress: getConfigContractAddress('crvUSDETHAmm', networkId),
25
- createCollAssets: ['ETH'],
26
- });
27
- export const CRVUSD_WBTC_MARKET = (networkId: NetworkNumber): CrvUSDMarketData => ({
28
- chainIds: [1],
29
- label: 'CurveUSD - WBTC',
30
- shortLabel: 'WBTC',
31
- value: CrvUSDVersions.crvUSDWBTC,
32
- collAsset: 'WBTC',
33
- baseAsset: 'crvUSD',
34
- controllerAddress: getConfigContractAddress('crvUSDWBTCController', networkId),
35
- ammAddress: getConfigContractAddress('crvUSDWBTCAmm', networkId),
36
- createCollAssets: ['WBTC'],
37
- });
38
-
39
- export const CRVUSD_TBTC_MARKET = (networkId: NetworkNumber): CrvUSDMarketData => ({
40
- chainIds: [1],
41
- label: 'CurveUSD - tBTC',
42
- shortLabel: 'tBTC',
43
- value: CrvUSDVersions.crvUSDtBTC,
44
- collAsset: 'tBTC',
45
- baseAsset: 'crvUSD',
46
- controllerAddress: getConfigContractAddress('crvUSDtBTCController', networkId),
47
- ammAddress: getConfigContractAddress('crvUSDtBTCAmm', networkId),
48
- createCollAssets: ['tBTC'],
49
- });
50
-
51
- export const CRVUSD_SFRXETH_MARKET = (networkId: NetworkNumber): CrvUSDMarketData => ({
52
- chainIds: [1],
53
- label: 'CurveUSD - sfrxETH',
54
- shortLabel: 'sfrxETH',
55
- value: CrvUSDVersions.crvUSDsfrxETH,
56
- collAsset: 'sfrxETH',
57
- baseAsset: 'crvUSD',
58
- controllerAddress: getConfigContractAddress('crvUSDsfrxETHController', networkId),
59
- ammAddress: getConfigContractAddress('crvUSDsfrxETHAmm', networkId),
60
- createCollAssets: ['sfrxETH'],
61
- });
62
-
63
-
64
- export const CrvUsdMarkets = (networkId: NetworkNumber) => ({
65
- [CrvUSDVersions.crvUSDwstETH]: CRVUSD_WSTETH_MARKET(networkId),
66
- [CrvUSDVersions.crvUSDETH]: CRVUSD_ETH_MARKET(networkId),
67
- [CrvUSDVersions.crvUSDWBTC]: CRVUSD_WBTC_MARKET(networkId),
68
- [CrvUSDVersions.crvUSDtBTC]: CRVUSD_TBTC_MARKET(networkId),
69
- [CrvUSDVersions.crvUSDsfrxETH]: CRVUSD_SFRXETH_MARKET(networkId),
1
+ import { getConfigContractAddress } from '../../contracts';
2
+ import { CrvUSDMarketData, CrvUSDVersions } from '../../types';
3
+ import { NetworkNumber } from '../../types/common';
4
+
5
+ export const CRVUSD_WSTETH_MARKET = (networkId: NetworkNumber): CrvUSDMarketData => ({
6
+ chainIds: [1],
7
+ label: 'CurveUSD - wstETH',
8
+ shortLabel: 'wstETH',
9
+ value: CrvUSDVersions.crvUSDwstETH,
10
+ collAsset: 'wstETH',
11
+ baseAsset: 'crvUSD',
12
+ controllerAddress: getConfigContractAddress('crvUSDwstETHController', networkId),
13
+ ammAddress: getConfigContractAddress('crvUSDwstETHAmm', networkId),
14
+ createCollAssets: ['wstETH', 'ETH'],
15
+ });
16
+ export const CRVUSD_ETH_MARKET = (networkId: NetworkNumber): CrvUSDMarketData => ({
17
+ chainIds: [1],
18
+ label: 'CurveUSD - ETH',
19
+ shortLabel: 'ETH',
20
+ value: CrvUSDVersions.crvUSDETH,
21
+ collAsset: 'ETH',
22
+ baseAsset: 'crvUSD',
23
+ controllerAddress: getConfigContractAddress('crvUSDETHController', networkId),
24
+ ammAddress: getConfigContractAddress('crvUSDETHAmm', networkId),
25
+ createCollAssets: ['ETH'],
26
+ });
27
+ export const CRVUSD_WBTC_MARKET = (networkId: NetworkNumber): CrvUSDMarketData => ({
28
+ chainIds: [1],
29
+ label: 'CurveUSD - WBTC',
30
+ shortLabel: 'WBTC',
31
+ value: CrvUSDVersions.crvUSDWBTC,
32
+ collAsset: 'WBTC',
33
+ baseAsset: 'crvUSD',
34
+ controllerAddress: getConfigContractAddress('crvUSDWBTCController', networkId),
35
+ ammAddress: getConfigContractAddress('crvUSDWBTCAmm', networkId),
36
+ createCollAssets: ['WBTC'],
37
+ });
38
+
39
+ export const CRVUSD_TBTC_MARKET = (networkId: NetworkNumber): CrvUSDMarketData => ({
40
+ chainIds: [1],
41
+ label: 'CurveUSD - tBTC',
42
+ shortLabel: 'tBTC',
43
+ value: CrvUSDVersions.crvUSDtBTC,
44
+ collAsset: 'tBTC',
45
+ baseAsset: 'crvUSD',
46
+ controllerAddress: getConfigContractAddress('crvUSDtBTCController', networkId),
47
+ ammAddress: getConfigContractAddress('crvUSDtBTCAmm', networkId),
48
+ createCollAssets: ['tBTC'],
49
+ });
50
+
51
+ export const CRVUSD_SFRXETH_MARKET = (networkId: NetworkNumber): CrvUSDMarketData => ({
52
+ chainIds: [1],
53
+ label: 'CurveUSD - sfrxETH',
54
+ shortLabel: 'sfrxETH',
55
+ value: CrvUSDVersions.crvUSDsfrxETH,
56
+ collAsset: 'sfrxETH',
57
+ baseAsset: 'crvUSD',
58
+ controllerAddress: getConfigContractAddress('crvUSDsfrxETHController', networkId),
59
+ ammAddress: getConfigContractAddress('crvUSDsfrxETHAmm', networkId),
60
+ createCollAssets: ['sfrxETH'],
61
+ });
62
+
63
+
64
+ export const CrvUsdMarkets = (networkId: NetworkNumber) => ({
65
+ [CrvUSDVersions.crvUSDwstETH]: CRVUSD_WSTETH_MARKET(networkId),
66
+ [CrvUSDVersions.crvUSDETH]: CRVUSD_ETH_MARKET(networkId),
67
+ [CrvUSDVersions.crvUSDWBTC]: CRVUSD_WBTC_MARKET(networkId),
68
+ [CrvUSDVersions.crvUSDtBTC]: CRVUSD_TBTC_MARKET(networkId),
69
+ [CrvUSDVersions.crvUSDsfrxETH]: CRVUSD_SFRXETH_MARKET(networkId),
70
70
  }) as const;
@@ -1,27 +1,27 @@
1
- import { NetworkNumber } from '../../types/common';
2
- import { EulerV2Market, EulerV2Versions } from '../../types';
3
-
4
- export const eUSDC2 = (networkId: NetworkNumber): EulerV2Market => ({
5
- chainIds: [NetworkNumber.Eth],
6
- label: 'Euler Prime USDC',
7
- shortLabel: 'eUSDC-2',
8
- value: EulerV2Versions.eUSDC2,
9
- asset: 'USDC',
10
- secondLabel: 'Market',
11
- marketAddress: '0x797DD80692c3b2dAdabCe8e30C07fDE5307D48a9',
12
- });
13
-
14
- export const eWETH2 = (networkId: NetworkNumber): EulerV2Market => ({
15
- chainIds: [NetworkNumber.Eth],
16
- label: 'Euler Prime WETH',
17
- shortLabel: 'eWETH-2',
18
- value: EulerV2Versions.eWETH2,
19
- asset: 'WETH',
20
- secondLabel: 'Market',
21
- marketAddress: '0xD8b27CF359b7D15710a5BE299AF6e7Bf904984C2',
22
- });
23
-
24
- export const EulerV2Markets = (networkId: NetworkNumber) => ({
25
- [EulerV2Versions.eUSDC2]: eUSDC2(networkId),
26
- [EulerV2Versions.eWETH2]: eWETH2(networkId),
1
+ import { NetworkNumber } from '../../types/common';
2
+ import { EulerV2Market, EulerV2Versions } from '../../types';
3
+
4
+ export const eUSDC2 = (networkId: NetworkNumber): EulerV2Market => ({
5
+ chainIds: [NetworkNumber.Eth],
6
+ label: 'Euler Prime USDC',
7
+ shortLabel: 'eUSDC-2',
8
+ value: EulerV2Versions.eUSDC2,
9
+ asset: 'USDC',
10
+ secondLabel: 'Market',
11
+ marketAddress: '0x797DD80692c3b2dAdabCe8e30C07fDE5307D48a9',
12
+ });
13
+
14
+ export const eWETH2 = (networkId: NetworkNumber): EulerV2Market => ({
15
+ chainIds: [NetworkNumber.Eth],
16
+ label: 'Euler Prime WETH',
17
+ shortLabel: 'eWETH-2',
18
+ value: EulerV2Versions.eWETH2,
19
+ asset: 'WETH',
20
+ secondLabel: 'Market',
21
+ marketAddress: '0xD8b27CF359b7D15710a5BE299AF6e7Bf904984C2',
22
+ });
23
+
24
+ export const EulerV2Markets = (networkId: NetworkNumber) => ({
25
+ [EulerV2Versions.eUSDC2]: eUSDC2(networkId),
26
+ [EulerV2Versions.eWETH2]: eWETH2(networkId),
27
27
  }) as const;
@@ -1,24 +1,24 @@
1
- export {
2
- AaveMarkets,
3
- aaveV1AssetsDefaultMarket,
4
- aaveV2AssetsDefaultMarket,
5
- aaveV3AssetsDefaultMarket,
6
- morphoAaveV2AssetDefaultMarket,
7
- morphoAaveV3AssetEthMarket,
8
- getAaveV3MarketByMarketAddress,
9
- } from './aave';
10
- export {
11
- CompoundMarkets,
12
- compoundV2CollateralAssets,
13
- v3ETHCollAssets,
14
- v3USDbCCollAssets,
15
- v3USDCCollAssets,
16
- v3USDCeCollAssets,
17
- v3USDTCollAssets,
18
- } from './compound';
19
- export { SparkMarkets } from './spark';
20
- export { CrvUsdMarkets } from './curveUsd';
21
- export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
22
- export { LlamaLendMarkets } from './llamaLend';
23
- export { LiquityV2Markets } from './liquityV2';
24
- export { EulerV2Markets } from './euler';
1
+ export {
2
+ AaveMarkets,
3
+ aaveV1AssetsDefaultMarket,
4
+ aaveV2AssetsDefaultMarket,
5
+ aaveV3AssetsDefaultMarket,
6
+ morphoAaveV2AssetDefaultMarket,
7
+ morphoAaveV3AssetEthMarket,
8
+ getAaveV3MarketByMarketAddress,
9
+ } from './aave';
10
+ export {
11
+ CompoundMarkets,
12
+ compoundV2CollateralAssets,
13
+ v3ETHCollAssets,
14
+ v3USDbCCollAssets,
15
+ v3USDCCollAssets,
16
+ v3USDCeCollAssets,
17
+ v3USDTCollAssets,
18
+ } from './compound';
19
+ export { SparkMarkets } from './spark';
20
+ export { CrvUsdMarkets } from './curveUsd';
21
+ export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
22
+ export { LlamaLendMarkets } from './llamaLend';
23
+ export { LiquityV2Markets } from './liquityV2';
24
+ export { EulerV2Markets } from './euler';
@@ -1,44 +1,44 @@
1
- import { NetworkNumber } from '../../types/common';
2
- import { LiquityV2MarketInfo, LiquityV2Versions } from '../../types/liquityV2';
3
-
4
- export const LIQUITY_V2_ETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
5
- chainIds: [NetworkNumber.Eth],
6
- label: 'Liquity V2 ETH',
7
- shortLabel: 'ETH',
8
- value: LiquityV2Versions.LiquityV2Eth,
9
- url: 'eth',
10
- debtToken: 'BOLD',
11
- collateralToken: 'ETH',
12
- marketAddress: '0x38e1f07b954cfab7239d7acab49997fbaad96476',
13
- protocolName: 'liquity-v2',
14
- });
15
-
16
- export const LIQUITY_V2_WSTETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
17
- chainIds: [NetworkNumber.Eth],
18
- label: 'Liquity V2 wstETH',
19
- shortLabel: 'wstETH',
20
- value: LiquityV2Versions.LiquityV2WstEth,
21
- url: 'wsteth',
22
- debtToken: 'BOLD',
23
- collateralToken: 'wstETH',
24
- marketAddress: '0x2d4ef56cb626e9a4c90c156018ba9ce269573c61',
25
- protocolName: 'liquity-v2',
26
- });
27
-
28
- export const LIQUITY_V2_RETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
29
- chainIds: [NetworkNumber.Eth],
30
- label: 'Liquity V2 rETH',
31
- shortLabel: 'rETH',
32
- value: LiquityV2Versions.LiquityV2REth,
33
- url: 'reth',
34
- debtToken: 'BOLD',
35
- collateralToken: 'rETH',
36
- marketAddress: '0x3b48169809dd827f22c9e0f2d71ff12ea7a94a2f',
37
- protocolName: 'liquity-v2',
38
- });
39
-
40
- export const LiquityV2Markets = (networkId: NetworkNumber) => ({
41
- [LiquityV2Versions.LiquityV2Eth]: LIQUITY_V2_ETH_MARKET(networkId),
42
- [LiquityV2Versions.LiquityV2WstEth]: LIQUITY_V2_WSTETH_MARKET(networkId),
43
- [LiquityV2Versions.LiquityV2REth]: LIQUITY_V2_RETH_MARKET(networkId),
1
+ import { NetworkNumber } from '../../types/common';
2
+ import { LiquityV2MarketInfo, LiquityV2Versions } from '../../types/liquityV2';
3
+
4
+ export const LIQUITY_V2_ETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
5
+ chainIds: [NetworkNumber.Eth],
6
+ label: 'Liquity V2 ETH',
7
+ shortLabel: 'ETH',
8
+ value: LiquityV2Versions.LiquityV2Eth,
9
+ url: 'eth',
10
+ debtToken: 'BOLD',
11
+ collateralToken: 'ETH',
12
+ marketAddress: '0x38e1f07b954cfab7239d7acab49997fbaad96476',
13
+ protocolName: 'liquity-v2',
14
+ });
15
+
16
+ export const LIQUITY_V2_WSTETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
17
+ chainIds: [NetworkNumber.Eth],
18
+ label: 'Liquity V2 wstETH',
19
+ shortLabel: 'wstETH',
20
+ value: LiquityV2Versions.LiquityV2WstEth,
21
+ url: 'wsteth',
22
+ debtToken: 'BOLD',
23
+ collateralToken: 'wstETH',
24
+ marketAddress: '0x2d4ef56cb626e9a4c90c156018ba9ce269573c61',
25
+ protocolName: 'liquity-v2',
26
+ });
27
+
28
+ export const LIQUITY_V2_RETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
29
+ chainIds: [NetworkNumber.Eth],
30
+ label: 'Liquity V2 rETH',
31
+ shortLabel: 'rETH',
32
+ value: LiquityV2Versions.LiquityV2REth,
33
+ url: 'reth',
34
+ debtToken: 'BOLD',
35
+ collateralToken: 'rETH',
36
+ marketAddress: '0x3b48169809dd827f22c9e0f2d71ff12ea7a94a2f',
37
+ protocolName: 'liquity-v2',
38
+ });
39
+
40
+ export const LiquityV2Markets = (networkId: NetworkNumber) => ({
41
+ [LiquityV2Versions.LiquityV2Eth]: LIQUITY_V2_ETH_MARKET(networkId),
42
+ [LiquityV2Versions.LiquityV2WstEth]: LIQUITY_V2_WSTETH_MARKET(networkId),
43
+ [LiquityV2Versions.LiquityV2REth]: LIQUITY_V2_RETH_MARKET(networkId),
44
44
  }) as const;
@@ -1,141 +1,141 @@
1
- import {
2
- LlamaLendVersions, LlamaLendVersionsType, LLVersionsArb, LLVersionsEth,
3
- } from '../../types';
4
- import { NetworkNumber } from '../../types/common';
5
-
6
- type LLAddresses = {
7
- controllerAddress: string,
8
- vaultAddress: string
9
- controllerId: number,
10
- };
11
-
12
- const ethAddresses: Record<LLVersionsEth, LLAddresses> = {
13
- [LlamaLendVersions.LLWstethCrvusd]: {
14
- controllerId: 0,
15
- controllerAddress: '0x1E0165DbD2019441aB7927C018701f3138114D71',
16
- vaultAddress: '0x8cf1DE26729cfB7137AF1A6B2a665e099EC319b5',
17
- },
18
- [LlamaLendVersions.LLWstethCrvusd2]: {
19
- controllerId: 13,
20
- controllerAddress: '0x5756A035F276a8095A922931F224F4ed06149608',
21
- vaultAddress: '0x21CF1c5Dc48C603b89907FE6a7AE83EA5e3709aF',
22
- },
23
- [LlamaLendVersions.LLSusdeCrvusd]: {
24
- controllerId: 7,
25
- controllerAddress: '0x98fc283d6636f6dcff5a817a00ac69a3add96907',
26
- vaultAddress: '0x52096539ed1391CB50C6b9e4Fd18aFd2438ED23b',
27
- },
28
- [LlamaLendVersions.LLSusdeCrvusd2]: {
29
- controllerId: 11,
30
- controllerAddress: '0xB536FEa3a01c95Dd09932440eC802A75410139D6',
31
- vaultAddress: '0x4a7999c55d3a93dAf72EA112985e57c2E3b9e95D',
32
- },
33
- [LlamaLendVersions.LLCrvCrvusd]: {
34
- controllerId: 3,
35
- controllerAddress: '0xEdA215b7666936DEd834f76f3fBC6F323295110A',
36
- vaultAddress: '0xCeA18a8752bb7e7817F9AE7565328FE415C0f2cA',
37
- },
38
- [LlamaLendVersions.LLCrvusdCrv]: {
39
- controllerId: 4,
40
- controllerAddress: '0xC510d73Ad34BeDECa8978B6914461aA7b50CF3Fc',
41
- vaultAddress: '0x4D2f44B0369f3C20c3d670D2C26b048985598450',
42
- },
43
- [LlamaLendVersions.LLTbtcCrvusd]: {
44
- controllerId: 2,
45
- controllerAddress: '0x413FD2511BAD510947a91f5c6c79EBD8138C29Fc',
46
- vaultAddress: '0xb2b23C87a4B6d1b03Ba603F7C3EB9A81fDC0AAC9',
47
- },
48
- [LlamaLendVersions.LLCrvusdTbtc]: {
49
- controllerId: 6,
50
- controllerAddress: '0xe438658874b0acf4d81c24172e137f0ee00621b8',
51
- vaultAddress: '0x99Cff9Dc26A44dc2496B4448ebE415b5E894bd30',
52
- },
53
- [LlamaLendVersions.LLWethCrvusd]: {
54
- controllerId: 1,
55
- controllerAddress: '0xaade9230aa9161880e13a38c83400d3d1995267b',
56
- vaultAddress: '0x5AE28c9197a4a6570216fC7e53E7e0221D7A0FEF',
57
- },
58
- [LlamaLendVersions.LLCrvusdWeth]: {
59
- controllerId: 5,
60
- controllerAddress: '0xa5d9137d2a1ee912469d911a8e74b6c77503bac8',
61
- vaultAddress: '0x46196C004de85c7a75C8b1bB9d54Afb0f8654A45',
62
- },
63
- [LlamaLendVersions.LLWethCrvusd2]: {
64
- controllerId: 12,
65
- controllerAddress: '0x23F5a668A9590130940eF55964ead9787976f2CC',
66
- vaultAddress: '0x8fb1c7AEDcbBc1222325C39dd5c1D2d23420CAe3',
67
- },
68
- [LlamaLendVersions.LLWbtcCrvusd]: {
69
- controllerId: 9,
70
- controllerAddress: '0xcaD85b7fe52B1939DCEebEe9bCf0b2a5Aa0cE617',
71
- vaultAddress: '0xccd37EB6374Ae5b1f0b85ac97eFf14770e0D0063',
72
- },
73
- // temp disabled
74
- // [LlamaLendVersions.LLPufethCrvusd]: {
75
- // controllerId: 10,
76
- // controllerAddress: '0x4f87158350c296955966059C50263F711cE0817C',
77
- // vaultAddress: '0xff467c6E827ebbEa64DA1ab0425021E6c89Fbe0d',
78
- // },
79
- [LlamaLendVersions.LLUsdeCrvusd]: {
80
- controllerId: 14,
81
- controllerAddress: '0x74f88Baa966407b50c10B393bBD789639EFfE78B',
82
- vaultAddress: '0xc687141c18F20f7Ba405e45328825579fDdD3195',
83
- },
84
- };
85
-
86
- const arbAddresses: Record<LLVersionsArb, LLAddresses> = {
87
- [LlamaLendVersions.LLArbCrvusd]: {
88
- controllerId: 5,
89
- controllerAddress: '0x76709bc0da299ab0234eec51385e900922ae98f5',
90
- vaultAddress: '0x65592b1F12c07D434e95c7BF87F4f2f464e950e4',
91
- },
92
- [LlamaLendVersions.LLArbCrvusd2]: {
93
- controllerId: 11,
94
- controllerAddress: '0xeCF99dE21c31eC75b4Fb97e980F9d084b1d8Da8f',
95
- vaultAddress: '0xa6C2E6A83D594e862cDB349396856f7FFE9a979B',
96
- },
97
- [LlamaLendVersions.LLFxnCrvusd]: {
98
- controllerId: 7,
99
- controllerAddress: '0x7adcc491f0b7f9bc12837b8f5edf0e580d176f1f',
100
- vaultAddress: '0xebA51f6472F4cE1C47668c2474ab8f84B32E1ae7',
101
- },
102
- [LlamaLendVersions.LLWbtcCrvusd]: {
103
- controllerId: 1,
104
- controllerAddress: '0x013be86e1cdb0f384daf24bd974fe75edffe6b68',
105
- vaultAddress: '0x60D38b12d22BF423F28082bf396ff8F28cC506B1',
106
- },
107
- [LlamaLendVersions.LLWbtcCrvusd2]: {
108
- controllerId: 10,
109
- controllerAddress: '0xb9aDddCf4e01c2f64F8F2CD9a050DC35585ea053',
110
- vaultAddress: '0xe07f1151887b8FDC6800f737252f6b91b46b5865',
111
- },
112
- [LlamaLendVersions.LLCrvCrvusd]: {
113
- controllerId: 4,
114
- controllerAddress: '0x88f88e937db48bbfe8e3091718576430704e47ab',
115
- vaultAddress: '0xeEaF2ccB73A01deb38Eca2947d963D64CfDe6A32',
116
- },
117
- [LlamaLendVersions.LLWethCrvusd]: {
118
- controllerId: 0,
119
- controllerAddress: '0xb5b6f0e69c283aa32425fa18220e64283b51f0a4',
120
- vaultAddress: '0x49014A8eB1585cBee6A7a9A50C3b81017BF6Cc4d',
121
- },
122
- [LlamaLendVersions.LLWethCrvusd2]: {
123
- controllerId: 9,
124
- controllerAddress: '0xB5c6082d3307088C98dA8D79991501E113e6365d',
125
- vaultAddress: '0xd3cA9BEc3e681b0f578FD87f20eBCf2B7e0bb739',
126
- },
127
- };
128
-
129
- export const getLLamaLendAddresses = (networkId: NetworkNumber, version: LlamaLendVersionsType) => {
130
- let addresses: LLAddresses | undefined;
131
- if (networkId === NetworkNumber.Eth) {
132
- addresses = ethAddresses[version as any as LLVersionsEth];
133
- } else if (networkId === NetworkNumber.Arb) {
134
- addresses = arbAddresses[version as any as LLVersionsArb];
135
- } else {
136
- throw new Error(`Invalid LlamaLend network ${networkId} for version ${version}`);
137
- }
138
- return addresses;
139
- };
140
-
141
-
1
+ import {
2
+ LlamaLendVersions, LlamaLendVersionsType, LLVersionsArb, LLVersionsEth,
3
+ } from '../../types';
4
+ import { NetworkNumber } from '../../types/common';
5
+
6
+ type LLAddresses = {
7
+ controllerAddress: string,
8
+ vaultAddress: string
9
+ controllerId: number,
10
+ };
11
+
12
+ const ethAddresses: Record<LLVersionsEth, LLAddresses> = {
13
+ [LlamaLendVersions.LLWstethCrvusd]: {
14
+ controllerId: 0,
15
+ controllerAddress: '0x1E0165DbD2019441aB7927C018701f3138114D71',
16
+ vaultAddress: '0x8cf1DE26729cfB7137AF1A6B2a665e099EC319b5',
17
+ },
18
+ [LlamaLendVersions.LLWstethCrvusd2]: {
19
+ controllerId: 13,
20
+ controllerAddress: '0x5756A035F276a8095A922931F224F4ed06149608',
21
+ vaultAddress: '0x21CF1c5Dc48C603b89907FE6a7AE83EA5e3709aF',
22
+ },
23
+ [LlamaLendVersions.LLSusdeCrvusd]: {
24
+ controllerId: 7,
25
+ controllerAddress: '0x98fc283d6636f6dcff5a817a00ac69a3add96907',
26
+ vaultAddress: '0x52096539ed1391CB50C6b9e4Fd18aFd2438ED23b',
27
+ },
28
+ [LlamaLendVersions.LLSusdeCrvusd2]: {
29
+ controllerId: 11,
30
+ controllerAddress: '0xB536FEa3a01c95Dd09932440eC802A75410139D6',
31
+ vaultAddress: '0x4a7999c55d3a93dAf72EA112985e57c2E3b9e95D',
32
+ },
33
+ [LlamaLendVersions.LLCrvCrvusd]: {
34
+ controllerId: 3,
35
+ controllerAddress: '0xEdA215b7666936DEd834f76f3fBC6F323295110A',
36
+ vaultAddress: '0xCeA18a8752bb7e7817F9AE7565328FE415C0f2cA',
37
+ },
38
+ [LlamaLendVersions.LLCrvusdCrv]: {
39
+ controllerId: 4,
40
+ controllerAddress: '0xC510d73Ad34BeDECa8978B6914461aA7b50CF3Fc',
41
+ vaultAddress: '0x4D2f44B0369f3C20c3d670D2C26b048985598450',
42
+ },
43
+ [LlamaLendVersions.LLTbtcCrvusd]: {
44
+ controllerId: 2,
45
+ controllerAddress: '0x413FD2511BAD510947a91f5c6c79EBD8138C29Fc',
46
+ vaultAddress: '0xb2b23C87a4B6d1b03Ba603F7C3EB9A81fDC0AAC9',
47
+ },
48
+ [LlamaLendVersions.LLCrvusdTbtc]: {
49
+ controllerId: 6,
50
+ controllerAddress: '0xe438658874b0acf4d81c24172e137f0ee00621b8',
51
+ vaultAddress: '0x99Cff9Dc26A44dc2496B4448ebE415b5E894bd30',
52
+ },
53
+ [LlamaLendVersions.LLWethCrvusd]: {
54
+ controllerId: 1,
55
+ controllerAddress: '0xaade9230aa9161880e13a38c83400d3d1995267b',
56
+ vaultAddress: '0x5AE28c9197a4a6570216fC7e53E7e0221D7A0FEF',
57
+ },
58
+ [LlamaLendVersions.LLCrvusdWeth]: {
59
+ controllerId: 5,
60
+ controllerAddress: '0xa5d9137d2a1ee912469d911a8e74b6c77503bac8',
61
+ vaultAddress: '0x46196C004de85c7a75C8b1bB9d54Afb0f8654A45',
62
+ },
63
+ [LlamaLendVersions.LLWethCrvusd2]: {
64
+ controllerId: 12,
65
+ controllerAddress: '0x23F5a668A9590130940eF55964ead9787976f2CC',
66
+ vaultAddress: '0x8fb1c7AEDcbBc1222325C39dd5c1D2d23420CAe3',
67
+ },
68
+ [LlamaLendVersions.LLWbtcCrvusd]: {
69
+ controllerId: 9,
70
+ controllerAddress: '0xcaD85b7fe52B1939DCEebEe9bCf0b2a5Aa0cE617',
71
+ vaultAddress: '0xccd37EB6374Ae5b1f0b85ac97eFf14770e0D0063',
72
+ },
73
+ // temp disabled
74
+ // [LlamaLendVersions.LLPufethCrvusd]: {
75
+ // controllerId: 10,
76
+ // controllerAddress: '0x4f87158350c296955966059C50263F711cE0817C',
77
+ // vaultAddress: '0xff467c6E827ebbEa64DA1ab0425021E6c89Fbe0d',
78
+ // },
79
+ [LlamaLendVersions.LLUsdeCrvusd]: {
80
+ controllerId: 14,
81
+ controllerAddress: '0x74f88Baa966407b50c10B393bBD789639EFfE78B',
82
+ vaultAddress: '0xc687141c18F20f7Ba405e45328825579fDdD3195',
83
+ },
84
+ };
85
+
86
+ const arbAddresses: Record<LLVersionsArb, LLAddresses> = {
87
+ [LlamaLendVersions.LLArbCrvusd]: {
88
+ controllerId: 5,
89
+ controllerAddress: '0x76709bc0da299ab0234eec51385e900922ae98f5',
90
+ vaultAddress: '0x65592b1F12c07D434e95c7BF87F4f2f464e950e4',
91
+ },
92
+ [LlamaLendVersions.LLArbCrvusd2]: {
93
+ controllerId: 11,
94
+ controllerAddress: '0xeCF99dE21c31eC75b4Fb97e980F9d084b1d8Da8f',
95
+ vaultAddress: '0xa6C2E6A83D594e862cDB349396856f7FFE9a979B',
96
+ },
97
+ [LlamaLendVersions.LLFxnCrvusd]: {
98
+ controllerId: 7,
99
+ controllerAddress: '0x7adcc491f0b7f9bc12837b8f5edf0e580d176f1f',
100
+ vaultAddress: '0xebA51f6472F4cE1C47668c2474ab8f84B32E1ae7',
101
+ },
102
+ [LlamaLendVersions.LLWbtcCrvusd]: {
103
+ controllerId: 1,
104
+ controllerAddress: '0x013be86e1cdb0f384daf24bd974fe75edffe6b68',
105
+ vaultAddress: '0x60D38b12d22BF423F28082bf396ff8F28cC506B1',
106
+ },
107
+ [LlamaLendVersions.LLWbtcCrvusd2]: {
108
+ controllerId: 10,
109
+ controllerAddress: '0xb9aDddCf4e01c2f64F8F2CD9a050DC35585ea053',
110
+ vaultAddress: '0xe07f1151887b8FDC6800f737252f6b91b46b5865',
111
+ },
112
+ [LlamaLendVersions.LLCrvCrvusd]: {
113
+ controllerId: 4,
114
+ controllerAddress: '0x88f88e937db48bbfe8e3091718576430704e47ab',
115
+ vaultAddress: '0xeEaF2ccB73A01deb38Eca2947d963D64CfDe6A32',
116
+ },
117
+ [LlamaLendVersions.LLWethCrvusd]: {
118
+ controllerId: 0,
119
+ controllerAddress: '0xb5b6f0e69c283aa32425fa18220e64283b51f0a4',
120
+ vaultAddress: '0x49014A8eB1585cBee6A7a9A50C3b81017BF6Cc4d',
121
+ },
122
+ [LlamaLendVersions.LLWethCrvusd2]: {
123
+ controllerId: 9,
124
+ controllerAddress: '0xB5c6082d3307088C98dA8D79991501E113e6365d',
125
+ vaultAddress: '0xd3cA9BEc3e681b0f578FD87f20eBCf2B7e0bb739',
126
+ },
127
+ };
128
+
129
+ export const getLLamaLendAddresses = (networkId: NetworkNumber, version: LlamaLendVersionsType) => {
130
+ let addresses: LLAddresses | undefined;
131
+ if (networkId === NetworkNumber.Eth) {
132
+ addresses = ethAddresses[version as any as LLVersionsEth];
133
+ } else if (networkId === NetworkNumber.Arb) {
134
+ addresses = arbAddresses[version as any as LLVersionsArb];
135
+ } else {
136
+ throw new Error(`Invalid LlamaLend network ${networkId} for version ${version}`);
137
+ }
138
+ return addresses;
139
+ };
140
+
141
+