mina_node_testing/scenario/
event_details.rs

1use node::{
2    event_source::Event,
3    p2p::{
4        channels::{rpc::RpcChannelMsg, ChannelMsg},
5        P2pChannelEvent, P2pEvent,
6    },
7    State,
8};
9
10pub fn event_details(state: &State, event: &Event) -> Option<String> {
11    if let Event::P2p(P2pEvent::Channel(P2pChannelEvent::Received(
12        peer_id,
13        Ok(ChannelMsg::Rpc(RpcChannelMsg::Response(req_id, _))),
14    ))) = event
15    {
16        let rpc_state = &state.p2p.get_ready_peer(peer_id)?.channels.rpc;
17        if *req_id == rpc_state.pending_local_rpc_id()? {
18            return Some(format!("Request: {}", rpc_state.pending_local_rpc()?));
19        }
20    }
21
22    None
23}