OpenZeppelin/openzeppelin-contracts

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

Open

#6431 opened on Mar 23, 2026

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

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