EventWriter.yul does not work with anonymous events. This could cause EVM compatibility issues when using innocent Solidity code and leads to unexpected behavior. "Known differences from Ethereum" does not say anything about not having the capabilities to work with anonymous events.
This unexpected behavior caused by anonymous events can be seen in the EventWriter test. By removing the .skip and running the test it will fail.
Tools Used
Manual
Recommended Mitigation Steps
Consider adding additional functionality to EventWriter.yul to be able to handle anonymous events. In the meantime, add more details to Known differences from Ethereum around not being
compatible with anonymous events.
Lines of code
https://github.com/code-423n4/2023-10-zksync/blob/main/code/system-contracts/test/EventWriter.spec.ts#L40
Vulnerability details
Impact
EventWriter.yul
does not work with anonymous events. This could cause EVM compatibility issues when using innocent Solidity code and leads to unexpected behavior. "Known differences from Ethereum" does not say anything about not having the capabilities to work with anonymous events.This unexpected behavior caused by anonymous events can be seen in the EventWriter test. By removing the
.skip
and running the test it will fail.Tools Used
Manual
Recommended Mitigation Steps
Consider adding additional functionality to
EventWriter.yul
to be able to handle anonymous events. In the meantime, add more details to Known differences from Ethereum around not being compatible with anonymous events.Assessed type
Other