@1delta/margin-fetcher 0.0.234 → 0.0.236
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/flash-liquidity/fetchLiquidity.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +362 -10
- package/dist/index.js.map +1 -1
- package/dist/lending/public-data/fetchLender.d.ts.map +1 -1
- package/dist/lending/public-data/fluid/index.d.ts +3 -0
- package/dist/lending/public-data/fluid/index.d.ts.map +1 -0
- package/dist/lending/public-data/fluid/publicCallBuild.d.ts +49 -0
- package/dist/lending/public-data/fluid/publicCallBuild.d.ts.map +1 -0
- package/dist/lending/public-data/fluid/publicCallParse.d.ts +18 -0
- package/dist/lending/public-data/fluid/publicCallParse.d.ts.map +1 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/marketName.d.ts.map +1 -1
- package/dist/vaults/fluid/fetchPublic.d.ts +21 -0
- package/dist/vaults/fluid/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/fluid/index.d.ts +5 -0
- package/dist/vaults/fluid/index.d.ts.map +1 -0
- package/dist/vaults/fluid/publicCallBuild.d.ts +16 -0
- package/dist/vaults/fluid/publicCallBuild.d.ts.map +1 -0
- package/dist/vaults/fluid/publicCallParse.d.ts +15 -0
- package/dist/vaults/fluid/publicCallParse.d.ts.map +1 -0
- package/dist/vaults/fluid/types.d.ts +57 -0
- package/dist/vaults/fluid/types.d.ts.map +1 -0
- package/dist/vaults/index.d.ts +2 -0
- package/dist/vaults/index.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/avant.d.ts +5 -0
- package/dist/yields/intrinsic/fetchers/avant.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/lido.d.ts.map +1 -1
- package/dist/yields/intrinsic/index.d.ts.map +1 -1
- package/package.json +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchLiquidity.d.ts","sourceRoot":"","sources":["../../src/flash-liquidity/fetchLiquidity.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE5D,OAAO,EAAE,uBAAuB,EAAgB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"fetchLiquidity.d.ts","sourceRoot":"","sources":["../../src/flash-liquidity/fetchLiquidity.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE5D,OAAO,EAAE,uBAAuB,EAAgB,MAAM,SAAS,CAAA;AA2B/D,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,sBAAsB,EACtC,IAAI,GAAE,SAAc,oCA+PrB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { fetchGeneralYields, fetchGeneralYieldsByMarketUid } from './yields';
|
|
|
4
4
|
export { fetchPendlePrices, fetchOraclePrices, selectAssetGroupPrices, type TokenListInput, type FetchOraclePricesOptions, type OraclePriceEntry, type StructuredOraclePrices, type USDPriceMap, type MorphoMarketOverrides, type ListaMarketOverrides, type OracleDiagnostics, type OraclePricesResult, type ChainDiagnostic, type TrackerDiagnostic, type StaleFeedEntry, } from './prices';
|
|
5
5
|
export { getLendersForChain, filterLendersByProtocol, getAavesForChain, getLenderAssets, isCompoundV3, isCompoundV3Type, isInit, isMorphoType, isAaveV3Type, isAaveV2Type, isYLDR, isAaveV32Type, isAaveType, isMultiMarket, createMarketUid, } from './utils';
|
|
6
6
|
export { fetchFlashLiquidityForChain, attachPricesToFlashLiquidity, } from './flash-liquidity';
|
|
7
|
+
export { buildFluidFTokensCall, getFluidFTokensConverter, fetchFluidFTokens, type FluidFToken, type FluidFTokens, } from './vaults';
|
|
7
8
|
export { type GenericCurrency, type GenericTokenList, type ParsedResponse, type ChainLinkResponse, type LenderRewardsMap, type NumberMap, type FullLenderRewardsMap, type AdditionalYields, type TokenList, type LenderUserQuery, type UserLendingPosition, type LenderUserResponse, type AaveV2UserReserveResponse, type AaveV3UserReserveResponse, type MorphoUserReserveResponse, type CompoundV3UserReserveResponse, type AaveV3Public, type LenderPublicBase, type LenderYields, type LenderTotalAmounts, type LenderConfigMap, type LenderConfigData, type ModeBase, type EModeData, type AaveV2Public, type CompoundV3Public, type UserApr, type InitUserReserveResponse, type InitPublic, type LenderData, type PoolData, type ConfigEntry, } from './types';
|
|
8
9
|
export { computeDepositDelta, computeWithdrawDelta, computeBorrowDelta, computeRepayDelta, getHealthFactor, getBorrowCapacity, getAssetConfig, computePostTradeMetrics, EMPTY_BALANCE, } from './lending/margin/base';
|
|
9
10
|
export type { PostTradeMetrics } from './lending/margin/base';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { parseAbi, formatEther, BaseError, encodeFunctionData, formatUnits, decodeFunctionResult, decodeAbiParameters, AbiEncodingLengthMismatchError, concatHex, isAddress, InvalidAddressError, pad, stringToHex, boolToHex, integerRegex, numberToHex, bytesRegex, BytesSizeMismatchError, arrayRegex, UnsupportedPackedAbiType } from './chunk-ZVIJSUIM.js';
|
|
2
2
|
import './chunk-BYTNVMX7.js';
|
|
3
3
|
import './chunk-PR4QN5HX.js';
|
|
4
|
-
import { Lender, isAaveType, isCompoundV3, isMultiMarket, isSiloV2Type, isSiloV3Type, isAaveV4Type, isInit, isMorphoType, isCompoundV2Type, isVenusType, isSumerType, AAVE_V3_LENDERS, AAVE_V2_LENDERS, isAaveV2Type, isAaveV32Type, isAaveV3Type, isEulerType, isYLDR, isCompoundV3Type, isLista, isTectonicType, isBenqiType } from '@1delta/lender-registry';
|
|
4
|
+
import { Lender, isAaveType, isCompoundV3, isMultiMarket, isSiloV2Type, isSiloV3Type, isAaveV4Type, isInit, isMorphoType, isCompoundV2Type, isVenusType, isSumerType, AAVE_V3_LENDERS, AAVE_V2_LENDERS, isAaveV2Type, isAaveV32Type, isAaveV3Type, isEulerType, isFluid, isYLDR, isCompoundV3Type, isLista, isTectonicType, isBenqiType } from '@1delta/lender-registry';
|
|
5
5
|
export { isAaveType, isAaveV2Type, isAaveV32Type, isAaveV3Type, isCompoundV3, isCompoundV3Type, isInit, isMorphoType, isMultiMarket, isYLDR } from '@1delta/lender-registry';
|
|
6
6
|
import lodash from 'lodash';
|
|
7
7
|
import { getEvmChain, getEvmClient, getEvmClientUniversal, multicallRetryUniversal } from '@1delta/providers';
|
|
8
|
-
import { MorphoLensAbi, AaveV4SpokeAbi, AaveV4OracleAbi, AaveV4HubAbi, MorphoBlueAbi } from '@1delta/abis';
|
|
8
|
+
import { FluidLendingResolverAbi, MorphoLensAbi, AaveV4SpokeAbi, AaveV4OracleAbi, AaveV4HubAbi, FluidVaultResolverAbi, MorphoBlueAbi } from '@1delta/abis';
|
|
9
9
|
export { MorphoLensAbi } from '@1delta/abis';
|
|
10
10
|
import { prepareDebitDataMulticall, prepareLenderDebitMulticall, parseDebitDataResult, parseLenderDebitResult, getPermit2ContractAddress, getCompoundV3CometAddress as getCompoundV3CometAddress$1, getMorphoAddress, getAaveCollateralTokenAddress, getSiloHalfForUnderlying, InitMarginAddresses } from '@1delta/calldata-sdk';
|
|
11
|
-
import { BALANCER_V2_FORKS, BALANCER_V3_FORKS, UNISWAP_V4_FORKS, FLASH_LOAN_IDS } from '@1delta/dex-registry';
|
|
11
|
+
import { BALANCER_V2_FORKS, BALANCER_V3_FORKS, UNISWAP_V4_FORKS, isFlashLoanSourceExcluded, FLASH_LOAN_IDS } from '@1delta/dex-registry';
|
|
12
12
|
|
|
13
13
|
// src/abis/aave-v2/ProtocolDataProvider.ts
|
|
14
14
|
var ProtocolDataProviderAbi = [
|
|
@@ -6281,7 +6281,9 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
|
|
|
6281
6281
|
siloMarkets: {},
|
|
6282
6282
|
siloPeripherals: {},
|
|
6283
6283
|
siloMarketsV3: {},
|
|
6284
|
-
siloPeripheralsV3: {}
|
|
6284
|
+
siloPeripheralsV3: {},
|
|
6285
|
+
fluidResolvers: {},
|
|
6286
|
+
fluidVaults: {}
|
|
6285
6287
|
};
|
|
6286
6288
|
function getGlobalData2() {
|
|
6287
6289
|
return globalThis[GLOBAL_LENDER_DATA_KEY];
|
|
@@ -6309,6 +6311,7 @@ var aaveV4Spokes = () => getGlobalData2()?.aaveV4Spokes;
|
|
|
6309
6311
|
var aaveV4Oracles = () => getGlobalData2()?.aaveV4Oracles;
|
|
6310
6312
|
var siloMarkets = () => getGlobalData2()?.siloMarkets;
|
|
6311
6313
|
var siloMarketsV3 = () => getGlobalData2()?.siloMarketsV3;
|
|
6314
|
+
var fluidResolvers = () => getGlobalData2()?.fluidResolvers;
|
|
6312
6315
|
function aaveV4SpokeLenderKey(spoke) {
|
|
6313
6316
|
if (!spoke || !spoke.startsWith("0x") || spoke.length !== 42) {
|
|
6314
6317
|
throw new Error(`aaveV4SpokeLenderKey: invalid spoke address ${spoke}`);
|
|
@@ -6402,6 +6405,7 @@ var LENDER_SHORT_NAMES = {
|
|
|
6402
6405
|
[Lender.COMPOUND_V3_WETH]: "Comp. WETH",
|
|
6403
6406
|
[Lender.COMPOUND_V3_WSTETH]: "Comp. wstETH",
|
|
6404
6407
|
[Lender.EULER_V2]: "Euler V2",
|
|
6408
|
+
[Lender.FLUID]: "Fluid",
|
|
6405
6409
|
[Lender.FLUX_FINANCE]: "Flux",
|
|
6406
6410
|
[Lender.GRANARY]: "Granary",
|
|
6407
6411
|
[Lender.HANA]: "Hana",
|
|
@@ -6412,7 +6416,7 @@ var LENDER_SHORT_NAMES = {
|
|
|
6412
6416
|
[Lender.MERIDIAN]: "Meridian"
|
|
6413
6417
|
};
|
|
6414
6418
|
function formatUnderscoreString(input) {
|
|
6415
|
-
const _in = input.replace("MORPHO_BLUE", "MB");
|
|
6419
|
+
const _in = input.replace("MORPHO_BLUE", "MB").replace(/^FLUID_/, "Fluid ");
|
|
6416
6420
|
return _in.split("_").map((word, index) => {
|
|
6417
6421
|
if (index === 0) {
|
|
6418
6422
|
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
|
|
@@ -6421,6 +6425,7 @@ function formatUnderscoreString(input) {
|
|
|
6421
6425
|
}).join(" ");
|
|
6422
6426
|
}
|
|
6423
6427
|
function lenderShortName(lender) {
|
|
6428
|
+
if (lender?.startsWith("FLUID")) return "Fluid";
|
|
6424
6429
|
return LENDER_SHORT_NAMES[lender] ?? formatUnderscoreString(lender);
|
|
6425
6430
|
}
|
|
6426
6431
|
|
|
@@ -19140,8 +19145,211 @@ var getSiloV3ReservesDataConverter = (lender, chainId, prices, additionalYields,
|
|
|
19140
19145
|
SILO_V3_CALLS_PER_PAIR
|
|
19141
19146
|
];
|
|
19142
19147
|
};
|
|
19148
|
+
var { chunk: chunk4 } = lodash;
|
|
19149
|
+
var buildFluidCall = (chainId, _lender) => {
|
|
19150
|
+
const resolvers = fluidResolvers()?.[chainId];
|
|
19151
|
+
if (!resolvers) return [];
|
|
19152
|
+
return [
|
|
19153
|
+
{
|
|
19154
|
+
address: resolvers.vaultResolver,
|
|
19155
|
+
name: "getVaultsEntireData",
|
|
19156
|
+
params: []
|
|
19157
|
+
}
|
|
19158
|
+
];
|
|
19159
|
+
};
|
|
19143
19160
|
|
|
19144
|
-
// src/lending/public-data/
|
|
19161
|
+
// src/lending/public-data/fluid/publicCallParse.ts
|
|
19162
|
+
var FLUID_EEE_LOWER = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
19163
|
+
var normalizeUnderlying = (addr) => addr === FLUID_EEE_LOWER ? zeroAddress : addr;
|
|
19164
|
+
var FLUID_RATE_SCALE = 100;
|
|
19165
|
+
var scaleFluidRate = (raw) => {
|
|
19166
|
+
if (raw === void 0 || raw === null) return 0;
|
|
19167
|
+
return Number(raw) / FLUID_RATE_SCALE;
|
|
19168
|
+
};
|
|
19169
|
+
var getFluidPublicDataConverter = (_lender, chainId, prices, additionalYields, tokenList = {}) => {
|
|
19170
|
+
const expectedNumberOfCalls = 1;
|
|
19171
|
+
return [
|
|
19172
|
+
(data) => {
|
|
19173
|
+
if (data.length !== expectedNumberOfCalls) return void 0;
|
|
19174
|
+
const [vaultEntireData] = data;
|
|
19175
|
+
const out = {};
|
|
19176
|
+
for (const vault of vaultEntireData ?? []) {
|
|
19177
|
+
const parsed = parseVault(
|
|
19178
|
+
vault,
|
|
19179
|
+
chainId,
|
|
19180
|
+
prices,
|
|
19181
|
+
additionalYields,
|
|
19182
|
+
tokenList
|
|
19183
|
+
);
|
|
19184
|
+
if (parsed) {
|
|
19185
|
+
out[parsed.lender] = {
|
|
19186
|
+
data: parsed.data,
|
|
19187
|
+
params: parsed.params,
|
|
19188
|
+
chainId
|
|
19189
|
+
};
|
|
19190
|
+
}
|
|
19191
|
+
}
|
|
19192
|
+
return out;
|
|
19193
|
+
},
|
|
19194
|
+
expectedNumberOfCalls
|
|
19195
|
+
];
|
|
19196
|
+
};
|
|
19197
|
+
function parseVault(vault, chainId, prices, additionalYields, tokenList) {
|
|
19198
|
+
const vaultAddress = (vault.vault ?? "").toLowerCase();
|
|
19199
|
+
const constants = vault.constantVariables;
|
|
19200
|
+
const configs = vault.configs;
|
|
19201
|
+
const rates = vault.exchangePricesAndRates;
|
|
19202
|
+
const totals = vault.totalSupplyAndBorrow;
|
|
19203
|
+
const limits = vault.limitsAndAvailability;
|
|
19204
|
+
if (!vaultAddress || !constants || !configs || !rates || !totals) {
|
|
19205
|
+
return void 0;
|
|
19206
|
+
}
|
|
19207
|
+
if (vault.isSmartCol || vault.isSmartDebt) return void 0;
|
|
19208
|
+
const rawCollateral = (constants.supplyToken?.token0 ?? constants.supplyToken ?? "").toString().toLowerCase();
|
|
19209
|
+
const rawLoan = (constants.borrowToken?.token0 ?? constants.borrowToken ?? "").toString().toLowerCase();
|
|
19210
|
+
if (!rawCollateral || !rawLoan) return void 0;
|
|
19211
|
+
const collateralAddress = normalizeUnderlying(rawCollateral);
|
|
19212
|
+
const loanAddress = normalizeUnderlying(rawLoan);
|
|
19213
|
+
const vaultId = Number(constants.vaultId ?? 0);
|
|
19214
|
+
const lender = `FLUID_${vaultId}`;
|
|
19215
|
+
const collateralMeta = tokenList[collateralAddress];
|
|
19216
|
+
const loanMeta = tokenList[loanAddress];
|
|
19217
|
+
const colDecimals = Number(
|
|
19218
|
+
constants.supplyDecimals ?? collateralMeta?.decimals ?? 18
|
|
19219
|
+
);
|
|
19220
|
+
const borrowDecimals = Number(
|
|
19221
|
+
constants.borrowDecimals ?? loanMeta?.decimals ?? 18
|
|
19222
|
+
);
|
|
19223
|
+
const totalSupply = Number(
|
|
19224
|
+
parseRawAmount(totals.totalSupplyVault?.toString(), colDecimals)
|
|
19225
|
+
);
|
|
19226
|
+
const totalBorrow = Number(
|
|
19227
|
+
parseRawAmount(totals.totalBorrowVault?.toString(), borrowDecimals)
|
|
19228
|
+
);
|
|
19229
|
+
const borrowable = Number(
|
|
19230
|
+
parseRawAmount(limits?.borrowable?.toString(), borrowDecimals)
|
|
19231
|
+
);
|
|
19232
|
+
const collateralPriceKey = toOracleKey(collateralMeta?.assetGroup) ?? toGenericPriceKey(collateralAddress, chainId);
|
|
19233
|
+
const loanPriceKey = toOracleKey(loanMeta?.assetGroup) ?? toGenericPriceKey(loanAddress, chainId);
|
|
19234
|
+
const collateralPrice = prices[collateralPriceKey] ?? 0;
|
|
19235
|
+
const loanPrice = prices[loanPriceKey] ?? 0;
|
|
19236
|
+
const ltv = Number(configs.collateralFactor ?? 0) / BPS;
|
|
19237
|
+
const liquidationThreshold = Number(configs.liquidationThreshold ?? 0) / BPS;
|
|
19238
|
+
const liquidationPenalty = Number(configs.liquidationPenalty ?? 0) / BPS;
|
|
19239
|
+
const supplyRate = scaleFluidRate(rates.supplyRateVault);
|
|
19240
|
+
const borrowRate = scaleFluidRate(rates.borrowRateVault);
|
|
19241
|
+
const utilization = totalSupply > 0 ? totalBorrow / totalSupply : 0;
|
|
19242
|
+
const data = {};
|
|
19243
|
+
const collateralMarketUid = createMarketUid(chainId, lender, collateralAddress);
|
|
19244
|
+
data[collateralMarketUid] = {
|
|
19245
|
+
marketUid: collateralMarketUid,
|
|
19246
|
+
name: "Collateral " + (collateralMeta?.symbol ?? ""),
|
|
19247
|
+
poolId: collateralAddress,
|
|
19248
|
+
underlying: collateralAddress,
|
|
19249
|
+
asset: collateralMeta,
|
|
19250
|
+
totalDeposits: totalSupply,
|
|
19251
|
+
totalDebtStable: 0,
|
|
19252
|
+
totalDebt: 0,
|
|
19253
|
+
totalLiquidity: totalSupply,
|
|
19254
|
+
borrowLiquidity: 0,
|
|
19255
|
+
totalDepositsUSD: totalSupply * collateralPrice,
|
|
19256
|
+
totalDebtStableUSD: 0,
|
|
19257
|
+
totalDebtUSD: 0,
|
|
19258
|
+
totalLiquidityUSD: totalSupply * collateralPrice,
|
|
19259
|
+
borrowLiquidityUSD: 0,
|
|
19260
|
+
utilization: 0,
|
|
19261
|
+
depositRate: supplyRate,
|
|
19262
|
+
// vault collateral earns the supply side rate
|
|
19263
|
+
variableBorrowRate: 0,
|
|
19264
|
+
stableBorrowRate: 0,
|
|
19265
|
+
intrinsicYield: additionalYields?.intrinsicYields?.[collateralPriceKey] ?? 0,
|
|
19266
|
+
rewards: [],
|
|
19267
|
+
decimals: colDecimals,
|
|
19268
|
+
config: {
|
|
19269
|
+
"0": {
|
|
19270
|
+
category: 0,
|
|
19271
|
+
borrowCollateralFactor: ltv,
|
|
19272
|
+
collateralFactor: liquidationThreshold,
|
|
19273
|
+
borrowFactor: 1,
|
|
19274
|
+
collateralDisabled: false,
|
|
19275
|
+
debtDisabled: true
|
|
19276
|
+
}
|
|
19277
|
+
},
|
|
19278
|
+
liquidationBonus: liquidationPenalty,
|
|
19279
|
+
collateralActive: true,
|
|
19280
|
+
borrowingEnabled: false,
|
|
19281
|
+
depositsEnabled: true,
|
|
19282
|
+
hasStable: false,
|
|
19283
|
+
isActive: true,
|
|
19284
|
+
isFrozen: false
|
|
19285
|
+
};
|
|
19286
|
+
const loanMarketUid = createMarketUid(chainId, lender, loanAddress);
|
|
19287
|
+
data[loanMarketUid] = {
|
|
19288
|
+
marketUid: loanMarketUid,
|
|
19289
|
+
name: "Loan " + (loanMeta?.symbol ?? ""),
|
|
19290
|
+
poolId: loanAddress,
|
|
19291
|
+
underlying: loanAddress,
|
|
19292
|
+
asset: loanMeta,
|
|
19293
|
+
totalDeposits: 0,
|
|
19294
|
+
totalDebtStable: 0,
|
|
19295
|
+
totalDebt: totalBorrow,
|
|
19296
|
+
totalLiquidity: borrowable,
|
|
19297
|
+
borrowLiquidity: borrowable,
|
|
19298
|
+
totalDepositsUSD: 0,
|
|
19299
|
+
totalDebtStableUSD: 0,
|
|
19300
|
+
totalDebtUSD: totalBorrow * loanPrice,
|
|
19301
|
+
totalLiquidityUSD: borrowable * loanPrice,
|
|
19302
|
+
borrowLiquidityUSD: borrowable * loanPrice,
|
|
19303
|
+
utilization,
|
|
19304
|
+
depositRate: 0,
|
|
19305
|
+
variableBorrowRate: borrowRate,
|
|
19306
|
+
stableBorrowRate: 0,
|
|
19307
|
+
intrinsicYield: additionalYields?.intrinsicYields?.[loanPriceKey] ?? 0,
|
|
19308
|
+
rewards: [],
|
|
19309
|
+
decimals: borrowDecimals,
|
|
19310
|
+
config: {
|
|
19311
|
+
"0": {
|
|
19312
|
+
category: 0,
|
|
19313
|
+
borrowCollateralFactor: 0,
|
|
19314
|
+
collateralFactor: 0,
|
|
19315
|
+
borrowFactor: 1,
|
|
19316
|
+
collateralDisabled: true,
|
|
19317
|
+
debtDisabled: false
|
|
19318
|
+
}
|
|
19319
|
+
},
|
|
19320
|
+
liquidationBonus: 0,
|
|
19321
|
+
collateralActive: false,
|
|
19322
|
+
borrowingEnabled: true,
|
|
19323
|
+
depositsEnabled: false,
|
|
19324
|
+
hasStable: false,
|
|
19325
|
+
isActive: true,
|
|
19326
|
+
isFrozen: false
|
|
19327
|
+
};
|
|
19328
|
+
return {
|
|
19329
|
+
lender,
|
|
19330
|
+
data,
|
|
19331
|
+
params: {
|
|
19332
|
+
vault: {
|
|
19333
|
+
lender,
|
|
19334
|
+
vaultAddress,
|
|
19335
|
+
vaultId,
|
|
19336
|
+
collateralAddress,
|
|
19337
|
+
loanAddress,
|
|
19338
|
+
collateralDecimals: colDecimals,
|
|
19339
|
+
loanDecimals: borrowDecimals,
|
|
19340
|
+
oracle: configs.oracle,
|
|
19341
|
+
rebalancer: configs.rebalancer,
|
|
19342
|
+
liquidationThreshold,
|
|
19343
|
+
ltv,
|
|
19344
|
+
liquidationPenalty,
|
|
19345
|
+
oraclePriceOperate: configs.oraclePriceOperate?.toString(),
|
|
19346
|
+
oraclePriceLiquidate: configs.oraclePriceLiquidate?.toString(),
|
|
19347
|
+
isSmartCol: !!vault.isSmartCol,
|
|
19348
|
+
isSmartDebt: !!vault.isSmartDebt
|
|
19349
|
+
}
|
|
19350
|
+
}
|
|
19351
|
+
};
|
|
19352
|
+
}
|
|
19145
19353
|
function getMorphoTypeMarketConverter(lender, chainId, prices, additionalYields, tokenList = {}, marketsOverride) {
|
|
19146
19354
|
if (lender.startsWith("LISTA_DAO"))
|
|
19147
19355
|
return getListaMarketDataConverter(
|
|
@@ -19178,6 +19386,7 @@ function buildLenderCall(chainId, lender) {
|
|
|
19178
19386
|
if (isAaveV4Type(lender)) return buildAaveV4LenderReserveCall(chainId, lender);
|
|
19179
19387
|
if (isSiloV2Type(lender)) return buildSiloV2LenderReserveCall(chainId, lender);
|
|
19180
19388
|
if (isSiloV3Type(lender)) return buildSiloV3LenderReserveCall(chainId, lender);
|
|
19389
|
+
if (isFluid(lender)) return buildFluidCall(chainId);
|
|
19181
19390
|
return [];
|
|
19182
19391
|
}
|
|
19183
19392
|
function getLenderDataConverter(lender, chainId, prices, additionalYields, tokenList = {}) {
|
|
@@ -19262,6 +19471,14 @@ function getLenderDataConverter(lender, chainId, prices, additionalYields, token
|
|
|
19262
19471
|
additionalYields,
|
|
19263
19472
|
tokenList
|
|
19264
19473
|
);
|
|
19474
|
+
if (isFluid(lender))
|
|
19475
|
+
return getFluidPublicDataConverter(
|
|
19476
|
+
lender,
|
|
19477
|
+
chainId,
|
|
19478
|
+
prices,
|
|
19479
|
+
additionalYields,
|
|
19480
|
+
tokenList
|
|
19481
|
+
);
|
|
19265
19482
|
return [() => null, 0];
|
|
19266
19483
|
}
|
|
19267
19484
|
var getAbi = (lender) => {
|
|
@@ -19286,6 +19503,8 @@ var getAbi = (lender) => {
|
|
|
19286
19503
|
return [...SiloAbi, ...SiloLensAbi, ...InterestRateModelV2Abi];
|
|
19287
19504
|
if (isSiloV3Type(lender))
|
|
19288
19505
|
return [...SiloAbi, ...SiloLensAbi, ...InterestRateModelV2Abi];
|
|
19506
|
+
if (isFluid(lender))
|
|
19507
|
+
return [...FluidVaultResolverAbi];
|
|
19289
19508
|
if (isSumerType(lender)) return [...SumerLensAbi, ...SumerComptrollerAbi];
|
|
19290
19509
|
if (lender === Lender.TAKARA) return [...TakaraMarketStateAbi];
|
|
19291
19510
|
if (isCompoundV2Type(lender)) return VenusLensAbi;
|
|
@@ -28634,10 +28853,32 @@ async function getListsMulti(chainIds) {
|
|
|
28634
28853
|
// src/yields/intrinsic/fetchers/lido.ts
|
|
28635
28854
|
var WSTETH_URL = "https://eth-api.lido.fi/v1/protocol/steth/apr/sma";
|
|
28636
28855
|
var tETH = "Treehouse ETH::TETH";
|
|
28856
|
+
var robustFetchJson = async (url, { timeoutMs = 5e3, attempts = 3 } = {}) => {
|
|
28857
|
+
let lastErr;
|
|
28858
|
+
for (let i = 0; i < attempts; i++) {
|
|
28859
|
+
try {
|
|
28860
|
+
const res = await fetch(url, {
|
|
28861
|
+
headers: {
|
|
28862
|
+
accept: "application/json",
|
|
28863
|
+
"user-agent": "1delta-margin-fetcher"
|
|
28864
|
+
},
|
|
28865
|
+
signal: AbortSignal.timeout(timeoutMs)
|
|
28866
|
+
});
|
|
28867
|
+
if (!res.ok) throw new Error(`HTTP ${res.status}`);
|
|
28868
|
+
return await res.json();
|
|
28869
|
+
} catch (e) {
|
|
28870
|
+
lastErr = e;
|
|
28871
|
+
if (i < attempts - 1) {
|
|
28872
|
+
await new Promise((r) => setTimeout(r, 250 * (i + 1)));
|
|
28873
|
+
}
|
|
28874
|
+
}
|
|
28875
|
+
}
|
|
28876
|
+
throw lastErr;
|
|
28877
|
+
};
|
|
28637
28878
|
var wstethFetcher = {
|
|
28638
28879
|
label: "WSTETH",
|
|
28639
28880
|
fetch: async () => {
|
|
28640
|
-
const res = await
|
|
28881
|
+
const res = await robustFetchJson(WSTETH_URL);
|
|
28641
28882
|
const apr = Number(res.data.aprs.at(-1).apr) * 0.9;
|
|
28642
28883
|
return {
|
|
28643
28884
|
WSTETH: apr,
|
|
@@ -29596,6 +29837,29 @@ var infinifiFetcher = {
|
|
|
29596
29837
|
}
|
|
29597
29838
|
};
|
|
29598
29839
|
|
|
29840
|
+
// src/yields/intrinsic/fetchers/avant.ts
|
|
29841
|
+
var AVANT_BASE = "https://app.avantprotocol.com/api/apy";
|
|
29842
|
+
var sAVUSD = "Staked avUSD::savUSD";
|
|
29843
|
+
var sAVETH = "Staked avETH::savETH";
|
|
29844
|
+
var sAVBTC = "Staked avBTC::savBTC";
|
|
29845
|
+
var fetchAvantApr = async (slug) => {
|
|
29846
|
+
const res = await fetch(`${AVANT_BASE}/${slug}`).then((r) => r.json());
|
|
29847
|
+
const apy = Number(res?.apy ?? 0);
|
|
29848
|
+
return apyToAprPercent(apy);
|
|
29849
|
+
};
|
|
29850
|
+
var savusdFetcher = {
|
|
29851
|
+
label: "SAVUSD",
|
|
29852
|
+
fetch: async () => ({ [sAVUSD]: await fetchAvantApr("savusd") })
|
|
29853
|
+
};
|
|
29854
|
+
var savethFetcher = {
|
|
29855
|
+
label: "SAVETH",
|
|
29856
|
+
fetch: async () => ({ [sAVETH]: await fetchAvantApr("saveth") })
|
|
29857
|
+
};
|
|
29858
|
+
var savbtcFetcher = {
|
|
29859
|
+
label: "SAVBTC",
|
|
29860
|
+
fetch: async () => ({ [sAVBTC]: await fetchAvantApr("savbtc") })
|
|
29861
|
+
};
|
|
29862
|
+
|
|
29599
29863
|
// src/yields/intrinsic/index.ts
|
|
29600
29864
|
async function fetchIntrinsicYields() {
|
|
29601
29865
|
const wstethPromise = safeFetch(wstethFetcher.label, wstethFetcher.fetch);
|
|
@@ -29648,7 +29912,10 @@ async function fetchIntrinsicYields() {
|
|
|
29648
29912
|
susdfFetcher,
|
|
29649
29913
|
midasFetcher,
|
|
29650
29914
|
capFetcher,
|
|
29651
|
-
infinifiFetcher
|
|
29915
|
+
infinifiFetcher,
|
|
29916
|
+
savusdFetcher,
|
|
29917
|
+
savethFetcher,
|
|
29918
|
+
savbtcFetcher
|
|
29652
29919
|
];
|
|
29653
29920
|
const results = await Promise.all([
|
|
29654
29921
|
wstethPromise,
|
|
@@ -32285,7 +32552,9 @@ async function fetchFlashLiquidityForChain(chain, multicallRetry, list = {}) {
|
|
|
32285
32552
|
let aaveAssets = {};
|
|
32286
32553
|
let aaveCalls = [];
|
|
32287
32554
|
const aaves = getAavesForChain();
|
|
32288
|
-
const aaveProtocols = aaves[chain] ?? []
|
|
32555
|
+
const aaveProtocols = (aaves[chain] ?? []).filter(
|
|
32556
|
+
(l) => !isFlashLoanSourceExcluded(chain, l)
|
|
32557
|
+
);
|
|
32289
32558
|
const allAaveUnderlyings = [];
|
|
32290
32559
|
aaveProtocols.forEach((aaveFork) => {
|
|
32291
32560
|
const underlyingsAndATokens = Object.entries(
|
|
@@ -32487,6 +32756,89 @@ function attachPricesToFlashLiquidity(chainId, liq, prices, list = {}) {
|
|
|
32487
32756
|
return liqCopy;
|
|
32488
32757
|
}
|
|
32489
32758
|
|
|
32759
|
+
// src/vaults/fluid/publicCallBuild.ts
|
|
32760
|
+
var buildFluidFTokensCall = (chainId) => {
|
|
32761
|
+
const resolvers = fluidResolvers()?.[chainId];
|
|
32762
|
+
if (!resolvers) return [];
|
|
32763
|
+
return [
|
|
32764
|
+
{
|
|
32765
|
+
address: resolvers.lendingResolver,
|
|
32766
|
+
name: "getFTokensEntireData",
|
|
32767
|
+
params: []
|
|
32768
|
+
}
|
|
32769
|
+
];
|
|
32770
|
+
};
|
|
32771
|
+
|
|
32772
|
+
// src/vaults/fluid/publicCallParse.ts
|
|
32773
|
+
var FLUID_EEE_LOWER2 = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
32774
|
+
var normalizeUnderlying2 = (addr) => addr === FLUID_EEE_LOWER2 ? zeroAddress : addr;
|
|
32775
|
+
var FLUID_RATE_SCALE2 = 100;
|
|
32776
|
+
var scaleFluidRate2 = (raw) => {
|
|
32777
|
+
if (raw === void 0 || raw === null) return 0;
|
|
32778
|
+
return Number(raw) / FLUID_RATE_SCALE2;
|
|
32779
|
+
};
|
|
32780
|
+
var getFluidFTokensConverter = (chainId, prices = {}, tokenList = {}) => {
|
|
32781
|
+
const expectedNumberOfCalls = 1;
|
|
32782
|
+
return [
|
|
32783
|
+
(data) => {
|
|
32784
|
+
if (data.length !== expectedNumberOfCalls) return void 0;
|
|
32785
|
+
const [fTokenDetails] = data;
|
|
32786
|
+
return parseFTokens(fTokenDetails ?? [], chainId, prices, tokenList);
|
|
32787
|
+
},
|
|
32788
|
+
expectedNumberOfCalls
|
|
32789
|
+
];
|
|
32790
|
+
};
|
|
32791
|
+
function parseFTokens(fTokens, chainId, prices, tokenList) {
|
|
32792
|
+
const out = {};
|
|
32793
|
+
for (const ft of fTokens) {
|
|
32794
|
+
const rawAsset = (ft.asset ?? "").toString().toLowerCase();
|
|
32795
|
+
if (!rawAsset) continue;
|
|
32796
|
+
const underlying = normalizeUnderlying2(rawAsset);
|
|
32797
|
+
const assetMeta = tokenList[underlying];
|
|
32798
|
+
const decimals = Number(ft.decimals ?? assetMeta?.decimals ?? 18);
|
|
32799
|
+
const totalAssetsFormatted = Number(
|
|
32800
|
+
parseRawAmount(ft.totalAssets?.toString(), decimals)
|
|
32801
|
+
);
|
|
32802
|
+
const oracleKey = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(underlying, chainId);
|
|
32803
|
+
const priceUsd = prices[oracleKey] ?? 0;
|
|
32804
|
+
const supplyRate = scaleFluidRate2(ft.supplyRate);
|
|
32805
|
+
const rewardsRate = scaleFluidRate2(ft.rewardsRate);
|
|
32806
|
+
const entry = {
|
|
32807
|
+
address: ft.tokenAddress,
|
|
32808
|
+
underlying,
|
|
32809
|
+
symbol: ft.symbol ?? "",
|
|
32810
|
+
name: ft.name ?? "",
|
|
32811
|
+
decimals,
|
|
32812
|
+
totalAssets: ft.totalAssets?.toString() ?? "0",
|
|
32813
|
+
totalSupply: ft.totalSupply?.toString() ?? "0",
|
|
32814
|
+
convertToShares: ft.convertToShares?.toString() ?? "0",
|
|
32815
|
+
convertToAssets: ft.convertToAssets?.toString() ?? "0",
|
|
32816
|
+
supplyRate,
|
|
32817
|
+
rewardsRate,
|
|
32818
|
+
depositRate: supplyRate + rewardsRate,
|
|
32819
|
+
isNativeUnderlying: !!ft.isNativeUnderlying,
|
|
32820
|
+
eip2612Deposits: !!ft.eip2612Deposits,
|
|
32821
|
+
asset: assetMeta,
|
|
32822
|
+
priceUsd: priceUsd || void 0,
|
|
32823
|
+
totalAssetsFormatted,
|
|
32824
|
+
totalAssetsUsd: totalAssetsFormatted * priceUsd
|
|
32825
|
+
};
|
|
32826
|
+
out[underlying] = entry;
|
|
32827
|
+
}
|
|
32828
|
+
return out;
|
|
32829
|
+
}
|
|
32830
|
+
var fetchFluidFTokens = async (chainId, multicallRetry, prices = {}, tokenList = {}) => {
|
|
32831
|
+
const calls = buildFluidFTokensCall(chainId);
|
|
32832
|
+
if (calls.length === 0) return {};
|
|
32833
|
+
const raw = await multicallRetry({
|
|
32834
|
+
chain: chainId,
|
|
32835
|
+
calls,
|
|
32836
|
+
abi: calls.map(() => FluidLendingResolverAbi)
|
|
32837
|
+
});
|
|
32838
|
+
const [converter] = getFluidFTokensConverter(chainId, prices, tokenList);
|
|
32839
|
+
return converter(raw) ?? {};
|
|
32840
|
+
};
|
|
32841
|
+
|
|
32490
32842
|
// src/lending/margin/e-mode/index.ts
|
|
32491
32843
|
function computeEModeSwitchHealth(positions, lenderMeta, currentCollateral, currentAdjustedDebt, currentMode, targetMode) {
|
|
32492
32844
|
if (currentAdjustedDebt === 0) return null;
|
|
@@ -32973,6 +33325,6 @@ async function fetchTokenBalances(chainId, account, tokens, options = {}) {
|
|
|
32973
33325
|
return parseTokenBalanceResult(rawResult, prepared.query);
|
|
32974
33326
|
}
|
|
32975
33327
|
|
|
32976
|
-
export { EMPTY_BALANCE, MORPHO_LENS, MaxParamThresholds, applyPositionDelta, attachPricesToFlashLiquidity, buildLoopResult, buildMorphoTypeCall, buildMorphoTypeUserCallWithLens, buildPortfolioTotals, buildSumerAccumulators, buildSummaries, calculateLeverage, calculateNetApr, calculateOverallNetApr, calculateWeightedAverage, computeBorrowDelta2 as computeBorrowDelta, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeDepositDelta2 as computeDepositDelta, computeEModeAnalysis, computeOpenTradeDeltas, computePostTradeMetrics, computeRepayDelta2 as computeRepayDelta, computeSumerBorrowDelta, computeSumerDepositDelta, computeSumerRepayDelta, computeSumerWaterfall, computeSumerWithdrawDelta, computeWithdrawDelta2 as computeWithdrawDelta, computeZapTradeDeltas, convertLenderUserDataResult, createMarketUid, createMulticallRpcCall, createRawRpcCalls, decodeListaMarkets, decodeMarkets, decodePackedListaUserDataset, decodePackedMorphoUserDataset, encodeBalanceFetcherCalldata, fetchEulerSubAccountIndexes, fetchFlashLiquidityForChain, fetchGeneralYields, fetchGeneralYieldsByMarketUid, fetchOraclePrices, fetchPendlePrices, fetchTokenBalances, fetchTokenMetadata, filterActiveLenders, filterLendersByProtocol, fuseLenderData, generateLendingPools, getAavesForChain, getAssetConfig, getBalanceForMarketUid, getBorrowCapacity, getHealthFactor, getLenderAssets, getLenderPublicData, getLenderPublicDataAll, getLenderPublicDataViaApi, getLenderUserDataMulti, getLenderUserDataResult, getLendersForChain, getMaxAmountClose, getMaxAmountCollateralSwap, getMaxAmountDebtSwap, getMaxAmountOpen, getMergedUserData, getMorphoTypeMarketConverter, getSubAccountAddress, getSubAccountIndex, keysFromMaps, multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseMergedResult, parseMulticallRpcResponses, parseRawRpcBatchResponses, parseRawRpcResponses, parseTokenBalanceResult, positivePart2 as positivePart, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, selectAssetGroupPrices, unflattenLenderData };
|
|
33328
|
+
export { EMPTY_BALANCE, MORPHO_LENS, MaxParamThresholds, applyPositionDelta, attachPricesToFlashLiquidity, buildFluidFTokensCall, buildLoopResult, buildMorphoTypeCall, buildMorphoTypeUserCallWithLens, buildPortfolioTotals, buildSumerAccumulators, buildSummaries, calculateLeverage, calculateNetApr, calculateOverallNetApr, calculateWeightedAverage, computeBorrowDelta2 as computeBorrowDelta, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeDepositDelta2 as computeDepositDelta, computeEModeAnalysis, computeOpenTradeDeltas, computePostTradeMetrics, computeRepayDelta2 as computeRepayDelta, computeSumerBorrowDelta, computeSumerDepositDelta, computeSumerRepayDelta, computeSumerWaterfall, computeSumerWithdrawDelta, computeWithdrawDelta2 as computeWithdrawDelta, computeZapTradeDeltas, convertLenderUserDataResult, createMarketUid, createMulticallRpcCall, createRawRpcCalls, decodeListaMarkets, decodeMarkets, decodePackedListaUserDataset, decodePackedMorphoUserDataset, encodeBalanceFetcherCalldata, fetchEulerSubAccountIndexes, fetchFlashLiquidityForChain, fetchFluidFTokens, fetchGeneralYields, fetchGeneralYieldsByMarketUid, fetchOraclePrices, fetchPendlePrices, fetchTokenBalances, fetchTokenMetadata, filterActiveLenders, filterLendersByProtocol, fuseLenderData, generateLendingPools, getAavesForChain, getAssetConfig, getBalanceForMarketUid, getBorrowCapacity, getFluidFTokensConverter, getHealthFactor, getLenderAssets, getLenderPublicData, getLenderPublicDataAll, getLenderPublicDataViaApi, getLenderUserDataMulti, getLenderUserDataResult, getLendersForChain, getMaxAmountClose, getMaxAmountCollateralSwap, getMaxAmountDebtSwap, getMaxAmountOpen, getMergedUserData, getMorphoTypeMarketConverter, getSubAccountAddress, getSubAccountIndex, keysFromMaps, multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseMergedResult, parseMulticallRpcResponses, parseRawRpcBatchResponses, parseRawRpcResponses, parseTokenBalanceResult, positivePart2 as positivePart, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, selectAssetGroupPrices, unflattenLenderData };
|
|
32977
33329
|
//# sourceMappingURL=index.js.map
|
|
32978
33330
|
//# sourceMappingURL=index.js.map
|