* 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
* Remove the revive network
* Add a provider method to the `EthereumNode`
* Report the ref time and proof size for substrate chains in block information
* Remove un-needed dependency
* Minor zombienet cleanups
* Remove un-necessary trace call from the benchmark driver
* Improve the benchmarks driver
* Ignore the lighthouse tests
* Allow for the consensus to be specified for the revive dev node
* Ignore the zombienet tests for the time being
* Basic zombie node definition
* [WIP] - Impl EthereumNode for zombie node
* Remove unused imports
* [WIP] Support substrate node in zombienet network
* Impl zombie node resolver && node for zombie node
* Spawn eth-rpc on top of collator node
* Implement ZombienetPlatform and integrate zombie node with eth rpc
* Add wourkaround to run tests
* Add few comments
* fmt
* Replace default transaction request in test
* Merge - Fix conficts with main
* fmt
* Clippy fix
* Add polkadot and parachain node to ci
* CI - Fetch polkadot binaries from releases
* Fix unit test assertion
* Minor doc improvements
* Change names from ZombieNet to Zombienet and switch from Command to Process
* Refactor ZombieNode to cache provider using OnceCell
* CI: Cache polkadot binaries and use them if available
* Fix conficts with main
* Refactor shared_node to return static reference and add shared_state for context access
* fmt
* Rename ZombienetConfiguration to PolkadotParachainConfiguration and update related usage
* 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
* Add a lighthouse node implementation
* Implement production geth using kurtosis
* Connect the lighthouse node with the platforms
* Update the ci to include cargo fmt
* Add rustfmt to ci
* Add formatting component for macos
* Fix CI
* Add the cargo clippy component
* Install kurtosis in cli
* fix ci
* Skip lighthouse tests in MacOS in CI
* Increase the wait duration of kurtosis
* 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
* Introduce a custom kitchensink network
* fix formatting
* Added `--dev` to `substrate-node` arguments.
This commit adds the `--dev` argument to the `substrate-node` to allow
the chain to keep advancing as time goes own. We have found that if this
option is not added then the chain won't advance forward.
* fix clippy warning
* fix clippy warning
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.