use quote token address directly during LP bond purchase and minor fixes for the price output
Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
This commit is contained in:
parent
bb98a8aea7
commit
a52372dbe5
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "ghost-dao-interface",
|
||||
"private": true,
|
||||
"version": "0.0.24",
|
||||
"version": "0.0.25",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
@ -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,10 +123,9 @@ export const BondModal = ({ bond, chainId, address, connect }) => {
|
||||
label="Market Price"
|
||||
metric={
|
||||
<TokenPrice
|
||||
chainId={chainId}
|
||||
token={bond.baseToken}
|
||||
baseSymbol={bond.baseToken.name}
|
||||
quoteSymbol={bond.quoteToken.name}
|
||||
symbol={bond.quoteToken.name}
|
||||
priceInUsd={bond.price.marketPriceInUsd}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
@ -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)}</>
|
||||
) : (
|
||||
<Skeleton width={60} />
|
||||
);
|
||||
|
@ -124,7 +124,7 @@ const BondInputArea = ({
|
||||
|
||||
<TokenAllowanceGuard
|
||||
spendAmount={parsedAmount}
|
||||
tokenName={bond.quoteToken.name}
|
||||
tokenName={bond.quoteToken.quoteTokenAddress}
|
||||
owner={address}
|
||||
spender={BOND_DEPOSITORY_ADDRESSES[chainId]}
|
||||
decimals={parsedAmount._decimals}
|
||||
@ -186,7 +186,7 @@ const BondInputArea = ({
|
||||
tooltip={`The maximum quantity of payout token offered via bonds at this moment in time`}
|
||||
balance={
|
||||
<span>
|
||||
{bond.baseToken === bond.quoteToken
|
||||
{bond.baseToken.tokenAddress.toUpperCase() === bond.quoteToken.quoteTokenAddress.toUpperCase()
|
||||
? `${formatCurrency(baseTokenString, formatDecimals, "FTSO")}`
|
||||
: `${formatCurrency(baseTokenString, formatDecimals, "FTSO")} (≈${formatCurrency(quoteTokenString, formatDecimals, "GHST")})`}
|
||||
</span>
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user