cometbft_rpc/endpoint/
evidence.rs1use cometbft::{evidence, Hash};
4use serde::{Deserialize, Serialize};
5
6use crate::{dialect::Dialect, request::RequestMessage, Method};
7
8#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
10pub struct Request<S: Dialect> {
11 pub evidence: S::Evidence,
13}
14
15impl<S: Dialect> Request<S> {
16 pub fn new(evidence: evidence::Evidence) -> Self {
18 Request {
19 evidence: evidence.into(),
20 }
21 }
22}
23
24impl<S: Dialect> RequestMessage for Request<S> {
25 fn method(&self) -> Method {
26 Method::BroadcastEvidence
27 }
28}
29
30impl<S: Dialect> crate::Request<S> for Request<S> {
31 type Response = Response;
32}
33
34impl<S: Dialect> crate::SimpleRequest<S> for Request<S> {
35 type Output = Response;
36}
37
38#[derive(Clone, Debug, Deserialize, Serialize)]
40pub struct Response {
41 #[serde(with = "crate::serializers::tm_hash_base64")]
43 pub hash: Hash,
44}
45
46impl crate::Response for Response {}