* Wait for events queue to be empty before continuing historical processing
* Make historicalLogsBlockRange and historicalMaxFetchAhead configurable
* Perform single RPC request for multiple addresses
* Implement rpc-eth-client with getStorageAt method
* Add test for comparing RPC and GQL eth-client getStorageAt method
* Add getBlockWithTransactions and getBlocks method
* Implement getFullBlocks with RLP encoded data
* Implement getFullTransaction method with raw tx
* Implement getBlockByHash and getLogs methods
* Add flag and interface to switch between RPC and GQL eth clients
* Fix getBlocks to return empty array when block not present
* Return empty array in getBlocks for missing block and use blockNumber in getLogs
* Fix getRawTransaction method for zero signature.v value
* Remove duplicate util from rpc-eth-client
* 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
* Fix ValueTransformers to check for undefined value
* Create Result types if needed
* Update codegen to include array return type queries in schema
* Update codegen to include array return type queries in resolvers
* Update codegen to include array return type queries in indexers
* Codegen skip db caching methods for queries returning unhandled types
* Codegen handle bigint array in indexer
* Update codegen to handle basic array types
* Remove redundant code and refactor
* Codegen map Solidity types directly to GraphQL types
* Codegen get TS from GQL types
* Codegen handle ethers BigNumber array in indexer template
* Fix GQL type returned in client queries
* Codegen unused method isElementaryType should not be exported
* Codegen update README with solc version in config
* Codegen update README with continue-on-error flag
* Codegen add continue-on-error flag for storage mode
* Codegen generate gitignore and license for watchers
* Codegen refactor gitignore and license generation utils
---------
Co-authored-by: Dhruv Srivastava <dhruvdhs.ds@gmail.com>
* 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
* Avoid refetching block while fetching events
* Prefetch a batch of blocks with events while indexing
* Update mock indexer used in graph-node testing
* Process available blocks while prefetching
* Refactor events fetching to a method in util
* Move method to get GQL event query result to util
* 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
* Prefetch block size from eth_blockByHash
* Fix updating of blockSizeMapLatestHeight
* Move block size caching to separate file
* Remove timer logs from graph-node store set and get
* 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>
* Compare IPLD state entity without derived fields
* Apply default limit to array relation fields in IPLD state entity
* Mark block as complete after processing of block handler
* Avoid re processing of block handler
* Use LIMIT 1 in the query to get latest IPLD block
* Replace eth_calls in eden-watcher with getStorageValue
* Add checkpoint verification to export state CLI
* Fix get diff blocks query when creating checkpoint
* Fix subgraph staker sort and remove entities sequentially in reset CLI
Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
* Remove using graph-node from mobymask-watcher
* Parse batched transactions for MobyMask events
* Update to use same ethers package version
* Add CLI for processing block out of order
* Fix job-runner for already processed blocks out of order
* 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
* Add a GraphDecimal class to replace Decimal with
* Replace Decimal in uni-info-watcher with GraphDecimal
* Add definition for custom scalar BigDecimal in uni-info-watcher
* Use pg-type numeric and transformer for bigint columns in typeorm entities
* 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