Module indexer

Module indexer 

Source
Expand description

Indexer pipelines that populate the sui-rpc-store schema from observed Checkpoints, plus the orchestrator (Indexer) that wires them up against a shared [Synchronizer].

Each pipeline submodule implements the Processor + sequential::Handler pair the sui-indexer-alt-framework drives: process turns a checkpoint into a Vec<Value> (with the heavy lifting done in the processor-pool, off the commit hot path), batch folds many values into a single Batch, and commit stages the batch’s writes against a [sui_consistent_store::Connection] from [sui_consistent_store::Store].

Every pipeline targets the same backing RpcStoreSchema.

Modules§

balance
Sequential pipeline that feeds the schema::balance CF.
checkpoint_broadcast
Sequential pipeline that re-publishes each ingested checkpoint to a [tokio::sync::broadcast] channel, in checkpoint order.
checkpoint_contents
Sequential pipeline that populates the schema::checkpoint_contents CF: one row per checkpoint carrying the BCS-encoded CheckpointContents.
checkpoint_seq_by_digest
Sequential pipeline that populates the schema::checkpoint_seq_by_digest CF: one CheckpointDigest → checkpoint_seq row per checkpoint.
checkpoint_summary
Sequential pipeline that populates the schema::checkpoint_summary CF: one row per checkpoint carrying the BCS-encoded CheckpointSummary and its quorum signature.
effects
Sequential pipeline that populates the schema::effects CF: one row per executed transaction carrying its sui_types::effects::TransactionEffects and the set of objects loaded but not modified during execution.
epochs
Sequential pipeline that populates the schema::epochs CF.
event_bitmap
Sequential pipeline that populates the schema::event_bitmap CF.
events
Sequential pipeline that populates the schema::events CF: one row per executed transaction carrying its TransactionEvents.
object_by_owner
Sequential pipeline that populates the schema::object_by_owner index.
object_by_type
Sequential pipeline that populates the schema::object_by_type index, using the same Delete-then-Put diff pattern as object_by_owner.
object_version_by_checkpoint
Sequential pipeline that populates the schema::object_version_by_checkpoint CF, which resolves an object’s version as of a checkpoint.
objects
Sequential pipeline that populates the schema::objects CF: one row per (ObjectID, version) written or removed by any transaction in the checkpoint.
package_versions
Sequential pipeline that populates the schema::package_versions CF: one row per (original_package_id, version) published in the checkpoint.
pruner
Background pruner for the historical column families.
restore
Entry point for bulk-loading the RpcStoreSchema’s derived-index CFs from a [RestoreSource].
transaction_bitmap
Sequential pipeline that populates the schema::transaction_bitmap CF.
transactions
Sequential pipeline that populates the schema::transactions CF: one row per executed transaction, keyed by its assigned tx_seq.
tx_metadata_by_seq
Sequential pipeline that populates the schema::tx_metadata_by_seq CF: one Metadata row per executed transaction, keyed by tx_seq.
tx_seq_by_digest
Sequential pipeline that populates the schema::tx_seq_by_digest CF: one TransactionDigest → tx_seq row per executed transaction.

Structs§

Indexer
Top-level orchestrator. Wraps a framework::Indexer over the Store for RpcStoreSchema together with a [Synchronizer] coordinating cross-pipeline snapshots, and exposes the per-pipeline registration shape this crate needs.

Constants§

METRICS_PREFIX
Metrics prefix used for both the framework indexer and the underlying ingestion service. Surfaced as a constant so the prefix is consistent across the metrics built in Indexer::new and the ones the standalone-binary entry point builds when it constructs the IngestionClient / IngestionService from ClientArgs.

Functions§

checkpoint_input_objects
First-seen input version of every object that existed before the checkpoint and was used as an input to some transaction in it. Mirrors the helper of the same name in sui-indexer-alt-consistent-store::handlers.
checkpoint_output_objects
Last-seen output version of every object that was created or modified by some transaction in the checkpoint and is still live at the end. Mirrors the helper of the same name in sui-indexer-alt-consistent-store::handlers.
first_tx_seq
The sequence number of the first transaction in checkpoint.
tx_seq_at
The tx_seq of the transaction at index i within checkpoint.

Type Aliases§

Schema
The schema parameter the framework’s Store / pipelines bind to.
Store
The store type pipelines commit through.