Skip to content

v0.18.6

Compare
Choose a tag to compare
@fordN fordN released this 04 Jan 18:09
· 652 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.18.6
docker pull ghcr.io/graphprotocol/indexer-service:v0.18.6

Changes (Overview)

The most notable change included in this release is the addition of support for type 02 transactions as specified in EIP-1559.
The agent will now send type 02 transactions if supported by the client. Parallel allocations are being deprecated and will
automatically be removed by the agent now if found, in future releases all vestiges of parallel allocation management
will be removed. Another valuable update to the indexer-agent bring significant gas efficiency gains by batching claim transactions.

The indexer-cli has received some subtle, but important, updates to the status command outputs. 2 tables have been added
to the status output showing the indexer's 1. active allocations and 2. subgraph deployments.

Configuration options updates with this release (all optional):

Removed

Environment Variable CLI Option
INDEXER_AGENT_ALLOCATION_CLAIM_THRESHOLD --allocation-claim-threshold

Added

Environment Variable CLI Option Recommended Value
INDEXER_AGENT_REBATE_CLAIM_THRESHOLD --rebate-claim-threshold 250
INDEXER_AGENT_REBATE_CLAIM_BATCH_THRESHOLD --rebate-claim-batch-threshold 1000

Changes (Per Component)

Indexer Agent

Added

  • Support type 0x2 transactions (EIP-1559)
  • Close all parallel allocations and only renew a single allocation per deployment
  • Include an additional state for indexing dispute monitoring, references_unavailable, for the case where the indexer does not have a reference PoI available. Typically this case occurs when an indexer's deployment is not synced far enough

Changed

  • Deprecate the parallel allocations feature
  • Update Ethers dependencies
  • Keep deployment indexing for 1 day after allocation close
  • Reducing transaction logging redundancy to improve readability
  • Bump priority gas fee on gas price too low retry
  • Simplify transaction retry logic on nonce collisions; agent now introduces a delay and returns to reconciliation step to re-evaluate

Fixed

  • Only add prefix to voucher address if not present
  • Bump type 2 transaction gas fee configs on retry after timeout
  • Update max-transaction-attempts default to unlimited to avoid orphaned transactions
  • Treat deployments assigned to node = null or undefined as removed, so they are filtered out of the activeDeployments array
  • Fix delete query fee vouchers logic, so they are actually removed after the expiration time
  • Update tests to use the latest version of the Indexer class constructor

Indexer Service

Added

  • Support unattestable query responses

Changed

  • Broaden scope of allocations eligible for receiving traffic to include those recently closed
  • Update Ethers dependencies

Fixed

  • Use ENTRYPOINT instead of CMD in dockerfile so users can specify command line arguments in docker run command

Indexer CLI

Added

  • Show the status of indexer's active allocations in status command output
  • Show the status of indexer's subgraph deployments in status command output

Changed

  • Update Ethers dependencies

Indexer Common

Changed

  • Update Ethers dependencies

Indexer Native

Fixed

  • Fix build for Node v16 by upgrading neon-sys dependency.