use crate::json_structures::*; type ForkChoiceUpdatedHook = dyn Fn( JsonForkchoiceStateV1, Option, ) -> Option + Send + Sync; #[derive(Default)] pub struct Hook { forkchoice_updated: Option>, } impl Hook { pub fn on_forkchoice_updated( &self, state: JsonForkchoiceStateV1, payload_attributes: Option, ) -> Option { (self.forkchoice_updated.as_ref()?)(state, payload_attributes) } pub fn set_forkchoice_updated_hook(&mut self, f: Box) { self.forkchoice_updated = Some(f); } }