From 01b310d013cc118bfa91b9af700b7727cf6657c8 Mon Sep 17 00:00:00 2001 From: Dmitry Vagner Date: Mon, 26 Sep 2022 10:53:47 -0700 Subject: [PATCH] all small inputs work --- evm/src/cpu/kernel/asm/ripemd/memory.asm | 4 +++- evm/src/cpu/kernel/tests/ripemd.rs | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/evm/src/cpu/kernel/asm/ripemd/memory.asm b/evm/src/cpu/kernel/asm/ripemd/memory.asm index c5188b16..f8338dcc 100644 --- a/evm/src/cpu/kernel/asm/ripemd/memory.asm +++ b/evm/src/cpu/kernel/asm/ripemd/memory.asm @@ -30,7 +30,9 @@ store_size: store_padding: // stack: i (init 63) %store_zeros(136, store_padding) - %jump(store_input_alt) + DUP1 + %jumpi(store_input_alt) + POP %jump(ripemd_init) store_input_alt: diff --git a/evm/src/cpu/kernel/tests/ripemd.rs b/evm/src/cpu/kernel/tests/ripemd.rs index 66842e5f..db3348eb 100644 --- a/evm/src/cpu/kernel/tests/ripemd.rs +++ b/evm/src/cpu/kernel/tests/ripemd.rs @@ -19,6 +19,9 @@ fn test_ripemd() -> Result<()> { let input: Vec = make_input("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"); let expected = U256::from("0xb0e20b6e3116640286ed3a87a5713079b21f5189"); + // let input: Vec = make_input(""); + // let expected = U256::from("0x9c1185a5c5e9fc54612808977ee8f548b2258d31"); + let kernel = combined_kernel(); let label = kernel.global_labels["ripemd_alt"];