* 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
* Make metadata serializable
* Refactor tests to use steps
* Add a balance assertion test step
* Test balance deserialization
* Box the test steps
* Permit size difference in step output
* Added a resolver tied to a specific block
* Increase the number of private keys
* Increase kitchensink wait time to 60 seconds
* Add a case ignore flag
* 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