Logging
Events
The EraVM event instructions are more low-level.
Each LOG
-like instruction is unrolled into a loop,
where each iteration writes two 256-bit words.
The words must contain data in the following order:
- The initializer cell, describing the number of indexed words (e.g.
I
) and the size of non-indexed data in bytes (e.g.D
) I
indexed 32-byte wordsD
bytes of data
Each write operation can contain some subsequent data from its next step. If only one word remains, the second input is zero.
See EraVM instruction: log.event
LOG0 - LOG4
System Contract
This information is requested a System Contract called EventWriter.
On how the System Contract is called, see System contraacts.
The LLVM IR generator code is common for Yul and EVMLA representations.