Skip to content

Commit

Permalink
fix price change
Browse files Browse the repository at this point in the history
  • Loading branch information
tyleroooo committed Jan 24, 2025
1 parent dc94239 commit a94b82d
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions src/abacus-ts/calculators/markets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,18 +79,27 @@ function calculateDerivedMarketDisplayItems(market: IndexerWsBaseMarketObject) {
};
}

function calculatePriceChangePercent(
priceChange24H: string | null | undefined,
oraclePrice: string | null | undefined
): BigNumber | null {
if (priceChange24H == null || oraclePrice == null) {
return null;
}

const basePrice = MustBigNumber(oraclePrice).minus(priceChange24H);
return basePrice.gt(0) ? MustBigNumber(priceChange24H).div(basePrice) : null;
}

function calculateDerivedMarketCore(market: IndexerWsBaseMarketObject) {
return {
effectiveInitialMarginFraction:
getMarketEffectiveInitialMarginForMarket(market)?.toNumber() ?? null,
openInterestUSDC: MustBigNumber(market.openInterest)
.times(market.oraclePrice ?? 0)
.toNumber(),
percentChange24h: MustBigNumber(market.oraclePrice).isZero()
? null
: MustBigNumber(market.priceChange24H)
.div(market.oraclePrice ?? 0)
.toNumber(),
percentChange24h:
calculatePriceChangePercent(market.priceChange24H, market.oraclePrice)?.toNumber() ?? null,
stepSizeDecimals: MaybeBigNumber(market.stepSize)?.decimalPlaces() ?? TOKEN_DECIMALS,
tickSizeDecimals: MaybeBigNumber(market.tickSize)?.decimalPlaces() ?? USD_DECIMALS,
};
Expand Down

0 comments on commit a94b82d

Please sign in to comment.