From 76d50f336c59619812c68eeb52de78f9995b8ab0 Mon Sep 17 00:00:00 2001 From: Dmitry Vagner Date: Mon, 19 Sep 2022 18:38:43 -0700 Subject: [PATCH] duplicate macro, test skeleton --- evm/src/cpu/kernel/asm/util/basic_macros.asm | 7 ----- evm/src/cpu/kernel/tests/ripemd.rs | 27 ++++++++++++++++++++ 2 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 evm/src/cpu/kernel/tests/ripemd.rs diff --git a/evm/src/cpu/kernel/asm/util/basic_macros.asm b/evm/src/cpu/kernel/asm/util/basic_macros.asm index bac1381c..232cb055 100644 --- a/evm/src/cpu/kernel/asm/util/basic_macros.asm +++ b/evm/src/cpu/kernel/asm/util/basic_macros.asm @@ -154,13 +154,6 @@ // stack: input >= c, ... %endmacro -%macro and_const(c) - // stack: x - PUSH $c - AND - // stack: c & x -%endmacro - %macro consume_gas_const(c) PUSH $c CONSUME_GAS diff --git a/evm/src/cpu/kernel/tests/ripemd.rs b/evm/src/cpu/kernel/tests/ripemd.rs new file mode 100644 index 00000000..0c90b430 --- /dev/null +++ b/evm/src/cpu/kernel/tests/ripemd.rs @@ -0,0 +1,27 @@ +use std::str::FromStr; + +use anyhow::Result; +use ethereum_types::U256; +use rand::{thread_rng, Rng}; +use sha2::{Digest, Sha256}; + +use crate::cpu::kernel::aggregator::combined_kernel; +use crate::cpu::kernel::interpreter::run; + +#[test] +fn test_ripemd() -> Result<()> { + let kernel = combined_kernel(); + let ripemd = kernel.global_labels["ripemd"]; + + let mut initial_stack = vec![U256::from(num_bytes)]; + initial_stack.extend(bytes); + + let after_ripemd = run(&kernel.code, ripemd, initial_stack, &kernel.prover_inputs)?; + let result = after_ripemd.stack()[1]; + let actual = format!("{:X}", result); + + EXPECTED = "0xf71c27109c692c1b56bbdceb5b9d2865b3708dbc" + assert_eq!(EXPECTED, actual); + + Ok(()) +}