github graphprotocol/indexer v0.14.0

latest releases: v0.21.2, v0.21.1, v0.21.0...
2 years ago

NPM

npm install -g @graphprotocol/indexer-agent@0.14.0
npm install -g @graphprotocol/indexer-cli@0.14.0
npm install -g @graphprotocol/indexer-service@0.14.0

Note: Installing these packages requires Rust and it's package manager cargo to be installed so that the cost model module can be built. Installing the above packages may require passing --unsafe-perm=true to the above install commands.

Docker

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

Changes (Overview)

The main change in this release is the (temporary) replacement of Vector as the base layer of Scalar with allocation-base receipts. We will continue working on the Vector integration and plan to transition to Vector as soon as possible, but we first wanted to unblock our launch partners going live on mainnet.

At a high level this means:

  • Scalar receipts will, for now, be created against allocations, not Vector transfers.
  • Indexers will (for the moment) not need to run a Vector node.
  • Receipts are collected via a /collect-receipts endpoint on the gateways. This will convert them into a signed (query fee) voucher that can then be redeemed via a new AllocationExchange contract.

With this release, the indexer infrastructure changes as follows:

  • The Vector node is removed.
  • A new INDEXER_AGENT_COLLECT_RECEIPTS_ENDPOINT / --collect-receipts-endpoint configuration option is added to Indexer Agent to configure the endpoint that converts bundles of receipts into query fee vouchers.
  • A new INDEXER_SERVICE_CLIENT_SIGNER_ADDRESS / --client-signer-address configuration option is added to Indexer Service to configure the signer of the incoming receipts. For now, this limits indexers to being able to serve a single client. As a temporary change, this feels acceptable. Transitioning back to Vector will remove this limitation again.

Changes (Per Component)

Indexer Agent

Added

  • Store allocations for which the POI has been checked
  • Add subgraph deployment ID to POI disputes
  • Add allocation-based receipts and query fee vouchers as an alternative to Vector. This is the default for now. Vector support can still be enabled with --use-vector.

Fixed

  • Handle 'nonce has already been used' transaction failures

Indexer CLI

Added

  • Add subgraph deployment ID to POI disputes

Indexer Common

Added

  • Add subgraph deployment ID to POI disputes
  • Add async cache from indexer-service
  • Add database models for allocation-based receipts and query fee vouchers

Indexer Native

Changed

  • Use verify instead of recover for signatures when possible
  • Build native module in release mode for better performance

Fixed

  • Fix logging native signers usefully

Indexer Service

Added

  • Add allocation-based receipts and query fee vouchers as an alternative to Vector. This is the default for now. Vector support can still be enabled with --use-vector.

Don't miss a new indexer release

NewReleases is sending notifications on new releases.