nklave_cosmos/lib.rs
1//! Nklave Cosmos - Remote signer protocol handler for Cosmos/CometBFT
2//!
3//! This crate implements the Tendermint private validator protocol (privval),
4//! allowing Nklave to serve as a remote signer for Cosmos validators.
5//!
6//! # Protocol Support
7//!
8//! - gRPC PrivValidatorAPI service
9//! - PubKeyRequest/Response
10//! - SignVoteRequest/Response
11//! - SignProposalRequest/Response
12//! - Ping/Pong keepalive
13//!
14//! # Usage
15//!
16//! ```ignore
17//! use nklave_cosmos::{CosmosServer, CosmosServerConfig};
18//! use nklave_core::SigningService;
19//!
20//! let config = CosmosServerConfig {
21//! listen_addr: "[::1]:26659".to_string(),
22//! chain_id: "cosmoshub-4".to_string(),
23//! };
24//!
25//! let server = CosmosServer::new(signing_service, config);
26//! server.serve().await?;
27//! ```
28
29pub mod error;
30pub mod server;
31pub mod service;
32pub mod types;
33
34pub use error::CosmosError;
35pub use server::{CosmosServer, CosmosServerConfig, CosmosServerHandle};
36pub use service::CosmosSigningService;
37pub use types::{SignedMsgType, VoteInfo, ProposalInfo};