* 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
* Record GQL query durations by operation name
* Use try finally for timer metric
* Export watcher repo URL in metrics
* Remove unnecessary prefix from repo link
* Update repository label name
---------
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
* 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
* Update subgraph watcher demo readme
* Pass extra block data required in subgraph block handler (#486)
* Use codegen config directory name instead of file path
* Get block data from extra event data
* Add extra event data in processBlockAfterEvents
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Update example subgraph mapping code for graph-cli upgrade
* Return 0 value for block size in ipld-eth-client
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
* 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
* Instantiate a new wasm string to convert JSON value to BigInt
* Implement remaining json host APIs
* Upgrade graph-ts and graph-cli in test example subgraph
* Handle null context for dataSource context host API
* Use JSONBig for parsing JSON strings
* Add check for from and to block in eventsInRange query
* Update sync status query for more fields
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Skip generating meta query if non subgraph watcher
* Fix linting errors in generated watcher
* Add space for meta query
* Add meta query types after adding block height type
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* 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>
* Use shelljs to run graph-cli codegen command
* Replace graph-cli and graph-ts with cerc-io forks
* Add steps to build subgraph
* Add config packageManager for different subgraph repo setup
* Copy over the subgraph build to generated watcher
* Remove TODO
* Change subgraph path in generated watcher config
* Implement createWithContext graph-node dataSource host API
* Parse individual context entries
* Implement graph-node dataSource context host API
* Handle array type fields and refactor code
* Resolve all values when parsing an array field
* Fix wasm entity creation with array type fields
* Required codegen changes