watcher-ts/packages
Nabarun Gogoi 7b19d383ec
Run block fill for watcher automatically (#479)
* 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>
2023-11-20 17:13:49 +05:30
..
cache Handle null block error in rpc-eth-client (#477) 2023-11-17 11:58:43 +05:30
cli Run block fill for watcher automatically (#479) 2023-11-20 17:13:49 +05:30
codegen Automate steps in codegen to build subgraph (#478) 2023-11-20 17:09:51 +05:30
graph-node Implement remaining graph-node host APIs for templates (#475) 2023-11-20 15:02:08 +05:30
ipld-eth-client Handle null block error in rpc-eth-client (#477) 2023-11-17 11:58:43 +05:30
peer Handle null block error in rpc-eth-client (#477) 2023-11-17 11:58:43 +05:30
rpc-eth-client Handle null block error in rpc-eth-client (#477) 2023-11-17 11:58:43 +05:30
solidity-mapper Handle null block error in rpc-eth-client (#477) 2023-11-17 11:58:43 +05:30
test Handle null block error in rpc-eth-client (#477) 2023-11-17 11:58:43 +05:30
tracing-client Handle null block error in rpc-eth-client (#477) 2023-11-17 11:58:43 +05:30
util Implement remaining graph-node host APIs for templates (#475) 2023-11-20 15:02:08 +05:30
README.md deduplicate the Customize section 2023-01-16 07:40:40 -05:00

Watchers Directory

Here contains all the publicly available watchers for your experimenting purposes. For general information on setting up the stack and the CLI commands used to interact with watchers, see the docs directory.

Customizing Watchers

  • Indexing on an event:

    • Edit the custom hook function handleEvent (triggered on an event) in hooks.ts to perform corresponding indexing using the Indexer object.

    • While using the indexer storage methods for indexing, pass diff as true if default state is desired to be generated using the state variables being indexed.

  • Generating state:

    • Edit the custom hook function createInitialState (triggered if the watcher passes the start block, checkpoint: true) in hooks.ts to save an initial State using the Indexer object.

    • Edit the custom hook function createStateDiff (triggered on a block) in hooks.ts to save the state in a diff State using the Indexer object. The default state (if exists) is updated.

    • Edit the custom hook function createStateCheckpoint (triggered just before default and CLI checkpoint) in hooks.ts to save the state in a checkpoint State using the Indexer object.