tendermint_rpc/endpoint/
genesis_chunked.rs1use alloc::{
4 string::{String, ToString},
5 vec::Vec,
6};
7use serde::{Deserialize, Serialize};
8use tendermint_proto::serializers;
9
10use crate::{dialect::Dialect, request::RequestMessage};
11
12#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
14pub struct Request {
15 pub chunk: String,
16}
17
18impl Request {
19 pub fn new(chunk: u64) -> Self {
20 Self {
21 chunk: chunk.to_string(),
22 }
23 }
24}
25
26impl RequestMessage for Request {
27 fn method(&self) -> crate::Method {
28 crate::Method::GenesisChunked
29 }
30}
31
32impl<S> crate::Request<S> for Request
33where
34 S: Dialect,
35{
36 type Response = Response;
37}
38
39impl<S> crate::SimpleRequest<S> for Request
40where
41 S: Dialect,
42{
43 type Output = Response;
44}
45
46#[derive(Clone, Debug, Deserialize, Serialize)]
48pub struct Response {
49 #[serde(with = "serializers::from_str")]
50 pub chunk: u64,
51 #[serde(with = "serializers::from_str")]
52 pub total: u64,
53 #[serde(with = "serializers::bytes::base64string")]
54 pub data: Vec<u8>,
55}
56
57impl crate::Response for Response {}