From f6909d8bf1bc0aec7b410064898dd7f38f599a73 Mon Sep 17 00:00:00 2001 From: Lukasz Kosiak <103423117+lukozill@users.noreply.github.com> Date: Fri, 13 Dec 2024 11:37:07 +0100 Subject: [PATCH] APT-1513: APR calculation fix (#15) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * apr calculation fix * Update src/misc/stakingPoolsConfig.ts Co-authored-by: Mark T. B. Carroll --------- Co-authored-by: Ɓukasz Kosiak Co-authored-by: Mark T. B. Carroll --- src/components/stakingPoolCard.tsx | 2 +- src/misc/stakingPoolsConfig.ts | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/stakingPoolCard.tsx b/src/components/stakingPoolCard.tsx index ae5cd87..804c6c7 100644 --- a/src/components/stakingPoolCard.tsx +++ b/src/components/stakingPoolCard.tsx @@ -86,7 +86,7 @@ const StakingPoolCard: React.FC = ({ : 'text-gray4' }`} > - VP {stakingPoolData.data.votingPower * 100}% + VP {(stakingPoolData.data.votingPower * 100).toPrecision(3)}% ) : ( <> diff --git a/src/misc/stakingPoolsConfig.ts b/src/misc/stakingPoolsConfig.ts index f1c1435..b432d2b 100644 --- a/src/misc/stakingPoolsConfig.ts +++ b/src/misc/stakingPoolsConfig.ts @@ -91,8 +91,10 @@ async function fetchDelegatorDataFromNetwork(definition: StakingPoolDefinition, const zilToTokenRate = 1 / parseFloat(formatUnits(zilToTokenRateWei, 18)); - const commission = Number((commissionNumerator * 100n) / commissionDenominator) / 100; - const votingPower = Number(((delegatorStake * 100n) / depositTotalStake)) / 100; + const bigintDivisionPrecision = 1000000n; + + const commission = Number((commissionNumerator * bigintDivisionPrecision) / commissionDenominator) / Number(bigintDivisionPrecision); + const votingPower = Number(((delegatorStake * bigintDivisionPrecision) / depositTotalStake)) / Number(bigintDivisionPrecision); const rewardsPerYearInZil = 51000 * 24 * 365; const delegatorYearReward = votingPower * rewardsPerYearInZil;