// This file is @generated by prost-build.
/// Returns the block header corresponding to the requested block number, as well as the merkle
/// path and current forest which validate the block's inclusion in the chain.
///
/// The Merkle path is an MMR proof for the block's leaf, based on the current chain length.
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BlockHeaderByNumberRequest {
    /// The target block height, defaults to latest if not provided.
    #[prost(uint32, optional, tag = "1")]
    pub block_num: ::core::option::Option<u32>,
    /// Whether or not to return authentication data for the block header.
    #[prost(bool, optional, tag = "2")]
    pub include_mmr_proof: ::core::option::Option<bool>,
}
/// Represents the result of getting a block header by block number.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BlockHeaderByNumberResponse {
    /// The requested block header.
    #[prost(message, optional, tag = "1")]
    pub block_header: ::core::option::Option<super::blockchain::BlockHeader>,
    /// Merkle path to verify the block's inclusion in the MMR at the returned `chain_length`.
    #[prost(message, optional, tag = "2")]
    pub mmr_path: ::core::option::Option<super::primitives::MerklePath>,
    /// Current chain length.
    #[prost(fixed32, optional, tag = "3")]
    pub chain_length: ::core::option::Option<u32>,
}
/// Represents a note script or nothing.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MaybeNoteScript {
    /// The script for a note by its root.
    #[prost(message, optional, tag = "1")]
    pub script: ::core::option::Option<super::note::NoteScript>,
}
