311 lines
19 KiB
Rust
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;
|