fix: calculation of required stake (#2687)

This commit is contained in:
Dexter Edwards 2023-01-24 14:00:38 +00:00 committed by GitHub
parent 346af6118d
commit 31881f8e5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -18,6 +18,7 @@ import type {
NodesFragmentFragment, NodesFragmentFragment,
} from '../__generated___/Nodes'; } from '../__generated___/Nodes';
import type { PreviousEpochQuery } from '../../__generated___/PreviousEpoch'; import type { PreviousEpochQuery } from '../../__generated___/PreviousEpoch';
import BigNumber from 'bignumber.js';
export interface ValidatorsTableProps { export interface ValidatorsTableProps {
data: NodesQuery | undefined; data: NodesQuery | undefined;
@ -77,8 +78,8 @@ export const ValidatorTables = ({
const lowestRankingConsensusScore = consensusValidators.reduce( const lowestRankingConsensusScore = consensusValidators.reduce(
(lowest: NodesFragmentFragment, validator: NodesFragmentFragment) => { (lowest: NodesFragmentFragment, validator: NodesFragmentFragment) => {
if ( if (
validator?.rankingScore && Number(validator.rankingScore.rankingScore) <
Number(validator.rankingScore) < Number(lowest.rankingScore) Number(lowest.rankingScore.rankingScore)
) { ) {
lowest = validator; lowest = validator;
} }
@ -87,10 +88,12 @@ export const ValidatorTables = ({
).rankingScore.rankingScore; ).rankingScore.rankingScore;
const lowestRankingBigNum = toBigNum(lowestRankingConsensusScore, 0); const lowestRankingBigNum = toBigNum(lowestRankingConsensusScore, 0);
const totalStakeBigNum = toBigNum(totalStake, decimals); const consensusStakedTotal = consensusValidators.reduce((acc, cur) => {
return acc.plus(toBigNum(cur.stakedTotal, decimals));
}, new BigNumber(0));
stakeNeededForPromotion = formatNumber( stakeNeededForPromotion = formatNumber(
lowestRankingBigNum.times(totalStakeBigNum), lowestRankingBigNum.times(consensusStakedTotal),
2 2
).toString(); ).toString();
} }