* Find minimum start block number
* Perform fill if db is empty
* Make getStartBlock method public in GraphWatcher
* Use dataSources property
* Update server template to fill block on start
* Avoid passing graphWatcher from generated watcher
* Ensure block filling for non-subgraph watchers as well
* Remove getStartBlock method from GraphWatcher
* Remove graphWatcher property from ServerCmd
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Set gzip true in ethersjs provider
* Add timer logs and use StaticJsonRpcProvider
* Fetch block data in historical processing and cache in map
* Fetch txs required for event logs in historical processing
* Process events with prefetched block and txs data in realtime processing
* Clear old TODOs
* 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 an option to run relay node with watcher server
* Add a v2 mobymask-watcher
* Add an option to run peer node with watcher server
* Ignore ts error when importing types from peer package
* Rename mobymask v2 watcher
* Parse mobymask libp2p messages
* Refactor and add comments
* Add a note in peer package about nodejs exports
* Update copyright