* Support processing events in multiple subgraph datasources for a single contract address
* Fix parsing event topic in graph-node watcher
* Update codegen templates
* Fix dummy indexer method in graph-node test
* Upgrade package versions to 0.2.102
* Avoid historical sync for block handlers and eth_getLogs without event handlers
* Stop processing after endBlock in watcher fill CLI
* Codegen changes for avoiding eth_getLogs when no subgraph event handlers exist
* Upgrade package version to 0.2.100
* Check for blockHandlerExists first before block processing
* Fix comments for historical block processing checks
* Update chain-head-exported CLI for running multiple instances
* Update upstream RPC for metrics with active endpoint
* Export metrics for watcher package version and commitHash
* Upgrade package versions
* Add metrics to monitor errors and duration for ETH RPC requests
* Check for server error
* Add a metric with configured upstream ETH RPC endpoints
* Use Gauge for RPC requests duration metric
* Filter out unknown events while loading event count on start
* Update package versions
* Rethrow errors in overridden send provider method
* Handle ThunkComposer field types when generating nested filters
* Fix type setting for relational fields when loading a subgraph entity from db
* Fix loading nullable relational fields in GQL queries
* Update package versions
* Filter out pruned subgraph entities while fetching from db
* Sort events by tx index first incase upstream is FEVM
* Upgrade package versions
---------
Co-authored-by: Nabarun <nabarun@deepstacksoft.com>
* Add a cli to export chain head block numbers
* Use ETH RPC endpoint and allow env overrides
* Use ethers provider
* Export upstream chain head block number in watcher metrics
* Remove unnecessary exports
* Upgrade package versions
* Fix defaults usage
* Export watcher config in metrics
* Add metric for watcher sync mode
* Remove cache flag from watcher config metrics
* Update watcher config field names
* Fill watcher start block only in active mode
* Fix sync status update in historical processing
* Upgrade package versions
* Upgrade package versions in codegen template
* Fix graph-node test indexer
* Find minimum start block number
* Perform fill if db is empty
* Make getStartBlock method public in GraphWatcher
* Use dataSources property
* Update server template to fill block on start
* Avoid passing graphWatcher from generated watcher
* Ensure block filling for non-subgraph watchers as well
* Remove getStartBlock method from GraphWatcher
* Remove graphWatcher property from ServerCmd
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add where filter equals fields based on entity fields
* Add different where filter operations for entity fields
* Add nested where filter for relation fields and filter params or & and
* Remove filters not required for derived fields
* Add nested order by params in schema
* Throw error on trying to sort by array or derived type fields
* Handle array fields while generating order by and where clauses
* Upgrade package versions
---------
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
* Set gzip true in ethersjs provider
* Add timer logs and use StaticJsonRpcProvider
* Fetch block data in historical processing and cache in map
* Fetch txs required for event logs in historical processing
* Process events with prefetched block and txs data in realtime processing
* Clear old TODOs
* Reset to latest processed block on restarting job-runner
* Update sync status during historical processing in job-runner
* Codegen changes
* Use sync status latest processed block for subgraph _meta GQL query
* Set job per interval for subscribing events queue to 1
* Fix events processing skipped for blocks after template create
* Add a method to get meta data for watcher indexing status
* Add a flag indicating indexing error to sync status
* Codegen changes
* Clear indexing error on job-runner startup
* Fix lint errors
* Wait for events queue to be empty before continuing historical processing
* Make historicalLogsBlockRange and historicalMaxFetchAhead configurable
* Perform single RPC request for multiple addresses
* Fix async block size caching for missing blocks in historical processing
* Start historical block processing only if filter logs is set to true
* Fetch filtered logs by topics and save required blocks
* Fix realtime processing start block after historical processing
* Avoid publishing events and blocks in historical processing
* Add new method to graph-node test indexer
* Get full block data for subgraph block handler only if configured
* Add useBlockRanges flag for switching between historical and realtime processing