1use derive_more::{Display, FromStr};
4
5#[derive(Debug, Display, FromStr, Clone, Copy, PartialEq, Eq)]
8pub enum EngineKind {
9 #[display("geth")]
11 Geth,
12 #[display("reth")]
14 Reth,
15 #[display("erigon")]
17 Erigon,
18}
19
20impl EngineKind {
21 pub const KINDS: [Self; 3] = [Self::Geth, Self::Reth, Self::Erigon];
23
24 #[deprecated(
26 since = "0.1.0",
27 note = "Node behavior is now equivalent across all engine client types."
28 )]
29 pub const fn supports_post_finalization_elsync(self) -> bool {
30 match self {
31 Self::Geth => false,
32 Self::Erigon | Self::Reth => true,
33 }
34 }
35}