#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BaseVestingAccount {
#[prost(message, optional, tag = "1")]
pub base_account: ::core::option::Option<super::super::auth::v1beta1::BaseAccount>,
#[prost(message, repeated, tag = "2")]
pub original_vesting: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
#[prost(message, repeated, tag = "3")]
pub delegated_free: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
#[prost(message, repeated, tag = "4")]
pub delegated_vesting: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
#[prost(int64, tag = "5")]
pub end_time: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContinuousVestingAccount {
#[prost(message, optional, tag = "1")]
pub base_vesting_account: ::core::option::Option<BaseVestingAccount>,
#[prost(int64, tag = "2")]
pub start_time: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DelayedVestingAccount {
#[prost(message, optional, tag = "1")]
pub base_vesting_account: ::core::option::Option<BaseVestingAccount>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Period {
#[prost(int64, tag = "1")]
pub length: i64,
#[prost(message, repeated, tag = "2")]
pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PeriodicVestingAccount {
#[prost(message, optional, tag = "1")]
pub base_vesting_account: ::core::option::Option<BaseVestingAccount>,
#[prost(int64, tag = "2")]
pub start_time: i64,
#[prost(message, repeated, tag = "3")]
pub vesting_periods: ::prost::alloc::vec::Vec<Period>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PermanentLockedAccount {
#[prost(message, optional, tag = "1")]
pub base_vesting_account: ::core::option::Option<BaseVestingAccount>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreateVestingAccount {
#[prost(string, tag = "1")]
pub from_address: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub to_address: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
#[prost(int64, tag = "4")]
pub end_time: i64,
#[prost(bool, tag = "5")]
pub delayed: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreateVestingAccountResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreatePermanentLockedAccount {
#[prost(string, tag = "1")]
pub from_address: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub to_address: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreatePermanentLockedAccountResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreatePeriodicVestingAccount {
#[prost(string, tag = "1")]
pub from_address: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub to_address: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub start_time: i64,
#[prost(message, repeated, tag = "4")]
pub vesting_periods: ::prost::alloc::vec::Vec<Period>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreatePeriodicVestingAccountResponse {}
include!("cosmos.vesting.v1beta1.tonic.rs");