32 lines
756 B
Rust
32 lines
756 B
Rust
// file: kb-core/src/module.rs
|
|
// version: 1
|
|
|
|
//! Module identity and module-kind primitives.
|
|
|
|
/// Stable module name.
|
|
#[derive(Clone, Debug, Eq, PartialEq)]
|
|
pub struct ModuleName(pub std::string::String);
|
|
|
|
/// Stable semantic module version.
|
|
#[derive(Clone, Debug, Eq, PartialEq)]
|
|
pub struct ModuleVersion(pub std::string::String);
|
|
|
|
/// Processing module category.
|
|
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
|
pub enum ModuleKind {
|
|
/// Raw transaction ingestion.
|
|
Ingestor,
|
|
/// Generic Solana extractor.
|
|
Extractor,
|
|
/// Program observation builder.
|
|
Observer,
|
|
/// Protocol decoder.
|
|
Decoder,
|
|
/// Business materializer.
|
|
Materializer,
|
|
/// Aggregation stage.
|
|
Aggregator,
|
|
/// Validation stage.
|
|
Validator,
|
|
}
|