# Adversary can abuse delegating to lower quorum

Delegating away community votes lowers total voting power, so quorum locked at proposal creation can be artificially reduced, then votes recovered by self-delegating to pass proposals.

- Payout: Contest reward
- Severity: medium
- Program: Frankendao
- Credited: 0x52
- Disclosed: 2022-10-31
- Write-up quality: 6/10
- Original: https://github.com/sherlock-audit/2022-11-frankendao-judging/issues/24
- Library page: https://bugbountylibrary.com/r/sherlock%3A2022-11-frankendao%3AM-8
- Tags: domain:web3 impact:integrity kind:contest platform:sherlock sev:medium tech:solidity technique:source-review vuln:business-logic vuln:governance

**Target:** Staking.sol governance delegation and proposal quorum logic
**Root cause:** Quorum is snapshotted at proposal creation from current total community voting power, but delegation lets users temporarily forfeit and later recover votes, so the snapshot can be depressed.
**Steps:**
1. Delegate community votes to another user via `delegate()` to reduce total community voting power
2. Create proposal; `newProposal.quorumVotes = quorumVotes()` locks the lowered quorum
3. Self-delegate to regain full community voting power
4. Vote on the proposal now that quorum is easier to reach
**How found:** Code reading of delegation logic adjusting total community voting power combined with quorum being locked at proposal creation.
**Exploitation:** Colluding users each delegate away community votes to shrink total voting power, create a proposal capturing the reduced quorum, then self-delegate to restore votes and vote to meet the lowered quorum.
**Insight:** When quorum is snapshotted at proposal creation, check whether any state (delegation, staking, transfers) can be toggled between snapshot and vote to depress the snapshot then restore voting weight.
