Skip to content

Commit 3e01dfa

Browse files
authored
fix: onchain data calculation is dead code (#863)
1 parent fb30030 commit 3e01dfa

File tree

2 files changed

+16
-53
lines changed

2 files changed

+16
-53
lines changed

orchestrator/src/worker/event_handler/jobs/snos.rs

Lines changed: 3 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use crate::types::jobs::metadata::{JobMetadata, JobSpecificMetadata, SnosMetadat
1010
use crate::types::jobs::status::JobVerificationStatus;
1111
use crate::types::jobs::types::{JobStatus, JobType};
1212
use crate::worker::event_handler::jobs::JobHandlerTrait;
13-
use crate::worker::utils::fact_info::{build_on_chain_data, get_fact_info, get_fact_l2, get_program_output};
13+
use crate::worker::utils::fact_info::{get_fact_info, get_fact_l2, get_program_output};
1414
use async_trait::async_trait;
1515
use bytes::Bytes;
1616
use cairo_vm::vm::runners::cairo_pie::CairoPie;
@@ -180,15 +180,8 @@ impl JobHandlerTrait for SnosJobHandler {
180180
}
181181

182182
debug!("Storing SNOS outputs");
183-
if config.layer() == &Layer::L3 {
184-
// Store the on-chain data path
185-
self.store_l2(internal_id.clone(), config.storage(), &snos_metadata, cairo_pie, os_output, program_output)
186-
.await?;
187-
} else if config.layer() == &Layer::L2 {
188-
// Store the Cairo Pie path
189-
self.store(internal_id.clone(), config.storage(), &snos_metadata, cairo_pie, os_output, program_output)
190-
.await?;
191-
}
183+
// Store the Cairo Pie path
184+
self.store(internal_id.clone(), config.storage(), &snos_metadata, cairo_pie, os_output, program_output).await?;
192185

193186
info!(log_type = "completed", job_id = %job.id, "✅ {:?} job {} processed successfully", JobType::SnosRun, internal_id);
194187

@@ -218,38 +211,6 @@ impl JobHandlerTrait for SnosJobHandler {
218211
}
219212

220213
impl SnosJobHandler {
221-
/// Stores the [CairoPie] and the [StarknetOsOutput] and [OnChainData] in the Data Storage.
222-
/// The paths will be:
223-
/// - [block_number]/cairo_pie.zip
224-
/// - [block_number]/snos_output.json
225-
/// - [block_number]/onchain_data.json
226-
/// - [block_number]/program_output.json
227-
async fn store_l2(
228-
&self,
229-
internal_id: String,
230-
data_storage: &dyn StorageClient,
231-
snos_metadata: &SnosMetadata,
232-
cairo_pie: CairoPie,
233-
snos_output: Vec<Felt>,
234-
program_output: Vec<Felt252>,
235-
) -> Result<(), SnosError> {
236-
let on_chain_data = build_on_chain_data(&cairo_pie)
237-
.map_err(|_e| SnosError::FactCalculationError(FactError::OnChainDataCompute))?;
238-
239-
self.store(internal_id.clone(), data_storage, snos_metadata, cairo_pie, snos_output, program_output).await?;
240-
let on_chain_data_key = snos_metadata
241-
.on_chain_data_path
242-
.as_ref()
243-
.ok_or_else(|| SnosError::Other(OtherError(eyre!("OnChain data path is not found"))))?;
244-
245-
let on_chain_data_vec = serde_json::to_vec(&on_chain_data).map_err(|e| {
246-
SnosError::OnChainDataUnserializable { internal_id: internal_id.to_string(), message: e.to_string() }
247-
})?;
248-
data_storage.put_data(on_chain_data_vec.into(), on_chain_data_key).await.map_err(|e| {
249-
SnosError::OnChainDataUnstorable { internal_id: internal_id.to_string(), message: e.to_string() }
250-
})?;
251-
Ok(())
252-
}
253214
/// Stores the [CairoPie] and the [StarknetOsOutput] in the Data Storage.
254215
/// The paths will be:
255216
/// - [block_number]/cairo_pie.zip

orchestrator/src/worker/utils/fact_info.rs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -95,16 +95,6 @@ pub fn get_fact_l2(cairo_pie: &CairoPie, program_hash: Option<Felt>) -> color_ey
9595
Ok(B256::from_slice(&fact_hash.to_bytes_be()))
9696
}
9797

98-
pub fn build_on_chain_data(cairo_pie: &CairoPie) -> color_eyre::Result<OnChainData> {
99-
let program_output = get_program_output(cairo_pie, false)?;
100-
let fact_topology = get_fact_topology(cairo_pie, program_output.len())?;
101-
let fact_root = generate_merkle_root(&program_output, &fact_topology)?;
102-
103-
let da_child = fact_root.children.last().expect("fact_root is empty");
104-
105-
Ok(OnChainData { on_chain_data_hash: da_child.node_hash, on_chain_data_size: da_child.page_size })
106-
}
107-
10898
pub fn get_fact_info(
10999
cairo_pie: &CairoPie,
110100
program_hash: Option<Felt>,
@@ -291,7 +281,7 @@ mod tests {
291281
use cairo_vm::vm::runners::cairo_pie::CairoPie;
292282
use rstest::rstest;
293283

294-
use super::get_fact_info;
284+
use super::{get_fact_info, get_program_output};
295285

296286
#[rstest]
297287
#[case("fibonacci.zip", "0xca15503f02f8406b599cb220879e842394f5cf2cef753f3ee430647b5981b782")]
@@ -305,4 +295,16 @@ mod tests {
305295
let fact_info = get_fact_info(&cairo_pie, None, false).unwrap();
306296
assert_eq!(expected_fact, fact_info.fact.to_string());
307297
}
298+
299+
#[ignore]
300+
#[rstest]
301+
#[case("0.zip")]
302+
async fn test_program_output(#[case] cairo_pie_path: &str) {
303+
dotenvy::from_filename_override("../.env.test").expect("Failed to load the .env.test file");
304+
let cairo_pie_path: PathBuf =
305+
[env!("CARGO_MANIFEST_DIR"), "src", "tests", "artifacts", cairo_pie_path].iter().collect();
306+
let cairo_pie = CairoPie::read_zip_file(&cairo_pie_path).unwrap();
307+
let program_output = get_program_output(&cairo_pie, false).unwrap();
308+
println!("the program output is {:?}", program_output);
309+
}
308310
}

0 commit comments

Comments
 (0)