@1delta/margin-fetcher 5.0.76 → 5.0.77

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
@@ -16678,13 +16678,13 @@ var REPAIR_BACKOFF_JITTER_MS = 60;
16678
16678
  var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
16679
16679
  var backoffForRound = (round) => REPAIR_BACKOFF_BASE_MS * 2 ** round + Math.random() * REPAIR_BACKOFF_JITTER_MS;
16680
16680
  var endpointUrl = (client, rpcId) => client?.transport?.url ?? `rpc#${rpcId}`;
16681
- var resolveEndpoint = (chainId, getEvmClient19, startRpcId, tried, maxProbe = 12, timeoutMs) => {
16681
+ var resolveEndpoint = (chainId, getEvmClient20, startRpcId, tried, maxProbe = 12, timeoutMs) => {
16682
16682
  let fallback = null;
16683
16683
  for (let probe = 0; probe < maxProbe; probe++) {
16684
16684
  const rpcId = startRpcId + probe;
16685
16685
  let client;
16686
16686
  try {
16687
- client = getEvmClient19(chainId, rpcId, { timeoutMs });
16687
+ client = getEvmClient20(chainId, rpcId, { timeoutMs });
16688
16688
  } catch {
16689
16689
  break;
16690
16690
  }
@@ -16713,7 +16713,7 @@ var recordPermanentFailures = (slots, offset, collector) => {
16713
16713
  if (slots[i].permanent) collector.add(offset + i);
16714
16714
  }
16715
16715
  };
16716
- var repairFailedSlots = async (chainId, contracts, slots, getEvmClient19, nextRpcId, batchSize, logs, rounds = MULTICALL_REPAIR_ROUNDS, options) => {
16716
+ var repairFailedSlots = async (chainId, contracts, slots, getEvmClient20, nextRpcId, batchSize, logs, rounds = MULTICALL_REPAIR_ROUNDS, options) => {
16717
16717
  let searchFrom = nextRpcId;
16718
16718
  for (let round = 0; round < rounds; round++) {
16719
16719
  const failedIdx = [];
@@ -16723,7 +16723,7 @@ var repairFailedSlots = async (chainId, contracts, slots, getEvmClient19, nextRp
16723
16723
  if (failedIdx.length === 0) return slots;
16724
16724
  const endpoint = resolveEndpoint(
16725
16725
  chainId,
16726
- getEvmClient19,
16726
+ getEvmClient20,
16727
16727
  searchFrom,
16728
16728
  options?.tried
16729
16729
  );
@@ -16775,7 +16775,7 @@ var repairFailedSlots = async (chainId, contracts, slots, getEvmClient19, nextRp
16775
16775
  }
16776
16776
  return slots;
16777
16777
  };
16778
- var multicallShardedAbiArray = async (chainId, abi, calls, getEvmClient19, poolSize, retries = maxRetries, allowFailure = true, batchSize = MULTICALL_DEFAULT_BATCH_SIZE, logs = false, retryFailed = false, permanentFailures, options) => {
16778
+ var multicallShardedAbiArray = async (chainId, abi, calls, getEvmClient20, poolSize, retries = maxRetries, allowFailure = true, batchSize = MULTICALL_DEFAULT_BATCH_SIZE, logs = false, retryFailed = false, permanentFailures, options) => {
16779
16779
  const abiIsArray = isArray(abi[0]);
16780
16780
  const contracts = calls.map(({ address, name, params }, i) => ({
16781
16781
  abi: abiIsArray ? abi?.[i] : abi,
@@ -16849,7 +16849,7 @@ var multicallShardedAbiArray = async (chainId, abi, calls, getEvmClient19, poolS
16849
16849
  const attemptHedged = async (items, startRpcId, tried) => {
16850
16850
  const primary = resolveEndpoint(
16851
16851
  chainId,
16852
- getEvmClient19,
16852
+ getEvmClient20,
16853
16853
  startRpcId,
16854
16854
  tried,
16855
16855
  12,
@@ -16873,7 +16873,7 @@ var multicallShardedAbiArray = async (chainId, abi, calls, getEvmClient19, poolS
16873
16873
  clearTimeout(timer);
16874
16874
  const alt = resolveEndpoint(
16875
16875
  chainId,
16876
- getEvmClient19,
16876
+ getEvmClient20,
16877
16877
  primary.rpcId + 1,
16878
16878
  tried,
16879
16879
  12,
@@ -16925,7 +16925,7 @@ var multicallShardedAbiArray = async (chainId, abi, calls, getEvmClient19, poolS
16925
16925
  chainId,
16926
16926
  batch.items,
16927
16927
  slots,
16928
- getEvmClient19,
16928
+ getEvmClient20,
16929
16929
  won.rpcId + 1,
16930
16930
  requestBytes,
16931
16931
  logs,
@@ -16947,7 +16947,7 @@ var multicallShardedAbiArray = async (chainId, abi, calls, getEvmClient19, poolS
16947
16947
  const tried = /* @__PURE__ */ new Set();
16948
16948
  const start = resolveEndpoint(
16949
16949
  chainId,
16950
- getEvmClient19,
16950
+ getEvmClient20,
16951
16951
  workerId,
16952
16952
  void 0,
16953
16953
  12,
@@ -42377,7 +42377,7 @@ function unflattenLenderData(pools) {
42377
42377
  }
42378
42378
  return result;
42379
42379
  }
42380
- var getLenderUserDataResult = async (chainId, queriesRaw, getEvmClient19, allowFailure = true, batchSize = MULTICALL_DEFAULT_BATCH_SIZE, retries = 3, logs = false, concurrency = 1, permanentFailures, onEndpointFailure) => {
42380
+ var getLenderUserDataResult = async (chainId, queriesRaw, getEvmClient20, allowFailure = true, batchSize = MULTICALL_DEFAULT_BATCH_SIZE, retries = 3, logs = false, concurrency = 1, permanentFailures, onEndpointFailure) => {
42381
42381
  const queries = organizeUserQueries(queriesRaw);
42382
42382
  const builtCalls = await Promise.all(
42383
42383
  queries.map(async (query3) => {
@@ -42387,7 +42387,7 @@ var getLenderUserDataResult = async (chainId, queriesRaw, getEvmClient19, allowF
42387
42387
  query3.lender,
42388
42388
  query3.account,
42389
42389
  query3.params,
42390
- getEvmClient19
42390
+ getEvmClient20
42391
42391
  );
42392
42392
  return callData.map((call) => ({ call, abi: call.abi ?? abi }));
42393
42393
  })
@@ -42397,7 +42397,7 @@ var getLenderUserDataResult = async (chainId, queriesRaw, getEvmClient19, allowF
42397
42397
  chainId,
42398
42398
  calls.map((call) => call.abi),
42399
42399
  calls.map((call) => call.call),
42400
- getEvmClient19,
42400
+ getEvmClient20,
42401
42401
  concurrency,
42402
42402
  retries,
42403
42403
  allowFailure,
@@ -44843,8 +44843,6 @@ var stKaiaFetcher = {
44843
44843
  }
44844
44844
  }
44845
44845
  };
44846
-
44847
- // src/yields/intrinsic/fetchers/lista.ts
44848
44846
  var HISTORY_URL = "https://api.lista.org/api/datachart/history";
44849
44847
  var SLISBNB = "Lista Staked BNB::slisBNB";
44850
44848
  var DAY_SECONDS2 = 86400;
@@ -44875,6 +44873,68 @@ var slisBnbFetcher = {
44875
44873
  }
44876
44874
  }
44877
44875
  };
44876
+ var LISASTER_OVERVIEW_URL = "https://api.lista.org/api/lisaster/overview";
44877
+ var LISASTER_KEY = "Lista Staked Aster::lisAster";
44878
+ var LISASTER_SMARTLP_KEY = "lisAster & ASTER-SmartLP::lisAster & ASTER-SmartLP";
44879
+ var LISASTER_SMARTLP_DEX = "0x510d69b25a2177eddce9becdb0a66a511c944840";
44880
+ var STABLESWAP_BALANCES_ABI = [
44881
+ {
44882
+ type: "function",
44883
+ name: "balances",
44884
+ stateMutability: "view",
44885
+ inputs: [{ name: "i", type: "uint256" }],
44886
+ outputs: [{ name: "", type: "uint256" }]
44887
+ }
44888
+ ];
44889
+ var lisAsterFetcher = {
44890
+ label: "LISASTER",
44891
+ fetch: async () => {
44892
+ const controller = new AbortController();
44893
+ const timer = setTimeout(() => controller.abort(), TIMEOUT_MS);
44894
+ let apr;
44895
+ try {
44896
+ const res = await fetch(LISASTER_OVERVIEW_URL, {
44897
+ method: "GET",
44898
+ headers: { Accept: "application/json" },
44899
+ signal: controller.signal
44900
+ }).then((r) => r.json());
44901
+ const apyFraction = Number(res.data?.lisasterApy);
44902
+ if (!Number.isFinite(apyFraction) || apyFraction <= 0) {
44903
+ throw new Error(
44904
+ `lisAster: overview carried no usable lisasterApy (${String(res.data?.lisasterApy)})`
44905
+ );
44906
+ }
44907
+ apr = apyToAprPercent(apyFraction * 100);
44908
+ } finally {
44909
+ clearTimeout(timer);
44910
+ }
44911
+ const out = { [LISASTER_KEY]: apr };
44912
+ try {
44913
+ const client = getEvmClient(Chain.BNB_SMART_CHAIN_MAINNET);
44914
+ const [aster, lisAster] = await Promise.all([
44915
+ client.readContract({
44916
+ address: LISASTER_SMARTLP_DEX,
44917
+ abi: STABLESWAP_BALANCES_ABI,
44918
+ functionName: "balances",
44919
+ args: [0n]
44920
+ }),
44921
+ client.readContract({
44922
+ address: LISASTER_SMARTLP_DEX,
44923
+ abi: STABLESWAP_BALANCES_ABI,
44924
+ functionName: "balances",
44925
+ args: [1n]
44926
+ })
44927
+ ]);
44928
+ const total = aster + lisAster;
44929
+ if (total > 0n) {
44930
+ const weight = Number(lisAster) / Number(total);
44931
+ out[LISASTER_SMARTLP_KEY] = apr * weight;
44932
+ }
44933
+ } catch {
44934
+ }
44935
+ return out;
44936
+ }
44937
+ };
44878
44938
  var CHAIN_ID3 = "80094";
44879
44939
  var IBERA = "0x9b6761bf2397bb5a6624a856cc84a3a14dcd3fe5";
44880
44940
  var ONE_E182 = 10n ** 18n;
@@ -53549,6 +53609,10 @@ var LENDING_ONLY_FETCHERS = [
53549
53609
  // by reference, so removing it here changes nothing at runtime.
53550
53610
  nestFetcher,
53551
53611
  accountableFetcher,
53612
+ // slisBnbFetcher is NOT here (LST-wired); lisAster has no vault row — it
53613
+ // is a lock receipt with no rate and no exit — so its reward stream is
53614
+ // lending-only, surfaced for the Moolah lisAster/ASTER collateral join.
53615
+ lisAsterFetcher,
53552
53616
  upshiftFetcher,
53553
53617
  // Every endorsed Yearn V3 vault on every Yearn chain (Katana included —
53554
53618
  // it superseded the Katana-only fetcher, which double-counted).