@1delta/margin-fetcher 0.0.178 → 0.0.180
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/abis/euler/index.d.ts +1 -1
- package/dist/abis/euler/index.d.ts.map +1 -1
- package/dist/abis/euler/{swapper.d.ts → orchestrator.d.ts} +35 -2
- package/dist/abis/euler/orchestrator.d.ts.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +130 -49
- package/dist/index.js.map +1 -1
- package/dist/lending/margin/base/sumer/types.d.ts +1 -1
- package/dist/lending/public-data/euler/fetcher/cluster.d.ts +2 -2
- package/dist/lending/public-data/euler/fetcher/cluster.d.ts.map +1 -1
- package/dist/lending/public-data/euler/fetcher/constants.d.ts +1 -3
- package/dist/lending/public-data/euler/fetcher/constants.d.ts.map +1 -1
- package/dist/lending/public-data/euler/fetcher/normalize.d.ts +1 -1
- package/dist/lending/public-data/euler/fetcher/normalize.d.ts.map +1 -1
- package/dist/lending/public-data/euler/publicCallParse.d.ts.map +1 -1
- package/dist/lending/public-data/fetchLender.d.ts.map +1 -1
- package/dist/lending/user-data/euler/userCallBuild.d.ts +7 -6
- package/dist/lending/user-data/euler/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/utils/createSumerUserState.d.ts.map +1 -1
- package/dist/lending/user-data/utils/types.d.ts +32 -1
- package/dist/lending/user-data/utils/types.d.ts.map +1 -1
- package/dist/lending/user-data/with-permissions/evaluate.d.ts.map +1 -1
- package/dist/lending-pairs/computeLendingPairs.d.ts +6 -0
- package/dist/lending-pairs/computeLendingPairs.d.ts.map +1 -1
- package/dist/types/lender/compound-v2-types.d.ts +2 -7
- package/dist/types/lender/compound-v2-types.d.ts.map +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/abis/euler/swapper.d.ts.map +0 -1
|
@@ -2,6 +2,6 @@ export { genericFactoryAbi } from "./genericFactory.js";
|
|
|
2
2
|
export { vaultLensAbi } from "./vaultLens.js";
|
|
3
3
|
export { eVaultAbi } from "./eVault.js";
|
|
4
4
|
export { evcAbi } from "./evc.js";
|
|
5
|
-
export {
|
|
5
|
+
export { orchestratorAbi } from "./orchestrator.js";
|
|
6
6
|
export { paymentsAbi } from "./payments.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/abis/euler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/abis/euler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const orchestratorAbi: readonly [{
|
|
2
2
|
readonly type: "function";
|
|
3
3
|
readonly name: "swapSimple";
|
|
4
4
|
readonly inputs: readonly [{
|
|
@@ -115,6 +115,24 @@ export declare const swapperAbi: readonly [{
|
|
|
115
115
|
readonly inputs: readonly [{
|
|
116
116
|
readonly type: "address";
|
|
117
117
|
readonly name: "wrappedNative";
|
|
118
|
+
}, {
|
|
119
|
+
readonly type: "uint256";
|
|
120
|
+
readonly name: "amount";
|
|
121
|
+
}];
|
|
122
|
+
readonly outputs: readonly [];
|
|
123
|
+
readonly stateMutability: "payable";
|
|
124
|
+
}, {
|
|
125
|
+
readonly type: "function";
|
|
126
|
+
readonly name: "wrapTo";
|
|
127
|
+
readonly inputs: readonly [{
|
|
128
|
+
readonly type: "address";
|
|
129
|
+
readonly name: "wrappedNative";
|
|
130
|
+
}, {
|
|
131
|
+
readonly type: "uint256";
|
|
132
|
+
readonly name: "amount";
|
|
133
|
+
}, {
|
|
134
|
+
readonly type: "address";
|
|
135
|
+
readonly name: "to";
|
|
118
136
|
}];
|
|
119
137
|
readonly outputs: readonly [];
|
|
120
138
|
readonly stateMutability: "payable";
|
|
@@ -130,6 +148,21 @@ export declare const swapperAbi: readonly [{
|
|
|
130
148
|
}];
|
|
131
149
|
readonly outputs: readonly [];
|
|
132
150
|
readonly stateMutability: "nonpayable";
|
|
151
|
+
}, {
|
|
152
|
+
readonly type: "function";
|
|
153
|
+
readonly name: "unwrapTo";
|
|
154
|
+
readonly inputs: readonly [{
|
|
155
|
+
readonly type: "address";
|
|
156
|
+
readonly name: "wrappedNative";
|
|
157
|
+
}, {
|
|
158
|
+
readonly type: "uint256";
|
|
159
|
+
readonly name: "amount";
|
|
160
|
+
}, {
|
|
161
|
+
readonly type: "address";
|
|
162
|
+
readonly name: "to";
|
|
163
|
+
}];
|
|
164
|
+
readonly outputs: readonly [];
|
|
165
|
+
readonly stateMutability: "nonpayable";
|
|
133
166
|
}, {
|
|
134
167
|
readonly type: "function";
|
|
135
168
|
readonly name: "multicall";
|
|
@@ -140,4 +173,4 @@ export declare const swapperAbi: readonly [{
|
|
|
140
173
|
readonly outputs: readonly [];
|
|
141
174
|
readonly stateMutability: "payable";
|
|
142
175
|
}];
|
|
143
|
-
//# sourceMappingURL=
|
|
176
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/abis/euler/orchestrator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiIlB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,12 +8,12 @@ export { fetchFlashLiquidityForChain, attachPricesToFlashLiquidity, } from './fl
|
|
|
8
8
|
export { type GenericCurrency, type GenericTokenList, type ParsedResponse, type ChainLinkResponse, type LenderRewardsMap, type NumberMap, type FullLenderRewardsMap, type AdditionalYields, type TokenList, type LenderUserQuery, type UserLendingPosition, type LenderUserResponse, type AaveV2UserReserveResponse, type AaveV3UserReserveResponse, type MorphoUserReserveResponse, type CompoundV3UserReserveResponse, type AaveV3Public, type LenderPublicBase, type LenderYields, type LenderTotalAmounts, type LenderConfigMap, type LenderConfigData, type ModeBase, type EModeData, type AaveV2Public, type CompoundV3Public, type UserApr, type InitUserReserveResponse, type InitPublic, type LenderData, type PoolData, type ConfigEntry, } from './types';
|
|
9
9
|
export { computeDepositDelta, computeWithdrawDelta, computeBorrowDelta, computeRepayDelta, getHealthFactor, getBorrowCapacity, getAssetConfig, computePostTradeMetrics, EMPTY_BALANCE, } from './lending/margin/base';
|
|
10
10
|
export type { PostTradeMetrics } from './lending/margin/base';
|
|
11
|
-
export { computeOpenTradeDeltas, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeZapTradeDeltas, positivePart, nanTo, keysFromMaps, noOpResult, buildLoopResult, } from './lending/margin/loop';
|
|
11
|
+
export { computeOpenTradeDeltas, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeZapTradeDeltas, positivePart, nanTo, keysFromMaps, noOpResult, buildLoopResult, getMaxAmountOpen, MaxParamThresholds, } from './lending/margin/loop';
|
|
12
12
|
export { computeEModeAnalysis } from './lending/margin/e-mode';
|
|
13
13
|
export type { EModeResult, EModeAssets } from './lending/margin/e-mode';
|
|
14
14
|
export type { LoopPostTradeMetrics, LendingMode } from './lending/margin/loop';
|
|
15
15
|
export type { SumerPositionInput, GroupAccumulator, } from './lending/margin/base';
|
|
16
|
-
export type { LenderYieldComplete, LenderCrossPoolMeta, LenderToLenderCrossPoolMeta, } from './lending/user-data/utils/types';
|
|
16
|
+
export type { LenderYieldComplete, LenderCrossPoolMeta, LenderToLenderCrossPoolMeta, CompoundV2Metadata, AaveMetadata, InitMetadata, EulerV2Metadata, ProtocolParams, } from './lending/user-data/utils/types';
|
|
17
17
|
export { computeSumerWaterfall, buildSumerAccumulators, applyPositionDelta, } from './lending/margin/base/sumer/waterfall';
|
|
18
18
|
export { computeSumerDepositDelta, computeSumerWithdrawDelta, computeSumerBorrowDelta, computeSumerRepayDelta, } from './lending/margin/base/sumer';
|
|
19
19
|
export { MorphoLensAbi } from '@1delta/abis';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7486,7 +7486,8 @@ var DISABLED_COMPOUNDS = {
|
|
|
7486
7486
|
};
|
|
7487
7487
|
var ENABLED_EULER_V2_CHAINS = [
|
|
7488
7488
|
Chain.BNB_SMART_CHAIN_MAINNET,
|
|
7489
|
-
Chain.PLASMA_MAINNET
|
|
7489
|
+
Chain.PLASMA_MAINNET,
|
|
7490
|
+
Chain.BERACHAIN
|
|
7490
7491
|
];
|
|
7491
7492
|
var getLendersForChain = (c) => {
|
|
7492
7493
|
let lenders = [];
|
|
@@ -11649,6 +11650,11 @@ function computeSumerRepayDelta(amount, price, targetMarketUid, balanceData2, po
|
|
|
11649
11650
|
}
|
|
11650
11651
|
|
|
11651
11652
|
// src/lending/user-data/utils/createSumerUserState.ts
|
|
11653
|
+
function getSumerMeta(m) {
|
|
11654
|
+
const md = m.params?.metadata;
|
|
11655
|
+
if (md && "sumer" in md) return md.sumer;
|
|
11656
|
+
return m.sumerMeta;
|
|
11657
|
+
}
|
|
11652
11658
|
function createSumerUserState(payload, lenderData, totalDeposits24h = 0, totalDebt24h = 0) {
|
|
11653
11659
|
const assetKeys = getMarketUidsFromMeta(lenderData);
|
|
11654
11660
|
const { chainId, account } = payload;
|
|
@@ -11681,9 +11687,9 @@ function createSumerUserState(payload, lenderData, totalDeposits24h = 0, totalDe
|
|
|
11681
11687
|
variableBorrowRate,
|
|
11682
11688
|
stableBorrowRate,
|
|
11683
11689
|
rewards,
|
|
11684
|
-
flags
|
|
11685
|
-
sumerMeta
|
|
11690
|
+
flags
|
|
11686
11691
|
} = lenderData[marketUid];
|
|
11692
|
+
const sumerMeta = getSumerMeta(lenderData[marketUid]);
|
|
11687
11693
|
deposits += depositsUSD;
|
|
11688
11694
|
debt += debtStableUSD;
|
|
11689
11695
|
debt += debtUSD;
|
|
@@ -11772,10 +11778,10 @@ function createSumerUserState(payload, lenderData, totalDeposits24h = 0, totalDe
|
|
|
11772
11778
|
const {
|
|
11773
11779
|
configs,
|
|
11774
11780
|
flags,
|
|
11775
|
-
sumerMeta: sm,
|
|
11776
11781
|
borrowLiquidity,
|
|
11777
11782
|
withdrawLiquidity
|
|
11778
11783
|
} = lenderData[marketUid];
|
|
11784
|
+
const sm = getSumerMeta(lenderData[marketUid]);
|
|
11779
11785
|
const config = configs?.[sm?.groupId ?? 0];
|
|
11780
11786
|
const price = getOraclePrice(lenderData[marketUid]);
|
|
11781
11787
|
const bcf = config?.borrowCollateralFactor ?? 1;
|
|
@@ -17339,13 +17345,10 @@ var buildEulerV2LenderReserveCall = (chainId, lender) => {
|
|
|
17339
17345
|
}));
|
|
17340
17346
|
};
|
|
17341
17347
|
|
|
17342
|
-
// src/lending/public-data/euler/fetcher/constants.ts
|
|
17343
|
-
var ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
17344
|
-
|
|
17345
17348
|
// src/lending/public-data/euler/fetcher/cluster.ts
|
|
17346
17349
|
function getActiveCollaterals(ltvInfo) {
|
|
17347
17350
|
const active = /* @__PURE__ */ new Set();
|
|
17348
|
-
for (const entry of ltvInfo) {
|
|
17351
|
+
for (const entry of ltvInfo ?? []) {
|
|
17349
17352
|
if (entry.borrowLTV > 0n) {
|
|
17350
17353
|
active.add(entry.collateral.toLowerCase());
|
|
17351
17354
|
}
|
|
@@ -17409,15 +17412,15 @@ function findConnectedComponents(adj) {
|
|
|
17409
17412
|
}
|
|
17410
17413
|
function deriveGovernor(vaultAddresses, vaultData) {
|
|
17411
17414
|
const counts = /* @__PURE__ */ new Map();
|
|
17412
|
-
const zeroNorm =
|
|
17415
|
+
const zeroNorm = zeroAddress;
|
|
17413
17416
|
for (const addr of vaultAddresses) {
|
|
17414
17417
|
const info = findVaultInfo(addr, vaultData);
|
|
17415
17418
|
if (!info) continue;
|
|
17416
|
-
const gov = info.governorAdmin
|
|
17417
|
-
if (gov === zeroNorm) continue;
|
|
17419
|
+
const gov = info.governorAdmin?.toLowerCase();
|
|
17420
|
+
if (!gov || gov === zeroNorm) continue;
|
|
17418
17421
|
counts.set(gov, (counts.get(gov) ?? 0) + 1);
|
|
17419
17422
|
}
|
|
17420
|
-
let best =
|
|
17423
|
+
let best = zeroAddress;
|
|
17421
17424
|
let bestCount = 0;
|
|
17422
17425
|
for (const [gov, count] of counts) {
|
|
17423
17426
|
if (count > bestCount) {
|
|
@@ -17474,8 +17477,8 @@ function toTokenAmount(raw, decimals) {
|
|
|
17474
17477
|
function identifyBorrowVaults(cluster) {
|
|
17475
17478
|
const borrowVaults = /* @__PURE__ */ new Set();
|
|
17476
17479
|
for (const [addr, info] of cluster.vaultData) {
|
|
17477
|
-
const hasIRM = info.interestRateModel.toLowerCase() !==
|
|
17478
|
-
const hasActiveCollateral = info.collateralLTVInfo.some(
|
|
17480
|
+
const hasIRM = info.interestRateModel && info.interestRateModel.toLowerCase() !== zeroAddress;
|
|
17481
|
+
const hasActiveCollateral = (info.collateralLTVInfo ?? []).some(
|
|
17479
17482
|
(ltv) => ltv.borrowLTV > 0n
|
|
17480
17483
|
);
|
|
17481
17484
|
if (hasIRM && hasActiveCollateral) {
|
|
@@ -17488,7 +17491,7 @@ function buildReverseLTVIndex(cluster) {
|
|
|
17488
17491
|
const index = /* @__PURE__ */ new Map();
|
|
17489
17492
|
for (const [addr, info] of cluster.vaultData) {
|
|
17490
17493
|
const borrowVault = addr.toLowerCase();
|
|
17491
|
-
for (const ltv of info.collateralLTVInfo) {
|
|
17494
|
+
for (const ltv of info.collateralLTVInfo ?? []) {
|
|
17492
17495
|
if (ltv.borrowLTV <= 0n) continue;
|
|
17493
17496
|
const collateral = ltv.collateral.toLowerCase();
|
|
17494
17497
|
let entries = index.get(collateral);
|
|
@@ -17533,9 +17536,7 @@ function buildEModes(borrowVaults, cluster) {
|
|
|
17533
17536
|
for (const addr of borrowVaults) {
|
|
17534
17537
|
const info = findInfo(addr, cluster.vaultData);
|
|
17535
17538
|
if (!info) continue;
|
|
17536
|
-
const activeLTVs = info.collateralLTVInfo.filter(
|
|
17537
|
-
(l) => l.borrowLTV > 0n
|
|
17538
|
-
);
|
|
17539
|
+
const activeLTVs = info.collateralLTVInfo.filter((l) => l.borrowLTV > 0n);
|
|
17539
17540
|
const avgBorrowLTV = activeLTVs.length > 0 ? activeLTVs.reduce((sum, l) => sum + ltvToNumber(l.borrowLTV), 0) / activeLTVs.length : 0;
|
|
17540
17541
|
const avgLiqLTV = activeLTVs.length > 0 ? activeLTVs.reduce(
|
|
17541
17542
|
(sum, l) => sum + ltvToNumber(l.liquidationLTV),
|
|
@@ -17563,6 +17564,7 @@ function buildMetadata(info) {
|
|
|
17563
17564
|
};
|
|
17564
17565
|
}
|
|
17565
17566
|
function buildTokenEntry(info, config, collateralActive, borrowVaults, opts) {
|
|
17567
|
+
if (!info.asset) return void 0;
|
|
17566
17568
|
const addr = info.asset.toLowerCase();
|
|
17567
17569
|
const tokenMeta = opts.tokenList?.[addr];
|
|
17568
17570
|
const asset = {
|
|
@@ -17591,10 +17593,10 @@ function buildTokenEntry(info, config, collateralActive, borrowVaults, opts) {
|
|
|
17591
17593
|
priceSource: info.oracle
|
|
17592
17594
|
} : {
|
|
17593
17595
|
label: "None",
|
|
17594
|
-
category:
|
|
17596
|
+
category: zeroAddress,
|
|
17595
17597
|
borrowCollateralFactor: 0,
|
|
17596
17598
|
collateralFactor: 0,
|
|
17597
|
-
priceSource:
|
|
17599
|
+
priceSource: zeroAddress
|
|
17598
17600
|
};
|
|
17599
17601
|
return {
|
|
17600
17602
|
name: "Euler V2 " + info.vaultName,
|
|
@@ -17651,13 +17653,14 @@ function normalizeCluster(cluster, opts) {
|
|
|
17651
17653
|
borrowVaults,
|
|
17652
17654
|
cluster.vaultData
|
|
17653
17655
|
);
|
|
17654
|
-
|
|
17656
|
+
const entry = buildTokenEntry(
|
|
17655
17657
|
info,
|
|
17656
17658
|
config,
|
|
17657
17659
|
collateralActiveVaults.has(norm),
|
|
17658
17660
|
borrowVaults,
|
|
17659
17661
|
opts
|
|
17660
17662
|
);
|
|
17663
|
+
if (entry) data[norm] = entry;
|
|
17661
17664
|
}
|
|
17662
17665
|
return {
|
|
17663
17666
|
data,
|
|
@@ -17699,7 +17702,14 @@ var getEulerV2ReservesDataConverter = (lender, chainId, prices, additionalYields
|
|
|
17699
17702
|
const marketUid = createMarketUid(chainId, lender, vaultAddr);
|
|
17700
17703
|
const assetMeta = tokenList[entry.asset.address];
|
|
17701
17704
|
const oracleKey = toOracleKey(assetMeta?.assetGroup ?? null) || toGenericPriceKey(entry.asset.address, chainId);
|
|
17702
|
-
|
|
17705
|
+
let price = prices[oracleKey] ?? 0;
|
|
17706
|
+
if (price === 0 && entry.totalDeposits > 0 && entry.totalDepositsUSD > 0) {
|
|
17707
|
+
const derivedPrice = entry.totalDepositsUSD / entry.totalDeposits;
|
|
17708
|
+
if (derivedPrice > 0 && isFinite(derivedPrice)) {
|
|
17709
|
+
price = derivedPrice;
|
|
17710
|
+
prices[oracleKey] = derivedPrice;
|
|
17711
|
+
}
|
|
17712
|
+
}
|
|
17703
17713
|
const totalDeposits = entry.totalDeposits;
|
|
17704
17714
|
const totalDebt = entry.totalDebt;
|
|
17705
17715
|
const totalLiquidity = totalDeposits - totalDebt;
|
|
@@ -17800,8 +17810,7 @@ function buildLenderCall(chainId, lender) {
|
|
|
17800
17810
|
}
|
|
17801
17811
|
if (isCompoundV2Type(lender))
|
|
17802
17812
|
return buildCompoundV2StyleLenderReserveCall(chainId, lender);
|
|
17803
|
-
if (isEulerType(lender))
|
|
17804
|
-
return buildEulerV2LenderReserveCall(chainId, lender);
|
|
17813
|
+
if (isEulerType(lender)) return buildEulerV2LenderReserveCall(chainId, lender);
|
|
17805
17814
|
return [];
|
|
17806
17815
|
}
|
|
17807
17816
|
function getLenderDataConverter(lender, chainId, prices, additionalYields, tokenList = {}) {
|
|
@@ -17900,7 +17909,8 @@ var getLenderPublicData = async (chainId, lenders, prices, additionalYields, mul
|
|
|
17900
17909
|
multicallRetry3(
|
|
17901
17910
|
chainId,
|
|
17902
17911
|
calls.map((call) => call.call),
|
|
17903
|
-
calls.map((call) => call.abi)
|
|
17912
|
+
calls.map((call) => call.abi),
|
|
17913
|
+
chainId === Chain.ETHEREUM_MAINNET ? 500 : void 0
|
|
17904
17914
|
// default size
|
|
17905
17915
|
// retries = 3
|
|
17906
17916
|
// provider = 0
|
|
@@ -18321,7 +18331,7 @@ async function fetchSubAccountsFromSubgraph(chainId, owner) {
|
|
|
18321
18331
|
if (!accounts || accounts.length === 0) return [0];
|
|
18322
18332
|
return accounts.map((a) => {
|
|
18323
18333
|
const addr = a.subAccount || a.id;
|
|
18324
|
-
return getSubAccountIndex(addr);
|
|
18334
|
+
return getSubAccountIndex(addr, owner);
|
|
18325
18335
|
});
|
|
18326
18336
|
}
|
|
18327
18337
|
var RESOLVED_STORE_TTL_MS = 6e4;
|
|
@@ -18341,20 +18351,23 @@ function storeResolvedIndexes(chainId, account, indexes) {
|
|
|
18341
18351
|
}
|
|
18342
18352
|
function getSubAccountAddress(owner, index) {
|
|
18343
18353
|
const prefix = owner.slice(0, 40);
|
|
18344
|
-
const
|
|
18354
|
+
const ownerLastByte = parseInt(owner.slice(40), 16);
|
|
18355
|
+
const newLastByte = (ownerLastByte ^ index) & 255;
|
|
18356
|
+
const suffix = newLastByte.toString(16).padStart(2, "0");
|
|
18345
18357
|
return (prefix + suffix).toLowerCase();
|
|
18346
18358
|
}
|
|
18347
|
-
function getSubAccountIndex(addr) {
|
|
18348
|
-
|
|
18359
|
+
function getSubAccountIndex(addr, owner) {
|
|
18360
|
+
const addrLastByte = parseInt(addr.slice(40), 16);
|
|
18361
|
+
if (!owner) return addrLastByte;
|
|
18362
|
+
const ownerLastByte = parseInt(owner.slice(40), 16);
|
|
18363
|
+
return (addrLastByte ^ ownerLastByte) & 255;
|
|
18349
18364
|
}
|
|
18350
|
-
function resolveSubAccountIndexes(
|
|
18351
|
-
const ownerIndex = getSubAccountIndex(account);
|
|
18365
|
+
function resolveSubAccountIndexes(_account, subAccountIndexes) {
|
|
18352
18366
|
const indices = new Set(subAccountIndexes);
|
|
18353
|
-
indices.add(
|
|
18367
|
+
indices.add(0);
|
|
18354
18368
|
return [...indices].sort((a, b) => a - b);
|
|
18355
18369
|
}
|
|
18356
18370
|
var buildEulerUserCall = async (chainId, lender, account, subAccountIndexes) => {
|
|
18357
|
-
console.log("subAccountIndexes", subAccountIndexes);
|
|
18358
18371
|
if (!ENABLED_EULER_V2_CHAINS.includes(chainId)) return [];
|
|
18359
18372
|
const config = eulerConfigs()?.[lender]?.[chainId];
|
|
18360
18373
|
if (!config) return [];
|
|
@@ -24615,8 +24628,15 @@ async function getMergedUserData(chainId, balanceQueries, permissionParams, lend
|
|
|
24615
24628
|
return parseMergedResult(chainId, rawResults, prepared, lenderState);
|
|
24616
24629
|
}
|
|
24617
24630
|
function toCompoundV2Shares(entry, amount) {
|
|
24618
|
-
const
|
|
24619
|
-
|
|
24631
|
+
const raw = entry.params?.exchangeRateCurrent;
|
|
24632
|
+
if (!raw || raw === "0x") return amount;
|
|
24633
|
+
try {
|
|
24634
|
+
const exRate = BigInt(raw);
|
|
24635
|
+
if (exRate === 0n) return amount;
|
|
24636
|
+
return amount * 10n ** 18n / exRate * 1001n / 1000n;
|
|
24637
|
+
} catch {
|
|
24638
|
+
return amount;
|
|
24639
|
+
}
|
|
24620
24640
|
}
|
|
24621
24641
|
function resolveDebitDataKey(chainId, lender, tokenAddress, cToken) {
|
|
24622
24642
|
if (isCompoundV2Type(lender) || isVenusType(lender)) {
|
|
@@ -25776,6 +25796,20 @@ function computeZapTradeDeltas(dollarIn, dollarOut, sourceMode, yieldParamsIn, y
|
|
|
25776
25796
|
return buildLoopResult(balance, newBalance, apr, newApr);
|
|
25777
25797
|
}
|
|
25778
25798
|
|
|
25799
|
+
// src/lending/margin/loop/ranges/getMaxAmountOpen.ts
|
|
25800
|
+
var MaxParamThresholds = /* @__PURE__ */ ((MaxParamThresholds2) => {
|
|
25801
|
+
MaxParamThresholds2[MaxParamThresholds2["MIN_HF"] = 1] = "MIN_HF";
|
|
25802
|
+
MaxParamThresholds2[MaxParamThresholds2["SAME_OPEN_HF"] = 1.1] = "SAME_OPEN_HF";
|
|
25803
|
+
MaxParamThresholds2[MaxParamThresholds2["SAFE_HF"] = 1.01] = "SAFE_HF";
|
|
25804
|
+
return MaxParamThresholds2;
|
|
25805
|
+
})(MaxParamThresholds || {});
|
|
25806
|
+
function getMaxAmountOpen(borrowDiscountedCollateral, collateral, debt, cfOut, bfIn, sameAsset = false) {
|
|
25807
|
+
if (sameAsset) {
|
|
25808
|
+
return (collateral - 1.1 /* SAME_OPEN_HF */ * debt) / (1.1 /* SAME_OPEN_HF */ * bfIn - cfOut);
|
|
25809
|
+
}
|
|
25810
|
+
return (borrowDiscountedCollateral - 1.01 /* SAFE_HF */ * debt) / (1.01 /* SAFE_HF */ * bfIn - cfOut);
|
|
25811
|
+
}
|
|
25812
|
+
|
|
25779
25813
|
// src/assets/liquidityThresholds.ts
|
|
25780
25814
|
var DEFAULT_LIQUIDITY_THRESHOLDS = {
|
|
25781
25815
|
minDepositsUSD: 25e3,
|
|
@@ -25856,36 +25890,76 @@ var intersection = (a0, a1) => {
|
|
|
25856
25890
|
return a0.filter((a) => a1.includes(a));
|
|
25857
25891
|
};
|
|
25858
25892
|
var LENDER_MODE_NO_MODE2 = "0";
|
|
25859
|
-
var
|
|
25893
|
+
var NO_LEVERAGE = {
|
|
25894
|
+
maxLeverage: 1,
|
|
25895
|
+
eModeConfigId: "0",
|
|
25896
|
+
borrowCollateralFactorLong: 0,
|
|
25897
|
+
collateralFactorLong: 0,
|
|
25898
|
+
borrowFactorShort: 1
|
|
25899
|
+
};
|
|
25900
|
+
var getLeverageParams = (lender, longData, shortData) => {
|
|
25860
25901
|
if (isAaveV3Type(lender)) {
|
|
25861
25902
|
const emode = isEMode(lender, longData, shortData).modeId;
|
|
25862
|
-
const
|
|
25863
|
-
|
|
25903
|
+
const modeId = emode ?? LENDER_MODE_NO_MODE2;
|
|
25904
|
+
const longConfig2 = longData.config[modeId];
|
|
25905
|
+
const shortConfig2 = shortData.config[modeId];
|
|
25906
|
+
const cf2 = longConfig2?.borrowCollateralFactor;
|
|
25907
|
+
return {
|
|
25908
|
+
maxLeverage: 1 / (1 - cf2),
|
|
25909
|
+
eModeConfigId: modeId,
|
|
25910
|
+
borrowCollateralFactorLong: cf2,
|
|
25911
|
+
collateralFactorLong: longConfig2?.collateralFactor ?? cf2,
|
|
25912
|
+
borrowFactorShort: shortConfig2?.borrowFactor ?? 1
|
|
25913
|
+
};
|
|
25864
25914
|
}
|
|
25865
25915
|
if (isInit(lender)) {
|
|
25866
25916
|
const modeIntersect = intersection(
|
|
25867
25917
|
Object.values(longData.config).map((c) => c.category),
|
|
25868
25918
|
Object.values(shortData.config).map((c) => c.category)
|
|
25869
25919
|
);
|
|
25870
|
-
if (modeIntersect.length === 0) return
|
|
25920
|
+
if (modeIntersect.length === 0) return NO_LEVERAGE;
|
|
25871
25921
|
const configId = String(Object.values(longData.config).filter((c) => modeIntersect.includes(c.category)).sort(
|
|
25872
25922
|
(c, d) => c.borrowCollateralFactor < d.borrowCollateralFactor ? 1 : -1
|
|
25873
25923
|
)[0].category);
|
|
25874
|
-
const
|
|
25875
|
-
const
|
|
25876
|
-
|
|
25924
|
+
const longConfig2 = longData.config[configId];
|
|
25925
|
+
const shortConfig2 = shortData.config[configId];
|
|
25926
|
+
const cf2 = longConfig2?.borrowCollateralFactor;
|
|
25927
|
+
const bf = shortConfig2?.borrowFactor;
|
|
25928
|
+
return {
|
|
25929
|
+
maxLeverage: 1 / (1 - cf2 / bf),
|
|
25930
|
+
eModeConfigId: configId,
|
|
25931
|
+
borrowCollateralFactorLong: cf2,
|
|
25932
|
+
collateralFactorLong: longConfig2?.collateralFactor ?? cf2,
|
|
25933
|
+
borrowFactorShort: bf
|
|
25934
|
+
};
|
|
25877
25935
|
}
|
|
25878
25936
|
if (isSumerType(lender)) {
|
|
25879
25937
|
const shortEntries = Object.entries(shortData?.config ?? {});
|
|
25880
|
-
if (shortEntries.length === 0) return
|
|
25938
|
+
if (shortEntries.length === 0) return NO_LEVERAGE;
|
|
25881
25939
|
const shortGroupId = shortEntries.sort(
|
|
25882
25940
|
([, a], [, b]) => b.borrowCollateralFactor - a.borrowCollateralFactor
|
|
25883
25941
|
)[0][0];
|
|
25884
|
-
const
|
|
25885
|
-
|
|
25942
|
+
const longConfig2 = longData?.config?.[shortGroupId];
|
|
25943
|
+
const cf2 = longConfig2?.borrowCollateralFactor ?? 0;
|
|
25944
|
+
if (cf2 <= 0 || cf2 >= 1) return NO_LEVERAGE;
|
|
25945
|
+
return {
|
|
25946
|
+
maxLeverage: 1 / (1 - cf2),
|
|
25947
|
+
eModeConfigId: shortGroupId,
|
|
25948
|
+
borrowCollateralFactorLong: cf2,
|
|
25949
|
+
collateralFactorLong: longConfig2?.collateralFactor ?? cf2,
|
|
25950
|
+
borrowFactorShort: 1
|
|
25951
|
+
};
|
|
25886
25952
|
}
|
|
25887
|
-
const
|
|
25888
|
-
|
|
25953
|
+
const longConfig = longData?.config?.[LENDER_MODE_NO_MODE2];
|
|
25954
|
+
const shortConfig = shortData?.config?.[LENDER_MODE_NO_MODE2];
|
|
25955
|
+
const cf = longConfig?.borrowCollateralFactor ?? 0.8;
|
|
25956
|
+
return {
|
|
25957
|
+
maxLeverage: 1 / (1 - cf),
|
|
25958
|
+
eModeConfigId: LENDER_MODE_NO_MODE2,
|
|
25959
|
+
borrowCollateralFactorLong: cf,
|
|
25960
|
+
collateralFactorLong: longConfig?.collateralFactor ?? cf,
|
|
25961
|
+
borrowFactorShort: shortConfig?.borrowFactor ?? 1
|
|
25962
|
+
};
|
|
25889
25963
|
};
|
|
25890
25964
|
function generateLendingPairs(lenderData, prices, histPrices) {
|
|
25891
25965
|
const pairs = [];
|
|
@@ -25912,7 +25986,8 @@ function generateLendingPairs(lenderData, prices, histPrices) {
|
|
|
25912
25986
|
const short = poolArray[j];
|
|
25913
25987
|
if (!short.borrowingEnabled) continue;
|
|
25914
25988
|
if (long.underlying === short.underlying) continue;
|
|
25915
|
-
const
|
|
25989
|
+
const leverageParams = getLeverageParams(lender, long, short);
|
|
25990
|
+
const maxDepositLeverage = leverageParams.maxLeverage;
|
|
25916
25991
|
if (maxDepositLeverage < 1.05) continue;
|
|
25917
25992
|
const borrowLeverage = maxDepositLeverage - 1;
|
|
25918
25993
|
const depositLeverage = maxDepositLeverage;
|
|
@@ -25953,6 +26028,8 @@ function generateLendingPairs(lenderData, prices, histPrices) {
|
|
|
25953
26028
|
infoShort: { poolId: short.poolId, asset: short.asset },
|
|
25954
26029
|
price,
|
|
25955
26030
|
price24h,
|
|
26031
|
+
priceLong,
|
|
26032
|
+
priceShort,
|
|
25956
26033
|
assetGroupLong,
|
|
25957
26034
|
assetGroupShort,
|
|
25958
26035
|
priceChange: price24h === 0 ? 0 : (price - price24h) / price24h,
|
|
@@ -25961,6 +26038,10 @@ function generateLendingPairs(lenderData, prices, histPrices) {
|
|
|
25961
26038
|
baseApr,
|
|
25962
26039
|
rewardApr,
|
|
25963
26040
|
eMode: long.eMode?.category ?? 0,
|
|
26041
|
+
eModeConfigId: leverageParams.eModeConfigId,
|
|
26042
|
+
borrowCollateralFactorLong: leverageParams.borrowCollateralFactorLong,
|
|
26043
|
+
collateralFactorLong: leverageParams.collateralFactorLong,
|
|
26044
|
+
borrowFactorShort: leverageParams.borrowFactorShort,
|
|
25964
26045
|
longTotalDepositsUSD: long.totalDepositsUSD,
|
|
25965
26046
|
longTotalDebtUSD: long.totalDebtUSD,
|
|
25966
26047
|
// if the asset cannot be borrowed, liquidity is not a pparameter for longing
|
|
@@ -31648,6 +31729,6 @@ async function fetchTokenBalances(chainId, account, tokens, options = {}) {
|
|
|
31648
31729
|
return parseTokenBalanceResult(rawResult, prepared.query);
|
|
31649
31730
|
}
|
|
31650
31731
|
|
|
31651
|
-
export { EMPTY_BALANCE, MORPHO_LENS, applyPositionDelta, attachPricesToFlashLiquidity, buildLoopResult, buildMorphoTypeCall, buildMorphoTypeUserCallWithLens, buildPortfolioTotals, buildSumerAccumulators, buildSummaries, calculateLeverage, calculateNetApr, calculateOverallNetApr, calculateWeightedAverage, computeBorrowDelta2 as computeBorrowDelta, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeDepositDelta2 as computeDepositDelta, computeEModeAnalysis, computeOpenTradeDeltas, computePostTradeMetrics, computeRepayDelta2 as computeRepayDelta, computeSumerBorrowDelta, computeSumerDepositDelta, computeSumerRepayDelta, computeSumerWaterfall, computeSumerWithdrawDelta, computeWithdrawDelta2 as computeWithdrawDelta, computeZapTradeDeltas, convertLenderUserDataResult, createMarketUid, createMulticallRpcCall, createRawRpcCalls, decodeListaMarkets, decodeMarkets, decodePackedListaUserDataset, decodePackedMorphoUserDataset, encodeBalanceFetcherCalldata, fetchDefillamaData, fetchDefillamaHistData, fetchFlashLiquidityForChain, fetchGeneralYields, fetchGeneralYieldsByMarketUid, fetchMainPrices, fetchOraclePrices, fetchPendlePrices, fetchTokenBalances, fetchTokenMetadata, filterActiveLenders, filterLendersByProtocol, fuseLenderData, generateLendingPairs, generateLendingPools, getAavesForChain, getAssetConfig, getBalanceForMarketUid, getBorrowCapacity, getHealthFactor, getLenderAssets, getLenderPublicData, getLenderPublicDataAll, getLenderPublicDataViaApi, getLenderUserDataMulti, getLenderUserDataResult, getLendersForChain, getMergedUserData, getMorphoTypeMarketConverter, getTopPairs, keysFromMaps, multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseMergedResult, parseMulticallRpcResponses, parseRawRpcBatchResponses, parseRawRpcResponses, parseTokenBalanceResult, positivePart2 as positivePart, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, selectAssetGroupPrices, unflattenLenderData };
|
|
31732
|
+
export { EMPTY_BALANCE, MORPHO_LENS, MaxParamThresholds, applyPositionDelta, attachPricesToFlashLiquidity, buildLoopResult, buildMorphoTypeCall, buildMorphoTypeUserCallWithLens, buildPortfolioTotals, buildSumerAccumulators, buildSummaries, calculateLeverage, calculateNetApr, calculateOverallNetApr, calculateWeightedAverage, computeBorrowDelta2 as computeBorrowDelta, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeDepositDelta2 as computeDepositDelta, computeEModeAnalysis, computeOpenTradeDeltas, computePostTradeMetrics, computeRepayDelta2 as computeRepayDelta, computeSumerBorrowDelta, computeSumerDepositDelta, computeSumerRepayDelta, computeSumerWaterfall, computeSumerWithdrawDelta, computeWithdrawDelta2 as computeWithdrawDelta, computeZapTradeDeltas, convertLenderUserDataResult, createMarketUid, createMulticallRpcCall, createRawRpcCalls, decodeListaMarkets, decodeMarkets, decodePackedListaUserDataset, decodePackedMorphoUserDataset, encodeBalanceFetcherCalldata, fetchDefillamaData, fetchDefillamaHistData, fetchFlashLiquidityForChain, fetchGeneralYields, fetchGeneralYieldsByMarketUid, fetchMainPrices, fetchOraclePrices, fetchPendlePrices, fetchTokenBalances, fetchTokenMetadata, filterActiveLenders, filterLendersByProtocol, fuseLenderData, generateLendingPairs, generateLendingPools, getAavesForChain, getAssetConfig, getBalanceForMarketUid, getBorrowCapacity, getHealthFactor, getLenderAssets, getLenderPublicData, getLenderPublicDataAll, getLenderPublicDataViaApi, getLenderUserDataMulti, getLenderUserDataResult, getLendersForChain, getMaxAmountOpen, getMergedUserData, getMorphoTypeMarketConverter, getTopPairs, keysFromMaps, multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseMergedResult, parseMulticallRpcResponses, parseRawRpcBatchResponses, parseRawRpcResponses, parseTokenBalanceResult, positivePart2 as positivePart, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, selectAssetGroupPrices, unflattenLenderData };
|
|
31652
31733
|
//# sourceMappingURL=index.js.map
|
|
31653
31734
|
//# sourceMappingURL=index.js.map
|