@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 +78 -14
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
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,
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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).
|