#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValidatorSetChangePacketData {
#[prost(message, repeated, tag = "1")]
pub validator_updates: ::prost::alloc::vec::Vec<
::tendermint_proto::abci::ValidatorUpdate,
>,
#[prost(uint64, tag = "2")]
pub valset_update_id: u64,
#[prost(string, repeated, tag = "3")]
pub slash_acks: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for ValidatorSetChangePacketData {
const NAME: &'static str = "ValidatorSetChangePacketData";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VscMaturedPacketData {
#[prost(uint64, tag = "1")]
pub valset_update_id: u64,
}
impl ::prost::Name for VscMaturedPacketData {
const NAME: &'static str = "VSCMaturedPacketData";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SlashPacketData {
#[prost(message, optional, tag = "1")]
pub validator: ::core::option::Option<::tendermint_proto::abci::Validator>,
#[prost(uint64, tag = "2")]
pub valset_update_id: u64,
#[prost(
enumeration = "super::super::super::cosmos::staking::v1beta1::Infraction",
tag = "3"
)]
pub infraction: i32,
}
impl ::prost::Name for SlashPacketData {
const NAME: &'static str = "SlashPacketData";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConsumerPacketData {
#[prost(enumeration = "ConsumerPacketDataType", tag = "1")]
pub r#type: i32,
#[prost(oneof = "consumer_packet_data::Data", tags = "2, 3")]
pub data: ::core::option::Option<consumer_packet_data::Data>,
}
pub mod consumer_packet_data {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Data {
#[prost(message, tag = "2")]
SlashPacketData(super::SlashPacketData),
#[prost(message, tag = "3")]
VscMaturedPacketData(super::VscMaturedPacketData),
}
}
impl ::prost::Name for ConsumerPacketData {
const NAME: &'static str = "ConsumerPacketData";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandshakeMetadata {
#[prost(string, tag = "1")]
pub provider_fee_pool_addr: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
}
impl ::prost::Name for HandshakeMetadata {
const NAME: &'static str = "HandshakeMetadata";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConsumerPacketDataV1 {
#[prost(enumeration = "ConsumerPacketDataType", tag = "1")]
pub r#type: i32,
#[prost(oneof = "consumer_packet_data_v1::Data", tags = "2, 3")]
pub data: ::core::option::Option<consumer_packet_data_v1::Data>,
}
pub mod consumer_packet_data_v1 {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Data {
#[prost(message, tag = "2")]
SlashPacketData(super::SlashPacketDataV1),
#[prost(message, tag = "3")]
VscMaturedPacketData(super::VscMaturedPacketData),
}
}
impl ::prost::Name for ConsumerPacketDataV1 {
const NAME: &'static str = "ConsumerPacketDataV1";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SlashPacketDataV1 {
#[prost(message, optional, tag = "1")]
pub validator: ::core::option::Option<::tendermint_proto::abci::Validator>,
#[prost(uint64, tag = "2")]
pub valset_update_id: u64,
#[prost(enumeration = "InfractionType", tag = "3")]
pub infraction: i32,
}
impl ::prost::Name for SlashPacketDataV1 {
const NAME: &'static str = "SlashPacketDataV1";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConsumerPacketDataType {
ConsumerPacketTypeUnspecified = 0,
ConsumerPacketTypeSlash = 1,
ConsumerPacketTypeVscm = 2,
}
impl ConsumerPacketDataType {
pub fn as_str_name(&self) -> &'static str {
match self {
ConsumerPacketDataType::ConsumerPacketTypeUnspecified => {
"CONSUMER_PACKET_TYPE_UNSPECIFIED"
}
ConsumerPacketDataType::ConsumerPacketTypeSlash => {
"CONSUMER_PACKET_TYPE_SLASH"
}
ConsumerPacketDataType::ConsumerPacketTypeVscm => "CONSUMER_PACKET_TYPE_VSCM",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CONSUMER_PACKET_TYPE_UNSPECIFIED" => {
Some(Self::ConsumerPacketTypeUnspecified)
}
"CONSUMER_PACKET_TYPE_SLASH" => Some(Self::ConsumerPacketTypeSlash),
"CONSUMER_PACKET_TYPE_VSCM" => Some(Self::ConsumerPacketTypeVscm),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum InfractionType {
Unspecified = 0,
DoubleSign = 1,
Downtime = 2,
}
impl InfractionType {
pub fn as_str_name(&self) -> &'static str {
match self {
InfractionType::Unspecified => "INFRACTION_TYPE_UNSPECIFIED",
InfractionType::DoubleSign => "INFRACTION_TYPE_DOUBLE_SIGN",
InfractionType::Downtime => "INFRACTION_TYPE_DOWNTIME",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"INFRACTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"INFRACTION_TYPE_DOUBLE_SIGN" => Some(Self::DoubleSign),
"INFRACTION_TYPE_DOWNTIME" => Some(Self::Downtime),
_ => None,
}
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConsumerParams {
#[prost(bool, tag = "1")]
pub enabled: bool,
#[prost(int64, tag = "2")]
pub blocks_per_distribution_transmission: i64,
#[prost(string, tag = "3")]
pub distribution_transmission_channel: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub provider_fee_pool_addr_str: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub ccv_timeout_period: ::core::option::Option<
super::super::super::google::protobuf::Duration,
>,
#[prost(message, optional, tag = "6")]
pub transfer_timeout_period: ::core::option::Option<
super::super::super::google::protobuf::Duration,
>,
#[prost(string, tag = "7")]
pub consumer_redistribution_fraction: ::prost::alloc::string::String,
#[prost(int64, tag = "8")]
pub historical_entries: i64,
#[prost(message, optional, tag = "9")]
pub unbonding_period: ::core::option::Option<
super::super::super::google::protobuf::Duration,
>,
#[prost(string, tag = "10")]
pub soft_opt_out_threshold: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "11")]
pub reward_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "12")]
pub provider_reward_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for ConsumerParams {
const NAME: &'static str = "ConsumerParams";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConsumerGenesisState {
#[prost(message, optional, tag = "1")]
pub params: ::core::option::Option<ConsumerParams>,
#[prost(string, tag = "2")]
pub provider_client_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub provider_channel_id: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub new_chain: bool,
#[prost(message, optional, tag = "5")]
pub provider_client_state: ::core::option::Option<
super::super::super::ibc::lightclients::tendermint::v1::ClientState,
>,
#[prost(message, optional, tag = "6")]
pub provider_consensus_state: ::core::option::Option<
super::super::super::ibc::lightclients::tendermint::v1::ConsensusState,
>,
#[prost(message, repeated, tag = "7")]
pub maturing_packets: ::prost::alloc::vec::Vec<MaturingVscPacket>,
#[prost(message, repeated, tag = "8")]
pub initial_val_set: ::prost::alloc::vec::Vec<
::tendermint_proto::abci::ValidatorUpdate,
>,
#[prost(message, repeated, tag = "9")]
pub height_to_valset_update_id: ::prost::alloc::vec::Vec<HeightToValsetUpdateId>,
#[prost(message, repeated, tag = "10")]
pub outstanding_downtime_slashing: ::prost::alloc::vec::Vec<OutstandingDowntime>,
#[prost(message, optional, tag = "11")]
pub pending_consumer_packets: ::core::option::Option<ConsumerPacketDataList>,
#[prost(message, optional, tag = "12")]
pub last_transmission_block_height: ::core::option::Option<
LastTransmissionBlockHeight,
>,
#[prost(bool, tag = "13")]
pub pre_ccv: bool,
}
impl ::prost::Name for ConsumerGenesisState {
const NAME: &'static str = "ConsumerGenesisState";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeightToValsetUpdateId {
#[prost(uint64, tag = "1")]
pub height: u64,
#[prost(uint64, tag = "2")]
pub valset_update_id: u64,
}
impl ::prost::Name for HeightToValsetUpdateId {
const NAME: &'static str = "HeightToValsetUpdateID";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OutstandingDowntime {
#[prost(string, tag = "1")]
pub validator_consensus_address: ::prost::alloc::string::String,
}
impl ::prost::Name for OutstandingDowntime {
const NAME: &'static str = "OutstandingDowntime";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LastTransmissionBlockHeight {
#[prost(int64, tag = "1")]
pub height: i64,
}
impl ::prost::Name for LastTransmissionBlockHeight {
const NAME: &'static str = "LastTransmissionBlockHeight";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MaturingVscPacket {
#[prost(uint64, tag = "1")]
pub vsc_id: u64,
#[prost(message, optional, tag = "2")]
pub maturity_time: ::core::option::Option<
super::super::super::google::protobuf::Timestamp,
>,
}
impl ::prost::Name for MaturingVscPacket {
const NAME: &'static str = "MaturingVSCPacket";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConsumerPacketDataList {
#[prost(message, repeated, tag = "1")]
pub list: ::prost::alloc::vec::Vec<ConsumerPacketData>,
}
impl ::prost::Name for ConsumerPacketDataList {
const NAME: &'static str = "ConsumerPacketDataList";
const PACKAGE: &'static str = "interchain_security.ccv.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME)
}
}