From de7ee8a0ad79c66e1dc4a4fa3baba82690102fdf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juli=C3=A1n=20Gonz=C3=A1lez=20Calder=C3=B3n?=
 <gonzalezcalderonjulian@gmail.com>
Date: Mon, 20 Jan 2025 12:49:24 -0300
Subject: [PATCH] Save sierra

---
 crates/blockifier/src/execution/native/executor.rs | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/crates/blockifier/src/execution/native/executor.rs b/crates/blockifier/src/execution/native/executor.rs
index d4c5e2dc477..b1750d256cd 100644
--- a/crates/blockifier/src/execution/native/executor.rs
+++ b/crates/blockifier/src/execution/native/executor.rs
@@ -1,5 +1,6 @@
 use std::collections::HashMap;
 use std::fs::{self, File};
+use std::io::Write;
 use std::path::PathBuf;
 use std::sync::atomic::AtomicU64;
 use std::sync::{Arc, Mutex};
@@ -74,6 +75,10 @@ impl ContractExecutor {
                 let trace_file = File::create(&trace_path).unwrap();
                 serde_json::to_writer_pretty(trace_file, &trace).unwrap();
 
+                let sierra_path = PathBuf::from(format!("traces/{counter}.sierra"));
+                let mut sierra_file = File::create(&sierra_path).unwrap();
+                write!(sierra_file, "{}", program).unwrap();
+
                 let result = sierra_emu::ContractExecutionResult::from_trace(&trace).unwrap();
 
                 Ok(ContractExecutionResult {