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.
Problem
Currently, the Sentinel indexer relies on hardcoded package IDs via the
EVE_PACKAGE_IDenvironment 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-contractsthat solves this by introducing aPackageRegistryshared 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_IDarray on startup.