Skip to content

Commit 3031efb

Browse files
authored
fix(ethers-solc): Error instead of panic when checking if the checksum was found (gakonst#2421)
* chore: add ChecksumNotFound variant * fix: replace panic with error when checking for a checksum * chore: fmt
1 parent 3e7606d commit 3031efb

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

ethers-solc/src/compile/mod.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,10 @@ impl Solc {
480480
hasher.update(content);
481481
let checksum_calc = &hasher.finalize()[..];
482482

483-
let checksum_found = &RELEASES.0.get_checksum(&version).expect("checksum not found");
483+
let checksum_found = &RELEASES
484+
.0
485+
.get_checksum(&version)
486+
.ok_or_else(|| SolcError::ChecksumNotFound { version: version.clone() })?;
484487

485488
if checksum_calc == checksum_found {
486489
Ok(())

ethers-solc/src/error.rs

+2
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ pub enum SolcError {
1919
VersionNotFound,
2020
#[error("Checksum mismatch for {file}: expected {expected} found {detected} for {version}")]
2121
ChecksumMismatch { version: Version, expected: String, detected: String, file: PathBuf },
22+
#[error("Checksum not found for {version}")]
23+
ChecksumNotFound { version: Version },
2224
#[error(transparent)]
2325
SemverError(#[from] semver::Error),
2426
/// Deserialization error

0 commit comments

Comments
 (0)