diff --git a/core/src/execution/providers/rpc.rs b/core/src/execution/providers/rpc.rs index e3461f32..5605294d 100644 --- a/core/src/execution/providers/rpc.rs +++ b/core/src/execution/providers/rpc.rs @@ -170,30 +170,21 @@ impl, H: HistoricalBlockProvider> } async fn resolve_block_number(&self, block: Option) -> Result { - match block { - Some(BlockNumberOrTag::Latest) | None => { - let number = self - .get_block(BlockId::Number(BlockNumberOrTag::Latest), false) - .await? - .ok_or(eyre!("block not found"))? - .header() - .number(); + let tag = match block { + Some(BlockNumberOrTag::Latest) | None => BlockNumberOrTag::Latest, + Some(BlockNumberOrTag::Finalized) => BlockNumberOrTag::Finalized, + Some(BlockNumberOrTag::Number(number)) => return Ok(number), + _ => return Err(eyre!("block not found")), + }; - Ok(number) - } - Some(BlockNumberOrTag::Finalized) => { - let number = self - .get_block(BlockId::Number(BlockNumberOrTag::Finalized), false) - .await? - .ok_or(eyre!("block not found"))? - .header() - .number(); + let number = self + .get_block(BlockId::Number(tag), false) + .await? + .ok_or(eyre!("block not found"))? + .header() + .number(); - Ok(number) - } - Some(BlockNumberOrTag::Number(number)) => Ok(number), - _ => Err(eyre!("block not found")), - } + Ok(number) } }