Normal behavior: Timelock duration is determined solely by the value of ETH being sent.
Issue: Calls that transfer ERC20 or other tokens via data with value == 0 bypass the timelock entirely regardless of token amount.
Likelihood:
Reason 1 // Signers often transfer ERC20 with value == 0 via data
Reason 2 // High-value tokens (stablecoins) commonly held in multisigs
Impact:
Impact 1 // High-value token movements occur without intended delay controls
Impact 2 // Governance expectation violated; rushed large transfers possible
Explanation: The test testH1_DataMinDelayEnforced demonstrates that a transaction with value == 0 but non-empty data (simulating a token transfer) executes immediately in the original code. The mitigation enforces a minimum delay.
Explanation: Update _executeTransaction to check if data is non-empty and enforce a minimum delay (e.g., 1 day) even if value is 0.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.