#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParameterChangeProposal {
#[prost(string, tag = "1")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub description: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub changes: ::prost::alloc::vec::Vec<ParamChange>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParamChange {
#[prost(string, tag = "1")]
pub subspace: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub key: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub value: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryParamsRequest {
#[prost(string, tag = "1")]
pub subspace: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub key: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryParamsResponse {
#[prost(message, optional, tag = "1")]
pub param: ::core::option::Option<ParamChange>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuerySubspacesRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuerySubspacesResponse {
#[prost(message, repeated, tag = "1")]
pub subspaces: ::prost::alloc::vec::Vec<Subspace>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Subspace {
#[prost(string, tag = "1")]
pub subspace: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
include!("cosmos.params.v1beta1.tonic.rs");