v0.3.10-pre.002
This commit is contained in:
54
crates/ksp-raw-transaction-lib/src/lib.rs
Normal file
54
crates/ksp-raw-transaction-lib/src/lib.rs
Normal file
@@ -0,0 +1,54 @@
|
||||
// file: crates/ksp-raw-transaction-lib/src/lib.rs
|
||||
// version: 1
|
||||
|
||||
#![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, 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;
|
||||
|
||||
/// 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 textual Solana transaction signature material cannot decode 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;
|
||||
/// Parses one bounded Base58 Solana transaction signature to exactly 64 canonical bytes.
|
||||
pub use self::signature::parse_raw_transaction_signature;
|
||||
|
||||
/// 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;
|
||||
Reference in New Issue
Block a user