@defisaver/positions-sdk 2.1.135 → 2.1.137-audit-dev
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/cjs/config/contracts.d.ts +0 -938
- package/cjs/config/contracts.js +1 -8
- package/cjs/contracts.d.ts +3823 -27499
- package/cjs/contracts.js +2 -3
- package/cjs/helpers/index.d.ts +0 -1
- package/cjs/helpers/index.js +1 -2
- package/cjs/index.d.ts +1 -2
- package/cjs/index.js +1 -3
- package/cjs/markets/index.d.ts +0 -1
- package/cjs/markets/index.js +1 -3
- package/cjs/markets/morphoBlue/index.d.ts +6 -0
- package/cjs/markets/morphoBlue/index.js +53 -2
- package/cjs/portfolio/discovery.d.ts +1 -1
- package/cjs/portfolio/discovery.js +1 -1
- package/cjs/portfolio/index.js +0 -32
- package/cjs/savings/morphoVaults/index.js +19 -2
- package/cjs/services/viem.d.ts +918 -2679
- package/cjs/staking/staking.js +1 -2
- package/cjs/types/index.d.ts +0 -1
- package/cjs/types/index.js +0 -1
- package/cjs/types/morphoBlue.d.ts +3 -0
- package/cjs/types/morphoBlue.js +3 -0
- package/cjs/types/portfolio.d.ts +0 -4
- package/esm/config/contracts.d.ts +0 -938
- package/esm/config/contracts.js +0 -6
- package/esm/contracts.d.ts +3823 -27499
- package/esm/contracts.js +0 -1
- package/esm/helpers/index.d.ts +0 -1
- package/esm/helpers/index.js +0 -1
- package/esm/index.d.ts +1 -2
- package/esm/index.js +1 -2
- package/esm/markets/index.d.ts +0 -1
- package/esm/markets/index.js +0 -1
- package/esm/markets/morphoBlue/index.d.ts +6 -0
- package/esm/markets/morphoBlue/index.js +48 -0
- package/esm/portfolio/discovery.d.ts +1 -1
- package/esm/portfolio/discovery.js +1 -1
- package/esm/portfolio/index.js +1 -33
- package/esm/savings/morphoVaults/index.js +19 -2
- package/esm/services/viem.d.ts +916 -2667
- package/esm/staking/staking.js +1 -2
- package/esm/types/index.d.ts +0 -1
- package/esm/types/index.js +0 -1
- package/esm/types/morphoBlue.d.ts +3 -0
- package/esm/types/morphoBlue.js +3 -0
- package/esm/types/portfolio.d.ts +0 -4
- package/package.json +9 -2
- package/src/config/contracts.ts +0 -6
- package/src/contracts.ts +2 -3
- package/src/helpers/index.ts +0 -1
- package/src/index.ts +0 -2
- package/src/markets/index.ts +0 -1
- package/src/markets/morphoBlue/index.ts +49 -1
- package/src/portfolio/discovery.ts +1 -1
- package/src/portfolio/index.ts +0 -33
- package/src/savings/morphoVaults/index.ts +18 -2
- package/src/staking/staking.ts +1 -2
- package/src/types/index.ts +0 -1
- package/src/types/morphoBlue.ts +3 -0
- package/src/types/portfolio.ts +0 -4
- package/cjs/eulerV2/index.d.ts +0 -47
- package/cjs/eulerV2/index.js +0 -225
- package/cjs/helpers/eulerHelpers/index.d.ts +0 -22
- package/cjs/helpers/eulerHelpers/index.js +0 -231
- package/cjs/markets/euler/index.d.ts +0 -8
- package/cjs/markets/euler/index.js +0 -30
- package/cjs/types/euler.d.ts +0 -153
- package/cjs/types/euler.js +0 -14
- package/esm/eulerV2/index.d.ts +0 -47
- package/esm/eulerV2/index.js +0 -215
- package/esm/helpers/eulerHelpers/index.d.ts +0 -22
- package/esm/helpers/eulerHelpers/index.js +0 -218
- package/esm/markets/euler/index.d.ts +0 -8
- package/esm/markets/euler/index.js +0 -24
- package/esm/types/euler.d.ts +0 -153
- package/esm/types/euler.js +0 -11
- package/src/eulerV2/index.ts +0 -331
- package/src/helpers/eulerHelpers/index.ts +0 -232
- package/src/markets/euler/index.ts +0 -27
- package/src/types/euler.ts +0 -178
package/esm/contracts.js
CHANGED
|
@@ -106,7 +106,6 @@ export const WstETHPriceFeedContractViem = createViemContractFromConfigFunc('Wst
|
|
|
106
106
|
export const CompV3ViewContractViem = createViemContractFromConfigFunc('CompV3View');
|
|
107
107
|
export const SparkViewContractViem = createViemContractFromConfigFunc('SparkView');
|
|
108
108
|
export const SparkIncentiveDataProviderContractViem = createViemContractFromConfigFunc('SparkIncentiveDataProvider');
|
|
109
|
-
export const EulerV2ViewContractViem = createViemContractFromConfigFunc('EulerV2View');
|
|
110
109
|
export const CrvUSDViewContractViem = createViemContractFromConfigFunc('crvUSDView');
|
|
111
110
|
export const CrvUSDFactoryContractViem = createViemContractFromConfigFunc('crvUSDFactory');
|
|
112
111
|
export const LlamaLendViewContractViem = createViemContractFromConfigFunc('LlamaLendView');
|
package/esm/helpers/index.d.ts
CHANGED
|
@@ -6,6 +6,5 @@ export * as makerHelpers from './makerHelpers';
|
|
|
6
6
|
export * as morphoBlueHelpers from './morphoBlueHelpers';
|
|
7
7
|
export * as llamaLendHelpers from './llamaLendHelpers';
|
|
8
8
|
export * as liquityV2Helpers from './liquityV2Helpers';
|
|
9
|
-
export * as eulerV2Helpers from './eulerHelpers';
|
|
10
9
|
export * as fluidHelpers from './fluidHelpers';
|
|
11
10
|
export * as aaveV4Helpers from './aaveV4Helpers';
|
package/esm/helpers/index.js
CHANGED
|
@@ -6,6 +6,5 @@ export * as makerHelpers from './makerHelpers';
|
|
|
6
6
|
export * as morphoBlueHelpers from './morphoBlueHelpers';
|
|
7
7
|
export * as llamaLendHelpers from './llamaLendHelpers';
|
|
8
8
|
export * as liquityV2Helpers from './liquityV2Helpers';
|
|
9
|
-
export * as eulerV2Helpers from './eulerHelpers';
|
|
10
9
|
export * as fluidHelpers from './fluidHelpers';
|
|
11
10
|
export * as aaveV4Helpers from './aaveV4Helpers';
|
package/esm/index.d.ts
CHANGED
|
@@ -17,9 +17,8 @@ import * as helpers from './helpers';
|
|
|
17
17
|
import * as exchange from './exchange';
|
|
18
18
|
import * as morphoBlue from './morphoBlue';
|
|
19
19
|
import * as llamaLend from './llamaLend';
|
|
20
|
-
import * as eulerV2 from './eulerV2';
|
|
21
20
|
import * as portfolio from './portfolio';
|
|
22
21
|
import * as claiming from './claiming';
|
|
23
22
|
import * as savings from './savings';
|
|
24
23
|
export * from './types';
|
|
25
|
-
export { aaveV2, aaveV3, aaveV4, compoundV2, compoundV3, spark, curveUsd, liquity, liquityV2, maker, exchange, staking, moneymarket, markets, helpers, morphoBlue, llamaLend,
|
|
24
|
+
export { aaveV2, aaveV3, aaveV4, compoundV2, compoundV3, spark, curveUsd, liquity, liquityV2, maker, exchange, staking, moneymarket, markets, helpers, morphoBlue, llamaLend, fluid, portfolio, claiming, savings, };
|
package/esm/index.js
CHANGED
|
@@ -17,9 +17,8 @@ import * as helpers from './helpers';
|
|
|
17
17
|
import * as exchange from './exchange';
|
|
18
18
|
import * as morphoBlue from './morphoBlue';
|
|
19
19
|
import * as llamaLend from './llamaLend';
|
|
20
|
-
import * as eulerV2 from './eulerV2';
|
|
21
20
|
import * as portfolio from './portfolio';
|
|
22
21
|
import * as claiming from './claiming';
|
|
23
22
|
import * as savings from './savings';
|
|
24
23
|
export * from './types';
|
|
25
|
-
export { aaveV2, aaveV3, aaveV4, compoundV2, compoundV3, spark, curveUsd, liquity, liquityV2, maker, exchange, staking, moneymarket, markets, helpers, morphoBlue, llamaLend,
|
|
24
|
+
export { aaveV2, aaveV3, aaveV4, compoundV2, compoundV3, spark, curveUsd, liquity, liquityV2, maker, exchange, staking, moneymarket, markets, helpers, morphoBlue, llamaLend, fluid, portfolio, claiming, savings, };
|
package/esm/markets/index.d.ts
CHANGED
|
@@ -5,6 +5,5 @@ export { CrvUsdMarkets } from './curveUsd';
|
|
|
5
5
|
export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
|
|
6
6
|
export { LlamaLendMarkets } from './llamaLend';
|
|
7
7
|
export { LiquityV2Markets, findLiquityV2MarketByAddress } from './liquityV2';
|
|
8
|
-
export { EulerV2Markets } from './euler';
|
|
9
8
|
export { FluidMarkets, getFluidVersionsDataForNetwork, getFluidMarketInfoById, getFTokenAddress, getFluidMarketInfoByAddress, } from './fluid';
|
|
10
9
|
export { AaveV4Spokes, findAaveV4SpokeByAddress } from './aaveV4';
|
package/esm/markets/index.js
CHANGED
|
@@ -5,6 +5,5 @@ export { CrvUsdMarkets } from './curveUsd';
|
|
|
5
5
|
export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
|
|
6
6
|
export { LlamaLendMarkets } from './llamaLend';
|
|
7
7
|
export { LiquityV2Markets, findLiquityV2MarketByAddress } from './liquityV2';
|
|
8
|
-
export { EulerV2Markets } from './euler';
|
|
9
8
|
export { FluidMarkets, getFluidVersionsDataForNetwork, getFluidMarketInfoById, getFTokenAddress, getFluidMarketInfoByAddress, } from './fluid';
|
|
10
9
|
export { AaveV4Spokes, findAaveV4SpokeByAddress } from './aaveV4';
|
|
@@ -65,6 +65,8 @@ export declare const MORPHO_BLUE_WBTC_USDT_860: (networkId?: NetworkNumber) => M
|
|
|
65
65
|
export declare const MORPHO_BLUE_WSTETH_USDT_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
66
66
|
export declare const MORPHO_BLUE_SYRUPUSDC_RLUSD_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
67
67
|
export declare const MORPHO_BLUE_WEETH_USDC_770: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
68
|
+
export declare const MORPHO_BLUE_WEETH_USDC_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
69
|
+
export declare const MORPHO_BLUE_WEETH_USDC_860_85252BB8: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
68
70
|
export declare const MORPHO_BLUE_ETH_USDC_860_94B823E6: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
69
71
|
export declare const MORPHO_BLUE_USD3_USDC_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
70
72
|
export declare const MORPHO_BLUE_STUSDS_USDC_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
@@ -72,6 +74,7 @@ export declare const MORPHO_BLUE_CBBTC_RLUSD_860: (networkId?: NetworkNumber) =>
|
|
|
72
74
|
export declare const MORPHO_BLUE_WBTC_ETH_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
73
75
|
export declare const MORPHO_BLUE_CBBTC_ETH_915_12DBF493: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
74
76
|
export declare const MORPHO_BLUE_WEETH_USDT_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
77
|
+
export declare const MORPHO_BLUE_WEETH_USDT_860_A6A4C1F1: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
75
78
|
export declare const MORPHO_BLUE_SYRUPUSDT_USDT_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
76
79
|
export declare const MORPHO_BLUE_CBBTC_PYUSD_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
77
80
|
export declare const MORPHO_BLUE_WEETH_USDT_770: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
@@ -185,6 +188,8 @@ export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
|
185
188
|
readonly morphobluewstethusdt_860: MorphoBlueMarketData;
|
|
186
189
|
readonly morphobluesyrupusdcrlusd_915: MorphoBlueMarketData;
|
|
187
190
|
readonly morphoblueweethusdc_770: MorphoBlueMarketData;
|
|
191
|
+
readonly morphoblueweethusdc_860: MorphoBlueMarketData;
|
|
192
|
+
readonly morphoblueweethusdc_860_85252bb8: MorphoBlueMarketData;
|
|
188
193
|
readonly morphoblueethusdc_860_94b823e6: MorphoBlueMarketData;
|
|
189
194
|
readonly morphoblueusd3usdc_915: MorphoBlueMarketData;
|
|
190
195
|
readonly morphobluestusdsusdc_860: MorphoBlueMarketData;
|
|
@@ -192,6 +197,7 @@ export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
|
192
197
|
readonly morphobluewbtceth_915: MorphoBlueMarketData;
|
|
193
198
|
readonly morphobluecbbtceth_915_12dbf493: MorphoBlueMarketData;
|
|
194
199
|
readonly morphoblueweethusdt_860: MorphoBlueMarketData;
|
|
200
|
+
readonly morphoblueweethusdt_860_a6a4c1f1: MorphoBlueMarketData;
|
|
195
201
|
readonly morphobluesyrupusdtusdt_915: MorphoBlueMarketData;
|
|
196
202
|
readonly morphobluecbbtcpyusd_860: MorphoBlueMarketData;
|
|
197
203
|
readonly morphoblueweethusdt_770: MorphoBlueMarketData;
|
|
@@ -991,6 +991,36 @@ export const MORPHO_BLUE_WEETH_USDC_770 = (networkId = NetworkNumber.Eth) => ({
|
|
|
991
991
|
marketId: '0x34377fc4f617c51818e92c79df31ff270c6a91bc94ad32e367fdf59b9f4ac5dd',
|
|
992
992
|
protocolName: 'morpho-blue',
|
|
993
993
|
});
|
|
994
|
+
export const MORPHO_BLUE_WEETH_USDC_860 = (networkId = NetworkNumber.Eth) => ({
|
|
995
|
+
chainIds: [NetworkNumber.Eth],
|
|
996
|
+
label: 'Morpho',
|
|
997
|
+
shortLabel: 'weETH/USDC',
|
|
998
|
+
value: MorphoBlueVersions.MorphoBlueWeEthUSDC_860,
|
|
999
|
+
url: 'weethusdc-61765602',
|
|
1000
|
+
loanToken: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
|
1001
|
+
collateralToken: '0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee',
|
|
1002
|
+
oracle: '0x5635a2F38c5dFd1d8fDB176d9CB5AEFA07bf6A68',
|
|
1003
|
+
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
1004
|
+
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
1005
|
+
lltv: 0.86,
|
|
1006
|
+
marketId: '0x61765602144e91e5ac9f9e98b8584eae308f9951596fd7f5e0f59f21cd2bf664',
|
|
1007
|
+
protocolName: 'morpho-blue',
|
|
1008
|
+
});
|
|
1009
|
+
export const MORPHO_BLUE_WEETH_USDC_860_85252BB8 = (networkId = NetworkNumber.Eth) => ({
|
|
1010
|
+
chainIds: [NetworkNumber.Eth],
|
|
1011
|
+
label: 'Morpho',
|
|
1012
|
+
shortLabel: 'weETH/USDC',
|
|
1013
|
+
value: MorphoBlueVersions.MorphoBlueWeEthUSDC_860_85252bb8,
|
|
1014
|
+
url: 'weethusdc-85252bb8',
|
|
1015
|
+
loanToken: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
|
1016
|
+
collateralToken: '0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee',
|
|
1017
|
+
oracle: '0xa3A7A3ceFee206f9d7Fe00eC3C83324ED4228411',
|
|
1018
|
+
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
1019
|
+
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
1020
|
+
lltv: 0.86,
|
|
1021
|
+
marketId: '0x85252bb8485c99bba46fe149c7dd2aad83672640f53c630890673cf1848ba16e',
|
|
1022
|
+
protocolName: 'morpho-blue',
|
|
1023
|
+
});
|
|
994
1024
|
export const MORPHO_BLUE_ETH_USDC_860_94B823E6 = (networkId = NetworkNumber.Eth) => ({
|
|
995
1025
|
chainIds: [NetworkNumber.Eth],
|
|
996
1026
|
label: 'Morpho',
|
|
@@ -1096,6 +1126,21 @@ export const MORPHO_BLUE_WEETH_USDT_860 = (networkId = NetworkNumber.Eth) => ({
|
|
|
1096
1126
|
marketId: '0xc2c53d2b868e163da71de14a5113cc2743fc9b5ad7488334720ed2846566a8f6',
|
|
1097
1127
|
protocolName: 'morpho-blue',
|
|
1098
1128
|
});
|
|
1129
|
+
export const MORPHO_BLUE_WEETH_USDT_860_A6A4C1F1 = (networkId = NetworkNumber.Eth) => ({
|
|
1130
|
+
chainIds: [NetworkNumber.Eth],
|
|
1131
|
+
label: 'Morpho',
|
|
1132
|
+
shortLabel: 'weETH/USDT',
|
|
1133
|
+
value: MorphoBlueVersions.MorphoBlueWeEthUSDT_860_a6a4c1f1,
|
|
1134
|
+
url: 'weethusdt-a6a4c1f1',
|
|
1135
|
+
loanToken: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
|
|
1136
|
+
collateralToken: '0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee',
|
|
1137
|
+
oracle: '0xa3A7A3ceFee206f9d7Fe00eC3C83324ED4228411',
|
|
1138
|
+
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
1139
|
+
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
1140
|
+
lltv: 0.86,
|
|
1141
|
+
marketId: '0xa6a4c1f15490a1ff39d9de3a366b408dd5647a436d8b179726d3e0562aff1292',
|
|
1142
|
+
protocolName: 'morpho-blue',
|
|
1143
|
+
});
|
|
1099
1144
|
export const MORPHO_BLUE_SYRUPUSDT_USDT_915 = (networkId = NetworkNumber.Eth) => ({
|
|
1100
1145
|
chainIds: [NetworkNumber.Eth],
|
|
1101
1146
|
label: 'Morpho',
|
|
@@ -1856,6 +1901,8 @@ export const MorphoBlueMarkets = (networkId) => ({
|
|
|
1856
1901
|
[MorphoBlueVersions.MorphoBlueWstEthUSDT_860]: MORPHO_BLUE_WSTETH_USDT_860(networkId),
|
|
1857
1902
|
[MorphoBlueVersions.MorphoBlueSyrupUSDCRLUSD_915]: MORPHO_BLUE_SYRUPUSDC_RLUSD_915(networkId),
|
|
1858
1903
|
[MorphoBlueVersions.MorphoBlueWeEthUSDC_770]: MORPHO_BLUE_WEETH_USDC_770(networkId),
|
|
1904
|
+
[MorphoBlueVersions.MorphoBlueWeEthUSDC_860]: MORPHO_BLUE_WEETH_USDC_860(networkId),
|
|
1905
|
+
[MorphoBlueVersions.MorphoBlueWeEthUSDC_860_85252bb8]: MORPHO_BLUE_WEETH_USDC_860_85252BB8(networkId),
|
|
1859
1906
|
[MorphoBlueVersions.MorphoBlueEthUSDC_860_94b823e6]: MORPHO_BLUE_ETH_USDC_860_94B823E6(networkId),
|
|
1860
1907
|
[MorphoBlueVersions.MorphoBlueUSD3USDC_915]: MORPHO_BLUE_USD3_USDC_915(networkId),
|
|
1861
1908
|
[MorphoBlueVersions.MorphoBlueStUSDSUSDC_860]: MORPHO_BLUE_STUSDS_USDC_860(networkId),
|
|
@@ -1863,6 +1910,7 @@ export const MorphoBlueMarkets = (networkId) => ({
|
|
|
1863
1910
|
[MorphoBlueVersions.MorphoBlueWBTCEth_915]: MORPHO_BLUE_WBTC_ETH_915(networkId),
|
|
1864
1911
|
[MorphoBlueVersions.MorphoBlueCbBTCEth_915_12dbf493]: MORPHO_BLUE_CBBTC_ETH_915_12DBF493(networkId),
|
|
1865
1912
|
[MorphoBlueVersions.MorphoBlueWeEthUSDT_860]: MORPHO_BLUE_WEETH_USDT_860(networkId),
|
|
1913
|
+
[MorphoBlueVersions.MorphoBlueWeEthUSDT_860_a6a4c1f1]: MORPHO_BLUE_WEETH_USDT_860_A6A4C1F1(networkId),
|
|
1866
1914
|
[MorphoBlueVersions.MorphoBlueSyrupUSDTUSDT_915]: MORPHO_BLUE_SYRUPUSDT_USDT_915(networkId),
|
|
1867
1915
|
[MorphoBlueVersions.MorphoBlueCbBTCPYUSD_860]: MORPHO_BLUE_CBBTC_PYUSD_860(networkId),
|
|
1868
1916
|
[MorphoBlueVersions.MorphoBlueWeEthUSDT_770]: MORPHO_BLUE_WEETH_USDT_770(networkId),
|
|
@@ -7,7 +7,7 @@ import { EthAddress, EthereumProvider, NetworkNumber } from '../types/common';
|
|
|
7
7
|
* Uses one shared, multicall-batched viem client (same pattern as getPortfolioData) so all
|
|
8
8
|
* per-market reads collapse into a handful of RPC round trips.
|
|
9
9
|
*
|
|
10
|
-
* Not covered: Maker, Liquity, Liquity V2, Fluid
|
|
10
|
+
* Not covered: Maker, Liquity, Liquity V2, Fluid — these already expose cheap,
|
|
11
11
|
* user-scoped discovery entry points elsewhere in the SDK (e.g. _getUserCdps, _getUserPositionsPortfolio).
|
|
12
12
|
*/
|
|
13
13
|
export declare function getUserPositionsExistence(provider: EthereumProvider, network: NetworkNumber, address: EthAddress, isSim?: boolean): Promise<Record<string, boolean>>;
|
|
@@ -28,7 +28,7 @@ const hasAnyBalance = (balances) => ([balances.collateral, balances.debt].some((
|
|
|
28
28
|
* Uses one shared, multicall-batched viem client (same pattern as getPortfolioData) so all
|
|
29
29
|
* per-market reads collapse into a handful of RPC round trips.
|
|
30
30
|
*
|
|
31
|
-
* Not covered: Maker, Liquity, Liquity V2, Fluid
|
|
31
|
+
* Not covered: Maker, Liquity, Liquity V2, Fluid — these already expose cheap,
|
|
32
32
|
* user-scoped discovery entry points elsewhere in the SDK (e.g. _getUserCdps, _getUserPositionsPortfolio).
|
|
33
33
|
*/
|
|
34
34
|
export function getUserPositionsExistence(provider_1, network_1, address_1) {
|
package/esm/portfolio/index.js
CHANGED
|
@@ -9,12 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import Dec from 'decimal.js';
|
|
11
11
|
import { NetworkNumber } from '../types/common';
|
|
12
|
-
import { AaveMarkets, AaveV4Spokes, CompoundMarkets, CrvUsdMarkets,
|
|
12
|
+
import { AaveMarkets, AaveV4Spokes, CompoundMarkets, CrvUsdMarkets, LiquityV2Markets, LlamaLendMarkets, MorphoBlueMarkets, SparkMarkets, } from '../markets';
|
|
13
13
|
import { _getMorphoBlueAccountData, _getMorphoBluePortfolioMarketData, getMorphoEarn } from '../morphoBlue';
|
|
14
14
|
import { AaveVersions, CompoundVersions, } from '../types';
|
|
15
15
|
import { _getCompoundV3AccountData, _getCompoundV3MarketsData } from '../compoundV3';
|
|
16
16
|
import { _getSparkAccountData, _getSparkMarketsData } from '../spark';
|
|
17
|
-
import { _getEulerV2AccountData, _getEulerV2MarketsData } from '../eulerV2';
|
|
18
17
|
import { _getCurveUsdGlobalData, _getCurveUsdUserData } from '../curveUsd';
|
|
19
18
|
import { _getLlamaLendGlobalData, _getLlamaLendUserData } from '../llamaLend';
|
|
20
19
|
import { _getAaveV3AccountData, _getAaveV3MarketData, getStakeAaveData } from '../aaveV3';
|
|
@@ -26,7 +25,6 @@ import { getViemProvider } from '../services/viem';
|
|
|
26
25
|
import { _getLiquityTroveInfo, getLiquityStakingData } from '../liquity';
|
|
27
26
|
import { _getLiquityV2MarketData, getLiquitySAndYBold, getLiquityV2Staking } from '../liquityV2';
|
|
28
27
|
import { _getAllUserEarnPositionsWithFTokens, _getUserPositionsPortfolio } from '../fluid';
|
|
29
|
-
import { getEulerV2SubAccounts } from '../helpers/eulerHelpers';
|
|
30
28
|
import { getUmbrellaData } from '../umbrella';
|
|
31
29
|
import { getMeritUnclaimedRewards, getUnclaimedRewardsForAllMarkets } from '../claiming/aaveV3';
|
|
32
30
|
import { getCompoundV3Rewards } from '../claiming/compV3';
|
|
@@ -42,7 +40,6 @@ export function getPortfolioData(provider_1, network_1, defaultProvider_1, addre
|
|
|
42
40
|
const morphoMarkets = Object.values(MorphoBlueMarkets(network)).filter((market) => market.chainIds.includes(network));
|
|
43
41
|
const compoundV3Markets = Object.values(CompoundMarkets(network)).filter((market) => market.chainIds.includes(network) && market.value !== CompoundVersions.CompoundV2);
|
|
44
42
|
const sparkMarkets = Object.values(SparkMarkets(network)).filter((market) => market.chainIds.includes(network));
|
|
45
|
-
const eulerV2Markets = Object.values(EulerV2Markets(network)).filter((market) => market.chainIds.includes(network));
|
|
46
43
|
const aaveV3Markets = [AaveVersions.AaveV3, AaveVersions.AaveV3Lido, AaveVersions.AaveV3Etherfi].map((version) => AaveMarkets(network)[version]).filter((market) => market.chainIds.includes(network));
|
|
47
44
|
const aaveV2Markets = [AaveVersions.AaveV2].map((version) => AaveMarkets(network)[version]).filter((market) => market.chainIds.includes(network));
|
|
48
45
|
const compoundV2Markets = [CompoundVersions.CompoundV2].map((version) => CompoundMarkets(network)[version]).filter((market) => market.chainIds.includes(network));
|
|
@@ -57,7 +54,6 @@ export function getPortfolioData(provider_1, network_1, defaultProvider_1, addre
|
|
|
57
54
|
const morphoMarketsData = {};
|
|
58
55
|
const compoundV3MarketsData = {};
|
|
59
56
|
const sparkMarketsData = {};
|
|
60
|
-
const eulerV2MarketsData = {};
|
|
61
57
|
const aaveV3MarketsData = {};
|
|
62
58
|
const makerCdps = {};
|
|
63
59
|
const aaveV2MarketsData = {};
|
|
@@ -70,7 +66,6 @@ export function getPortfolioData(provider_1, network_1, defaultProvider_1, addre
|
|
|
70
66
|
morphoMarketsData,
|
|
71
67
|
compoundV3MarketsData,
|
|
72
68
|
sparkMarketsData,
|
|
73
|
-
eulerV2MarketsData,
|
|
74
69
|
aaveV3MarketsData,
|
|
75
70
|
aaveV2MarketsData,
|
|
76
71
|
compoundV2MarketsData,
|
|
@@ -90,7 +85,6 @@ export function getPortfolioData(provider_1, network_1, defaultProvider_1, addre
|
|
|
90
85
|
morphoBlue: {},
|
|
91
86
|
compoundV3: {},
|
|
92
87
|
spark: {},
|
|
93
|
-
eulerV2: {},
|
|
94
88
|
maker: {},
|
|
95
89
|
aaveV2: {},
|
|
96
90
|
compoundV2: {},
|
|
@@ -143,10 +137,6 @@ export function getPortfolioData(provider_1, network_1, defaultProvider_1, addre
|
|
|
143
137
|
const marketData = yield _getSparkMarketsData(client, network, market);
|
|
144
138
|
sparkMarketsData[market.value] = marketData;
|
|
145
139
|
})),
|
|
146
|
-
...eulerV2Markets.map((market) => __awaiter(this, void 0, void 0, function* () {
|
|
147
|
-
const marketData = yield _getEulerV2MarketsData(client, network, market);
|
|
148
|
-
eulerV2MarketsData[market.value] = marketData;
|
|
149
|
-
})),
|
|
150
140
|
...aaveV3Markets.map((market) => __awaiter(this, void 0, void 0, function* () {
|
|
151
141
|
const marketData = yield _getAaveV3MarketData(client, network, market);
|
|
152
142
|
aaveV3MarketsData[market.value] = marketData;
|
|
@@ -495,28 +485,6 @@ export function getPortfolioData(provider_1, network_1, defaultProvider_1, addre
|
|
|
495
485
|
positions[address.toLowerCase()].spark[market.value] = { error: `Error fetching Spark account data for address ${address} on market ${market.value}`, data: null };
|
|
496
486
|
}
|
|
497
487
|
}))).flat(),
|
|
498
|
-
...eulerV2Markets.map((market) => addresses.map((address) => {
|
|
499
|
-
const eulerV2SubAccounts = getEulerV2SubAccounts(address);
|
|
500
|
-
const eulerV2Addresses = [address, ...eulerV2SubAccounts];
|
|
501
|
-
return Promise.all(eulerV2Addresses.map((eulerAddress) => __awaiter(this, void 0, void 0, function* () {
|
|
502
|
-
try {
|
|
503
|
-
const accData = yield _getEulerV2AccountData(client, network, eulerAddress, eulerAddress, Object.assign({ selectedMarket: market }, eulerV2MarketsData[market.value]));
|
|
504
|
-
if (new Dec(accData.suppliedUsd).gt(0) || new Dec(accData.borrowedUsd).gt(0)) {
|
|
505
|
-
if (!positions[address.toLowerCase()].eulerV2[market.value]) {
|
|
506
|
-
positions[address.toLowerCase()].eulerV2[market.value] = {};
|
|
507
|
-
}
|
|
508
|
-
positions[address.toLowerCase()].eulerV2[market.value][eulerAddress.toLowerCase()] = { error: '', data: accData };
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
catch (error) {
|
|
512
|
-
console.error(`Error fetching EulerV2 account data for address ${eulerAddress} on market ${market.value}:`, error);
|
|
513
|
-
if (!positions[address.toLowerCase()].eulerV2[market.value]) {
|
|
514
|
-
positions[address.toLowerCase()].eulerV2[market.value] = {};
|
|
515
|
-
}
|
|
516
|
-
positions[address.toLowerCase()].eulerV2[market.value][eulerAddress.toLowerCase()] = { error: `Error fetching EulerV2 account data for address ${eulerAddress} on market ${market.value}`, data: null };
|
|
517
|
-
}
|
|
518
|
-
})));
|
|
519
|
-
}).flat()).flat(),
|
|
520
488
|
...addresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
521
489
|
var _a;
|
|
522
490
|
return (_a = makerCdps[address.toLowerCase()]) === null || _a === void 0 ? void 0 : _a.map((cdpInfo) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -8,9 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import Dec from 'decimal.js';
|
|
11
|
-
import { request as graphqlRequest } from 'graphql-request';
|
|
12
11
|
import { assetAmountInEth } from '@defisaver/tokens';
|
|
13
12
|
import * as morphoVaultsOptions from './options';
|
|
13
|
+
import { LONGER_TIMEOUT } from '../../services/utils';
|
|
14
14
|
import { getViemProvider } from '../../services/viem';
|
|
15
15
|
import { getMorphoVaultContractViem } from '../../contracts';
|
|
16
16
|
export { morphoVaultsOptions, };
|
|
@@ -30,6 +30,23 @@ const vaultDataQuery = `
|
|
|
30
30
|
}
|
|
31
31
|
}`;
|
|
32
32
|
const MORPHO_BLUE_API = 'https://api.morpho.org/graphql';
|
|
33
|
+
const fetchVaultData = (address, chainId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
+
const res = yield fetch(MORPHO_BLUE_API, {
|
|
35
|
+
method: 'POST',
|
|
36
|
+
headers: { 'Content-Type': 'application/json' },
|
|
37
|
+
body: JSON.stringify({
|
|
38
|
+
query: vaultDataQuery,
|
|
39
|
+
variables: { address, chainId },
|
|
40
|
+
}),
|
|
41
|
+
signal: AbortSignal.timeout(LONGER_TIMEOUT),
|
|
42
|
+
});
|
|
43
|
+
if (!res.ok)
|
|
44
|
+
throw new Error(`Morpho vault request failed: ${res.status}`);
|
|
45
|
+
const body = yield res.json();
|
|
46
|
+
if (!(body === null || body === void 0 ? void 0 : body.data))
|
|
47
|
+
throw new Error('Morpho vault response missing data');
|
|
48
|
+
return body.data;
|
|
49
|
+
});
|
|
33
50
|
export const _getMorphoVaultData = (provider, network, morphoVault, accounts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
51
|
const morphoVaultContract = getMorphoVaultContractViem(provider, morphoVault.address);
|
|
35
52
|
const shares = {};
|
|
@@ -38,7 +55,7 @@ export const _getMorphoVaultData = (provider, network, morphoVault, accounts) =>
|
|
|
38
55
|
morphoVaultContract.read.totalSupply(),
|
|
39
56
|
morphoVaultContract.read.decimals(),
|
|
40
57
|
morphoVaultContract.read.DECIMALS_OFFSET(),
|
|
41
|
-
|
|
58
|
+
fetchVaultData(morphoVault.address, network),
|
|
42
59
|
...accounts.map((account) => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
60
|
const share = yield morphoVaultContract.read.balanceOf([account]);
|
|
44
61
|
shares[account] = share;
|