@1delta/margin-fetcher 0.0.233 → 0.0.235
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/flash-liquidity/fetchLiquidity.d.ts.map +1 -1
- package/dist/index.js +56 -4
- package/dist/index.js.map +1 -1
- package/dist/prices/oracle-prices/fetchers/euler.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/avant.d.ts +5 -0
- package/dist/yields/intrinsic/fetchers/avant.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/lido.d.ts.map +1 -1
- package/dist/yields/intrinsic/index.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchLiquidity.d.ts","sourceRoot":"","sources":["../../src/flash-liquidity/fetchLiquidity.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE5D,OAAO,EAAE,uBAAuB,EAAgB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"fetchLiquidity.d.ts","sourceRoot":"","sources":["../../src/flash-liquidity/fetchLiquidity.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE5D,OAAO,EAAE,uBAAuB,EAAgB,MAAM,SAAS,CAAA;AA2B/D,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,sBAAsB,EACtC,IAAI,GAAE,SAAc,oCA+PrB"}
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { getEvmChain, getEvmClient, getEvmClientUniversal, multicallRetryUnivers
|
|
|
8
8
|
import { MorphoLensAbi, AaveV4SpokeAbi, AaveV4OracleAbi, AaveV4HubAbi, MorphoBlueAbi } from '@1delta/abis';
|
|
9
9
|
export { MorphoLensAbi } from '@1delta/abis';
|
|
10
10
|
import { prepareDebitDataMulticall, prepareLenderDebitMulticall, parseDebitDataResult, parseLenderDebitResult, getPermit2ContractAddress, getCompoundV3CometAddress as getCompoundV3CometAddress$1, getMorphoAddress, getAaveCollateralTokenAddress, getSiloHalfForUnderlying, InitMarginAddresses } from '@1delta/calldata-sdk';
|
|
11
|
-
import { BALANCER_V2_FORKS, BALANCER_V3_FORKS, UNISWAP_V4_FORKS, FLASH_LOAN_IDS } from '@1delta/dex-registry';
|
|
11
|
+
import { BALANCER_V2_FORKS, BALANCER_V3_FORKS, UNISWAP_V4_FORKS, isFlashLoanSourceExcluded, FLASH_LOAN_IDS } from '@1delta/dex-registry';
|
|
12
12
|
|
|
13
13
|
// src/abis/aave-v2/ProtocolDataProvider.ts
|
|
14
14
|
var ProtocolDataProviderAbi = [
|
|
@@ -28634,10 +28634,32 @@ async function getListsMulti(chainIds) {
|
|
|
28634
28634
|
// src/yields/intrinsic/fetchers/lido.ts
|
|
28635
28635
|
var WSTETH_URL = "https://eth-api.lido.fi/v1/protocol/steth/apr/sma";
|
|
28636
28636
|
var tETH = "Treehouse ETH::TETH";
|
|
28637
|
+
var robustFetchJson = async (url, { timeoutMs = 5e3, attempts = 3 } = {}) => {
|
|
28638
|
+
let lastErr;
|
|
28639
|
+
for (let i = 0; i < attempts; i++) {
|
|
28640
|
+
try {
|
|
28641
|
+
const res = await fetch(url, {
|
|
28642
|
+
headers: {
|
|
28643
|
+
accept: "application/json",
|
|
28644
|
+
"user-agent": "1delta-margin-fetcher"
|
|
28645
|
+
},
|
|
28646
|
+
signal: AbortSignal.timeout(timeoutMs)
|
|
28647
|
+
});
|
|
28648
|
+
if (!res.ok) throw new Error(`HTTP ${res.status}`);
|
|
28649
|
+
return await res.json();
|
|
28650
|
+
} catch (e) {
|
|
28651
|
+
lastErr = e;
|
|
28652
|
+
if (i < attempts - 1) {
|
|
28653
|
+
await new Promise((r) => setTimeout(r, 250 * (i + 1)));
|
|
28654
|
+
}
|
|
28655
|
+
}
|
|
28656
|
+
}
|
|
28657
|
+
throw lastErr;
|
|
28658
|
+
};
|
|
28637
28659
|
var wstethFetcher = {
|
|
28638
28660
|
label: "WSTETH",
|
|
28639
28661
|
fetch: async () => {
|
|
28640
|
-
const res = await
|
|
28662
|
+
const res = await robustFetchJson(WSTETH_URL);
|
|
28641
28663
|
const apr = Number(res.data.aprs.at(-1).apr) * 0.9;
|
|
28642
28664
|
return {
|
|
28643
28665
|
WSTETH: apr,
|
|
@@ -29596,6 +29618,29 @@ var infinifiFetcher = {
|
|
|
29596
29618
|
}
|
|
29597
29619
|
};
|
|
29598
29620
|
|
|
29621
|
+
// src/yields/intrinsic/fetchers/avant.ts
|
|
29622
|
+
var AVANT_BASE = "https://app.avantprotocol.com/api/apy";
|
|
29623
|
+
var sAVUSD = "Staked avUSD::savUSD";
|
|
29624
|
+
var sAVETH = "Staked avETH::savETH";
|
|
29625
|
+
var sAVBTC = "Staked avBTC::savBTC";
|
|
29626
|
+
var fetchAvantApr = async (slug) => {
|
|
29627
|
+
const res = await fetch(`${AVANT_BASE}/${slug}`).then((r) => r.json());
|
|
29628
|
+
const apy = Number(res?.apy ?? 0);
|
|
29629
|
+
return apyToAprPercent(apy);
|
|
29630
|
+
};
|
|
29631
|
+
var savusdFetcher = {
|
|
29632
|
+
label: "SAVUSD",
|
|
29633
|
+
fetch: async () => ({ [sAVUSD]: await fetchAvantApr("savusd") })
|
|
29634
|
+
};
|
|
29635
|
+
var savethFetcher = {
|
|
29636
|
+
label: "SAVETH",
|
|
29637
|
+
fetch: async () => ({ [sAVETH]: await fetchAvantApr("saveth") })
|
|
29638
|
+
};
|
|
29639
|
+
var savbtcFetcher = {
|
|
29640
|
+
label: "SAVBTC",
|
|
29641
|
+
fetch: async () => ({ [sAVBTC]: await fetchAvantApr("savbtc") })
|
|
29642
|
+
};
|
|
29643
|
+
|
|
29599
29644
|
// src/yields/intrinsic/index.ts
|
|
29600
29645
|
async function fetchIntrinsicYields() {
|
|
29601
29646
|
const wstethPromise = safeFetch(wstethFetcher.label, wstethFetcher.fetch);
|
|
@@ -29648,7 +29693,10 @@ async function fetchIntrinsicYields() {
|
|
|
29648
29693
|
susdfFetcher,
|
|
29649
29694
|
midasFetcher,
|
|
29650
29695
|
capFetcher,
|
|
29651
|
-
infinifiFetcher
|
|
29696
|
+
infinifiFetcher,
|
|
29697
|
+
savusdFetcher,
|
|
29698
|
+
savethFetcher,
|
|
29699
|
+
savbtcFetcher
|
|
29652
29700
|
];
|
|
29653
29701
|
const results = await Promise.all([
|
|
29654
29702
|
wstethPromise,
|
|
@@ -30651,6 +30699,7 @@ var priceLensAbi = [
|
|
|
30651
30699
|
|
|
30652
30700
|
// src/prices/oracle-prices/fetchers/euler.ts
|
|
30653
30701
|
var MAX_VIRTUAL_ADDRESS = 65535;
|
|
30702
|
+
var MAX_SANE_PRICE_USD = 1e7;
|
|
30654
30703
|
function isUsdUnitOfAccount(addr) {
|
|
30655
30704
|
const numeric = parseInt(addr, 16);
|
|
30656
30705
|
return numeric <= MAX_VIRTUAL_ADDRESS;
|
|
@@ -30757,6 +30806,7 @@ function parseEulerV2Results(data, meta, context) {
|
|
|
30757
30806
|
priceUSD = priceInUoA * uoaUSD;
|
|
30758
30807
|
}
|
|
30759
30808
|
if (isNaN(priceUSD) || priceUSD === 0) return;
|
|
30809
|
+
if (priceUSD > MAX_SANE_PRICE_USD) return;
|
|
30760
30810
|
entries.push({
|
|
30761
30811
|
asset,
|
|
30762
30812
|
price: priceInUoA,
|
|
@@ -32283,7 +32333,9 @@ async function fetchFlashLiquidityForChain(chain, multicallRetry, list = {}) {
|
|
|
32283
32333
|
let aaveAssets = {};
|
|
32284
32334
|
let aaveCalls = [];
|
|
32285
32335
|
const aaves = getAavesForChain();
|
|
32286
|
-
const aaveProtocols = aaves[chain] ?? []
|
|
32336
|
+
const aaveProtocols = (aaves[chain] ?? []).filter(
|
|
32337
|
+
(l) => !isFlashLoanSourceExcluded(chain, l)
|
|
32338
|
+
);
|
|
32287
32339
|
const allAaveUnderlyings = [];
|
|
32288
32340
|
aaveProtocols.forEach((aaveFork) => {
|
|
32289
32341
|
const underlyingsAndATokens = Object.entries(
|