UNPKG

@moonwell-fi/moonwell-sdk

Version:

TypeScript Interface for Moonwell

76 lines 3.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transformMarketSnapshot = transformMarketSnapshot; exports.transformMarketSnapshots = transformMarketSnapshots; exports.transformPortfolioToSnapshots = transformPortfolioToSnapshots; exports.transformStakingSnapshot = transformStakingSnapshot; exports.transformStakingSnapshots = transformStakingSnapshots; exports.transformVaultStakingSnapshot = transformVaultStakingSnapshot; exports.transformVaultStakingSnapshots = transformVaultStakingSnapshots; exports.hasMorePages = hasMorePages; exports.getNextCursor = getNextCursor; function transformMarketSnapshot(lunar, chainId) { return { chainId, marketId: lunar.marketAddress, totalSupply: Number(lunar.totalSupplies), totalSupplyUsd: Number(lunar.totalSuppliesUSD), totalBorrows: Number(lunar.totalBorrows), totalBorrowsUsd: Number(lunar.totalBorrowsUSD), totalLiquidity: Number(lunar.totalLiquidity), totalLiquidityUsd: Number(lunar.totalLiquidityUSD), totalReallocatableLiquidity: 0, totalReallocatableLiquidityUsd: 0, baseSupplyApy: Number(lunar.baseSupplyApy), baseBorrowApy: Number(lunar.baseBorrowApy), timestamp: Number(lunar.timestamp) * 1000, loanTokenPrice: 0, collateralTokenPrice: 0, }; } function transformMarketSnapshots(snapshots, chainId) { return snapshots.map((snapshot) => transformMarketSnapshot(snapshot, chainId)); } function transformPortfolioToSnapshots(lunarPortfolio, chainId) { return lunarPortfolio.positions.map((position) => { const totalSupplyUsd = position.markets.reduce((sum, market) => sum + Number.parseFloat(market.supplyBalanceUsd || "0"), 0); const totalBorrowsUsd = position.markets.reduce((sum, market) => sum + Number.parseFloat(market.borrowBalanceUsd || "0"), 0); return { chainId, timestamp: position.timestamp * 1000, totalSupplyUsd, totalBorrowsUsd, totalCollateralUsd: totalSupplyUsd, }; }); } function transformStakingSnapshot(snapshot) { return { chainId: snapshot.chainId, totalStaked: Number(snapshot.totalStaked), totalStakedUSD: Number(snapshot.totalStakedUSD), timestamp: snapshot.timestamp, }; } function transformStakingSnapshots(snapshots) { return snapshots.map(transformStakingSnapshot); } function transformVaultStakingSnapshot(snapshot) { return { chainId: snapshot.chainId, vaultAddress: snapshot.vaultAddress, totalStaked: Number(snapshot.totalStaked), totalStakedUsd: Number(snapshot.totalStakedUSD), timestamp: snapshot.timestamp * 1000, }; } function transformVaultStakingSnapshots(snapshots) { return snapshots.map(transformVaultStakingSnapshot); } function hasMorePages(nextCursor) { return nextCursor !== null; } function getNextCursor(nextCursor) { return nextCursor || undefined; } //# sourceMappingURL=lunar-indexer-transformers.js.map