@1delta/margin-fetcher 0.0.28 → 0.0.30
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/lending/user-data/aave-v2-type/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v2-type/userCallParse.js +2 -3
- package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v3/userCallParse.js +1 -2
- package/dist/lending/user-data/fetchUserData.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallParse.js +43 -34
- package/dist/prices/defillama/index.d.ts.map +1 -1
- package/dist/prices/defillama/index.js +28 -7
- package/dist/prices/main-prices/addresses/morpho.d.ts.map +1 -1
- package/dist/prices/main-prices/addresses/morpho.js +353 -325
- package/dist/prices/main-prices/fetchOracleData.js +4 -2
- package/dist/yields/index.d.ts.map +1 -1
- package/dist/yields/index.js +57 -8
- package/package.json +2 -2
- package/src/lending/user-data/aave-v2-type/userCallParse.ts +2 -3
- package/src/lending/user-data/compound-v3/userCallParse.ts +1 -2
- package/src/lending/user-data/fetchUserData.ts +1 -0
- package/src/lending/user-data/morpho/userCallParse.ts +65 -51
- package/src/prices/defillama/index.ts +29 -8
- package/src/prices/main-prices/addresses/morpho.ts +353 -325
- package/src/prices/main-prices/fetchOracleData.ts +5 -2
- package/src/yields/index.ts +67 -7
- package/test/mainPriceMB.test.ts +1 -2
- package/test/mainPrices.test.ts +1 -1
- package/test/morphoPrice.test.ts +1 -1
- package/test/userDataAll.test.ts +1 -4
- package/test/userDataMorpho.test.ts +1 -1
- package/test/userDataMorphoEthereum.test.ts +77 -0
- package/test/userDataMorphoKatana.test.ts +75 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v2-type/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAgC,yBAAyB,EAAmB,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v2-type/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAgC,yBAAyB,EAAmB,MAAM,UAAU,CAAA;AAOnG,eAAO,MAAM,0BAA0B,GACrC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,yBAAyB,GAAG,SAAS,EAAE,MAAM,CA0QjE,CAAA"}
|
|
@@ -4,7 +4,6 @@ import { AaveV2TypeGetUserReserveData } from "../types";
|
|
|
4
4
|
import { AURELIUS_REWARD_ASSETS } from "../../aave-v2-type/misc";
|
|
5
5
|
import { getLenderAssets } from "../../../utils";
|
|
6
6
|
import { createBaseTypeUserState } from "../utils";
|
|
7
|
-
import { Asset as SupportedAssets } from "@1delta/asset-registry";
|
|
8
7
|
import { parseRawAmount } from "../../../utils/parsing";
|
|
9
8
|
export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pricesHist, lenderData) => {
|
|
10
9
|
switch (lender) {
|
|
@@ -88,7 +87,7 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
88
87
|
const rewards = {};
|
|
89
88
|
const earnedBalances = data[expectedNumberOfCalls - 1];
|
|
90
89
|
const lendRewards = Number(parseRawAmount(earnedBalances[0].toString(), 18));
|
|
91
|
-
rewards[
|
|
90
|
+
rewards["LEND"] = { totalRewards: lendRewards + totalClaimableLend, claimableRewards: totalClaimableLend };
|
|
92
91
|
const payload = {
|
|
93
92
|
chainId,
|
|
94
93
|
account,
|
|
@@ -139,7 +138,7 @@ export const getAaveV2UserDataConverter = (lender, chainId, account, prices, pri
|
|
|
139
138
|
lendingPositions[asset] = dataForAsset;
|
|
140
139
|
}
|
|
141
140
|
const rewards = {};
|
|
142
|
-
rewards[
|
|
141
|
+
rewards["TAIKO"] = {
|
|
143
142
|
totalRewards,
|
|
144
143
|
claimableRewards: totalClaimableRewards
|
|
145
144
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/compound-v3/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAWxD,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,6BAA6B,GAAG,SAAS,EAAE,MAAM,CAmHrE,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { getAssetMeta, getCompoundV3Assets, toGenericPriceKey, toOracleKey, } from '../../../assets';
|
|
2
2
|
import { getCompoundV3BaseAsset } from '../../addresses/compoundV3';
|
|
3
3
|
import { parseRawAmount } from '../../../utils/parsing';
|
|
4
|
-
import { Asset as SupportedAssets } from '@1delta/asset-registry';
|
|
5
4
|
import { createBaseTypeUserState } from '../utils';
|
|
6
5
|
export const getCompoundV3UserDataConverter = (lender, chainId, account, prices, pricesHist, lenderData) => {
|
|
7
6
|
const assetAddresses = getCompoundV3Assets(chainId, lender);
|
|
@@ -84,7 +83,7 @@ export const getCompoundV3UserDataConverter = (lender, chainId, account, prices,
|
|
|
84
83
|
chainId,
|
|
85
84
|
baseAsset,
|
|
86
85
|
rewards: {
|
|
87
|
-
[
|
|
86
|
+
['COMP']: {
|
|
88
87
|
totalRewards: compRewards,
|
|
89
88
|
claimableRewards: compRewards,
|
|
90
89
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchUserData.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/fetchUserData.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAuB,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AA6FlD;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,YAAY,eAAe,EAAE,EAC7B,cAAc,oBAAoB,EAClC,sBAAmB,EACnB,kBAAwC,EACxC,gBAAW,EACX,cAAY,KACX,OAAO,CAAC,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"fetchUserData.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/fetchUserData.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAuB,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AA6FlD;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,YAAY,eAAe,EAAE,EAC7B,cAAc,oBAAoB,EAClC,sBAAmB,EACnB,kBAAwC,EACxC,gBAAW,EACX,cAAY,KACX,OAAO,CAAC,GAAG,EAAE,CAgCf,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,YAAY,eAAe,EAAE,EAC7B,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,EACX,YAAY,GAAG,EACf,aAAa,GAAG,KACf;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAsCzB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAiDpD,eAAO,MAAM,kCAAkC,GAC7C,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,YAAY;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACvC,YAAY,GAAG,KACd,CACD,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAAE,GAAG,SAAS,EAC5E,MAAM,CAkGP,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { getAssetMeta, toGenericPriceKey, toOracleKey } from '../../../assets';
|
|
|
2
2
|
import { createBaseTypeUserState } from '../utils';
|
|
3
3
|
import { parseRawAmount } from '../../../utils/parsing';
|
|
4
4
|
import { decodePackedDataset } from './decoder';
|
|
5
|
+
const CHUNK_SIZE = 100;
|
|
5
6
|
const balanceData = {
|
|
6
7
|
'0': {
|
|
7
8
|
borrowDiscountedCollateral: 0,
|
|
@@ -42,7 +43,7 @@ const userDataEmpty = (account, chainId) => {
|
|
|
42
43
|
};
|
|
43
44
|
};
|
|
44
45
|
export const getMorphoUserDataConverterWithlens = (lender, chainId, account, markets, prices, pricesHist, lenderData) => {
|
|
45
|
-
const expectedNumberOfCalls = Math.ceil(markets.length /
|
|
46
|
+
const expectedNumberOfCalls = Math.ceil(markets.length / CHUNK_SIZE);
|
|
46
47
|
return [
|
|
47
48
|
(data) => {
|
|
48
49
|
// chunksizes depend on markets
|
|
@@ -53,36 +54,40 @@ export const getMorphoUserDataConverterWithlens = (lender, chainId, account, mar
|
|
|
53
54
|
// to the real chunk
|
|
54
55
|
// it is
|
|
55
56
|
// (chunk number) * (chunksize = 100) + index
|
|
56
|
-
function mapMarketToChunk(
|
|
57
|
-
return
|
|
57
|
+
function mapMarketToChunk(indexInChunk, chunkIndex) {
|
|
58
|
+
return chunkIndex * CHUNK_SIZE + indexInChunk;
|
|
58
59
|
}
|
|
59
60
|
let marketsHandled = [];
|
|
60
|
-
// de-chunk the calldata
|
|
61
|
-
const returnDatas = data.flatMap((d) => decodePackedDataset(d));
|
|
62
61
|
let datas = {};
|
|
63
|
-
|
|
62
|
+
// we loop over the return dat
|
|
63
|
+
for (let i = 0; i < data.length; i++) {
|
|
64
64
|
let totalDebt24h = 0;
|
|
65
65
|
let totalDeposits24h = 0;
|
|
66
|
-
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
chainId,
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
66
|
+
// get balance data array for chunk
|
|
67
|
+
const balanceDatas = decodePackedDataset(data[i]);
|
|
68
|
+
// itereate of balanceDatas received in chunk
|
|
69
|
+
balanceDatas.forEach((balanceData) => {
|
|
70
|
+
// this will get the market by index
|
|
71
|
+
const markeId = markets[mapMarketToChunk(balanceData.index, i)];
|
|
72
|
+
marketsHandled.push(markeId);
|
|
73
|
+
const market = lenderData[markeId]?.params?.market;
|
|
74
|
+
const { dataForMarket, addedDebt, addedDeposits } = createMorphoEntryFromMarketWithLens(balanceData, chainId, market, prices, pricesHist);
|
|
75
|
+
totalDebt24h += addedDebt;
|
|
76
|
+
totalDeposits24h += addedDeposits;
|
|
77
|
+
const payload = {
|
|
78
|
+
chainId,
|
|
79
|
+
account,
|
|
80
|
+
lendingPositions: { '0': dataForMarket },
|
|
81
|
+
rewards: {},
|
|
82
|
+
userEMode: 0,
|
|
83
|
+
};
|
|
84
|
+
const userData = createBaseTypeUserState(payload, lenderData[markeId].data, totalDeposits24h, totalDebt24h);
|
|
85
|
+
datas[market.lender] = {
|
|
86
|
+
...payload,
|
|
87
|
+
...userData,
|
|
88
|
+
id: market.id,
|
|
89
|
+
};
|
|
90
|
+
});
|
|
86
91
|
}
|
|
87
92
|
for (const marketId of markets) {
|
|
88
93
|
const pubData = lenderData[marketId];
|
|
@@ -116,6 +121,7 @@ function createMorphoEntryFromMarketWithLens(balanceInfo, chainId, market, price
|
|
|
116
121
|
// prices
|
|
117
122
|
const priceLoan = prices[loanKey] ?? 1;
|
|
118
123
|
const priceHistLoan = pricesHist?.[loanKey] ?? priceLoan;
|
|
124
|
+
// balances
|
|
119
125
|
const deposits = balanceInfo.supplyAssets;
|
|
120
126
|
const borrow = balanceInfo.borrowAssets;
|
|
121
127
|
const collateral = balanceInfo.collateral;
|
|
@@ -127,26 +133,29 @@ function createMorphoEntryFromMarketWithLens(balanceInfo, chainId, market, price
|
|
|
127
133
|
addedDebt: 0,
|
|
128
134
|
};
|
|
129
135
|
const collateralAddress = market.collateralAddress.toLowerCase();
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
const
|
|
136
|
+
const collateralAssetMeta = getAssetMeta(chainId, collateralAddress);
|
|
137
|
+
// loan asset deposits
|
|
138
|
+
const loanDepositNumber = parseRawAmount(deposits.toString(), market.loanDecimals ?? loanMeta?.decimals ?? 18);
|
|
139
|
+
// collateral amount
|
|
140
|
+
const decimals = market.collateralDecimals ?? collateralAssetMeta?.decimals ?? 18;
|
|
133
141
|
const collateralDec = parseRawAmount(collateral.toString(), decimals);
|
|
142
|
+
// borrow asset balance
|
|
134
143
|
const borrowDec = parseRawAmount(borrow.toString(), market.loanDecimals ?? loanMeta?.decimals ?? 18);
|
|
135
144
|
const dataForLoanAsset = {
|
|
136
145
|
poolId: loanAddress,
|
|
137
146
|
underlying: loanAddress,
|
|
138
|
-
deposits:
|
|
147
|
+
deposits: loanDepositNumber,
|
|
139
148
|
depositsRaw: deposits.toString(),
|
|
140
149
|
debtStable: '0',
|
|
141
150
|
debt: borrowDec,
|
|
142
|
-
depositsUSD: Number(
|
|
151
|
+
depositsUSD: Number(loanDepositNumber) * priceLoan,
|
|
143
152
|
debtStableUSD: 0,
|
|
144
153
|
debtUSD: Number(borrowDec) * priceLoan,
|
|
145
154
|
stableBorrowRate: '0',
|
|
146
|
-
collateralActive:
|
|
155
|
+
collateralActive: false,
|
|
147
156
|
claimableRewards: 0,
|
|
148
157
|
};
|
|
149
|
-
const key = toOracleKey(
|
|
158
|
+
const key = toOracleKey(collateralAssetMeta?.assetGroup) ??
|
|
150
159
|
toGenericPriceKey(collateralAddress, chainId);
|
|
151
160
|
// prices
|
|
152
161
|
const price = prices[key] ?? 1;
|
|
@@ -170,7 +179,7 @@ function createMorphoEntryFromMarketWithLens(balanceInfo, chainId, market, price
|
|
|
170
179
|
[loanAddress]: dataForLoanAsset,
|
|
171
180
|
[collateralAddress]: dataForCollateralAsset,
|
|
172
181
|
},
|
|
173
|
-
addedDeposits: Number(
|
|
182
|
+
addedDeposits: Number(loanDepositNumber) * priceHistLoan + Number(collateralDec) * priceHist,
|
|
174
183
|
addedDebt: Number(borrowDec) * priceHistLoan,
|
|
175
184
|
};
|
|
176
185
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prices/defillama/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prices/defillama/index.ts"],"names":[],"mappings":"AAkQA,wBAAsB,kBAAkB,iBAyCvC;AAED,wBAAsB,sBAAsB,iBA6C3C"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import fetch from 'axios';
|
|
2
1
|
const prefixEthereum = 'ethereum:';
|
|
3
2
|
const RETH = '0xae78736Cd615f374D3085123A210448E74Fc6393';
|
|
4
3
|
const WBTC = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599';
|
|
@@ -40,6 +39,10 @@ const EZETH = '0xbf5495Efe5DB9ce00f80364C8B423567e58d2110';
|
|
|
40
39
|
const LBTC = '0x8236a87084f8B84306f72007F36F2618A5634494';
|
|
41
40
|
const BRBTC = '0x2eC37d45FCAE65D9787ECf71dc85a444968f6646';
|
|
42
41
|
const SDAI = '0x83f20f44975d03b1b09e64809b757c47f942beea';
|
|
42
|
+
const RUSD = '0x09d4214c03d01f49544c0448dbe3a27f768f2b34';
|
|
43
|
+
const USDF = '0xfa2b947eec368f42195f24f36d2af29f7c24cec2';
|
|
44
|
+
const USUAL = '0xc4441c2be5d8fa8126822b9929ca0b81ea0de38e';
|
|
45
|
+
const WOETH = '0xdcee70654261af21c44c093c300ed3bb97b78192';
|
|
43
46
|
const datasEthereum = [
|
|
44
47
|
RETH,
|
|
45
48
|
WBTC,
|
|
@@ -81,6 +84,10 @@ const datasEthereum = [
|
|
|
81
84
|
LBTC,
|
|
82
85
|
BRBTC,
|
|
83
86
|
SDAI,
|
|
87
|
+
RUSD,
|
|
88
|
+
USDF,
|
|
89
|
+
USUAL,
|
|
90
|
+
WOETH,
|
|
84
91
|
]
|
|
85
92
|
.map((d) => prefixEthereum + d)
|
|
86
93
|
.join(',');
|
|
@@ -109,6 +116,9 @@ const prefixHyperEVM = 'hyperliquid:';
|
|
|
109
116
|
const WYPE = '0x5555555555555555555555555555555555555555';
|
|
110
117
|
const WSTHYPE = '0x94e8396e0869c9f2200760af0621afd240e1cf38';
|
|
111
118
|
const kHYPE = '0xfd739d4e423301ce9385c1fb8850539d657c296d';
|
|
119
|
+
const prefixSolana = 'solana:';
|
|
120
|
+
const JITOSOL = 'J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn';
|
|
121
|
+
const SOL = 'So11111111111111111111111111111111111111112';
|
|
112
122
|
// const prefixKaia = 'kaia:'
|
|
113
123
|
// const WKAIA = '0x19aac5f612f524b754ca7e7c41cbfa2e981a4432'
|
|
114
124
|
const datasAvalanche = [WAVAX, SAVAX].map((d) => prefixAvalanche + d).join(',');
|
|
@@ -125,6 +135,7 @@ const datasSonic = [WS].map((d) => prefixSonic + d).join(',');
|
|
|
125
135
|
const datasHyperEvm = [WYPE, WSTHYPE, kHYPE]
|
|
126
136
|
.map((d) => prefixHyperEVM + d)
|
|
127
137
|
.join(',');
|
|
138
|
+
const datasSolana = [JITOSOL, SOL].map((d) => prefixSolana + d).join(',');
|
|
128
139
|
// const datasKaia = [WKAIA].map((d) => prefixKaia + d).join(',')
|
|
129
140
|
const URL = `https://coins.llama.fi/prices/current/${[
|
|
130
141
|
datasEthereum,
|
|
@@ -137,8 +148,9 @@ const URL = `https://coins.llama.fi/prices/current/${[
|
|
|
137
148
|
datasFantom,
|
|
138
149
|
datasHyperEvm,
|
|
139
150
|
// datasKaia,
|
|
140
|
-
datasSonic,
|
|
151
|
+
datasSonic,
|
|
141
152
|
datasPolygon,
|
|
153
|
+
datasSolana,
|
|
142
154
|
].join(',')}?searchWidth=4h`;
|
|
143
155
|
const URL_HIST = (ref) => `https://coins.llama.fi/prices/historical/${ref}/${[
|
|
144
156
|
datasEthereum,
|
|
@@ -152,7 +164,8 @@ const URL_HIST = (ref) => `https://coins.llama.fi/prices/historical/${ref}/${[
|
|
|
152
164
|
// datasKaia,
|
|
153
165
|
datasHyperEvm,
|
|
154
166
|
datasPolygon,
|
|
155
|
-
datasSonic,
|
|
167
|
+
datasSonic,
|
|
168
|
+
datasSolana,
|
|
156
169
|
].join(',')}?searchWidth=4h`;
|
|
157
170
|
const SYMBOL_MAP = {
|
|
158
171
|
weth: 'WETH',
|
|
@@ -218,11 +231,17 @@ const SYMBOL_MAP = {
|
|
|
218
231
|
khype: 'Kinetiq Staked HYPE::kHYPE',
|
|
219
232
|
wsthype: 'Staked HYPE Shares::WSTHYPE',
|
|
220
233
|
trumatic: 'TRUMATIC',
|
|
234
|
+
rusd: 'Reservoir rUSD::RUSD',
|
|
235
|
+
usdf: 'Falcon Finance::USDF',
|
|
236
|
+
usual: 'Usual::USUAL',
|
|
237
|
+
woeth: 'Wrapped OETH::WOETH',
|
|
238
|
+
jitosol: 'Jito Staked SOL::JitoSOL',
|
|
239
|
+
sol: 'SOL',
|
|
221
240
|
};
|
|
222
241
|
export async function fetchDefillamaData() {
|
|
223
242
|
try {
|
|
224
|
-
const res = await fetch(URL);
|
|
225
|
-
let prices = Object.assign({}, ...Object.values(res.
|
|
243
|
+
const res = await fetch(URL).then((a) => a.json());
|
|
244
|
+
let prices = Object.assign({}, ...Object.values(res.coins).map((k) => {
|
|
226
245
|
// @ts-ignore
|
|
227
246
|
return { [SYMBOL_MAP[k.symbol.toLowerCase()]]: k.price };
|
|
228
247
|
}));
|
|
@@ -231,6 +250,7 @@ export async function fetchDefillamaData() {
|
|
|
231
250
|
prices['ETH'] = prices['WETH'];
|
|
232
251
|
prices['S'] = prices['WS'];
|
|
233
252
|
prices['CORE'] = prices['WCORE'];
|
|
253
|
+
prices['WSOL'] = prices['SOL'];
|
|
234
254
|
prices['AVAX'] = prices['WAVAX'];
|
|
235
255
|
prices['METIS'] = prices['WMETIS'];
|
|
236
256
|
// prices['WKAIA'] = prices['KAIA']
|
|
@@ -256,8 +276,8 @@ export async function fetchDefillamaData() {
|
|
|
256
276
|
export async function fetchDefillamaHistData() {
|
|
257
277
|
try {
|
|
258
278
|
const nowMinus24 = Math.floor(Date.now() / 1000 - 24 * 3600);
|
|
259
|
-
const resHist = await fetch(URL_HIST(nowMinus24));
|
|
260
|
-
let histPrices = Object.assign({}, ...Object.values(resHist.
|
|
279
|
+
const resHist = await fetch(URL_HIST(nowMinus24)).then((a) => a.json());
|
|
280
|
+
let histPrices = Object.assign({}, ...Object.values(resHist.coins).map((k) => {
|
|
261
281
|
// @ts-ignore
|
|
262
282
|
return { [SYMBOL_MAP[k.symbol.toLowerCase()]]: k.price };
|
|
263
283
|
}));
|
|
@@ -266,6 +286,7 @@ export async function fetchDefillamaHistData() {
|
|
|
266
286
|
histPrices['ETH'] = histPrices['WETH'];
|
|
267
287
|
histPrices['S'] = histPrices['WS'];
|
|
268
288
|
histPrices['CORE'] = histPrices['WCORE'];
|
|
289
|
+
histPrices['WSOL'] = histPrices['SOL'];
|
|
269
290
|
histPrices['AVAX'] = histPrices['WAVAX'];
|
|
270
291
|
histPrices['METIS'] = histPrices['WMETIS'];
|
|
271
292
|
histPrices['HYPE'] = histPrices['WHYPE'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morpho.d.ts","sourceRoot":"","sources":["../../../../src/prices/main-prices/addresses/morpho.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,uBAAuB,EAAE,MAAM,CAAA;CAChC;AAED,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"morpho.d.ts","sourceRoot":"","sources":["../../../../src/prices/main-prices/addresses/morpho.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,uBAAuB,EAAE,MAAM,CAAA;CAChC;AAED,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAi/E5D,CAAA"}
|