From 6c2047845648eb09f82aa56fd92092b09fd9e865 Mon Sep 17 00:00:00 2001 From: Dima Rifai Date: Thu, 12 Jun 2025 08:31:56 +0300 Subject: [PATCH 1/3] Issue #582 - Use function convertVestsToHP instead of manual calculations --- lib/Formatter.tsx | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/Formatter.tsx b/lib/Formatter.tsx index bc6a0e4b5..c0f2d6b9e 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) {} @@ -125,17 +125,18 @@ class OperationsFormatter implements IWaxCustomFormatter { if (!this.dynamicGlobalQueryData || !tooltipTrigger || !supply) { return ""; } - const vests = Number(supply.amount); - const divider = 10 ** supply.precision; + const { hiveChain } = useHiveChainContext(); + if (!hiveChain) { + return ""; + } - const ratio = Math.round( - grabNumericValue(String(getVestsToHiveRatio(this.dynamicGlobalQueryData))) + const resultString = convertVestsToHP( + 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 ( Date: Thu, 12 Jun 2025 08:31:56 +0300 Subject: [PATCH 2/3] Issue #582 - Use function convertVestsToHP instead of manual calculations --- lib/Formatter.tsx | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/Formatter.tsx b/lib/Formatter.tsx index bc6a0e4b5..c0f2d6b9e 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) {} @@ -125,17 +125,18 @@ class OperationsFormatter implements IWaxCustomFormatter { if (!this.dynamicGlobalQueryData || !tooltipTrigger || !supply) { return ""; } - const vests = Number(supply.amount); - const divider = 10 ** supply.precision; + const { hiveChain } = useHiveChainContext(); + if (!hiveChain) { + return ""; + } - const ratio = Math.round( - grabNumericValue(String(getVestsToHiveRatio(this.dynamicGlobalQueryData))) + const resultString = convertVestsToHP( + 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 ( Date: Thu, 12 Jun 2025 08:31:56 +0300 Subject: [PATCH 3/3] Issue #582 - Use function convertVestsToHP instead of manual calculations --- lib/Formatter.tsx | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/Formatter.tsx b/lib/Formatter.tsx index bc6a0e4b5..c0f2d6b9e 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) {} @@ -125,17 +125,18 @@ class OperationsFormatter implements IWaxCustomFormatter { if (!this.dynamicGlobalQueryData || !tooltipTrigger || !supply) { return ""; } - const vests = Number(supply.amount); - const divider = 10 ** supply.precision; + const { hiveChain } = useHiveChainContext(); + if (!hiveChain) { + return ""; + } - const ratio = Math.round( - grabNumericValue(String(getVestsToHiveRatio(this.dynamicGlobalQueryData))) + const resultString = convertVestsToHP( + 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 (