1. Improve logging to include API method, user ID, etc in the output. We do this by intercepting the request details in the "middleware" and adding them to the request context, as well as adding a wrapper to logrus that simplifies including the fields in the output.
2. Breakdown API metrics by method. This will allow us to differentiate call counts and durations by API method (eg, eth_call vs eth_getStorageAt).
* Update queries to fetch data from cids tables
* Fix eth_getTransactionByHash to return tx from canonical block
* Fetch transaction by hash in a single query
* Update queries to fetch data from IPLD blocks table
* Avoid NULL result from canonical block hash query
* Update GitHub workflow and script to run unit tests
* Avoid usage of LIMIT 1 in queries for GQL API
* Fetch IPLD data separately when retrieving latest account data or storage value
* Upgrade geth dependency
* Update GitHub workflow