diff --git a/CHANGELOG.md b/CHANGELOG.md index d0ee2b01da..ac26b1176d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ ## Cairo-VM Changelog #### Upcoming Changes + +* Serialize directly into writer in `CairoPie::write_zip_file`[#1736](https://github.com/lambdaclass/cairo-vm/pull/1736) + * feat: Add support for cairo1 run with segements arena validation. * Refactored the runner CASM code generation to user a more high level builder. * Added segment merging of the dictionary segments. diff --git a/vm/src/vm/runners/cairo_pie.rs b/vm/src/vm/runners/cairo_pie.rs index 856e2b759e..e1392be88a 100644 --- a/vm/src/vm/runners/cairo_pie.rs +++ b/vm/src/vm/runners/cairo_pie.rs @@ -254,15 +254,15 @@ impl CairoPie { let options = zip::write::FileOptions::default().compression_method(zip::CompressionMethod::Deflated); zip_writer.start_file("version.json", options)?; - zip_writer.write_all(serde_json::to_string(&self.version)?.as_bytes())?; + serde_json::to_writer(&mut zip_writer, &self.version)?; zip_writer.start_file("metadata.json", options)?; - zip_writer.write_all(serde_json::to_string(&self.metadata)?.as_bytes())?; + serde_json::to_writer(&mut zip_writer, &self.metadata)?; zip_writer.start_file("memory.bin", options)?; zip_writer.write_all(&self.memory.to_bytes())?; zip_writer.start_file("additional_data.json", options)?; - zip_writer.write_all(serde_json::to_string(&self.additional_data)?.as_bytes())?; + serde_json::to_writer(&mut zip_writer, &self.additional_data)?; zip_writer.start_file("execution_resources.json", options)?; - zip_writer.write_all(serde_json::to_string(&self.execution_resources)?.as_bytes())?; + serde_json::to_writer(&mut zip_writer, &self.execution_resources)?; zip_writer.finish()?; Ok(()) }