@defisaver/positions-sdk 2.1.118-lend-dev → 2.1.119-dev-13004-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/aaveV4/lend.js +2 -2
- package/cjs/markets/morphoBlue/index.d.ts +82 -7
- package/cjs/markets/morphoBlue/index.js +868 -231
- package/cjs/morphoBlue/index.js +4 -3
- package/cjs/types/morphoBlue.d.ts +39 -1
- package/cjs/types/morphoBlue.js +38 -0
- package/esm/aaveV4/lend.js +2 -2
- package/esm/markets/morphoBlue/index.d.ts +82 -7
- package/esm/markets/morphoBlue/index.js +670 -72
- package/esm/morphoBlue/index.js +4 -3
- package/esm/types/morphoBlue.d.ts +39 -1
- package/esm/types/morphoBlue.js +38 -0
- package/package.json +2 -2
- package/src/aaveV4/lend.ts +2 -2
- package/src/markets/morphoBlue/index.ts +675 -113
- package/src/morphoBlue/index.ts +5 -3
- package/src/types/morphoBlue.ts +39 -0
package/esm/morphoBlue/index.js
CHANGED
|
@@ -17,6 +17,7 @@ import { isMainnetNetwork, wethToEth } from '../services/utils';
|
|
|
17
17
|
import { getBorrowRate, getMorphoBlueAggregatedPositionData, getRewardsForMarket, getSupplyRate, } from '../helpers/morphoBlueHelpers';
|
|
18
18
|
import { getChainlinkAssetAddress } from '../services/priceService';
|
|
19
19
|
import { getViemProvider, setViemBlockNumber } from '../services/viem';
|
|
20
|
+
const HARDCODED_USD_STABLE_PRICE = '100000000'; // $1 with 8 decimals
|
|
20
21
|
export function _getMorphoBlueMarketData(provider, network, selectedMarket) {
|
|
21
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
23
|
const { loanToken, collateralToken, oracle, irm, lltv, oracleType, } = selectedMarket;
|
|
@@ -27,12 +28,12 @@ export function _getMorphoBlueMarketData(provider, network, selectedMarket) {
|
|
|
27
28
|
const morphoBlueViewContract = MorphoBlueViewContractViem(provider, network);
|
|
28
29
|
let marketInfo;
|
|
29
30
|
let loanTokenPrice;
|
|
30
|
-
const
|
|
31
|
+
const isHardcodedUsdStable = ['USDA', 'RLUSD'].includes(loanTokenInfo.symbol);
|
|
31
32
|
const isMainnet = isMainnetNetwork(network);
|
|
32
33
|
if (isMainnet) {
|
|
33
34
|
const feedRegistryContract = FeedRegistryContractViem(provider, NetworkNumber.Eth);
|
|
34
35
|
const [_loanTokenPrice, _marketInfo] = yield Promise.all([
|
|
35
|
-
|
|
36
|
+
isHardcodedUsdStable ? Promise.resolve(HARDCODED_USD_STABLE_PRICE) : feedRegistryContract.read.latestAnswer([loanTokenFeedAddress, USD_QUOTE]),
|
|
36
37
|
morphoBlueViewContract.read.getMarketInfoNotTuple([loanToken, collateralToken, oracle, irm, BigInt(lltvInWei)]),
|
|
37
38
|
]);
|
|
38
39
|
marketInfo = _marketInfo;
|
|
@@ -42,7 +43,7 @@ export function _getMorphoBlueMarketData(provider, network, selectedMarket) {
|
|
|
42
43
|
// Currently only base network is supported
|
|
43
44
|
const feedRegistryContract = DFSFeedRegistryContractViem(provider, network);
|
|
44
45
|
const [loanTokenPriceRound, _marketInfo] = yield Promise.all([
|
|
45
|
-
|
|
46
|
+
isHardcodedUsdStable ? Promise.resolve([0, HARDCODED_USD_STABLE_PRICE]) // Normalize to match the expected object structure
|
|
46
47
|
: feedRegistryContract.read.latestRoundData([loanTokenFeedAddress, USD_QUOTE]),
|
|
47
48
|
morphoBlueViewContract.read.getMarketInfoNotTuple([loanToken, collateralToken, oracle, irm, BigInt(lltvInWei)]),
|
|
48
49
|
]);
|
|
@@ -50,6 +50,35 @@ export declare enum MorphoBlueVersions {
|
|
|
50
50
|
MorphoBlueUSDeDAI_945 = "morphoblueusdedai_945",
|
|
51
51
|
MorphoBlueUSDeDAI_777 = "morphoblueusdedai_777",
|
|
52
52
|
MorphoBlueMORPHOUSDC_625 = "morphobluemorphousdc_625",
|
|
53
|
+
MorphoBluePRIMEPYUSD_860 = "morphoblueprimepyusd_860",// PRIME/PYUSD 0.86
|
|
54
|
+
MorphoBlueKBTCRLUSD_860 = "morphobluekbtcrlusd_860",// kBTC/RLUSD 0.86
|
|
55
|
+
MorphoBlueKBTCPYUSD_860 = "morphobluekbtcpyusd_860",// kBTC/PYUSD 0.86
|
|
56
|
+
MorphoBlueWstEthUSDC_860 = "morphobluewstethusdc_860",// wstETH/USDC 0.86
|
|
57
|
+
MorphoBlueSyrupUSDCPYUSD_915 = "morphobluesyrupusdcpyusd_915",// syrupUSDC/PYUSD 0.915
|
|
58
|
+
MorphoBlueWBTCUSDC_860 = "morphobluewbtcusdc_860",// WBTC/USDC 0.86
|
|
59
|
+
MorphoBlueCbBTCUSDC_860_bc99de6a = "morphobluecbbtcusdc_860_bc99de6a",// cbBTC/USDC 0.86
|
|
60
|
+
MorphoBlueWeEthRLUSD_860 = "morphoblueweethrlusd_860",// weETH/RLUSD 0.86
|
|
61
|
+
MorphoBlueWeEthPYUSD_860 = "morphoblueweethpyusd_860",// weETH/PYUSD 0.86
|
|
62
|
+
MorphoBlueCbBTCUSDT_860 = "morphobluecbbtcusdt_860",// cbBTC/USDT 0.86
|
|
63
|
+
MorphoBlueLBTCPYUSD_860 = "morphobluelbtcpyusd_860",// LBTC/PYUSD 0.86
|
|
64
|
+
MorphoBlueSUSDePYUSD_915 = "morphobluesusdepyusd_915",// sUSDe/PYUSD 0.915
|
|
65
|
+
MorphoBlueWBTCUSDT_860 = "morphobluewbtcusdt_860",// WBTC/USDT 0.86
|
|
66
|
+
MorphoBlueWstEthUSDT_860 = "morphobluewstethusdt_860",// wstETH/USDT 0.86
|
|
67
|
+
MorphoBlueSyrupUSDCRLUSD_915 = "morphobluesyrupusdcrlusd_915",// syrupUSDC/RLUSD 0.915
|
|
68
|
+
MorphoBlueWeEthUSDC_770 = "morphoblueweethusdc_770",// weETH/USDC 0.77
|
|
69
|
+
MorphoBlueEthUSDC_860_94b823e6 = "morphoblueethusdc_860_94b823e6",// ETH/USDC 0.86
|
|
70
|
+
MorphoBlueUSD3USDC_915 = "morphoblueusd3usdc_915",// USD3/USDC 0.915
|
|
71
|
+
MorphoBlueStUSDSUSDC_860 = "morphobluestusdsusdc_860",// stUSDS/USDC 0.86
|
|
72
|
+
MorphoBlueCbBTCRLUSD_860 = "morphobluecbbtcrlusd_860",// cbBTC/RLUSD 0.86
|
|
73
|
+
MorphoBlueWBTCEth_915 = "morphobluewbtceth_915",// WBTC/ETH 0.915
|
|
74
|
+
MorphoBlueCbBTCEth_915_12dbf493 = "morphobluecbbtceth_915_12dbf493",// cbBTC/ETH 0.915
|
|
75
|
+
MorphoBlueWeEthUSDT_860 = "morphoblueweethusdt_860",// weETH/USDT 0.86
|
|
76
|
+
MorphoBlueSyrupUSDTUSDT_915 = "morphobluesyrupusdtusdt_915",// syrupUSDT/USDT 0.915
|
|
77
|
+
MorphoBlueCbBTCPYUSD_860 = "morphobluecbbtcpyusd_860",// cbBTC/PYUSD 0.86
|
|
78
|
+
MorphoBlueWeEthUSDT_770 = "morphoblueweethusdt_770",// weETH/USDT 0.77
|
|
79
|
+
MorphoBlueEthUSDT_860 = "morphoblueethusdt_860",// ETH/USDT 0.86
|
|
80
|
+
MorphoBlueWBTCRLUSD_860 = "morphobluewbtcrlusd_860",// WBTC/RLUSD 0.86
|
|
81
|
+
MorphoBlueWBTCPYUSD_860 = "morphobluewbtcpyusd_860",// WBTC/PYUSD 0.86
|
|
53
82
|
MorphoBlueCbEthUSDC_860_Base = "morphobluecbethusdc_860_base",
|
|
54
83
|
MorphoBlueCbEthUSDC_860_Base_1c21c59d = "morphobluecbethusdc_860_base_1c21c59d",
|
|
55
84
|
MorphoBlueWstEthUSDC_860_Base = "morphobluewstethusdc_860_base",
|
|
@@ -76,11 +105,20 @@ export declare enum MorphoBlueVersions {
|
|
|
76
105
|
MorphoBlueEzEthUsdc_777_Base = "morphoblueezethusdc_777_base",// ezETH/USDC
|
|
77
106
|
MorphoBlueEzEthEth_777_Base = "morphoblueezetheth_777_base",// ezETH/ETH
|
|
78
107
|
MorphoBlueBsdEthEth_860_Base = "morphobluebsdetheth_860_base",// bsdETH/ETH
|
|
108
|
+
MorphoBlueUSDeUSDC_915_Base = "morphoblueusdeusdc_915_base",// USDe/USDC 0.915
|
|
109
|
+
MorphoBlueCbEthUSDC_770_Base = "morphobluecbethusdc_770_base",// cbETH/USDC 0.77
|
|
110
|
+
MorphoBlueCbXRPUSDC_625_Base = "morphobluecbxrpusdc_625_base",// cbXRP/USDC 0.625
|
|
79
111
|
MorphoBlueSyrupUSDCUSDC_915_Arb = "morphobluesyrupusdcusdc_915_arb",// syrupUSDC/USDC
|
|
80
112
|
MorphoBlueWBTCUSDC_860_Arb = "morphobluewbtcusdc_860_arb",// WBTC/USDC
|
|
81
113
|
MorphoBlueWstEthUSDC_860_Arb = "morphobluewstethusdc_860_arb",// wstETH/USDC
|
|
82
114
|
MorphoBlueEthUSDC_860_Arb = "morphoblueethusdc_860_arb",// ETH/USDC
|
|
83
|
-
MorphoBluesUSDSUSDC_945_Arb = "morphobluesusdsusdc_945_arb"
|
|
115
|
+
MorphoBluesUSDSUSDC_945_Arb = "morphobluesusdsusdc_945_arb",// sUSDS/USDC
|
|
116
|
+
MorphoBlueWeEthUSDC_860_Arb = "morphoblueweethusdc_860_arb",// weETH/USDC 0.86
|
|
117
|
+
MorphoBluesUSDSUSDT0_945_Arb = "morphobluesusdsusdt0_945_arb",// sUSDS/USDT0 0.945
|
|
118
|
+
MorphoBlueWeEthUSDT0_860_Arb = "morphoblueweethusdt0_860_arb",// weETH/USDT0 0.86
|
|
119
|
+
MorphoBlueEthUSDT0_860_Arb = "morphoblueethusdt0_860_arb",// ETH/USDT0 0.86
|
|
120
|
+
MorphoBlueWstEthUSDT0_860_Arb = "morphobluewstethusdt0_860_arb",// wstETH/USDT0 0.86
|
|
121
|
+
MorphoBlueWBTCUSDT0_860_Arb = "morphobluewbtcusdt0_860_arb"
|
|
84
122
|
}
|
|
85
123
|
export declare enum MorphoBlueOracleType {
|
|
86
124
|
MARKET_RATE = "Market rate",
|
package/esm/types/morphoBlue.js
CHANGED
|
@@ -56,6 +56,35 @@ export var MorphoBlueVersions;
|
|
|
56
56
|
MorphoBlueVersions["MorphoBlueUSDeDAI_945"] = "morphoblueusdedai_945";
|
|
57
57
|
MorphoBlueVersions["MorphoBlueUSDeDAI_777"] = "morphoblueusdedai_777";
|
|
58
58
|
MorphoBlueVersions["MorphoBlueMORPHOUSDC_625"] = "morphobluemorphousdc_625";
|
|
59
|
+
MorphoBlueVersions["MorphoBluePRIMEPYUSD_860"] = "morphoblueprimepyusd_860";
|
|
60
|
+
MorphoBlueVersions["MorphoBlueKBTCRLUSD_860"] = "morphobluekbtcrlusd_860";
|
|
61
|
+
MorphoBlueVersions["MorphoBlueKBTCPYUSD_860"] = "morphobluekbtcpyusd_860";
|
|
62
|
+
MorphoBlueVersions["MorphoBlueWstEthUSDC_860"] = "morphobluewstethusdc_860";
|
|
63
|
+
MorphoBlueVersions["MorphoBlueSyrupUSDCPYUSD_915"] = "morphobluesyrupusdcpyusd_915";
|
|
64
|
+
MorphoBlueVersions["MorphoBlueWBTCUSDC_860"] = "morphobluewbtcusdc_860";
|
|
65
|
+
MorphoBlueVersions["MorphoBlueCbBTCUSDC_860_bc99de6a"] = "morphobluecbbtcusdc_860_bc99de6a";
|
|
66
|
+
MorphoBlueVersions["MorphoBlueWeEthRLUSD_860"] = "morphoblueweethrlusd_860";
|
|
67
|
+
MorphoBlueVersions["MorphoBlueWeEthPYUSD_860"] = "morphoblueweethpyusd_860";
|
|
68
|
+
MorphoBlueVersions["MorphoBlueCbBTCUSDT_860"] = "morphobluecbbtcusdt_860";
|
|
69
|
+
MorphoBlueVersions["MorphoBlueLBTCPYUSD_860"] = "morphobluelbtcpyusd_860";
|
|
70
|
+
MorphoBlueVersions["MorphoBlueSUSDePYUSD_915"] = "morphobluesusdepyusd_915";
|
|
71
|
+
MorphoBlueVersions["MorphoBlueWBTCUSDT_860"] = "morphobluewbtcusdt_860";
|
|
72
|
+
MorphoBlueVersions["MorphoBlueWstEthUSDT_860"] = "morphobluewstethusdt_860";
|
|
73
|
+
MorphoBlueVersions["MorphoBlueSyrupUSDCRLUSD_915"] = "morphobluesyrupusdcrlusd_915";
|
|
74
|
+
MorphoBlueVersions["MorphoBlueWeEthUSDC_770"] = "morphoblueweethusdc_770";
|
|
75
|
+
MorphoBlueVersions["MorphoBlueEthUSDC_860_94b823e6"] = "morphoblueethusdc_860_94b823e6";
|
|
76
|
+
MorphoBlueVersions["MorphoBlueUSD3USDC_915"] = "morphoblueusd3usdc_915";
|
|
77
|
+
MorphoBlueVersions["MorphoBlueStUSDSUSDC_860"] = "morphobluestusdsusdc_860";
|
|
78
|
+
MorphoBlueVersions["MorphoBlueCbBTCRLUSD_860"] = "morphobluecbbtcrlusd_860";
|
|
79
|
+
MorphoBlueVersions["MorphoBlueWBTCEth_915"] = "morphobluewbtceth_915";
|
|
80
|
+
MorphoBlueVersions["MorphoBlueCbBTCEth_915_12dbf493"] = "morphobluecbbtceth_915_12dbf493";
|
|
81
|
+
MorphoBlueVersions["MorphoBlueWeEthUSDT_860"] = "morphoblueweethusdt_860";
|
|
82
|
+
MorphoBlueVersions["MorphoBlueSyrupUSDTUSDT_915"] = "morphobluesyrupusdtusdt_915";
|
|
83
|
+
MorphoBlueVersions["MorphoBlueCbBTCPYUSD_860"] = "morphobluecbbtcpyusd_860";
|
|
84
|
+
MorphoBlueVersions["MorphoBlueWeEthUSDT_770"] = "morphoblueweethusdt_770";
|
|
85
|
+
MorphoBlueVersions["MorphoBlueEthUSDT_860"] = "morphoblueethusdt_860";
|
|
86
|
+
MorphoBlueVersions["MorphoBlueWBTCRLUSD_860"] = "morphobluewbtcrlusd_860";
|
|
87
|
+
MorphoBlueVersions["MorphoBlueWBTCPYUSD_860"] = "morphobluewbtcpyusd_860";
|
|
59
88
|
// BASE
|
|
60
89
|
MorphoBlueVersions["MorphoBlueCbEthUSDC_860_Base"] = "morphobluecbethusdc_860_base";
|
|
61
90
|
MorphoBlueVersions["MorphoBlueCbEthUSDC_860_Base_1c21c59d"] = "morphobluecbethusdc_860_base_1c21c59d";
|
|
@@ -83,12 +112,21 @@ export var MorphoBlueVersions;
|
|
|
83
112
|
MorphoBlueVersions["MorphoBlueEzEthUsdc_777_Base"] = "morphoblueezethusdc_777_base";
|
|
84
113
|
MorphoBlueVersions["MorphoBlueEzEthEth_777_Base"] = "morphoblueezetheth_777_base";
|
|
85
114
|
MorphoBlueVersions["MorphoBlueBsdEthEth_860_Base"] = "morphobluebsdetheth_860_base";
|
|
115
|
+
MorphoBlueVersions["MorphoBlueUSDeUSDC_915_Base"] = "morphoblueusdeusdc_915_base";
|
|
116
|
+
MorphoBlueVersions["MorphoBlueCbEthUSDC_770_Base"] = "morphobluecbethusdc_770_base";
|
|
117
|
+
MorphoBlueVersions["MorphoBlueCbXRPUSDC_625_Base"] = "morphobluecbxrpusdc_625_base";
|
|
86
118
|
// ARBITRUM
|
|
87
119
|
MorphoBlueVersions["MorphoBlueSyrupUSDCUSDC_915_Arb"] = "morphobluesyrupusdcusdc_915_arb";
|
|
88
120
|
MorphoBlueVersions["MorphoBlueWBTCUSDC_860_Arb"] = "morphobluewbtcusdc_860_arb";
|
|
89
121
|
MorphoBlueVersions["MorphoBlueWstEthUSDC_860_Arb"] = "morphobluewstethusdc_860_arb";
|
|
90
122
|
MorphoBlueVersions["MorphoBlueEthUSDC_860_Arb"] = "morphoblueethusdc_860_arb";
|
|
91
123
|
MorphoBlueVersions["MorphoBluesUSDSUSDC_945_Arb"] = "morphobluesusdsusdc_945_arb";
|
|
124
|
+
MorphoBlueVersions["MorphoBlueWeEthUSDC_860_Arb"] = "morphoblueweethusdc_860_arb";
|
|
125
|
+
MorphoBlueVersions["MorphoBluesUSDSUSDT0_945_Arb"] = "morphobluesusdsusdt0_945_arb";
|
|
126
|
+
MorphoBlueVersions["MorphoBlueWeEthUSDT0_860_Arb"] = "morphoblueweethusdt0_860_arb";
|
|
127
|
+
MorphoBlueVersions["MorphoBlueEthUSDT0_860_Arb"] = "morphoblueethusdt0_860_arb";
|
|
128
|
+
MorphoBlueVersions["MorphoBlueWstEthUSDT0_860_Arb"] = "morphobluewstethusdt0_860_arb";
|
|
129
|
+
MorphoBlueVersions["MorphoBlueWBTCUSDT0_860_Arb"] = "morphobluewbtcusdt0_860_arb";
|
|
92
130
|
})(MorphoBlueVersions || (MorphoBlueVersions = {}));
|
|
93
131
|
export var MorphoBlueOracleType;
|
|
94
132
|
(function (MorphoBlueOracleType) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defisaver/positions-sdk",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.119-dev-13004-dev",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"author": "",
|
|
22
22
|
"license": "ISC",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@defisaver/tokens": "
|
|
24
|
+
"@defisaver/tokens": "1.7.39-dev-13004-dev",
|
|
25
25
|
"@types/lodash": "^4.17.15",
|
|
26
26
|
"@types/memoizee": "^0.4.12",
|
|
27
27
|
"decimal.js": "^10.6.0",
|
package/src/aaveV4/lend.ts
CHANGED
|
@@ -51,7 +51,7 @@ export const AAVE_V4_TOKENIZED_SPOKES: Record<string, EthAddress> = {
|
|
|
51
51
|
|
|
52
52
|
USDC_PAXOS: '0x4131E0B2E7AFeCEAf3d3b4225aA61a3B2B7535b8',
|
|
53
53
|
USDT_PAXOS: '0x8Dabe53E8cB991c57f0307F6f419E6D469b0deAA',
|
|
54
|
-
|
|
54
|
+
PT_USDG_Sep_PAXOS: '0x27eF1140364948A0E30E248297FfDFE5a4091ec4',
|
|
55
55
|
};
|
|
56
56
|
|
|
57
57
|
export const AAVE_V4_TOKENIZED_SPOKE_ADDRESSES: Partial<Record<NetworkNumber, EthAddress[]>> = {
|
|
@@ -85,7 +85,7 @@ export const aaveV4GetTokenizedVaultKey = (
|
|
|
85
85
|
const hubKey = aaveV4GetTokenizedHubKey(hubNameOrKey);
|
|
86
86
|
if (!hubKey) return null;
|
|
87
87
|
|
|
88
|
-
const normalizedSymbol = symbol.trim().replace(
|
|
88
|
+
const normalizedSymbol = symbol.trim().replace(/[-\s]+/g, '_');
|
|
89
89
|
|
|
90
90
|
return `${normalizedSymbol}_${hubKey}`;
|
|
91
91
|
};
|