@1delta/margin-fetcher 0.0.275 → 0.0.276
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/dist/index.js +62 -5
- package/dist/index.js.map +1 -1
- package/dist/vaults/classification.d.ts +22 -4
- package/dist/vaults/classification.d.ts.map +1 -1
- package/dist/vaults/euler-earn/fetchFromSubgraph.d.ts.map +1 -1
- package/dist/vaults/euler-earn/types.d.ts +3 -0
- package/dist/vaults/euler-earn/types.d.ts.map +1 -1
- package/dist/vaults/gearbox/publicCallParse.d.ts.map +1 -1
- package/dist/vaults/gearbox/types.d.ts +3 -0
- package/dist/vaults/gearbox/types.d.ts.map +1 -1
- package/dist/vaults/lookup.d.ts +5 -0
- package/dist/vaults/lookup.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchFromApi.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchFromChain.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchListaFromChain.d.ts.map +1 -1
- package/dist/vaults/morpho/types.d.ts +3 -0
- package/dist/vaults/morpho/types.d.ts.map +1 -1
- package/dist/vaults/sharePrice.d.ts +18 -0
- package/dist/vaults/sharePrice.d.ts.map +1 -0
- package/dist/vaults/silo/fetchPublic.d.ts.map +1 -1
- package/dist/vaults/silo/types.d.ts +3 -0
- package/dist/vaults/silo/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -35891,6 +35891,20 @@ var buildGearboxV3PoolsCall = (chainId) => {
|
|
|
35891
35891
|
];
|
|
35892
35892
|
};
|
|
35893
35893
|
|
|
35894
|
+
// src/vaults/sharePrice.ts
|
|
35895
|
+
function deriveConvertToAssets(totalAssetsRaw, totalSupplyRaw, shareDecimals) {
|
|
35896
|
+
try {
|
|
35897
|
+
const ta = BigInt(totalAssetsRaw ?? 0);
|
|
35898
|
+
const ts = BigInt(totalSupplyRaw ?? 0);
|
|
35899
|
+
if (ts <= 0n) return "0";
|
|
35900
|
+
const dec = Math.max(0, Math.round(Number(shareDecimals) || 0));
|
|
35901
|
+
const probe = 10n ** BigInt(dec);
|
|
35902
|
+
return (ta * probe / ts).toString();
|
|
35903
|
+
} catch {
|
|
35904
|
+
return "0";
|
|
35905
|
+
}
|
|
35906
|
+
}
|
|
35907
|
+
|
|
35894
35908
|
// src/vaults/gearbox/publicCallParse.ts
|
|
35895
35909
|
var WETH_MAINNET = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
|
|
35896
35910
|
var normalizeUnderlying6 = (addr, chainId) => {
|
|
@@ -35928,9 +35942,15 @@ function parseMarkets(markets, chainId, prices, tokenList) {
|
|
|
35928
35942
|
const assetMeta = tokenList[underlying];
|
|
35929
35943
|
const decimals = Number(assetMeta?.decimals ?? pool.decimals ?? 18);
|
|
35930
35944
|
const totalAssetsRaw = pool.expectedLiquidity?.toString() ?? "0";
|
|
35945
|
+
const totalSupplyRaw = pool.totalSupply?.toString() ?? "0";
|
|
35931
35946
|
const totalAssetsFormatted = Number(
|
|
35932
35947
|
parseRawAmount(totalAssetsRaw, decimals)
|
|
35933
35948
|
);
|
|
35949
|
+
const convertToAssets = deriveConvertToAssets(
|
|
35950
|
+
totalAssetsRaw,
|
|
35951
|
+
totalSupplyRaw,
|
|
35952
|
+
decimals
|
|
35953
|
+
);
|
|
35934
35954
|
const oracleKey = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(underlying, chainId);
|
|
35935
35955
|
const priceUsd = prices[oracleKey] ?? prices[underlying] ?? 0;
|
|
35936
35956
|
const liquidityRaw = pool.availableLiquidity?.toString() ?? "0";
|
|
@@ -35950,7 +35970,8 @@ function parseMarkets(markets, chainId, prices, tokenList) {
|
|
|
35950
35970
|
),
|
|
35951
35971
|
decimals,
|
|
35952
35972
|
totalAssets: totalAssetsRaw,
|
|
35953
|
-
totalSupply:
|
|
35973
|
+
totalSupply: totalSupplyRaw,
|
|
35974
|
+
convertToAssets,
|
|
35954
35975
|
totalBorrowed: pool.totalBorrowed?.toString() ?? "0",
|
|
35955
35976
|
availableLiquidity: pool.availableLiquidity?.toString() ?? "0",
|
|
35956
35977
|
expectedLiquidity: pool.expectedLiquidity?.toString() ?? "0",
|
|
@@ -35985,6 +36006,7 @@ var fetchGearboxV3Pools = async (chainId, multicallRetry, prices = {}, tokenList
|
|
|
35985
36006
|
};
|
|
35986
36007
|
|
|
35987
36008
|
// src/vaults/morpho/fetchFromApi.ts
|
|
36009
|
+
var MORPHO_SHARE_DECIMALS = 18;
|
|
35988
36010
|
var MORPHO_API_URL = "https://blue-api.morpho.org/graphql";
|
|
35989
36011
|
var PAGE_SIZE = 200;
|
|
35990
36012
|
var vaultsQuery = (first, skip, chainId) => `
|
|
@@ -36091,7 +36113,13 @@ function parseVault2(v, chainId, prices, tokenList) {
|
|
|
36091
36113
|
const assetMeta = tokenList[assetAddr];
|
|
36092
36114
|
const decimals = Number(v.asset?.decimals ?? assetMeta?.decimals ?? 18);
|
|
36093
36115
|
const totalAssetsRaw = state.totalAssets?.toString() ?? "0";
|
|
36116
|
+
const totalSupplyRaw = state.totalSupply?.toString() ?? "0";
|
|
36094
36117
|
const totalAssetsFormatted = Number(parseRawAmount(totalAssetsRaw, decimals));
|
|
36118
|
+
const convertToAssets = deriveConvertToAssets(
|
|
36119
|
+
totalAssetsRaw,
|
|
36120
|
+
totalSupplyRaw,
|
|
36121
|
+
MORPHO_SHARE_DECIMALS
|
|
36122
|
+
);
|
|
36095
36123
|
const liquidityRaw = v.liquidity?.underlying?.toString() ?? "0";
|
|
36096
36124
|
const liquidityFormatted = Number(parseRawAmount(liquidityRaw, decimals));
|
|
36097
36125
|
const liquidityUsd = Number(v.liquidity?.usd ?? 0);
|
|
@@ -36118,7 +36146,8 @@ function parseVault2(v, chainId, prices, tokenList) {
|
|
|
36118
36146
|
),
|
|
36119
36147
|
decimals,
|
|
36120
36148
|
totalAssets: totalAssetsRaw,
|
|
36121
|
-
totalSupply:
|
|
36149
|
+
totalSupply: totalSupplyRaw,
|
|
36150
|
+
convertToAssets,
|
|
36122
36151
|
supplyRate,
|
|
36123
36152
|
rewardsRate,
|
|
36124
36153
|
depositRate: supplyRate + rewardsRate,
|
|
@@ -36464,6 +36493,11 @@ function parseVault3(entry, results, chainId, prices, tokenList, marketIds, rate
|
|
|
36464
36493
|
const totalAssets = toStringSafe(totalAssetsRaw, "0");
|
|
36465
36494
|
const totalSupply = toStringSafe(totalSupplyRaw, "0");
|
|
36466
36495
|
const totalAssetsFormatted = Number(parseRawAmount(totalAssets, decimals));
|
|
36496
|
+
const convertToAssets = deriveConvertToAssets(
|
|
36497
|
+
totalAssets,
|
|
36498
|
+
totalSupply,
|
|
36499
|
+
Number(decimalsRaw ?? 18)
|
|
36500
|
+
);
|
|
36467
36501
|
const oracleKey = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(underlying, chainId);
|
|
36468
36502
|
const priceUsd = prices[oracleKey] ?? prices[underlying] ?? 0;
|
|
36469
36503
|
const onchainName = toStringSafe(nameRaw).trim();
|
|
@@ -36497,6 +36531,7 @@ function parseVault3(entry, results, chainId, prices, tokenList, marketIds, rate
|
|
|
36497
36531
|
decimals,
|
|
36498
36532
|
totalAssets,
|
|
36499
36533
|
totalSupply,
|
|
36534
|
+
convertToAssets,
|
|
36500
36535
|
supplyRate: depositRate,
|
|
36501
36536
|
rewardsRate: 0,
|
|
36502
36537
|
depositRate,
|
|
@@ -36845,6 +36880,11 @@ function parseVault4(entry, results, curatorAddrRaw, chainId, prices, tokenList,
|
|
|
36845
36880
|
const totalAssets = toStringSafe2(totalAssetsRaw, "0");
|
|
36846
36881
|
const totalSupply = toStringSafe2(totalSupplyRaw, "0");
|
|
36847
36882
|
const totalAssetsFormatted = Number(parseRawAmount(totalAssets, decimals));
|
|
36883
|
+
const convertToAssets = deriveConvertToAssets(
|
|
36884
|
+
totalAssets,
|
|
36885
|
+
totalSupply,
|
|
36886
|
+
Number(decimalsRaw ?? 18)
|
|
36887
|
+
);
|
|
36848
36888
|
const oracleKey = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(underlying, chainId);
|
|
36849
36889
|
const priceUsd = prices[oracleKey] ?? prices[underlying] ?? 0;
|
|
36850
36890
|
const onchainName = toStringSafe2(nameRaw).trim();
|
|
@@ -36877,6 +36917,7 @@ function parseVault4(entry, results, curatorAddrRaw, chainId, prices, tokenList,
|
|
|
36877
36917
|
decimals,
|
|
36878
36918
|
totalAssets,
|
|
36879
36919
|
totalSupply,
|
|
36920
|
+
convertToAssets,
|
|
36880
36921
|
supplyRate: depositRate,
|
|
36881
36922
|
rewardsRate: 0,
|
|
36882
36923
|
depositRate,
|
|
@@ -37020,6 +37061,11 @@ function parseVault5(v, chainId, prices, tokenList, exposures, liquidityFormatte
|
|
|
37020
37061
|
const totalAssetsFormatted = Number(v.totalAssets ?? 0) || 0;
|
|
37021
37062
|
const totalAssetsRaw = toRawAmount3(v.totalAssets, decimals);
|
|
37022
37063
|
const totalSupplyRaw = toRawAmount3(v.totalSupply, decimals);
|
|
37064
|
+
const convertToAssets = deriveConvertToAssets(
|
|
37065
|
+
totalAssetsRaw,
|
|
37066
|
+
totalSupplyRaw,
|
|
37067
|
+
decimals
|
|
37068
|
+
);
|
|
37023
37069
|
const oracleKey = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(assetAddr, chainId);
|
|
37024
37070
|
const priceUsd = prices[oracleKey] ?? prices[assetAddr] ?? 0;
|
|
37025
37071
|
const supplyRate = Number(v.userApr ?? 0) || 0;
|
|
@@ -37044,6 +37090,7 @@ function parseVault5(v, chainId, prices, tokenList, exposures, liquidityFormatte
|
|
|
37044
37090
|
protocolId: (v.protocolId ?? v.protocol?.id ?? "").toLowerCase(),
|
|
37045
37091
|
totalAssets: totalAssetsRaw,
|
|
37046
37092
|
totalSupply: totalSupplyRaw,
|
|
37093
|
+
convertToAssets,
|
|
37047
37094
|
supplyRate,
|
|
37048
37095
|
grossRate,
|
|
37049
37096
|
rewardsRate: 0,
|
|
@@ -37283,6 +37330,11 @@ function parseVault6(v, chainId, prices, tokenList, evkIndex) {
|
|
|
37283
37330
|
evkIndex
|
|
37284
37331
|
);
|
|
37285
37332
|
const totalSupplyRaw = v.totalSupply?.toString() ?? v.totalShares?.toString() ?? "0";
|
|
37333
|
+
const convertToAssets = deriveConvertToAssets(
|
|
37334
|
+
totalAssetsRaw,
|
|
37335
|
+
totalSupplyRaw,
|
|
37336
|
+
decimals
|
|
37337
|
+
);
|
|
37286
37338
|
const liquidityBig = computeRealLiquidity(
|
|
37287
37339
|
v.strategies,
|
|
37288
37340
|
totalAssetsRaw,
|
|
@@ -37298,6 +37350,7 @@ function parseVault6(v, chainId, prices, tokenList, evkIndex) {
|
|
|
37298
37350
|
decimals,
|
|
37299
37351
|
totalAssets: totalAssetsRaw,
|
|
37300
37352
|
totalSupply: totalSupplyRaw,
|
|
37353
|
+
convertToAssets,
|
|
37301
37354
|
supplyRate,
|
|
37302
37355
|
rewardsRate: 0,
|
|
37303
37356
|
depositRate: supplyRate,
|
|
@@ -44434,10 +44487,12 @@ var classifyVault = (input) => {
|
|
|
44434
44487
|
const denomination = isStablecoinSymbol(input.underlyingSymbol) ? "stable" : "volatile";
|
|
44435
44488
|
return { yieldProfile, denomination };
|
|
44436
44489
|
};
|
|
44437
|
-
var stampVaultClassification = (data, chainId) => {
|
|
44490
|
+
var stampVaultClassification = (data, chainId, tokenList = {}) => {
|
|
44438
44491
|
const stampBag = (bag, provider) => {
|
|
44439
44492
|
if (!bag) return;
|
|
44440
44493
|
for (const v of Object.values(bag)) {
|
|
44494
|
+
const shareAsset = tokenList[v.address?.toLowerCase?.() ?? ""];
|
|
44495
|
+
if (shareAsset) v.shareAsset = shareAsset;
|
|
44441
44496
|
const c = classifyVault({
|
|
44442
44497
|
provider,
|
|
44443
44498
|
chainId,
|
|
@@ -44446,6 +44501,7 @@ var stampVaultClassification = (data, chainId) => {
|
|
|
44446
44501
|
});
|
|
44447
44502
|
v.yieldProfile = c.yieldProfile;
|
|
44448
44503
|
v.denomination = c.denomination;
|
|
44504
|
+
v.sharePrice = v.convertToAssets ?? v.pricePerShare;
|
|
44449
44505
|
}
|
|
44450
44506
|
};
|
|
44451
44507
|
stampBag(data.fluid, "fluid");
|
|
@@ -45718,7 +45774,8 @@ function buildVaultLookup(data) {
|
|
|
45718
45774
|
// Carried through from `stampVaultClassification` (set on the
|
|
45719
45775
|
// provider objects before the lookup is built).
|
|
45720
45776
|
yieldProfile: v.yieldProfile,
|
|
45721
|
-
denomination: v.denomination
|
|
45777
|
+
denomination: v.denomination,
|
|
45778
|
+
sharePrice: v.sharePrice
|
|
45722
45779
|
});
|
|
45723
45780
|
}
|
|
45724
45781
|
};
|
|
@@ -45906,7 +45963,7 @@ var getVaultPublicDataAll = async (chainId, providers, multicallRetry, prices =
|
|
|
45906
45963
|
);
|
|
45907
45964
|
}
|
|
45908
45965
|
await Promise.all(tasks);
|
|
45909
|
-
stampVaultClassification(out, chainId);
|
|
45966
|
+
stampVaultClassification(out, chainId, tokenList);
|
|
45910
45967
|
return { data: out, lookup: buildVaultLookup(out) };
|
|
45911
45968
|
};
|
|
45912
45969
|
|