Skip to content

v0.16.0

Compare
Choose a tag to compare
@Jannis Jannis released this 09 Jun 12:25
· 752 commits to main since this release

NPM

npm install -g @graphprotocol/[email protected]
npm install -g @graphprotocol/[email protected]
npm install -g @graphprotocol/[email protected]

Note: Installing these packages requires Rust and it's package manager cargo to be installed so that the cost model module can be built. If you already have Rust installed, make sure you're on the latest stable release. Installing the above packages may also require passing --unsafe-perm=true to the above install commands.

Docker

docker pull ghcr.io/graphprotocol/indexer-agent:v0.16.0
docker pull ghcr.io/graphprotocol/indexer-service:v0.16.0

Changes (Overview)

This is a minor release that introduces smaller changes, mostly to improve indexer agent transactions:

  1. The revert reason of transactions is now detected to avoid retrying transactions that have no chance of succeeding.
  2. The default value for INDEXER_AGENT_TRANSACTION_ATTEMPTS / --transaction-attempts has been reduced from 5 to 2.
  3. The INDEXER_AGENT_ALLOCATION_CLAIM_THRESHOLD / --allocation-claim-threshold option has been extended to not only apply to claim transactions but also to redeeming query fee vouchers. This can help avoiding to collect query fees that are lower than the actual transaction cost.

Another change is that indexer service and indexer agent now both use the same network subgraph query logic, i.e. first trying a local deployment (if specified), otherwise falling back to querying the network subgraph via an (often external) endpoint. This means it is no longer necessary to point the indexer service at indexer agent. Instead, it is recommended to configure them both in the same way.

For mainnet, the recommended values are:

Environment Variable CLI Option Value
INDEXER_AGENT_NETWORK_SUBGRAPH_DEPLOYMENT --network-subgraph-deployment QmaUBw7sr8pBrwNgz6JkbmmGoUU7KJSaeRvCaY3NPDbQ7A
INDEXER_AGENT_NETWORK_SUBGRAPH_ENDPOINT --network-subgraph-endpoint https://gateway.thegraph.com/network
INDEXER_SERVICE_NETWORK_SUBGRAPH_DEPLOYMENT --network-subgraph-deployment QmaUBw7sr8pBrwNgz6JkbmmGoUU7KJSaeRvCaY3NPDbQ7A
INDEXER_SERVICE_NETWORK_SUBGRAPH_ENDPOINT --network-subgraph-endpoint https://gateway.thegraph.com/network

This release also introduces a /network route in the indexer service. This, by default, is protected via the INDEXER_SERVICE_FREE_QUERY_AUTH_TOKEN / --free-query-auth-token. It is safe, even advised, to keep this endpoint internal.

Addendum: It was planned to make the /network endpoint disabled by default. This will happen in a follow-up bugfix release.

Changes (Per Component)

Indexer Agent

Changed

  • Default to only one transaction retry attempt to reduce gas usage
  • Apply allocation claim threshold to redeeming query fee vouchers as well
  • Add the same network subgraph fallback logic as the agent uses

Fixed

  • Improve handling of reverted transactions by detecting the revert reason

Indexer CLI

No changes

Indexer Common

Indexer Native

No changes

Indexer Service

Added

  • Add auth-protected /network endpoint, disabled by default