* 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
* 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
* 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