* 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
* WIP redo how we parse and use modes
* test expanding, too
* WIP integrate new Mode/ParsedMode into rest of code
* First pass integrated new mode bits
* fmt
* clippy
* Remove mode we no longer support from test metadata
* Address nits
* Add ability for compiler to opt out if it can't work with some Mode/version
* Elide viaIR input if compiler does not support it
* Improve test output a little; string modes and list ignored tests
* Move Mode to common crate
* constants.mod, and Display for CaseIdx to use it
* fmt
* Rename ModePipeline::E/Y
* Re-arrange Mode things; ParsedMode in format and Mode etc in common
* Move compile check to prepare_tests
* Remove now-unused deps
* clippy nits
* Update fallback tx weights to avoid out of gas errors
* Update kitchensink weights too and fmt
* Bump default geth timeout to 10s
* 30s timeout
* Improve geth stdout logging on failure
* fix line logging
* remove --networkid and arg, back to 5s timeout for geth
* 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
* 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
* Fix function selector and argument encoding
* Avoid extra buffer allocation
* Remove reliance on the web3 crate
* Update the async runtime with syntactic sugar.
* Fix tests
* Fix doc test
* Give nodes a standard way to get their alloy provider
* Add ability to get the chain_id from node
* Get kitchensink provider to use kitchensink network
* Use provider method in tests
* Add support for getting the gas limit from the node
* Add a way to get the coinbase address
* Add a way to get the block difficulty from the node
* Add a way to get block info from the node
* Expose APIs for getting the info of a specific block
* Add resolution logic for other matterlabs variables
* Fix tests
* Add comment on alternative solutions
* Change kitchensink gas limit assertion
* Remove un-needed profile config
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.
* Parsed ABI field in order to get method parameter
* Added logic for ABI
* Refactored dependencies
* Small refactoring
* Added unit tests for ABI parameter extraction logic
* Fixed format issues
* Fixed format
* Added new changes to format
* Added bail to stop execution when we have an error during deployment