๐ง CuteHive Proposal Voters Logic Upgrade: Fixing Voting Discrepancy
While using CuteHive to browse proposal data, I recently noticed a significant issue โ a major discrepancy between the total voting weight of a specific proposal and the calculated result from its voters list.
This prompted a deeper investigation, which ultimately led to identifying a critical logic flaw.
๐งฉ The Issue: Inconsistent Voting Weight
CuteHive provides a very useful feature:
๐ View voters of a proposal, sorted by voting weight, along with a calculated total.
In theory:
The total voting weight shown in the proposal list โ the sum calculated from the voters list
However, in practice:
- The difference was massive โ
- This seriously affected the accuracy of evaluating proposal support
๐ Root Cause: Ignoring the Proxy Mechanism
After further analysis, the issue turned out to be related to a core feature of the Hive blockchain โ proxy voting.
In Hive:
- If a user sets a proxy
- Their governance voting power is delegated to that proxy account
- Their own direct votes no longer count
โ ๏ธ However, in previous versions of CuteHive:
- โ Proxy status was not checked
- โ Voting weight from proxied users was still included
- ๐ This led to significantly inflated and inaccurate totals
๐ ๏ธ The Fix: Rebuilding Proposal Voters Logic
I have updated the calculation logic to align with Hiveโs on-chain governance rules.
โ Key Changes
1. Logic Update (ProposalList.tsx)
- Added a check for the
proxyfield - Applied the rule:
If a voter has a proxy set, their voting weight (HP) is counted as 0
2. Type Definition Update (types.ts & ProposalVotersModal.tsx)
Added an optional
proxyfield to theVoterDatainterface:proxy?: string;
3. UI Feedback Enhancement (ProposalVotersModal.tsx)
For invalid votes caused by proxy settings:
- An orange warning is displayed under the username:
Proxied to
@username (Vote Ignored)
- These accounts are automatically sorted to the bottom (HP = 0)
๐ฏ Result
The updated Proposal Voters list now:
โ
Accurately reflects real, effective voting weight
โ
Clearly distinguishes between:
- โ๏ธ Direct support (valid votes)
- โ ๏ธ Ignored votes (proxied users)
โ Improves transparency and trust in proposal analysis
๐ Version Update
This fix has been released:
- ๐ฆ Version: 3.3.63
- ๐ Link: https://www.cutehive.com/proposals
- ๐ก If you're using CuteHive, feel free to try the new version and share your feedback ๐