diff --git a/substrate/frame/evm/src/precompiles.rs b/substrate/frame/evm/src/precompiles.rs index 987724285d..440d9bf1c6 100644 --- a/substrate/frame/evm/src/precompiles.rs +++ b/substrate/frame/evm/src/precompiles.rs @@ -145,8 +145,9 @@ impl Precompile for Ripemd160 { ) -> core::result::Result<(ExitSucceed, Vec, usize), ExitError> { let cost = ensure_linear_cost(target_gas, input.len(), 600, 120)?; - let ret = ripemd160::Ripemd160::digest(input).to_vec(); - Ok((ExitSucceed::Returned, ret, cost)) + let mut ret = [0u8; 32]; + ret[12..32].copy_from_slice(&ripemd160::Ripemd160::digest(input)); + Ok((ExitSucceed::Returned, ret.to_vec(), cost)) } }