change UI representation of bond prices; should be correct formula
Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
This commit is contained in:
parent
66238837c0
commit
612573d433
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "ghost-dao-interface",
|
"name": "ghost-dao-interface",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.5.40",
|
"version": "0.5.41",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import { abi as BondAbi } from "../../abi/GhostBondDepository.json";
|
|||||||
import { abi as TreasuryAbi } from "../../abi/GhostTreasury.json";
|
import { abi as TreasuryAbi } from "../../abi/GhostTreasury.json";
|
||||||
import { abi as BondingCalculatorAbi } from "../../abi/GhostBondingCalculator.json";
|
import { abi as BondingCalculatorAbi } from "../../abi/GhostBondingCalculator.json";
|
||||||
|
|
||||||
import { useReservePrice } from "../prices";
|
import { useReservePrice, useFtsoPrice } from "../prices";
|
||||||
import { useOrinalCoefficient } from "../treasury";
|
import { useOrinalCoefficient } from "../treasury";
|
||||||
import { useTokenSymbol, useTokenSymbols } from "../tokens";
|
import { useTokenSymbol, useTokenSymbols } from "../tokens";
|
||||||
import { getTokenAddress, getTokenIcons, getBondNameDisplayName, getTokenPurchaseLink } from "../helpers";
|
import { getTokenAddress, getTokenIcons, getBondNameDisplayName, getTokenPurchaseLink } from "../helpers";
|
||||||
@ -21,6 +21,7 @@ import { DecimalBigNumber } from "../../helpers/DecimalBigNumber";
|
|||||||
import { shorten } from "../../helpers";
|
import { shorten } from "../../helpers";
|
||||||
|
|
||||||
export const useLiveBonds = (chainId) => {
|
export const useLiveBonds = (chainId) => {
|
||||||
|
const ftsoPrice = useFtsoPrice(chainId);
|
||||||
const baseTokenPerUsd = useReservePrice(chainId);
|
const baseTokenPerUsd = useReservePrice(chainId);
|
||||||
const originalCoefficient = useOrinalCoefficient(chainId);
|
const originalCoefficient = useOrinalCoefficient(chainId);
|
||||||
|
|
||||||
@ -128,14 +129,11 @@ export const useLiveBonds = (chainId) => {
|
|||||||
const quoteTokenSymbol = quoteTokenSymbols?.at(index).result ? quoteTokenSymbols.at(index).result : "";
|
const quoteTokenSymbol = quoteTokenSymbols?.at(index).result ? quoteTokenSymbols.at(index).result : "";
|
||||||
|
|
||||||
const quoteTokenPerBaseToken = new DecimalBigNumber(marketPrice, 9);
|
const quoteTokenPerBaseToken = new DecimalBigNumber(marketPrice, 9);
|
||||||
let priceInUsd = baseTokenPerUsd.mul(quoteTokenPerBaseToken);
|
const priceInUsd = quoteTokenPerBaseToken.mul(baseTokenPerUsd).mul(quoteTokenPerUsd).mul(markdown).div(originalCoefficient);
|
||||||
if (Number(markdown?.toString() ?? "1") !== 1) {
|
|
||||||
priceInUsd = priceInUsd.div(originalCoefficient)
|
|
||||||
}
|
|
||||||
|
|
||||||
const discount = baseTokenPerUsd._value > 0n
|
const discount = baseTokenPerUsd._value > 0n
|
||||||
? baseTokenPerUsd.sub(priceInUsd).div(baseTokenPerUsd)
|
? ftsoPrice.sub(priceInUsd).div(ftsoPrice)
|
||||||
: new DecimalBigNumber("0", baseTokenPerUsd._decimals);
|
: new DecimalBigNumber("0", ftsoPrice._decimals);
|
||||||
|
|
||||||
const capacityInBaseToken = capacityInQuote
|
const capacityInBaseToken = capacityInQuote
|
||||||
? new DecimalBigNumber(marketPrice > 0n ? marketCapacity / marketPrice : 0n, 9)
|
? new DecimalBigNumber(marketPrice > 0n ? marketCapacity / marketPrice : 0n, 9)
|
||||||
@ -177,7 +175,7 @@ export const useLiveBonds = (chainId) => {
|
|||||||
price: {
|
price: {
|
||||||
inUsd: priceInUsd,
|
inUsd: priceInUsd,
|
||||||
inBaseToken: quoteTokenPerBaseToken,
|
inBaseToken: quoteTokenPerBaseToken,
|
||||||
marketPriceInUsd: baseTokenPerUsd
|
marketPriceInUsd: ftsoPrice
|
||||||
},
|
},
|
||||||
capacity: {
|
capacity: {
|
||||||
inBaseToken: capacityInBaseToken,
|
inBaseToken: capacityInBaseToken,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user