@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.
- package/.mocharc.json +4 -4
- package/.nvmrc +1 -1
- package/README.md +64 -64
- package/cjs/aaveV3/index.js +1 -1
- package/cjs/contracts.d.ts +100947 -134653
- package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
- package/cjs/markets/aave/marketAssets.js +1 -1
- package/cjs/services/viem.d.ts +2 -3254
- package/cjs/staking/staking.d.ts +1 -1
- package/cjs/staking/staking.js +17 -14
- package/esm/aaveV3/index.js +1 -1
- package/esm/contracts.d.ts +100947 -134653
- package/esm/helpers/morphoBlueHelpers/index.js +66 -66
- package/esm/markets/aave/marketAssets.js +1 -1
- package/esm/services/viem.d.ts +2 -3254
- package/esm/staking/staking.d.ts +1 -1
- package/esm/staking/staking.js +17 -14
- package/package.json +47 -47
- package/src/aaveV2/index.ts +240 -240
- package/src/aaveV3/index.ts +614 -614
- package/src/aaveV3/merit.ts +97 -97
- package/src/aaveV3/merkl.ts +74 -74
- package/src/claiming/aaveV3.ts +154 -154
- package/src/claiming/compV3.ts +22 -22
- package/src/claiming/index.ts +12 -12
- package/src/claiming/king.ts +66 -66
- package/src/claiming/morphoBlue.ts +118 -118
- package/src/claiming/spark.ts +225 -225
- package/src/compoundV2/index.ts +244 -244
- package/src/compoundV3/index.ts +274 -274
- package/src/config/contracts.ts +1251 -1251
- package/src/constants/index.ts +10 -10
- package/src/contracts.ts +120 -120
- package/src/curveUsd/index.ts +254 -254
- package/src/eulerV2/index.ts +324 -324
- package/src/exchange/index.ts +25 -25
- package/src/fluid/index.ts +1668 -1668
- package/src/helpers/aaveHelpers/index.ts +187 -187
- package/src/helpers/compoundHelpers/index.ts +283 -283
- package/src/helpers/curveUsdHelpers/index.ts +40 -40
- package/src/helpers/eulerHelpers/index.ts +222 -222
- package/src/helpers/fluidHelpers/index.ts +326 -326
- package/src/helpers/index.ts +10 -10
- package/src/helpers/liquityV2Helpers/index.ts +82 -82
- package/src/helpers/llamaLendHelpers/index.ts +53 -53
- package/src/helpers/makerHelpers/index.ts +52 -52
- package/src/helpers/morphoBlueHelpers/index.ts +396 -396
- package/src/helpers/sparkHelpers/index.ts +158 -158
- package/src/index.ts +47 -47
- package/src/liquity/index.ts +159 -159
- package/src/liquityV2/index.ts +657 -657
- package/src/llamaLend/index.ts +305 -305
- package/src/maker/index.ts +223 -223
- package/src/markets/aave/index.ts +116 -116
- package/src/markets/aave/marketAssets.ts +54 -54
- package/src/markets/compound/index.ts +238 -238
- package/src/markets/compound/marketsAssets.ts +97 -97
- package/src/markets/curveUsd/index.ts +69 -69
- package/src/markets/euler/index.ts +26 -26
- package/src/markets/fluid/index.ts +2460 -2460
- package/src/markets/index.ts +25 -25
- package/src/markets/liquityV2/index.ts +102 -102
- package/src/markets/llamaLend/contractAddresses.ts +141 -141
- package/src/markets/llamaLend/index.ts +235 -235
- package/src/markets/morphoBlue/index.ts +895 -895
- package/src/markets/spark/index.ts +29 -29
- package/src/markets/spark/marketAssets.ts +12 -12
- package/src/moneymarket/moneymarketCommonService.ts +80 -80
- package/src/morphoBlue/index.ts +274 -274
- package/src/portfolio/index.ts +570 -570
- package/src/services/priceService.ts +159 -159
- package/src/services/utils.ts +115 -115
- package/src/services/viem.ts +34 -34
- package/src/setup.ts +8 -8
- package/src/spark/index.ts +456 -456
- package/src/staking/eligibility.ts +53 -53
- package/src/staking/index.ts +1 -1
- package/src/staking/staking.ts +177 -172
- package/src/types/aave.ts +189 -189
- package/src/types/claiming.ts +109 -109
- package/src/types/common.ts +107 -107
- package/src/types/compound.ts +136 -136
- package/src/types/curveUsd.ts +123 -123
- package/src/types/euler.ts +175 -175
- package/src/types/fluid.ts +452 -452
- package/src/types/index.ts +13 -13
- package/src/types/liquity.ts +30 -30
- package/src/types/liquityV2.ts +126 -126
- package/src/types/llamaLend.ts +159 -159
- package/src/types/maker.ts +63 -63
- package/src/types/merit.ts +1 -1
- package/src/types/merkl.ts +70 -70
- package/src/types/morphoBlue.ts +194 -194
- package/src/types/portfolio.ts +60 -60
- package/src/types/spark.ts +133 -133
- package/src/umbrella/index.ts +69 -69
- package/src/umbrella/umbrellaUtils.ts +29 -29
package/src/markets/index.ts
CHANGED
|
@@ -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
|
+
|