#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParamsView {
#[prost(uint64, tag="1")]
pub max_sidechains: u64,
#[prost(uint64, tag="2")]
pub max_paychains: u64,
#[prost(uint64, tag="3")]
pub min_anchor_interval: u64,
#[prost(uint64, tag="4")]
pub max_anchor_interval: u64,
#[prost(uint64, tag="5")]
pub default_challenge_period: u64,
#[prost(string, tag="6")]
pub min_sidechain_stake: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub min_paychain_stake: ::prost::alloc::string::String,
#[prost(bool, tag="8")]
pub routing_enabled: bool,
#[prost(string, tag="9")]
pub routing_confidence_threshold: ::prost::alloc::string::String,
#[prost(bool, tag="10")]
pub cross_layer_fee_bundling: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LayerView {
#[prost(string, tag="1")]
pub layer_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub layer_type: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub chain_id: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub description: ::prost::alloc::string::String,
#[prost(uint64, tag="6")]
pub target_block_time_ms: u64,
#[prost(uint64, tag="7")]
pub max_transactions_per_block: u64,
#[prost(uint32, tag="8")]
pub min_validators: u32,
#[prost(uint64, tag="9")]
pub settlement_interval_blocks: u64,
#[prost(uint64, tag="10")]
pub challenge_period_seconds: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoutingStatsView {
#[prost(uint64, tag="1")]
pub total_routed: u64,
#[prost(uint64, tag="2")]
pub routed_to_main: u64,
#[prost(uint64, tag="3")]
pub routed_to_sidechains: u64,
#[prost(uint64, tag="4")]
pub routed_to_paychains: u64,
#[prost(string, tag="5")]
pub average_gas_savings_percent: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub average_latency_improvement_percent: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryParamsRequest {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryParamsResponse {
#[prost(message, optional, tag="1")]
pub params: ::core::option::Option<ParamsView>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryLayerRequest {
#[prost(string, tag="1")]
pub layer_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryLayerResponse {
#[prost(message, optional, tag="1")]
pub layer: ::core::option::Option<LayerView>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryLayersRequest {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryLayersResponse {
#[prost(message, repeated, tag="1")]
pub layers: ::prost::alloc::vec::Vec<LayerView>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryRoutingStatsRequest {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryRoutingStatsView {
#[prost(message, optional, tag="1")]
pub stats: ::core::option::Option<RoutingStatsView>,
}
#[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,
}