Skip to main content

Crate nklave_core

Crate nklave_core 

Source
Expand description

Nklave Core - Signing logic and slashing protection rules

This crate provides the core functionality for the Nklave signing security layer:

  • BLS key management and signing
  • Ethereum slashing protection policy enforcement
  • Validator state management
  • State integrity and hash chaining
  • Signing service orchestration
  • Prometheus metrics

Re-exports§

pub use keys::bls::BlsKeypair;
pub use keys::bls::BlsPublicKey;
pub use keys::bls::BlsSecretKey;
pub use keys::bls::BlsSignature;
pub use keys::ed25519::Ed25519Keypair;
pub use keys::ed25519::Ed25519PublicKey;
pub use keys::ed25519::Ed25519SecretKey;
pub use keys::ed25519::Ed25519Signature;
pub use keys::keystore::load_keystores_from_dir;
pub use keys::keystore::Keystore;
pub use keys::keystore::KeystoreError;
pub use policy::cosmos::CosmosPolicy;
pub use policy::ethereum::EthereumPolicy;
pub use policy::types::ChainType;
pub use policy::types::PolicyDecision;
pub use policy::types::RefusalCode;
pub use policy::types::SigningType;
pub use service::SharedSigningService;
pub use service::SigningResult;
pub use service::SigningService;
pub use service::SigningServiceError;
pub use state::integrity::DecisionRecord;
pub use state::integrity::StateIntegrity;
pub use state::validator::AttestationHistory;
pub use state::validator::ChainState;
pub use state::validator::CosmosSignedMsgType;
pub use state::validator::CosmosSignedVote;
pub use state::validator::CosmosState;
pub use state::validator::EthereumState;
pub use state::validator::ValidatorState;
pub use replication::failover::FailoverConfig;
pub use replication::failover::FailoverCoordinator;
pub use replication::failover::FailoverError;
pub use replication::failover::FailoverState;
pub use replication::failover::NodeRole;
pub use replication::heartbeat::HeartbeatCheckHandle;
pub use replication::heartbeat::HeartbeatConfig;
pub use replication::heartbeat::HeartbeatMonitor;
pub use replication::passive::PassiveConfig;
pub use replication::passive::PassiveError;
pub use replication::passive::PassiveHandle;
pub use replication::passive::PassiveReceiver;
pub use replication::primary::ReplicationError;
pub use replication::primary::ReplicatorConfig;
pub use replication::primary::ReplicatorHandle;
pub use replication::primary::StateReplicator;
pub use replication::protocol::AckMessage;
pub use replication::protocol::ErrorCode;
pub use replication::protocol::ErrorMessage;
pub use replication::protocol::FencingToken;
pub use replication::protocol::Heartbeat;
pub use replication::protocol::HelloMessage;
pub use replication::protocol::ReplicationMessage;
pub use replication::protocol::SyncRequest;
pub use replication::protocol::SyncResponse;
pub use replication::protocol::PROTOCOL_VERSION;

Modules§

keys
Key management modules
metrics
Metrics for the signing service
policy
Slashing policy enforcement modules
replication
Active/Passive replication and failover management
service
Signing service that orchestrates the complete signing flow
state
Safety state management modules