@defisaver/positions-sdk 2.1.11 → 2.1.13

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 (97) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +64 -64
  4. package/cjs/aaveV3/index.js +1 -1
  5. package/cjs/contracts.d.ts +100947 -134653
  6. package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
  7. package/cjs/markets/aave/marketAssets.js +1 -1
  8. package/cjs/services/viem.d.ts +2 -3254
  9. package/cjs/staking/staking.d.ts +1 -1
  10. package/cjs/staking/staking.js +17 -14
  11. package/esm/aaveV3/index.js +1 -1
  12. package/esm/contracts.d.ts +100947 -134653
  13. package/esm/helpers/morphoBlueHelpers/index.js +66 -66
  14. package/esm/markets/aave/marketAssets.js +1 -1
  15. package/esm/services/viem.d.ts +2 -3254
  16. package/esm/staking/staking.d.ts +1 -1
  17. package/esm/staking/staking.js +17 -14
  18. package/package.json +47 -47
  19. package/src/aaveV2/index.ts +240 -240
  20. package/src/aaveV3/index.ts +614 -614
  21. package/src/aaveV3/merit.ts +97 -97
  22. package/src/aaveV3/merkl.ts +74 -74
  23. package/src/claiming/aaveV3.ts +154 -154
  24. package/src/claiming/compV3.ts +22 -22
  25. package/src/claiming/index.ts +12 -12
  26. package/src/claiming/king.ts +66 -66
  27. package/src/claiming/morphoBlue.ts +118 -118
  28. package/src/claiming/spark.ts +225 -225
  29. package/src/compoundV2/index.ts +244 -244
  30. package/src/compoundV3/index.ts +274 -274
  31. package/src/config/contracts.ts +1251 -1251
  32. package/src/constants/index.ts +10 -10
  33. package/src/contracts.ts +120 -120
  34. package/src/curveUsd/index.ts +254 -254
  35. package/src/eulerV2/index.ts +324 -324
  36. package/src/exchange/index.ts +25 -25
  37. package/src/fluid/index.ts +1668 -1668
  38. package/src/helpers/aaveHelpers/index.ts +187 -187
  39. package/src/helpers/compoundHelpers/index.ts +283 -283
  40. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  41. package/src/helpers/eulerHelpers/index.ts +222 -222
  42. package/src/helpers/fluidHelpers/index.ts +326 -326
  43. package/src/helpers/index.ts +10 -10
  44. package/src/helpers/liquityV2Helpers/index.ts +82 -82
  45. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  46. package/src/helpers/makerHelpers/index.ts +52 -52
  47. package/src/helpers/morphoBlueHelpers/index.ts +396 -396
  48. package/src/helpers/sparkHelpers/index.ts +158 -158
  49. package/src/index.ts +47 -47
  50. package/src/liquity/index.ts +159 -159
  51. package/src/liquityV2/index.ts +657 -657
  52. package/src/llamaLend/index.ts +305 -305
  53. package/src/maker/index.ts +223 -223
  54. package/src/markets/aave/index.ts +116 -116
  55. package/src/markets/aave/marketAssets.ts +54 -54
  56. package/src/markets/compound/index.ts +238 -238
  57. package/src/markets/compound/marketsAssets.ts +97 -97
  58. package/src/markets/curveUsd/index.ts +69 -69
  59. package/src/markets/euler/index.ts +26 -26
  60. package/src/markets/fluid/index.ts +2460 -2460
  61. package/src/markets/index.ts +25 -25
  62. package/src/markets/liquityV2/index.ts +102 -102
  63. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  64. package/src/markets/llamaLend/index.ts +235 -235
  65. package/src/markets/morphoBlue/index.ts +895 -895
  66. package/src/markets/spark/index.ts +29 -29
  67. package/src/markets/spark/marketAssets.ts +12 -12
  68. package/src/moneymarket/moneymarketCommonService.ts +80 -80
  69. package/src/morphoBlue/index.ts +274 -274
  70. package/src/portfolio/index.ts +570 -570
  71. package/src/services/priceService.ts +159 -159
  72. package/src/services/utils.ts +115 -115
  73. package/src/services/viem.ts +34 -34
  74. package/src/setup.ts +8 -8
  75. package/src/spark/index.ts +456 -456
  76. package/src/staking/eligibility.ts +53 -53
  77. package/src/staking/index.ts +1 -1
  78. package/src/staking/staking.ts +177 -172
  79. package/src/types/aave.ts +189 -189
  80. package/src/types/claiming.ts +109 -109
  81. package/src/types/common.ts +107 -107
  82. package/src/types/compound.ts +136 -136
  83. package/src/types/curveUsd.ts +123 -123
  84. package/src/types/euler.ts +175 -175
  85. package/src/types/fluid.ts +452 -452
  86. package/src/types/index.ts +13 -13
  87. package/src/types/liquity.ts +30 -30
  88. package/src/types/liquityV2.ts +126 -126
  89. package/src/types/llamaLend.ts +159 -159
  90. package/src/types/maker.ts +63 -63
  91. package/src/types/merit.ts +1 -1
  92. package/src/types/merkl.ts +70 -70
  93. package/src/types/morphoBlue.ts +194 -194
  94. package/src/types/portfolio.ts +60 -60
  95. package/src/types/spark.ts +133 -133
  96. package/src/umbrella/index.ts +69 -69
  97. package/src/umbrella/umbrellaUtils.ts +29 -29
@@ -1,25 +1,25 @@
1
- export {
2
- AaveMarkets,
3
- aaveV1AssetsDefaultMarket,
4
- aaveV2AssetsDefaultMarket,
5
- aaveV3AssetsDefaultMarket,
6
- getAaveV3MarketByMarketAddress,
7
- } from './aave';
8
- export {
9
- CompoundMarkets,
10
- compoundV2CollateralAssets,
11
- v3ETHCollAssets,
12
- v3USDbCCollAssets,
13
- v3USDCCollAssets,
14
- v3USDCeCollAssets,
15
- v3USDTCollAssets,
16
- } from './compound';
17
- export { SparkMarkets } from './spark';
18
- export { CrvUsdMarkets } from './curveUsd';
19
- export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
20
- export { LlamaLendMarkets } from './llamaLend';
21
- export { LiquityV2Markets, findLiquityV2MarketByAddress } from './liquityV2';
22
- export { EulerV2Markets } from './euler';
23
- export {
24
- FluidMarkets, getFluidVersionsDataForNetwork, getFluidMarketInfoById, getFTokenAddress, getFluidMarketInfoByAddress,
25
- } from './fluid';
1
+ export {
2
+ AaveMarkets,
3
+ aaveV1AssetsDefaultMarket,
4
+ aaveV2AssetsDefaultMarket,
5
+ aaveV3AssetsDefaultMarket,
6
+ getAaveV3MarketByMarketAddress,
7
+ } from './aave';
8
+ export {
9
+ CompoundMarkets,
10
+ compoundV2CollateralAssets,
11
+ v3ETHCollAssets,
12
+ v3USDbCCollAssets,
13
+ v3USDCCollAssets,
14
+ v3USDCeCollAssets,
15
+ v3USDTCollAssets,
16
+ } from './compound';
17
+ export { SparkMarkets } from './spark';
18
+ export { CrvUsdMarkets } from './curveUsd';
19
+ export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
20
+ export { LlamaLendMarkets } from './llamaLend';
21
+ export { LiquityV2Markets, findLiquityV2MarketByAddress } from './liquityV2';
22
+ export { EulerV2Markets } from './euler';
23
+ export {
24
+ FluidMarkets, getFluidVersionsDataForNetwork, getFluidMarketInfoById, getFTokenAddress, getFluidMarketInfoByAddress,
25
+ } from './fluid';
@@ -1,103 +1,103 @@
1
- import { compareAddresses } from '../../services/utils';
2
- import { EthAddress, NetworkNumber } from '../../types/common';
3
- import { LiquityV2MarketInfo, LiquityV2Versions } from '../../types/liquityV2';
4
-
5
- export const LIQUITY_V2_ETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
6
- chainIds: [NetworkNumber.Eth],
7
- label: 'Liquity V2 ETH',
8
- shortLabel: 'ETH',
9
- value: LiquityV2Versions.LiquityV2Eth,
10
- url: 'eth',
11
- debtToken: 'BOLD',
12
- collateralToken: 'ETH',
13
- marketAddress: '0x20f7c9ad66983f6523a0881d0f82406541417526',
14
- protocolName: 'liquity-v2',
15
- isLegacy: false,
16
- });
17
-
18
- export const LIQUITY_V2_WSTETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
19
- chainIds: [NetworkNumber.Eth],
20
- label: 'Liquity V2 wstETH',
21
- shortLabel: 'wstETH',
22
- value: LiquityV2Versions.LiquityV2WstEth,
23
- url: 'wsteth',
24
- debtToken: 'BOLD',
25
- collateralToken: 'wstETH',
26
- marketAddress: '0x8d733f7ea7c23cbea7c613b6ebd845d46d3aac54',
27
- protocolName: 'liquity-v2',
28
- isLegacy: false,
29
- });
30
-
31
- export const LIQUITY_V2_RETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
32
- chainIds: [NetworkNumber.Eth],
33
- label: 'Liquity V2 rETH',
34
- shortLabel: 'rETH',
35
- value: LiquityV2Versions.LiquityV2REth,
36
- url: 'reth',
37
- debtToken: 'BOLD',
38
- collateralToken: 'rETH',
39
- marketAddress: '0x6106046f031a22713697e04c08b330ddaf3e8789',
40
- protocolName: 'liquity-v2',
41
- isLegacy: false,
42
- });
43
-
44
- // Legacy markets
45
-
46
- export const LIQUITY_V2_ETH_LEGACY_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
47
- chainIds: [NetworkNumber.Eth],
48
- label: 'Liquity V2 ETH Legacy',
49
- shortLabel: 'ETH Legacy',
50
- value: LiquityV2Versions.LiquityV2EthLegacy,
51
- url: 'eth-legacy',
52
- debtToken: 'BOLD Legacy',
53
- collateralToken: 'ETH',
54
- marketAddress: '0x38e1f07b954cfab7239d7acab49997fbaad96476',
55
- protocolName: 'liquity-v2',
56
- isLegacy: true,
57
- });
58
-
59
- export const LIQUITY_V2_WSTETH_LEGACY_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
60
- chainIds: [NetworkNumber.Eth],
61
- label: 'Liquity V2 wstETH Legacy',
62
- shortLabel: 'wstETH Legacy',
63
- value: LiquityV2Versions.LiquityV2WstEthLegacy,
64
- url: 'wsteth-legacy',
65
- debtToken: 'BOLD Legacy',
66
- collateralToken: 'wstETH',
67
- marketAddress: '0x2d4ef56cb626e9a4c90c156018ba9ce269573c61',
68
- protocolName: 'liquity-v2',
69
- isLegacy: true,
70
- });
71
-
72
- export const LIQUITY_V2_RETH_LEGACY_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
73
- chainIds: [NetworkNumber.Eth],
74
- label: 'Liquity V2 rETH Legacy',
75
- shortLabel: 'rETH Legacy',
76
- value: LiquityV2Versions.LiquityV2REthLegacy,
77
- url: 'reth-legacy',
78
- debtToken: 'BOLD Legacy',
79
- collateralToken: 'rETH',
80
- marketAddress: '0x3b48169809dd827f22c9e0f2d71ff12ea7a94a2f',
81
- protocolName: 'liquity-v2',
82
- isLegacy: true,
83
- });
84
-
85
- export const LiquityV2Markets = (networkId: NetworkNumber) => ({
86
- [LiquityV2Versions.LiquityV2Eth]: LIQUITY_V2_ETH_MARKET(networkId),
87
- [LiquityV2Versions.LiquityV2WstEth]: LIQUITY_V2_WSTETH_MARKET(networkId),
88
- [LiquityV2Versions.LiquityV2REth]: LIQUITY_V2_RETH_MARKET(networkId),
89
- // Legacy
90
- [LiquityV2Versions.LiquityV2EthLegacy]: LIQUITY_V2_ETH_LEGACY_MARKET(networkId),
91
- [LiquityV2Versions.LiquityV2WstEthLegacy]: LIQUITY_V2_WSTETH_LEGACY_MARKET(networkId),
92
- [LiquityV2Versions.LiquityV2REthLegacy]: LIQUITY_V2_RETH_LEGACY_MARKET(networkId),
93
- }) as const;
94
-
95
- export const findLiquityV2MarketByAddress = (marketAddress: EthAddress) => {
96
- const markets = LiquityV2Markets(NetworkNumber.Eth);
97
- for (const market of Object.values(markets)) {
98
- if (compareAddresses(market.marketAddress, marketAddress)) {
99
- return market;
100
- }
101
- }
102
- return null;
1
+ import { compareAddresses } from '../../services/utils';
2
+ import { EthAddress, NetworkNumber } from '../../types/common';
3
+ import { LiquityV2MarketInfo, LiquityV2Versions } from '../../types/liquityV2';
4
+
5
+ export const LIQUITY_V2_ETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
6
+ chainIds: [NetworkNumber.Eth],
7
+ label: 'Liquity V2 ETH',
8
+ shortLabel: 'ETH',
9
+ value: LiquityV2Versions.LiquityV2Eth,
10
+ url: 'eth',
11
+ debtToken: 'BOLD',
12
+ collateralToken: 'ETH',
13
+ marketAddress: '0x20f7c9ad66983f6523a0881d0f82406541417526',
14
+ protocolName: 'liquity-v2',
15
+ isLegacy: false,
16
+ });
17
+
18
+ export const LIQUITY_V2_WSTETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
19
+ chainIds: [NetworkNumber.Eth],
20
+ label: 'Liquity V2 wstETH',
21
+ shortLabel: 'wstETH',
22
+ value: LiquityV2Versions.LiquityV2WstEth,
23
+ url: 'wsteth',
24
+ debtToken: 'BOLD',
25
+ collateralToken: 'wstETH',
26
+ marketAddress: '0x8d733f7ea7c23cbea7c613b6ebd845d46d3aac54',
27
+ protocolName: 'liquity-v2',
28
+ isLegacy: false,
29
+ });
30
+
31
+ export const LIQUITY_V2_RETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
32
+ chainIds: [NetworkNumber.Eth],
33
+ label: 'Liquity V2 rETH',
34
+ shortLabel: 'rETH',
35
+ value: LiquityV2Versions.LiquityV2REth,
36
+ url: 'reth',
37
+ debtToken: 'BOLD',
38
+ collateralToken: 'rETH',
39
+ marketAddress: '0x6106046f031a22713697e04c08b330ddaf3e8789',
40
+ protocolName: 'liquity-v2',
41
+ isLegacy: false,
42
+ });
43
+
44
+ // Legacy markets
45
+
46
+ export const LIQUITY_V2_ETH_LEGACY_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
47
+ chainIds: [NetworkNumber.Eth],
48
+ label: 'Liquity V2 ETH Legacy',
49
+ shortLabel: 'ETH Legacy',
50
+ value: LiquityV2Versions.LiquityV2EthLegacy,
51
+ url: 'eth-legacy',
52
+ debtToken: 'BOLD Legacy',
53
+ collateralToken: 'ETH',
54
+ marketAddress: '0x38e1f07b954cfab7239d7acab49997fbaad96476',
55
+ protocolName: 'liquity-v2',
56
+ isLegacy: true,
57
+ });
58
+
59
+ export const LIQUITY_V2_WSTETH_LEGACY_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
60
+ chainIds: [NetworkNumber.Eth],
61
+ label: 'Liquity V2 wstETH Legacy',
62
+ shortLabel: 'wstETH Legacy',
63
+ value: LiquityV2Versions.LiquityV2WstEthLegacy,
64
+ url: 'wsteth-legacy',
65
+ debtToken: 'BOLD Legacy',
66
+ collateralToken: 'wstETH',
67
+ marketAddress: '0x2d4ef56cb626e9a4c90c156018ba9ce269573c61',
68
+ protocolName: 'liquity-v2',
69
+ isLegacy: true,
70
+ });
71
+
72
+ export const LIQUITY_V2_RETH_LEGACY_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
73
+ chainIds: [NetworkNumber.Eth],
74
+ label: 'Liquity V2 rETH Legacy',
75
+ shortLabel: 'rETH Legacy',
76
+ value: LiquityV2Versions.LiquityV2REthLegacy,
77
+ url: 'reth-legacy',
78
+ debtToken: 'BOLD Legacy',
79
+ collateralToken: 'rETH',
80
+ marketAddress: '0x3b48169809dd827f22c9e0f2d71ff12ea7a94a2f',
81
+ protocolName: 'liquity-v2',
82
+ isLegacy: true,
83
+ });
84
+
85
+ export const LiquityV2Markets = (networkId: NetworkNumber) => ({
86
+ [LiquityV2Versions.LiquityV2Eth]: LIQUITY_V2_ETH_MARKET(networkId),
87
+ [LiquityV2Versions.LiquityV2WstEth]: LIQUITY_V2_WSTETH_MARKET(networkId),
88
+ [LiquityV2Versions.LiquityV2REth]: LIQUITY_V2_RETH_MARKET(networkId),
89
+ // Legacy
90
+ [LiquityV2Versions.LiquityV2EthLegacy]: LIQUITY_V2_ETH_LEGACY_MARKET(networkId),
91
+ [LiquityV2Versions.LiquityV2WstEthLegacy]: LIQUITY_V2_WSTETH_LEGACY_MARKET(networkId),
92
+ [LiquityV2Versions.LiquityV2REthLegacy]: LIQUITY_V2_RETH_LEGACY_MARKET(networkId),
93
+ }) as const;
94
+
95
+ export const findLiquityV2MarketByAddress = (marketAddress: EthAddress) => {
96
+ const markets = LiquityV2Markets(NetworkNumber.Eth);
97
+ for (const market of Object.values(markets)) {
98
+ if (compareAddresses(market.marketAddress, marketAddress)) {
99
+ return market;
100
+ }
101
+ }
102
+ return null;
103
103
  };
@@ -1,141 +1,141 @@
1
- import {
2
- LlamaLendVersions, LlamaLendVersionsType, LLVersionsArb, LLVersionsEth,
3
- } from '../../types';
4
- import { EthAddress, NetworkNumber } from '../../types/common';
5
-
6
- type LLAddresses = {
7
- controllerAddress: EthAddress,
8
- vaultAddress: EthAddress,
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 { EthAddress, NetworkNumber } from '../../types/common';
5
+
6
+ type LLAddresses = {
7
+ controllerAddress: EthAddress,
8
+ vaultAddress: EthAddress,
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
+