From 8f42b1f237990b8d4bb7aa2a1df99e9ca46cd217 Mon Sep 17 00:00:00 2001 From: Natchica Date: Thu, 18 Sep 2025 14:43:21 +0200 Subject: [PATCH] fix: correct computed file callback data and result digest calculations --- post-compute/src/compute/computed_file.rs | 12 +++++++++--- post-compute/src/compute/utils/hash_utils.rs | 12 ------------ post-compute/src/compute/utils/result_utils.rs | 10 ++++++---- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/post-compute/src/compute/computed_file.rs b/post-compute/src/compute/computed_file.rs index 7fe2336..4434b3f 100644 --- a/post-compute/src/compute/computed_file.rs +++ b/post-compute/src/compute/computed_file.rs @@ -161,7 +161,7 @@ pub fn read_computed_file( /// /// let mut computed_file = ComputedFile { /// task_id: Some("0x123".to_string()), -/// callback_data: Some("0xabc...".to_string()), +/// callback_data: Some("0x0000000000000000000000000000000000000000000000000000000000000001".to_string()), /// deterministic_output_path: None, /// result_digest: None, /// enclave_signature: None, @@ -170,7 +170,13 @@ pub fn read_computed_file( /// /// // For a web3 callback task /// match build_result_digest_in_computed_file(&mut computed_file, true) { -/// Ok(()) => println!("Result digest: {:?}", computed_file.result_digest), +/// Ok(()) => { +/// assert_eq!( +/// computed_file.result_digest, +/// Some("0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6".to_string()) +/// ); +/// println!("Result digest: {:?}", computed_file.result_digest); +/// }, /// Err(e) => eprintln!("Error computing digest: {:?}", e), /// } /// ``` @@ -442,7 +448,7 @@ mod tests { assert!(result.is_ok()); assert_eq!( computed_file.result_digest, - Some("0xcb371be217faa47dab94e0d0ff0840c6cbf41645f0dc1a6ae3f34447155a76f3".to_string()) + Some("0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6".to_string()) ); } diff --git a/post-compute/src/compute/utils/hash_utils.rs b/post-compute/src/compute/utils/hash_utils.rs index 8a8b1b2..6916772 100644 --- a/post-compute/src/compute/utils/hash_utils.rs +++ b/post-compute/src/compute/utils/hash_utils.rs @@ -44,10 +44,6 @@ pub fn sha256(input: D) -> String { format!("0x{}", digest(input)) } -pub fn keccak256(input: &str) -> String { - format!("0x{:x}", Keccak256::digest(input)) -} - #[cfg(test)] mod tests { use super::*; @@ -105,12 +101,4 @@ mod tests { sha256(String::from("utf8String")) ) } - - #[test] - fn get_keccak256_digest() { - assert_eq!( - "0x234b7550275b36696569d306216e035df78db522674abecff884c64e7558ef17", - keccak256("utf8String") - ); - } } diff --git a/post-compute/src/compute/utils/result_utils.rs b/post-compute/src/compute/utils/result_utils.rs index ad73b90..d9dee2e 100644 --- a/post-compute/src/compute/utils/result_utils.rs +++ b/post-compute/src/compute/utils/result_utils.rs @@ -1,5 +1,7 @@ -use crate::compute::utils::hash_utils::{concatenate_and_hash, sha256}; -use crate::compute::{computed_file::ComputedFile, utils::hash_utils::keccak256}; +use crate::compute::{ + computed_file::ComputedFile, + utils::hash_utils::{concatenate_and_hash, sha256}, +}; use log::error; use std::{ fs::{self, DirEntry}, @@ -62,7 +64,7 @@ pub fn compute_web3_result_digest(computed_file: &ComputedFile) -> String { } }; - keccak256(callback_data) + concatenate_and_hash(&[callback_data]) } /// Computes the result digest for web2 tasks using SHA256 hashing of output files. @@ -299,7 +301,7 @@ mod tests { assert_eq!( result, - "0xcb371be217faa47dab94e0d0ff0840c6cbf41645f0dc1a6ae3f34447155a76f3" + "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6" ); }