Call
All EVM call instructions are handled similarly.
The call type is encoded on the assembly level, so we will describe the common handling workflow, mentioning distinctions if there are any.
For more information, see the ZKsync Era documentation.
CALL
Original EVM instruction.
The LLVM IR generator code is common for Yul and EVMLA representations.
The code checks if the call is non-static and the Ether value is non-zero. If so, the call is redirected to the MsgValueSimulator.
DELEGATECALL
Original EVM instruction.
The LLVM IR generator code is common for Yul and EVMLA representations.
STATICCALL
Original EVM instruction.
The LLVM IR generator code is common for Yul and EVMLA representations.