cosmrs/slashing/
query_signing_info_response.rs

1use crate::slashing::ValidatorSigningInfo;
2use crate::{proto, ErrorReport, Result};
3
4/// QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC
5/// method
6#[derive(Clone, Debug, Eq, PartialEq)]
7pub struct QuerySigningInfoResponse {
8    /// val_signing_info is the signing info of requested val cons address
9    pub val_signing_info: Option<ValidatorSigningInfo>,
10}
11
12impl TryFrom<proto::cosmos::slashing::v1beta1::QuerySigningInfoResponse>
13    for QuerySigningInfoResponse
14{
15    type Error = ErrorReport;
16
17    fn try_from(
18        proto: cosmos_sdk_proto::cosmos::slashing::v1beta1::QuerySigningInfoResponse,
19    ) -> Result<Self> {
20        Ok(QuerySigningInfoResponse {
21            val_signing_info: proto.val_signing_info.map(TryFrom::try_from).transpose()?,
22        })
23    }
24}
25
26impl From<QuerySigningInfoResponse> for proto::cosmos::slashing::v1beta1::QuerySigningInfoResponse {
27    fn from(signing_info_response: QuerySigningInfoResponse) -> Self {
28        proto::cosmos::slashing::v1beta1::QuerySigningInfoResponse {
29            val_signing_info: signing_info_response.val_signing_info.map(Into::into),
30        }
31    }
32}