* Test case for wasm out of memory error
* Restart wasm instance after N blocks
* Handle out of memory error and re instantiate WASM
* Remove old instance from map before reinstantiating WASM
* 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
* Process hooks for the first block in the watchers
* Store initial state from a hook in an IPLDBlock for eden-watcher
* Extract watcher method to prepare IPLDBlocks in util
* Extract common IPLDBlocks related code in util
* Move IPFSClient to util
* Use constants for state kind
* Use typeof to distinguish between BigInt and BigDecimal in store get API
* Use entity column type map to create entity in store get API
* Add entity column type map in eden-watcher
* Add test cases for bigInt host APIs
* Add test cases for bigDecimal fromString, plus and minus host APIs
* Add test cases for bigDecimal times and divideBy host APIs
* Throw an error on underflow or overflow in bigDecimal toString host API
* Avoid rounding of out of range bigDecimal values
* Use big number's byte size to set storage size of bigInt
* Add test cases for errors in bigDecimal host API
* Implement host api for bigint operations
* Implement type conversion APIs
* Avoid use of exports as variable name for conflict
* Implement log API with debug and levels
* Fix job-runnner hook error after stopping and starting chain
* 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
* Handle negative bigInt in store host API
* Increase size of bigInt in fromString API to support UInt256
* Implement bigDecimal divideBy host API
* Implement bigDecimal plus, minus and times host API
* Implement bigInt dividedByDecimal and mod host API
* Change BN js version to that used by ethers js
* Create checkpoint using CLI after the hooks have been processed
* Push checkpoints created while exporting state to IPFS
* Clear subgraph entities on reset state
* Remove unnecessary staged IPLD blocks created while importing state
* Add CLI to compare entities from two GQL endpoints
* Print out result diffs in compare-entity CLI
* Get the colorized result diff in compare-entity CLI
* Read query dir from config file or as an arg
* Make config file arg required
* Make queries in Example schema similar to that in graph-node
* Get non-colorized output on choosing raw-json diff option
* Make queries in eden-watcher similar to that in graph-node
* Handle tuple return type in ethereum host API
* Update graph-cli version to fix eth_call error
* Handle all types in struct based on abi
Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
* 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
* Rename Block, Transaction types and add block query in eden-watcher schema
* Handle field name conflicts in eden subgraph entities
* Resolve entity field name conflicts while sending data for auto-diff
* Add a watcher for EdenNetwork contract
* Add events from MerkleDistributor contract to eden-watcher
* Add ERC721 Transfer and Approval events to eden-watcher schema
* Add artifacts for DistributorGovernance and MerkleDistributor contracts