@1delta/margin-fetcher 0.0.63 → 0.0.65
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
|
@@ -6637,133 +6637,6 @@ var buildAaveV2StyleLenderReserveCall = (chainId, lender) => {
|
|
|
6637
6637
|
}
|
|
6638
6638
|
};
|
|
6639
6639
|
|
|
6640
|
-
// src/lending/aave-v3-type/publicCallBuild.ts
|
|
6641
|
-
var AAVE_V3_EMODES = [0, 1, 2, 3, 4, 5, 6];
|
|
6642
|
-
function yldrBaseline(assetsToQuery, providerAddress) {
|
|
6643
|
-
return assetsToQuery.flatMap((tk) => [
|
|
6644
|
-
{
|
|
6645
|
-
address: providerAddress,
|
|
6646
|
-
name: "getReserveData",
|
|
6647
|
-
params: [tk]
|
|
6648
|
-
},
|
|
6649
|
-
{
|
|
6650
|
-
address: providerAddress,
|
|
6651
|
-
name: "getReserveConfigurationData",
|
|
6652
|
-
params: [tk]
|
|
6653
|
-
}
|
|
6654
|
-
]);
|
|
6655
|
-
}
|
|
6656
|
-
function aaveV3baseline(assetsToQuery, providerAddress, poolAddress, legacy = false) {
|
|
6657
|
-
const callDecimals = {
|
|
6658
|
-
address: providerAddress,
|
|
6659
|
-
name: "getDebtCeilingDecimals",
|
|
6660
|
-
params: []
|
|
6661
|
-
};
|
|
6662
|
-
const callReservesList = {
|
|
6663
|
-
address: poolAddress,
|
|
6664
|
-
name: "getReservesList",
|
|
6665
|
-
params: []
|
|
6666
|
-
};
|
|
6667
|
-
const callsBase = assetsToQuery.flatMap((tk) => [
|
|
6668
|
-
{
|
|
6669
|
-
address: providerAddress,
|
|
6670
|
-
name: "getReserveData",
|
|
6671
|
-
params: [tk]
|
|
6672
|
-
},
|
|
6673
|
-
{
|
|
6674
|
-
address: providerAddress,
|
|
6675
|
-
name: "getReserveConfigurationData",
|
|
6676
|
-
params: [tk]
|
|
6677
|
-
},
|
|
6678
|
-
{
|
|
6679
|
-
address: providerAddress,
|
|
6680
|
-
name: "getSiloedBorrowing",
|
|
6681
|
-
params: [tk]
|
|
6682
|
-
},
|
|
6683
|
-
{
|
|
6684
|
-
address: providerAddress,
|
|
6685
|
-
name: "getReserveCaps",
|
|
6686
|
-
params: [tk]
|
|
6687
|
-
},
|
|
6688
|
-
{
|
|
6689
|
-
address: providerAddress,
|
|
6690
|
-
name: "getDebtCeiling",
|
|
6691
|
-
params: [tk]
|
|
6692
|
-
},
|
|
6693
|
-
...legacy ? [
|
|
6694
|
-
{
|
|
6695
|
-
address: providerAddress,
|
|
6696
|
-
name: "getReserveEModeCategory",
|
|
6697
|
-
params: [tk]
|
|
6698
|
-
}
|
|
6699
|
-
] : []
|
|
6700
|
-
]);
|
|
6701
|
-
return {
|
|
6702
|
-
callsBase,
|
|
6703
|
-
callReservesList,
|
|
6704
|
-
callDecimals
|
|
6705
|
-
};
|
|
6706
|
-
}
|
|
6707
|
-
var buildAaveV3StyleLenderReserveCall = (chainId, lender) => {
|
|
6708
|
-
const providerAddress = getAaveTypePoolDataProviderAddress(chainId, lender);
|
|
6709
|
-
const assetsToQuery = getAaveAssets(chainId, lender);
|
|
6710
|
-
const poolAddress = getAaveTypePoolAddress(chainId, lender);
|
|
6711
|
-
if (isAaveV32Type(lender)) {
|
|
6712
|
-
const getEModeCategoryData = AAVE_V3_EMODES.flatMap((eMode) => {
|
|
6713
|
-
return [
|
|
6714
|
-
{
|
|
6715
|
-
address: poolAddress,
|
|
6716
|
-
name: "getEModeCategoryData",
|
|
6717
|
-
params: [eMode]
|
|
6718
|
-
},
|
|
6719
|
-
{
|
|
6720
|
-
address: poolAddress,
|
|
6721
|
-
name: "getEModeCategoryBorrowableBitmap",
|
|
6722
|
-
params: [eMode]
|
|
6723
|
-
},
|
|
6724
|
-
{
|
|
6725
|
-
address: poolAddress,
|
|
6726
|
-
name: "getEModeCategoryCollateralBitmap",
|
|
6727
|
-
params: [eMode]
|
|
6728
|
-
}
|
|
6729
|
-
];
|
|
6730
|
-
});
|
|
6731
|
-
const { callDecimals, callReservesList, callsBase } = aaveV3baseline(
|
|
6732
|
-
assetsToQuery,
|
|
6733
|
-
providerAddress,
|
|
6734
|
-
poolAddress
|
|
6735
|
-
);
|
|
6736
|
-
const calls = [
|
|
6737
|
-
...callsBase,
|
|
6738
|
-
...getEModeCategoryData,
|
|
6739
|
-
callReservesList,
|
|
6740
|
-
callDecimals
|
|
6741
|
-
];
|
|
6742
|
-
return calls;
|
|
6743
|
-
}
|
|
6744
|
-
switch (lender) {
|
|
6745
|
-
case Lender.YLDR: {
|
|
6746
|
-
const calls = yldrBaseline(assetsToQuery, providerAddress);
|
|
6747
|
-
return calls;
|
|
6748
|
-
}
|
|
6749
|
-
default: {
|
|
6750
|
-
const getEModeCategoryData = AAVE_V3_EMODES.flatMap((eMode) => ({
|
|
6751
|
-
address: poolAddress,
|
|
6752
|
-
name: "getEModeCategoryData",
|
|
6753
|
-
params: [eMode]
|
|
6754
|
-
}));
|
|
6755
|
-
const { callDecimals, callsBase } = aaveV3baseline(
|
|
6756
|
-
assetsToQuery,
|
|
6757
|
-
providerAddress,
|
|
6758
|
-
poolAddress,
|
|
6759
|
-
true
|
|
6760
|
-
);
|
|
6761
|
-
const calls = [...callsBase, ...getEModeCategoryData, callDecimals];
|
|
6762
|
-
return calls;
|
|
6763
|
-
}
|
|
6764
|
-
}
|
|
6765
|
-
};
|
|
6766
|
-
|
|
6767
6640
|
// ../../node_modules/.pnpm/@1delta+chain-registry@0.0.2/node_modules/@1delta/chain-registry/dist/index.mjs
|
|
6768
6641
|
var Chain = /* @__PURE__ */ ((Chain2) => {
|
|
6769
6642
|
Chain2["ETHEREUM_MAINNET"] = "1";
|
|
@@ -7859,6 +7732,154 @@ var Chain = /* @__PURE__ */ ((Chain2) => {
|
|
|
7859
7732
|
return Chain2;
|
|
7860
7733
|
})(Chain || {});
|
|
7861
7734
|
|
|
7735
|
+
// src/lending/aave-v3-type/publicCallBuild.ts
|
|
7736
|
+
function range(n) {
|
|
7737
|
+
return Array.from({ length: n + 1 }, (_2, i) => i);
|
|
7738
|
+
}
|
|
7739
|
+
var AAVE_V3_EMODES = (chain, lender) => {
|
|
7740
|
+
if (chain === Chain.ETHEREUM_MAINNET) {
|
|
7741
|
+
if (lender === Lender.AAVE_V3) return range(33);
|
|
7742
|
+
if (lender === Lender.AAVE_V3_PRIME) return range(10);
|
|
7743
|
+
}
|
|
7744
|
+
if (chain === Chain.ARBITRUM_ONE) {
|
|
7745
|
+
if (lender === Lender.AAVE_V3) return range(10);
|
|
7746
|
+
}
|
|
7747
|
+
if (chain === Chain.BASE) {
|
|
7748
|
+
if (lender === Lender.AAVE_V3) return range(12);
|
|
7749
|
+
}
|
|
7750
|
+
return [0, 1, 2, 3, 4, 5, 6];
|
|
7751
|
+
};
|
|
7752
|
+
function yldrBaseline(assetsToQuery, providerAddress) {
|
|
7753
|
+
return assetsToQuery.flatMap((tk) => [
|
|
7754
|
+
{
|
|
7755
|
+
address: providerAddress,
|
|
7756
|
+
name: "getReserveData",
|
|
7757
|
+
params: [tk]
|
|
7758
|
+
},
|
|
7759
|
+
{
|
|
7760
|
+
address: providerAddress,
|
|
7761
|
+
name: "getReserveConfigurationData",
|
|
7762
|
+
params: [tk]
|
|
7763
|
+
}
|
|
7764
|
+
]);
|
|
7765
|
+
}
|
|
7766
|
+
function aaveV3baseline(assetsToQuery, providerAddress, poolAddress, legacy = false) {
|
|
7767
|
+
const callDecimals = {
|
|
7768
|
+
address: providerAddress,
|
|
7769
|
+
name: "getDebtCeilingDecimals",
|
|
7770
|
+
params: []
|
|
7771
|
+
};
|
|
7772
|
+
const callReservesList = {
|
|
7773
|
+
address: poolAddress,
|
|
7774
|
+
name: "getReservesList",
|
|
7775
|
+
params: []
|
|
7776
|
+
};
|
|
7777
|
+
const callsBase = assetsToQuery.flatMap((tk) => [
|
|
7778
|
+
{
|
|
7779
|
+
address: providerAddress,
|
|
7780
|
+
name: "getReserveData",
|
|
7781
|
+
params: [tk]
|
|
7782
|
+
},
|
|
7783
|
+
{
|
|
7784
|
+
address: providerAddress,
|
|
7785
|
+
name: "getReserveConfigurationData",
|
|
7786
|
+
params: [tk]
|
|
7787
|
+
},
|
|
7788
|
+
{
|
|
7789
|
+
address: providerAddress,
|
|
7790
|
+
name: "getSiloedBorrowing",
|
|
7791
|
+
params: [tk]
|
|
7792
|
+
},
|
|
7793
|
+
{
|
|
7794
|
+
address: providerAddress,
|
|
7795
|
+
name: "getReserveCaps",
|
|
7796
|
+
params: [tk]
|
|
7797
|
+
},
|
|
7798
|
+
{
|
|
7799
|
+
address: providerAddress,
|
|
7800
|
+
name: "getDebtCeiling",
|
|
7801
|
+
params: [tk]
|
|
7802
|
+
},
|
|
7803
|
+
...legacy ? [
|
|
7804
|
+
{
|
|
7805
|
+
address: providerAddress,
|
|
7806
|
+
name: "getReserveEModeCategory",
|
|
7807
|
+
params: [tk]
|
|
7808
|
+
}
|
|
7809
|
+
] : []
|
|
7810
|
+
]);
|
|
7811
|
+
return {
|
|
7812
|
+
callsBase,
|
|
7813
|
+
callReservesList,
|
|
7814
|
+
callDecimals
|
|
7815
|
+
};
|
|
7816
|
+
}
|
|
7817
|
+
var buildAaveV3StyleLenderReserveCall = (chainId, lender) => {
|
|
7818
|
+
const providerAddress = getAaveTypePoolDataProviderAddress(chainId, lender);
|
|
7819
|
+
const assetsToQuery = getAaveAssets(chainId, lender);
|
|
7820
|
+
const poolAddress = getAaveTypePoolAddress(chainId, lender);
|
|
7821
|
+
if (isAaveV32Type(lender)) {
|
|
7822
|
+
const getEModeCategoryData = AAVE_V3_EMODES(
|
|
7823
|
+
chainId,
|
|
7824
|
+
lender
|
|
7825
|
+
).flatMap((eMode) => {
|
|
7826
|
+
return [
|
|
7827
|
+
{
|
|
7828
|
+
address: poolAddress,
|
|
7829
|
+
name: "getEModeCategoryData",
|
|
7830
|
+
params: [eMode]
|
|
7831
|
+
},
|
|
7832
|
+
{
|
|
7833
|
+
address: poolAddress,
|
|
7834
|
+
name: "getEModeCategoryBorrowableBitmap",
|
|
7835
|
+
params: [eMode]
|
|
7836
|
+
},
|
|
7837
|
+
{
|
|
7838
|
+
address: poolAddress,
|
|
7839
|
+
name: "getEModeCategoryCollateralBitmap",
|
|
7840
|
+
params: [eMode]
|
|
7841
|
+
}
|
|
7842
|
+
];
|
|
7843
|
+
});
|
|
7844
|
+
const { callDecimals, callReservesList, callsBase } = aaveV3baseline(
|
|
7845
|
+
assetsToQuery,
|
|
7846
|
+
providerAddress,
|
|
7847
|
+
poolAddress
|
|
7848
|
+
);
|
|
7849
|
+
const calls = [
|
|
7850
|
+
...callsBase,
|
|
7851
|
+
...getEModeCategoryData,
|
|
7852
|
+
callReservesList,
|
|
7853
|
+
callDecimals
|
|
7854
|
+
];
|
|
7855
|
+
return calls;
|
|
7856
|
+
}
|
|
7857
|
+
switch (lender) {
|
|
7858
|
+
case Lender.YLDR: {
|
|
7859
|
+
const calls = yldrBaseline(assetsToQuery, providerAddress);
|
|
7860
|
+
return calls;
|
|
7861
|
+
}
|
|
7862
|
+
default: {
|
|
7863
|
+
const getEModeCategoryData = AAVE_V3_EMODES(
|
|
7864
|
+
chainId,
|
|
7865
|
+
lender
|
|
7866
|
+
).flatMap((eMode) => ({
|
|
7867
|
+
address: poolAddress,
|
|
7868
|
+
name: "getEModeCategoryData",
|
|
7869
|
+
params: [eMode]
|
|
7870
|
+
}));
|
|
7871
|
+
const { callDecimals, callsBase } = aaveV3baseline(
|
|
7872
|
+
assetsToQuery,
|
|
7873
|
+
providerAddress,
|
|
7874
|
+
poolAddress,
|
|
7875
|
+
true
|
|
7876
|
+
);
|
|
7877
|
+
const calls = [...callsBase, ...getEModeCategoryData, callDecimals];
|
|
7878
|
+
return calls;
|
|
7879
|
+
}
|
|
7880
|
+
}
|
|
7881
|
+
};
|
|
7882
|
+
|
|
7862
7883
|
// src/lending/addresses/init.ts
|
|
7863
7884
|
function getInitLensAddress(chainId) {
|
|
7864
7885
|
return addressesInitCore.PublicLens[chainId];
|
|
@@ -8252,7 +8273,8 @@ var getAaveV3ReservesDataConverter = (lender, chainId, prices, additionalYields,
|
|
|
8252
8273
|
);
|
|
8253
8274
|
default: {
|
|
8254
8275
|
const assetsToQuery = getAaveAssets(chainId, lender);
|
|
8255
|
-
const
|
|
8276
|
+
const allModes = AAVE_V3_EMODES(chainId, lender);
|
|
8277
|
+
const expectedNumberOfCalls = assetsToQuery.length * 6 + allModes.length + 1;
|
|
8256
8278
|
return [
|
|
8257
8279
|
(data) => {
|
|
8258
8280
|
if (data.length !== expectedNumberOfCalls) {
|
|
@@ -8260,12 +8282,12 @@ var getAaveV3ReservesDataConverter = (lender, chainId, prices, additionalYields,
|
|
|
8260
8282
|
}
|
|
8261
8283
|
const emodeDataResult = data.slice(
|
|
8262
8284
|
assetsToQuery.length * 6,
|
|
8263
|
-
assetsToQuery.length * 6 +
|
|
8285
|
+
assetsToQuery.length * 6 + allModes.length
|
|
8264
8286
|
);
|
|
8265
8287
|
const resultReserves = {};
|
|
8266
8288
|
const decimalsCeiling = data[expectedNumberOfCalls - 1];
|
|
8267
8289
|
let eModeConfigs = {};
|
|
8268
|
-
|
|
8290
|
+
allModes.map((mode, index) => {
|
|
8269
8291
|
const rawCfg = emodeDataResult[index];
|
|
8270
8292
|
if (mode === 0 || rawCfg?.label !== "")
|
|
8271
8293
|
eModeConfigs[mode] = {
|
|
@@ -8339,7 +8361,8 @@ var getAaveV3ReservesDataConverter = (lender, chainId, prices, additionalYields,
|
|
|
8339
8361
|
configData?.[2 /* liquidationThreshold */]
|
|
8340
8362
|
) / BPS,
|
|
8341
8363
|
eModeCategory,
|
|
8342
|
-
eModeConfigs
|
|
8364
|
+
eModeConfigs,
|
|
8365
|
+
allModes
|
|
8343
8366
|
),
|
|
8344
8367
|
// flags
|
|
8345
8368
|
collateralActive: configData?.[5 /* usageAsCollateralEnabled */],
|
|
@@ -8369,9 +8392,9 @@ var getAaveV3ReservesDataConverter = (lender, chainId, prices, additionalYields,
|
|
|
8369
8392
|
}
|
|
8370
8393
|
}
|
|
8371
8394
|
};
|
|
8372
|
-
var populateEModes = (borrowCollateralFactor, collateralFactor, eModeCategory, eModeConfigs) => {
|
|
8395
|
+
var populateEModes = (borrowCollateralFactor, collateralFactor, eModeCategory, eModeConfigs, allModes) => {
|
|
8373
8396
|
let data = {};
|
|
8374
|
-
|
|
8397
|
+
allModes.forEach((e) => {
|
|
8375
8398
|
data[e] = {
|
|
8376
8399
|
category: e,
|
|
8377
8400
|
borrowCollateralFactor,
|
|
@@ -8393,9 +8416,9 @@ var populateEModes = (borrowCollateralFactor, collateralFactor, eModeCategory, e
|
|
|
8393
8416
|
});
|
|
8394
8417
|
return data;
|
|
8395
8418
|
};
|
|
8396
|
-
var populateEModes32 = (borrowCollateralFactor, collateralFactor, collateralBitmap, debtBitmap, assetIndex, eModeConfigs) => {
|
|
8419
|
+
var populateEModes32 = (borrowCollateralFactor, collateralFactor, collateralBitmap, debtBitmap, assetIndex, eModeConfigs, allModes) => {
|
|
8397
8420
|
let data = {};
|
|
8398
|
-
|
|
8421
|
+
allModes.forEach((e) => {
|
|
8399
8422
|
data[e] = {
|
|
8400
8423
|
category: e,
|
|
8401
8424
|
borrowCollateralFactor,
|
|
@@ -8519,7 +8542,8 @@ function parseYLDRCall(chainId, lender, additionalYields, prices, tokenList) {
|
|
|
8519
8542
|
}
|
|
8520
8543
|
function parseAave32(chainId, lender, prices, additionalYields, tokenList) {
|
|
8521
8544
|
const assetsToQuery = getAaveAssets(chainId, lender);
|
|
8522
|
-
const
|
|
8545
|
+
const allModes = AAVE_V3_EMODES(chainId, lender);
|
|
8546
|
+
const expectedNumberOfCalls = assetsToQuery.length * 5 + allModes.length * 3 + 2;
|
|
8523
8547
|
return [
|
|
8524
8548
|
(data) => {
|
|
8525
8549
|
if (data.length !== expectedNumberOfCalls) {
|
|
@@ -8527,7 +8551,7 @@ function parseAave32(chainId, lender, prices, additionalYields, tokenList) {
|
|
|
8527
8551
|
}
|
|
8528
8552
|
const emodeDataResult = data.slice(
|
|
8529
8553
|
assetsToQuery.length * 5,
|
|
8530
|
-
assetsToQuery.length * 5 +
|
|
8554
|
+
assetsToQuery.length * 5 + allModes.length * 3
|
|
8531
8555
|
);
|
|
8532
8556
|
const resultReserves = {};
|
|
8533
8557
|
const reservesList = data[expectedNumberOfCalls - 2];
|
|
@@ -8535,7 +8559,7 @@ function parseAave32(chainId, lender, prices, additionalYields, tokenList) {
|
|
|
8535
8559
|
let eModeConfigs = {};
|
|
8536
8560
|
let collateralBitmap = {};
|
|
8537
8561
|
let debtBitmap = {};
|
|
8538
|
-
|
|
8562
|
+
allModes.map((mode, index) => {
|
|
8539
8563
|
const rawCfg = emodeDataResult[3 * index];
|
|
8540
8564
|
if (rawCfg && (mode === 0 || rawCfg?.label !== ""))
|
|
8541
8565
|
eModeConfigs[mode] = {
|
|
@@ -8602,7 +8626,7 @@ function parseAave32(chainId, lender, prices, additionalYields, tokenList) {
|
|
|
8602
8626
|
rewards: {}
|
|
8603
8627
|
};
|
|
8604
8628
|
const assetIndex = lowerReservesList.indexOf(asset);
|
|
8605
|
-
const activeEmodes =
|
|
8629
|
+
const activeEmodes = allModes.map(
|
|
8606
8630
|
(mode) => isReserveEnabledOnBitmap(debtBitmap[mode], assetIndex) || isReserveEnabledOnBitmap(collateralBitmap[mode], assetIndex) ? mode : -1
|
|
8607
8631
|
).filter((m) => m !== void 0 && m > 0);
|
|
8608
8632
|
const eModeCategory = activeEmodes.length === 0 ? 0 : activeEmodes[0];
|
|
@@ -8619,7 +8643,8 @@ function parseAave32(chainId, lender, prices, additionalYields, tokenList) {
|
|
|
8619
8643
|
collateralBitmap,
|
|
8620
8644
|
debtBitmap,
|
|
8621
8645
|
assetIndex,
|
|
8622
|
-
eModeConfigs
|
|
8646
|
+
eModeConfigs,
|
|
8647
|
+
allModes
|
|
8623
8648
|
),
|
|
8624
8649
|
// flags
|
|
8625
8650
|
collateralActive: configData?.[5 /* usageAsCollateralEnabled */],
|
|
@@ -18398,7 +18423,7 @@ var URL = `https://coins.llama.fi/prices/current/${[
|
|
|
18398
18423
|
datasManta,
|
|
18399
18424
|
datasTelos,
|
|
18400
18425
|
datasbsc
|
|
18401
|
-
].join(",")}
|
|
18426
|
+
].join(",")}`;
|
|
18402
18427
|
var URL_HIST = (ref) => `https://coins.llama.fi/prices/historical/${ref}/${[
|
|
18403
18428
|
datasEthereum,
|
|
18404
18429
|
datasAvalanche,
|
|
@@ -18415,7 +18440,7 @@ var URL_HIST = (ref) => `https://coins.llama.fi/prices/historical/${ref}/${[
|
|
|
18415
18440
|
datasSonic,
|
|
18416
18441
|
datasSolana,
|
|
18417
18442
|
datasbsc
|
|
18418
|
-
].join(",")}
|
|
18443
|
+
].join(",")}`;
|
|
18419
18444
|
var SYMBOL_MAP = {
|
|
18420
18445
|
weth: "WETH",
|
|
18421
18446
|
usde: "USDE",
|