@1delta/margin-fetcher 0.0.330 → 0.0.331

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 CHANGED
@@ -22101,15 +22101,16 @@ async function fetchLiquityMarkets(lender, chainId) {
22101
22101
  });
22102
22102
  return { lender, config, branches: out };
22103
22103
  }
22104
- function liquityLenderKey(lender, collIndex) {
22105
- return `${lender}_${collIndex}`;
22104
+ function liquityLenderKey(lender, chainId, collIndex) {
22105
+ return `${lender}_${chainId}_${collIndex}`;
22106
22106
  }
22107
22107
  function liquityKeyParts(key) {
22108
- const base = LIQUITY_FAMILY_LENDERS.find((b) => key.startsWith(b));
22108
+ const base = LIQUITY_FAMILY_LENDERS.find((b) => key.startsWith(b + "_"));
22109
22109
  if (!base) return void 0;
22110
22110
  const suffix = key.slice(base.length + 1);
22111
- if (!/^\d+$/.test(suffix)) return void 0;
22112
- return { lender: base, collIndex: Number(suffix) };
22111
+ const m = suffix.match(/^(\d+)_(\d+)$/);
22112
+ if (!m) return void 0;
22113
+ return { lender: base, chainId: m[1], collIndex: Number(m[2]) };
22113
22114
  }
22114
22115
  var WAD6 = 1e18;
22115
22116
  function toHuman2(raw, decimals) {
@@ -22136,7 +22137,7 @@ function convertLiquityMarketsToResponse(raw, chainId, prices = {}, _additionalY
22136
22137
  const spYieldSplit = cfg.spYieldSplit ? Number(cfg.spYieldSplit) / WAD6 : 0.75;
22137
22138
  for (const b of raw.branches ?? []) {
22138
22139
  const branch = b.branch;
22139
- const lenderKey = liquityLenderKey(raw.lender, branch.collIndex);
22140
+ const lenderKey = liquityLenderKey(raw.lender, chainId, branch.collIndex);
22140
22141
  const collAddr = branch.collToken.toLowerCase();
22141
22142
  const collDecimals = branch.collDecimals;
22142
22143
  const collToken = tokens[collAddr];
@@ -22371,14 +22372,15 @@ async function fetchRiverMarkets(lender, chainId) {
22371
22372
  }
22372
22373
 
22373
22374
  // src/lending/public-data/river/convertPublic.ts
22374
- function riverLenderKey(lender, index) {
22375
- return `${lender}_${index}`;
22375
+ function riverLenderKey(lender, chainId, index) {
22376
+ return `${lender}_${chainId}_${index}`;
22376
22377
  }
22377
22378
  function riverKeyParts(key) {
22378
22379
  if (!key.startsWith("RIVER_")) return void 0;
22379
22380
  const suffix = key.slice("RIVER_".length);
22380
- if (!/^\d+$/.test(suffix)) return void 0;
22381
- return { lender: "RIVER", index: Number(suffix) };
22381
+ const m = suffix.match(/^(\d+)_(\d+)$/);
22382
+ if (!m) return void 0;
22383
+ return { lender: "RIVER", chainId: m[1], index: Number(m[2]) };
22382
22384
  }
22383
22385
  var WAD7 = 1e18;
22384
22386
  function toHuman3(raw, decimals) {
@@ -22406,7 +22408,7 @@ function convertRiverMarketsToResponse(raw, chainId, prices = {}, _additionalYie
22406
22408
  const spDeposits = raw.spDeposits !== null ? toHuman3(raw.spDeposits, debtDecimals) : 0;
22407
22409
  for (const m of raw.markets ?? []) {
22408
22410
  const market = m.market;
22409
- const lenderKey = riverLenderKey(raw.lender, market.index);
22411
+ const lenderKey = riverLenderKey(raw.lender, chainId, market.index);
22410
22412
  const collAddr = market.collToken.toLowerCase();
22411
22413
  const collDecimals = market.collDecimals;
22412
22414
  const collToken = tokens[collAddr];
@@ -26911,13 +26913,19 @@ var getExactlyUserDataConverter = (_lender, chainId, account, meta) => {
26911
26913
  const loanDisplayPrice = loanMeta ? getDisplayPrice(loanMeta) : 0;
26912
26914
  const loanOraclePrice = loanMeta ? getOraclePrice(loanMeta) : 0;
26913
26915
  const loanPriceHist = loanMeta?.price?.priceUsd24h ?? loanDisplayPrice;
26916
+ const fixedDebtUnits = sumPreview(m.fixedBorrowPositions);
26914
26917
  const depositUnits = m.floatingDepositAssets + sumPreview(m.fixedDepositPositions);
26915
- const debtUnits = m.floatingBorrowAssets + sumPreview(m.fixedBorrowPositions);
26918
+ const debtUnits = m.floatingBorrowAssets + fixedDebtUnits;
26916
26919
  if (depositUnits === 0n && debtUnits === 0n) continue;
26917
26920
  const depositsStr = parseRawAmount(depositUnits.toString(), decimals);
26918
26921
  const depositsNum = Number(depositsStr);
26919
26922
  const debtStr = parseRawAmount(debtUnits.toString(), decimals);
26920
26923
  const debtNum = Number(debtStr);
26924
+ const floatingDebtStr = parseRawAmount(
26925
+ m.floatingBorrowAssets.toString(),
26926
+ decimals
26927
+ );
26928
+ const fixedDebtStr = parseRawAmount(fixedDebtUnits.toString(), decimals);
26921
26929
  const fixedPositions = [
26922
26930
  ...toDetail(m.fixedDepositPositions, "deposit", now),
26923
26931
  ...toDetail(m.fixedBorrowPositions, "borrow", now)
@@ -26928,14 +26936,14 @@ var getExactlyUserDataConverter = (_lender, chainId, account, meta) => {
26928
26936
  marketUid: loanUid,
26929
26937
  underlying: assetAddr,
26930
26938
  deposits: depositsStr,
26931
- debt: debtStr,
26932
- debtStable: "0",
26939
+ debt: floatingDebtStr,
26940
+ debtStable: fixedDebtStr,
26933
26941
  depositsUSD: depositsNum * loanDisplayPrice,
26934
- debtUSD: debtNum * loanDisplayPrice,
26935
- debtStableUSD: 0,
26942
+ debtUSD: Number(floatingDebtStr) * loanDisplayPrice,
26943
+ debtStableUSD: Number(fixedDebtStr) * loanDisplayPrice,
26936
26944
  depositsUSDOracle: depositsNum * loanOraclePrice,
26937
- debtUSDOracle: debtNum * loanOraclePrice,
26938
- debtStableUSDOracle: 0,
26945
+ debtUSDOracle: Number(floatingDebtStr) * loanOraclePrice,
26946
+ debtStableUSDOracle: Number(fixedDebtStr) * loanOraclePrice,
26939
26947
  stableBorrowRate: "0",
26940
26948
  collateralEnabled: m.isCollateral,
26941
26949
  claimableRewards: 0,
@@ -26943,6 +26951,38 @@ var getExactlyUserDataConverter = (_lender, chainId, account, meta) => {
26943
26951
  // multi-account state builder mutates posData in place).
26944
26952
  fixedPositions: fixedPositions.length > 0 ? fixedPositions : void 0
26945
26953
  };
26954
+ for (const p of m.fixedBorrowPositions) {
26955
+ const maturity = Number(p.maturity);
26956
+ const trancheStr = parseRawAmount(p.previewValue.toString(), decimals);
26957
+ posData[`${loanUid}#${maturity}`] = {
26958
+ marketUid: loanUid,
26959
+ underlying: assetAddr,
26960
+ loanId: String(maturity),
26961
+ deposits: "0",
26962
+ debt: "0",
26963
+ debtStable: trancheStr,
26964
+ depositsUSD: 0,
26965
+ debtUSD: 0,
26966
+ debtStableUSD: Number(trancheStr) * loanDisplayPrice,
26967
+ depositsUSDOracle: 0,
26968
+ debtUSDOracle: 0,
26969
+ debtStableUSDOracle: Number(trancheStr) * loanOraclePrice,
26970
+ collateralEnabled: false,
26971
+ claimableRewards: 0,
26972
+ term: {
26973
+ loanId: String(maturity),
26974
+ termId: maturity,
26975
+ isDynamic: false,
26976
+ debt: trancheStr,
26977
+ maturity,
26978
+ accruedInterest: parseRawAmount(
26979
+ p.position.fee.toString(),
26980
+ decimals
26981
+ ),
26982
+ isMatured: maturity < now
26983
+ }
26984
+ };
26985
+ }
26946
26986
  if (debtUnits > 0n) {
26947
26987
  for (const c of markets) {
26948
26988
  if (c.market.toLowerCase() === m.market.toLowerCase()) continue;
@@ -27030,7 +27070,7 @@ var getLiquityUserDataConverter = (lender, chainId, account, meta) => {
27030
27070
  const callCount = liquityBranchCallCount(branch, troves.length);
27031
27071
  const slice = data.slice(cursor, cursor + callCount);
27032
27072
  cursor += callCount;
27033
- const lenderKey = liquityLenderKey(lender, branch.collIndex);
27073
+ const lenderKey = liquityLenderKey(lender, chainId, branch.collIndex);
27034
27074
  const metaMap = meta?.[lenderKey];
27035
27075
  if (!metaMap) return;
27036
27076
  const collAddr = branch.collToken.toLowerCase();
@@ -27237,7 +27277,7 @@ var getRiverUserDataConverter = (lender, chainId, account, meta) => {
27237
27277
  const entire = data[base];
27238
27278
  const status = Number(big2(data[base + 1]));
27239
27279
  const surplus = big2(data[base + 2]);
27240
- const lenderKey = riverLenderKey(lender, market.index);
27280
+ const lenderKey = riverLenderKey(lender, chainId, market.index);
27241
27281
  const metaMap = meta?.[lenderKey];
27242
27282
  if (!metaMap) return;
27243
27283
  const collAddr = market.collToken.toLowerCase();