@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.
- package/CHANGELOG.md +16 -0
- package/_cjs/actions/core/markets/common.js +291 -5
- package/_cjs/actions/core/markets/common.js.map +1 -1
- package/_cjs/actions/core/markets/getMarketSnapshots.js +83 -3
- package/_cjs/actions/core/markets/getMarketSnapshots.js.map +1 -1
- package/_cjs/actions/core/user-positions/common.js +61 -1
- package/_cjs/actions/core/user-positions/common.js.map +1 -1
- package/_cjs/actions/core/user-positions/getUserPositionSnapshots.js +70 -2
- package/_cjs/actions/core/user-positions/getUserPositionSnapshots.js.map +1 -1
- package/_cjs/actions/lunar-indexer-client.js +164 -0
- package/_cjs/actions/lunar-indexer-client.js.map +1 -0
- package/_cjs/actions/lunar-indexer-transformers.js +47 -0
- package/_cjs/actions/lunar-indexer-transformers.js.map +1 -0
- package/_cjs/environments/definitions/base/environment.js +2 -1
- package/_cjs/environments/definitions/base/environment.js.map +1 -1
- package/_cjs/environments/definitions/moonbeam/environment.js +2 -1
- package/_cjs/environments/definitions/moonbeam/environment.js.map +1 -1
- package/_cjs/environments/definitions/optimism/environment.js +2 -1
- package/_cjs/environments/definitions/optimism/environment.js.map +1 -1
- package/_cjs/environments/types/config.js +1 -0
- package/_cjs/environments/types/config.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/utils/lunar-indexer-helpers.js +27 -0
- package/_cjs/utils/lunar-indexer-helpers.js.map +1 -0
- package/_esm/actions/core/markets/common.js +302 -5
- package/_esm/actions/core/markets/common.js.map +1 -1
- package/_esm/actions/core/markets/getMarketSnapshots.js +87 -3
- package/_esm/actions/core/markets/getMarketSnapshots.js.map +1 -1
- package/_esm/actions/core/user-positions/common.js +74 -1
- package/_esm/actions/core/user-positions/common.js.map +1 -1
- package/_esm/actions/core/user-positions/getUserPositionSnapshots.js +100 -2
- package/_esm/actions/core/user-positions/getUserPositionSnapshots.js.map +1 -1
- package/_esm/actions/lunar-indexer-client.js +201 -0
- package/_esm/actions/lunar-indexer-client.js.map +1 -0
- package/_esm/actions/lunar-indexer-transformers.js +80 -0
- package/_esm/actions/lunar-indexer-transformers.js.map +1 -0
- package/_esm/environments/definitions/base/environment.js +2 -1
- package/_esm/environments/definitions/base/environment.js.map +1 -1
- package/_esm/environments/definitions/moonbeam/environment.js +2 -1
- package/_esm/environments/definitions/moonbeam/environment.js.map +1 -1
- package/_esm/environments/definitions/optimism/environment.js +2 -1
- package/_esm/environments/definitions/optimism/environment.js.map +1 -1
- package/_esm/environments/types/config.js +1 -0
- package/_esm/environments/types/config.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/utils/lunar-indexer-helpers.js +48 -0
- package/_esm/utils/lunar-indexer-helpers.js.map +1 -0
- package/_types/actions/core/markets/common.d.ts.map +1 -1
- package/_types/actions/core/markets/getMarketSnapshots.d.ts +4 -0
- package/_types/actions/core/markets/getMarketSnapshots.d.ts.map +1 -1
- package/_types/actions/core/user-positions/common.d.ts.map +1 -1
- package/_types/actions/core/user-positions/getUserPositionSnapshots.d.ts +28 -0
- package/_types/actions/core/user-positions/getUserPositionSnapshots.d.ts.map +1 -1
- package/_types/actions/lunar-indexer-client.d.ts +197 -0
- package/_types/actions/lunar-indexer-client.d.ts.map +1 -0
- package/_types/actions/lunar-indexer-transformers.d.ts +40 -0
- package/_types/actions/lunar-indexer-transformers.d.ts.map +1 -0
- package/_types/environments/definitions/base/environment.d.ts +1 -1
- package/_types/environments/definitions/base/environment.d.ts.map +1 -1
- package/_types/environments/definitions/moonbeam/environment.d.ts +1 -1
- package/_types/environments/definitions/moonbeam/environment.d.ts.map +1 -1
- package/_types/environments/definitions/optimism/environment.d.ts +1 -1
- package/_types/environments/definitions/optimism/environment.d.ts.map +1 -1
- package/_types/environments/types/config.d.ts +2 -0
- package/_types/environments/types/config.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/utils/lunar-indexer-helpers.d.ts +38 -0
- package/_types/utils/lunar-indexer-helpers.d.ts.map +1 -0
- package/actions/core/markets/common.ts +500 -5
- package/actions/core/markets/getMarketSnapshots.ts +153 -2
- package/actions/core/user-positions/common.ts +139 -6
- package/actions/core/user-positions/getUserPositionSnapshots.ts +175 -1
- package/actions/lunar-indexer-client.ts +409 -0
- package/actions/lunar-indexer-transformers.ts +113 -0
- package/environments/definitions/base/environment.ts +3 -0
- package/environments/definitions/moonbeam/environment.ts +3 -0
- package/environments/definitions/optimism/environment.ts +3 -0
- package/environments/types/config.ts +3 -0
- package/errors/version.ts +1 -1
- package/package.json +1 -1
- 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
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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 [
|
|
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
|