The ChoosingRam::selectRamIfNotSelected
function in the protocol is susceptible to timing issues when deployed on the Arbitrum chain due to timestamp discrepancies.
The function currently checks timestamps as follows:
However, due to Arbitrum's timestamp lower boundary policy, which is 24 hours earlier than the current time, the function may allow the selection of Ram prematurely in certain timezones. For example, in timezones like Pacific/Honolulu, the organiser could incorrectly enable Ram selection on 11 October 2024 instead of 12 October 2024.
In some timezone organiser could select ram before 12 October 2024.
CodeHawks, docs
Specify in the protocol's documentation and function comments that all timestamps should be considered based on UTC time to maintain consistency across different timezones and chains.
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.