Files
khadhroony-bot3/ks-lib/src/model/nomenclature.rs
2026-08-10 11:21:07 +02:00

80 lines
2.3 KiB
Rust

// file: ks-lib/src/model/nomenclature.rs
// version: 7
//! Shared protocol, surface, and event nomenclature types.
/// Stable internal program code.
#[derive(Clone, Debug, Eq, PartialEq, Hash, serde::Deserialize, serde::Serialize)]
pub struct MdProgramCode(pub std::string::String);
/// Protocol family code, for example `raydium` or `meteora`.
#[derive(Clone, Debug, Eq, PartialEq, Hash, serde::Deserialize, serde::Serialize)]
pub struct MdProtocolCode(pub std::string::String);
/// Concrete protocol surface code, for example `raydium_amm_v4`.
#[derive(Clone, Debug, Eq, PartialEq, Hash, serde::Deserialize, serde::Serialize)]
pub struct MdSurfaceCode(pub std::string::String);
/// Event name without surface prefix.
#[derive(Clone, Debug, Eq, PartialEq, Hash, serde::Deserialize, serde::Serialize)]
pub struct MdEventName(pub std::string::String);
/// Canonical event code in `<surface_code>.<event_name>` format.
#[derive(Clone, Debug, Eq, PartialEq, Hash, serde::Deserialize, serde::Serialize)]
pub struct MdEventCode(pub std::string::String);
/// High-level event family.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash, serde::Deserialize, serde::Serialize)]
pub enum MdEventFamily {
/// Swap or buy/sell event.
Trade,
/// Liquidity deposit/withdraw or equivalent.
Liquidity,
/// Pool, market, curve, or config lifecycle event.
Lifecycle,
/// Fee claim, collection, sweep, or update.
Fee,
/// Admin or authority event.
Admin,
/// Reward event.
Reward,
/// Orderbook event.
Orderbook,
/// Token account event.
TokenAccount,
/// Token mint event.
TokenMint,
/// Token burn event.
TokenBurn,
/// NFT event.
Nft,
/// Token or NFT metadata event.
Metadata,
/// Oracle event.
Oracle,
/// Lending or borrowing event.
Lending,
/// Staking event.
Staking,
/// Governance event.
Governance,
/// Bridge event.
Bridge,
/// Perpetuals or derivatives event.
Perpetuals,
/// Vault event.
Vault,
/// Router or aggregator event.
Routing,
/// Compliance audit event.
ComplianceAudit,
/// Token metadata risk event.
TokenMetadataRisk,
/// Risk signal.
Risk,
/// Audit-only event.
Audit,
/// Unknown family.
Unknown,
}