Skip to content

Conversation

@saddam92
Copy link

The IsProofFinalized() functions in both Withdrawer and FPWithdrawer were incorrectly passing the L2 transaction hash to FinalizedWithdrawals instead of the withdrawal hash. This bug would cause the function to always return false since the wrong hash was being checked.

The fix calculates the proper withdrawal hash from the transaction receipt (using ParseMessagePassed and WithdrawalHash) before checking if the withdrawal is finalized, consistent with how other functions like GetProvenWithdrawalTime() and FinalizeWithdrawal() work.

@cb-heimdall
Copy link
Collaborator

cb-heimdall commented Jan 18, 2026

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 1
Sum 2

The IsProofFinalized() functions in both Withdrawer and FPWithdrawer were
incorrectly passing the L2 transaction hash to FinalizedWithdrawals instead
of the withdrawal hash. This bug would cause the function to always return
false since the wrong hash was being checked.

The fix calculates the proper withdrawal hash from the transaction receipt
(using ParseMessagePassed and WithdrawalHash) before checking if the
withdrawal is finalized, consistent with how other functions like
GetProvenWithdrawalTime() and FinalizeWithdrawal() work.

Co-authored-by: openhands <openhands@all-hands.dev>
@saddam92 saddam92 force-pushed the fix/is-proof-finalized-withdrawal-hash branch from 5cac65a to 5532036 Compare January 19, 2026 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants