// file: crates/ksp-raw-transaction-lib/src/lib.rs // version: 4 #![warn(missing_docs)] #![deny(unreachable_pub)] #![forbid(unsafe_code)] //! Source-neutral canonicalization of complete Solana transactions into KSP RAW transaction v1. //! //! This lower layer owns the frozen RAW transaction format, textual signature parsing/formatting, canonical //! JSON construction, content hashing and assembly of one canonical transaction with one //! producer-owned observation. It owns no Transport, Config, Job, Worker, async runtime or Store //! backend behavior. mod acquisition; mod canonical; mod error; mod signature; mod wire; /// Complete source-neutral RAW transaction acquisition containing one canonical entity and one producer-owned observation. pub use self::acquisition::RawTransactionAcquisition; /// Assembles one canonical transaction with a producer-owned observation key and safe acquisition provenance. pub use self::acquisition::assemble_raw_transaction_acquisition; /// KSP-owned source-independent RAW transaction format identifier. pub use self::canonical::RAW_TRANSACTION_FORMAT_ID; /// Frozen KSP-owned RAW transaction format version. pub use self::canonical::RAW_TRANSACTION_FORMAT_VERSION; /// Complete source-neutral material required to construct one canonical RAW transaction. pub use self::canonical::RawTransactionMaterial; /// Canonical Solana transaction version admitted by RAW transaction format v1. pub use self::canonical::RawTransactionVersion; /// Source-wire presence state preserving omitted, explicit null and concrete values independently. pub use self::canonical::RawTransactionWireField; /// Canonicalizes complete source-neutral transaction material into the frozen KSP RAW transaction v1 representation. pub use self::canonical::canonicalize_raw_transaction; /// Error code used when RAW v1 canonical payload construction cannot preserve the frozen format contract. pub use self::error::ERROR_CODE_RAW_TRANSACTION_CANONICALIZATION_INVALID; /// Error code used when source-neutral RAW transaction material violates a bounded semantic invariant. pub use self::error::ERROR_CODE_RAW_TRANSACTION_MATERIAL_INVALID; /// Error code used when Solana transaction signature material cannot resolve to exactly 64 canonical bytes. pub use self::error::ERROR_CODE_RAW_TRANSACTION_SIGNATURE_INVALID; /// Maximum UTF-8 byte length admitted for one textual Base58 Solana transaction signature. pub use self::signature::MAX_RAW_TRANSACTION_SIGNATURE_TEXT_BYTES; /// Minimum UTF-8 byte length admitted for one textual Base58 Solana transaction signature. pub use self::signature::MIN_RAW_TRANSACTION_SIGNATURE_TEXT_BYTES; /// Extracts the first canonical 64-byte Solana signature from one complete Base64 transaction wire. pub use self::signature::extract_raw_transaction_signature_from_binary_base64; /// Encodes one canonical 64-byte Solana transaction signature as bounded Base58 text. pub use self::signature::format_raw_transaction_signature; /// Parses one bounded Base58 Solana transaction signature to exactly 64 canonical bytes. pub use self::signature::parse_raw_transaction_signature; /// One source-neutral v0 address-table lookup. pub use self::wire::RawSolanaAddressTableLookup; /// One source-neutral compiled Solana instruction. pub use self::wire::RawSolanaCompiledInstruction; /// Source-neutral Solana message header. pub use self::wire::RawSolanaMessageHeader; /// Source-neutral Solana transaction message version. pub use self::wire::RawSolanaMessageVersion; /// Optional source-neutral Transaction V1 inline configuration. pub use self::wire::RawSolanaTransactionConfig; /// Complete source-neutral Solana transaction message. pub use self::wire::RawSolanaTransactionMessage; /// Complete source-neutral Solana transaction wire material. pub use self::wire::RawSolanaTransactionWire; /// Serializes one source-neutral Solana transaction to exact canonical wire bytes. pub use self::wire::serialize_solana_transaction_wire; /// Serializes one source-neutral Solana transaction to canonical padded standard Base64. pub use self::wire::serialize_solana_transaction_wire_base64; /// Creates a safe canonicalization error without copying source payload material. pub(crate) use self::error::canonicalization_error; /// Creates a safe source-material error without copying source payload material. pub(crate) use self::error::material_error; /// Creates a safe signature error without copying textual signature material. pub(crate) use self::error::signature_error;