OpenZeppelin/openzeppelin-contracts

Prevent proposals with duplicate actions from being submitted in `GovernorTimelockCompound`

Open

#6,431 opened on Mar 23, 2026

View on GitHub
 (4 comments) (0 reactions) (1 assignee)JavaScript (11,560 forks)batch import
good first issue

Repository metrics

Stars
 (23,941 stars)
PR merge metrics
 (Avg merge 42d 15h) (16 merged PRs in 30d)

Description

It is a know issue in Compound Governance that proposal queueing will fail if it contains 2 (or more) actions that have the same target, value, and calldata. While this can be circumvented by adding extra (useless) bytes at the end of the calldata to create unicity, it is possible to create such a proposal and not realised if will never be executable after the voting ends.

We should modify the behavior of _propose in GovernorTimelockCompound to reject proposals that have duplicated actions

Contributor guide