@defisaver/positions-sdk 0.0.182 → 0.0.183-dev-allocator

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 (85) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +69 -69
  4. package/cjs/aaveV3/index.js +3 -3
  5. package/cjs/config/contracts.d.ts +3 -0
  6. package/cjs/config/contracts.js +3 -0
  7. package/cjs/helpers/aaveHelpers/index.js +0 -1
  8. package/cjs/helpers/morphoBlueHelpers/index.d.ts +5 -0
  9. package/cjs/helpers/morphoBlueHelpers/index.js +127 -1
  10. package/cjs/staking/staking.d.ts +2 -3
  11. package/cjs/staking/staking.js +2 -2
  12. package/cjs/types/morphoBlue.d.ts +25 -0
  13. package/esm/aaveV3/index.js +4 -4
  14. package/esm/config/contracts.d.ts +3 -0
  15. package/esm/config/contracts.js +3 -0
  16. package/esm/helpers/aaveHelpers/index.js +0 -1
  17. package/esm/helpers/morphoBlueHelpers/index.d.ts +5 -0
  18. package/esm/helpers/morphoBlueHelpers/index.js +124 -0
  19. package/esm/staking/staking.d.ts +2 -3
  20. package/esm/staking/staking.js +2 -2
  21. package/esm/types/morphoBlue.d.ts +25 -0
  22. package/package.json +49 -49
  23. package/src/aaveV2/index.ts +227 -227
  24. package/src/aaveV3/index.ts +624 -628
  25. package/src/assets/index.ts +60 -60
  26. package/src/chickenBonds/index.ts +123 -123
  27. package/src/compoundV2/index.ts +220 -220
  28. package/src/compoundV3/index.ts +282 -282
  29. package/src/config/contracts.js +1043 -1040
  30. package/src/constants/index.ts +6 -6
  31. package/src/contracts.ts +130 -130
  32. package/src/curveUsd/index.ts +229 -229
  33. package/src/eulerV2/index.ts +303 -303
  34. package/src/exchange/index.ts +17 -17
  35. package/src/helpers/aaveHelpers/index.ts +198 -199
  36. package/src/helpers/chickenBondsHelpers/index.ts +23 -23
  37. package/src/helpers/compoundHelpers/index.ts +246 -246
  38. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  39. package/src/helpers/eulerHelpers/index.ts +232 -232
  40. package/src/helpers/index.ts +8 -8
  41. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  42. package/src/helpers/makerHelpers/index.ts +94 -94
  43. package/src/helpers/morphoBlueHelpers/index.ts +256 -115
  44. package/src/helpers/sparkHelpers/index.ts +150 -150
  45. package/src/index.ts +48 -48
  46. package/src/liquity/index.ts +116 -116
  47. package/src/llamaLend/index.ts +275 -275
  48. package/src/maker/index.ts +117 -117
  49. package/src/markets/aave/index.ts +152 -152
  50. package/src/markets/aave/marketAssets.ts +46 -46
  51. package/src/markets/compound/index.ts +173 -173
  52. package/src/markets/compound/marketsAssets.ts +64 -64
  53. package/src/markets/curveUsd/index.ts +69 -69
  54. package/src/markets/euler/index.ts +26 -26
  55. package/src/markets/index.ts +23 -23
  56. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  57. package/src/markets/llamaLend/index.ts +235 -235
  58. package/src/markets/morphoBlue/index.ts +809 -809
  59. package/src/markets/spark/index.ts +29 -29
  60. package/src/markets/spark/marketAssets.ts +10 -10
  61. package/src/moneymarket/moneymarketCommonService.ts +80 -80
  62. package/src/morphoAaveV2/index.ts +256 -256
  63. package/src/morphoAaveV3/index.ts +630 -630
  64. package/src/morphoBlue/index.ts +171 -171
  65. package/src/multicall/index.ts +22 -22
  66. package/src/services/dsrService.ts +15 -15
  67. package/src/services/priceService.ts +21 -21
  68. package/src/services/utils.ts +56 -56
  69. package/src/setup.ts +8 -8
  70. package/src/spark/index.ts +461 -461
  71. package/src/staking/staking.ts +220 -222
  72. package/src/types/aave.ts +270 -270
  73. package/src/types/chickenBonds.ts +45 -45
  74. package/src/types/common.ts +84 -84
  75. package/src/types/compound.ts +129 -129
  76. package/src/types/curveUsd.ts +118 -118
  77. package/src/types/euler.ts +171 -171
  78. package/src/types/index.ts +9 -9
  79. package/src/types/liquity.ts +30 -30
  80. package/src/types/llamaLend.ts +155 -155
  81. package/src/types/maker.ts +50 -50
  82. package/src/types/morphoBlue.ts +177 -154
  83. package/src/types/spark.ts +131 -131
  84. package/.vscode/launch.json +0 -17
  85. package/.vscode/settings.json +0 -37
@@ -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
-
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
+
24
24
  export { EulerV2Markets } from './euler';
@@ -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
+