From 7405dc5c4b51a950abf72cd1c31368891cd5c9b3 Mon Sep 17 00:00:00 2001 From: Sina M <1591639+s1na@users.noreply.github.com> Date: Tue, 4 Mar 2025 09:30:03 +0100 Subject: [PATCH] eth/tracers: fix omitempty for memory and storage (#31289) This fixes a regression in the opcode tracer API where we would log empty memory and storage fields. --- eth/tracers/logger/logger.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eth/tracers/logger/logger.go b/eth/tracers/logger/logger.go index 596ee97146..02ff8146fb 100644 --- a/eth/tracers/logger/logger.go +++ b/eth/tracers/logger/logger.go @@ -177,14 +177,14 @@ func (s *StructLog) toLegacyJSON() json.RawMessage { if len(s.ReturnData) > 0 { msg.ReturnData = hexutil.Bytes(s.ReturnData).String() } - if s.Memory != nil { + if len(s.Memory) > 0 { memory := make([]string, 0, (len(s.Memory)+31)/32) for i := 0; i+32 <= len(s.Memory); i += 32 { memory = append(memory, fmt.Sprintf("%x", s.Memory[i:i+32])) } msg.Memory = &memory } - if s.Storage != nil { + if len(s.Storage) > 0 { storage := make(map[string]string) for i, storageValue := range s.Storage { storage[fmt.Sprintf("%x", i)] = fmt.Sprintf("%x", storageValue)