qorechain-sdk 0.7.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.
/// PQCHybridSignature is a transaction extension option carried in
/// TxBody.extension_options. It pairs a post-quantum (Dilithium-5) signature with
/// the account's classical secp256k1 signature so every transaction can be
/// quantum-safe while remaining compatible with the standard Cosmos SDK auth
/// path. It is registered as a cosmos.tx.v1beta1.TxExtensionOptionI.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PqcHybridSignature {
    /// algorithm_id identifies the PQC signature algorithm (e.g. Dilithium-5 = 1).
    #[prost(uint32, tag="1")]
    pub algorithm_id: u32,
    /// pqc_signature is the raw PQC signature (Dilithium-5: 4627 bytes).
    #[prost(bytes="vec", tag="2")]
    pub pqc_signature: ::prost::alloc::vec::Vec<u8>,
    /// pqc_public_key optionally carries the signer's PQC public key
    /// (Dilithium-5: 2592 bytes).
    #[prost(bytes="vec", tag="3")]
    pub pqc_public_key: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryAccountRequest {
    /// address is the bech32 account address whose PQC key is requested.
    #[prost(string, tag="1")]
    pub address: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryAccountResponse {
    /// found reports whether the account has a registered PQC key.
    #[prost(bool, tag="1")]
    pub found: bool,
    #[prost(message, optional, tag="2")]
    pub account: ::core::option::Option<PqcAccountView>,
}
/// PQCAccountView is the query-facing view of a registered PQC account.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PqcAccountView {
    #[prost(string, tag="1")]
    pub address: ::prost::alloc::string::String,
    #[prost(bytes="vec", tag="2")]
    pub public_key: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag="3")]
    pub algorithm_id: u32,
    #[prost(string, tag="4")]
    pub algorithm_name: ::prost::alloc::string::String,
    #[prost(bytes="vec", tag="5")]
    pub ecdsa_pubkey: ::prost::alloc::vec::Vec<u8>,
    #[prost(string, tag="6")]
    pub key_type: ::prost::alloc::string::String,
    #[prost(int64, tag="7")]
    pub created_at_height: i64,
    #[prost(bytes="vec", tag="8")]
    pub migration_public_key: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag="9")]
    pub migration_algorithm_id: u32,
}
/// MsgRegisterPQCKey registers a PQC keypair for an account.
/// Deprecated: use MsgRegisterPQCKeyV2 which includes algorithm_id.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRegisterPqcKey {
    #[prost(string, tag="1")]
    pub sender: ::prost::alloc::string::String,
    #[prost(bytes="vec", tag="2")]
    pub dilithium_pubkey: ::prost::alloc::vec::Vec<u8>,
    #[prost(bytes="vec", tag="3")]
    pub ecdsa_pubkey: ::prost::alloc::vec::Vec<u8>,
    #[prost(string, tag="4")]
    pub key_type: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgRegisterPqcKeyResponse {
}
/// MsgRegisterPQCKeyV2 registers a PQC key with explicit algorithm selection.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRegisterPqcKeyV2 {
    #[prost(string, tag="1")]
    pub sender: ::prost::alloc::string::String,
    #[prost(bytes="vec", tag="2")]
    pub public_key: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag="3")]
    pub algorithm_id: u32,
    #[prost(bytes="vec", tag="4")]
    pub ecdsa_pubkey: ::prost::alloc::vec::Vec<u8>,
    #[prost(string, tag="5")]
    pub key_type: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgRegisterPqcKeyV2Response {
}
/// MsgMigratePQCKey migrates an account's PQC key, proving ownership of both keys.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgMigratePqcKey {
    #[prost(string, tag="1")]
    pub sender: ::prost::alloc::string::String,
    #[prost(bytes="vec", tag="2")]
    pub old_public_key: ::prost::alloc::vec::Vec<u8>,
    #[prost(bytes="vec", tag="3")]
    pub new_public_key: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag="4")]
    pub new_algorithm_id: u32,
    #[prost(bytes="vec", tag="5")]
    pub old_signature: ::prost::alloc::vec::Vec<u8>,
    #[prost(bytes="vec", tag="6")]
    pub new_signature: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgMigratePqcKeyResponse {
}
/// MsgRotatePQCKey replaces an account's PQC key with a new key of the SAME
/// algorithm. Both signatures are over the domain-separated bytes
/// "qorechain-pqc-rotate-v1|chainid|algo|account|oldkey|newkey" (no block height —
/// the signer cannot predict it; replay is prevented because after the rotation
/// the old key no longer matches the registered key).
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRotatePqcKey {
    #[prost(string, tag="1")]
    pub sender: ::prost::alloc::string::String,
    #[prost(bytes="vec", tag="2")]
    pub old_public_key: ::prost::alloc::vec::Vec<u8>,
    #[prost(bytes="vec", tag="3")]
    pub new_public_key: ::prost::alloc::vec::Vec<u8>,
    #[prost(bytes="vec", tag="4")]
    pub old_signature: ::prost::alloc::vec::Vec<u8>,
    #[prost(bytes="vec", tag="5")]
    pub new_signature: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgRotatePqcKeyResponse {
}
/// MsgDeprecateAlgorithm proposes deprecating an algorithm (starts migration period).
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgDeprecateAlgorithm {
    #[prost(string, tag="1")]
    pub authority: ::prost::alloc::string::String,
    #[prost(uint32, tag="2")]
    pub algorithm_id: u32,
    #[prost(int64, tag="3")]
    pub migration_blocks: i64,
    #[prost(uint32, tag="4")]
    pub replacement_algorithm_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgDeprecateAlgorithmResponse {
}
/// MsgDisableAlgorithm emergency-disables an algorithm (e.g., vulnerability discovered).
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgDisableAlgorithm {
    #[prost(string, tag="1")]
    pub authority: ::prost::alloc::string::String,
    #[prost(uint32, tag="2")]
    pub algorithm_id: u32,
    #[prost(string, tag="3")]
    pub reason: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgDisableAlgorithmResponse {
}
// @@protoc_insertion_point(module)