@moonwell-fi/moonwell-sdk 0.9.26 → 0.9.28

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.
Files changed (81) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/_cjs/actions/core/markets/common.js +291 -5
  3. package/_cjs/actions/core/markets/common.js.map +1 -1
  4. package/_cjs/actions/core/markets/getMarketSnapshots.js +83 -3
  5. package/_cjs/actions/core/markets/getMarketSnapshots.js.map +1 -1
  6. package/_cjs/actions/core/user-positions/common.js +61 -1
  7. package/_cjs/actions/core/user-positions/common.js.map +1 -1
  8. package/_cjs/actions/core/user-positions/getUserPositionSnapshots.js +70 -2
  9. package/_cjs/actions/core/user-positions/getUserPositionSnapshots.js.map +1 -1
  10. package/_cjs/actions/lunar-indexer-client.js +164 -0
  11. package/_cjs/actions/lunar-indexer-client.js.map +1 -0
  12. package/_cjs/actions/lunar-indexer-transformers.js +47 -0
  13. package/_cjs/actions/lunar-indexer-transformers.js.map +1 -0
  14. package/_cjs/environments/definitions/base/environment.js +2 -1
  15. package/_cjs/environments/definitions/base/environment.js.map +1 -1
  16. package/_cjs/environments/definitions/moonbeam/environment.js +2 -1
  17. package/_cjs/environments/definitions/moonbeam/environment.js.map +1 -1
  18. package/_cjs/environments/definitions/optimism/environment.js +2 -1
  19. package/_cjs/environments/definitions/optimism/environment.js.map +1 -1
  20. package/_cjs/environments/types/config.js +1 -0
  21. package/_cjs/environments/types/config.js.map +1 -1
  22. package/_cjs/errors/version.js +1 -1
  23. package/_cjs/utils/lunar-indexer-helpers.js +27 -0
  24. package/_cjs/utils/lunar-indexer-helpers.js.map +1 -0
  25. package/_esm/actions/core/markets/common.js +302 -5
  26. package/_esm/actions/core/markets/common.js.map +1 -1
  27. package/_esm/actions/core/markets/getMarketSnapshots.js +87 -3
  28. package/_esm/actions/core/markets/getMarketSnapshots.js.map +1 -1
  29. package/_esm/actions/core/user-positions/common.js +74 -1
  30. package/_esm/actions/core/user-positions/common.js.map +1 -1
  31. package/_esm/actions/core/user-positions/getUserPositionSnapshots.js +100 -2
  32. package/_esm/actions/core/user-positions/getUserPositionSnapshots.js.map +1 -1
  33. package/_esm/actions/lunar-indexer-client.js +201 -0
  34. package/_esm/actions/lunar-indexer-client.js.map +1 -0
  35. package/_esm/actions/lunar-indexer-transformers.js +80 -0
  36. package/_esm/actions/lunar-indexer-transformers.js.map +1 -0
  37. package/_esm/environments/definitions/base/environment.js +2 -1
  38. package/_esm/environments/definitions/base/environment.js.map +1 -1
  39. package/_esm/environments/definitions/moonbeam/environment.js +2 -1
  40. package/_esm/environments/definitions/moonbeam/environment.js.map +1 -1
  41. package/_esm/environments/definitions/optimism/environment.js +2 -1
  42. package/_esm/environments/definitions/optimism/environment.js.map +1 -1
  43. package/_esm/environments/types/config.js +1 -0
  44. package/_esm/environments/types/config.js.map +1 -1
  45. package/_esm/errors/version.js +1 -1
  46. package/_esm/utils/lunar-indexer-helpers.js +48 -0
  47. package/_esm/utils/lunar-indexer-helpers.js.map +1 -0
  48. package/_types/actions/core/markets/common.d.ts.map +1 -1
  49. package/_types/actions/core/markets/getMarketSnapshots.d.ts +4 -0
  50. package/_types/actions/core/markets/getMarketSnapshots.d.ts.map +1 -1
  51. package/_types/actions/core/user-positions/common.d.ts.map +1 -1
  52. package/_types/actions/core/user-positions/getUserPositionSnapshots.d.ts +28 -0
  53. package/_types/actions/core/user-positions/getUserPositionSnapshots.d.ts.map +1 -1
  54. package/_types/actions/lunar-indexer-client.d.ts +197 -0
  55. package/_types/actions/lunar-indexer-client.d.ts.map +1 -0
  56. package/_types/actions/lunar-indexer-transformers.d.ts +40 -0
  57. package/_types/actions/lunar-indexer-transformers.d.ts.map +1 -0
  58. package/_types/environments/definitions/base/environment.d.ts +1 -1
  59. package/_types/environments/definitions/base/environment.d.ts.map +1 -1
  60. package/_types/environments/definitions/moonbeam/environment.d.ts +1 -1
  61. package/_types/environments/definitions/moonbeam/environment.d.ts.map +1 -1
  62. package/_types/environments/definitions/optimism/environment.d.ts +1 -1
  63. package/_types/environments/definitions/optimism/environment.d.ts.map +1 -1
  64. package/_types/environments/types/config.d.ts +2 -0
  65. package/_types/environments/types/config.d.ts.map +1 -1
  66. package/_types/errors/version.d.ts +1 -1
  67. package/_types/utils/lunar-indexer-helpers.d.ts +38 -0
  68. package/_types/utils/lunar-indexer-helpers.d.ts.map +1 -0
  69. package/actions/core/markets/common.ts +500 -5
  70. package/actions/core/markets/getMarketSnapshots.ts +153 -2
  71. package/actions/core/user-positions/common.ts +139 -6
  72. package/actions/core/user-positions/getUserPositionSnapshots.ts +175 -1
  73. package/actions/lunar-indexer-client.ts +409 -0
  74. package/actions/lunar-indexer-transformers.ts +113 -0
  75. package/environments/definitions/base/environment.ts +3 -0
  76. package/environments/definitions/moonbeam/environment.ts +3 -0
  77. package/environments/definitions/optimism/environment.ts +3 -0
  78. package/environments/types/config.ts +3 -0
  79. package/errors/version.ts +1 -1
  80. package/package.json +1 -1
  81. package/utils/lunar-indexer-helpers.ts +57 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @moonwell-fi/moonwell-sdk
2
2
 
3
+ ## 0.9.28
4
+
5
+ ### Patch Changes
6
+
7
+ - [#224](https://github.com/moonwell-fi/moonwell-sdk/pull/224) [`e05dec50f5b625f3f635ffe7e3ba40631c63abd8`](https://github.com/moonwell-fi/moonwell-sdk/commit/e05dec50f5b625f3f635ffe7e3ba40631c63abd8) Thanks [@bprofiro](https://github.com/bprofiro)! - fix markets snapshots
8
+
9
+ - [#222](https://github.com/moonwell-fi/moonwell-sdk/pull/222) [`31fea7b3cb46c807604c01e57ea8ae5b73b8995c`](https://github.com/moonwell-fi/moonwell-sdk/commit/31fea7b3cb46c807604c01e57ea8ae5b73b8995c) Thanks [@bprofiro](https://github.com/bprofiro)! - add fallback to failed oracle prices
10
+
11
+ ## 0.9.27
12
+
13
+ ### Patch Changes
14
+
15
+ - [#220](https://github.com/moonwell-fi/moonwell-sdk/pull/220) [`24d39b2ca3215d74d36e888cb811df8f0792c13d`](https://github.com/moonwell-fi/moonwell-sdk/commit/24d39b2ca3215d74d36e888cb811df8f0792c13d) Thanks [@lyoungblood](https://github.com/lyoungblood)! - Use official Moonwell RPCs
16
+
17
+ - [#206](https://github.com/moonwell-fi/moonwell-sdk/pull/206) [`5044b6d58427e9c1f968fa4130254a449a8651a6`](https://github.com/moonwell-fi/moonwell-sdk/commit/5044b6d58427e9c1f968fa4130254a449a8651a6) Thanks [@bprofiro](https://github.com/bprofiro)! - migrate markets fetch to use lunar-indexer
18
+
3
19
  ## 0.9.25
4
20
 
5
21
  ### Patch Changes
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.fetchLiquidStakingRewards = exports.getMarketsData = void 0;
4
27
  const viem_1 = require("viem");
@@ -7,19 +30,45 @@ const fetch_headers_js_1 = require("../../../common/fetch-headers.js");
7
30
  const index_js_2 = require("../../../environments/index.js");
8
31
  const index_js_3 = require("../../../environments/utils/index.js");
9
32
  const getMarketsData = async (environment) => {
33
+ const isMoonriver = environment.chainId === 1285;
34
+ if (environment.lunarIndexerUrl && !isMoonriver) {
35
+ try {
36
+ const result = await fetchMarketsFromLunar(environment);
37
+ return result;
38
+ }
39
+ catch (error) {
40
+ const { shouldFallback } = await Promise.resolve().then(() => __importStar(require("../../lunar-indexer-client.js")));
41
+ if (!shouldFallback(error)) {
42
+ throw error;
43
+ }
44
+ console.debug("[Lunar fallback] Falling back to RPC/Ponder:", error);
45
+ }
46
+ }
10
47
  const homeEnvironment = Object.values(index_js_2.publicEnvironments).find((e) => e.custom?.governance?.chainIds?.includes(environment.chainId)) || environment;
11
48
  const viewsContract = environment.contracts.views;
12
49
  const homeViewsContract = homeEnvironment.contracts.views;
13
- const marketData = await Promise.all([
50
+ const [protocolInfoResult, allMarketsInfoResult, nativePriceResult, govPriceResult,] = await Promise.allSettled([
14
51
  viewsContract?.read.getProtocolInfo(),
15
52
  viewsContract?.read.getAllMarketsInfo(),
16
53
  homeViewsContract?.read.getNativeTokenPrice(),
17
54
  homeViewsContract?.read.getGovernanceTokenPrice(),
18
55
  ]);
19
- const { seizePaused, transferPaused } = marketData[0];
20
- const allMarketsInfo = marketData[1];
21
- const nativeTokenPriceRaw = marketData[2];
22
- const governanceTokenPriceRaw = marketData[3];
56
+ if (allMarketsInfoResult.status === "rejected") {
57
+ console.debug("[mToken fallback] getAllMarketsInfo failed, using per-mToken fallback:", allMarketsInfoResult.reason);
58
+ const seizePaused = protocolInfoResult.status === "fulfilled"
59
+ ? protocolInfoResult.value.seizePaused
60
+ : false;
61
+ const transferPaused = protocolInfoResult.status === "fulfilled"
62
+ ? protocolInfoResult.value.transferPaused
63
+ : false;
64
+ return await getMarketsFromMTokenFallback(environment, seizePaused, transferPaused);
65
+ }
66
+ const { seizePaused, transferPaused } = protocolInfoResult.status === "fulfilled"
67
+ ? protocolInfoResult.value
68
+ : { seizePaused: false, transferPaused: false };
69
+ const allMarketsInfo = allMarketsInfoResult.value;
70
+ const nativeTokenPriceRaw = nativePriceResult.status === "fulfilled" ? nativePriceResult.value : 0n;
71
+ const governanceTokenPriceRaw = govPriceResult.status === "fulfilled" ? govPriceResult.value : 0n;
23
72
  const governanceTokenPrice = new index_js_1.Amount(governanceTokenPriceRaw, 18);
24
73
  const nativeTokenPrice = new index_js_1.Amount(nativeTokenPriceRaw, 18);
25
74
  const markets = [];
@@ -153,6 +202,243 @@ const getMarketsData = async (environment) => {
153
202
  return markets;
154
203
  };
155
204
  exports.getMarketsData = getMarketsData;
205
+ async function getMarketsFromMTokenFallback(environment, seizePaused, transferPaused) {
206
+ const markets = [];
207
+ for (const marketKey of Object.keys(environment.config.markets)) {
208
+ const envAny = environment;
209
+ const marketConfig = envAny.config.markets[marketKey];
210
+ if (!marketConfig)
211
+ continue;
212
+ const underlyingToken = envAny.config.tokens[marketConfig.underlyingToken];
213
+ const marketToken = envAny.config.tokens[marketConfig.marketToken];
214
+ if (!underlyingToken || !marketToken)
215
+ continue;
216
+ const mTokenContract = envAny.markets[marketKey];
217
+ if (!mTokenContract)
218
+ continue;
219
+ const [totalSupplyResult, totalBorrowsResult, totalReservesResult, cashResult, exchangeRateResult, supplyRateResult, borrowRateResult, reserveFactorResult,] = await Promise.allSettled([
220
+ mTokenContract.read.totalSupply(),
221
+ mTokenContract.read.totalBorrows(),
222
+ mTokenContract.read.totalReserves(),
223
+ mTokenContract.read.getCash(),
224
+ mTokenContract.read.exchangeRateStored(),
225
+ mTokenContract.read.supplyRatePerTimestamp(),
226
+ mTokenContract.read.borrowRatePerTimestamp(),
227
+ mTokenContract.read.reserveFactorMantissa(),
228
+ ]);
229
+ const totalSupplyRaw = totalSupplyResult.status === "fulfilled" ? totalSupplyResult.value : 0n;
230
+ const totalBorrowsRaw = totalBorrowsResult.status === "fulfilled" ? totalBorrowsResult.value : 0n;
231
+ const totalReservesRaw = totalReservesResult.status === "fulfilled"
232
+ ? totalReservesResult.value
233
+ : 0n;
234
+ const cashRaw = cashResult.status === "fulfilled" ? cashResult.value : 0n;
235
+ const exchangeRateRaw = exchangeRateResult.status === "fulfilled"
236
+ ? exchangeRateResult.value
237
+ : 10n ** BigInt(10 + underlyingToken.decimals);
238
+ const supplyRateRaw = supplyRateResult.status === "fulfilled" ? supplyRateResult.value : 0n;
239
+ const borrowRateRaw = borrowRateResult.status === "fulfilled" ? borrowRateResult.value : 0n;
240
+ const reserveFactorRaw = reserveFactorResult.status === "fulfilled"
241
+ ? reserveFactorResult.value
242
+ : 0n;
243
+ const exchangeRate = new index_js_1.Amount(exchangeRateRaw, 10 + underlyingToken.decimals).value;
244
+ const marketTotalSupply = new index_js_1.Amount(totalSupplyRaw, marketToken.decimals);
245
+ const totalSupply = new index_js_1.Amount(marketTotalSupply.value * exchangeRate, underlyingToken.decimals);
246
+ const totalBorrows = new index_js_1.Amount(totalBorrowsRaw, underlyingToken.decimals);
247
+ const totalReserves = new index_js_1.Amount(totalReservesRaw, underlyingToken.decimals);
248
+ const cash = new index_js_1.Amount(cashRaw, underlyingToken.decimals);
249
+ const supplyRate = new index_js_1.Amount(supplyRateRaw, 18);
250
+ const borrowRate = new index_js_1.Amount(borrowRateRaw, 18);
251
+ const reserveFactor = new index_js_1.Amount(reserveFactorRaw, 18).value;
252
+ const baseSupplyApy = (0, index_js_1.calculateApy)(supplyRate.value);
253
+ const baseBorrowApy = (0, index_js_1.calculateApy)(borrowRate.value);
254
+ const market = {
255
+ marketKey,
256
+ chainId: environment.chainId,
257
+ seizePaused,
258
+ transferPaused,
259
+ mintPaused: true,
260
+ borrowPaused: true,
261
+ deprecated: marketConfig.deprecated === true,
262
+ borrowCaps: new index_js_1.Amount(0n, underlyingToken.decimals),
263
+ borrowCapsUsd: 0,
264
+ cash,
265
+ collateralFactor: 0,
266
+ exchangeRate,
267
+ marketToken,
268
+ reserveFactor,
269
+ supplyCaps: new index_js_1.Amount(0n, underlyingToken.decimals),
270
+ supplyCapsUsd: 0,
271
+ badDebt: new index_js_1.Amount(0n, underlyingToken.decimals),
272
+ badDebtUsd: 0,
273
+ totalBorrows,
274
+ totalBorrowsUsd: 0,
275
+ totalReserves,
276
+ totalReservesUsd: 0,
277
+ totalSupply,
278
+ totalSupplyUsd: 0,
279
+ underlyingPrice: 0,
280
+ underlyingToken,
281
+ baseBorrowApy,
282
+ baseSupplyApy,
283
+ totalBorrowApr: baseBorrowApy,
284
+ totalSupplyApr: baseSupplyApy,
285
+ rewards: [],
286
+ };
287
+ markets.push(market);
288
+ }
289
+ return markets;
290
+ }
291
+ async function fetchMarketsFromLunar(environment) {
292
+ if (!environment.lunarIndexerUrl) {
293
+ throw new Error("Lunar Indexer URL not configured");
294
+ }
295
+ const { createLunarIndexerClient, DEFAULT_LUNAR_TIMEOUT_MS } = await Promise.resolve().then(() => __importStar(require("../../lunar-indexer-client.js")));
296
+ const client = createLunarIndexerClient({
297
+ baseUrl: environment.lunarIndexerUrl,
298
+ timeout: DEFAULT_LUNAR_TIMEOUT_MS,
299
+ });
300
+ const lunarMarketsResponse = await client.listMarkets(environment.chainId);
301
+ const lunarMarkets = lunarMarketsResponse.results;
302
+ const needsRpcPrices = lunarMarkets.some((market) => market.incentives.some((incentive) => incentive.priceUsd === null ||
303
+ incentive.supplyApr === null ||
304
+ incentive.borrowApr === null));
305
+ let governanceTokenPrice;
306
+ let nativeTokenPrice;
307
+ if (needsRpcPrices) {
308
+ const homeEnvironment = Object.values(index_js_2.publicEnvironments).find((e) => e.custom?.governance?.chainIds?.includes(environment.chainId)) || environment;
309
+ const [nativeTokenPriceRaw, governanceTokenPriceRaw] = await Promise.all([
310
+ homeEnvironment.contracts.views?.read.getNativeTokenPrice(),
311
+ homeEnvironment.contracts.views?.read.getGovernanceTokenPrice(),
312
+ ]);
313
+ if (!nativeTokenPriceRaw || !governanceTokenPriceRaw) {
314
+ throw new Error("Failed to fetch native or governance token prices from home chain");
315
+ }
316
+ governanceTokenPrice = new index_js_1.Amount(governanceTokenPriceRaw, 18);
317
+ nativeTokenPrice = new index_js_1.Amount(nativeTokenPriceRaw, 18);
318
+ }
319
+ const markets = [];
320
+ for (const lunarMarket of lunarMarkets) {
321
+ const marketFound = (0, index_js_3.findMarketByAddress)(environment, lunarMarket.address);
322
+ if (!marketFound) {
323
+ continue;
324
+ }
325
+ const { marketConfig, marketToken, underlyingToken, marketKey } = marketFound;
326
+ const totalSupply = new index_js_1.Amount(BigInt(Math.floor(Number(lunarMarket.totalSupply) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
327
+ const totalBorrows = new index_js_1.Amount(BigInt(Math.floor(Number(lunarMarket.totalBorrows) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
328
+ const totalReserves = new index_js_1.Amount(BigInt(Math.floor(Number(lunarMarket.totalReserves) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
329
+ const cash = new index_js_1.Amount(BigInt(Math.floor(Number(lunarMarket.cash) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
330
+ const badDebt = new index_js_1.Amount(BigInt(Math.floor(Number(lunarMarket.badDebt) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
331
+ const supplyCaps = new index_js_1.Amount(BigInt(Math.floor(Number(lunarMarket.supplyCap) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
332
+ const borrowCaps = new index_js_1.Amount(BigInt(Math.floor(Number(lunarMarket.borrowCap) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
333
+ const reserveFactor = new index_js_1.Amount(BigInt(lunarMarket.reserveFactor), 18)
334
+ .value;
335
+ const market = {
336
+ marketKey,
337
+ chainId: environment.chainId,
338
+ seizePaused: lunarMarket.seizePaused,
339
+ transferPaused: lunarMarket.transferPaused,
340
+ mintPaused: lunarMarket.mintPaused,
341
+ borrowPaused: lunarMarket.borrowPaused,
342
+ deprecated: marketConfig.deprecated === true,
343
+ borrowCaps,
344
+ borrowCapsUsd: Number(lunarMarket.borrowCap) * Number(lunarMarket.priceUsd),
345
+ cash,
346
+ collateralFactor: Number(lunarMarket.collateralFactor),
347
+ exchangeRate: Number(lunarMarket.exchangeRate),
348
+ marketToken,
349
+ reserveFactor,
350
+ supplyCaps,
351
+ supplyCapsUsd: Number(lunarMarket.supplyCap) * Number(lunarMarket.priceUsd),
352
+ badDebt,
353
+ badDebtUsd: Number(lunarMarket.badDebtUsd),
354
+ totalBorrows,
355
+ totalBorrowsUsd: Number(lunarMarket.totalBorrowsUsd),
356
+ totalReserves,
357
+ totalReservesUsd: Number(lunarMarket.totalReservesUsd),
358
+ totalSupply,
359
+ totalSupplyUsd: Number(lunarMarket.totalSupplyUsd),
360
+ underlyingPrice: Number(lunarMarket.priceUsd),
361
+ underlyingToken,
362
+ baseBorrowApy: Number(lunarMarket.baseBorrowApy),
363
+ baseSupplyApy: Number(lunarMarket.baseSupplyApy),
364
+ totalBorrowApr: 0,
365
+ totalSupplyApr: 0,
366
+ rewards: [],
367
+ };
368
+ for (const incentive of lunarMarket.incentives) {
369
+ const token = (0, index_js_3.findTokenByAddress)(environment, incentive.token);
370
+ if (!token) {
371
+ continue;
372
+ }
373
+ let supplyApr;
374
+ let borrowApr;
375
+ if (incentive.priceUsd !== null &&
376
+ incentive.supplyApr !== null &&
377
+ incentive.borrowApr !== null) {
378
+ supplyApr = Number(incentive.supplyApr);
379
+ borrowApr = Number(incentive.borrowApr);
380
+ }
381
+ else {
382
+ const isGovernanceToken = token.symbol === environment.custom?.governance?.token;
383
+ const isNativeToken = token.address === viem_1.zeroAddress;
384
+ const price = isNativeToken
385
+ ? nativeTokenPrice?.value
386
+ : isGovernanceToken
387
+ ? governanceTokenPrice?.value
388
+ : undefined;
389
+ if (!price) {
390
+ continue;
391
+ }
392
+ let borrowIncentivesPerSec = BigInt(incentive.borrowIncentivesPerSec);
393
+ const supplyIncentivesPerSec = BigInt(incentive.supplyIncentivesPerSec);
394
+ if (token.symbol === "USDC" && borrowIncentivesPerSec === 1n) {
395
+ borrowIncentivesPerSec = 0n;
396
+ }
397
+ const supplyRewardsPerDayUsd = (0, index_js_1.perDay)(new index_js_1.Amount(supplyIncentivesPerSec, token.decimals).value) *
398
+ price;
399
+ const borrowRewardsPerDayUsd = (0, index_js_1.perDay)(new index_js_1.Amount(borrowIncentivesPerSec, token.decimals).value) *
400
+ price;
401
+ supplyApr =
402
+ Number(lunarMarket.totalSupplyUsd) === 0
403
+ ? 0
404
+ : (supplyRewardsPerDayUsd / Number(lunarMarket.totalSupplyUsd)) *
405
+ index_js_1.DAYS_PER_YEAR *
406
+ 100;
407
+ borrowApr =
408
+ Number(lunarMarket.totalBorrowsUsd) === 0
409
+ ? 0
410
+ : (borrowRewardsPerDayUsd / Number(lunarMarket.totalBorrowsUsd)) *
411
+ index_js_1.DAYS_PER_YEAR *
412
+ 100 *
413
+ -1;
414
+ }
415
+ market.rewards.push({
416
+ liquidStakingApr: 0,
417
+ borrowApr,
418
+ supplyApr,
419
+ token,
420
+ });
421
+ }
422
+ market.totalSupplyApr = market.rewards.reduce((prev, curr) => prev + curr.supplyApr, market.baseSupplyApy);
423
+ market.totalBorrowApr = market.rewards.reduce((prev, curr) => prev + curr.borrowApr, market.baseBorrowApy);
424
+ markets.push(market);
425
+ }
426
+ const liquidStakingRewards = await (0, exports.fetchLiquidStakingRewards)();
427
+ for (const market of markets) {
428
+ const symbol = market.underlyingToken.symbol;
429
+ if (symbol in liquidStakingRewards) {
430
+ const liquidStakingApr = liquidStakingRewards[symbol];
431
+ market.rewards.push({
432
+ token: market.underlyingToken,
433
+ supplyApr: liquidStakingApr,
434
+ borrowApr: 0,
435
+ liquidStakingApr,
436
+ });
437
+ market.totalSupplyApr += liquidStakingApr;
438
+ }
439
+ }
440
+ return markets;
441
+ }
156
442
  const fetchFromGenericCacheApi = async (uri) => {
157
443
  const response = await fetch("https://generic-api-cache.moonwell.workers.dev/", {
158
444
  method: "POST",
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../actions/core/markets/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../actions/core/markets/common.ts"],"names":[],"mappings":"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"}
@@ -8,15 +8,44 @@ const axios_1 = __importDefault(require("axios"));
8
8
  const dayjs_1 = __importDefault(require("dayjs"));
9
9
  const utc_js_1 = __importDefault(require("dayjs/plugin/utc.js"));
10
10
  const index_js_1 = require("../../../common/index.js");
11
+ const lunar_indexer_helpers_js_1 = require("../../../utils/lunar-indexer-helpers.js");
12
+ const lunar_indexer_client_js_1 = require("../../lunar-indexer-client.js");
13
+ const lunar_indexer_transformers_js_1 = require("../../lunar-indexer-transformers.js");
11
14
  const graphql_js_1 = require("../../morpho/utils/graphql.js");
12
15
  dayjs_1.default.extend(utc_js_1.default);
16
+ function calculateTimeRange(period, startTime, endTime) {
17
+ const now = dayjs_1.default.utc();
18
+ const end = endTime ?? now.unix();
19
+ if (startTime !== undefined && endTime !== undefined) {
20
+ return { startTime, endTime: end };
21
+ }
22
+ let start;
23
+ switch (period) {
24
+ case "1M":
25
+ start = now.subtract(31, "days").unix();
26
+ break;
27
+ case "3M":
28
+ start = now.subtract(91, "days").unix();
29
+ break;
30
+ case "1Y":
31
+ start = now.subtract(366, "days").unix();
32
+ break;
33
+ case "ALL":
34
+ start = now.subtract(10, "years").unix();
35
+ break;
36
+ default:
37
+ start = now.subtract(365, "days").unix();
38
+ break;
39
+ }
40
+ return { startTime: start, endTime: end };
41
+ }
13
42
  async function getMarketSnapshots(client, args) {
14
43
  const environment = (0, index_js_1.getEnvironmentFromArgs)(client, args);
15
44
  if (!environment) {
16
45
  return [];
17
46
  }
18
47
  if (args?.type === "core") {
19
- return fetchCoreMarketSnapshots(args.marketId, environment);
48
+ return fetchCoreMarketSnapshots(args.marketId, environment, args.period, args.startTime, args.endTime);
20
49
  }
21
50
  else {
22
51
  if (environment.custom.morpho?.minimalDeployment === false) {
@@ -27,7 +56,58 @@ async function getMarketSnapshots(client, args) {
27
56
  }
28
57
  }
29
58
  }
30
- async function fetchCoreMarketSnapshots(marketAddress, environment) {
59
+ async function fetchCoreMarketSnapshots(marketAddress, environment, period, startTime, endTime) {
60
+ if (environment.lunarIndexerUrl) {
61
+ try {
62
+ const result = await fetchCoreMarketSnapshotsFromLunar(marketAddress, environment, period, startTime, endTime);
63
+ return result;
64
+ }
65
+ catch (error) {
66
+ if (!(0, lunar_indexer_client_js_1.shouldFallback)(error)) {
67
+ throw error;
68
+ }
69
+ console.debug("[Lunar fallback] Falling back to Ponder for snapshots:", error);
70
+ }
71
+ }
72
+ const result = await fetchCoreMarketSnapshotsFromPonder(marketAddress, environment);
73
+ return result;
74
+ }
75
+ async function fetchCoreMarketSnapshotsFromLunar(marketAddress, environment, period, customStartTime, customEndTime) {
76
+ if (!environment.lunarIndexerUrl) {
77
+ throw new Error("Lunar Indexer URL not configured");
78
+ }
79
+ const client = (0, lunar_indexer_client_js_1.createLunarIndexerClient)({
80
+ baseUrl: environment.lunarIndexerUrl,
81
+ timeout: lunar_indexer_client_js_1.DEFAULT_LUNAR_TIMEOUT_MS,
82
+ });
83
+ const marketId = (0, lunar_indexer_helpers_js_1.buildMarketId)(environment.chainId, marketAddress);
84
+ const { startTime } = calculateTimeRange(period, customStartTime, customEndTime);
85
+ const allSnapshots = [];
86
+ let cursor = null;
87
+ do {
88
+ const response = await client.getMarketSnapshots(marketId, {
89
+ limit: 1000,
90
+ ...(cursor && { cursor }),
91
+ granularity: "1d",
92
+ startTime,
93
+ });
94
+ const transformed = (0, lunar_indexer_transformers_js_1.transformMarketSnapshots)(response.results, environment.chainId);
95
+ const filteredSnapshots = transformed.filter((snapshot) => (0, index_js_1.isStartOfDay)(Math.floor(snapshot.timestamp / 1000)));
96
+ allSnapshots.push(...filteredSnapshots);
97
+ cursor = response.nextCursor;
98
+ } while (cursor !== null);
99
+ return allSnapshots.map((snapshot) => {
100
+ const supplied = snapshot.totalSupply;
101
+ const suppliedUsd = snapshot.totalSupplyUsd;
102
+ const price = supplied > 0 ? suppliedUsd / supplied : 0;
103
+ return {
104
+ ...snapshot,
105
+ collateralTokenPrice: price,
106
+ loanTokenPrice: price,
107
+ };
108
+ });
109
+ }
110
+ async function fetchCoreMarketSnapshotsFromPonder(marketAddress, environment) {
31
111
  const dailyData = [];
32
112
  let hasNextPage = true;
33
113
  let endCursor;
@@ -35,7 +115,7 @@ async function fetchCoreMarketSnapshots(marketAddress, environment) {
35
115
  const result = await axios_1.default.post(environment.indexerUrl, {
36
116
  query: `
37
117
  query {
38
- marketDailySnapshots (
118
+ marketDailySnapshots (
39
119
  limit: 1000,
40
120
  orderBy: "timestamp"
41
121
  orderDirection: "desc"
@@ -1 +1 @@
1
- {"version":3,"file":"getMarketSnapshots.js","sourceRoot":"","sources":["../../../../actions/core/markets/getMarketSnapshots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getMarketSnapshots.js","sourceRoot":"","sources":["../../../../actions/core/markets/getMarketSnapshots.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,19 @@ const getUserPositionData = async (params) => {
9
9
  return [];
10
10
  }
11
11
  try {
12
- const [allMarkets, balances, borrows, memberships] = await Promise.all([
12
+ const [allMarketsResult, balancesResult, borrowsResult, membershipsResult] = await Promise.allSettled([
13
13
  viewsContract.read.getAllMarketsInfo(),
14
14
  viewsContract.read.getUserBalances([params.account]),
15
15
  viewsContract.read.getUserBorrowsBalances([params.account]),
16
16
  viewsContract.read.getUserMarketsMemberships([params.account]),
17
17
  ]);
18
+ const balances = balancesResult.status === "fulfilled" ? balancesResult.value : [];
19
+ const borrows = borrowsResult.status === "fulfilled" ? borrowsResult.value : [];
20
+ const memberships = membershipsResult.status === "fulfilled" ? membershipsResult.value : [];
21
+ if (allMarketsResult.status === "rejected") {
22
+ return getUserPositionsFromMTokenFallback(params, balances, borrows, memberships);
23
+ }
24
+ const allMarkets = allMarketsResult.value;
18
25
  const markets = allMarkets
19
26
  ?.map((marketInfo) => {
20
27
  const market = (0, index_js_2.findMarketByAddress)(params.environment, marketInfo.market);
@@ -64,4 +71,57 @@ const getUserPositionData = async (params) => {
64
71
  }
65
72
  };
66
73
  exports.getUserPositionData = getUserPositionData;
74
+ async function getUserPositionsFromMTokenFallback(params, balances, borrows, memberships) {
75
+ const positions = [];
76
+ const envAny = params.environment;
77
+ for (const marketKey of Object.keys(params.environment.config.markets)) {
78
+ const marketConfig = envAny.config.markets[marketKey];
79
+ if (!marketConfig)
80
+ continue;
81
+ const underlyingToken = envAny.config.tokens[marketConfig.underlyingToken];
82
+ const marketToken = envAny.config.tokens[marketConfig.marketToken];
83
+ if (!underlyingToken || !marketToken)
84
+ continue;
85
+ const mTokenAddress = marketToken.address.toLowerCase();
86
+ const marketSuppliedRaw = balances.find((r) => r.token.toLowerCase() === mTokenAddress)?.amount ??
87
+ 0n;
88
+ const marketBorrowedRaw = borrows.find((r) => r.token.toLowerCase() === mTokenAddress)?.amount ??
89
+ 0n;
90
+ if (marketSuppliedRaw === 0n && marketBorrowedRaw === 0n)
91
+ continue;
92
+ const marketCollateralEnabled = memberships.find((r) => r.token.toLowerCase() === mTokenAddress)
93
+ ?.membership === true;
94
+ const mTokenContract = envAny.markets[marketKey];
95
+ const defaultExchangeRate = 10n ** BigInt(10 + underlyingToken.decimals);
96
+ let exchangeRateRaw;
97
+ try {
98
+ exchangeRateRaw =
99
+ (await mTokenContract?.read.exchangeRateStored()) ??
100
+ defaultExchangeRate;
101
+ }
102
+ catch {
103
+ exchangeRateRaw = defaultExchangeRate;
104
+ }
105
+ const exchangeRate = new index_js_1.Amount(exchangeRateRaw, 10 + underlyingToken.decimals).value;
106
+ const borrowed = new index_js_1.Amount(marketBorrowedRaw, underlyingToken.decimals);
107
+ const marketSupplied = new index_js_1.Amount(marketSuppliedRaw, marketToken.decimals);
108
+ const supplied = new index_js_1.Amount(marketSupplied.value * exchangeRate, underlyingToken.decimals);
109
+ if (params.markets && !params.markets.includes(marketToken.address)) {
110
+ continue;
111
+ }
112
+ positions.push({
113
+ chainId: params.environment.chainId,
114
+ account: params.account,
115
+ market: marketToken,
116
+ collateralEnabled: marketCollateralEnabled,
117
+ borrowed,
118
+ borrowedUsd: 0,
119
+ collateral: new index_js_1.Amount(0n, underlyingToken.decimals),
120
+ collateralUsd: 0,
121
+ supplied,
122
+ suppliedUsd: 0,
123
+ });
124
+ }
125
+ return positions;
126
+ }
67
127
  //# sourceMappingURL=common.js.map