depositTokens and withdrawTokens functions, where it sends messages to another contract via IStarknetMessaging. If these external calls (sendMessageToL2, startL1ToL2MessageCancellation, cancelL1ToL2Message) can trigger callbacks or allow for re-entry into the contract before state updates are finalized, it could lead to reentrancy attacks.IStarknetMessaging(_starknetCoreAddress).sendMessageToL2{value: msg.value}(...); // Line 137
IStarknetMessaging(_starknetCoreAddress).startL1ToL2MessageCancellation(...); // Line 227
IStarknetMessaging(_starknetCoreAddress).cancelL1ToL2Message(...); // Line 247
Manual code review
nonReentrant modifier from OpenZeppelin's ReentrancyGuard.Please, do not suppose impacts, think about the real impact of the bug and check the CodeHawks documentation to confirm: https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity A PoC always helps to understand the real impact possible.
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.