From 3fe06d04b3b0bab49d00551d25ae5f2a45b5930b Mon Sep 17 00:00:00 2001 From: Alex Stokes Date: Wed, 15 May 2024 21:57:47 +0300 Subject: [PATCH] bugfix: deserialize electra/deneb messages correctly --- mev-rs/src/types/builder_bid.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mev-rs/src/types/builder_bid.rs b/mev-rs/src/types/builder_bid.rs index ed1eb66b..d027d31d 100644 --- a/mev-rs/src/types/builder_bid.rs +++ b/mev-rs/src/types/builder_bid.rs @@ -77,7 +77,14 @@ impl<'de> serde::Deserialize<'de> for BuilderBid { { let value = serde_json::Value::deserialize(deserializer)?; if let Ok(inner) = <_ as serde::Deserialize>::deserialize(&value) { - return Ok(Self::Electra(inner)) + let builder_bid = Self::Electra(inner); + match builder_bid.header().version() { + Fork::Deneb => match builder_bid { + Self::Electra(inner) => return Ok(Self::Deneb(inner)), + _ => unreachable!(), + }, + _ => return Ok(builder_bid), + } } if let Ok(inner) = <_ as serde::Deserialize>::deserialize(&value) { return Ok(Self::Deneb(inner))