* Implement ethereum ABI encode in subgraph
* Implement ethereum ABI decoding host API
* Implement ABI encode decode for array type
* Implement ABI encode decode for bytes type
* Parse events for multiple contracts in the generated code
* Use contract wise artifacts in the generated indexer methods
* Update codegen docs to use config file to generate a watcher
* Add watcher generation config to eden-watcher
* 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>