@1delta/margin-fetcher 0.0.27 → 0.0.29
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-v3-type/userCallParse.d.ts +2 -2
- package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallParse.js +13 -12
- package/dist/lending/user-data/fetchUserData.d.ts +5 -2
- package/dist/lending/user-data/fetchUserData.d.ts.map +1 -1
- package/dist/lending/user-data/fetchUserData.js +7 -4
- 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/utils/multicall.d.ts +2 -1
- package/dist/utils/multicall.d.ts.map +1 -1
- package/dist/utils/multicall.js +12 -6
- 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-v3-type/userCallParse.ts +45 -31
- package/src/lending/user-data/fetchUserData.ts +19 -4
- 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/utils/multicall.ts +15 -4
- package/src/yields/index.ts +67 -7
- package/test/dataMainnet.ts +45256 -0
- package/test/mainPriceMB.test.ts +1 -2
- package/test/mainPrices.test.ts +1 -1
- package/test/morphoPrice.test.ts +1 -1
- package/test/userDataAave.test.ts +2 -7
- package/test/userDataAaveMainnet.test.ts +102 -0
- 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,5 +1,3 @@
|
|
|
1
|
-
import fetch from 'axios'
|
|
2
|
-
|
|
3
1
|
const prefixEthereum = 'ethereum:'
|
|
4
2
|
const RETH = '0xae78736Cd615f374D3085123A210448E74Fc6393'
|
|
5
3
|
const WBTC = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599'
|
|
@@ -41,6 +39,10 @@ const EZETH = '0xbf5495Efe5DB9ce00f80364C8B423567e58d2110'
|
|
|
41
39
|
const LBTC = '0x8236a87084f8B84306f72007F36F2618A5634494'
|
|
42
40
|
const BRBTC = '0x2eC37d45FCAE65D9787ECf71dc85a444968f6646'
|
|
43
41
|
const SDAI = '0x83f20f44975d03b1b09e64809b757c47f942beea'
|
|
42
|
+
const RUSD = '0x09d4214c03d01f49544c0448dbe3a27f768f2b34'
|
|
43
|
+
const USDF = '0xfa2b947eec368f42195f24f36d2af29f7c24cec2'
|
|
44
|
+
const USUAL = '0xc4441c2be5d8fa8126822b9929ca0b81ea0de38e'
|
|
45
|
+
const WOETH = '0xdcee70654261af21c44c093c300ed3bb97b78192'
|
|
44
46
|
const datasEthereum = [
|
|
45
47
|
RETH,
|
|
46
48
|
WBTC,
|
|
@@ -82,6 +84,10 @@ const datasEthereum = [
|
|
|
82
84
|
LBTC,
|
|
83
85
|
BRBTC,
|
|
84
86
|
SDAI,
|
|
87
|
+
RUSD,
|
|
88
|
+
USDF,
|
|
89
|
+
USUAL,
|
|
90
|
+
WOETH,
|
|
85
91
|
]
|
|
86
92
|
.map((d) => prefixEthereum + d)
|
|
87
93
|
.join(',')
|
|
@@ -122,6 +128,10 @@ const WYPE = '0x5555555555555555555555555555555555555555'
|
|
|
122
128
|
const WSTHYPE = '0x94e8396e0869c9f2200760af0621afd240e1cf38'
|
|
123
129
|
const kHYPE = '0xfd739d4e423301ce9385c1fb8850539d657c296d'
|
|
124
130
|
|
|
131
|
+
const prefixSolana = 'solana:'
|
|
132
|
+
const JITOSOL = 'J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn'
|
|
133
|
+
const SOL = 'So11111111111111111111111111111111111111112'
|
|
134
|
+
|
|
125
135
|
// const prefixKaia = 'kaia:'
|
|
126
136
|
// const WKAIA = '0x19aac5f612f524b754ca7e7c41cbfa2e981a4432'
|
|
127
137
|
|
|
@@ -139,6 +149,7 @@ const datasSonic = [WS].map((d) => prefixSonic + d).join(',')
|
|
|
139
149
|
const datasHyperEvm = [WYPE, WSTHYPE, kHYPE]
|
|
140
150
|
.map((d) => prefixHyperEVM + d)
|
|
141
151
|
.join(',')
|
|
152
|
+
const datasSolana = [JITOSOL, SOL].map((d) => prefixSolana + d).join(',')
|
|
142
153
|
// const datasKaia = [WKAIA].map((d) => prefixKaia + d).join(',')
|
|
143
154
|
|
|
144
155
|
const URL = `https://coins.llama.fi/prices/current/${[
|
|
@@ -152,8 +163,9 @@ const URL = `https://coins.llama.fi/prices/current/${[
|
|
|
152
163
|
datasFantom,
|
|
153
164
|
datasHyperEvm,
|
|
154
165
|
// datasKaia,
|
|
155
|
-
datasSonic,
|
|
166
|
+
datasSonic,
|
|
156
167
|
datasPolygon,
|
|
168
|
+
datasSolana,
|
|
157
169
|
].join(',')}?searchWidth=4h`
|
|
158
170
|
const URL_HIST = (ref: number) =>
|
|
159
171
|
`https://coins.llama.fi/prices/historical/${ref}/${[
|
|
@@ -168,7 +180,8 @@ const URL_HIST = (ref: number) =>
|
|
|
168
180
|
// datasKaia,
|
|
169
181
|
datasHyperEvm,
|
|
170
182
|
datasPolygon,
|
|
171
|
-
datasSonic,
|
|
183
|
+
datasSonic,
|
|
184
|
+
datasSolana,
|
|
172
185
|
].join(',')}?searchWidth=4h`
|
|
173
186
|
|
|
174
187
|
const SYMBOL_MAP = {
|
|
@@ -235,15 +248,21 @@ const SYMBOL_MAP = {
|
|
|
235
248
|
khype: 'Kinetiq Staked HYPE::kHYPE',
|
|
236
249
|
wsthype: 'Staked HYPE Shares::WSTHYPE',
|
|
237
250
|
trumatic: 'TRUMATIC',
|
|
251
|
+
rusd: 'Reservoir rUSD::RUSD',
|
|
252
|
+
usdf: 'Falcon Finance::USDF',
|
|
253
|
+
usual: 'Usual::USUAL',
|
|
254
|
+
woeth: 'Wrapped OETH::WOETH',
|
|
255
|
+
jitosol: 'Jito Staked SOL::JitoSOL',
|
|
256
|
+
sol: 'SOL',
|
|
238
257
|
}
|
|
239
258
|
|
|
240
259
|
export async function fetchDefillamaData() {
|
|
241
260
|
try {
|
|
242
|
-
const res: any = await fetch(URL)
|
|
261
|
+
const res: any = await fetch(URL).then((a) => a.json())
|
|
243
262
|
|
|
244
263
|
let prices = Object.assign(
|
|
245
264
|
{},
|
|
246
|
-
...Object.values(res.
|
|
265
|
+
...Object.values(res.coins).map((k: any) => {
|
|
247
266
|
// @ts-ignore
|
|
248
267
|
return { [SYMBOL_MAP[k.symbol.toLowerCase()]]: k.price }
|
|
249
268
|
}),
|
|
@@ -254,6 +273,7 @@ export async function fetchDefillamaData() {
|
|
|
254
273
|
prices['ETH'] = prices['WETH']
|
|
255
274
|
prices['S'] = prices['WS']
|
|
256
275
|
prices['CORE'] = prices['WCORE']
|
|
276
|
+
prices['WSOL'] = prices['SOL']
|
|
257
277
|
prices['AVAX'] = prices['WAVAX']
|
|
258
278
|
prices['METIS'] = prices['WMETIS']
|
|
259
279
|
// prices['WKAIA'] = prices['KAIA']
|
|
@@ -282,11 +302,11 @@ export async function fetchDefillamaData() {
|
|
|
282
302
|
export async function fetchDefillamaHistData() {
|
|
283
303
|
try {
|
|
284
304
|
const nowMinus24 = Math.floor(Date.now() / 1000 - 24 * 3600)
|
|
285
|
-
const resHist: any = await fetch(URL_HIST(nowMinus24))
|
|
305
|
+
const resHist: any = await fetch(URL_HIST(nowMinus24)).then((a) => a.json())
|
|
286
306
|
|
|
287
307
|
let histPrices = Object.assign(
|
|
288
308
|
{},
|
|
289
|
-
...Object.values(resHist.
|
|
309
|
+
...Object.values(resHist.coins).map((k: any) => {
|
|
290
310
|
// @ts-ignore
|
|
291
311
|
return { [SYMBOL_MAP[k.symbol.toLowerCase()]]: k.price }
|
|
292
312
|
}),
|
|
@@ -297,6 +317,7 @@ export async function fetchDefillamaHistData() {
|
|
|
297
317
|
histPrices['ETH'] = histPrices['WETH']
|
|
298
318
|
histPrices['S'] = histPrices['WS']
|
|
299
319
|
histPrices['CORE'] = histPrices['WCORE']
|
|
320
|
+
histPrices['WSOL'] = histPrices['SOL']
|
|
300
321
|
histPrices['AVAX'] = histPrices['WAVAX']
|
|
301
322
|
histPrices['METIS'] = histPrices['WMETIS']
|
|
302
323
|
histPrices['HYPE'] = histPrices['WHYPE']
|