Support solc v0.8.31 (#430)

- Support for solc v0.8.31.
- Support for the `clz` Yul builtin.

---------

Signed-off-by: xermicus <cyrill@parity.io>
This commit is contained in:
xermicus
2025-12-05 15:25:13 +01:00
committed by GitHub
parent d0c10e6d5c
commit 11f82c8488
16 changed files with 142 additions and 11 deletions
+10
View File
@@ -43,6 +43,12 @@ pub enum EVMVersion {
/// The corresponding EVM version.
#[serde(rename = "cancun")]
Cancun,
/// The corresponding EVM version.
#[serde(rename = "prague")]
Prague,
/// The corresponding EVM version.
#[serde(rename = "osaka")]
Osaka,
}
impl TryFrom<&str> for EVMVersion {
@@ -62,6 +68,8 @@ impl TryFrom<&str> for EVMVersion {
"paris" => Self::Paris,
"shanghai" => Self::Shanghai,
"cancun" => Self::Cancun,
"prague" => Self::Prague,
"osaka" => Self::Osaka,
_ => anyhow::bail!("Invalid EVM version: {}", value),
})
}
@@ -82,6 +90,8 @@ impl std::fmt::Display for EVMVersion {
Self::Paris => write!(f, "paris"),
Self::Shanghai => write!(f, "shanghai"),
Self::Cancun => write!(f, "cancun"),
Self::Prague => write!(f, "prague"),
Self::Osaka => write!(f, "osaka"),
}
}
}