diff --git a/stwo_cairo_verifier/src/vcs/verifier.cairo b/stwo_cairo_verifier/src/vcs/verifier.cairo index c35a25f1..d252e793 100644 --- a/stwo_cairo_verifier/src/vcs/verifier.cairo +++ b/stwo_cairo_verifier/src/vcs/verifier.cairo @@ -9,7 +9,7 @@ use core::dict::Felt252Dict; use core::dict::Felt252DictEntryTrait; use core::nullable::NullableTrait; use core::cmp::min; - +use core::fmt::{Debug, Formatter, Error}; use stwo_cairo_verifier::BaseField; use stwo_cairo_verifier::fields::m31::m31; use stwo_cairo_verifier::utils::{ArrayExTrait, DictTrait, OptBoxTrait}; @@ -27,13 +27,31 @@ pub struct MerkleDecommitment { } impl MerkleDecommitmentDrop> of Drop>; +impl MerkleDecommitmentDebug< + impl H: MerkleHasher, +Debug +> of Debug> { + fn fmt(self: @MerkleDecommitment, ref f: Formatter) -> Result<(), Error> { + Result::Ok(()) + } +} + +impl MerkleDecommitmentClone< + impl H: MerkleHasher, +Clone>, +Drop> +> of Clone> { + fn clone(self: @MerkleDecommitment) -> MerkleDecommitment { + MerkleDecommitment::< + H + > { hash_witness: self.hash_witness.clone(), column_witness: self.column_witness.clone() } + } +} + pub struct MerkleVerifier { pub root: H::Hash, pub column_log_sizes: Array, } impl MerkleVerifierDrop> of Drop>; -trait MerkleVerifierTrait { +pub trait MerkleVerifierTrait { /// Verifies the decommitment of the columns. /// /// # Arguments @@ -166,7 +184,6 @@ impl MerkleVerifierImpl< layer_total_queries .append((current_query, H::hash_node(node_hashes, column_values))); }; - if let Result::Err(err) = res { break Result::Err(err); }