* 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
* 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
* Add leader and follower node assignment to test
* Update the compilers interface
* Fix Cargo machete
* Add reporting back to the compilers
* Remove the static testing target from the report
* Uncomment instrument macro
* Switch to a for loop when reporting cases
* Update compilers to use interior caching
* Update tests stream func
* Fix tests
* Parallelize over cases
* Rename the state and driver
* Parallelize execution
* Update the default config of the tool
* Make codebase async
* Fix machete
* Fix tests & clear node directories before startup
* Cleanup the cleanup logic
* Rename geth node
* 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
* Add support for wrapper types
* Move `FilesWithExtensionIterator` to `core::common`
* Remove unneeded use of two `HashMap`s
* Make metadata structs more typed
* Impl new_from for wrapper types
* Implement the new input handling logic
* Fix edge-case in input handling
* Ignore macro doc comment tests
* Correct comment
* Fix edge-case in deployment order
* Handle calldata better
* Allow for the use of function signatures
* Add support for exceptions
* Cached nonce allocator
* Fix tests
* Add support for address replacement
* Cleanup implementation
* Cleanup mutability
* Wire up address replacement with rest of code
* Implement caller replacement
* Switch to callframe trace for exceptions
* Add a way to skip tests if they don't match the target
* Handle values from the metadata files
* Remove address replacement
* Correct the arguments
* Remove empty impl
* Remove address replacement
* Correct the arguments
* Remove empty impl
* Fix size_requirement underflow
* Add support for wildcards in exceptions
* Fix calldata construction of single calldata
* Better handling for length in equivalency checks
* Make initial balance a constant
* Fix size_requirement underflow
* Add support for wildcards in exceptions
* Fix calldata construction of single calldata
* Better handling for length in equivalency checks
* Fix tests
* Add support for wrapper types
* Move `FilesWithExtensionIterator` to `core::common`
* Remove unneeded use of two `HashMap`s
* Make metadata structs more typed
* Impl new_from for wrapper types
* Implement the new input handling logic
* Fix edge-case in input handling
* Ignore macro doc comment tests
* Correct comment
* Fix edge-case in deployment order