* Modify the structure of the `MinedBlockInformation`
* Report the step path to the watcher
* Make report format more benchmark friendly
* make report more benchmarks friendly
* Add more models to the report
* Remove corpus from the report
* Add step information to the benchmark report
* Include the contract information in the report
* Add the block information to the report
* compute metrics in each report
* Cleanup watcher from temp code
* Implement a solution for the pre-fund account limit
* Update the account pre-funding handling
* Fix the lighthouse node tracing issue
* refactor existing dt infra
* Implement the platform driver
* Wire up the cleaned up driver implementation
* Implement the core benchmarking components
* Remove some debug logging
* Fix issues in the benchmarks driver
* Implement a global concurrency limit on provider requests
* Update the concurrency limit
* Update the concurrency limit
* Cleanups
* Update the lighthouse ports
* Ignore certain tests
* Update the new geth test
* Generate schema for the metadata file
* Groundwork for dyn traits
* Make the ethereum node trait object compatible
* Allow for compilers to be created in the dyn trait
* Add more identifiers to the platform
* Implement the dyn compiler trait for compilers
* Support the dyn compiler in the builder pattern
* Introduce a geth platform
* Provide a common node implementation for substrate chains
* Add all of the platforms that we support
* Add a way to convert platform identifier into a platform
* Replace infra with the dyn infra
* Remoe all references to leader and follower
* Remove the old traits
* Remove an un-needed dependency
* Update the default values for the platforms
* Final set of renames
* Update the default values of the cli
* Update tests
* Fix the OS FD error
* Cache the compiler versions
* Allow for auto display impl in declare wrapper type macro
* Better logging and fix concurrency issues
* Fix tests
* Format
* Make the code even more concurrent
* Add a barebones common crate
* Refactor some code into the common crate
* Add a `ResolverApi` interface.
This commit adds a `ResolverApi` trait to the `format` crate that can be
implemented by any type that can act as a resolver. A resolver is able
to provide information on the chain state. This chain state could be
fresh or it could be cached (which is something that we will do in a
future PR).
This cleans up our crate graph so that `format` is not depending on the
node interactions crate for the `EthereumNode` trait.
* Cleanup the blocking executor
This commit updates how logging is done in the differential testing
harness to use `tracing` instead of using the `log` crate. This allows
us to be able to better associate logs with the cases being executed
which makes it easier to debug and understand what the harness is doing.