github graphprotocol/indexer v0.25.6

6 hours ago

Release notes

  • Allocation lifecycle: new actions resize and present-poi

    Added new actions to support long-lived allocations. Indexers can now present POIs on chain to collect indexing rewards without having to close their allocations (present-poi). Additionally allocations can be resized while open with the resize command. These actions are available both as direct commands and through the action queue:

    • graph indexer actions queue resize ...
    • graph indexer actions queue present-poi ...
    • graph indexer allocations resize ...
    • graph indexer allocations present-poi ...

    When using the agent in AUTO or OVERSIGHT modes, the reconciliation loop will continue to queue actions using reallocate. This is necessary because query fees can currently only be collected once an allocation is closed (a limitation of indexer-service-rs). Once this limitation is removed in a future update, the reconciliation loop will switch to present-poi to reduce gas costs.

  • Batched RAV collection

    The agent now supports batching multiple RAVs in a single collect transaction. By default the agent will batch collections in bundles of up to 50 RAVs. This behavior can be adjusted by:

    • Setting the flag: --rav-collection-max-batch-size <BATCH_SIZE>
    • Setting the env var: INDEXER_AGENT_RAV_COLLECTION_MAX_BATCH_SIZE=<BATCH_SIZE>
  • Limit batch size in action queue transaction bundles

    The agent can now limit the number of actions processed per batch to prevent failures when there are many allocations (by going over the max block gas limit). Remaining actions will be processed in subsequent batches. This feature is disabled by default and can be enabled by:

    • Setting the flag: --auto-allocation-max-batch-size <BATCH_SIZE>
    • Setting the env var: INDEXER_AGENT_AUTO_ALLOCATION_MAX_BATCH_SIZE=<BATCH_SIZE>
  • Allow providing old mnemonics to collect pending pre-horizon RAVs

    Before Graph Horizon RAV collection required signing a message using allocation-specific keys derived from the operator’s mnemonic. After rotating to a new operator wallet, RAVs for old allocations would fail to collect because the new operator's mnemonic cannot derive the correct signing key. This can be circumvented now by providing the old operator mnemonic by:

    • Setting the flag: --legacy-mnemonics "old mnemonic words ..."
    • Setting the env var: INDEXER_AGENT_LEGACY_MNEMONICS="old mnemonic words ...”

What's Changed

  • docs: add more docs on modes and rules by @tmigone in #1155
  • feat: allow providing old mnemonics to collect pending TAPv1 RAVs by @tmigone in #1159
  • add --auto-allocation-max-batch-size indexer-agent option by @tmigone in #1177
  • feat: batch RAV collection by @tmigone in #1176
  • feat(actions): add PRESENT_POI and RESIZE action types for Horizon allocations by @MoonBoi9001 in #1162

New Contributors

Full Changelog: v0.25.4...v0.25.6

Don't miss a new indexer release

NewReleases is sending notifications on new releases.