cairo_lang_sierra/extensions/modules/starknet/
emit_event.rs1use super::felt252_span_ty;
2use super::syscalls::SyscallGenericLibfunc;
3use crate::extensions::SpecializationError;
4use crate::extensions::lib_func::SignatureSpecializationContext;
5
6#[derive(Default)]
8pub struct EmitEventLibfunc {}
9impl SyscallGenericLibfunc for EmitEventLibfunc {
10 const STR_ID: &'static str = "emit_event_syscall";
11
12 fn input_tys(
13 context: &dyn SignatureSpecializationContext,
14 ) -> Result<Vec<crate::ids::ConcreteTypeId>, SpecializationError> {
15 let span_ty = felt252_span_ty(context)?;
16 Ok(vec![
17 span_ty.clone(),
19 span_ty,
21 ])
22 }
23
24 fn success_output_tys(
25 _context: &dyn SignatureSpecializationContext,
26 ) -> Result<Vec<crate::ids::ConcreteTypeId>, SpecializationError> {
27 Ok(vec![])
28 }
29}