diff --git a/package.json b/package.json index ad351e7..bba64ff 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ghost-dao-interface", "private": true, - "version": "0.0.24", + "version": "0.0.25", "type": "module", "scripts": { "dev": "vite", diff --git a/src/containers/Bond/BondModal.jsx b/src/containers/Bond/BondModal.jsx index b033724..6394698 100644 --- a/src/containers/Bond/BondModal.jsx +++ b/src/containers/Bond/BondModal.jsx @@ -18,7 +18,7 @@ import NotFound from "../NotFound/NotFound"; import { DecimalBigNumber } from "../../helpers/DecimalBigNumber"; import { NetworkId } from "../../constants"; -import { formatNumber } from "../../helpers"; +import { formatCurrency } from "../../helpers"; import { useLiveBonds } from "../../hooks/bonds"; import { useFtsoPrice } from "../../hooks/prices"; @@ -123,17 +123,16 @@ export const BondModal = ({ bond, chainId, address, connect }) => { label="Market Price" metric={ } - /> + /> } - /> + /> @@ -155,21 +154,11 @@ export const BondModal = ({ bond, chainId, address, connect }) => { const TokenPrice = ({ token, - chainId, - quoteSymbol, - baseSymbol, + symbol, + priceInUsd }) => { - const priceToken = useFtsoPrice(chainId); - const sameToken = quoteSymbol === baseSymbol; - - const price = sameToken - ? formatNumber(1, 2) - : `${formatNumber(priceToken, 2)}`; - - return price ? ( - <> - {price} {quoteSymbol} - + return priceInUsd ? ( + <>{formatCurrency(priceInUsd, 2, symbol)} ) : ( ); diff --git a/src/containers/Bond/components/BondInputArea.jsx b/src/containers/Bond/components/BondInputArea.jsx index aaac7c8..f0173c3 100644 --- a/src/containers/Bond/components/BondInputArea.jsx +++ b/src/containers/Bond/components/BondInputArea.jsx @@ -124,7 +124,7 @@ const BondInputArea = ({ - {bond.baseToken === bond.quoteToken + {bond.baseToken.tokenAddress.toUpperCase() === bond.quoteToken.quoteTokenAddress.toUpperCase() ? `${formatCurrency(baseTokenString, formatDecimals, "FTSO")}` : `${formatCurrency(baseTokenString, formatDecimals, "FTSO")} (≈${formatCurrency(quoteTokenString, formatDecimals, "GHST")})`} diff --git a/src/hooks/bonds/index.jsx b/src/hooks/bonds/index.jsx index 47b8439..6ac33c5 100644 --- a/src/hooks/bonds/index.jsx +++ b/src/hooks/bonds/index.jsx @@ -9,7 +9,7 @@ import { abi as BondAbi } from "../../abi/GhostBondDepository.json"; import { abi as TreasuryAbi } from "../../abi/GhostTreasury.json"; import { useFtsoPrice } from "../prices"; -import { getTokenIcons, getTokenName, getBondNameDisplayName, getTokenPurchaseLink } from "../helpers"; +import { getTokenAddress, getTokenIcons, getTokenName, getBondNameDisplayName, getTokenPurchaseLink } from "../helpers"; import { DecimalBigNumber } from "../../helpers/DecimalBigNumber"; import { shorten } from "../../helpers"; @@ -100,7 +100,9 @@ export const useLiveBonds = (chainId) => { const quoteTokenPerBaseToken = new DecimalBigNumber(marketPrice, 9); const priceInUsd = quoteTokenPerUsd.mul(quoteTokenPerBaseToken); - const discount = baseTokenPerUsd.sub(priceInUsd).div(baseTokenPerUsd); + const discount = quoteTokenPerUsd._value > 0n + ? quoteTokenPerUsd.sub(priceInUsd).div(quoteTokenPerUsd) + : quoteTokenPerUsd; const capacityInBaseToken = capacityInQuote ? new DecimalBigNumber(marketPrice > 0n ? marketCapacity / marketPrice : 0n, 9) @@ -124,7 +126,8 @@ export const useLiveBonds = (chainId) => { baseToken: { name: "FTSO", purchaseUrl: getTokenPurchaseLink(chainId, ""), - icons: ["FTSO"] + icons: ["FTSO"], + tokenAddress: getTokenAddress(chainId, "FTSO") }, quoteToken: { name: getTokenName(chainId, quoteTokenAddress), @@ -140,6 +143,7 @@ export const useLiveBonds = (chainId) => { price: { inUsd: priceInUsd, inBaseToken: quoteTokenPerBaseToken, + marketPriceInUsd: quoteTokenPerUsd }, capacity: { inBaseToken: capacityInBaseToken,