Files
khadhroony-bot3/kb-pipeline/src/lib.rs
2026-08-06 06:12:54 +02:00

311 lines
19 KiB
Rust

// file: kb-pipeline/src/lib.rs
// version: 20
#![forbid(unsafe_code)]
#![deny(unreachable_pub)]
#![warn(missing_docs)]
//! Pipeline orchestration boundary.
mod backfill;
mod constants;
mod core_extraction;
mod decode_replay;
mod metadata_metaplex_token_metadata_execution_orchestration;
mod metadata_metaplex_token_metadata_preflight;
mod metadata_metaplex_token_metadata_stateful;
mod metadata_solana_program_execution_orchestration;
mod metadata_solana_program_preflight;
mod metadata_solana_program_stateful;
mod plan;
mod solana_stateful;
mod spl_ata_stateful;
mod spl_elgamal_registry_stateful;
mod spl_token_2022_correlation;
mod spl_token_2022_crypto_preflight;
mod spl_token_2022_execution_orchestration;
mod spl_token_2022_preflight;
mod spl_token_2022_proof_orchestration;
mod spl_token_2022_stateful;
mod spl_token_stateful;
/// Address category used by one targeted backfill campaign.
pub use self::backfill::BackfillAddressKind;
/// Chronological direction relative to one anchor signature.
pub use self::backfill::BackfillDirection;
/// Observer notified during HTTP backfill campaigns.
pub use self::backfill::BackfillObserver;
/// Progress event emitted by HTTP backfill campaigns.
pub use self::backfill::BackfillProgressEvent;
/// Severity of one HTTP backfill progress event.
pub use self::backfill::BackfillProgressLevel;
/// Complete bounded HTTP backfill request.
pub use self::backfill::BackfillRequest;
/// Candidate source used by one HTTP backfill campaign.
pub use self::backfill::BackfillSource;
/// Summary returned by one HTTP backfill campaign.
pub use self::backfill::BackfillSummary;
/// Executes one bounded HTTP transaction backfill campaign.
pub use self::backfill::execute_http_backfill;
/// Stable core extraction processor name.
pub use self::core_extraction::CORE_EXTRACTION_PROCESSOR_NAME;
/// Stable core extraction processor version.
pub use self::core_extraction::CORE_EXTRACTION_PROCESSOR_VERSION;
/// Stable core extraction stage code.
pub use self::core_extraction::CORE_EXTRACTION_STAGE;
/// Observer notified during core extraction campaigns.
pub use self::core_extraction::CoreExtractionObserver;
/// Progress event emitted by core extraction campaigns.
pub use self::core_extraction::CoreExtractionProgressEvent;
/// Severity of one core extraction progress event.
pub use self::core_extraction::CoreExtractionProgressLevel;
/// Bounded core extraction request.
pub use self::core_extraction::CoreExtractionRequest;
/// Source selection for a core extraction campaign.
pub use self::core_extraction::CoreExtractionSource;
/// Summary returned by a core extraction campaign.
pub use self::core_extraction::CoreExtractionSummary;
/// Executes one bounded core extraction campaign.
pub use self::core_extraction::execute_core_extraction;
/// Extracts one canonical raw transaction into normalized core rows.
pub use self::core_extraction::extract_raw_transaction_to_core;
/// Current common decode pipeline orchestration version.
pub use self::decode_replay::DECODE_PIPELINE_VERSION;
/// Deterministic decoder dispatch policy.
pub use self::decode_replay::DecodeDispatchPolicy;
/// Per-decoder terminal counters.
pub use self::decode_replay::DecodeProcessorSummary;
/// Decode replay observer contract.
pub use self::decode_replay::DecodeReplayObserver;
/// Decode replay progress event.
pub use self::decode_replay::DecodeReplayProgressEvent;
/// Decode replay progress severity.
pub use self::decode_replay::DecodeReplayProgressLevel;
/// Bounded contextual decode replay request.
pub use self::decode_replay::DecodeReplayRequest;
/// Final contextual decode replay summary.
pub use self::decode_replay::DecodeReplaySummary;
/// Stable materialization processing stage.
pub use self::decode_replay::EVENT_MATERIALIZATION_STAGE;
/// Stable instruction decode processing stage.
pub use self::decode_replay::INSTRUCTION_DECODE_STAGE;
/// Executes one contextual decode replay campaign.
pub use self::decode_replay::execute_decode_replay;
/// Creates one stable process-local decode campaign identifier.
pub use self::decode_replay::new_decode_campaign_id;
/// Maximum number of resolved signers accepted by one Metaplex execution envelope.
pub use self::metadata_metaplex_token_metadata_execution_orchestration::MAX_METAPLEX_TOKEN_METADATA_EXECUTION_SIGNERS;
/// Deterministic Metaplex execution-readiness report.
pub use self::metadata_metaplex_token_metadata_execution_orchestration::MetaplexTokenMetadataExecutionReadinessReport;
/// Complete Metaplex execution-readiness request.
pub use self::metadata_metaplex_token_metadata_execution_orchestration::MetaplexTokenMetadataExecutionReadinessRequest;
/// Result of one Metaplex stateful postcondition.
pub use self::metadata_metaplex_token_metadata_execution_orchestration::MetaplexTokenMetadataPostconditionStatus;
/// Aggregates Metaplex postconditions without inventing success.
pub use self::metadata_metaplex_token_metadata_execution_orchestration::summarize_metaplex_token_metadata_postconditions;
/// Validates the complete Metaplex execution envelope before signing.
pub use self::metadata_metaplex_token_metadata_execution_orchestration::validate_metaplex_token_metadata_execution_readiness;
/// Maximum number of correlated Metaplex snapshots accepted by one preflight.
pub use self::metadata_metaplex_token_metadata_preflight::MAX_METAPLEX_TOKEN_METADATA_PREFLIGHT_ACCOUNTS;
/// Deterministic Metaplex preflight report.
pub use self::metadata_metaplex_token_metadata_preflight::MetaplexTokenMetadataPreflightReport;
/// Complete Metaplex preflight request.
pub use self::metadata_metaplex_token_metadata_preflight::MetaplexTokenMetadataPreflightRequest;
/// Inspects one prepared Metaplex plan against confirmed state snapshots.
pub use self::metadata_metaplex_token_metadata_preflight::inspect_metaplex_token_metadata_preflight;
/// Maximum complete Metaplex account data accepted by one RPC read.
pub use self::metadata_metaplex_token_metadata_stateful::MAX_METAPLEX_TOKEN_METADATA_ACCOUNT_BYTES;
/// Supported Metaplex account category for one stateful read.
pub use self::metadata_metaplex_token_metadata_stateful::MetaplexTokenMetadataAccountKind;
/// One bounded Metaplex stateful read request.
pub use self::metadata_metaplex_token_metadata_stateful::MetaplexTokenMetadataStatefulReadRequest;
/// One bounded Metaplex stateful read result.
pub use self::metadata_metaplex_token_metadata_stateful::MetaplexTokenMetadataStatefulReadResult;
/// Canonical bounded Metaplex state snapshot.
pub use self::metadata_metaplex_token_metadata_stateful::MetaplexTokenMetadataStatefulSnapshot;
/// Validates one RPC account response and delegates parsing to `kb-lib`.
pub use self::metadata_metaplex_token_metadata_stateful::materialize_metaplex_token_metadata_account_info_result;
/// Reads one bounded Metaplex Token Metadata account.
pub use self::metadata_metaplex_token_metadata_stateful::read_metaplex_token_metadata_stateful_snapshot;
/// Maximum number of resolved signers accepted by one Program Metadata execution envelope.
pub use self::metadata_solana_program_execution_orchestration::MAX_SOLANA_PROGRAM_METADATA_EXECUTION_SIGNERS;
/// Complete Program Metadata execution-readiness report.
pub use self::metadata_solana_program_execution_orchestration::SolanaProgramMetadataExecutionReadinessReport;
/// Complete Program Metadata execution-readiness request.
pub use self::metadata_solana_program_execution_orchestration::SolanaProgramMetadataExecutionReadinessRequest;
/// Complete Program Metadata post-execution report.
pub use self::metadata_solana_program_execution_orchestration::SolanaProgramMetadataPostExecutionReport;
/// Complete Program Metadata post-execution request.
pub use self::metadata_solana_program_execution_orchestration::SolanaProgramMetadataPostExecutionRequest;
/// One Program Metadata postcondition.
pub use self::metadata_solana_program_execution_orchestration::SolanaProgramMetadataPostcondition;
/// Program Metadata postcondition status.
pub use self::metadata_solana_program_execution_orchestration::SolanaProgramMetadataPostconditionStatus;
/// Inspects confirmed Program Metadata post-execution state.
pub use self::metadata_solana_program_execution_orchestration::inspect_solana_program_metadata_post_execution;
/// Aggregates Program Metadata postconditions without invented success.
pub use self::metadata_solana_program_execution_orchestration::summarize_solana_program_metadata_postconditions;
/// Validates the complete Program Metadata execution envelope before signing.
pub use self::metadata_solana_program_execution_orchestration::validate_solana_program_metadata_execution_readiness;
/// Maximum number of bounded account snapshots accepted by one Program Metadata preflight.
pub use self::metadata_solana_program_preflight::MAX_SOLANA_PROGRAM_METADATA_PREFLIGHT_ACCOUNTS;
/// Deterministic Program Metadata preflight report.
pub use self::metadata_solana_program_preflight::SolanaProgramMetadataPreflightReport;
/// Complete Program Metadata preflight request.
pub use self::metadata_solana_program_preflight::SolanaProgramMetadataPreflightRequest;
/// One Program Metadata rent-exemption observation.
pub use self::metadata_solana_program_preflight::SolanaProgramMetadataRentObservation;
/// Inspects one Program Metadata plan against confirmed state.
pub use self::metadata_solana_program_preflight::inspect_solana_program_metadata_preflight;
/// Maximum complete Program Metadata account data accepted by one RPC read.
pub use self::metadata_solana_program_stateful::MAX_SOLANA_PROGRAM_METADATA_STATEFUL_ACCOUNT_BYTES;
/// Expected Program Metadata account state.
pub use self::metadata_solana_program_stateful::SolanaProgramMetadataExpectedAccountState;
/// Observed Program Metadata account state.
pub use self::metadata_solana_program_stateful::SolanaProgramMetadataObservedAccountState;
/// One bounded Program Metadata stateful read request.
pub use self::metadata_solana_program_stateful::SolanaProgramMetadataStatefulReadRequest;
/// One bounded Program Metadata stateful read result.
pub use self::metadata_solana_program_stateful::SolanaProgramMetadataStatefulReadResult;
/// Validates one Program Metadata RPC response and materializes its account state.
pub use self::metadata_solana_program_stateful::materialize_solana_program_metadata_account_info_result;
/// Reads one bounded Program Metadata account.
pub use self::metadata_solana_program_stateful::read_solana_program_metadata_stateful_snapshot;
/// Pipeline stage identifier.
pub use self::plan::PipelineStage;
/// Replay selection scope.
pub use self::plan::ReplayScope;
/// One machine-readable native Solana stateful readiness check.
pub use self::solana_stateful::SolanaCoreStatefulCheck;
/// One contextual fact measured during native Solana stateful readiness.
pub use self::solana_stateful::SolanaCoreStatefulFact;
/// Native Solana stateful readiness report.
pub use self::solana_stateful::SolanaCoreStatefulReadinessReport;
/// Native Solana stateful readiness request.
pub use self::solana_stateful::SolanaCoreStatefulReadinessRequest;
/// Native Solana stateful readiness status.
pub use self::solana_stateful::SolanaCoreStatefulReadinessStatus;
/// Inspects state required before simulating one native Solana operation.
pub use self::solana_stateful::inspect_solana_core_stateful_readiness;
/// Stateful invariants observed after one confirmed Associated Token Account execution.
pub use self::spl_ata_stateful::SplAssociatedTokenAccountPostExecutionReport;
/// One machine-readable Associated Token Account stateful check.
pub use self::spl_ata_stateful::SplAssociatedTokenAccountStatefulCheck;
/// One contextual Associated Token Account stateful fact.
pub use self::spl_ata_stateful::SplAssociatedTokenAccountStatefulFact;
/// Complete Associated Token Account stateful readiness report.
pub use self::spl_ata_stateful::SplAssociatedTokenAccountStatefulReadinessReport;
/// Complete request for one Associated Token Account stateful readiness inspection.
pub use self::spl_ata_stateful::SplAssociatedTokenAccountStatefulReadinessRequest;
/// Associated Token Account stateful readiness outcome.
pub use self::spl_ata_stateful::SplAssociatedTokenAccountStatefulReadinessStatus;
/// Verifies final Associated Token Account relationships after confirmed execution.
pub use self::spl_ata_stateful::inspect_spl_associated_token_account_post_execution;
/// Inspects state required before simulating one Associated Token Account operation.
pub use self::spl_ata_stateful::inspect_spl_associated_token_account_stateful_readiness;
/// Migrated ELGAMAL_REGISTRY_STATEFUL_ACCOUNT_BYTES contract.
pub use self::spl_elgamal_registry_stateful::ELGAMAL_REGISTRY_STATEFUL_ACCOUNT_BYTES;
/// Migrated ElGamalRegistryStatefulReadRequest contract.
pub use self::spl_elgamal_registry_stateful::ElGamalRegistryStatefulReadRequest;
/// Migrated ElGamalRegistryStatefulReadResult contract.
pub use self::spl_elgamal_registry_stateful::ElGamalRegistryStatefulReadResult;
/// Migrated ElGamalRegistryStatefulSnapshot contract.
pub use self::spl_elgamal_registry_stateful::ElGamalRegistryStatefulSnapshot;
/// Migrated materialize_elgamal_registry_account_info_result contract.
pub use self::spl_elgamal_registry_stateful::materialize_elgamal_registry_account_info_result;
/// Migrated materialize_elgamal_registry_stateful_snapshot contract.
pub use self::spl_elgamal_registry_stateful::materialize_elgamal_registry_stateful_snapshot;
/// Migrated read_elgamal_registry_stateful_snapshot contract.
pub use self::spl_elgamal_registry_stateful::read_elgamal_registry_stateful_snapshot;
/// Correlation outcome between one committed instruction fact and one final state snapshot.
pub use self::spl_token_2022_correlation::Token2022CorrelationStatus;
/// Deterministic correlation report for one instruction output and one final snapshot.
pub use self::spl_token_2022_correlation::Token2022StateCorrelationReport;
/// Correlates one materialized instruction fact with one authoritative Token-2022 snapshot.
pub use self::spl_token_2022_correlation::correlate_token_2022_instruction_with_snapshot;
/// Maximum number of distinct proof context-state accounts accepted by one preflight.
pub use self::spl_token_2022_crypto_preflight::MAX_TOKEN_2022_PROOF_CONTEXTS;
/// Token-2022 cryptographic preflight report.
pub use self::spl_token_2022_crypto_preflight::Token2022CryptographicPreflightReport;
/// Token-2022 cryptographic preflight request.
pub use self::spl_token_2022_crypto_preflight::Token2022CryptographicPreflightRequest;
/// One validated proof context report.
pub use self::spl_token_2022_crypto_preflight::Token2022ProofContextReport;
/// One required proof context-state account.
pub use self::spl_token_2022_crypto_preflight::Token2022ProofContextRequirement;
/// Encoded proof context metadata bytes.
pub use self::spl_token_2022_crypto_preflight::ZK_PROOF_CONTEXT_META_BYTES;
/// Inspects bounded Token-2022 cryptographic proof contexts.
pub use self::spl_token_2022_crypto_preflight::inspect_token_2022_cryptographic_preflight;
/// Maximum number of distinct signers accepted by one Token-2022 execution envelope.
pub use self::spl_token_2022_execution_orchestration::MAX_TOKEN_2022_EXECUTION_SIGNERS;
/// One explicit stateful postcondition retained after Token-2022 execution.
pub use self::spl_token_2022_execution_orchestration::Token2022ExecutionPostcondition;
/// Result of one stateful postcondition after Token-2022 execution.
pub use self::spl_token_2022_execution_orchestration::Token2022ExecutionPostconditionStatus;
/// Deterministic Token-2022 execution-readiness report.
pub use self::spl_token_2022_execution_orchestration::Token2022ExecutionReadinessReport;
/// Complete deterministic Token-2022 execution-readiness request.
pub use self::spl_token_2022_execution_orchestration::Token2022ExecutionReadinessRequest;
/// Aggregates Token-2022 postconditions without inventing success.
pub use self::spl_token_2022_execution_orchestration::summarize_token_2022_postconditions;
/// Validates the complete Token-2022 execution envelope before signing.
pub use self::spl_token_2022_execution_orchestration::validate_token_2022_execution_readiness;
/// Migrated MAX_TOKEN_2022_PREFLIGHT_ACCOUNTS contract.
pub use self::spl_token_2022_preflight::MAX_TOKEN_2022_PREFLIGHT_ACCOUNTS;
/// Migrated MAX_TOKEN_2022_PREFLIGHT_TOTAL_BYTES contract.
pub use self::spl_token_2022_preflight::MAX_TOKEN_2022_PREFLIGHT_TOTAL_BYTES;
/// Migrated Token2022PreflightAccountReport contract.
pub use self::spl_token_2022_preflight::Token2022PreflightAccountReport;
/// Migrated Token2022PreflightReport contract.
pub use self::spl_token_2022_preflight::Token2022PreflightReport;
/// Migrated Token2022PreflightRequest contract.
pub use self::spl_token_2022_preflight::Token2022PreflightRequest;
/// Migrated Token2022PreflightRequirement contract.
pub use self::spl_token_2022_preflight::Token2022PreflightRequirement;
/// Migrated inspect_token_2022_preflight contract.
pub use self::spl_token_2022_preflight::inspect_token_2022_preflight;
/// Maximum number of proofs accepted for one Token-2022 operation.
pub use self::spl_token_2022_proof_orchestration::MAX_TOKEN_2022_OPERATION_PROOFS;
/// Token-2022 proof orchestration report.
pub use self::spl_token_2022_proof_orchestration::Token2022ProofOrchestrationReport;
/// Token-2022 proof orchestration request.
pub use self::spl_token_2022_proof_orchestration::Token2022ProofOrchestrationRequest;
/// Validates mixed inline and context-state proof orchestration.
pub use self::spl_token_2022_proof_orchestration::orchestrate_token_2022_proofs;
/// Migrated MAX_TOKEN_2022_STATEFUL_ACCOUNT_BYTES contract.
pub use self::spl_token_2022_stateful::MAX_TOKEN_2022_STATEFUL_ACCOUNT_BYTES;
/// Migrated Token2022StatefulContext contract.
pub use self::spl_token_2022_stateful::Token2022StatefulContext;
/// Migrated Token2022StatefulReadRequest contract.
pub use self::spl_token_2022_stateful::Token2022StatefulReadRequest;
/// Migrated Token2022StatefulReadResult contract.
pub use self::spl_token_2022_stateful::Token2022StatefulReadResult;
/// Migrated Token2022StatefulSnapshotBundle contract.
pub use self::spl_token_2022_stateful::Token2022StatefulSnapshotBundle;
/// Migrated materialize_parsed_token_2022_stateful_snapshot contract.
pub use self::spl_token_2022_stateful::materialize_parsed_token_2022_stateful_snapshot;
/// Migrated materialize_parsed_token_2022_stateful_snapshot_with_context contract.
pub use self::spl_token_2022_stateful::materialize_parsed_token_2022_stateful_snapshot_with_context;
/// Migrated materialize_token_2022_account_info_result contract.
pub use self::spl_token_2022_stateful::materialize_token_2022_account_info_result;
/// Migrated materialize_token_2022_stateful_snapshot contract.
pub use self::spl_token_2022_stateful::materialize_token_2022_stateful_snapshot;
/// Migrated read_token_2022_stateful_snapshot contract.
pub use self::spl_token_2022_stateful::read_token_2022_stateful_snapshot;
/// One machine-readable classic SPL Token stateful check.
pub use self::spl_token_stateful::SplTokenStatefulCheck;
/// One contextual classic SPL Token stateful fact.
pub use self::spl_token_stateful::SplTokenStatefulFact;
/// Complete classic SPL Token stateful readiness report.
pub use self::spl_token_stateful::SplTokenStatefulReadinessReport;
/// Complete request for one classic SPL Token stateful readiness inspection.
pub use self::spl_token_stateful::SplTokenStatefulReadinessRequest;
/// Classic SPL Token stateful readiness outcome.
pub use self::spl_token_stateful::SplTokenStatefulReadinessStatus;
/// Inspects Localnet or Devnet classic SPL Token state required before simulation.
pub use self::spl_token_stateful::inspect_spl_token_stateful_readiness;
/// Canonical tracing target for pipeline orchestration.
pub(crate) use self::constants::TRACING_TARGET;