* Reset watcher to previous indexed block before start
* Implement changes in other watchers
* Save successfully fetched blocks and events to prefetch cache
* Add unique query for transaction table
* Check db for blocks before fetching from eth-server
* Show all mismatches at a block
Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
* 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
* Clear cache of latest entities on event processing error
* Remove lighthouse-watcher and update ethersjs version
* Handle GraphDecimal type in state entity
* Add option for comparing all entities using paginate
* Clear pruned cached entities at intervals
* Move ipld-demo to graph-node package and remove reset-dbs script
* Implement changes in all watchers and codegen
* update gitignore for goland and first attempt at git.vdb.to npm publish
* whitespace yaml nonsense
* missing run entry
* lerna is not cicd friendly, yet
* try from-git arg in lerna.json
* attempt default lerna publish with full checkout
* explicit cli args... lerna.json ???
* explicit cli args... from-package is not --arg
* make publish yaml match manual workflow
* Prefetch blocks along with events in memory
* Fix prefetched block destructuring
* Wait while blocks are being prefetched
* Retry only if block not returned by upstream eth-server
* Log time taken to prefetch blocks
* Avoid creating a separate job for prefetching blocks
* Skip syncStatus check while fetching blocks
* Convert block number string to number for comparison
* Prefetch blocks in a batch only when required
* Keep existing pattern for watchers in this repo
* Fix logging while fetching a batch of blocks
* Changes to use util from uniswap-watcher
* Refactor ResultIPLDBlock to util
* Verify state in compare CLI for uniswap multiple queries
* Prepare watcher-ts for publishing packages
* Fix verify state in compare CLI for multiple entities query
* Fix codegen util imports
* Load relations according to GQL query
* Implement cache for latest entities to used in mapping code
* Add metrics for cache hit and fix caching pruned entities
* Changes in codegen and graph-test-watcher
* Remove entity load counter reset to zero
* Import entities from checkpoint
* Fix IPLD state when updating subgraph entity
* Changes in codegen and other watchers
* Update IPLD state with all Block entities
* Add verify and create sub commands to checkpoint
* Add option for specifying snapshot block in export state CLI
* Check endBlock greater than chainHeadBlock in fill blocks CLI
* Load relations for single entity with limit 100
* Use single tx query runner for entity GQL query
* Remove assert for CLI input checks
* Add a CLI to fill state for a given range
* Refactor code
* Add a CLI to reset IPLD state
* Replace ORDER BY clause in the query to get latest IPLD block
* Optimize delete query in CLI to reset IPLD state
* Add an option to decouple subgraph state creation from mapping code
* Use a raw SQL query to delete IPLD blocks in a block range
* Accomodate changes in codegen
* 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 graceful shutdown in job-runner
* Improve reset CLI delete query
* Exit job-runner immediately in development
* Implement changes in other watchers
* Update fill prefetch CLI to accept env variables
* Clean up assets before building util package
* Accomodate change in other watchers and codegen
* Add logs for debugging failing test in CI
* 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>
* Add test package
* Add a separate command to perform an eth-call
* Add snapshot test suite
* Add eth-calls for UniswapV2 Pair, USDC, Compound, Dai contracts
* Add args for Uniswap and USDC contracts
* Add args for Compound and Dai contracts
* Add getStorageAt calls to the test suite
* Refactor code and add documentation
* Loop over test slots for getStorageAt calls
* Add support for individual calls
* Use debug for logging
* Change compare CLI to verify only updated entities
* Implement IPLD state verification in compare CLI
* Changes to IPLD state to match with GQL result entity
* Implement storage call in subgraph mapping code
* Add test for mapping type variable storage call
* Use vulcanize graph-ts
* Revert to graph-ts version 0.22.1
* Make sumStaked variable local in eden network mapping
* Implement compare CLI to fetch and query by ids
* Set filterLogs to true for eden-watcher
* Use varchar for bigint array type in eden-watcher
* Store subgraph entities by id in IPLD state
* Store bigint vales as string in IPLD state
* Update eden watcher hook to store single Block entity in IPLD checkpoint
* Fix entity enum type property
* Fix parsing big numbers in event params
* Fix event bigint params parsing in all watchers
* Set default limit to query result and process block after events
* Add prometheus metrics endpoint in watcher
* Add event, sync status and DB size metrics
* Fix subgraph watchers DB entities directory path
* Make watcher metrics optional using config
* Update codegen with index-block CLI and remove graph-node
* Add filter logs by contract flag
* Skip generating GQL API for immutable variables
* Add config for maxEventsBlockRange
* Add new flags in existing watchers
* 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