#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRegisterSidechain {
#[prost(string, tag="1")]
pub creator: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub layer_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub description: ::prost::alloc::string::String,
#[prost(uint64, tag="4")]
pub target_block_time_ms: u64,
#[prost(uint64, tag="5")]
pub max_transactions_per_block: u64,
#[prost(uint32, tag="6")]
pub min_validators: u32,
#[prost(uint64, tag="7")]
pub settlement_interval_blocks: u64,
#[prost(string, repeated, tag="8")]
pub supported_vm_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag="9")]
pub supported_domains: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRegisterSidechainResponse {
#[prost(string, tag="1")]
pub layer_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub chain_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub status: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRegisterPaychain {
#[prost(string, tag="1")]
pub creator: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub layer_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub description: ::prost::alloc::string::String,
#[prost(uint64, tag="4")]
pub max_transactions_per_block: u64,
#[prost(uint64, tag="5")]
pub settlement_interval_blocks: u64,
#[prost(string, tag="6")]
pub base_fee_multiplier: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRegisterPaychainResponse {
#[prost(string, tag="1")]
pub layer_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub status: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgAnchorState {
#[prost(string, tag="1")]
pub relayer: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub layer_id: ::prost::alloc::string::String,
#[prost(uint64, tag="3")]
pub layer_height: u64,
#[prost(bytes="vec", tag="4")]
pub state_root: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes="vec", tag="5")]
pub validator_set_hash: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes="vec", tag="6")]
pub pqc_aggregate_signature: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag="7")]
pub transaction_count: u64,
#[prost(bytes="vec", tag="8")]
pub compressed_state_proof: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgAnchorStateResponse {
#[prost(uint64, tag="1")]
pub main_chain_height: u64,
#[prost(bool, tag="2")]
pub accepted: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRouteTransaction {
#[prost(string, tag="1")]
pub sender: ::prost::alloc::string::String,
#[prost(bytes="vec", tag="2")]
pub transaction_payload: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag="3")]
pub preferred_layer: ::prost::alloc::string::String,
#[prost(uint64, tag="4")]
pub max_latency_ms: u64,
#[prost(string, tag="5")]
pub max_fee: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRouteTransactionResponse {
#[prost(string, tag="1")]
pub selected_layer: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub reason: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub cross_layer_message_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUpdateLayerStatus {
#[prost(string, tag="1")]
pub authority: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub layer_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub new_status: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub reason: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateLayerStatusResponse {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgChallengeAnchor {
#[prost(string, tag="1")]
pub challenger: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub layer_id: ::prost::alloc::string::String,
#[prost(uint64, tag="3")]
pub anchor_height: u64,
#[prost(bytes="vec", tag="4")]
pub fraud_proof: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag="5")]
pub challenge_reason: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgChallengeAnchorResponse {
#[prost(bool, tag="1")]
pub challenge_accepted: bool,
#[prost(string, tag="2")]
pub resolution: ::prost::alloc::string::String,
}