qorechain-sdk 0.5.0

QoreChain SDK for Rust: networks, denom/address utils, HD accounts (native/EVM/SVM), ML-DSA-87 PQC signing, typed messages for all custom modules, tx lifecycle (auto-gas, tracking, search), typed queries, WS subscriptions, and REST/JSON-RPC read clients.
Documentation
// @generated
// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BridgeConfigView {
    #[prost(int32, tag="1")]
    pub min_validators: i32,
    #[prost(int32, tag="2")]
    pub attestation_threshold: i32,
    #[prost(int64, tag="3")]
    pub challenge_period_secs: i64,
    #[prost(string, tag="4")]
    pub large_transfer_threshold: ::prost::alloc::string::String,
    #[prost(bool, tag="5")]
    pub enabled: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChainConfigView {
    #[prost(string, tag="1")]
    pub chain_id: ::prost::alloc::string::String,
    #[prost(string, tag="2")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag="3")]
    pub chain_type: ::prost::alloc::string::String,
    #[prost(string, tag="4")]
    pub bridge_contract: ::prost::alloc::string::String,
    #[prost(string, tag="5")]
    pub status: ::prost::alloc::string::String,
    #[prost(int32, tag="6")]
    pub min_confirmations: i32,
    #[prost(string, tag="7")]
    pub architecture: ::prost::alloc::string::String,
    #[prost(string, tag="8")]
    pub ibc_channel_id: ::prost::alloc::string::String,
    #[prost(string, tag="9")]
    pub ibc_port_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BridgeValidatorView {
    #[prost(string, tag="1")]
    pub address: ::prost::alloc::string::String,
    #[prost(string, repeated, tag="2")]
    pub supported_chains: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, tag="3")]
    pub reputation: ::prost::alloc::string::String,
    #[prost(bool, tag="4")]
    pub active: bool,
    #[prost(int64, tag="5")]
    pub registered_at: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BridgeOperationView {
    #[prost(string, tag="1")]
    pub id: ::prost::alloc::string::String,
    #[prost(string, tag="2")]
    pub r#type: ::prost::alloc::string::String,
    #[prost(string, tag="3")]
    pub source_chain: ::prost::alloc::string::String,
    #[prost(string, tag="4")]
    pub dest_chain: ::prost::alloc::string::String,
    #[prost(string, tag="5")]
    pub sender: ::prost::alloc::string::String,
    #[prost(string, tag="6")]
    pub receiver: ::prost::alloc::string::String,
    #[prost(string, tag="7")]
    pub asset: ::prost::alloc::string::String,
    #[prost(string, tag="8")]
    pub amount: ::prost::alloc::string::String,
    #[prost(string, tag="9")]
    pub source_tx_hash: ::prost::alloc::string::String,
    #[prost(string, tag="10")]
    pub status: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryConfigRequest {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryConfigResponse {
    #[prost(message, optional, tag="1")]
    pub config: ::core::option::Option<BridgeConfigView>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryChainConfigRequest {
    #[prost(string, tag="1")]
    pub chain_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryChainConfigResponse {
    #[prost(message, optional, tag="1")]
    pub chain: ::core::option::Option<ChainConfigView>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryChainConfigsRequest {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryChainConfigsResponse {
    #[prost(message, repeated, tag="1")]
    pub chains: ::prost::alloc::vec::Vec<ChainConfigView>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryValidatorRequest {
    #[prost(string, tag="1")]
    pub address: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryValidatorResponse {
    #[prost(message, optional, tag="1")]
    pub validator: ::core::option::Option<BridgeValidatorView>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryValidatorsRequest {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryValidatorsResponse {
    #[prost(message, repeated, tag="1")]
    pub validators: ::prost::alloc::vec::Vec<BridgeValidatorView>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryOperationRequest {
    #[prost(string, tag="1")]
    pub id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryOperationResponse {
    #[prost(message, optional, tag="1")]
    pub operation: ::core::option::Option<BridgeOperationView>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryOperationsRequest {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryOperationsResponse {
    #[prost(message, repeated, tag="1")]
    pub operations: ::prost::alloc::vec::Vec<BridgeOperationView>,
}
/// MsgUpdateChainConfig sets/replaces a chain's bridge configuration. Empty
/// string / zero fields fall back to the existing config (merge semantics in the
/// handler), so a caller can flip just `status`+one verifier flag to activate.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUpdateChainConfig {
    #[prost(string, tag="1")]
    pub admin: ::prost::alloc::string::String,
    #[prost(string, tag="2")]
    pub chain_id: ::prost::alloc::string::String,
    /// contract/program address on the external chain
    #[prost(string, tag="3")]
    pub bridge_contract: ::prost::alloc::string::String,
    #[prost(uint32, tag="4")]
    pub confirmations_required: u32,
    /// ChainArchitecture string (empty keeps existing)
    #[prost(string, tag="5")]
    pub architecture: ::prost::alloc::string::String,
    /// "active" | "paused" | "pending" (empty keeps existing)
    #[prost(string, tag="6")]
    pub status: ::prost::alloc::string::String,
    /// Exactly one verifier flag should be set when activating trustless mode.
    ///
    /// "light_client"|"wormhole"|"ed25519"|"bls"|"starknet"|"bitcoin_spv"|"" (none)
    #[prost(string, tag="7")]
    pub verifier: ::prost::alloc::string::String,
    /// hex topic0 of the lock event (EVM/light-client chains)
    #[prost(string, tag="8")]
    pub lock_event_sig: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateChainConfigResponse {
}
/// MsgSetVerifierBootstrap installs a verifier trust root. Exactly one of the
/// sub-messages must be populated; the handler routes by which is non-nil.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgSetVerifierBootstrap {
    #[prost(string, tag="1")]
    pub admin: ::prost::alloc::string::String,
    #[prost(string, tag="2")]
    pub chain_id: ::prost::alloc::string::String,
    #[prost(message, optional, tag="3")]
    pub wormhole: ::core::option::Option<WormholeGuardianSet>,
    #[prost(message, optional, tag="4")]
    pub ed25519: ::core::option::Option<ValidatorQuorum>,
    #[prost(message, optional, tag="5")]
    pub bls: ::core::option::Option<ValidatorQuorum>,
    #[prost(message, optional, tag="6")]
    pub bitcoin: ::core::option::Option<BitcoinCheckpoint>,
    #[prost(bytes="vec", tag="7")]
    pub starknet_state_root: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgSetVerifierBootstrapResponse {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WormholeGuardianSet {
    /// 20-byte guardian eth addresses
    #[prost(bytes="vec", repeated, tag="1")]
    pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
    #[prost(uint32, tag="2")]
    pub quorum: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValidatorQuorum {
    /// ed25519 (32B) or BLS (48B) pubkeys
    #[prost(bytes="vec", repeated, tag="1")]
    pub pubkeys: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
    #[prost(uint32, tag="2")]
    pub threshold: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BitcoinCheckpoint {
    #[prost(bytes="vec", tag="1")]
    pub block_hash: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag="2")]
    pub min_confs: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgBridgeDeposit {
    #[prost(string, tag="1")]
    pub sender: ::prost::alloc::string::String,
    #[prost(string, tag="2")]
    pub source_chain: ::prost::alloc::string::String,
    #[prost(string, tag="3")]
    pub source_tx_hash: ::prost::alloc::string::String,
    #[prost(string, tag="4")]
    pub asset: ::prost::alloc::string::String,
    #[prost(string, tag="5")]
    pub amount: ::prost::alloc::string::String,
    #[prost(bytes="vec", tag="6")]
    pub bridge_validator_sigs: ::prost::alloc::vec::Vec<u8>,
    #[prost(bytes="vec", tag="7")]
    pub pqc_commitment: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgBridgeDepositResponse {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgBridgeWithdraw {
    #[prost(string, tag="1")]
    pub sender: ::prost::alloc::string::String,
    #[prost(string, tag="2")]
    pub destination_chain: ::prost::alloc::string::String,
    #[prost(string, tag="3")]
    pub destination_address: ::prost::alloc::string::String,
    #[prost(string, tag="4")]
    pub asset: ::prost::alloc::string::String,
    #[prost(string, tag="5")]
    pub amount: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgBridgeWithdrawResponse {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRegisterBridgeValidator {
    #[prost(string, tag="1")]
    pub validator_address: ::prost::alloc::string::String,
    #[prost(bytes="vec", tag="2")]
    pub pqc_pubkey: ::prost::alloc::vec::Vec<u8>,
    #[prost(string, repeated, tag="3")]
    pub supported_chains: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgRegisterBridgeValidatorResponse {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgBridgeAttestation {
    #[prost(string, tag="1")]
    pub validator: ::prost::alloc::string::String,
    #[prost(string, tag="2")]
    pub chain: ::prost::alloc::string::String,
    #[prost(string, tag="3")]
    pub event_type: ::prost::alloc::string::String,
    #[prost(string, tag="4")]
    pub operation_id: ::prost::alloc::string::String,
    #[prost(string, tag="5")]
    pub tx_hash: ::prost::alloc::string::String,
    #[prost(string, tag="6")]
    pub amount: ::prost::alloc::string::String,
    #[prost(string, tag="7")]
    pub asset: ::prost::alloc::string::String,
    #[prost(bytes="vec", tag="8")]
    pub proof: ::prost::alloc::vec::Vec<u8>,
    #[prost(bytes="vec", tag="9")]
    pub pqc_signature: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgBridgeAttestationResponse {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUpdateEthLightClient {
    #[prost(string, tag="1")]
    pub relayer: ::prost::alloc::string::String,
    /// Encoded Altair LightClientUpdate bundle verified against the stored sync
    /// committee before advancing the on-chain light client.
    #[prost(bytes="vec", tag="2")]
    pub update: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateEthLightClientResponse {
}
// @@protoc_insertion_point(module)