diff --git a/src/views/Range/hooks.tsx b/src/views/Range/hooks.tsx
index 92a442d03..1ca4b4297 100644
--- a/src/views/Range/hooks.tsx
+++ b/src/views/Range/hooks.tsx
@@ -233,7 +233,7 @@ export const DetermineRangePrice = (bidOrAsk: "bid" | "ask") => {
const { data: lowerBondMarket } = useBondV3({ id: rangeData.low.market.toString(), isInverseBond: true });
const {
- data = { price: 0, contract: "swap" },
+ data = { price: 0, contract: "swap", activeBondMarket: false },
isFetched,
isLoading,
} = useQuery(
@@ -266,6 +266,7 @@ export const DetermineRangePrice = (bidOrAsk: "bid" | "ask") => {
bidOrAsk === "ask"
? Number(upperBondMarket?.discount.toString())
: Number(lowerBondMarket?.discount.toString()),
+ activeBondMarket,
};
} else {
return {
diff --git a/src/views/Range/index.tsx b/src/views/Range/index.tsx
index ea1ec4402..2c47ac358 100644
--- a/src/views/Range/index.tsx
+++ b/src/views/Range/index.tsx
@@ -65,14 +65,10 @@ export const Range = () => {
addresses: [DAI_ADDRESSES[1], OHM_ADDRESSES[1]],
});
const { data: nextBeat } = RangeNextBeat();
- //format date for display in local time
- const nextBeatDateString = nextBeat && nextBeat.toLocaleString();
const daiPriceUSD = currentMarketPrices?.[`ethereum:${DAI_ADDRESSES[1]}`].price;
const ohmPriceUSD = currentMarketPrices?.[`ethereum:${OHM_ADDRESSES[1]}`].price;
- const marketOhmPriceDAI = daiPriceUSD && ohmPriceUSD ? ohmPriceUSD / daiPriceUSD : 0;
-
- console;
+ const marketOhmPriceDAI = daiPriceUSD && ohmPriceUSD ? ohmPriceUSD / daiPriceUSD : undefined;
const maxString = sellActive ? `Max You Can Sell` : `Max You Can Buy`;
@@ -105,8 +101,12 @@ export const Range = () => {
}
}, [sellActive]);
+ // Set sell active if market price is defined and is below lower cushion OR if there is a active lower bond market.
useEffect(() => {
- if (marketOhmPriceDAI < parseBigNumber(rangeData.low.cushion.price, 18)) {
+ if (
+ (marketOhmPriceDAI && marketOhmPriceDAI < parseBigNumber(rangeData.low.cushion.price, 18)) ||
+ bidPrice.activeBondMarket
+ ) {
setSellActive(true);
}
}, [rangeData.low.cushion.price, marketOhmPriceDAI]);
@@ -137,7 +137,8 @@ export const Range = () => {
const swapPriceFormatted = formatNumber(swapPrice, 2);
- const discount = (marketOhmPriceDAI - swapPrice) / (sellActive ? -marketOhmPriceDAI : marketOhmPriceDAI);
+ const discount =
+ (marketOhmPriceDAI && (marketOhmPriceDAI - swapPrice) / (sellActive ? -marketOhmPriceDAI : marketOhmPriceDAI)) || 0;
const hasPrice = (sellActive && askPrice.price) || (!sellActive && bidPrice.price) ? true : false;
@@ -175,8 +176,9 @@ export const Range = () => {
<>
@@ -253,7 +255,7 @@ export const Range = () => {
? "premium"
: "discount"}{" "}
of {formatNumber(Math.abs(discount) * 100, 2)}% relative to market price of{" "}
- {formatNumber(marketOhmPriceDAI, 2)} {reserveSymbol}
+ {formatNumber(marketOhmPriceDAI || 0, 2)} {reserveSymbol}