From f72812aa77150f52527c1c78f79017e4680f0ff2 Mon Sep 17 00:00:00 2001 From: Ciabas Date: Wed, 9 Jul 2025 15:42:09 +0200 Subject: [PATCH 1/2] (fix#3881): add not voted to SPOs counting on gov actions --- .../frontend/src/components/molecules/VotesSubmitted.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/govtool/frontend/src/components/molecules/VotesSubmitted.tsx b/govtool/frontend/src/components/molecules/VotesSubmitted.tsx index 87f3ab8a0..8bd2bd0ee 100644 --- a/govtool/frontend/src/components/molecules/VotesSubmitted.tsx +++ b/govtool/frontend/src/components/molecules/VotesSubmitted.tsx @@ -117,6 +117,11 @@ export const VotesSubmitted = ({ : poolNoVotes ? 100 : undefined; + const poolNotVotedVotes = + typeof networkTotalStake?.totalStakeControlledBySPOs === "number" + ? networkTotalStake.totalStakeControlledBySPOs - + (poolYesVotes + poolNoVotes + poolAbstainVotes) + : undefined; const ccYesVotesPercentage = noOfCommitteeMembers ? (ccYesVotes / noOfCommitteeMembers) * 100 @@ -200,6 +205,7 @@ export const VotesSubmitted = ({ noVotes={poolNoVotes} noVotesPercentage={poolNoVotesPercentage} abstainVotes={poolAbstainVotes} + notVotedVotes={poolNotVotedVotes} threshold={ (() => { const votingThresholdKey = getGovActionVotingThresholdKey({ From 0f4d315d652d379053424b13a0d27ddd3a869124 Mon Sep 17 00:00:00 2001 From: Ciabas Date: Thu, 10 Jul 2025 12:37:01 +0200 Subject: [PATCH 2/2] (fix#3881): calculate SPO % based on the whole group (yes/no/abstain/not-voted) --- .../src/components/molecules/VotesSubmitted.tsx | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/govtool/frontend/src/components/molecules/VotesSubmitted.tsx b/govtool/frontend/src/components/molecules/VotesSubmitted.tsx index 8bd2bd0ee..63443c212 100644 --- a/govtool/frontend/src/components/molecules/VotesSubmitted.tsx +++ b/govtool/frontend/src/components/molecules/VotesSubmitted.tsx @@ -109,14 +109,17 @@ export const VotesSubmitted = ({ 100 - (dRepYesVotesPercentage ?? 0) - (dRepNoVotesPercentage ?? 0); const poolYesVotesPercentage = - poolYesVotes + poolNoVotes - ? (poolYesVotes / (poolYesVotes + poolNoVotes)) * 100 + typeof poolYesVotes === "number" && + typeof networkTotalStake?.totalStakeControlledBySPOs === "number" && + networkTotalStake.totalStakeControlledBySPOs > 0 + ? (poolYesVotes / networkTotalStake.totalStakeControlledBySPOs) * 100 + : undefined; + const poolNoVotesPercentage = + typeof poolNoVotes === "number" && + typeof networkTotalStake?.totalStakeControlledBySPOs === "number" && + networkTotalStake.totalStakeControlledBySPOs > 0 + ? (poolNoVotes / networkTotalStake.totalStakeControlledBySPOs) * 100 : undefined; - const poolNoVotesPercentage = poolYesVotesPercentage - ? 100 - poolYesVotesPercentage - : poolNoVotes - ? 100 - : undefined; const poolNotVotedVotes = typeof networkTotalStake?.totalStakeControlledBySPOs === "number" ? networkTotalStake.totalStakeControlledBySPOs -