Skip to content

Dynamic package ID resolution for Indexer (MVR limitation) #116

@rustydb

Description

@rustydb

Problem

Currently, the Sentinel indexer relies on hardcoded package IDs via the EVE_PACKAGE_ID environment variable. While the Dashboard successfully uses MVR to resolve the latest package ID for transactions, MVR cannot provide the historical lineage of package IDs. Because Sui events are emitted against the original package ID, our indexer will miss historical events after every world upgrade unless we manually append the new package ID to our .env.

Proposed Solution

We need an on-chain ledger that tracks the full lineage of package upgrades so our indexer can automatically discover new package IDs on startup.

There is currently a proposed PR upstream in world-contracts that solves this by introducing a PackageRegistry shared object:
See PR: evefrontier/world-contracts#163

Once that PR (or an equivalent solution) is merged and deployed, we can update our Rust indexer to query that registry object and dynamically construct our EVE_PACKAGE_ID array on startup.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions