#[derive(::serde::Serialize, ::serde::Deserialize)]
#[cfg_attr(feature = "json-schema", derive(::schemars::JsonSchema))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MerkleRoot {
#[prost(bytes="vec", tag="1")]
#[serde(with = "crate::base64")]
#[cfg_attr(feature = "json-schema", schemars(with = "String"))]
pub hash: ::prost::alloc::vec::Vec<u8>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[cfg_attr(feature = "json-schema", derive(::schemars::JsonSchema))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MerklePrefix {
#[prost(bytes="vec", tag="1")]
#[serde(with = "crate::base64")]
#[cfg_attr(feature = "json-schema", schemars(with = "String"))]
pub key_prefix: ::prost::alloc::vec::Vec<u8>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MerklePath {
#[prost(string, repeated, tag="1")]
pub key_path: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MerkleProof {
#[prost(message, repeated, tag="1")]
pub proofs: ::prost::alloc::vec::Vec<super::super::super::super::ics23::CommitmentProof>,
}