// file: crates/ksp-interface-lib/src/lib.rs // version: 5 #![warn(missing_docs)] #![deny(unreachable_pub)] #![forbid(unsafe_code)] //! Passive contracts shared across KSP component boundaries. //! //! The crate reuses canonical Solana primitives owned by `ksp-core-lib` and //! exposes only bounded, passive Program-facing and provider-neutral //! acquisition structures. Runtime, transport, persistence and Program //! behavior remain outside this crate. mod error; mod program_account_meta; mod program_instruction; mod slot_lifecycle; mod transaction_execution; /// Error code used when an Interface-owned Program instruction admission limit is exceeded. pub use self::error::ERROR_CODE_PROGRAM_INSTRUCTION_LIMIT_EXCEEDED; /// Maximum number of account metas admitted by one passive Program instruction contract. pub use self::program_account_meta::MAX_PROGRAM_INSTRUCTION_ACCOUNTS; /// Passive account metadata attached to one Program instruction. pub use self::program_account_meta::ProgramAccountMeta; /// Maximum opaque data payload admitted by one passive Program instruction contract. pub use self::program_instruction::MAX_PROGRAM_INSTRUCTION_DATA_LEN; /// Passive, bounded Program instruction wire contract. pub use self::program_instruction::ProgramInstruction; /// Passive provider-neutral occurrence of one slot lifecycle stage. pub use self::slot_lifecycle::SlotLifecycleEvent; /// Provider-neutral stage in the lifecycle of an observed Solana slot. pub use self::slot_lifecycle::SlotLifecycleStage; /// Passive provider-neutral observation of one transaction execution result. pub use self::transaction_execution::TransactionExecutionEvent; /// Provider-neutral outcome of one observed transaction execution. pub use self::transaction_execution::TransactionExecutionOutcome; /// Canonical 64-byte Solana transaction signature used by passive Interface events. pub use self::transaction_execution::TransactionSignature; /// Canonical Solana account address primitive owned by `ksp-core-lib`. pub use ksp_core_lib::Pubkey;