* Implement pull based watcher for uni-watcher
* Fix same block processed multiple times
* Implement wait time for fetching block from config
* Use blockProgress event to fetch and process next block
* Rename utils index to misc
* Implement clean jobs CLI in watchers
* Pull common code cleanJobs to util
* Implement commands for reset job-queue and state
* Reset command for job-queues and watcher state
* Reset sync status on reset state
* Fix using cli from built js
* Implement skipCheck to reset syncStatus table and skip complete handler on fail
* Check for block isComplete on reset state
* Set default value for force param to update syncStatus to false
* Reset tables in erc20 watcher
* Push job in fill after previos block is complete
* Add GQL client generation
* Add subscription, events, eventsInRange in client gen
* Add mutation in client gen and return event tx info from indexer
* Capitalize class names for storage-mode entities
* Implement storage mode in code generator.
* Fix indexer template for eth_call.
* Add support for both eth_call and storage modes.
* Add eventsInRange, events file gen and default entites gen.
* Use static property to column maps in database.
* Process events query.
* Avoid adding duplicate events in indexer.
* Fix generated watcher query with bigint arguments.
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
Co-authored-by: prathamesh <prathamesh.musale0@gmail.com>
* Remove fields no longer present in schema.
* Refactor code to work with log_cids change in eth-server.
* Refactor process event to save events from logs.
* Use constants for erc20 event names.
* Implement watch blocks in erc20-watcher similar to uni-watcher.
* Moved common methods to util.
* Implement eventsInRange query in erc20-watcher.
* Filter unknown event in database query.
* Change dependencies version to be same in all packages.
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Add schema generation.
* Use yargs and add a script to generate schema.
* Add command to generate schema to README.md
* Remove use of arrow functions in visitor.
* Add function to export schema in visitor.
* Create Event union while adding to it.
* Add bool to typemappings.
* Add method descriptions and remove output type mappings.
* Add storage mode.
* Add URL support and a flattening script.
* Fix parameter for flattening in README.md.
* Add setup and references to README.md.
Co-authored-by: prathamesh <prathamesh.musale0@gmail.com>
* Transpile ES5 code.
* Use transpiled ES5 code in all packages.
* Refactor tracing-client to transpile ES5 code.
* Order scripts in package json.
* Update readme in packages with new scripts.
* Refactor code to use entity config programatically.
* Remove unused depencdencies.
* Use DEBUG environment for scripts.
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Refactor db methods getPrevEntityVersion and getFrothyRegion.
* Filter out entities from pruned blocks.
* Pull saveContract and getModelEntities to util.
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Refactor common code in uni-watcher and uni-info-watcher.
* Implement client.ts in uni-info-watcher for queries and use in smoke-test.
* Disable cache in graphql client.
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Implement hierarchical query for checking ancestor block.
* Prune blocks together in single query.
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Create dummy test blocks and refactor test code.
* Intial test for pruning block in a chain without branches.
* Add test for pruning with multiple branches.
* Add test for pruning at frothy region.
* Test for pruning block at height more than max reorg depth.
Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
* Implement block filler for uni-info-watcher.
* Pull common code for Block filler to util.
* Watch for job events in block filler command.
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Implement heirarchical query for getting previous entity.
* Check entity id in hierarchical query to limit number of recursions.
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Insert and remove a dummy BlockProgress from db.
* Test to fetch a Token entity from pruned region.
* Check if db is empty initially.
* Test to fetch a Token entity from frothy region.
* Test to fetch a Token from frothy region (same block num).
* Test to fetch a Token entity from another branch.
* Tests to fetch a Token entity (multiple tokens).
* Test to fetch updated Token entity in pruned region.
Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>