@1delta/margin-fetcher 0.0.183 → 0.0.185

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.d.ts CHANGED
@@ -8,7 +8,7 @@ export { fetchFlashLiquidityForChain, attachPricesToFlashLiquidity, } from './fl
8
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';
9
9
  export { computeDepositDelta, computeWithdrawDelta, computeBorrowDelta, computeRepayDelta, getHealthFactor, getBorrowCapacity, getAssetConfig, computePostTradeMetrics, EMPTY_BALANCE, } from './lending/margin/base';
10
10
  export type { PostTradeMetrics } from './lending/margin/base';
11
- export { computeOpenTradeDeltas, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeZapTradeDeltas, positivePart, nanTo, keysFromMaps, noOpResult, buildLoopResult, getMaxAmountOpen, MaxParamThresholds, } from './lending/margin/loop';
11
+ export { computeOpenTradeDeltas, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeZapTradeDeltas, positivePart, nanTo, keysFromMaps, noOpResult, buildLoopResult, getMaxAmountOpen, getMaxAmountCollateralSwap, getMaxAmountDebtSwap, getMaxAmountClose, MaxParamThresholds, } from './lending/margin/loop';
12
12
  export { computeEModeAnalysis } from './lending/margin/e-mode';
13
13
  export type { EModeResult, EModeAssets } from './lending/margin/e-mode';
14
14
  export type { LoopPostTradeMetrics, LendingMode } from './lending/margin/loop';
@@ -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
@@ -7487,7 +7487,13 @@ var DISABLED_COMPOUNDS = {
7487
7487
  var ENABLED_EULER_V2_CHAINS = [
7488
7488
  Chain.BNB_SMART_CHAIN_MAINNET,
7489
7489
  Chain.PLASMA_MAINNET,
7490
- Chain.BERACHAIN
7490
+ Chain.BERACHAIN,
7491
+ Chain.HYPEREVM,
7492
+ Chain.UNICHAIN,
7493
+ Chain.SONIC_MAINNET,
7494
+ Chain.MONAD_MAINNET
7495
+ // Chain.BASE,
7496
+ // Chain.ARBITRUM_ONE,
7491
7497
  ];
7492
7498
  var getLendersForChain = (c) => {
7493
7499
  let lenders = [];
@@ -8397,23 +8403,25 @@ var populateEModes = (borrowCollateralFactor, collateralFactor, eModeCategory, e
8397
8403
  debtDisabled: !borrowingEnabled
8398
8404
  };
8399
8405
  if (e > 0 && eModeConfigs[e]?.label && eModeConfigs[e]?.label !== "") {
8400
- data[e] = {};
8401
- data[e].label = eModeConfigs[e]?.label;
8402
- data[e].debtDisabled = true;
8403
- data[e].category = e;
8404
- data[e].borrowFactor = 1;
8405
- data[e].collateralFactor = collateralFactor;
8406
- data[e].borrowCollateralFactor = borrowCollateralFactor;
8407
- data[e].collateralDisabled = !usageAsCollateralEnabled;
8408
- data[e].debtDisabled = !borrowingEnabled;
8409
- if (e > 0 && e === eModeCategory && eModeConfigs[e]) {
8406
+ if (e === eModeCategory) {
8410
8407
  data[e] = {
8411
- ...data[e],
8408
+ label: eModeConfigs[e]?.label,
8412
8409
  category: e,
8413
8410
  borrowCollateralFactor: eModeConfigs[e]?.borrowCollateralFactor ?? 0,
8414
8411
  collateralFactor: eModeConfigs[e]?.collateralFactor ?? 0,
8415
8412
  borrowFactor: 1,
8416
- debtDisabled: false
8413
+ collateralDisabled: !usageAsCollateralEnabled,
8414
+ debtDisabled: !borrowingEnabled
8415
+ };
8416
+ } else {
8417
+ data[e] = {
8418
+ label: eModeConfigs[e]?.label,
8419
+ category: e,
8420
+ borrowCollateralFactor,
8421
+ collateralFactor,
8422
+ borrowFactor: 1,
8423
+ collateralDisabled: false,
8424
+ debtDisabled: true
8417
8425
  };
8418
8426
  }
8419
8427
  }
@@ -12203,7 +12211,8 @@ function convertMarketsToMorphoResponse(response, chainId, additionalYields = {
12203
12211
  irm: irmAddress,
12204
12212
  collateralAddress: collateralAssetAddress,
12205
12213
  loanAddress: loanAssetAddress,
12206
- isListed: whitelisted
12214
+ isListed: whitelisted,
12215
+ fee: state.fee
12207
12216
  }
12208
12217
  };
12209
12218
  data[m].chainId = chainId;
@@ -12258,6 +12267,7 @@ query GetMarkets {
12258
12267
  supplyAssetsUsd
12259
12268
  collateralAssets
12260
12269
  collateralAssetsUsd
12270
+ fee
12261
12271
  }
12262
12272
  }
12263
12273
  }
@@ -12883,7 +12893,8 @@ function getListaMarketDataConverter(lender, chainId, prices, additionalYields =
12883
12893
  broker,
12884
12894
  loanProvider,
12885
12895
  collateralProvider,
12886
- hasWhitelist
12896
+ hasWhitelist,
12897
+ fee: state.fee.toString()
12887
12898
  }
12888
12899
  };
12889
12900
  data[m].chainId = chainId;
@@ -13086,7 +13097,8 @@ function getMorphoMarketDataConverter(lender, chainId, prices, additionalYields
13086
13097
  oracle,
13087
13098
  irm,
13088
13099
  collateralAddress: collateralAssetAddress,
13089
- loanAddress: loanTokenAddress
13100
+ loanAddress: loanTokenAddress,
13101
+ fee: state.fee.toString()
13090
13102
  }
13091
13103
  };
13092
13104
  data[m].chainId = chainId;
@@ -25839,6 +25851,27 @@ function getMaxAmountOpen(borrowDiscountedCollateral, collateral, debt, cfOut, b
25839
25851
  return (borrowDiscountedCollateral - 1.01 /* SAFE_HF */ * debt) / (1.01 /* SAFE_HF */ * bfIn - cfOut);
25840
25852
  }
25841
25853
 
25854
+ // src/lending/margin/loop/ranges/getMaxAmountCollateralSwap.ts
25855
+ function getMaxAmountCollateralSwap(borrowDiscountedCollateral, adjustedDebt, ltvIn, ltvOut) {
25856
+ if (ltvOut >= ltvIn) return Infinity;
25857
+ const denominator = ltvIn - ltvOut;
25858
+ return (borrowDiscountedCollateral - 1.01 /* SAFE_HF */ * adjustedDebt) / denominator;
25859
+ }
25860
+
25861
+ // src/lending/margin/loop/ranges/getMaxAmountDebtSwap.ts
25862
+ function getMaxAmountDebtSwap(borrowDiscountedCollateral, adjustedDebt, bfIn, bfOut) {
25863
+ if (bfOut <= bfIn) return Infinity;
25864
+ const denominator = 1.01 /* SAFE_HF */ * (bfOut - bfIn);
25865
+ return (borrowDiscountedCollateral - 1.01 /* SAFE_HF */ * adjustedDebt) / denominator;
25866
+ }
25867
+
25868
+ // src/lending/margin/loop/ranges/getMaxAmountClose.ts
25869
+ function getMaxAmountClose(borrowDiscountedCollateral, adjustedDebt, ltvIn, bfOut) {
25870
+ const denominator = ltvIn - 1.01 /* SAFE_HF */ * bfOut;
25871
+ if (denominator <= 0) return Infinity;
25872
+ return (borrowDiscountedCollateral - 1.01 /* SAFE_HF */ * adjustedDebt) / denominator;
25873
+ }
25874
+
25842
25875
  // src/assets/liquidityThresholds.ts
25843
25876
  var DEFAULT_LIQUIDITY_THRESHOLDS = {
25844
25877
  minDepositsUSD: 25e3,
@@ -31758,6 +31791,6 @@ async function fetchTokenBalances(chainId, account, tokens, options = {}) {
31758
31791
  return parseTokenBalanceResult(rawResult, prepared.query);
31759
31792
  }
31760
31793
 
31761
- 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, fetchDefillamaData, fetchDefillamaHistData, fetchEulerSubAccountIndexes, fetchFlashLiquidityForChain, fetchGeneralYields, fetchGeneralYieldsByMarketUid, fetchMainPrices, fetchOraclePrices, fetchPendlePrices, fetchTokenBalances, fetchTokenMetadata, filterActiveLenders, filterLendersByProtocol, fuseLenderData, generateLendingPairs, generateLendingPools, getAavesForChain, getAssetConfig, getBalanceForMarketUid, getBorrowCapacity, getHealthFactor, getLenderAssets, getLenderPublicData, getLenderPublicDataAll, getLenderPublicDataViaApi, getLenderUserDataMulti, getLenderUserDataResult, getLendersForChain, getMaxAmountOpen, getMergedUserData, getMorphoTypeMarketConverter, getSubAccountAddress, getSubAccountIndex, getTopPairs, keysFromMaps, multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseMergedResult, parseMulticallRpcResponses, parseRawRpcBatchResponses, parseRawRpcResponses, parseTokenBalanceResult, positivePart2 as positivePart, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, selectAssetGroupPrices, unflattenLenderData };
31794
+ 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, fetchDefillamaData, fetchDefillamaHistData, fetchEulerSubAccountIndexes, fetchFlashLiquidityForChain, fetchGeneralYields, fetchGeneralYieldsByMarketUid, fetchMainPrices, fetchOraclePrices, fetchPendlePrices, fetchTokenBalances, fetchTokenMetadata, filterActiveLenders, filterLendersByProtocol, fuseLenderData, generateLendingPairs, generateLendingPools, getAavesForChain, getAssetConfig, getBalanceForMarketUid, getBorrowCapacity, getHealthFactor, getLenderAssets, getLenderPublicData, getLenderPublicDataAll, getLenderPublicDataViaApi, getLenderUserDataMulti, getLenderUserDataResult, getLendersForChain, getMaxAmountClose, getMaxAmountCollateralSwap, getMaxAmountDebtSwap, getMaxAmountOpen, getMergedUserData, getMorphoTypeMarketConverter, getSubAccountAddress, getSubAccountIndex, getTopPairs, keysFromMaps, multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseMergedResult, parseMulticallRpcResponses, parseRawRpcBatchResponses, parseRawRpcResponses, parseTokenBalanceResult, positivePart2 as positivePart, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, selectAssetGroupPrices, unflattenLenderData };
31762
31795
  //# sourceMappingURL=index.js.map
31763
31796
  //# sourceMappingURL=index.js.map