Now uses:
* ipld direct_by_leaf StateDB for basic queries
* trie_by_cid StateDB for trie slice and proof queries
Also:
* vulcanize => cerc refactor
* Backend method to close dbs
* state tests are in multiple packages, to allow separate ginkgo suites
* removes gap-filler module
* integration tests and github workflows
* run stack-orchestrator for testnet
* fix various issues with tests, hardhat server, dockerfile
* fix cmd flags / env vars
* fix flaky tests and clean up code
* remove unused code, scripts
* remove outdated docs
* update version
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