Nested execution can interleave logs from different emitters.
LET’S PICTURE IT
A conversation can contain a reply before the original speaker finishes.
SEE IT FOR YOURSELF
From an emitted Transfer event to a receipt logStep 1 / 4
A token implementation may update balances and emit its standard Transfer event. State and the emitted record are related but distinct.
A token implementation may update balances and emit its standard Transfer event. State and the emitted record are related but distinct.A non-anonymous Transfer event uses the full thirty-two-byte Keccak-256 signature digest as topic zero, not a four-byte function selector.In the common ERC-20 shape, from and to occupy topics one and two. The raw value is a thirty-two-byte data word. Other standards can index fields differently.An application can decode receipt logs under the correct ABI. A matching signature does not establish that an unknown emitter is an honest token.
Animated local teaching model. No wallet, RPC or live blockchain data. Some labels and hashes are abbreviated for readability.
Follow execution order
Suppose A emits a start log, calls B, and emits a finish log after B returns. If B emits during its call, that log occurs between A’s two records.
Retain emitter identity
The middle record belongs to B under a normal call. With delegatecall, execution context differs, so the storage and logging address require separate analysis.
Do not sort by event name
Alphabetical or contract-grouped display can obscure the actual sequence. Keep the original log ordering available when reconstructing an interaction.
Apply rollback before interpreting
A reverted nested scope removes its logs from the surviving sequence. Build the final narrative from retained records and use traces when the discarded attempts matter.