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.
This commit is contained in:
parent
ebff2f42c0
commit
7405dc5c4b
|
@ -177,14 +177,14 @@ func (s *StructLog) toLegacyJSON() json.RawMessage {
|
||||||
if len(s.ReturnData) > 0 {
|
if len(s.ReturnData) > 0 {
|
||||||
msg.ReturnData = hexutil.Bytes(s.ReturnData).String()
|
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)
|
memory := make([]string, 0, (len(s.Memory)+31)/32)
|
||||||
for i := 0; i+32 <= len(s.Memory); i += 32 {
|
for i := 0; i+32 <= len(s.Memory); i += 32 {
|
||||||
memory = append(memory, fmt.Sprintf("%x", s.Memory[i:i+32]))
|
memory = append(memory, fmt.Sprintf("%x", s.Memory[i:i+32]))
|
||||||
}
|
}
|
||||||
msg.Memory = &memory
|
msg.Memory = &memory
|
||||||
}
|
}
|
||||||
if s.Storage != nil {
|
if len(s.Storage) > 0 {
|
||||||
storage := make(map[string]string)
|
storage := make(map[string]string)
|
||||||
for i, storageValue := range s.Storage {
|
for i, storageValue := range s.Storage {
|
||||||
storage[fmt.Sprintf("%x", i)] = fmt.Sprintf("%x", storageValue)
|
storage[fmt.Sprintf("%x", i)] = fmt.Sprintf("%x", storageValue)
|
||||||
|
|
Loading…
Reference in New Issue