watcher-ts/packages
Nabarun Gogoi 76522afa8d
Implement CLI to create checkpoint state from existing GQL endpoint (#382)
* Add util method for preparing state from GQL response entity

* Refactor method to create or update state data

* Fix typeorm bigint transformer and convert to checksum contract address

* Skip resetting to previous block in job-runner if isComplete set to true

* Fix creating subgraph event with struct params

* Use quotes for table names in custom queries

* Fix indexer prepareStateEntry method

* Fix toEthereumValue method when used with ethereum.decode

* Add CLI for creating snapshot checkpoint state from GQL endpoint

* Skip import-state if block is already indexed

* Review changes
2023-05-15 12:10:27 +05:30
..
cache Update package version (#383) 2023-05-12 15:11:33 +05:30
cli Implement CLI to create checkpoint state from existing GQL endpoint (#382) 2023-05-15 12:10:27 +05:30
codegen Update package version (#383) 2023-05-12 15:11:33 +05:30
graph-node Update package version (#383) 2023-05-12 15:11:33 +05:30
ipld-eth-client Update package version (#383) 2023-05-12 15:11:33 +05:30
peer Update package version (#383) 2023-05-12 15:11:33 +05:30
solidity-mapper Update package version (#383) 2023-05-12 15:11:33 +05:30
test Update package version (#383) 2023-05-12 15:11:33 +05:30
tracing-client Update package version (#383) 2023-05-12 15:11:33 +05:30
util Implement CLI to create checkpoint state from existing GQL endpoint (#382) 2023-05-15 12:10:27 +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.