* Move graph-database from graph-node to util
* Refactor and remove graph-node dependency from cli package
* Modify dependencies using depcheck
* Implement CLI refactoring changes in other watchers
* Review changes to remove eden comment and fix local import in util
* Import GraphDatabase from util instead of graph-node
* Move graph-node non assemblyscript code to util package
* Implement CLI refactoring changes in codegen
* Fix graph-node tests after refactoring
* Move fromStateEntityValues to graph state utils
* Remove support for pushing state to IPFS
* Move job handlers for state creation to util
* Rename state creation related methods and objects
* Update mock indexer used in graph-node testing
* Fetch and merge diffs in batches while creating a state checkpoint
* Fix timing logs while for state checkpoint creation
* Refactor method to get state query result to util
* Accept contracts for state verification in compare CLI config
* Make method to update state status map synchronous
* Implement query for multiple entities in eden-watcher
* Implement nested relation queries
* Implement GQL query params first, skip, orderBy, orderDirection
* Add blockNumber index to subgraph entities
* Add logs for timing eth-calls and storage calls
* Add prometheus metrics to monitor GQL queries
* Fix default limit and order of 1-N related field in GQL entitiy query
* Add timer logs for block processing
* Run transpiled js in all watchers
Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
* Avoid fetching contracts while creating a checkpoint
* Use enum for state kind and cache ipld status
* Avoid fetching block twice while finalizing a staged diff IPLDBlock
* Create checkpoints at fixed block numbers and refactor checkpointing code
* Avoid calling block handler until start block is reached
* Use delete while finalizing staged diff IPLDBlocks
* Add a check to ensure hooks job is created only once
* Avoid check for initial state while creating a checkpoint
* Handle BigNumber event params in watchers
* Customize decimal according to limits of IEEE-754 decimal128
* Add definition for custom scalar BigDecimal
* Handle subgraph schema field with derivedFrom directive
* Handle derivedFrom directive in eden-watcher
* Fix 1 to N relation error by removing limit from query
* Order by id for derivedFrom relations to match graph-node
* Refactor example subgraph schema entities
* Fix watcher queries to return correct relation field values
* Fix hierarchical query for getting two entities at same block
* Add implementation for one to one relation
* Implement one to many relation in gql queries
* Make changes for gql relation queries in eden-watcher
* Implement subgraph gql relation queries with joins
* Handle relation entities in subgraph
* Modify eden-watcher entities to handle subgraph schema data types
* Modify schema gql to match eden subgraph gql shape
* Handle array type fields in subgraph schema
* Fix store get api for array type fields in subgraph entities
* Handle array type in eden-watcher and format await used in params
* Fix packages build
* Add support for boolean type in subgraph schema
* Add BigDecimal fromString and toString implementation
* Add implementation for subgraph Bytes type
* Implement enum type for subgraph schema
* Add implementation for subgraph schema BigDecimal type
* JSON stringify and parse entity data for auto-diff
* Implement store get api without blockHash and blockNumber
* Pass database instance to GraphWatcher
* Implement store set without block data
* Store blockHash and blockNumber in database entity table
* Implement getting entity in subgraph from store.get
* Add block data present in postgraphile
* Pass db and context to instantiate method in tests
* GQL API in graph-test-watcher to test store.set
* Remove contract address from subgraph file
* Fix block in dummy event data
* Pass just blockHash to get an entity from the database
* Review changes and add TODOs
Co-authored-by: prathamesh <prathamesh.musale0@gmail.com>
* Invoke handlers based on watcher-ts events
* Read subgraph yaml and listen to events from watcher-ts
* Create GraphWatcher class to use in generated example contract watcher
* Call graph-node event handler from generated watcher