@@ -10,6 +10,7 @@ use crate::witness::components::qm31_ops;
1010use crate :: witness:: components:: range_check_15;
1111use crate :: witness:: components:: range_check_16;
1212use crate :: witness:: components:: triple_xor_32;
13+ use crate :: witness:: components:: blake_g_gate;
1314use crate :: witness:: components:: triple_xor;
1415use crate :: witness:: components:: m_31_to_u_32;
1516use crate :: witness:: components:: verify_bitwise_xor_4;
@@ -197,6 +198,19 @@ pub fn write_trace(
197198 trace_evals. extend ( blake_output_trace. to_evals ( ) ) ;
198199 trace_evals. extend ( triple_xor_32_trace. to_evals ( ) ) ;
199200
201+ // Write blake_g_gate component.
202+ let ( blake_g_gate_trace, blake_g_gate_claim, blake_g_gate_interaction_claim_gen) =
203+ blake_g_gate:: write_trace (
204+ context_values,
205+ preprocessed_trace_ref,
206+ & verify_bitwise_xor_8_state,
207+ & verify_bitwise_xor_12_state,
208+ & verify_bitwise_xor_4_state,
209+ & verify_bitwise_xor_9_state,
210+ & verify_bitwise_xor_7_state,
211+ ) ;
212+ trace_evals. extend ( blake_g_gate_trace. to_evals ( ) ) ;
213+
200214 // Write m31_to_u32 component.
201215 let ( m_31_to_u_32_trace, m_31_to_u_32_claim, m_31_to_u_32_interaction_claim_gen) =
202216 m_31_to_u_32:: write_trace ( context_values, preprocessed_trace_ref, & range_check_16_state) ;
@@ -295,6 +309,7 @@ pub fn write_trace(
295309 blake_g_claim. log_size ,
296310 blake_output_claim. log_size ,
297311 triple_xor_32_claim. log_size ,
312+ blake_g_gate_claim. log_size ,
298313 m_31_to_u_32_claim. log_size ,
299314 triple_xor_claim. log_size ,
300315 circuit_air:: components:: verify_bitwise_xor_8:: LOG_SIZE ,
@@ -316,6 +331,7 @@ pub fn write_trace(
316331 blake_g : blake_g_interaction_claim_gen,
317332 blake_output : blake_output_interaction_claim_gen,
318333 triple_xor_32 : triple_xor_32_interaction_claim_gen,
334+ blake_g_gate : blake_g_gate_interaction_claim_gen,
319335 m_31_to_u_32 : m_31_to_u_32_interaction_claim_gen,
320336 triple_xor : triple_xor_interaction_claim_gen,
321337 verify_bitwise_xor_8 : verify_bitwise_xor_8_interaction_claim_gen,
@@ -338,6 +354,7 @@ pub struct CircuitInteractionClaimGenerator {
338354 pub blake_g : blake_g:: InteractionClaimGenerator ,
339355 pub blake_output : blake_output:: InteractionClaimGenerator ,
340356 pub triple_xor_32 : triple_xor_32:: InteractionClaimGenerator ,
357+ pub blake_g_gate : blake_g_gate:: InteractionClaimGenerator ,
341358 pub m_31_to_u_32 : m_31_to_u_32:: InteractionClaimGenerator ,
342359 pub triple_xor : triple_xor:: InteractionClaimGenerator ,
343360 pub verify_bitwise_xor_8 : verify_bitwise_xor_8:: InteractionClaimGenerator ,
@@ -409,6 +426,12 @@ pub fn write_interaction_trace(
409426 . write_interaction_trace ( & interaction_elements. common_lookup_elements ) ;
410427 tree_builder. extend_evals ( triple_xor_32_trace) ;
411428
429+ // Write blake_g_gate interaction trace.
430+ let ( blake_g_gate_trace, blake_g_gate_interaction_claim) = circuit_interaction_claim_generator
431+ . blake_g_gate
432+ . write_interaction_trace ( & interaction_elements. common_lookup_elements ) ;
433+ tree_builder. extend_evals ( blake_g_gate_trace) ;
434+
412435 // Write m31_to_u32 interaction trace.
413436 let ( m_31_to_u_32_trace, m_31_to_u_32_interaction_claim) = circuit_interaction_claim_generator
414437 . m_31_to_u_32
@@ -478,6 +501,7 @@ pub fn write_interaction_trace(
478501 blake_g_interaction_claim. claimed_sum ,
479502 blake_output_interaction_claim. claimed_sum ,
480503 triple_xor_32_interaction_claim. claimed_sum ,
504+ blake_g_gate_interaction_claim. claimed_sum ,
481505 m_31_to_u_32_interaction_claim. claimed_sum ,
482506 triple_xor_interaction_claim. claimed_sum ,
483507 verify_bitwise_xor_8_interaction_claim. claimed_sum ,
0 commit comments