diff --git a/noir-projects/aztec-nr/aztec/src/unencrypted_logs/unencrypted_event_emission.nr b/noir-projects/aztec-nr/aztec/src/unencrypted_logs/unencrypted_event_emission.nr index d57bdc43a5d6..a5a8995ec630 100644 --- a/noir-projects/aztec-nr/aztec/src/unencrypted_logs/unencrypted_event_emission.nr +++ b/noir-projects/aztec-nr/aztec/src/unencrypted_logs/unencrypted_event_emission.nr @@ -1,16 +1,14 @@ use crate::{context::PublicContext, event::event_interface::EventInterface}; use dep::protocol_types::traits::Serialize; -fn emit(context: &mut PublicContext, event: Event) +fn emit(context: &mut PublicContext, event: Event) where - Event: EventInterface, - Event: Serialize, - [Field; N]: LensForEventSelector, + Event: EventInterface + Serialize, { let selector = Event::get_event_type_id(); let serialized_event = event.serialize(); - let mut emitted_log = [0; M]; + let mut emitted_log = [0; N + 1]; // We put the selector in the "last" place, to avoid reading or assigning to an expression in an index for i in 0..serialized_event.len() { @@ -22,50 +20,11 @@ where context.emit_unencrypted_log(emitted_log); } -pub fn encode_event( +pub fn encode_event( context: &mut PublicContext, ) -> fn[(&mut PublicContext,)](Event) -> () where - Event: EventInterface, - Event: Serialize, - [Field; N]: LensForEventSelector, + Event: EventInterface + Serialize, { |e: Event| { emit(context, e); } } - -trait LensForEventSelector { - // N = event preimage input in fields - // M = event preimage input in fields + event selector as field - fn output(self: [Field; N]) -> [Field; M]; -} - -impl LensForEventSelector<1, 2> for [Field; 1] { - fn output(self) -> [Field; 2] { - [self[0] as Field; 2] - } -} -impl LensForEventSelector<2, 3> for [Field; 2] { - fn output(self) -> [Field; 3] { - [self[0] as Field; 3] - } -} -impl LensForEventSelector<3, 4> for [Field; 3] { - fn output(self) -> [Field; 4] { - [self[0] as Field; 4] - } -} -impl LensForEventSelector<4, 5> for [Field; 4] { - fn output(self) -> [Field; 5] { - [self[0] as Field; 5] - } -} -impl LensForEventSelector<5, 6> for [Field; 5] { - fn output(self) -> [Field; 6] { - [self[0] as Field; 6] - } -} -impl LensForEventSelector<6, 7> for [Field; 6] { - fn output(self) -> [Field; 7] { - [self[0] as Field; 7] - } -}