cometbft_rpc/dialect/
v1.rs1use cometbft::evidence;
2use cometbft_proto::types::v1 as pb;
3
4use crate::prelude::*;
5use serde::{Deserialize, Serialize};
6
7pub use cometbft::abci::Event;
10
11#[derive(Default, Clone)]
12pub struct Dialect;
13
14impl crate::dialect::Dialect for Dialect {
15 type Event = Event;
16 type Evidence = Evidence;
17}
18
19#[derive(Clone, Debug, Serialize, Deserialize)]
20#[serde(into = "pb::Evidence", try_from = "pb::Evidence")]
21pub struct Evidence(evidence::Evidence);
22
23impl From<Evidence> for pb::Evidence {
24 fn from(evidence: Evidence) -> Self {
25 evidence.0.into()
26 }
27}
28
29impl TryFrom<pb::Evidence> for Evidence {
30 type Error = <evidence::Evidence as TryFrom<pb::Evidence>>::Error;
31
32 fn try_from(value: pb::Evidence) -> Result<Self, Self::Error> {
33 Ok(Self(evidence::Evidence::try_from(value)?))
34 }
35}
36
37impl From<evidence::Evidence> for Evidence {
38 fn from(evidence: evidence::Evidence) -> Self {
39 Self(evidence)
40 }
41}