@1delta/margin-fetcher 5.0.96 → 5.0.98
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 +25 -11
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -50498,8 +50498,7 @@ var readVaults = async () => {
|
|
|
50498
50498
|
(Date.now() / 1e3 - VAULT_EPOCH_ANCHOR.startTime) / NOMINAL_EPOCH_SECONDS
|
|
50499
50499
|
);
|
|
50500
50500
|
const probe = [];
|
|
50501
|
-
for (let e = estimate -
|
|
50502
|
-
if (e - WINDOW >= 0) probe.push(e - WINDOW);
|
|
50501
|
+
for (let e = estimate - 34; e <= estimate + 6; e++) {
|
|
50503
50502
|
if (e >= 0) probe.push(e);
|
|
50504
50503
|
}
|
|
50505
50504
|
const epochs = [...new Set(probe)].sort((a, b) => a - b);
|
|
@@ -50516,7 +50515,6 @@ var readVaults = async () => {
|
|
|
50516
50515
|
allowFailure: true
|
|
50517
50516
|
});
|
|
50518
50517
|
const aprs = {};
|
|
50519
|
-
const cadences = [];
|
|
50520
50518
|
BFUSD_VAULTS.forEach(({ address }, vi) => {
|
|
50521
50519
|
const rows = /* @__PURE__ */ new Map();
|
|
50522
50520
|
epochs.forEach((e, i) => {
|
|
@@ -50530,18 +50528,28 @@ var readVaults = async () => {
|
|
|
50530
50528
|
if (!now || !then) return;
|
|
50531
50529
|
const elapsed = Number(now.startTime - then.startTime);
|
|
50532
50530
|
if (elapsed <= 0) return;
|
|
50533
|
-
cadences.push(elapsed / WINDOW);
|
|
50534
50531
|
const growth = Number(now.startRatio) / Number(then.startRatio) - 1;
|
|
50535
50532
|
const apr = 100 * SECONDS_PER_YEAR13 * growth / elapsed;
|
|
50536
50533
|
if (plausible(apr)) {
|
|
50537
50534
|
aprs[bitfiYieldKey(Chain.ETHEREUM_MAINNET, address)] = apr;
|
|
50538
50535
|
}
|
|
50539
50536
|
});
|
|
50540
|
-
|
|
50541
|
-
const usable = secondsPerEpoch !== void 0 && secondsPerEpoch > 43200 && secondsPerEpoch < 259200;
|
|
50542
|
-
return { aprs, secondsPerEpoch: usable ? secondsPerEpoch : void 0 };
|
|
50537
|
+
return { aprs };
|
|
50543
50538
|
};
|
|
50544
|
-
var
|
|
50539
|
+
var BITFI_APR_URL = "https://api-ext.bitfi.one/api/v1/external/apr";
|
|
50540
|
+
var fetchBitfiApiApr = async () => {
|
|
50541
|
+
try {
|
|
50542
|
+
const res = await fetch(BITFI_APR_URL, {
|
|
50543
|
+
headers: { accept: "application/json" }
|
|
50544
|
+
}).then((r) => r.json());
|
|
50545
|
+
const frac = Number(res?.data?.["7e"]?.apr);
|
|
50546
|
+
const apr = frac * 100;
|
|
50547
|
+
return plausible(apr) && apr > 0 ? apr : void 0;
|
|
50548
|
+
} catch {
|
|
50549
|
+
return void 0;
|
|
50550
|
+
}
|
|
50551
|
+
};
|
|
50552
|
+
var readBfbtc = async (chain, address, secondsPerEpoch, frozenFallbackApr) => {
|
|
50545
50553
|
const [epochRaw] = await multicallRetryUniversal({
|
|
50546
50554
|
chain,
|
|
50547
50555
|
abi: RATIO_ABI,
|
|
@@ -50562,6 +50570,10 @@ var readBfbtc = async (chain, address, secondsPerEpoch) => {
|
|
|
50562
50570
|
});
|
|
50563
50571
|
if (typeof nowRaw !== "bigint" || typeof thenRaw !== "bigint") return {};
|
|
50564
50572
|
if (nowRaw <= 0n || thenRaw <= 0n) return {};
|
|
50573
|
+
if (nowRaw === thenRaw) {
|
|
50574
|
+
const apiApr = await frozenFallbackApr();
|
|
50575
|
+
return apiApr !== void 0 ? { [bitfiYieldKey(chain, address)]: apiApr } : { [bitfiYieldKey(chain, address)]: 0 };
|
|
50576
|
+
}
|
|
50565
50577
|
const growth = Number(thenRaw) / Number(nowRaw) - 1;
|
|
50566
50578
|
const apr = 100 * SECONDS_PER_YEAR13 * growth / (WINDOW * secondsPerEpoch);
|
|
50567
50579
|
return plausible(apr) ? { [bitfiYieldKey(chain, address)]: apr } : {};
|
|
@@ -50569,11 +50581,13 @@ var readBfbtc = async (chain, address, secondsPerEpoch) => {
|
|
|
50569
50581
|
var bitfiFetcher = {
|
|
50570
50582
|
label: "BITFI",
|
|
50571
50583
|
fetch: async () => {
|
|
50572
|
-
const { aprs
|
|
50573
|
-
const clock =
|
|
50584
|
+
const { aprs } = await readVaults();
|
|
50585
|
+
const clock = NOMINAL_EPOCH_SECONDS;
|
|
50586
|
+
let apiApr;
|
|
50587
|
+
const frozenFallbackApr = () => apiApr ??= fetchBitfiApiApr();
|
|
50574
50588
|
const perChain = await Promise.all(
|
|
50575
50589
|
BFBTC_DEPLOYMENTS.map(
|
|
50576
|
-
({ chain, address }) => readBfbtc(chain, address, clock).catch(() => ({}))
|
|
50590
|
+
({ chain, address }) => readBfbtc(chain, address, clock, frozenFallbackApr).catch(() => ({}))
|
|
50577
50591
|
)
|
|
50578
50592
|
);
|
|
50579
50593
|
const out = { ...aprs };
|