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,
} from '../__generated___/Nodes';
import type { PreviousEpochQuery } from '../../__generated___/PreviousEpoch';
import BigNumber from 'bignumber.js';
export interface ValidatorsTableProps {
data: NodesQuery | undefined;
@ -77,8 +78,8 @@ export const ValidatorTables = ({
const lowestRankingConsensusScore = consensusValidators.reduce(
(lowest: NodesFragmentFragment, validator: NodesFragmentFragment) => {
if (
validator?.rankingScore &&
Number(validator.rankingScore) < Number(lowest.rankingScore)
Number(validator.rankingScore.rankingScore) <
Number(lowest.rankingScore.rankingScore)
) {
lowest = validator;
}
@ -87,10 +88,12 @@ export const ValidatorTables = ({
).rankingScore.rankingScore;
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(
lowestRankingBigNum.times(totalStakeBigNum),
lowestRankingBigNum.times(consensusStakedTotal),
2
).toString();
}