Skip to content

Latest commit

 

History

History
32 lines (26 loc) · 1.25 KB

Queued transactions cannot be canceled.md

File metadata and controls

32 lines (26 loc) · 1.25 KB

The Governor contract contains special functions to set it as the admin of the Timelock.

Only the admin can call Timelock.cancelTransaction.

There are no functions in Governor that call Timelock.cancelTransaction.

This makes it impossible for Timelock.cancelTransaction to ever be called.

Recommendation:

  1. Short term, add a function to the Governor that calls Timelock.cancelTransaction.
  2. It is unclear who should be able to call it, and what other restrictions there should be around cancelling a transaction. Long term, consider letting Governor inherit from Timelock.
  3. This would allow a lot of functions and code to be removed and significantly lower the complexity of these two contracts.

Slide Screenshot

034.jpg


Slide Text

  • ToB Audit Origin Dollar Finding 6
  • Denial-of-Service
  • High Severity
  • Governor -> Timelock
  • cancelTransaction()
  • Add Governor Function Inheritance

References


Tags