This commit is contained in:
2026-07-23 16:37:12 +02:00
parent 99c345f2f2
commit 0da75c1311
2159 changed files with 230833 additions and 0 deletions

198
kb-lib/src/lib.rs Normal file
View File

@@ -0,0 +1,198 @@
// file: kb-lib/src/lib.rs
// version: 3
//! Consolidated decoder, executor, materializer and shared model library.
#![warn(missing_docs)]
#![deny(unreachable_pub)]
#![forbid(unsafe_code)]
pub mod decoder;
pub mod executor;
pub mod materializer;
pub mod model;
/// Canonical tracing target for the consolidated library.
pub(crate) use crate::decoder::api::constants::TRACING_TARGET;
/// Canonical tracing target for this crate.
/// Current contextual core instruction input contract version.
pub use crate::decoder::api::contracts::CORE_INSTRUCTION_INPUT_CONTRACT_VERSION;
/// Stable contextual decoded observation.
pub use crate::decoder::api::contracts::DecodedObservation;
/// Machine-readable decoder coverage declaration.
pub use crate::decoder::api::contracts::DecoderCoverageDeclaration;
/// Declared decoder coverage entry kind.
pub use crate::decoder::api::contracts::DecoderCoverageEntryKind;
/// Structured decoder diagnostic.
pub use crate::decoder::api::contracts::DecoderDiagnostic;
/// Complete decoder execution result.
pub use crate::decoder::api::contracts::DecoderExecutionResult;
/// Stable decoder identity.
pub use crate::decoder::api::contracts::DecoderIdentity;
/// Decoder terminal result status.
pub use crate::decoder::api::contracts::DecoderOutcomeStatus;
/// Explicit decoding proof.
pub use crate::decoder::api::contracts::DecoderProof;
/// Decoding proof category.
pub use crate::decoder::api::contracts::DecoderProofKind;
/// Deterministic decoder recognition result.
pub use crate::decoder::api::contracts::DecoderRecognition;
/// One statically declared decoder surface.
pub use crate::decoder::api::contracts::DecoderSurface;
/// Contextual instruction decoder contract.
pub use crate::decoder::api::contracts::InstructionDecoder;
/// Computes the deterministic contextual input hash.
pub use crate::decoder::api::contracts::contextual_input_hash;
/// Returns true when a decoder declares the exact program id.
pub use crate::decoder::api::contracts::decoder_handles_program_id;
/// Computes a deterministic lowercase SHA-256 hash for one JSON value.
pub use crate::decoder::api::contracts::deterministic_json_hash;
/// Extracts the first eight payload bytes as hexadecimal when available.
pub use crate::decoder::api::contracts::discriminator_8_hex;
/// Exposes the decoder support level.
pub use crate::decoder::api::decoder::DecoderSupport;
/// Initial decoder implementation placeholder for API-level tests.
pub use crate::decoder::api::decoder::InitialDecoder;
/// Exposes the common protocol decoder trait.
pub use crate::decoder::api::decoder::ProtocolDecoder;
/// Exposes the blockhash policy kind.
pub use crate::executor::api::execution::ExecutionBlockhashKind;
/// Exposes the blockhash policy.
pub use crate::executor::api::execution::ExecutionBlockhashPolicy;
/// Exposes the exact execution capability result.
pub use crate::executor::api::execution::ExecutionCapability;
/// Exposes supported Solana clusters.
pub use crate::executor::api::execution::ExecutionCluster;
/// Exposes cluster restrictions.
pub use crate::executor::api::execution::ExecutionClusterPolicy;
/// Exposes the result of waiting for transaction confirmation.
pub use crate::executor::api::execution::ExecutionConfirmationResult;
/// Exposes transaction confirmation states.
pub use crate::executor::api::execution::ExecutionConfirmationStatus;
/// Exposes explicit execution cost ceilings.
pub use crate::executor::api::execution::ExecutionCostLimit;
/// Exposes the complete execution policy.
pub use crate::executor::api::execution::ExecutionPolicy;
/// Exposes the result of a transaction send adapter.
pub use crate::executor::api::execution::ExecutionSendResult;
/// Exposes the simulation policy.
pub use crate::executor::api::execution::ExecutionSimulationPolicy;
/// Exposes the simulation result contract.
pub use crate::executor::api::execution::ExecutionSimulationResult;
/// Exposes one planned instruction account.
pub use crate::executor::api::execution::PlannedAccount;
/// Exposes one encoded planned instruction.
pub use crate::executor::api::execution::PlannedInstruction;
/// Exposes post-execution replay diagnostics.
pub use crate::executor::api::execution::PostExecutionDiagnostic;
/// Exposes post-execution validation requirements.
pub use crate::executor::api::execution::PostExecutionValidationPolicy;
/// Exposes a typed execution plan.
pub use crate::executor::api::execution::PreparedExecutionPlan;
/// Exposes one required signer.
pub use crate::executor::api::execution::RequiredSigner;
/// Exposes the typed executor contract.
pub use crate::executor::api::execution::TypedInstructionExecutor;
/// Exposes the legacy common execution plan type.
pub use crate::executor::api::executor::ExecutionPlan;
/// Exposes the legacy common execution request type.
pub use crate::executor::api::executor::ExecutionRequest;
/// Exposes the legacy common execution support enum.
pub use crate::executor::api::executor::ExecutionSupport;
/// Exposes the legacy common instruction executor trait.
pub use crate::executor::api::executor::InstructionExecutor;
/// Exposes the compact JSON payload serializer.
pub use crate::executor::api::executor::serialize_payload_json;
/// Exposes the pretty JSON payload serializer.
pub use crate::executor::api::executor::serialize_payload_json_pretty;
/// Stable decoded observation materializer contract used by the common pipeline.
pub use crate::materializer::api::contracts::EventMaterializer;
/// Explicit policy applied to successful and failed source transactions.
pub use crate::materializer::api::contracts::MaterializationTransactionPolicy;
/// Stable processor-owned business output derived from one decoded observation.
pub use crate::materializer::api::contracts::MaterializedOutput;
/// Structured materializer diagnostic without generic error wrappers.
pub use crate::materializer::api::contracts::MaterializerDiagnostic;
/// Complete explicit result produced by one materializer invocation.
pub use crate::materializer::api::contracts::MaterializerExecutionResult;
/// Stable identity of one decoded event materializer.
pub use crate::materializer::api::contracts::MaterializerIdentity;
/// Terminal materializer result status.
pub use crate::materializer::api::contracts::MaterializerOutcomeStatus;
/// Returns true when a materializer explicitly accepts one decoded family.
pub use crate::materializer::api::contracts::materializer_accepts_family;
/// Returns true when a materializer accepts one exact decoded observation.
pub use crate::materializer::api::contracts::materializer_accepts_observation;
/// Applies the mandatory source transaction policy before materialization.
pub use crate::materializer::api::contracts::validate_materialization_policy;
/// Rejects mutable business outputs derived from failed or uncommitted observations.
pub use crate::materializer::api::contracts::validate_materialized_output_policy;
/// Exposes the legacy common business materializer trait.
pub use crate::materializer::api::materializer::Materializer;
/// Current canonical transaction document version.
pub use crate::model::canonical_transaction::CANONICAL_TRANSACTION_FORMAT_VERSION;
/// Canonical address lookup table reference.
pub use crate::model::canonical_transaction::CanonicalAddressTableLookup;
/// Canonical compiled Solana instruction.
pub use crate::model::canonical_transaction::CanonicalCompiledInstruction;
/// Canonical group of inner instructions.
pub use crate::model::canonical_transaction::CanonicalInnerInstructionGroup;
/// Canonical runtime-loaded addresses.
pub use crate::model::canonical_transaction::CanonicalLoadedAddresses;
/// Canonical Solana message header.
pub use crate::model::canonical_transaction::CanonicalMessageHeader;
/// Canonical transaction return data.
pub use crate::model::canonical_transaction::CanonicalReturnData;
/// Canonical transaction reward.
pub use crate::model::canonical_transaction::CanonicalReward;
/// Canonical exact token balance.
pub use crate::model::canonical_transaction::CanonicalTokenBalance;
/// Source-independent canonical Solana transaction.
pub use crate::model::canonical_transaction::CanonicalTransaction;
/// Canonical Solana transaction message.
pub use crate::model::canonical_transaction::CanonicalTransactionMessage;
/// Canonical Solana transaction execution metadata.
pub use crate::model::canonical_transaction::CanonicalTransactionMetadata;
/// Canonical Solana transaction execution status.
pub use crate::model::canonical_transaction::CanonicalTransactionStatus;
/// Canonical Solana transaction version.
pub use crate::model::canonical_transaction::CanonicalTransactionVersion;
/// Protocol-level decoded event produced by a decoder.
pub use crate::model::decoded::DecodedProtocolEvent;
/// Confidence level for a decoded event.
pub use crate::model::decoded::DecoderConfidence;
/// Source from which a decoded event was derived.
pub use crate::model::decoded::EventSourceKind;
/// Business-level materialized event placeholder.
pub use crate::model::materialized::MaterializedEvent;
/// Materialized event family.
pub use crate::model::materialized::MaterializedEventFamily;
/// Canonical event code in `<surface_code>.<event_name>` format.
pub use crate::model::nomenclature::EventCode;
/// High-level event family.
pub use crate::model::nomenclature::EventFamily;
/// Event name without surface prefix.
pub use crate::model::nomenclature::EventName;
/// Stable internal program code.
pub use crate::model::nomenclature::ProgramCode;
/// Protocol family code, for example `raydium` or `meteora`.
pub use crate::model::nomenclature::ProtocolCode;
/// Concrete protocol surface code, for example `raydium_amm_v4`.
pub use crate::model::nomenclature::SurfaceCode;
/// Generic program observation derived from a Solana instruction.
pub use crate::model::observation::ProgramObservation;
/// Source-neutral replay contracts.
/// Version of the normalized core replay contract.
pub use crate::model::replay::CORE_REPLAY_INPUT_CONTRACT_VERSION;
/// Decoder replay input containing one instruction plus extracted transaction context.
pub use crate::model::replay::CoreInstructionReplayInput;
/// Stable top-level or inner instruction path.
pub use crate::model::solana::InstructionPath;
/// Solana program id.
pub use crate::model::solana::ProgramId;
/// Solana public key.
pub use crate::model::solana::Pubkey;
/// Solana transaction signature.
pub use crate::model::solana::Signature;
/// Solana slot.
pub use crate::model::solana::Slot;