diff --git a/contracts/governance/extensions/GovernorTimelockAccess.sol b/contracts/governance/extensions/GovernorTimelockAccess.sol index c208c5a36..fad2510a1 100644 --- a/contracts/governance/extensions/GovernorTimelockAccess.sol +++ b/contracts/governance/extensions/GovernorTimelockAccess.sol @@ -237,6 +237,9 @@ abstract contract GovernorTimelockAccess is Governor { for (uint256 i = 0; i < targets.length; ++i) { (, bool withDelay, ) = _getManagerData(plan, i); if (withDelay) { + // This function can reenter when calling `_manager.schedule` before performing state updates in `_setManagerData`. + // However, the `manager` is a trusted contract in the current context's security model (e.g. an `AccessManager`). + // slither-disable-next-line reentrancy-no-eth (, uint32 nonce) = _manager.schedule(targets[i], calldatas[i], etaSeconds); _setManagerData(plan, i, true, nonce); }