208 lines
9.5 KiB
Rust
208 lines
9.5 KiB
Rust
// file: ks-store/src/contracts.rs
|
|
// version: 8
|
|
|
|
//! Backend-neutral storage contracts used by pipeline crates.
|
|
|
|
mod dto;
|
|
mod entity;
|
|
mod error;
|
|
mod health;
|
|
mod pagination;
|
|
mod replay;
|
|
mod repository;
|
|
|
|
/// Stable processing stage used for generic account-state normalization.
|
|
pub use self::dto::ACCOUNT_STATE_NORMALIZATION_STAGE;
|
|
/// Generic account acquisition observation insert contract.
|
|
pub use self::dto::AccountObservationInsert;
|
|
/// Failed generic account-state normalization attempt.
|
|
pub use self::dto::AccountStateNormalizationFailure;
|
|
/// Atomic generic account-state persistence bundle.
|
|
pub use self::dto::AccountStatePersistenceBundle;
|
|
/// Bounded generic account-state selection filter.
|
|
pub use self::dto::AccountStateSelectionFilter;
|
|
/// Transaction acquisition observation origin.
|
|
pub use self::dto::AcquisitionObservationOrigin;
|
|
/// Generic account acquisition observation status.
|
|
pub use self::dto::AcquisitionObservationStatus;
|
|
/// Core account key insert contract.
|
|
pub use self::dto::CoreAccountKeyInsert;
|
|
/// Core account key source category.
|
|
pub use self::dto::CoreAccountKeySource;
|
|
/// Core account-state insert contract.
|
|
pub use self::dto::CoreAccountStateInsert;
|
|
/// Core balance change insert contract.
|
|
pub use self::dto::CoreBalanceChangeInsert;
|
|
/// Core balance change kind.
|
|
pub use self::dto::CoreBalanceChangeKind;
|
|
/// Complete normalized core extraction write bundle.
|
|
pub use self::dto::CoreExtractionBundle;
|
|
/// Failure details persisted for one canonical to core extraction attempt.
|
|
pub use self::dto::CoreExtractionFailure;
|
|
/// Bounded canonical transaction selection filter for core extraction.
|
|
pub use self::dto::CoreExtractionSelectionFilter;
|
|
/// Core inner instruction insert contract.
|
|
pub use self::dto::CoreInnerInstructionInsert;
|
|
/// Core instruction insert contract.
|
|
pub use self::dto::CoreInstructionInsert;
|
|
/// Core instruction lifecycle mark request.
|
|
pub use self::dto::CoreInstructionLifecycleMark;
|
|
/// Core instruction processing state.
|
|
pub use self::dto::CoreInstructionProcessingState;
|
|
/// Core instruction replay filter contract.
|
|
pub use self::dto::CoreInstructionReplayFilter;
|
|
/// Logical Core instruction scope.
|
|
pub use self::dto::CoreInstructionScope;
|
|
/// Core log insert contract.
|
|
pub use self::dto::CoreLogInsert;
|
|
/// Core return-data insert contract.
|
|
pub use self::dto::CoreReturnDataInsert;
|
|
/// Core transaction insert contract.
|
|
pub use self::dto::CoreTransactionInsert;
|
|
/// One machine-readable decoder coverage declaration row.
|
|
pub use self::dto::DecodeCoverageDeclarationInsert;
|
|
/// One observed coverage classification row owned by one decode attempt.
|
|
pub use self::dto::DecodeCoverageObservationInsert;
|
|
/// One row of aggregated decoder coverage diagnostics.
|
|
pub use self::dto::DecodeCoverageSummaryRow;
|
|
/// Failed decode attempt persisted in the common ledger.
|
|
pub use self::dto::DecodeFailure;
|
|
/// One processor-owned decoded observation row.
|
|
pub use self::dto::DecodeObservationInsert;
|
|
/// Atomic persistence bundle for one decoder and one contextual input.
|
|
pub use self::dto::DecodePersistenceBundle;
|
|
/// Source-neutral external decode schema provenance.
|
|
pub use self::dto::DecodeSchemaProvenance;
|
|
/// Bounded contextual instruction selection filter for decode campaigns.
|
|
pub use self::dto::DecodeSelectionFilter;
|
|
/// Insert or upsert result contract returned by repositories.
|
|
pub use self::dto::InsertOutcome;
|
|
/// Maximum number of account observations selected by one normalization query.
|
|
pub use self::dto::MAX_ACCOUNT_STATE_SELECTION_ROWS;
|
|
/// Maximum canonical transactions selected by one Core extraction batch.
|
|
pub use self::dto::MAX_CORE_EXTRACTION_SELECTION_ROWS;
|
|
/// Maximum contextual inputs selected by one decode processing batch.
|
|
pub use self::dto::MAX_DECODE_SELECTION_ROWS;
|
|
/// Maximum number of materialized rows returned by one bounded query.
|
|
pub use self::dto::MAX_MATERIALIZED_OUTPUT_QUERY_ROWS;
|
|
/// Atomic persistence bundle for one materializer and one decoded observation.
|
|
pub use self::dto::MaterializationPersistenceBundle;
|
|
/// Bounded read-only materialized output selection.
|
|
pub use self::dto::MaterializedOutputFilter;
|
|
/// One processor-owned materialized output row.
|
|
pub use self::dto::MaterializedOutputInsert;
|
|
/// One materialized output returned by a bounded query.
|
|
pub use self::dto::MaterializedOutputQueryRow;
|
|
/// Stable processing ledger identity.
|
|
pub use self::dto::ProcessingLedgerIdentity;
|
|
/// Stable processing ledger status.
|
|
pub use self::dto::ProcessingLedgerStatus;
|
|
/// Raw payload lifecycle mark request.
|
|
pub use self::dto::RawPayloadLifecycleMark;
|
|
/// Raw payload processing state.
|
|
pub use self::dto::RawPayloadProcessingState;
|
|
/// Raw payload retention state.
|
|
pub use self::dto::RawPayloadRetentionState;
|
|
/// Canonical raw Solana transaction insert contract.
|
|
pub use self::dto::RawTransactionInsert;
|
|
/// Store backend diagnostic contract.
|
|
pub use self::dto::StoreBackendDescriptor;
|
|
/// Backend-neutral diagnostic snapshot.
|
|
pub use self::dto::StoreBackendDiagnostics;
|
|
/// Store configuration summary safe for UI and logs.
|
|
pub use self::dto::StoreConfigurationSummary;
|
|
/// Store initialization status.
|
|
pub use self::dto::StoreInitializationStatus;
|
|
/// Initialization and model-verification summary captured while opening a store.
|
|
pub use self::dto::StoreInitializationSummary;
|
|
/// Store migration diagnostic snapshot contract.
|
|
pub use self::dto::StoreMigrationSnapshot;
|
|
/// Store migration status contract.
|
|
pub use self::dto::StoreMigrationStatus;
|
|
/// Store model verification status.
|
|
pub use self::dto::StoreModelVerificationStatus;
|
|
/// Verification summary for one logical store model.
|
|
pub use self::dto::StoreModelVerificationSummary;
|
|
/// Count summary for one backend object category without exposing physical names.
|
|
pub use self::dto::StoreObjectVerificationSummary;
|
|
/// Read-only diagnostics for one logical store resource.
|
|
pub use self::dto::StoreResourceDiagnostics;
|
|
/// Read-only statistics for one logical store resource.
|
|
pub use self::dto::StoreResourceStatistics;
|
|
/// Complete runtime summary safe for application diagnostics.
|
|
pub use self::dto::StoreRuntimeSummary;
|
|
/// Transaction acquisition observation insert contract.
|
|
pub use self::dto::TransactionObservationInsert;
|
|
/// Generic account acquisition observation SQL-like row contract.
|
|
pub use self::entity::AccountObservationRow;
|
|
/// Core account key SQL-like row contract.
|
|
pub use self::entity::CoreAccountKeyRow;
|
|
/// Core account-state SQL-like row contract.
|
|
pub use self::entity::CoreAccountStateRow;
|
|
/// Core balance change SQL-like row contract.
|
|
pub use self::entity::CoreBalanceChangeRow;
|
|
/// Core inner instruction SQL-like row contract.
|
|
pub use self::entity::CoreInnerInstructionRow;
|
|
/// Logical top-level or CPI instruction SQL-like replay row.
|
|
pub use self::entity::CoreInstructionReplayRow;
|
|
/// Core instruction SQL-like row contract.
|
|
pub use self::entity::CoreInstructionRow;
|
|
/// Core log SQL-like row contract.
|
|
pub use self::entity::CoreLogRow;
|
|
/// Core return-data SQL-like row contract.
|
|
pub use self::entity::CoreReturnDataRow;
|
|
/// Core transaction SQL-like row contract.
|
|
pub use self::entity::CoreTransactionRow;
|
|
/// Canonical raw Solana transaction SQL-like row contract.
|
|
pub use self::entity::RawTransactionRow;
|
|
/// Transaction acquisition observation SQL-like row contract.
|
|
pub use self::entity::TransactionObservationRow;
|
|
/// Storage error helper functions.
|
|
pub use self::error::storage_contract_error;
|
|
/// Store backend health snapshot.
|
|
pub use self::health::StoreHealthSnapshot;
|
|
/// Store backend health status.
|
|
pub use self::health::StoreHealthStatus;
|
|
/// Default repository page size.
|
|
pub use self::pagination::DEFAULT_PAGE_SIZE;
|
|
/// Maximum encoded cursor size.
|
|
pub use self::pagination::MAX_PAGE_CURSOR_LENGTH;
|
|
/// Maximum repository page size.
|
|
pub use self::pagination::MAX_PAGE_SIZE;
|
|
/// Page request contract for repository list operations.
|
|
pub use self::pagination::PageRequest;
|
|
/// One bounded page and its continuation cursor.
|
|
pub use self::pagination::PageSlice;
|
|
/// Sort direction for repository list operations.
|
|
pub use self::pagination::SortDirection;
|
|
/// Maximum number of rows returned by one replay candidate query.
|
|
pub use self::replay::MAX_REPLAY_CANDIDATE_ROWS;
|
|
/// Bounded read-only filter for core entity summaries.
|
|
pub use self::replay::ReplayEntityFilter;
|
|
/// Core entity kind used while filtering replay candidates.
|
|
pub use self::replay::ReplayEntityKind;
|
|
/// Aggregated mint, owner or account-key occurrences from Core facts.
|
|
pub use self::replay::ReplayEntitySummary;
|
|
/// Bounded read-only filter for program summaries.
|
|
pub use self::replay::ReplayProgramFilter;
|
|
/// Program occurrence scope used while filtering replay candidates.
|
|
pub use self::replay::ReplayProgramScope;
|
|
/// Aggregated program occurrences across top-level instructions, inner instructions and linked logs.
|
|
pub use self::replay::ReplayProgramSummary;
|
|
/// One raw transaction candidate enriched with Core and processing-ledger diagnostics.
|
|
pub use self::replay::ReplayTransactionCandidate;
|
|
/// Bounded read-only filter for transaction replay candidates.
|
|
pub use self::replay::ReplayTransactionFilter;
|
|
/// Generic account observation to Core account-state storage behavior.
|
|
pub use self::repository::AccountStateStore;
|
|
/// Canonical transaction to core extraction storage behavior.
|
|
pub use self::repository::CoreExtractionStore;
|
|
/// Core Solana storage behavior.
|
|
pub use self::repository::CoreTransactionStore;
|
|
/// Contextual instruction decode and materialization storage behavior.
|
|
pub use self::repository::DecodePipelineStore;
|
|
/// Raw transaction storage behavior.
|
|
pub use self::repository::RawTransactionStore;
|
|
/// Store health storage behavior.
|
|
pub use self::repository::StoreHealthStore;
|