op-node: ParseWithdrawalInitiated improvements#3605
Conversation
`ParseWithdrawalInitiated` used to pass every log to `abi.EventByID`. Since `abi.EventByID` was bound to the `L2ToL1MessagePasser` contract, any logs on the receipt from a different contract would cause this function to return an error. This breaks support for parsing withdrawal events initiated by the `L2StandardBridge`, since the bridge adds many events of its own. This PR updates `ParseWithdrawalInitiated` to use the hex-encoded withdrawal intiated topic to determine which log messages to use instead.
|
|
This PR changes implementation code, but doesn't include a changeset. Did you forget to add one? |
protolambda
left a comment
There was a problem hiding this comment.
Not immediately sure if we can even have a log without it, but checking topic 0 exists doesn't hurt. And added a suggestion about topic readability.
Co-authored-by: protolambda <proto@protolambda.com>
Co-authored-by: protolambda <proto@protolambda.com>
Co-authored-by: protolambda <proto@protolambda.com>
|
devnet test failure is just a 503 |
|
Will re-run and let Mergify handle it. Will also incorporate your suggestions above re: Bigints. |
|
@Mergifyio refresh |
✅ Pull request refreshed |
|
This PR has been added to the merge queue, and will be merged soon. |
|
This PR is next in line to be merged, and will be merged as soon as checks pass. |
ParseWithdrawalInitiatedused to pass every log toabi.EventByID. Sinceabi.EventByIDwas bound to theL2ToL1MessagePassercontract, any logs on the receipt from a different contract would cause this function to return an error. This breaks support for parsing withdrawal events initiated by theL2StandardBridge, since the bridge adds many events of its own. This PR updatesParseWithdrawalInitiatedto use the hex-encoded withdrawal intiated topic to determine which log messages to use instead.