// 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 `.` 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, }