diff --git a/vm/src/vm/runners/cairo_pie.rs b/vm/src/vm/runners/cairo_pie.rs index 8c5659e748..2ab18806fe 100644 --- a/vm/src/vm/runners/cairo_pie.rs +++ b/vm/src/vm/runners/cairo_pie.rs @@ -41,6 +41,15 @@ pub struct CairoPieMemory( pub Vec<((usize, usize), MaybeRelocatable)>, ); +impl CairoPieMemory { + pub fn as_hashmap(&self) -> HashMap<&(usize, usize), &MaybeRelocatable> { + self.0 + .iter() + .map(|tuple| (&tuple.0, &tuple.1)) + .collect::>() + } +} + #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq)] pub struct PublicMemoryPage { pub start: usize, @@ -227,7 +236,7 @@ impl CairoPie { if self.metadata != pie.metadata { return Err(CairoPieValidationError::DiffMetadata); } - if self.memory != pie.memory { + if self.memory.as_hashmap() != pie.memory.as_hashmap() { return Err(CairoPieValidationError::DiffMemory); } if self.execution_resources.n_steps != pie.execution_resources.n_steps