#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpendingRule {
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
#[prost(int64, tag="2")]
pub daily_limit: i64,
#[prost(int64, tag="3")]
pub per_tx_limit: i64,
#[prost(string, repeated, tag="4")]
pub allowed_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag="5")]
pub enabled: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreateAbstractAccount {
#[prost(string, tag="1")]
pub owner: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub account_type: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreateAbstractAccountResponse {
#[prost(string, tag="1")]
pub address: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUpdateSpendingRules {
#[prost(string, tag="1")]
pub owner: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub account_address: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub rules: ::prost::alloc::vec::Vec<SpendingRule>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateSpendingRulesResponse {
}