NPM
npm install -g @graphprotocol/indexer-agent@0.18.6
npm install -g @graphprotocol/indexer-cli@0.18.6
npm install -g @graphprotocol/indexer-service@0.18.6
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.