diff --git a/lib/Formatter.tsx b/lib/Formatter.tsx index bc6a0e4b50781141a55337845c48da0d778cd26d..973e7bde470e0bbabd93caf64871c73e97ccd9da 100644 --- a/lib/Formatter.tsx +++ b/lib/Formatter.tsx @@ -93,8 +93,8 @@ import { formatAndDelocalizeTime } from "@/utils/TimeUtils"; import HiveTooltip from "@/components/HiveTooltip"; import { useHeadBlockNumber } from "@/contexts/HeadBlockContext"; import useDynamicGlobal from "@/hooks/api/homePage/useDynamicGlobal"; -import { getVestsToHiveRatio } from "@/utils/Calculations"; -import { grabNumericValue } from "@/utils/StringUtils"; +import { convertVestsToHP } from "@/utils/Calculations"; +import { useHiveChainContext } from "@/contexts/HiveChainContext"; class OperationsFormatter implements IWaxCustomFormatter { public constructor(private readonly wax: IWaxBaseInterface) {} @@ -102,6 +102,7 @@ class OperationsFormatter implements IWaxCustomFormatter { private headBlockNum = useHeadBlockNumber().headBlockNumberData; private dynamicGlobalQueryData = useDynamicGlobal(this.headBlockNum) .dynamicGlobalData; + private hiveChain = useHiveChainContext(); private getFormattedAmount( supply: Hive.Supply | undefined @@ -125,17 +126,18 @@ class OperationsFormatter implements IWaxCustomFormatter { if (!this.dynamicGlobalQueryData || !tooltipTrigger || !supply) { return ""; } - const vests = Number(supply.amount); - const divider = 10 ** supply.precision; + + if (!this.hiveChain.hiveChain) { + return ""; + } - const ratio = Math.round( - grabNumericValue(String(getVestsToHiveRatio(this.dynamicGlobalQueryData))) + const resultString = convertVestsToHP( + this.hiveChain.hiveChain, + supply, + this.dynamicGlobalQueryData.headBlockDetails.rawTotalVestingFundHive, + this.dynamicGlobalQueryData.headBlockDetails.rawTotalVestingShares ); - const convertToHive = Math.round(vests / ratio) / divider; - - const resultString = `${formatNumber(convertToHive, true, true)} HIVE`; - return (