diff --git a/crates/precompile/src/blake2.rs b/crates/precompile/src/blake2.rs index 1b4ab9256a..6ecf55bebe 100644 --- a/crates/precompile/src/blake2.rs +++ b/crates/precompile/src/blake2.rs @@ -17,12 +17,6 @@ pub fn run(input: &Bytes, gas_limit: u64) -> PrecompileResult { return Err(Error::Blake2WrongLength.into()); } - let f = match input[212] { - 1 => true, - 0 => false, - _ => return Err(Error::Blake2WrongFinalIndicatorFlag.into()), - }; - // rounds 4 bytes let rounds = u32::from_be_bytes(input[..4].try_into().unwrap()) as usize; let gas_used = rounds as u64 * F_ROUND; @@ -30,6 +24,12 @@ pub fn run(input: &Bytes, gas_limit: u64) -> PrecompileResult { return Err(Error::OutOfGas.into()); } + let f = match input[212] { + 1 => true, + 0 => false, + _ => return Err(Error::Blake2WrongFinalIndicatorFlag.into()), + }; + let mut h = [0u64; 8]; let mut m = [0u64; 16];