Guardian/pause-keeper distinct from upgrader
Uniswap (v2 + v3)'s assessment for RD-F-034 — scored yellow on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
V2: not applicable (immutable, no governance). V3: no guardian/pause-keeper role exists on V3 core contracts or governance. GovernorBravo cancel() is proposer-vote-based (not a guardian veto). No emergency fast-response capability. Combined: yellow (absence of guardian on V3 governance).
Detail #
GovernorBravoDelegate source: no guardian field defined. cancel() function allows cancellation only if proposer's voting power drops below proposalThreshold — this is not a guardian veto. UniswapV3Factory: no pause function. V3 pools: no pause function. The 2-day Timelock window is the only buffer after a malicious proposal passes. This is standard for Compound Bravo pattern but lacks an emergency veto capability.
Sources #
- GitHubGovernorBravoDelegate sourceGovernorBravoDelegate: no guardian field; cancel() function is proposer-vote-based onlyretrieved 2026-05-12
Methodology #
Determine whether a pauser/guardian role exists and is held by an address distinct from the upgrader address.
See the full factor methodology and distribution across all protocols →