fedimint_cli/
event_output.rs1#[cfg(test)]
2mod tests;
3
4use fedimint_eventlog::EventLogEntry;
5use serde::Serialize;
6use serde_json::{Value, json};
7
8pub(super) fn event_to_json(id: impl Serialize, event: &EventLogEntry) -> Value {
11 let module_id = event.module.as_ref().map(|module| module.id);
12 let module_kind = event.module.as_ref().map(|module| module.kind.clone());
13 json!({
14 "id": id,
15 "kind": event.kind,
16 "module_kind": module_kind,
17 "module_id": module_id,
18 "ts": event.ts_usecs,
19 "payload": serde_json::from_slice::<Value>(&event.payload)
20 .unwrap_or_else(|_| Value::String(hex::encode(&event.payload))),
21 })
22}