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,