From c081908c55e974c831524a736c4e0c262abfffc9 Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 21 Jan 2025 02:10:33 +0800 Subject: [PATCH 1/2] fix: GethExecError serialize --- eth-types/src/lib.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/eth-types/src/lib.rs b/eth-types/src/lib.rs index d518ef95a2..c6804604aa 100644 --- a/eth-types/src/lib.rs +++ b/eth-types/src/lib.rs @@ -529,7 +529,18 @@ impl Serialize for GethExecError { S: serde::Serializer, { // We serialize the error as a string constant. - serializer.serialize_str(self.error()) + let e = match self { + GethExecError::StackUnderflow { + stack_len, + required, + } => &format!("stack underflow ({stack_len} <=> {required})"), + GethExecError::StackOverflow { stack_len, limit } => { + &format!("stack limit reached {stack_len} ({limit})") + } + GethExecError::InvalidOpcode(op) => &format!("invalid opcode: {op}"), + _ => self.error(), + }; + serializer.serialize_str(e) } } From e0ca6a2479f5533296b844361778a424119fac86 Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 21 Jan 2025 03:42:17 +0800 Subject: [PATCH 2/2] fix: GethExecError serialize --- eth-types/src/lib.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/eth-types/src/lib.rs b/eth-types/src/lib.rs index c6804604aa..4882adbc1e 100644 --- a/eth-types/src/lib.rs +++ b/eth-types/src/lib.rs @@ -533,14 +533,14 @@ impl Serialize for GethExecError { GethExecError::StackUnderflow { stack_len, required, - } => &format!("stack underflow ({stack_len} <=> {required})"), + } => format!("stack underflow ({stack_len} <=> {required})"), GethExecError::StackOverflow { stack_len, limit } => { - &format!("stack limit reached {stack_len} ({limit})") + format!("stack limit reached {stack_len} ({limit})") } - GethExecError::InvalidOpcode(op) => &format!("invalid opcode: {op}"), - _ => self.error(), + GethExecError::InvalidOpcode(op) => format!("invalid opcode: {op}"), + _ => self.error().to_string(), }; - serializer.serialize_str(e) + serializer.serialize_str(&e) } }